commit 52e8a2c3afa9ab32daaac2b4b82f92cb9851e6e6 Author: snusxd Date: Mon Mar 2 15:13:29 2026 +0300 new init diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..496ee2c --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +.DS_Store \ No newline at end of file diff --git a/.obsidian/app.json b/.obsidian/app.json new file mode 100644 index 0000000..89a4465 --- /dev/null +++ b/.obsidian/app.json @@ -0,0 +1,7 @@ +{ + "alwaysUpdateLinks": true, + "promptDelete": false, + "showInlineTitle": true, + "attachmentFolderPath": "03 Ресурсы/Изображения", + "showUnsupportedFiles": true +} \ No newline at end of file diff --git a/.obsidian/appearance.json b/.obsidian/appearance.json new file mode 100644 index 0000000..9c6d722 --- /dev/null +++ b/.obsidian/appearance.json @@ -0,0 +1,12 @@ +{ + "cssTheme": "Cupertino", + "monospaceFontFamily": "Iosevka Term", + "baseFontSize": 18, + "baseFontSizeAction": true, + "nativeMenus": true, + "translucency": false, + "theme": "system", + "showViewHeader": true, + "showRibbon": true, + "accentColor": "#1c70ea" +} \ No newline at end of file diff --git a/.obsidian/community-plugins.json b/.obsidian/community-plugins.json new file mode 100644 index 0000000..a253e5c --- /dev/null +++ b/.obsidian/community-plugins.json @@ -0,0 +1,4 @@ +[ + "obsidian-latex-suite", + "obsidian-git" +] \ No newline at end of file diff --git a/.obsidian/core-plugins.json b/.obsidian/core-plugins.json new file mode 100644 index 0000000..8e719d8 --- /dev/null +++ b/.obsidian/core-plugins.json @@ -0,0 +1,33 @@ +{ + "file-explorer": true, + "global-search": true, + "switcher": true, + "graph": true, + "backlink": true, + "canvas": true, + "outgoing-link": true, + "tag-pane": true, + "properties": false, + "page-preview": true, + "daily-notes": true, + "templates": true, + "note-composer": true, + "command-palette": true, + "slash-command": false, + "editor-status": true, + "bookmarks": true, + "markdown-importer": false, + "zk-prefixer": false, + "random-note": false, + "outline": true, + "word-count": true, + "slides": false, + "audio-recorder": false, + "workspaces": false, + "file-recovery": true, + "publish": false, + "sync": false, + "webviewer": false, + "footnotes": false, + "bases": true +} \ No newline at end of file diff --git a/.obsidian/graph.json b/.obsidian/graph.json new file mode 100644 index 0000000..c872c6a --- /dev/null +++ b/.obsidian/graph.json @@ -0,0 +1,22 @@ +{ + "collapse-filter": false, + "search": "", + "showTags": true, + "showAttachments": true, + "hideUnresolved": true, + "showOrphans": true, + "collapse-color-groups": false, + "colorGroups": [], + "collapse-display": false, + "showArrow": true, + "textFadeMultiplier": 0, + "nodeSizeMultiplier": 1, + "lineSizeMultiplier": 1, + "collapse-forces": false, + "centerStrength": 0.518713248970312, + "repelStrength": 10, + "linkStrength": 1, + "linkDistance": 250, + "scale": 0.4269583123291989, + "close": true +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/main.js b/.obsidian/plugins/obsidian-git/main.js new file mode 100644 index 0000000..2a78f5b --- /dev/null +++ b/.obsidian/plugins/obsidian-git/main.js @@ -0,0 +1,452 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source visit the plugins github repository (https://github.com/denolehov/obsidian-git) +*/ + +var $D=Object.create;var pc=Object.defineProperty;var ID=Object.getOwnPropertyDescriptor;var FD=Object.getOwnPropertyNames;var OD=Object.getPrototypeOf,MD=Object.prototype.hasOwnProperty;var Bb=t=>{throw TypeError(t)};var DD=(t,e,r)=>e in t?pc(t,e,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[e]=r;var LD=(t,e)=>()=>(t&&(e=t(t=0)),e);var I=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),BD=(t,e)=>{for(var r in e)pc(t,r,{get:e[r],enumerable:!0})},Nb=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of FD(e))!MD.call(t,n)&&n!==r&&pc(t,n,{get:()=>e[n],enumerable:!(i=ID(e,n))||i.enumerable});return t};var Mt=(t,e,r)=>(r=t!=null?$D(OD(t)):{},Nb(e||!t||!t.__esModule?pc(r,"default",{value:t,enumerable:!0}):r,t)),ND=t=>Nb(pc({},"__esModule",{value:!0}),t);var ze=(t,e,r)=>DD(t,typeof e!="symbol"?e+"":e,r),Am=(t,e,r)=>e.has(t)||Bb("Cannot "+r);var $=(t,e,r)=>(Am(t,e,"read from private field"),r?r.call(t):e.get(t)),pe=(t,e,r)=>e.has(t)?Bb("Cannot add the same private member more than once"):e instanceof WeakSet?e.add(t):e.set(t,r),fe=(t,e,r,i)=>(Am(t,e,"write to private field"),i?i.call(t,r):e.set(t,r),r),bt=(t,e,r)=>(Am(t,e,"access private method"),r);var Gb=I(Tf=>{"use strict";p();Tf.byteLength=UD;Tf.toByteArray=jD;Tf.fromByteArray=VD;var Qi=[],fi=[],HD=typeof Uint8Array!="undefined"?Uint8Array:Array,Tm="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/";for(oa=0,Hb=Tm.length;oa0)throw new Error("Invalid string. Length must be a multiple of 4");var r=t.indexOf("=");r===-1&&(r=e);var i=r===e?0:4-r%4;return[r,i]}function UD(t){var e=Ub(t),r=e[0],i=e[1];return(r+i)*3/4-i}function GD(t,e,r){return(e+r)*3/4-r}function jD(t){var e,r=Ub(t),i=r[0],n=r[1],s=new HD(GD(t,i,n)),a=0,o=n>0?i-4:i,l;for(l=0;l>16&255,s[a++]=e>>8&255,s[a++]=e&255;return n===2&&(e=fi[t.charCodeAt(l)]<<2|fi[t.charCodeAt(l+1)]>>4,s[a++]=e&255),n===1&&(e=fi[t.charCodeAt(l)]<<10|fi[t.charCodeAt(l+1)]<<4|fi[t.charCodeAt(l+2)]>>2,s[a++]=e>>8&255,s[a++]=e&255),s}function qD(t){return Qi[t>>18&63]+Qi[t>>12&63]+Qi[t>>6&63]+Qi[t&63]}function zD(t,e,r){for(var i,n=[],s=e;so?o:a+s));return i===1?(e=t[r-1],n.push(Qi[e>>2]+Qi[e<<4&63]+"==")):i===2&&(e=(t[r-2]<<8)+t[r-1],n.push(Qi[e>>10]+Qi[e>>4&63]+Qi[e<<2&63]+"=")),n.join("")}});var jb=I(Cm=>{p();Cm.read=function(t,e,r,i,n){var s,a,o=n*8-i-1,l=(1<>1,u=-7,f=r?n-1:0,d=r?-1:1,h=t[e+f];for(f+=d,s=h&(1<<-u)-1,h>>=-u,u+=o;u>0;s=s*256+t[e+f],f+=d,u-=8);for(a=s&(1<<-u)-1,s>>=-u,u+=i;u>0;a=a*256+t[e+f],f+=d,u-=8);if(s===0)s=1-c;else{if(s===l)return a?NaN:(h?-1:1)*(1/0);a=a+Math.pow(2,i),s=s-c}return(h?-1:1)*a*Math.pow(2,s-i)};Cm.write=function(t,e,r,i,n,s){var a,o,l,c=s*8-n-1,u=(1<>1,d=n===23?Math.pow(2,-24)-Math.pow(2,-77):0,h=i?0:s-1,m=i?1:-1,g=e<0||e===0&&1/e<0?1:0;for(e=Math.abs(e),isNaN(e)||e===1/0?(o=isNaN(e)?1:0,a=u):(a=Math.floor(Math.log(e)/Math.LN2),e*(l=Math.pow(2,-a))<1&&(a--,l*=2),a+f>=1?e+=d/l:e+=d*Math.pow(2,1-f),e*l>=2&&(a++,l/=2),a+f>=u?(o=0,a=u):a+f>=1?(o=(e*l-1)*Math.pow(2,n),a=a+f):(o=e*Math.pow(2,f-1)*Math.pow(2,n),a=0));n>=8;t[r+h]=o&255,h+=m,o/=256,n-=8);for(a=a<0;t[r+h]=a&255,h+=m,a/=256,c-=8);t[r+h-m]|=g*128}});var Lm=I(Ao=>{"use strict";p();var Pm=Gb(),Eo=jb(),qb=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;Ao.Buffer=F;Ao.SlowBuffer=QD;Ao.INSPECT_MAX_BYTES=50;var Cf=2147483647;Ao.kMaxLength=Cf;F.TYPED_ARRAY_SUPPORT=WD();!F.TYPED_ARRAY_SUPPORT&&typeof console!="undefined"&&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 WD(){try{let t=new Uint8Array(1),e={foo:function(){return 42}};return Object.setPrototypeOf(e,Uint8Array.prototype),Object.setPrototypeOf(t,e),t.foo()===42}catch(t){return!1}}Object.defineProperty(F.prototype,"parent",{enumerable:!0,get:function(){if(F.isBuffer(this))return this.buffer}});Object.defineProperty(F.prototype,"offset",{enumerable:!0,get:function(){if(F.isBuffer(this))return this.byteOffset}});function Ln(t){if(t>Cf)throw new RangeError('The value "'+t+'" is invalid for option "size"');let e=new Uint8Array(t);return Object.setPrototypeOf(e,F.prototype),e}function F(t,e,r){if(typeof t=="number"){if(typeof e=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Fm(t)}return Yb(t,e,r)}F.poolSize=8192;function Yb(t,e,r){if(typeof t=="string")return XD(t,e);if(ArrayBuffer.isView(t))return ZD(t);if(t==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t);if(Ji(t,ArrayBuffer)||t&&Ji(t.buffer,ArrayBuffer)||typeof SharedArrayBuffer!="undefined"&&(Ji(t,SharedArrayBuffer)||t&&Ji(t.buffer,SharedArrayBuffer)))return $m(t,e,r);if(typeof t=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');let i=t.valueOf&&t.valueOf();if(i!=null&&i!==t)return F.from(i,e,r);let n=KD(t);if(n)return n;if(typeof Symbol!="undefined"&&Symbol.toPrimitive!=null&&typeof t[Symbol.toPrimitive]=="function")return F.from(t[Symbol.toPrimitive]("string"),e,r);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof t)}F.from=function(t,e,r){return Yb(t,e,r)};Object.setPrototypeOf(F.prototype,Uint8Array.prototype);Object.setPrototypeOf(F,Uint8Array);function Xb(t){if(typeof t!="number")throw new TypeError('"size" argument must be of type number');if(t<0)throw new RangeError('The value "'+t+'" is invalid for option "size"')}function YD(t,e,r){return Xb(t),t<=0?Ln(t):e!==void 0?typeof r=="string"?Ln(t).fill(e,r):Ln(t).fill(e):Ln(t)}F.alloc=function(t,e,r){return YD(t,e,r)};function Fm(t){return Xb(t),Ln(t<0?0:Om(t)|0)}F.allocUnsafe=function(t){return Fm(t)};F.allocUnsafeSlow=function(t){return Fm(t)};function XD(t,e){if((typeof e!="string"||e==="")&&(e="utf8"),!F.isEncoding(e))throw new TypeError("Unknown encoding: "+e);let r=Zb(t,e)|0,i=Ln(r),n=i.write(t,e);return n!==r&&(i=i.slice(0,n)),i}function Rm(t){let e=t.length<0?0:Om(t.length)|0,r=Ln(e);for(let i=0;i=Cf)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+Cf.toString(16)+" bytes");return t|0}function QD(t){return+t!=t&&(t=0),F.alloc(+t)}F.isBuffer=function(e){return e!=null&&e._isBuffer===!0&&e!==F.prototype};F.compare=function(e,r){if(Ji(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),Ji(r,Uint8Array)&&(r=F.from(r,r.offset,r.byteLength)),!F.isBuffer(e)||!F.isBuffer(r))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(e===r)return 0;let i=e.length,n=r.length;for(let s=0,a=Math.min(i,n);sn.length?(F.isBuffer(a)||(a=F.from(a)),a.copy(n,s)):Uint8Array.prototype.set.call(n,a,s);else if(F.isBuffer(a))a.copy(n,s);else throw new TypeError('"list" argument must be an Array of Buffers');s+=a.length}return n};function Zb(t,e){if(F.isBuffer(t))return t.length;if(ArrayBuffer.isView(t)||Ji(t,ArrayBuffer))return t.byteLength;if(typeof t!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof t);let r=t.length,i=arguments.length>2&&arguments[2]===!0;if(!i&&r===0)return 0;let n=!1;for(;;)switch(e){case"ascii":case"latin1":case"binary":return r;case"utf8":case"utf-8":return Im(t).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return r*2;case"hex":return r>>>1;case"base64":return s_(t).length;default:if(n)return i?-1:Im(t).length;e=(""+e).toLowerCase(),n=!0}}F.byteLength=Zb;function JD(t,e,r){let i=!1;if((e===void 0||e<0)&&(e=0),e>this.length||((r===void 0||r>this.length)&&(r=this.length),r<=0)||(r>>>=0,e>>>=0,r<=e))return"";for(t||(t="utf8");;)switch(t){case"hex":return cL(this,e,r);case"utf8":case"utf-8":return Qb(this,e,r);case"ascii":return oL(this,e,r);case"latin1":case"binary":return lL(this,e,r);case"base64":return sL(this,e,r);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return uL(this,e,r);default:if(i)throw new TypeError("Unknown encoding: "+t);t=(t+"").toLowerCase(),i=!0}}F.prototype._isBuffer=!0;function la(t,e,r){let i=t[e];t[e]=t[r],t[r]=i}F.prototype.swap16=function(){let e=this.length;if(e%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let r=0;rr&&(e+=" ... "),""};qb&&(F.prototype[qb]=F.prototype.inspect);F.prototype.compare=function(e,r,i,n,s){if(Ji(e,Uint8Array)&&(e=F.from(e,e.offset,e.byteLength)),!F.isBuffer(e))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof e);if(r===void 0&&(r=0),i===void 0&&(i=e?e.length:0),n===void 0&&(n=0),s===void 0&&(s=this.length),r<0||i>e.length||n<0||s>this.length)throw new RangeError("out of range index");if(n>=s&&r>=i)return 0;if(n>=s)return-1;if(r>=i)return 1;if(r>>>=0,i>>>=0,n>>>=0,s>>>=0,this===e)return 0;let a=s-n,o=i-r,l=Math.min(a,o),c=this.slice(n,s),u=e.slice(r,i);for(let f=0;f2147483647?r=2147483647:r<-2147483648&&(r=-2147483648),r=+r,Dm(r)&&(r=n?0:t.length-1),r<0&&(r=t.length+r),r>=t.length){if(n)return-1;r=t.length-1}else if(r<0)if(n)r=0;else return-1;if(typeof e=="string"&&(e=F.from(e,i)),F.isBuffer(e))return e.length===0?-1:zb(t,e,r,i,n);if(typeof e=="number")return e=e&255,typeof Uint8Array.prototype.indexOf=="function"?n?Uint8Array.prototype.indexOf.call(t,e,r):Uint8Array.prototype.lastIndexOf.call(t,e,r):zb(t,[e],r,i,n);throw new TypeError("val must be string, number or Buffer")}function zb(t,e,r,i,n){let s=1,a=t.length,o=e.length;if(i!==void 0&&(i=String(i).toLowerCase(),i==="ucs2"||i==="ucs-2"||i==="utf16le"||i==="utf-16le")){if(t.length<2||e.length<2)return-1;s=2,a/=2,o/=2,r/=2}function l(u,f){return s===1?u[f]:u.readUInt16BE(f*s)}let c;if(n){let u=-1;for(c=r;ca&&(r=a-o),c=r;c>=0;c--){let u=!0;for(let f=0;fn&&(i=n)):i=n;let s=e.length;i>s/2&&(i=s/2);let a;for(a=0;a>>0,isFinite(i)?(i=i>>>0,n===void 0&&(n="utf8")):(n=i,i=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");let s=this.length-r;if((i===void 0||i>s)&&(i=s),e.length>0&&(i<0||r<0)||r>this.length)throw new RangeError("Attempt to write outside buffer bounds");n||(n="utf8");let a=!1;for(;;)switch(n){case"hex":return eL(this,e,r,i);case"utf8":case"utf-8":return tL(this,e,r,i);case"ascii":case"latin1":case"binary":return rL(this,e,r,i);case"base64":return iL(this,e,r,i);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return nL(this,e,r,i);default:if(a)throw new TypeError("Unknown encoding: "+n);n=(""+n).toLowerCase(),a=!0}};F.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function sL(t,e,r){return e===0&&r===t.length?Pm.fromByteArray(t):Pm.fromByteArray(t.slice(e,r))}function Qb(t,e,r){r=Math.min(t.length,r);let i=[],n=e;for(;n239?4:s>223?3:s>191?2:1;if(n+o<=r){let l,c,u,f;switch(o){case 1:s<128&&(a=s);break;case 2:l=t[n+1],(l&192)===128&&(f=(s&31)<<6|l&63,f>127&&(a=f));break;case 3:l=t[n+1],c=t[n+2],(l&192)===128&&(c&192)===128&&(f=(s&15)<<12|(l&63)<<6|c&63,f>2047&&(f<55296||f>57343)&&(a=f));break;case 4:l=t[n+1],c=t[n+2],u=t[n+3],(l&192)===128&&(c&192)===128&&(u&192)===128&&(f=(s&15)<<18|(l&63)<<12|(c&63)<<6|u&63,f>65535&&f<1114112&&(a=f))}}a===null?(a=65533,o=1):a>65535&&(a-=65536,i.push(a>>>10&1023|55296),a=56320|a&1023),i.push(a),n+=o}return aL(i)}var Vb=4096;function aL(t){let e=t.length;if(e<=Vb)return String.fromCharCode.apply(String,t);let r="",i=0;for(;ii)&&(r=i);let n="";for(let s=e;si&&(e=i),r<0?(r+=i,r<0&&(r=0)):r>i&&(r=i),rr)throw new RangeError("Trying to access beyond buffer length")}F.prototype.readUintLE=F.prototype.readUIntLE=function(e,r,i){e=e>>>0,r=r>>>0,i||Dt(e,r,this.length);let n=this[e],s=1,a=0;for(;++a>>0,r=r>>>0,i||Dt(e,r,this.length);let n=this[e+--r],s=1;for(;r>0&&(s*=256);)n+=this[e+--r]*s;return n};F.prototype.readUint8=F.prototype.readUInt8=function(e,r){return e=e>>>0,r||Dt(e,1,this.length),this[e]};F.prototype.readUint16LE=F.prototype.readUInt16LE=function(e,r){return e=e>>>0,r||Dt(e,2,this.length),this[e]|this[e+1]<<8};F.prototype.readUint16BE=F.prototype.readUInt16BE=function(e,r){return e=e>>>0,r||Dt(e,2,this.length),this[e]<<8|this[e+1]};F.prototype.readUint32LE=F.prototype.readUInt32LE=function(e,r){return e=e>>>0,r||Dt(e,4,this.length),(this[e]|this[e+1]<<8|this[e+2]<<16)+this[e+3]*16777216};F.prototype.readUint32BE=F.prototype.readUInt32BE=function(e,r){return e=e>>>0,r||Dt(e,4,this.length),this[e]*16777216+(this[e+1]<<16|this[e+2]<<8|this[e+3])};F.prototype.readBigUInt64LE=ws(function(e){e=e>>>0,ko(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&mc(e,this.length-8);let n=r+this[++e]*2**8+this[++e]*2**16+this[++e]*2**24,s=this[++e]+this[++e]*2**8+this[++e]*2**16+i*2**24;return BigInt(n)+(BigInt(s)<>>0,ko(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&mc(e,this.length-8);let n=r*2**24+this[++e]*2**16+this[++e]*2**8+this[++e],s=this[++e]*2**24+this[++e]*2**16+this[++e]*2**8+i;return(BigInt(n)<>>0,r=r>>>0,i||Dt(e,r,this.length);let n=this[e],s=1,a=0;for(;++a=s&&(n-=Math.pow(2,8*r)),n};F.prototype.readIntBE=function(e,r,i){e=e>>>0,r=r>>>0,i||Dt(e,r,this.length);let n=r,s=1,a=this[e+--n];for(;n>0&&(s*=256);)a+=this[e+--n]*s;return s*=128,a>=s&&(a-=Math.pow(2,8*r)),a};F.prototype.readInt8=function(e,r){return e=e>>>0,r||Dt(e,1,this.length),this[e]&128?(255-this[e]+1)*-1:this[e]};F.prototype.readInt16LE=function(e,r){e=e>>>0,r||Dt(e,2,this.length);let i=this[e]|this[e+1]<<8;return i&32768?i|4294901760:i};F.prototype.readInt16BE=function(e,r){e=e>>>0,r||Dt(e,2,this.length);let i=this[e+1]|this[e]<<8;return i&32768?i|4294901760:i};F.prototype.readInt32LE=function(e,r){return e=e>>>0,r||Dt(e,4,this.length),this[e]|this[e+1]<<8|this[e+2]<<16|this[e+3]<<24};F.prototype.readInt32BE=function(e,r){return e=e>>>0,r||Dt(e,4,this.length),this[e]<<24|this[e+1]<<16|this[e+2]<<8|this[e+3]};F.prototype.readBigInt64LE=ws(function(e){e=e>>>0,ko(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&mc(e,this.length-8);let n=this[e+4]+this[e+5]*2**8+this[e+6]*2**16+(i<<24);return(BigInt(n)<>>0,ko(e,"offset");let r=this[e],i=this[e+7];(r===void 0||i===void 0)&&mc(e,this.length-8);let n=(r<<24)+this[++e]*2**16+this[++e]*2**8+this[++e];return(BigInt(n)<>>0,r||Dt(e,4,this.length),Eo.read(this,e,!0,23,4)};F.prototype.readFloatBE=function(e,r){return e=e>>>0,r||Dt(e,4,this.length),Eo.read(this,e,!1,23,4)};F.prototype.readDoubleLE=function(e,r){return e=e>>>0,r||Dt(e,8,this.length),Eo.read(this,e,!0,52,8)};F.prototype.readDoubleBE=function(e,r){return e=e>>>0,r||Dt(e,8,this.length),Eo.read(this,e,!1,52,8)};function br(t,e,r,i,n,s){if(!F.isBuffer(t))throw new TypeError('"buffer" argument must be a Buffer instance');if(e>n||et.length)throw new RangeError("Index out of range")}F.prototype.writeUintLE=F.prototype.writeUIntLE=function(e,r,i,n){if(e=+e,r=r>>>0,i=i>>>0,!n){let o=Math.pow(2,8*i)-1;br(this,e,r,i,o,0)}let s=1,a=0;for(this[r]=e&255;++a>>0,i=i>>>0,!n){let o=Math.pow(2,8*i)-1;br(this,e,r,i,o,0)}let s=i-1,a=1;for(this[r+s]=e&255;--s>=0&&(a*=256);)this[r+s]=e/a&255;return r+i};F.prototype.writeUint8=F.prototype.writeUInt8=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,1,255,0),this[r]=e&255,r+1};F.prototype.writeUint16LE=F.prototype.writeUInt16LE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,2,65535,0),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeUint16BE=F.prototype.writeUInt16BE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,2,65535,0),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeUint32LE=F.prototype.writeUInt32LE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,4,4294967295,0),this[r+3]=e>>>24,this[r+2]=e>>>16,this[r+1]=e>>>8,this[r]=e&255,r+4};F.prototype.writeUint32BE=F.prototype.writeUInt32BE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,4,4294967295,0),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};function Jb(t,e,r,i,n){n_(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s,s=s>>8,t[r++]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,a=a>>8,t[r++]=a,r}function e_(t,e,r,i,n){n_(e,i,n,t,r,7);let s=Number(e&BigInt(4294967295));t[r+7]=s,s=s>>8,t[r+6]=s,s=s>>8,t[r+5]=s,s=s>>8,t[r+4]=s;let a=Number(e>>BigInt(32)&BigInt(4294967295));return t[r+3]=a,a=a>>8,t[r+2]=a,a=a>>8,t[r+1]=a,a=a>>8,t[r]=a,r+8}F.prototype.writeBigUInt64LE=ws(function(e,r=0){return Jb(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeBigUInt64BE=ws(function(e,r=0){return e_(this,e,r,BigInt(0),BigInt("0xffffffffffffffff"))});F.prototype.writeIntLE=function(e,r,i,n){if(e=+e,r=r>>>0,!n){let l=Math.pow(2,8*i-1);br(this,e,r,i,l-1,-l)}let s=0,a=1,o=0;for(this[r]=e&255;++s>0)-o&255;return r+i};F.prototype.writeIntBE=function(e,r,i,n){if(e=+e,r=r>>>0,!n){let l=Math.pow(2,8*i-1);br(this,e,r,i,l-1,-l)}let s=i-1,a=1,o=0;for(this[r+s]=e&255;--s>=0&&(a*=256);)e<0&&o===0&&this[r+s+1]!==0&&(o=1),this[r+s]=(e/a>>0)-o&255;return r+i};F.prototype.writeInt8=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,1,127,-128),e<0&&(e=255+e+1),this[r]=e&255,r+1};F.prototype.writeInt16LE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,2,32767,-32768),this[r]=e&255,this[r+1]=e>>>8,r+2};F.prototype.writeInt16BE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,2,32767,-32768),this[r]=e>>>8,this[r+1]=e&255,r+2};F.prototype.writeInt32LE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,4,2147483647,-2147483648),this[r]=e&255,this[r+1]=e>>>8,this[r+2]=e>>>16,this[r+3]=e>>>24,r+4};F.prototype.writeInt32BE=function(e,r,i){return e=+e,r=r>>>0,i||br(this,e,r,4,2147483647,-2147483648),e<0&&(e=4294967295+e+1),this[r]=e>>>24,this[r+1]=e>>>16,this[r+2]=e>>>8,this[r+3]=e&255,r+4};F.prototype.writeBigInt64LE=ws(function(e,r=0){return Jb(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});F.prototype.writeBigInt64BE=ws(function(e,r=0){return e_(this,e,r,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function t_(t,e,r,i,n,s){if(r+i>t.length)throw new RangeError("Index out of range");if(r<0)throw new RangeError("Index out of range")}function r_(t,e,r,i,n){return e=+e,r=r>>>0,n||t_(t,e,r,4,34028234663852886e22,-34028234663852886e22),Eo.write(t,e,r,i,23,4),r+4}F.prototype.writeFloatLE=function(e,r,i){return r_(this,e,r,!0,i)};F.prototype.writeFloatBE=function(e,r,i){return r_(this,e,r,!1,i)};function i_(t,e,r,i,n){return e=+e,r=r>>>0,n||t_(t,e,r,8,17976931348623157e292,-17976931348623157e292),Eo.write(t,e,r,i,52,8),r+8}F.prototype.writeDoubleLE=function(e,r,i){return i_(this,e,r,!0,i)};F.prototype.writeDoubleBE=function(e,r,i){return i_(this,e,r,!1,i)};F.prototype.copy=function(e,r,i,n){if(!F.isBuffer(e))throw new TypeError("argument should be a Buffer");if(i||(i=0),!n&&n!==0&&(n=this.length),r>=e.length&&(r=e.length),r||(r=0),n>0&&n=this.length)throw new RangeError("Index out of range");if(n<0)throw new RangeError("sourceEnd out of bounds");n>this.length&&(n=this.length),e.length-r>>0,i=i===void 0?this.length:i>>>0,e||(e=0);let s;if(typeof e=="number")for(s=r;s2**32?n=Wb(String(r)):typeof r=="bigint"&&(n=String(r),(r>BigInt(2)**BigInt(32)||r<-(BigInt(2)**BigInt(32)))&&(n=Wb(n)),n+="n"),i+=` It must be ${e}. Received ${n}`,i},RangeError);function Wb(t){let e="",r=t.length,i=t[0]==="-"?1:0;for(;r>=i+4;r-=3)e=`_${t.slice(r-3,r)}${e}`;return`${t.slice(0,r)}${e}`}function fL(t,e,r){ko(e,"offset"),(t[e]===void 0||t[e+r]===void 0)&&mc(e,t.length-(r+1))}function n_(t,e,r,i,n,s){if(t>r||t3?e===0||e===BigInt(0)?o=`>= 0${a} and < 2${a} ** ${(s+1)*8}${a}`:o=`>= -(2${a} ** ${(s+1)*8-1}${a}) and < 2 ** ${(s+1)*8-1}${a}`:o=`>= ${e}${a} and <= ${r}${a}`,new So.ERR_OUT_OF_RANGE("value",o,t)}fL(i,n,s)}function ko(t,e){if(typeof t!="number")throw new So.ERR_INVALID_ARG_TYPE(e,"number",t)}function mc(t,e,r){throw Math.floor(t)!==t?(ko(t,r),new So.ERR_OUT_OF_RANGE(r||"offset","an integer",t)):e<0?new So.ERR_BUFFER_OUT_OF_BOUNDS:new So.ERR_OUT_OF_RANGE(r||"offset",`>= ${r?1:0} and <= ${e}`,t)}var dL=/[^+/0-9A-Za-z-_]/g;function hL(t){if(t=t.split("=")[0],t=t.trim().replace(dL,""),t.length<2)return"";for(;t.length%4!==0;)t=t+"=";return t}function Im(t,e){e=e||1/0;let r,i=t.length,n=null,s=[];for(let a=0;a55295&&r<57344){if(!n){if(r>56319){(e-=3)>-1&&s.push(239,191,189);continue}else if(a+1===i){(e-=3)>-1&&s.push(239,191,189);continue}n=r;continue}if(r<56320){(e-=3)>-1&&s.push(239,191,189),n=r;continue}r=(n-55296<<10|r-56320)+65536}else n&&(e-=3)>-1&&s.push(239,191,189);if(n=null,r<128){if((e-=1)<0)break;s.push(r)}else if(r<2048){if((e-=2)<0)break;s.push(r>>6|192,r&63|128)}else if(r<65536){if((e-=3)<0)break;s.push(r>>12|224,r>>6&63|128,r&63|128)}else if(r<1114112){if((e-=4)<0)break;s.push(r>>18|240,r>>12&63|128,r>>6&63|128,r&63|128)}else throw new Error("Invalid code point")}return s}function pL(t){let e=[];for(let r=0;r>8,n=r%256,s.push(n),s.push(i);return s}function s_(t){return Pm.toByteArray(hL(t))}function Pf(t,e,r,i){let n;for(n=0;n=e.length||n>=t.length);++n)e[n+r]=t[n];return n}function Ji(t,e){return t instanceof e||t!=null&&t.constructor!=null&&t.constructor.name!=null&&t.constructor.name===e.name}function Dm(t){return t!==t}var gL=function(){let t="0123456789abcdef",e=new Array(256);for(let r=0;r<16;++r){let i=r*16;for(let n=0;n<16;++n)e[i+n]=t[r]+t[n]}return e}();function ws(t){return typeof BigInt=="undefined"?vL:t}function vL(){throw new Error("BigInt not supported")}});var a_,Bm,Buffer,p=LD(()=>{a_=require("obsidian");a_.Platform.isMobileApp?Bm=Lm().Buffer:Bm=global.Buffer;Buffer=Bm});var l_=I((l7,o_)=>{"use strict";p();var Yr=function(t){if(t=t||{},this.Promise=t.Promise||Promise,this.queues=Object.create(null),this.domainReentrant=t.domainReentrant||!1,this.domainReentrant){if(typeof process=="undefined"||typeof process.domain=="undefined")throw new 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=t.timeout||Yr.DEFAULT_TIMEOUT,this.maxOccupationTime=t.maxOccupationTime||Yr.DEFAULT_MAX_OCCUPATION_TIME,this.maxExecutionTime=t.maxExecutionTime||Yr.DEFAULT_MAX_EXECUTION_TIME,t.maxPending===1/0||Number.isInteger(t.maxPending)&&t.maxPending>=0?this.maxPending=t.maxPending:this.maxPending=Yr.DEFAULT_MAX_PENDING};Yr.DEFAULT_TIMEOUT=0;Yr.DEFAULT_MAX_OCCUPATION_TIME=0;Yr.DEFAULT_MAX_EXECUTION_TIME=0;Yr.DEFAULT_MAX_PENDING=1e3;Yr.prototype.acquire=function(t,e,r,i){if(Array.isArray(t))return this._acquireBatch(t,e,r,i);if(typeof e!="function")throw new Error("You must pass a function to execute");var n=null,s=null,a=null;typeof r!="function"&&(i=r,r=null,a=new this.Promise(function(b,k){n=b,s=k})),i=i||{};var o=!1,l=null,c=null,u=null,f=this,d=function(b,k,x){c&&(clearTimeout(c),c=null),u&&(clearTimeout(u),u=null),b&&(f.queues[t]&&f.queues[t].length===0&&delete f.queues[t],f.domainReentrant&&delete f.domains[t]),o||(a?k?s(k):n(x):typeof r=="function"&&r(k,x),o=!0),b&&f.queues[t]&&f.queues[t].length>0&&f.queues[t].shift()()},h=function(b){if(o)return d(b);l&&(clearTimeout(l),l=null),f.domainReentrant&&b&&(f.domains[t]=process.domain);var k=i.maxExecutionTime||f.maxExecutionTime;if(k&&(u=setTimeout(function(){f.queues[t]&&d(b,new Error("Maximum execution time is exceeded "+t))},k)),e.length===1){var x=!1;try{e(function(E,A){x||(x=!0,d(b,E,A))})}catch(E){x||(x=!0,d(b,E))}}else f._promiseTry(function(){return e()}).then(function(E){d(b,void 0,E)},function(E){d(b,E)})};f.domainReentrant&&process.domain&&(h=process.domain.bind(h));var m=i.maxPending||f.maxPending;if(!f.queues[t])f.queues[t]=[],h(!0);else if(f.domainReentrant&&process.domain&&process.domain===f.domains[t])h(!1);else if(f.queues[t].length>=m)d(!1,new Error("Too many pending tasks in queue "+t));else{var g=function(){h(!0)};i.skipQueue?f.queues[t].unshift(g):f.queues[t].push(g);var v=i.timeout||f.timeout;v&&(l=setTimeout(function(){l=null,d(!1,new Error("async-lock timed out in queue "+t))},v))}var w=i.maxOccupationTime||f.maxOccupationTime;if(w&&(c=setTimeout(function(){f.queues[t]&&d(!1,new Error("Maximum occupation time is exceeded in queue "+t))},w)),a)return a};Yr.prototype._acquireBatch=function(t,e,r,i){typeof r!="function"&&(i=r,r=null);var n=this,s=function(o,l){return function(c){n.acquire(o,l,c,i)}},a=t.reduceRight(function(o,l){return s(l,o)},e);if(typeof r=="function")a(r);else return new this.Promise(function(o,l){a.length===1?a(function(c,u){c?l(c):o(u)}):o(a())})};Yr.prototype.isBusy=function(t){return t?!!this.queues[t]:Object.keys(this.queues).length>0};Yr.prototype._promiseTry=function(t){try{return this.Promise.resolve(t())}catch(e){return this.Promise.reject(e)}};o_.exports=Yr});var u_=I((u7,c_)=>{"use strict";p();c_.exports=l_()});var f_=I((d7,Nm)=>{p();typeof Object.create=="function"?Nm.exports=function(e,r){r&&(e.super_=r,e.prototype=Object.create(r.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}))}:Nm.exports=function(e,r){if(r){e.super_=r;var i=function(){};i.prototype=r.prototype,e.prototype=new i,e.prototype.constructor=e}}});var $f=I((Hm,h_)=>{p();var Rf=Lm(),en=Rf.Buffer;function d_(t,e){for(var r in t)e[r]=t[r]}en.from&&en.alloc&&en.allocUnsafe&&en.allocUnsafeSlow?h_.exports=Rf:(d_(Rf,Hm),Hm.Buffer=ca);function ca(t,e,r){return en(t,e,r)}ca.prototype=Object.create(en.prototype);d_(en,ca);ca.from=function(t,e,r){if(typeof t=="number")throw new TypeError("Argument must not be a number");return en(t,e,r)};ca.alloc=function(t,e,r){if(typeof t!="number")throw new TypeError("Argument must be a number");var i=en(t);return e!==void 0?typeof r=="string"?i.fill(e,r):i.fill(e):i.fill(0),i};ca.allocUnsafe=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return en(t)};ca.allocUnsafeSlow=function(t){if(typeof t!="number")throw new TypeError("Argument must be a number");return Rf.SlowBuffer(t)}});var If=I((m7,p_)=>{p();var wL={}.toString;p_.exports=Array.isArray||function(t){return wL.call(t)=="[object Array]"}});var _r=I((v7,m_)=>{"use strict";p();m_.exports=TypeError});var Ff=I((y7,g_)=>{"use strict";p();g_.exports=Object});var Um=I((_7,v_)=>{"use strict";p();v_.exports=Error});var y_=I((S7,w_)=>{"use strict";p();w_.exports=EvalError});var __=I((k7,b_)=>{"use strict";p();b_.exports=RangeError});var S_=I((T7,x_)=>{"use strict";p();x_.exports=ReferenceError});var Of=I((P7,E_)=>{"use strict";p();E_.exports=SyntaxError});var A_=I(($7,k_)=>{"use strict";p();k_.exports=URIError});var C_=I((F7,T_)=>{"use strict";p();T_.exports=Math.abs});var R_=I((M7,P_)=>{"use strict";p();P_.exports=Math.floor});var I_=I((L7,$_)=>{"use strict";p();$_.exports=Math.max});var O_=I((N7,F_)=>{"use strict";p();F_.exports=Math.min});var D_=I((U7,M_)=>{"use strict";p();M_.exports=Math.pow});var B_=I((j7,L_)=>{"use strict";p();L_.exports=Math.round});var H_=I((z7,N_)=>{"use strict";p();N_.exports=Number.isNaN||function(e){return e!==e}});var G_=I((W7,U_)=>{"use strict";p();var yL=H_();U_.exports=function(e){return yL(e)||e===0?e:e<0?-1:1}});var q_=I((X7,j_)=>{"use strict";p();j_.exports=Object.getOwnPropertyDescriptor});var ys=I((K7,z_)=>{"use strict";p();var Mf=q_();if(Mf)try{Mf([],"length")}catch(t){Mf=null}z_.exports=Mf});var gc=I((J7,V_)=>{"use strict";p();var Df=Object.defineProperty||!1;if(Df)try{Df({},"a",{value:1})}catch(t){Df=!1}V_.exports=Df});var vc=I((tY,W_)=>{"use strict";p();W_.exports=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var e={},r=Symbol("test"),i=Object(r);if(typeof r=="string"||Object.prototype.toString.call(r)!=="[object Symbol]"||Object.prototype.toString.call(i)!=="[object Symbol]")return!1;var n=42;e[r]=n;for(var s in 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]!==r||!Object.prototype.propertyIsEnumerable.call(e,r))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var o=Object.getOwnPropertyDescriptor(e,r);if(o.value!==n||o.enumerable!==!0)return!1}return!0}});var Lf=I((iY,X_)=>{"use strict";p();var Y_=typeof Symbol!="undefined"&&Symbol,bL=vc();X_.exports=function(){return typeof Y_!="function"||typeof Symbol!="function"||typeof Y_("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:bL()}});var Gm=I((sY,Z_)=>{"use strict";p();Z_.exports=typeof Reflect!="undefined"&&Reflect.getPrototypeOf||null});var jm=I((oY,K_)=>{"use strict";p();var _L=Ff();K_.exports=_L.getPrototypeOf||null});var ex=I((cY,J_)=>{"use strict";p();var xL="Function.prototype.bind called on incompatible ",SL=Object.prototype.toString,EL=Math.max,kL="[object Function]",Q_=function(e,r){for(var i=[],n=0;n{"use strict";p();var CL=ex();tx.exports=Function.prototype.bind||CL});var Bf=I((hY,rx)=>{"use strict";p();rx.exports=Function.prototype.call});var Nf=I((mY,ix)=>{"use strict";p();ix.exports=Function.prototype.apply});var sx=I((vY,nx)=>{"use strict";p();nx.exports=typeof Reflect!="undefined"&&Reflect&&Reflect.apply});var qm=I((yY,ax)=>{"use strict";p();var PL=To(),RL=Nf(),$L=Bf(),IL=sx();ax.exports=IL||PL.call($L,RL)});var Hf=I((_Y,ox)=>{"use strict";p();var FL=To(),OL=_r(),ML=Bf(),DL=qm();ox.exports=function(e){if(e.length<1||typeof e[0]!="function")throw new OL("a function is required");return DL(FL,ML,e)}});var hx=I((SY,dx)=>{"use strict";p();var LL=Hf(),lx=ys(),ux;try{ux=[].__proto__===Array.prototype}catch(t){if(!t||typeof t!="object"||!("code"in t)||t.code!=="ERR_PROTO_ACCESS")throw t}var zm=!!ux&&lx&&lx(Object.prototype,"__proto__"),fx=Object,cx=fx.getPrototypeOf;dx.exports=zm&&typeof zm.get=="function"?LL([zm.get]):typeof cx=="function"?function(e){return cx(e==null?e:fx(e))}:!1});var Uf=I((kY,vx)=>{"use strict";p();var px=Gm(),mx=jm(),gx=hx();vx.exports=px?function(e){return px(e)}:mx?function(e){if(!e||typeof e!="object"&&typeof e!="function")throw new TypeError("getProto: not an object");return mx(e)}:gx?function(e){return gx(e)}:null});var Gf=I((TY,wx)=>{"use strict";p();var BL=Function.prototype.call,NL=Object.prototype.hasOwnProperty,HL=To();wx.exports=HL.call(BL,NL)});var tn=I((PY,Ex)=>{"use strict";p();var Ee,UL=Ff(),GL=Um(),jL=y_(),qL=__(),zL=S_(),$o=Of(),Ro=_r(),VL=A_(),WL=C_(),YL=R_(),XL=I_(),ZL=O_(),KL=D_(),QL=B_(),JL=G_(),xx=Function,Vm=function(t){try{return xx('"use strict"; return ('+t+").constructor;")()}catch(e){}},wc=ys(),eB=gc(),Wm=function(){throw new Ro},tB=wc?function(){try{return arguments.callee,Wm}catch(t){try{return wc(arguments,"callee").get}catch(e){return Wm}}}():Wm,Co=Lf()(),Lt=Uf(),rB=jm(),iB=Gm(),Sx=Nf(),yc=Bf(),Po={},nB=typeof Uint8Array=="undefined"||!Lt?Ee:Lt(Uint8Array),ua={__proto__:null,"%AggregateError%":typeof AggregateError=="undefined"?Ee:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer=="undefined"?Ee:ArrayBuffer,"%ArrayIteratorPrototype%":Co&&Lt?Lt([][Symbol.iterator]()):Ee,"%AsyncFromSyncIteratorPrototype%":Ee,"%AsyncFunction%":Po,"%AsyncGenerator%":Po,"%AsyncGeneratorFunction%":Po,"%AsyncIteratorPrototype%":Po,"%Atomics%":typeof Atomics=="undefined"?Ee:Atomics,"%BigInt%":typeof BigInt=="undefined"?Ee:BigInt,"%BigInt64Array%":typeof BigInt64Array=="undefined"?Ee:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array=="undefined"?Ee:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView=="undefined"?Ee:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":GL,"%eval%":eval,"%EvalError%":jL,"%Float16Array%":typeof Float16Array=="undefined"?Ee:Float16Array,"%Float32Array%":typeof Float32Array=="undefined"?Ee:Float32Array,"%Float64Array%":typeof Float64Array=="undefined"?Ee:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry=="undefined"?Ee:FinalizationRegistry,"%Function%":xx,"%GeneratorFunction%":Po,"%Int8Array%":typeof Int8Array=="undefined"?Ee:Int8Array,"%Int16Array%":typeof Int16Array=="undefined"?Ee:Int16Array,"%Int32Array%":typeof Int32Array=="undefined"?Ee:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":Co&&Lt?Lt(Lt([][Symbol.iterator]())):Ee,"%JSON%":typeof JSON=="object"?JSON:Ee,"%Map%":typeof Map=="undefined"?Ee:Map,"%MapIteratorPrototype%":typeof Map=="undefined"||!Co||!Lt?Ee:Lt(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":UL,"%Object.getOwnPropertyDescriptor%":wc,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise=="undefined"?Ee:Promise,"%Proxy%":typeof Proxy=="undefined"?Ee:Proxy,"%RangeError%":qL,"%ReferenceError%":zL,"%Reflect%":typeof Reflect=="undefined"?Ee:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set=="undefined"?Ee:Set,"%SetIteratorPrototype%":typeof Set=="undefined"||!Co||!Lt?Ee:Lt(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer=="undefined"?Ee:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":Co&&Lt?Lt(""[Symbol.iterator]()):Ee,"%Symbol%":Co?Symbol:Ee,"%SyntaxError%":$o,"%ThrowTypeError%":tB,"%TypedArray%":nB,"%TypeError%":Ro,"%Uint8Array%":typeof Uint8Array=="undefined"?Ee:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray=="undefined"?Ee:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array=="undefined"?Ee:Uint16Array,"%Uint32Array%":typeof Uint32Array=="undefined"?Ee:Uint32Array,"%URIError%":VL,"%WeakMap%":typeof WeakMap=="undefined"?Ee:WeakMap,"%WeakRef%":typeof WeakRef=="undefined"?Ee:WeakRef,"%WeakSet%":typeof WeakSet=="undefined"?Ee:WeakSet,"%Function.prototype.call%":yc,"%Function.prototype.apply%":Sx,"%Object.defineProperty%":eB,"%Object.getPrototypeOf%":rB,"%Math.abs%":WL,"%Math.floor%":YL,"%Math.max%":XL,"%Math.min%":ZL,"%Math.pow%":KL,"%Math.round%":QL,"%Math.sign%":JL,"%Reflect.getPrototypeOf%":iB};if(Lt)try{null.error}catch(t){yx=Lt(Lt(t)),ua["%Error.prototype%"]=yx}var yx,sB=function t(e){var r;if(e==="%AsyncFunction%")r=Vm("async function () {}");else if(e==="%GeneratorFunction%")r=Vm("function* () {}");else if(e==="%AsyncGeneratorFunction%")r=Vm("async function* () {}");else if(e==="%AsyncGenerator%"){var i=t("%AsyncGeneratorFunction%");i&&(r=i.prototype)}else if(e==="%AsyncIteratorPrototype%"){var n=t("%AsyncGenerator%");n&&Lt&&(r=Lt(n.prototype))}return ua[e]=r,r},bx={__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"]},bc=To(),jf=Gf(),aB=bc.call(yc,Array.prototype.concat),oB=bc.call(Sx,Array.prototype.splice),_x=bc.call(yc,String.prototype.replace),qf=bc.call(yc,String.prototype.slice),lB=bc.call(yc,RegExp.prototype.exec),cB=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,uB=/\\(\\)?/g,fB=function(e){var r=qf(e,0,1),i=qf(e,-1);if(r==="%"&&i!=="%")throw new $o("invalid intrinsic syntax, expected closing `%`");if(i==="%"&&r!=="%")throw new $o("invalid intrinsic syntax, expected opening `%`");var n=[];return _x(e,cB,function(s,a,o,l){n[n.length]=o?_x(l,uB,"$1"):a||s}),n},dB=function(e,r){var i=e,n;if(jf(bx,i)&&(n=bx[i],i="%"+n[0]+"%"),jf(ua,i)){var s=ua[i];if(s===Po&&(s=sB(i)),typeof s=="undefined"&&!r)throw new Ro("intrinsic "+e+" exists, but is not available. Please file an issue!");return{alias:n,name:i,value:s}}throw new $o("intrinsic "+e+" does not exist!")};Ex.exports=function(e,r){if(typeof e!="string"||e.length===0)throw new Ro("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof r!="boolean")throw new Ro('"allowMissing" argument must be a boolean');if(lB(/^%?[^%]*%?$/,e)===null)throw new $o("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var i=fB(e),n=i.length>0?i[0]:"",s=dB("%"+n+"%",r),a=s.name,o=s.value,l=!1,c=s.alias;c&&(n=c[0],oB(i,aB([0,1],c)));for(var u=1,f=!0;u=i.length){var g=wc(o,d);f=!!g,f&&"get"in g&&!("originalValue"in g.get)?o=g.get:o=o[d]}else f=jf(o,d),o=o[d];f&&!l&&(ua[a]=o)}}return o}});var Bt=I(($Y,Tx)=>{"use strict";p();var kx=tn(),Ax=Hf(),hB=Ax([kx("%String.prototype.indexOf%")]);Tx.exports=function(e,r){var i=kx(e,!!r);return typeof i=="function"&&hB(e,".prototype.")>-1?Ax([i]):i}});var $x=I((FY,Rx)=>{"use strict";p();var Px=Function.prototype.toString,Io=typeof Reflect=="object"&&Reflect!==null&&Reflect.apply,Xm,zf;if(typeof Io=="function"&&typeof Object.defineProperty=="function")try{Xm=Object.defineProperty({},"length",{get:function(){throw zf}}),zf={},Io(function(){throw 42},null,Xm)}catch(t){t!==zf&&(Io=null)}else Io=null;var pB=/^\s*class\b/,Zm=function(e){try{var r=Px.call(e);return pB.test(r)}catch(i){return!1}},Ym=function(e){try{return Zm(e)?!1:(Px.call(e),!0)}catch(r){return!1}},Vf=Object.prototype.toString,mB="[object Object]",gB="[object Function]",vB="[object GeneratorFunction]",wB="[object HTMLAllCollection]",yB="[object HTML document.all class]",bB="[object HTMLCollection]",_B=typeof Symbol=="function"&&!!Symbol.toStringTag,xB=!(0 in[,]),Km=function(){return!1};typeof document=="object"&&(Cx=document.all,Vf.call(Cx)===Vf.call(document.all)&&(Km=function(e){if((xB||!e)&&(typeof e=="undefined"||typeof e=="object"))try{var r=Vf.call(e);return(r===wB||r===yB||r===bB||r===mB)&&e("")==null}catch(i){}return!1}));var Cx;Rx.exports=Io?function(e){if(Km(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;try{Io(e,null,Xm)}catch(r){if(r!==zf)return!1}return!Zm(e)&&Ym(e)}:function(e){if(Km(e))return!0;if(!e||typeof e!="function"&&typeof e!="object")return!1;if(_B)return Ym(e);if(Zm(e))return!1;var r=Vf.call(e);return r!==gB&&r!==vB&&!/^\[object HTML/.test(r)?!1:Ym(e)}});var Ox=I((MY,Fx)=>{"use strict";p();var SB=$x(),EB=Object.prototype.toString,Ix=Object.prototype.hasOwnProperty,kB=function(e,r,i){for(var n=0,s=e.length;n=3&&(n=i),CB(e)?kB(e,r,n):typeof e=="string"?AB(e,r,n):TB(e,r,n)}});var Dx=I((LY,Mx)=>{"use strict";p();Mx.exports=["Float16Array","Float32Array","Float64Array","Int8Array","Int16Array","Int32Array","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","BigInt64Array","BigUint64Array"]});var Bx=I((NY,Lx)=>{"use strict";p();var Qm=Dx(),PB=typeof globalThis=="undefined"?global:globalThis;Lx.exports=function(){for(var e=[],r=0;r{"use strict";p();var Nx=gc(),RB=Of(),Fo=_r(),Hx=ys();Ux.exports=function(e,r,i){if(!e||typeof e!="object"&&typeof e!="function")throw new Fo("`obj` must be an object or a function`");if(typeof r!="string"&&typeof r!="symbol")throw new Fo("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new Fo("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new Fo("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new Fo("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new Fo("`loose`, if provided, must be a boolean");var n=arguments.length>3?arguments[3]:null,s=arguments.length>4?arguments[4]:null,a=arguments.length>5?arguments[5]:null,o=arguments.length>6?arguments[6]:!1,l=!!Hx&&Hx(e,r);if(Nx)Nx(e,r,{configurable:a===null&&l?l.configurable:!a,enumerable:n===null&&l?l.enumerable:!n,value:i,writable:s===null&&l?l.writable:!s});else if(o||!n&&!s&&!a)e[r]=i;else throw new RB("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")}});var Yf=I((jY,jx)=>{"use strict";p();var Jm=gc(),Gx=function(){return!!Jm};Gx.hasArrayLengthDefineBug=function(){if(!Jm)return null;try{return Jm([],"length",{value:1}).length!==1}catch(e){return!0}};jx.exports=Gx});var Yx=I((zY,Wx)=>{"use strict";p();var $B=tn(),qx=Wf(),IB=Yf()(),zx=ys(),Vx=_r(),FB=$B("%Math.floor%");Wx.exports=function(e,r){if(typeof e!="function")throw new Vx("`fn` is not a function");if(typeof r!="number"||r<0||r>4294967295||FB(r)!==r)throw new Vx("`length` must be a positive 32-bit integer");var i=arguments.length>2&&!!arguments[2],n=!0,s=!0;if("length"in e&&zx){var a=zx(e,"length");a&&!a.configurable&&(n=!1),a&&!a.writable&&(s=!1)}return(n||s||!i)&&(IB?qx(e,"length",r,!0,!0):qx(e,"length",r)),e}});var Zx=I((WY,Xx)=>{"use strict";p();var OB=To(),MB=Nf(),DB=qm();Xx.exports=function(){return DB(OB,MB,arguments)}});var fa=I((XY,Xf)=>{"use strict";p();var LB=Yx(),Kx=gc(),BB=Hf(),Qx=Zx();Xf.exports=function(e){var r=BB(arguments),i=e.length-(arguments.length-1);return LB(r,1+(i>0?i:0),!0)};Kx?Kx(Xf.exports,"apply",{value:Qx}):Xf.exports.apply=Qx});var bs=I((KY,Jx)=>{"use strict";p();var NB=vc();Jx.exports=function(){return NB()&&!!Symbol.toStringTag}});var ig=I((JY,i1)=>{"use strict";p();var Qf=Ox(),HB=Bx(),e1=fa(),tg=Bt(),Kf=ys(),Zf=Uf(),UB=tg("Object.prototype.toString"),r1=bs()(),t1=typeof globalThis=="undefined"?global:globalThis,eg=HB(),rg=tg("String.prototype.slice"),GB=tg("Array.prototype.indexOf",!0)||function(e,r){for(var i=0;i-1?r:r!=="Object"?!1:qB(e)}return Kf?jB(e):null}});var s1=I((tX,n1)=>{"use strict";p();var zB=ig();n1.exports=function(e){return!!zB(e)}});var o1=I((iX,a1)=>{"use strict";p();var VB=_r(),WB=Bt(),YB=WB("TypedArray.prototype.buffer",!0),XB=s1();a1.exports=YB||function(e){if(!XB(e))throw new VB("Not a Typed Array");return e.buffer}});var u1=I((sX,c1)=>{"use strict";p();var Ci=$f().Buffer,ZB=If(),KB=o1(),QB=ArrayBuffer.isView||function(e){try{return KB(e),!0}catch(r){return!1}},JB=typeof Uint8Array!="undefined",l1=typeof ArrayBuffer!="undefined"&&typeof Uint8Array!="undefined",eN=l1&&(Ci.prototype instanceof Uint8Array||Ci.TYPED_ARRAY_SUPPORT);c1.exports=function(e,r){if(Ci.isBuffer(e))return e.constructor&&!("isBuffer"in e)?Ci.from(e):e;if(typeof e=="string")return Ci.from(e,r);if(l1&&QB(e)){if(e.byteLength===0)return Ci.alloc(0);if(eN){var i=Ci.from(e.buffer,e.byteOffset,e.byteLength);if(i.byteLength===e.byteLength)return i}var n=e instanceof Uint8Array?e:new Uint8Array(e.buffer,e.byteOffset,e.byteLength),s=Ci.from(n);if(s.length===e.byteLength)return s}if(JB&&e instanceof Uint8Array)return Ci.from(e);var a=ZB(e);if(a)for(var o=0;o255||~~l!==l)throw new RangeError("Array items must be numbers in the range 0-255.")}if(a||Ci.isBuffer(e)&&e.constructor&&typeof e.constructor.isBuffer=="function"&&e.constructor.isBuffer(e))return Ci.from(e);throw new TypeError('The "data" argument must be a string, an Array, a Buffer, a Uint8Array, or a DataView.')}});var d1=I((oX,f1)=>{"use strict";p();var tN=$f().Buffer,rN=u1();function td(t,e){this._block=tN.alloc(t),this._finalSize=e,this._blockSize=t,this._len=0}td.prototype.update=function(t,e){t=rN(t,e||"utf8");for(var r=this._block,i=this._blockSize,n=t.length,s=this._len,a=0;a=this._finalSize&&(this._update(this._block),this._block.fill(0));var r=this._len*8;if(r<=4294967295)this._block.writeUInt32BE(r,this._blockSize-4);else{var i=(r&4294967295)>>>0,n=(r-i)/4294967296;this._block.writeUInt32BE(n,this._blockSize-8),this._block.writeUInt32BE(i,this._blockSize-4)}this._update(this._block);var s=this._hash();return t?s.toString(t):s};td.prototype._update=function(){throw new Error("_update must be implemented by subclass")};f1.exports=td});var m1=I((cX,p1)=>{"use strict";p();var iN=f_(),h1=d1(),nN=$f().Buffer,sN=[1518500249,1859775393,-1894007588,-899497514],aN=new Array(80);function _c(){this.init(),this._w=aN,h1.call(this,64,56)}iN(_c,h1);_c.prototype.init=function(){return this._a=1732584193,this._b=4023233417,this._c=2562383102,this._d=271733878,this._e=3285377520,this};function oN(t){return t<<1|t>>>31}function lN(t){return t<<5|t>>>27}function cN(t){return t<<30|t>>>2}function uN(t,e,r,i){return t===0?e&r|~e&i:t===2?e&r|e&i|r&i:e^r^i}_c.prototype._update=function(t){for(var e=this._w,r=this._a|0,i=this._b|0,n=this._c|0,s=this._d|0,a=this._e|0,o=0;o<16;++o)e[o]=t.readInt32BE(o*4);for(;o<80;++o)e[o]=oN(e[o-3]^e[o-8]^e[o-14]^e[o-16]);for(var l=0;l<80;++l){var c=~~(l/20),u=lN(r)+uN(c,i,n,s)+a+e[l]+sN[c]|0;a=s,s=n,n=cN(i),i=r,r=u}this._a=r+this._a|0,this._b=i+this._b|0,this._c=n+this._c|0,this._d=s+this._d|0,this._e=a+this._e|0};_c.prototype._hash=function(){var t=nN.allocUnsafe(20);return t.writeInt32BE(this._a|0,0),t.writeInt32BE(this._b|0,4),t.writeInt32BE(this._c|0,8),t.writeInt32BE(this._d|0,12),t.writeInt32BE(this._e|0,16),t};p1.exports=_c});var v1=I(ng=>{p();var g1;(function(t){typeof DO_NOT_EXPORT_CRC=="undefined"?typeof ng=="object"?t(ng):typeof define=="function"&&define.amd?define(function(){var e={};return t(e),e}):t(g1={}):t(g1={})})(function(t){t.version="1.2.2";function e(){for(var y=0,S=new Array(256),_=0;_!=256;++_)y=_,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,y=y&1?-306674912^y>>>1:y>>>1,S[_]=y;return typeof Int32Array!="undefined"?new Int32Array(S):S}var r=e();function i(y){var S=0,_=0,T=0,P=typeof Int32Array!="undefined"?new Int32Array(4096):new Array(4096);for(T=0;T!=256;++T)P[T]=y[T];for(T=0;T!=256;++T)for(_=y[T],S=256+T;S<4096;S+=256)_=P[S]=_>>>8^y[_&255];var D=[];for(T=1;T!=16;++T)D[T-1]=typeof Int32Array!="undefined"?P.subarray(T*256,T*256+256):P.slice(T*256,T*256+256);return D}var n=i(r),s=n[0],a=n[1],o=n[2],l=n[3],c=n[4],u=n[5],f=n[6],d=n[7],h=n[8],m=n[9],g=n[10],v=n[11],w=n[12],b=n[13],k=n[14];function x(y,S){for(var _=S^-1,T=0,P=y.length;T>>8^r[(_^y.charCodeAt(T++))&255];return~_}function E(y,S){for(var _=S^-1,T=y.length-15,P=0;P>8&255]^w[y[P++]^_>>16&255]^v[y[P++]^_>>>24]^g[y[P++]]^m[y[P++]]^h[y[P++]]^d[y[P++]]^f[y[P++]]^u[y[P++]]^c[y[P++]]^l[y[P++]]^o[y[P++]]^a[y[P++]]^s[y[P++]]^r[y[P++]];for(T+=15;P>>8^r[(_^y[P++])&255];return~_}function A(y,S){for(var _=S^-1,T=0,P=y.length,D=0,B=0;T>>8^r[(_^D)&255]:D<2048?(_=_>>>8^r[(_^(192|D>>6&31))&255],_=_>>>8^r[(_^(128|D&63))&255]):D>=55296&&D<57344?(D=(D&1023)+64,B=y.charCodeAt(T++)&1023,_=_>>>8^r[(_^(240|D>>8&7))&255],_=_>>>8^r[(_^(128|D>>2&63))&255],_=_>>>8^r[(_^(128|B>>6&15|(D&3)<<4))&255],_=_>>>8^r[(_^(128|B&63))&255]):(_=_>>>8^r[(_^(224|D>>12&15))&255],_=_>>>8^r[(_^(128|D>>6&63))&255],_=_>>>8^r[(_^(128|D&63))&255]);return~_}t.table=r,t.bstr=x,t.buf=E,t.str=A})});var Bn=I(fr=>{"use strict";p();var fN=typeof Uint8Array!="undefined"&&typeof Uint16Array!="undefined"&&typeof Int32Array!="undefined";function dN(t,e){return Object.prototype.hasOwnProperty.call(t,e)}fr.assign=function(t){for(var e=Array.prototype.slice.call(arguments,1);e.length;){var r=e.shift();if(r){if(typeof r!="object")throw new TypeError(r+"must be non-object");for(var i in r)dN(r,i)&&(t[i]=r[i])}}return t};fr.shrinkBuf=function(t,e){return t.length===e?t:t.subarray?t.subarray(0,e):(t.length=e,t)};var hN={arraySet:function(t,e,r,i,n){if(e.subarray&&t.subarray){t.set(e.subarray(r,r+i),n);return}for(var s=0;s{"use strict";p();var mN=Bn(),gN=4,w1=0,y1=1,vN=2;function Mo(t){for(var e=t.length;--e>=0;)t[e]=0}var wN=0,k1=1,yN=2,bN=3,_N=258,fg=29,Tc=256,Sc=Tc+1+fg,Oo=30,dg=19,A1=2*Sc+1,da=15,sg=16,xN=7,hg=256,T1=16,C1=17,P1=18,cg=[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],rd=[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],SN=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,7],R1=[16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15],EN=512,Nn=new Array((Sc+2)*2);Mo(Nn);var xc=new Array(Oo*2);Mo(xc);var Ec=new Array(EN);Mo(Ec);var kc=new Array(_N-bN+1);Mo(kc);var pg=new Array(fg);Mo(pg);var id=new Array(Oo);Mo(id);function ag(t,e,r,i,n){this.static_tree=t,this.extra_bits=e,this.extra_base=r,this.elems=i,this.max_length=n,this.has_stree=t&&t.length}var $1,I1,F1;function og(t,e){this.dyn_tree=t,this.max_code=0,this.stat_desc=e}function O1(t){return t<256?Ec[t]:Ec[256+(t>>>7)]}function Ac(t,e){t.pending_buf[t.pending++]=e&255,t.pending_buf[t.pending++]=e>>>8&255}function xr(t,e,r){t.bi_valid>sg-r?(t.bi_buf|=e<>sg-t.bi_valid,t.bi_valid+=r-sg):(t.bi_buf|=e<>>=1,r<<=1;while(--e>0);return r>>>1}function kN(t){t.bi_valid===16?(Ac(t,t.bi_buf),t.bi_buf=0,t.bi_valid=0):t.bi_valid>=8&&(t.pending_buf[t.pending++]=t.bi_buf&255,t.bi_buf>>=8,t.bi_valid-=8)}function AN(t,e){var r=e.dyn_tree,i=e.max_code,n=e.stat_desc.static_tree,s=e.stat_desc.has_stree,a=e.stat_desc.extra_bits,o=e.stat_desc.extra_base,l=e.stat_desc.max_length,c,u,f,d,h,m,g=0;for(d=0;d<=da;d++)t.bl_count[d]=0;for(r[t.heap[t.heap_max]*2+1]=0,c=t.heap_max+1;cl&&(d=l,g++),r[u*2+1]=d,!(u>i)&&(t.bl_count[d]++,h=0,u>=o&&(h=a[u-o]),m=r[u*2],t.opt_len+=m*(d+h),s&&(t.static_len+=m*(n[u*2+1]+h)));if(g!==0){do{for(d=l-1;t.bl_count[d]===0;)d--;t.bl_count[d]--,t.bl_count[d+1]+=2,t.bl_count[l]--,g-=2}while(g>0);for(d=l;d!==0;d--)for(u=t.bl_count[d];u!==0;)f=t.heap[--c],!(f>i)&&(r[f*2+1]!==d&&(t.opt_len+=(d-r[f*2+1])*r[f*2],r[f*2+1]=d),u--)}}function D1(t,e,r){var i=new Array(da+1),n=0,s,a;for(s=1;s<=da;s++)i[s]=n=n+r[s-1]<<1;for(a=0;a<=e;a++){var o=t[a*2+1];o!==0&&(t[a*2]=M1(i[o]++,o))}}function TN(){var t,e,r,i,n,s=new Array(da+1);for(r=0,i=0;i>=7;i8?Ac(t,t.bi_buf):t.bi_valid>0&&(t.pending_buf[t.pending++]=t.bi_buf),t.bi_buf=0,t.bi_valid=0}function CN(t,e,r,i){B1(t),i&&(Ac(t,r),Ac(t,~r)),mN.arraySet(t.pending_buf,t.window,e,r,t.pending),t.pending+=r}function b1(t,e,r,i){var n=e*2,s=r*2;return t[n]>1;a>=1;a--)lg(t,r,a);c=s;do a=t.heap[1],t.heap[1]=t.heap[t.heap_len--],lg(t,r,1),o=t.heap[1],t.heap[--t.heap_max]=a,t.heap[--t.heap_max]=o,r[c*2]=r[a*2]+r[o*2],t.depth[c]=(t.depth[a]>=t.depth[o]?t.depth[a]:t.depth[o])+1,r[a*2+1]=r[o*2+1]=c,t.heap[1]=c++,lg(t,r,1);while(t.heap_len>=2);t.heap[--t.heap_max]=t.heap[1],AN(t,e),D1(r,l,t.bl_count)}function x1(t,e,r){var i,n=-1,s,a=e[0*2+1],o=0,l=7,c=4;for(a===0&&(l=138,c=3),e[(r+1)*2+1]=65535,i=0;i<=r;i++)s=a,a=e[(i+1)*2+1],!(++o=3&&t.bl_tree[R1[e]*2+1]===0;e--);return t.opt_len+=3*(e+1)+5+5+4,e}function RN(t,e,r,i){var n;for(xr(t,e-257,5),xr(t,r-1,5),xr(t,i-4,4),n=0;n>>=1)if(e&1&&t.dyn_ltree[r*2]!==0)return w1;if(t.dyn_ltree[9*2]!==0||t.dyn_ltree[10*2]!==0||t.dyn_ltree[13*2]!==0)return y1;for(r=32;r0?(t.strm.data_type===vN&&(t.strm.data_type=$N(t)),ug(t,t.l_desc),ug(t,t.d_desc),a=PN(t),n=t.opt_len+3+7>>>3,s=t.static_len+3+7>>>3,s<=n&&(n=s)):n=s=r+5,r+4<=n&&e!==-1?N1(t,e,r,i):t.strategy===gN||s===n?(xr(t,(k1<<1)+(i?1:0),3),_1(t,Nn,xc)):(xr(t,(yN<<1)+(i?1:0),3),RN(t,t.l_desc.max_code+1,t.d_desc.max_code+1,a+1),_1(t,t.dyn_ltree,t.dyn_dtree)),L1(t),i&&B1(t)}function MN(t,e,r){return t.pending_buf[t.d_buf+t.last_lit*2]=e>>>8&255,t.pending_buf[t.d_buf+t.last_lit*2+1]=e&255,t.pending_buf[t.l_buf+t.last_lit]=r&255,t.last_lit++,e===0?t.dyn_ltree[r*2]++:(t.matches++,e--,t.dyn_ltree[(kc[r]+Tc+1)*2]++,t.dyn_dtree[O1(e)*2]++),t.last_lit===t.lit_bufsize-1}Do._tr_init=IN;Do._tr_stored_block=N1;Do._tr_flush_block=ON;Do._tr_tally=MN;Do._tr_align=FN});var mg=I((vX,U1)=>{"use strict";p();function DN(t,e,r,i){for(var n=t&65535|0,s=t>>>16&65535|0,a=0;r!==0;){a=r>2e3?2e3:r,r-=a;do n=n+e[i++]|0,s=s+n|0;while(--a);n%=65521,s%=65521}return n|s<<16|0}U1.exports=DN});var gg=I((yX,G1)=>{"use strict";p();function LN(){for(var t,e=[],r=0;r<256;r++){t=r;for(var i=0;i<8;i++)t=t&1?3988292384^t>>>1:t>>>1;e[r]=t}return e}var BN=LN();function NN(t,e,r,i){var n=BN,s=i+r;t^=-1;for(var a=i;a>>8^n[(t^e[a])&255];return t^-1}G1.exports=NN});var nd=I((_X,j1)=>{"use strict";p();j1.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"}});var Q1=I(an=>{"use strict";p();var dr=Bn(),di=H1(),W1=mg(),_s=gg(),HN=nd(),ga=0,UN=1,GN=3,As=4,q1=5,sn=0,z1=1,hi=-2,jN=-3,vg=-5,qN=-1,zN=1,sd=2,VN=3,WN=4,YN=0,XN=2,cd=8,ZN=9,KN=15,QN=8,JN=29,eH=256,yg=eH+1+JN,tH=30,rH=19,iH=2*yg+1,nH=15,Ce=3,Es=258,Pi=Es+Ce+1,sH=32,ud=42,bg=69,ad=73,od=91,ld=103,ha=113,Pc=666,Ct=1,Rc=2,pa=3,No=4,aH=3;function ks(t,e){return t.msg=HN[e],e}function V1(t){return(t<<1)-(t>4?9:0)}function Ss(t){for(var e=t.length;--e>=0;)t[e]=0}function xs(t){var e=t.state,r=e.pending;r>t.avail_out&&(r=t.avail_out),r!==0&&(dr.arraySet(t.output,e.pending_buf,e.pending_out,r,t.next_out),t.next_out+=r,e.pending_out+=r,t.total_out+=r,t.avail_out-=r,e.pending-=r,e.pending===0&&(e.pending_out=0))}function qt(t,e){di._tr_flush_block(t,t.block_start>=0?t.block_start:-1,t.strstart-t.block_start,e),t.block_start=t.strstart,xs(t.strm)}function Fe(t,e){t.pending_buf[t.pending++]=e}function Cc(t,e){t.pending_buf[t.pending++]=e>>>8&255,t.pending_buf[t.pending++]=e&255}function oH(t,e,r,i){var n=t.avail_in;return n>i&&(n=i),n===0?0:(t.avail_in-=n,dr.arraySet(e,t.input,t.next_in,n,r),t.state.wrap===1?t.adler=W1(t.adler,e,n,r):t.state.wrap===2&&(t.adler=_s(t.adler,e,n,r)),t.next_in+=n,t.total_in+=n,n)}function Y1(t,e){var r=t.max_chain_length,i=t.strstart,n,s,a=t.prev_length,o=t.nice_match,l=t.strstart>t.w_size-Pi?t.strstart-(t.w_size-Pi):0,c=t.window,u=t.w_mask,f=t.prev,d=t.strstart+Es,h=c[i+a-1],m=c[i+a];t.prev_length>=t.good_match&&(r>>=2),o>t.lookahead&&(o=t.lookahead);do if(n=e,!(c[n+a]!==m||c[n+a-1]!==h||c[n]!==c[i]||c[++n]!==c[i+1])){i+=2,n++;do;while(c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&c[++i]===c[++n]&&ia){if(t.match_start=e,a=s,s>=o)break;h=c[i+a-1],m=c[i+a]}}while((e=f[e&u])>l&&--r!==0);return a<=t.lookahead?a:t.lookahead}function ma(t){var e=t.w_size,r,i,n,s,a;do{if(s=t.window_size-t.lookahead-t.strstart,t.strstart>=e+(e-Pi)){dr.arraySet(t.window,t.window,e,e,0),t.match_start-=e,t.strstart-=e,t.block_start-=e,i=t.hash_size,r=i;do n=t.head[--r],t.head[r]=n>=e?n-e:0;while(--i);i=e,r=i;do n=t.prev[--r],t.prev[r]=n>=e?n-e:0;while(--i);s+=e}if(t.strm.avail_in===0)break;if(i=oH(t.strm,t.window,t.strstart+t.lookahead,s),t.lookahead+=i,t.lookahead+t.insert>=Ce)for(a=t.strstart-t.insert,t.ins_h=t.window[a],t.ins_h=(t.ins_h<t.pending_buf_size-5&&(r=t.pending_buf_size-5);;){if(t.lookahead<=1){if(ma(t),t.lookahead===0&&e===ga)return Ct;if(t.lookahead===0)break}t.strstart+=t.lookahead,t.lookahead=0;var i=t.block_start+r;if((t.strstart===0||t.strstart>=i)&&(t.lookahead=t.strstart-i,t.strstart=i,qt(t,!1),t.strm.avail_out===0)||t.strstart-t.block_start>=t.w_size-Pi&&(qt(t,!1),t.strm.avail_out===0))return Ct}return t.insert=0,e===As?(qt(t,!0),t.strm.avail_out===0?pa:No):(t.strstart>t.block_start&&(qt(t,!1),t.strm.avail_out===0),Ct)}function wg(t,e){for(var r,i;;){if(t.lookahead=Ce&&(t.ins_h=(t.ins_h<=Ce)if(i=di._tr_tally(t,t.strstart-t.match_start,t.match_length-Ce),t.lookahead-=t.match_length,t.match_length<=t.max_lazy_match&&t.lookahead>=Ce){t.match_length--;do t.strstart++,t.ins_h=(t.ins_h<=Ce&&(t.ins_h=(t.ins_h<4096)&&(t.match_length=Ce-1)),t.prev_length>=Ce&&t.match_length<=t.prev_length){n=t.strstart+t.lookahead-Ce,i=di._tr_tally(t,t.strstart-1-t.prev_match,t.prev_length-Ce),t.lookahead-=t.prev_length-1,t.prev_length-=2;do++t.strstart<=n&&(t.ins_h=(t.ins_h<=Ce&&t.strstart>0&&(n=t.strstart-1,i=a[n],i===a[++n]&&i===a[++n]&&i===a[++n])){s=t.strstart+Es;do;while(i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&i===a[++n]&&nt.lookahead&&(t.match_length=t.lookahead)}if(t.match_length>=Ce?(r=di._tr_tally(t,1,t.match_length-Ce),t.lookahead-=t.match_length,t.strstart+=t.match_length,t.match_length=0):(r=di._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++),r&&(qt(t,!1),t.strm.avail_out===0))return Ct}return t.insert=0,e===As?(qt(t,!0),t.strm.avail_out===0?pa:No):t.last_lit&&(qt(t,!1),t.strm.avail_out===0)?Ct:Rc}function uH(t,e){for(var r;;){if(t.lookahead===0&&(ma(t),t.lookahead===0)){if(e===ga)return Ct;break}if(t.match_length=0,r=di._tr_tally(t,0,t.window[t.strstart]),t.lookahead--,t.strstart++,r&&(qt(t,!1),t.strm.avail_out===0))return Ct}return t.insert=0,e===As?(qt(t,!0),t.strm.avail_out===0?pa:No):t.last_lit&&(qt(t,!1),t.strm.avail_out===0)?Ct:Rc}function nn(t,e,r,i,n){this.good_length=t,this.max_lazy=e,this.nice_length=r,this.max_chain=i,this.func=n}var Bo;Bo=[new nn(0,0,0,0,lH),new nn(4,4,8,4,wg),new nn(4,5,16,8,wg),new nn(4,6,32,32,wg),new nn(4,4,16,16,Lo),new nn(8,16,32,32,Lo),new nn(8,16,128,128,Lo),new nn(8,32,128,256,Lo),new nn(32,128,258,1024,Lo),new nn(32,258,258,4096,Lo)];function fH(t){t.window_size=2*t.w_size,Ss(t.head),t.max_lazy_match=Bo[t.level].max_lazy,t.good_match=Bo[t.level].good_length,t.nice_match=Bo[t.level].nice_length,t.max_chain_length=Bo[t.level].max_chain,t.strstart=0,t.block_start=0,t.lookahead=0,t.insert=0,t.match_length=t.prev_length=Ce-1,t.match_available=0,t.ins_h=0}function dH(){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=cd,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 dr.Buf16(iH*2),this.dyn_dtree=new dr.Buf16((2*tH+1)*2),this.bl_tree=new dr.Buf16((2*rH+1)*2),Ss(this.dyn_ltree),Ss(this.dyn_dtree),Ss(this.bl_tree),this.l_desc=null,this.d_desc=null,this.bl_desc=null,this.bl_count=new dr.Buf16(nH+1),this.heap=new dr.Buf16(2*yg+1),Ss(this.heap),this.heap_len=0,this.heap_max=0,this.depth=new dr.Buf16(2*yg+1),Ss(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 X1(t){var e;return!t||!t.state?ks(t,hi):(t.total_in=t.total_out=0,t.data_type=XN,e=t.state,e.pending=0,e.pending_out=0,e.wrap<0&&(e.wrap=-e.wrap),e.status=e.wrap?ud:ha,t.adler=e.wrap===2?0:1,e.last_flush=ga,di._tr_init(e),sn)}function Z1(t){var e=X1(t);return e===sn&&fH(t.state),e}function hH(t,e){return!t||!t.state||t.state.wrap!==2?hi:(t.state.gzhead=e,sn)}function K1(t,e,r,i,n,s){if(!t)return hi;var a=1;if(e===qN&&(e=6),i<0?(a=0,i=-i):i>15&&(a=2,i-=16),n<1||n>ZN||r!==cd||i<8||i>15||e<0||e>9||s<0||s>WN)return ks(t,hi);i===8&&(i=9);var o=new dH;return t.state=o,o.strm=t,o.wrap=a,o.gzhead=null,o.w_bits=i,o.w_size=1<q1||e<0)return t?ks(t,hi):hi;if(i=t.state,!t.output||!t.input&&t.avail_in!==0||i.status===Pc&&e!==As)return ks(t,t.avail_out===0?vg:hi);if(i.strm=t,r=i.last_flush,i.last_flush=e,i.status===ud)if(i.wrap===2)t.adler=0,Fe(i,31),Fe(i,139),Fe(i,8),i.gzhead?(Fe(i,(i.gzhead.text?1:0)+(i.gzhead.hcrc?2:0)+(i.gzhead.extra?4:0)+(i.gzhead.name?8:0)+(i.gzhead.comment?16:0)),Fe(i,i.gzhead.time&255),Fe(i,i.gzhead.time>>8&255),Fe(i,i.gzhead.time>>16&255),Fe(i,i.gzhead.time>>24&255),Fe(i,i.level===9?2:i.strategy>=sd||i.level<2?4:0),Fe(i,i.gzhead.os&255),i.gzhead.extra&&i.gzhead.extra.length&&(Fe(i,i.gzhead.extra.length&255),Fe(i,i.gzhead.extra.length>>8&255)),i.gzhead.hcrc&&(t.adler=_s(t.adler,i.pending_buf,i.pending,0)),i.gzindex=0,i.status=bg):(Fe(i,0),Fe(i,0),Fe(i,0),Fe(i,0),Fe(i,0),Fe(i,i.level===9?2:i.strategy>=sd||i.level<2?4:0),Fe(i,aH),i.status=ha);else{var a=cd+(i.w_bits-8<<4)<<8,o=-1;i.strategy>=sd||i.level<2?o=0:i.level<6?o=1:i.level===6?o=2:o=3,a|=o<<6,i.strstart!==0&&(a|=sH),a+=31-a%31,i.status=ha,Cc(i,a),i.strstart!==0&&(Cc(i,t.adler>>>16),Cc(i,t.adler&65535)),t.adler=1}if(i.status===bg)if(i.gzhead.extra){for(n=i.pending;i.gzindex<(i.gzhead.extra.length&65535)&&!(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=_s(t.adler,i.pending_buf,i.pending-n,n)),xs(t),n=i.pending,i.pending===i.pending_buf_size));)Fe(i,i.gzhead.extra[i.gzindex]&255),i.gzindex++;i.gzhead.hcrc&&i.pending>n&&(t.adler=_s(t.adler,i.pending_buf,i.pending-n,n)),i.gzindex===i.gzhead.extra.length&&(i.gzindex=0,i.status=ad)}else i.status=ad;if(i.status===ad)if(i.gzhead.name){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=_s(t.adler,i.pending_buf,i.pending-n,n)),xs(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}i.gzindexn&&(t.adler=_s(t.adler,i.pending_buf,i.pending-n,n)),s===0&&(i.gzindex=0,i.status=od)}else i.status=od;if(i.status===od)if(i.gzhead.comment){n=i.pending;do{if(i.pending===i.pending_buf_size&&(i.gzhead.hcrc&&i.pending>n&&(t.adler=_s(t.adler,i.pending_buf,i.pending-n,n)),xs(t),n=i.pending,i.pending===i.pending_buf_size)){s=1;break}i.gzindexn&&(t.adler=_s(t.adler,i.pending_buf,i.pending-n,n)),s===0&&(i.status=ld)}else i.status=ld;if(i.status===ld&&(i.gzhead.hcrc?(i.pending+2>i.pending_buf_size&&xs(t),i.pending+2<=i.pending_buf_size&&(Fe(i,t.adler&255),Fe(i,t.adler>>8&255),t.adler=0,i.status=ha)):i.status=ha),i.pending!==0){if(xs(t),t.avail_out===0)return i.last_flush=-1,sn}else if(t.avail_in===0&&V1(e)<=V1(r)&&e!==As)return ks(t,vg);if(i.status===Pc&&t.avail_in!==0)return ks(t,vg);if(t.avail_in!==0||i.lookahead!==0||e!==ga&&i.status!==Pc){var l=i.strategy===sd?uH(i,e):i.strategy===VN?cH(i,e):Bo[i.level].func(i,e);if((l===pa||l===No)&&(i.status=Pc),l===Ct||l===pa)return t.avail_out===0&&(i.last_flush=-1),sn;if(l===Rc&&(e===UN?di._tr_align(i):e!==q1&&(di._tr_stored_block(i,0,0,!1),e===GN&&(Ss(i.head),i.lookahead===0&&(i.strstart=0,i.block_start=0,i.insert=0))),xs(t),t.avail_out===0))return i.last_flush=-1,sn}return e!==As?sn:i.wrap<=0?z1:(i.wrap===2?(Fe(i,t.adler&255),Fe(i,t.adler>>8&255),Fe(i,t.adler>>16&255),Fe(i,t.adler>>24&255),Fe(i,t.total_in&255),Fe(i,t.total_in>>8&255),Fe(i,t.total_in>>16&255),Fe(i,t.total_in>>24&255)):(Cc(i,t.adler>>>16),Cc(i,t.adler&65535)),xs(t),i.wrap>0&&(i.wrap=-i.wrap),i.pending!==0?sn:z1)}function gH(t){var e;return!t||!t.state?hi:(e=t.state.status,e!==ud&&e!==bg&&e!==ad&&e!==od&&e!==ld&&e!==ha&&e!==Pc?ks(t,hi):(t.state=null,e===ha?ks(t,jN):sn))}function vH(t,e){var r=e.length,i,n,s,a,o,l,c,u;if(!t||!t.state||(i=t.state,a=i.wrap,a===2||a===1&&i.status!==ud||i.lookahead))return hi;for(a===1&&(t.adler=W1(t.adler,e,r,0)),i.wrap=0,r>=i.w_size&&(a===0&&(Ss(i.head),i.strstart=0,i.block_start=0,i.insert=0),u=new dr.Buf8(i.w_size),dr.arraySet(u,e,r-i.w_size,i.w_size,0),e=u,r=i.w_size),o=t.avail_in,l=t.next_in,c=t.input,t.avail_in=r,t.next_in=0,t.input=e,ma(i);i.lookahead>=Ce;){n=i.strstart,s=i.lookahead-(Ce-1);do i.ins_h=(i.ins_h<{"use strict";p();var fd=Bn(),J1=!0,eS=!0;try{String.fromCharCode.apply(null,[0])}catch(t){J1=!1}try{String.fromCharCode.apply(null,new Uint8Array(1))}catch(t){eS=!1}var $c=new fd.Buf8(256);for(Hn=0;Hn<256;Hn++)$c[Hn]=Hn>=252?6:Hn>=248?5:Hn>=240?4:Hn>=224?3:Hn>=192?2:1;var Hn;$c[254]=$c[254]=1;Ho.string2buf=function(t){var e,r,i,n,s,a=t.length,o=0;for(n=0;n>>6,e[s++]=128|r&63):r<65536?(e[s++]=224|r>>>12,e[s++]=128|r>>>6&63,e[s++]=128|r&63):(e[s++]=240|r>>>18,e[s++]=128|r>>>12&63,e[s++]=128|r>>>6&63,e[s++]=128|r&63);return e};function tS(t,e){if(e<65534&&(t.subarray&&eS||!t.subarray&&J1))return String.fromCharCode.apply(null,fd.shrinkBuf(t,e));for(var r="",i=0;i4){o[i++]=65533,r+=s-1;continue}for(n&=s===2?31:s===3?15:7;s>1&&r1){o[i++]=65533;continue}n<65536?o[i++]=n:(n-=65536,o[i++]=55296|n>>10&1023,o[i++]=56320|n&1023)}return tS(o,i)};Ho.utf8border=function(t,e){var r;for(e=e||t.length,e>t.length&&(e=t.length),r=e-1;r>=0&&(t[r]&192)===128;)r--;return r<0||r===0?e:r+$c[t[r]]>e?r:e}});var xg=I((TX,rS)=>{"use strict";p();function wH(){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}rS.exports=wH});var aS=I(Oc=>{"use strict";p();var Ic=Q1(),Fc=Bn(),Eg=_g(),kg=nd(),yH=xg(),sS=Object.prototype.toString,bH=0,Sg=4,Uo=0,iS=1,nS=2,_H=-1,xH=0,SH=8;function va(t){if(!(this instanceof va))return new va(t);this.options=Fc.assign({level:_H,method:SH,chunkSize:16384,windowBits:15,memLevel:8,strategy:xH,to:""},t||{});var e=this.options;e.raw&&e.windowBits>0?e.windowBits=-e.windowBits:e.gzip&&e.windowBits>0&&e.windowBits<16&&(e.windowBits+=16),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new yH,this.strm.avail_out=0;var r=Ic.deflateInit2(this.strm,e.level,e.method,e.windowBits,e.memLevel,e.strategy);if(r!==Uo)throw new Error(kg[r]);if(e.header&&Ic.deflateSetHeader(this.strm,e.header),e.dictionary){var i;if(typeof e.dictionary=="string"?i=Eg.string2buf(e.dictionary):sS.call(e.dictionary)==="[object ArrayBuffer]"?i=new Uint8Array(e.dictionary):i=e.dictionary,r=Ic.deflateSetDictionary(this.strm,i),r!==Uo)throw new Error(kg[r]);this._dict_set=!0}}va.prototype.push=function(t,e){var r=this.strm,i=this.options.chunkSize,n,s;if(this.ended)return!1;s=e===~~e?e:e===!0?Sg:bH,typeof t=="string"?r.input=Eg.string2buf(t):sS.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Fc.Buf8(i),r.next_out=0,r.avail_out=i),n=Ic.deflate(r,s),n!==iS&&n!==Uo)return this.onEnd(n),this.ended=!0,!1;(r.avail_out===0||r.avail_in===0&&(s===Sg||s===nS))&&(this.options.to==="string"?this.onData(Eg.buf2binstring(Fc.shrinkBuf(r.output,r.next_out))):this.onData(Fc.shrinkBuf(r.output,r.next_out)))}while((r.avail_in>0||r.avail_out===0)&&n!==iS);return s===Sg?(n=Ic.deflateEnd(this.strm),this.onEnd(n),this.ended=!0,n===Uo):(s===nS&&(this.onEnd(Uo),r.avail_out=0),!0)};va.prototype.onData=function(t){this.chunks.push(t)};va.prototype.onEnd=function(t){t===Uo&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Fc.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Ag(t,e){var r=new va(e);if(r.push(t,!0),r.err)throw r.msg||kg[r.err];return r.result}function EH(t,e){return e=e||{},e.raw=!0,Ag(t,e)}function kH(t,e){return e=e||{},e.gzip=!0,Ag(t,e)}Oc.Deflate=va;Oc.deflate=Ag;Oc.deflateRaw=EH;Oc.gzip=kH});var lS=I(($X,oS)=>{"use strict";p();var dd=30,AH=12;oS.exports=function(e,r){var i,n,s,a,o,l,c,u,f,d,h,m,g,v,w,b,k,x,E,A,y,S,_,T,P;i=e.state,n=e.next_in,T=e.input,s=n+(e.avail_in-5),a=e.next_out,P=e.output,o=a-(r-e.avail_out),l=a+(e.avail_out-257),c=i.dmax,u=i.wsize,f=i.whave,d=i.wnext,h=i.window,m=i.hold,g=i.bits,v=i.lencode,w=i.distcode,b=(1<>>24,m>>>=E,g-=E,E=x>>>16&255,E===0)P[a++]=x&65535;else if(E&16){A=x&65535,E&=15,E&&(g>>=E,g-=E),g<15&&(m+=T[n++]<>>24,m>>>=E,g-=E,E=x>>>16&255,E&16){if(y=x&65535,E&=15,gc){e.msg="invalid distance too far back",i.mode=dd;break e}if(m>>>=E,g-=E,E=a-o,y>E){if(E=y-E,E>f&&i.sane){e.msg="invalid distance too far back",i.mode=dd;break e}if(S=0,_=h,d===0){if(S+=u-E,E2;)P[a++]=_[S++],P[a++]=_[S++],P[a++]=_[S++],A-=3;A&&(P[a++]=_[S++],A>1&&(P[a++]=_[S++]))}else{S=a-y;do P[a++]=P[S++],P[a++]=P[S++],P[a++]=P[S++],A-=3;while(A>2);A&&(P[a++]=P[S++],A>1&&(P[a++]=P[S++]))}}else if(E&64){e.msg="invalid distance code",i.mode=dd;break e}else{x=w[(x&65535)+(m&(1<>3,n-=A,g-=A<<3,m&=(1<{"use strict";p();var cS=Bn(),Go=15,uS=852,fS=592,dS=0,Tg=1,hS=2,TH=[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],CH=[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],PH=[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],RH=[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];pS.exports=function(e,r,i,n,s,a,o,l){var c=l.bits,u=0,f=0,d=0,h=0,m=0,g=0,v=0,w=0,b=0,k=0,x,E,A,y,S,_=null,T=0,P,D=new cS.Buf16(Go+1),B=new cS.Buf16(Go+1),N=null,ce=0,Pe,ve,se;for(u=0;u<=Go;u++)D[u]=0;for(f=0;f=1&&D[h]===0;h--);if(m>h&&(m=h),h===0)return s[a++]=1<<24|64<<16|0,s[a++]=1<<24|64<<16|0,l.bits=1,0;for(d=1;d0&&(e===dS||h!==1))return-1;for(B[1]=0,u=1;uuS||e===hS&&b>fS)return 1;for(;;){Pe=u-v,o[f]P?(ve=N[ce+o[f]],se=_[T+o[f]]):(ve=96,se=0),x=1<>v)+E]=Pe<<24|ve<<16|se|0;while(E!==0);for(x=1<>=1;if(x!==0?(k&=x-1,k+=x):k=0,f++,--D[u]===0){if(u===h)break;u=r[i+o[f]]}if(u>m&&(k&y)!==A){for(v===0&&(v=m),S+=d,g=u-v,w=1<uS||e===hS&&b>fS)return 1;A=k&y,s[A]=m<<24|g<<16|S-a|0}}return k!==0&&(s[S+k]=u-v<<24|64<<16|0),l.bits=m,0}});var ZS=I(Ri=>{"use strict";p();var Xr=Bn(),Fg=mg(),on=gg(),$H=lS(),Mc=mS(),IH=0,US=1,GS=2,gS=4,FH=5,hd=6,wa=0,OH=1,MH=2,pi=-2,jS=-3,Og=-4,DH=-5,vS=8,qS=1,wS=2,yS=3,bS=4,_S=5,xS=6,SS=7,ES=8,kS=9,AS=10,gd=11,Un=12,Cg=13,TS=14,Pg=15,CS=16,PS=17,RS=18,$S=19,pd=20,md=21,IS=22,FS=23,OS=24,MS=25,DS=26,Rg=27,LS=28,BS=29,tt=30,Mg=31,LH=32,BH=852,NH=592,HH=15,UH=HH;function NS(t){return(t>>>24&255)+(t>>>8&65280)+((t&65280)<<8)+((t&255)<<24)}function GH(){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 Xr.Buf16(320),this.work=new Xr.Buf16(288),this.lendyn=null,this.distdyn=null,this.sane=0,this.back=0,this.was=0}function zS(t){var e;return!t||!t.state?pi:(e=t.state,t.total_in=t.total_out=e.total=0,t.msg="",e.wrap&&(t.adler=e.wrap&1),e.mode=qS,e.last=0,e.havedict=0,e.dmax=32768,e.head=null,e.hold=0,e.bits=0,e.lencode=e.lendyn=new Xr.Buf32(BH),e.distcode=e.distdyn=new Xr.Buf32(NH),e.sane=1,e.back=-1,wa)}function VS(t){var e;return!t||!t.state?pi:(e=t.state,e.wsize=0,e.whave=0,e.wnext=0,zS(t))}function WS(t,e){var r,i;return!t||!t.state||(i=t.state,e<0?(r=0,e=-e):(r=(e>>4)+1,e<48&&(e&=15)),e&&(e<8||e>15))?pi:(i.window!==null&&i.wbits!==e&&(i.window=null),i.wrap=r,i.wbits=e,VS(t))}function YS(t,e){var r,i;return t?(i=new GH,t.state=i,i.window=null,r=WS(t,e),r!==wa&&(t.state=null),r):pi}function jH(t){return YS(t,UH)}var HS=!0,$g,Ig;function qH(t){if(HS){var e;for($g=new Xr.Buf32(512),Ig=new Xr.Buf32(32),e=0;e<144;)t.lens[e++]=8;for(;e<256;)t.lens[e++]=9;for(;e<280;)t.lens[e++]=7;for(;e<288;)t.lens[e++]=8;for(Mc(US,t.lens,0,288,$g,0,t.work,{bits:9}),e=0;e<32;)t.lens[e++]=5;Mc(GS,t.lens,0,32,Ig,0,t.work,{bits:5}),HS=!1}t.lencode=$g,t.lenbits=9,t.distcode=Ig,t.distbits=5}function XS(t,e,r,i){var n,s=t.state;return s.window===null&&(s.wsize=1<=s.wsize?(Xr.arraySet(s.window,e,r-s.wsize,s.wsize,0),s.wnext=0,s.whave=s.wsize):(n=s.wsize-s.wnext,n>i&&(n=i),Xr.arraySet(s.window,e,r-i,n,s.wnext),i-=n,i?(Xr.arraySet(s.window,e,r-i,i,0),s.wnext=i,s.whave=s.wsize):(s.wnext+=n,s.wnext===s.wsize&&(s.wnext=0),s.whave>>8&255,r.check=on(r.check,_,2,0),c=0,u=0,r.mode=wS;break}if(r.flags=0,r.head&&(r.head.done=!1),!(r.wrap&1)||(((c&255)<<8)+(c>>8))%31){t.msg="incorrect header check",r.mode=tt;break}if((c&15)!==vS){t.msg="unknown compression method",r.mode=tt;break}if(c>>>=4,u-=4,y=(c&15)+8,r.wbits===0)r.wbits=y;else if(y>r.wbits){t.msg="invalid window size",r.mode=tt;break}r.dmax=1<>8&1),r.flags&512&&(_[0]=c&255,_[1]=c>>>8&255,r.check=on(r.check,_,2,0)),c=0,u=0,r.mode=yS;case yS:for(;u<32;){if(o===0)break e;o--,c+=i[s++]<>>8&255,_[2]=c>>>16&255,_[3]=c>>>24&255,r.check=on(r.check,_,4,0)),c=0,u=0,r.mode=bS;case bS:for(;u<16;){if(o===0)break e;o--,c+=i[s++]<>8),r.flags&512&&(_[0]=c&255,_[1]=c>>>8&255,r.check=on(r.check,_,2,0)),c=0,u=0,r.mode=_S;case _S:if(r.flags&1024){for(;u<16;){if(o===0)break e;o--,c+=i[s++]<>>8&255,r.check=on(r.check,_,2,0)),c=0,u=0}else r.head&&(r.head.extra=null);r.mode=xS;case xS:if(r.flags&1024&&(h=r.length,h>o&&(h=o),h&&(r.head&&(y=r.head.extra_len-r.length,r.head.extra||(r.head.extra=new Array(r.head.extra_len)),Xr.arraySet(r.head.extra,i,s,h,y)),r.flags&512&&(r.check=on(r.check,i,h,s)),o-=h,s+=h,r.length-=h),r.length))break e;r.length=0,r.mode=SS;case SS:if(r.flags&2048){if(o===0)break e;h=0;do y=i[s+h++],r.head&&y&&r.length<65536&&(r.head.name+=String.fromCharCode(y));while(y&&h>9&1,r.head.done=!0),t.adler=r.check=0,r.mode=Un;break;case AS:for(;u<32;){if(o===0)break e;o--,c+=i[s++]<>>=u&7,u-=u&7,r.mode=Rg;break}for(;u<3;){if(o===0)break e;o--,c+=i[s++]<>>=1,u-=1,c&3){case 0:r.mode=TS;break;case 1:if(qH(r),r.mode=pd,e===hd){c>>>=2,u-=2;break e}break;case 2:r.mode=PS;break;case 3:t.msg="invalid block type",r.mode=tt}c>>>=2,u-=2;break;case TS:for(c>>>=u&7,u-=u&7;u<32;){if(o===0)break e;o--,c+=i[s++]<>>16^65535)){t.msg="invalid stored block lengths",r.mode=tt;break}if(r.length=c&65535,c=0,u=0,r.mode=Pg,e===hd)break e;case Pg:r.mode=CS;case CS:if(h=r.length,h){if(h>o&&(h=o),h>l&&(h=l),h===0)break e;Xr.arraySet(n,i,s,h,a),o-=h,s+=h,l-=h,a+=h,r.length-=h;break}r.mode=Un;break;case PS:for(;u<14;){if(o===0)break e;o--,c+=i[s++]<>>=5,u-=5,r.ndist=(c&31)+1,c>>>=5,u-=5,r.ncode=(c&15)+4,c>>>=4,u-=4,r.nlen>286||r.ndist>30){t.msg="too many length or distance symbols",r.mode=tt;break}r.have=0,r.mode=RS;case RS:for(;r.have>>=3,u-=3}for(;r.have<19;)r.lens[D[r.have++]]=0;if(r.lencode=r.lendyn,r.lenbits=7,T={bits:r.lenbits},S=Mc(IH,r.lens,0,19,r.lencode,0,r.work,T),r.lenbits=T.bits,S){t.msg="invalid code lengths set",r.mode=tt;break}r.have=0,r.mode=$S;case $S:for(;r.have>>24,b=v>>>16&255,k=v&65535,!(w<=u);){if(o===0)break e;o--,c+=i[s++]<>>=w,u-=w,r.lens[r.have++]=k;else{if(k===16){for(P=w+2;u>>=w,u-=w,r.have===0){t.msg="invalid bit length repeat",r.mode=tt;break}y=r.lens[r.have-1],h=3+(c&3),c>>>=2,u-=2}else if(k===17){for(P=w+3;u>>=w,u-=w,y=0,h=3+(c&7),c>>>=3,u-=3}else{for(P=w+7;u>>=w,u-=w,y=0,h=11+(c&127),c>>>=7,u-=7}if(r.have+h>r.nlen+r.ndist){t.msg="invalid bit length repeat",r.mode=tt;break}for(;h--;)r.lens[r.have++]=y}}if(r.mode===tt)break;if(r.lens[256]===0){t.msg="invalid code -- missing end-of-block",r.mode=tt;break}if(r.lenbits=9,T={bits:r.lenbits},S=Mc(US,r.lens,0,r.nlen,r.lencode,0,r.work,T),r.lenbits=T.bits,S){t.msg="invalid literal/lengths set",r.mode=tt;break}if(r.distbits=6,r.distcode=r.distdyn,T={bits:r.distbits},S=Mc(GS,r.lens,r.nlen,r.ndist,r.distcode,0,r.work,T),r.distbits=T.bits,S){t.msg="invalid distances set",r.mode=tt;break}if(r.mode=pd,e===hd)break e;case pd:r.mode=md;case md:if(o>=6&&l>=258){t.next_out=a,t.avail_out=l,t.next_in=s,t.avail_in=o,r.hold=c,r.bits=u,$H(t,d),a=t.next_out,n=t.output,l=t.avail_out,s=t.next_in,i=t.input,o=t.avail_in,c=r.hold,u=r.bits,r.mode===Un&&(r.back=-1);break}for(r.back=0;v=r.lencode[c&(1<>>24,b=v>>>16&255,k=v&65535,!(w<=u);){if(o===0)break e;o--,c+=i[s++]<>x)],w=v>>>24,b=v>>>16&255,k=v&65535,!(x+w<=u);){if(o===0)break e;o--,c+=i[s++]<>>=x,u-=x,r.back+=x}if(c>>>=w,u-=w,r.back+=w,r.length=k,b===0){r.mode=DS;break}if(b&32){r.back=-1,r.mode=Un;break}if(b&64){t.msg="invalid literal/length code",r.mode=tt;break}r.extra=b&15,r.mode=IS;case IS:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}r.was=r.length,r.mode=FS;case FS:for(;v=r.distcode[c&(1<>>24,b=v>>>16&255,k=v&65535,!(w<=u);){if(o===0)break e;o--,c+=i[s++]<>x)],w=v>>>24,b=v>>>16&255,k=v&65535,!(x+w<=u);){if(o===0)break e;o--,c+=i[s++]<>>=x,u-=x,r.back+=x}if(c>>>=w,u-=w,r.back+=w,b&64){t.msg="invalid distance code",r.mode=tt;break}r.offset=k,r.extra=b&15,r.mode=OS;case OS:if(r.extra){for(P=r.extra;u>>=r.extra,u-=r.extra,r.back+=r.extra}if(r.offset>r.dmax){t.msg="invalid distance too far back",r.mode=tt;break}r.mode=MS;case MS:if(l===0)break e;if(h=d-l,r.offset>h){if(h=r.offset-h,h>r.whave&&r.sane){t.msg="invalid distance too far back",r.mode=tt;break}h>r.wnext?(h-=r.wnext,m=r.wsize-h):m=r.wnext-h,h>r.length&&(h=r.length),g=r.window}else g=n,m=a-r.offset,h=r.length;h>l&&(h=l),l-=h,r.length-=h;do n[a++]=g[m++];while(--h);r.length===0&&(r.mode=md);break;case DS:if(l===0)break e;n[a++]=r.length,l--,r.mode=md;break;case Rg:if(r.wrap){for(;u<32;){if(o===0)break e;o--,c|=i[s++]<{"use strict";p();KS.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}});var JS=I((NX,QS)=>{"use strict";p();function XH(){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}QS.exports=XH});var tE=I(Lc=>{"use strict";p();var jo=ZS(),Dc=Bn(),vd=_g(),pt=Dg(),Lg=nd(),ZH=xg(),KH=JS(),eE=Object.prototype.toString;function ya(t){if(!(this instanceof ya))return new ya(t);this.options=Dc.assign({chunkSize:16384,windowBits:0,to:""},t||{});var e=this.options;e.raw&&e.windowBits>=0&&e.windowBits<16&&(e.windowBits=-e.windowBits,e.windowBits===0&&(e.windowBits=-15)),e.windowBits>=0&&e.windowBits<16&&!(t&&t.windowBits)&&(e.windowBits+=32),e.windowBits>15&&e.windowBits<48&&(e.windowBits&15||(e.windowBits|=15)),this.err=0,this.msg="",this.ended=!1,this.chunks=[],this.strm=new ZH,this.strm.avail_out=0;var r=jo.inflateInit2(this.strm,e.windowBits);if(r!==pt.Z_OK)throw new Error(Lg[r]);if(this.header=new KH,jo.inflateGetHeader(this.strm,this.header),e.dictionary&&(typeof e.dictionary=="string"?e.dictionary=vd.string2buf(e.dictionary):eE.call(e.dictionary)==="[object ArrayBuffer]"&&(e.dictionary=new Uint8Array(e.dictionary)),e.raw&&(r=jo.inflateSetDictionary(this.strm,e.dictionary),r!==pt.Z_OK)))throw new Error(Lg[r])}ya.prototype.push=function(t,e){var r=this.strm,i=this.options.chunkSize,n=this.options.dictionary,s,a,o,l,c,u=!1;if(this.ended)return!1;a=e===~~e?e:e===!0?pt.Z_FINISH:pt.Z_NO_FLUSH,typeof t=="string"?r.input=vd.binstring2buf(t):eE.call(t)==="[object ArrayBuffer]"?r.input=new Uint8Array(t):r.input=t,r.next_in=0,r.avail_in=r.input.length;do{if(r.avail_out===0&&(r.output=new Dc.Buf8(i),r.next_out=0,r.avail_out=i),s=jo.inflate(r,pt.Z_NO_FLUSH),s===pt.Z_NEED_DICT&&n&&(s=jo.inflateSetDictionary(this.strm,n)),s===pt.Z_BUF_ERROR&&u===!0&&(s=pt.Z_OK,u=!1),s!==pt.Z_STREAM_END&&s!==pt.Z_OK)return this.onEnd(s),this.ended=!0,!1;r.next_out&&(r.avail_out===0||s===pt.Z_STREAM_END||r.avail_in===0&&(a===pt.Z_FINISH||a===pt.Z_SYNC_FLUSH))&&(this.options.to==="string"?(o=vd.utf8border(r.output,r.next_out),l=r.next_out-o,c=vd.buf2string(r.output,o),r.next_out=l,r.avail_out=i-l,l&&Dc.arraySet(r.output,r.output,o,l,0),this.onData(c)):this.onData(Dc.shrinkBuf(r.output,r.next_out))),r.avail_in===0&&r.avail_out===0&&(u=!0)}while((r.avail_in>0||r.avail_out===0)&&s!==pt.Z_STREAM_END);return s===pt.Z_STREAM_END&&(a=pt.Z_FINISH),a===pt.Z_FINISH?(s=jo.inflateEnd(this.strm),this.onEnd(s),this.ended=!0,s===pt.Z_OK):(a===pt.Z_SYNC_FLUSH&&(this.onEnd(pt.Z_OK),r.avail_out=0),!0)};ya.prototype.onData=function(t){this.chunks.push(t)};ya.prototype.onEnd=function(t){t===pt.Z_OK&&(this.options.to==="string"?this.result=this.chunks.join(""):this.result=Dc.flattenChunks(this.chunks)),this.chunks=[],this.err=t,this.msg=this.strm.msg};function Bg(t,e){var r=new ya(e);if(r.push(t,!0),r.err)throw r.msg||Lg[r.err];return r.result}function QH(t,e){return e=e||{},e.raw=!0,Bg(t,e)}Lc.Inflate=ya;Lc.inflate=Bg;Lc.inflateRaw=QH;Lc.ungzip=Bg});var nE=I((jX,iE)=>{"use strict";p();var JH=Bn().assign,e3=aS(),t3=tE(),r3=Dg(),rE={};JH(rE,e3,t3,r3);iE.exports=rE});var oE=I((zX,aE)=>{"use strict";p();var sE=(t,e)=>function(...r){let i=e.promiseModule;return new i((n,s)=>{e.multiArgs?r.push((...a)=>{e.errorFirst?a[0]?s(a):(a.shift(),n(a)):n(a)}):e.errorFirst?r.push((a,o)=>{a?s(a):n(o)}):r.push(n),t.apply(this,r)})};aE.exports=(t,e)=>{e=Object.assign({exclude:[/.+(Sync|Stream)$/],errorFirst:!0,promiseModule:Promise},e);let r=typeof t;if(!(t!==null&&(r==="object"||r==="function")))throw new TypeError(`Expected \`input\` to be a \`Function\` or \`Object\`, got \`${t===null?"null":r}\``);let i=s=>{let a=o=>typeof o=="string"?s===o:o.test(s);return e.include?e.include.some(a):!e.exclude.some(a)},n;r==="function"?n=function(...s){return e.excludeMain?t(...s):sE(t,e).apply(this,s)}:n=Object.create(Object.getPrototypeOf(t));for(let s in t){let a=t[s];n[s]=typeof a=="function"&&i(s)?sE(a,e):a}return n}});var gE=I((WX,mE)=>{p();function lE(t){return Array.isArray(t)?t:[t]}var Ug="",cE=" ",Ng="\\",i3=/^\s+$/,n3=/(?:[^\\]|^)\\$/,s3=/^\\!/,a3=/^\\#/,o3=/\r?\n/g,l3=/^\.*\/|^\.+$/,Hg="/",dE="node-ignore";typeof Symbol!="undefined"&&(dE=Symbol.for("node-ignore"));var uE=dE,c3=(t,e,r)=>Object.defineProperty(t,e,{value:r}),u3=/([0-z])-([0-z])/g,hE=()=>!1,f3=t=>t.replace(u3,(e,r,i)=>r.charCodeAt(0)<=i.charCodeAt(0)?e:Ug),d3=t=>{let{length:e}=t;return t.slice(0,e-e%2)},h3=[[/^\uFEFF/,()=>Ug],[/((?:\\\\)*?)(\\?\s+)$/,(t,e,r)=>e+(r.indexOf("\\")===0?cE:Ug)],[/(\\+?)\s/g,(t,e)=>{let{length:r}=e;return e.slice(0,r-r%2)+cE}],[/[\\$.|*+(){^]/g,t=>`\\${t}`],[/(?!\\)\?/g,()=>"[^/]"],[/^\//,()=>"^"],[/\//g,()=>"\\/"],[/^\^*\\\*\\\*\\\//,()=>"^(?:.*\\/)?"],[/^(?=[^^])/,function(){return/\/(?!$)/.test(this)?"^":"(?:^|\\/)"}],[/\\\/\\\*\\\*(?=\\\/|$)/g,(t,e,r)=>e+6{let i=r.replace(/\\\*/g,"[^\\/]*");return e+i}],[/\\\\\\(?=[$.|*+(){^])/g,()=>Ng],[/\\\\/g,()=>Ng],[/(\\)?\[([^\]/]*?)(\\*)($|\])/g,(t,e,r,i,n)=>e===Ng?`\\[${r}${d3(i)}${n}`:n==="]"&&i.length%2===0?`[${f3(r)}${i}]`:"[]"],[/(?:[^*])$/,t=>/\/$/.test(t)?`${t}$`:`${t}(?=$|\\/$)`],[/(\^|\\\/)?\\\*$/,(t,e)=>`${e?`${e}[^/]+`:"[^/]*"}(?=$|\\/$)`]],fE=Object.create(null),p3=(t,e)=>{let r=fE[t];return r||(r=h3.reduce((i,[n,s])=>i.replace(n,s.bind(t)),t),fE[t]=r),e?new RegExp(r,"i"):new RegExp(r)},qg=t=>typeof t=="string",m3=t=>t&&qg(t)&&!i3.test(t)&&!n3.test(t)&&t.indexOf("#")!==0,g3=t=>t.split(o3),Gg=class{constructor(e,r,i,n){this.origin=e,this.pattern=r,this.negative=i,this.regex=n}},v3=(t,e)=>{let r=t,i=!1;t.indexOf("!")===0&&(i=!0,t=t.substr(1)),t=t.replace(s3,"!").replace(a3,"#");let n=p3(t,e);return new Gg(r,t,i,n)},w3=(t,e)=>{throw new e(t)},Gn=(t,e,r)=>qg(t)?t?Gn.isNotRelative(t)?r(`path should be a \`path.relative()\`d string, but got "${e}"`,RangeError):!0:r("path must not be empty",TypeError):r(`path must be a string, but got \`${e}\``,TypeError),pE=t=>l3.test(t);Gn.isNotRelative=pE;Gn.convert=t=>t;var jg=class{constructor({ignorecase:e=!0,ignoreCase:r=e,allowRelativePaths:i=!1}={}){c3(this,uE,!0),this._rules=[],this._ignoreCase=r,this._allowRelativePaths=i,this._initCache()}_initCache(){this._ignoreCache=Object.create(null),this._testCache=Object.create(null)}_addPattern(e){if(e&&e[uE]){this._rules=this._rules.concat(e._rules),this._added=!0;return}if(m3(e)){let r=v3(e,this._ignoreCase);this._added=!0,this._rules.push(r)}}add(e){return this._added=!1,lE(qg(e)?g3(e):e).forEach(this._addPattern,this),this._added&&this._initCache(),this}addPattern(e){return this.add(e)}_testOne(e,r){let i=!1,n=!1;return this._rules.forEach(s=>{let{negative:a}=s;if(n===a&&i!==n||a&&!i&&!n&&!r)return;s.regex.test(e)&&(i=!a,n=a)}),{ignored:i,unignored:n}}_test(e,r,i,n){let s=e&&Gn.convert(e);return Gn(s,e,this._allowRelativePaths?hE:w3),this._t(s,r,i,n)}_t(e,r,i,n){if(e in r)return r[e];if(n||(n=e.split(Hg)),n.pop(),!n.length)return r[e]=this._testOne(e,i);let s=this._t(n.join(Hg)+Hg,r,i,n);return r[e]=s.ignored?s:this._testOne(e,i)}ignores(e){return this._test(e,this._ignoreCache,!1).ignored}createFilter(){return e=>!this.ignores(e)}filter(e){return lE(e).filter(this.createFilter())}test(e){return this._test(e,this._testCache,!0)}},wd=t=>new jg(t),y3=t=>Gn(t&&Gn.convert(t),t,hE);wd.isPathValid=y3;wd.default=wd;mE.exports=wd;if(typeof process!="undefined"&&(process.env&&process.env.IGNORE_TEST_WIN32||process.platform==="win32")){let t=r=>/^\\\\\?\\/.test(r)||/["<>|\u0000-\u001F]+/u.test(r)?r:r.replace(/\\/g,"/");Gn.convert=t;let e=/^[a-z]:\//i;Gn.isNotRelative=r=>e.test(r)||pE(r)}});var wE=I((XX,vE)=>{"use strict";p();function b3(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function ln(t,e,r){return e=e instanceof RegExp?e:new RegExp(b3(e),"g"),t.replace(e,r)}var _3={clean:function(e){if(typeof e!="string")throw new Error("Expected a string, received: "+e);return e=ln(e,"./","/"),e=ln(e,"..","."),e=ln(e," ","-"),e=ln(e,/^[~^:?*\\\-]/g,""),e=ln(e,/[~^:?*\\]/g,"-"),e=ln(e,/[~^:?*\\\-]$/g,""),e=ln(e,"@{","-"),e=ln(e,/\.$/g,""),e=ln(e,/\/$/g,""),e=ln(e,/\.lock$/g,""),e}};vE.exports=_3});var bE=I((KX,yE)=>{p();yE.exports=function(t,e){var r=t,i=e,n=r.length,s=i.length,a=!1,o=null,l=n+1,c=[],u=[],f=[],d="",h=-1,m=0,g=1,v,w,b=function(){n>=s&&(v=r,w=n,r=i,i=v,n=s,s=w,a=!0,l=n+1)},k=function(y,S,_){return{x:y,y:S,k:_}},x=function(y,S){return{elem:y,t:S}},E=function(y,S,_){var T,P,D;for(S>_?T=c[y-1+l]:T=c[y+1+l],D=Math.max(S,_),P=D-y;P=0;--D)for(;TP-T?(a?f[f.length]=new x(i[P],h):f[f.length]=new x(i[P],g),++_,++P):y[D].y-y[D].x=y+1;--N)_[N+l]=E(N,_[N-1+l]+1,_[N+1+l]);_[y+l]=E(y,_[y-1+l]+1,_[y+1+l])}while(_[y+l]!==s);for(o=y+2*T,P=c[y+l],D=[];P!==-1;)D[D.length]=new k(u[P].x,u[P].y,null),P=u[P].k;A(D)}}}});var SE=I((JX,xE)=>{p();var x3=bE();function S3(t,e){var r=new x3(t,e);r.compose();for(var i=r.getses(),n,s,a=t.length-1,o=e.length-1,l=i.length-1;l>=0;--l)i[l].t===r.SES_COMMON?(s?(s.chain={file1index:a,file2index:o,chain:null},s=s.chain):(n={file1index:a,file2index:o,chain:null},s=n),a--,o--):i[l].t===r.SES_DELETE?a--:i[l].t===r.SES_ADD&&o--;var c={file1index:-1,file2index:-1,chain:null};return s?(s.chain=c,n):c}function _E(t,e){for(var r=[],i=t.length,n=e.length,s=S3(t,e);s!==null;s=s.chain){var a=i-s.file1index-1,o=n-s.file2index-1;i=s.file1index,n=s.file2index,(a||o)&&r.push({file1:[i+1,a],file2:[n+1,o]})}return r.reverse(),r}function E3(t,e,r){var i,n=_E(e,t),s=_E(e,r),a=[];function o(B,N){a.push([B.file1[0],N,B.file1[1],B.file2[0],B.file2[1]])}for(i=0;ic&&(l.push([1,c,B-c]),c=B)}for(var f=0;fg)break;g=Math.max(g,w+v[2]),f++}if(u(m),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var b={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(i=d;i<=f;i++){h=a[i];var k=h[1],x=b[k],E=h[0],A=E+h[2],y=h[3],S=y+h[4];x[0]=Math.min(y,x[0]),x[1]=Math.max(S,x[1]),x[2]=Math.min(E,x[2]),x[3]=Math.max(A,x[3])}var _=b[0][0]+(m-b[0][2]),T=b[0][1]+(g-b[0][3]),P=b[2][0]+(m-b[2][2]),D=b[2][1]+(g-b[2][3]);l.push([-1,_,T-_,m,g-m,P,D-P])}c=g}return u(e.length),l}function k3(t,e,r){var i=[],n=[t,e,r],s=E3(t,e,r),a=[];function o(){a.length&&i.push({ok:a}),a=[]}function l(h){for(var m=0;m{"use strict";p();Object.defineProperty(X,"__esModule",{value:!0});function Ms(t){return t&&typeof t=="object"&&"default"in t?t.default:t}var Nc=Ms(u_()),VE=Ms(m1()),A3=Ms(v1()),mv=Ms(nE()),yd=Ms(oE()),T3=Ms(gE()),Hc=Ms(wE()),C3=Ms(SE()),Re=class t extends Error{constructor(e){super(e),this.caller=""}toJSON(){return{code:this.code,data:this.data,caller:this.caller,message:this.message,stack:this.stack}}fromJSON(e){let r=new t(e.message);return r.code=e.code,r.data=e.data,r.caller=e.caller,r.stack=e.stack,r}get isIsomorphicGitError(){return!0}},Uc=class t extends Re{constructor(e){super(`Modifying the index is not possible because you have unmerged files: ${e.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=t.code,this.data={filepaths:e}}};Uc.code="UnmergedPathsError";var he=class t extends Re{constructor(e){super(`An internal error caused this command to fail. + +If you're not a developer, report the bug to the developers of the application you're using. If this is a bug in isomorphic-git then you should create a proper bug yourselves. The bug should include a minimal reproduction and details about the version and environment. + +Please file a bug report at https://github.com/isomorphic-git/isomorphic-git/issues with this error message: ${e}`),this.code=this.name=t.code,this.data={message:e}}};he.code="InternalError";var zo=class t extends Re{constructor(e){super(`The filepath "${e}" contains unsafe character sequences`),this.code=this.name=t.code,this.data={filepath:e}}};zo.code="UnsafeFilepathError";var mi=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 r=this.buffer.slice(this._start,this._start+e);return this._start+=e,r}toString(e,r){let i=this.buffer.toString(e,this._start,this._start+r);return this._start+=r,i}write(e,r,i){let n=this.buffer.write(e,this._start,r,i);return this._start+=r,n}copy(e,r,i){let n=e.copy(this.buffer,this._start,r,i);return this._start+=n,n}readUInt8(){let e=this.buffer.readUInt8(this._start);return this._start+=1,e}writeUInt8(e){let r=this.buffer.writeUInt8(e,this._start);return this._start+=1,r}readUInt16BE(){let e=this.buffer.readUInt16BE(this._start);return this._start+=2,e}writeUInt16BE(e){let r=this.buffer.writeUInt16BE(e,this._start);return this._start+=2,r}readUInt32BE(){let e=this.buffer.readUInt32BE(this._start);return this._start+=4,e}writeUInt32BE(e){let r=this.buffer.writeUInt32BE(e,this._start);return this._start+=4,r}};function Id(t,e){return-(te)}function WE(t,e){return Id(t.path,e.path)}function YE(t){let e=t>0?t>>12:0;e!==4&&e!==8&&e!==10&&e!==14&&(e=8);let r=t&511;return r&73?r=493:r=420,e!==8&&(r=0),(e<<12)+r}var cn=2**32;function EE(t,e,r,i){if(t!==void 0&&e!==void 0)return[t,e];r===void 0&&(r=i.valueOf());let n=Math.floor(r/1e3),s=(r-n*1e3)*1e6;return[n,s]}function Vo(t){let[e,r]=EE(t.ctimeSeconds,t.ctimeNanoseconds,t.ctimeMs,t.ctime),[i,n]=EE(t.mtimeSeconds,t.mtimeNanoseconds,t.mtimeMs,t.mtime);return{ctimeSeconds:e%cn,ctimeNanoseconds:r%cn,mtimeSeconds:i%cn,mtimeNanoseconds:n%cn,dev:t.dev%cn,ino:t.ino%cn,mode:YE(t.mode%cn),uid:t.uid%cn,gid:t.gid%cn,size:t.size>-1?t.size%cn:0}}function P3(t){let e="";for(let r of new Uint8Array(t))r<16&&(e+="0"),e+=r.toString(16);return e}var zg=null;async function qn(t){return zg===null&&(zg=await $3()),zg?XE(t):R3(t)}function R3(t){return new VE().update(t).digest("hex")}async function XE(t){let e=await crypto.subtle.digest("SHA-1",t);return P3(e)}async function $3(){try{return await XE(new Uint8Array([]))==="da39a3ee5e6b4b0d3255bfef95601890afd80709"}catch(t){}return!1}function I3(t){return{assumeValid:!!(t&32768),extended:!!(t&16384),stage:(t&12288)>>12,nameLength:t&4095}}function F3(t){let e=t.flags;return e.extended=!1,e.nameLength=Math.min(Buffer.from(t.path).length,4095),(e.assumeValid?32768:0)+(e.extended?16384:0)+((e.stage&3)<<12)+(e.nameLength&4095)}var iv=class t{constructor(e,r){this._dirty=!1,this._unmergedPaths=r||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 r=this._entries.get(e.path);r||(this._entries.set(e.path,e),r=e),r.stages[e.flags.stage]=e,this._unmergedPaths.add(e.path)}}static async from(e){if(Buffer.isBuffer(e))return t.fromBuffer(e);if(e===null)return new t(null);throw new he("invalid type passed to GitIndex.from")}static async fromBuffer(e){if(e.length===0)throw new he("Index file is empty (.git/index)");let r=new t,i=new mi(e),n=i.toString("utf8",4);if(n!=="DIRC")throw new he(`Invalid dircache magic file number: ${n}`);let s=await qn(e.slice(0,-20)),a=e.slice(-20).toString("hex");if(a!==s)throw new he(`Invalid checksum in GitIndex buffer: expected ${a} but saw ${s}`);let o=i.readUInt32BE();if(o!==2)throw new he(`Unsupported dircache version: ${o}`);let l=i.readUInt32BE(),c=0;for(;!i.eof()&&ce.stages.length>1?e.stages.filter(r=>r):e)}*[Symbol.iterator](){for(let e of this.entries)yield e}insert({filepath:e,stats:r,oid:i,stage:n=0}){r||(r={ctimeSeconds:0,ctimeNanoseconds:0,mtimeSeconds:0,mtimeNanoseconds:0,dev:0,ino:0,mode:0,uid:0,gid:0,size:0}),r=Vo(r);let s=Buffer.from(e),a={ctimeSeconds:r.ctimeSeconds,ctimeNanoseconds:r.ctimeNanoseconds,mtimeSeconds:r.mtimeSeconds,mtimeNanoseconds:r.mtimeNanoseconds,dev:r.dev,ino:r.ino,mode:r.mode||33188,uid:r.uid,gid:r.gid,size:r.size,path:e,oid:i,flags:{assumeValid:!1,extended:!1,stage:n,nameLength:s.length<4095?s.length:4095},stages:[]};this._addEntry(a),this._dirty=!0}delete({filepath:e}){if(this._entries.has(e))this._entries.delete(e);else for(let r of this._entries.keys())r.startsWith(e+"/")&&this._entries.delete(r);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(` +`)}static async _entryToBuffer(e){let r=Buffer.from(e.path),i=Math.ceil((62+r.length+1)/8)*8,n=Buffer.alloc(i),s=new mi(n),a=Vo(e);return s.writeUInt32BE(a.ctimeSeconds),s.writeUInt32BE(a.ctimeNanoseconds),s.writeUInt32BE(a.mtimeSeconds),s.writeUInt32BE(a.mtimeNanoseconds),s.writeUInt32BE(a.dev),s.writeUInt32BE(a.ino),s.writeUInt32BE(a.mode),s.writeUInt32BE(a.uid),s.writeUInt32BE(a.gid),s.writeUInt32BE(a.size),s.write(e.oid,20,"hex"),s.writeUInt16BE(F3(e)),s.write(e.path,r.length,"utf8"),n}async toObject(){let e=Buffer.alloc(12),r=new mi(e);r.write("DIRC",4,"utf8"),r.writeUInt32BE(2),r.writeUInt32BE(this.entriesFlat.length);let i=[];for(let o of this.entries)if(i.push(t._entryToBuffer(o)),o.stages.length>1)for(let l of o.stages)l&&l!==o&&i.push(t._entryToBuffer(l));i=await Promise.all(i);let n=Buffer.concat(i),s=Buffer.concat([e,n]),a=await qn(s);return Buffer.concat([s,Buffer.from(a,"hex")])}};function xd(t,e,r=!0,i=!0){let n=Vo(t),s=Vo(e);return r&&n.mode!==s.mode||n.mtimeSeconds!==s.mtimeSeconds||n.ctimeSeconds!==s.ctimeSeconds||n.uid!==s.uid||n.gid!==s.gid||i&&n.ino!==s.ino||n.size!==s.size}var Vg=null,Wg=Symbol("IndexCache");function O3(){return{map:new Map,stats:new Map}}async function M3(t,e,r){let[i,n]=await Promise.all([t.lstat(e),t.read(e)]),s=await iv.from(n);r.map.set(e,s),r.stats.set(e,i)}async function D3(t,e,r){let i=r.stats.get(e);if(i===void 0)return!0;if(i===null)return!1;let n=await t.lstat(e);return n===null?!1:xd(i,n)}var mt=class{static async acquire({fs:e,gitdir:r,cache:i,allowUnmerged:n=!0},s){i[Wg]||(i[Wg]=O3());let a=`${r}/index`;Vg===null&&(Vg=new Nc({maxPending:1/0}));let o,l=[];return await Vg.acquire(a,async()=>{let c=i[Wg];await D3(e,a,c)&&await M3(e,a,c);let u=c.map.get(a);if(l=u.unmergedPaths,l.length&&!n)throw new Uc(l);if(o=await s(u),u._dirty){let f=await u.toObject();await e.write(a,f),c.stats.set(a,await e.lstat(a)),u._dirty=!1}}),o}};function Sd(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e>-1&&(t=t.slice(e+1)),t}function xa(t){let e=Math.max(t.lastIndexOf("/"),t.lastIndexOf("\\"));return e===-1?".":e===0?"/":t.slice(0,e)}function ZE(t){let e=new Map,r=function(n){if(!e.has(n)){let s={type:"tree",fullpath:n,basename:Sd(n),metadata:{},children:[]};e.set(n,s),s.parent=r(xa(n)),s.parent&&s.parent!==s&&s.parent.children.push(s)}return e.get(n)},i=function(n,s){if(!e.has(n)){let a={type:"blob",fullpath:n,basename:Sd(n),metadata:s,parent:r(xa(n)),children:[]};a.parent&&a.parent.children.push(a),e.set(n,a)}return e.get(n)};r(".");for(let n of t)i(n.path,n);return e}function L3(t){switch(t){case 16384:return"tree";case 33188:return"blob";case 33261:return"blob";case 40960:return"blob";case 57344:return"commit"}throw new he(`Unexpected GitTree entry mode: ${t.toString(8)}`)}var nv=class{constructor({fs:e,gitdir:r,cache:i}){this.treePromise=mt.acquire({fs:e,gitdir:r,cache:i},async function(s){return ZE(s.entries)});let n=this;this.ConstructEntry=class{constructor(a){this._fullpath=a,this._type=!1,this._mode=!1,this._stat=!1,this._oid=!1}async type(){return n.type(this)}async mode(){return n.mode(this)}async stat(){return n.stat(this)}async content(){return n.content(this)}async oid(){return n.oid(this)}}}async readdir(e){let r=e._fullpath,n=(await this.treePromise).get(r);if(!n||n.type==="blob")return null;if(n.type!=="tree")throw new Error(`ENOTDIR: not a directory, scandir '${r}'`);let s=n.children.map(a=>a.fullpath);return s.sort(Id),s}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 i=(await this.treePromise).get(e._fullpath);if(!i)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let n=i.type==="tree"?{}:Vo(i.metadata);e._type=i.type==="tree"?"tree":L3(n.mode),e._mode=n.mode,i.type==="tree"?e._stat=void 0:e._stat=n}return e._stat}async content(e){}async oid(e){if(e._oid===!1){let i=(await this.treePromise).get(e._fullpath);e._oid=i.metadata.oid}return e._oid}},Fd=Symbol("GitWalkSymbol");function Aa(){let t=Object.create(null);return Object.defineProperty(t,Fd,{value:function({fs:e,gitdir:r,cache:i}){return new nv({fs:e,gitdir:r,cache:i})}}),Object.freeze(t),t}var He=class t extends Re{constructor(e){super(`Could not find ${e}.`),this.code=this.name=t.code,this.data={what:e}}};He.code="NotFoundError";var hr=class t extends Re{constructor(e,r,i,n){super(`Object ${e} ${n?`at ${n}`:""}was anticipated to be a ${i} but it is a ${r}.`),this.code=this.name=t.code,this.data={oid:e,actual:r,expected:i,filepath:n}}};hr.code="ObjectTypeError";var Ps=class t extends Re{constructor(e){super(`Expected a 40-char hex object id but saw "${e}".`),this.code=this.name=t.code,this.data={value:e}}};Ps.code="InvalidOidError";var Gc=class t extends Re{constructor(e){super(`Could not find a fetch refspec for remote "${e}". Make sure the config file has an entry like the following: +[remote "${e}"] + fetch = +refs/heads/*:refs/remotes/origin/* +`),this.code=this.name=t.code,this.data={remote:e}}};Gc.code="NoRefspecError";var Ed=class t{constructor(e){if(this.refs=new Map,this.parsedConfig=[],e){let r=null;this.parsedConfig=e.trim().split(` +`).map(i=>{if(/^\s*#/.test(i))return{line:i,comment:!0};let n=i.indexOf(" ");if(i.startsWith("^")){let s=i.slice(1);return this.refs.set(r+"^{}",s),{line:i,ref:r,peeled:s}}else{let s=i.slice(0,n);return r=i.slice(n+1),this.refs.set(r,s),{line:i,ref:r,oid:s}}})}return this}static from(e){return new t(e)}delete(e){this.parsedConfig=this.parsedConfig.filter(r=>r.ref!==e),this.refs.delete(e)}toString(){return this.parsedConfig.map(({line:e})=>e).join(` +`)+` +`}},kd=class t{constructor({remotePath:e,localPath:r,force:i,matchPrefix:n}){Object.assign(this,{remotePath:e,localPath:r,force:i,matchPrefix:n})}static from(e){let[r,i,n,s,a]=e.match(/^(\+?)(.*?)(\*?):(.*?)(\*?)$/).slice(1),o=r==="+",l=n==="*";if(l!==(a==="*"))throw new he("Invalid refspec");return new t({remotePath:i,localPath:s,force:o,matchPrefix:l})}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}},sv=class t{constructor(e=[]){this.rules=e}static from(e){let r=[];for(let i of e)r.push(kd.from(i));return new t(r)}add(e){let r=kd.from(e);this.rules.push(r)}translate(e){let r=[];for(let i of this.rules)for(let n of e){let s=i.translate(n);s&&r.push([n,s])}return r}translateOne(e){let r=null;for(let i of this.rules){let n=i.translate(e);n&&(r=n)}return r}localNamespaces(){return this.rules.filter(e=>e.matchPrefix).map(e=>e.localPath.replace(/\/$/,""))}};function B3(t,e){let r=t.replace(/\^\{\}$/,""),i=e.replace(/\^\{\}$/,""),n=-(ri);return n===0?t.endsWith("^{}")?1:-1:n}function N3(t,e){let r="",i=0,n=-1,s=0,a="\0";for(let o=0;o<=t.length;++o){if(o2){let l=r.lastIndexOf("/");l===-1?(r="",i=0):(r=r.slice(0,l),i=r.length-1-r.lastIndexOf("/")),n=o,s=0;continue}else if(r.length!==0){r="",i=0,n=o,s=0;continue}}e&&(r+=r.length>0?"/..":"..",i=2)}else r.length>0?r+="/"+t.slice(n+1,o):r=t.slice(n+1,o),i=o-n-1;n=o,s=0}else a==="."&&s!==-1?++s:s=-1}return r}function H3(t){if(!t.length)return".";let e=t[0]==="/",r=t.at(-1)==="/";return t=N3(t,!e),t.length?(r&&(t+="/"),e?`/${t}`:t):e?"/":r?"./":"."}function O(...t){if(t.length===0)return".";let e;for(let r=0;r0&&(e===void 0?e=i:e+="/"+i)}return e===void 0?".":H3(e)}var U3=t=>{if(typeof t=="number")return t;t=t.toLowerCase();let e=parseInt(t);return t.endsWith("k")&&(e*=1024),t.endsWith("m")&&(e*=1024*1024),t.endsWith("g")&&(e*=1024*1024*1024),e},Bc=t=>{if(typeof t=="boolean")return t;if(t=t.trim().toLowerCase(),t==="true"||t==="yes"||t==="on")return!0;if(t==="false"||t==="no"||t==="off")return!1;throw Error(`Expected 'true', 'false', 'yes', 'no', 'on', or 'off', but got ${t}`)},kE={core:{filemode:Bc,bare:Bc,logallrefupdates:Bc,symlinks:Bc,ignorecase:Bc,bigFileThreshold:U3}},G3=/^\[([A-Za-z0-9-.]+)(?: "(.*)")?\]$/,j3=/^[A-Za-z0-9-.]+$/,q3=/^([A-Za-z][A-Za-z-]*)(?: *= *(.*))?$/,z3=/^[A-Za-z][A-Za-z-]*$/,V3=/^(.*?)( *[#;].*)$/,W3=t=>{let e=G3.exec(t);if(e!=null){let[r,i]=e.slice(1);return[r,i]}return null},Y3=t=>{let e=q3.exec(t);if(e!=null){let[r,i="true"]=e.slice(1),n=X3(i),s=Z3(n);return[r,s]}return null},X3=t=>{let e=V3.exec(t);if(e==null)return t;let[r,i]=e.slice(1);return AE(r)&&AE(i)?`${r}${i}`:r},AE=t=>(t.match(/(?:^|[^\\])"/g)||[]).length%2!==0,Z3=t=>t.split("").reduce((e,r,i,n)=>{let s=r==='"'&&n[i-1]!=="\\",a=r==="\\"&&n[i+1]==='"';return s||a?e:e+r},""),TE=t=>t!=null?t.toLowerCase():null,av=(t,e,r)=>[TE(t),e,TE(r)].filter(i=>i!=null).join("."),CE=t=>{let e=t.split("."),r=e.shift(),i=e.pop(),n=e.length?e.join("."):void 0;return{section:r,subsection:n,name:i,path:av(r,n,i),sectionPath:av(r,n,null),isSection:!!r}},K3=(t,e)=>t.reduce((r,i,n)=>e(i)?n:r,-1),ov=class t{constructor(e){let r=null,i=null;this.parsedConfig=e?e.split(` +`).map(n=>{let s=null,a=null,o=n.trim(),l=W3(o),c=l!=null;if(c)[r,i]=l;else{let f=Y3(o);f!=null&&([s,a]=f)}let u=av(r,i,s);return{line:n,isSection:c,section:r,subsection:i,name:s,value:a,path:u}}):[]}static from(e){return new t(e)}async get(e,r=!1){let i=CE(e).path,n=this.parsedConfig.filter(s=>s.path===i).map(({section:s,name:a,value:o})=>{let l=kE[s]&&kE[s][a];return l?l(o):o});return r?n:n.pop()}async getall(e){return this.get(e,!0)}async getSubsections(e){return this.parsedConfig.filter(r=>r.isSection&&r.section===e).map(r=>r.subsection)}async deleteSection(e,r){this.parsedConfig=this.parsedConfig.filter(i=>!(i.section===e&&i.subsection===r))}async append(e,r){return this.set(e,r,!0)}async set(e,r,i=!1){let{section:n,subsection:s,name:a,path:o,sectionPath:l,isSection:c}=CE(e),u=K3(this.parsedConfig,f=>f.path===o);if(r==null)u!==-1&&this.parsedConfig.splice(u,1);else if(u!==-1){let f=this.parsedConfig[u],d=Object.assign({},f,{name:a,value:r,modified:!0});i?this.parsedConfig.splice(u+1,0,d):this.parsedConfig[u]=d}else{let f=this.parsedConfig.findIndex(h=>h.path===l),d={section:n,subsection:s,name:a,value:r,modified:!0,path:o};if(j3.test(n)&&z3.test(a))if(f>=0)this.parsedConfig.splice(f+1,0,d);else{let h={isSection:c,section:n,subsection:s,modified:!0,path:l};this.parsedConfig.push(h,d)}}}toString(){return this.parsedConfig.map(({line:e,section:r,subsection:i,name:n,value:s,modified:a=!1})=>a?n!=null&&s!=null?typeof s=="string"&&/[#;]/.test(s)?` ${n} = "${s}"`:` ${n} = ${s}`:i!=null?`[${r} "${i}"]`:`[${r}]`:e).join(` +`)}},ct=class{static async get({fs:e,gitdir:r}){let i=await e.read(`${r}/config`,{encoding:"utf8"});return ov.from(i)}static async save({fs:e,gitdir:r,config:i}){await e.write(`${r}/config`,i.toString(),{encoding:"utf8"})}},bd=t=>[`${t}`,`refs/${t}`,`refs/tags/${t}`,`refs/heads/${t}`,`refs/remotes/${t}`,`refs/remotes/${t}/HEAD`],Q3=["config","description","index","shallow","commondir"],Yg;async function Ts(t,e){return Yg===void 0&&(Yg=new Nc),Yg.acquire(t,e)}var W=class t{static async updateRemoteRefs({fs:e,gitdir:r,remote:i,refs:n,symrefs:s,tags:a,refspecs:o=void 0,prune:l=!1,pruneTags:c=!1}){for(let v of n.values())if(!v.match(/[0-9a-f]{40}/))throw new Ps(v);let u=await ct.get({fs:e,gitdir:r});if(!o){if(o=await u.getall(`remote.${i}.fetch`),o.length===0)throw new Gc(i);o.unshift(`+HEAD:refs/remotes/${i}/HEAD`)}let f=sv.from(o),d=new Map;if(c){let v=await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"});await t.deleteRefs({fs:e,gitdir:r,refs:v.map(w=>`refs/tags/${w}`)})}if(a){for(let v of n.keys())if(v.startsWith("refs/tags")&&!v.endsWith("^{}")&&!await t.exists({fs:e,gitdir:r,ref:v})){let w=n.get(v);d.set(v,w)}}let h=f.translate([...n.keys()]);for(let[v,w]of h){let b=n.get(v);d.set(w,b)}let m=f.translate([...s.keys()]);for(let[v,w]of m){let b=s.get(v),k=f.translateOne(b);k&&d.set(w,`ref: ${k}`)}let g=[];if(l){for(let v of f.localNamespaces()){let w=(await t.listRefs({fs:e,gitdir:r,filepath:v})).map(b=>`${v}/${b}`);for(let b of w)d.has(b)||g.push(b)}g.length>0&&await t.deleteRefs({fs:e,gitdir:r,refs:g})}for(let[v,w]of d)await Ts(v,async()=>e.write(O(r,v),`${w.trim()} +`,"utf8"));return{pruned:g}}static async writeRef({fs:e,gitdir:r,ref:i,value:n}){if(!n.match(/[0-9a-f]{40}/))throw new Ps(n);await Ts(i,async()=>e.write(O(r,i),`${n.trim()} +`,"utf8"))}static async writeSymbolicRef({fs:e,gitdir:r,ref:i,value:n}){await Ts(i,async()=>e.write(O(r,i),`ref: ${n.trim()} +`,"utf8"))}static async deleteRef({fs:e,gitdir:r,ref:i}){return t.deleteRefs({fs:e,gitdir:r,refs:[i]})}static async deleteRefs({fs:e,gitdir:r,refs:i}){await Promise.all(i.map(o=>e.rm(O(r,o))));let n=await Ts("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"})),s=Ed.from(n),a=s.refs.size;for(let o of i)s.refs.has(o)&&s.delete(o);s.refs.sizee.write(`${r}/packed-refs`,n,{encoding:"utf8"})))}static async resolve({fs:e,gitdir:r,ref:i,depth:n=void 0}){if(n!==void 0&&(n--,n===-1))return i;if(i.startsWith("ref: "))return i=i.slice(5),t.resolve({fs:e,gitdir:r,ref:i,depth:n});if(i.length===40&&/[0-9a-f]{40}/.test(i))return i;let s=await t.packedRefs({fs:e,gitdir:r}),a=bd(i).filter(o=>!Q3.includes(o));for(let o of a){let l=await Ts(o,async()=>await e.read(`${r}/${o}`,{encoding:"utf8"})||s.get(o));if(l)return t.resolve({fs:e,gitdir:r,ref:l.trim(),depth:n})}throw new He(i)}static async exists({fs:e,gitdir:r,ref:i}){try{return await t.expand({fs:e,gitdir:r,ref:i}),!0}catch(n){return!1}}static async expand({fs:e,gitdir:r,ref:i}){if(i.length===40&&/[0-9a-f]{40}/.test(i))return i;let n=await t.packedRefs({fs:e,gitdir:r}),s=bd(i);for(let a of s)if(await Ts(a,async()=>e.exists(`${r}/${a}`))||n.has(a))return a;throw new He(i)}static async expandAgainstMap({ref:e,map:r}){let i=bd(e);for(let n of i)if(await r.has(n))return n;throw new He(e)}static resolveAgainstMap({ref:e,fullref:r=e,depth:i=void 0,map:n}){if(i!==void 0&&(i--,i===-1))return{fullref:r,oid:e};if(e.startsWith("ref: "))return e=e.slice(5),t.resolveAgainstMap({ref:e,fullref:r,depth:i,map:n});if(e.length===40&&/[0-9a-f]{40}/.test(e))return{fullref:r,oid:e};let s=bd(e);for(let a of s){let o=n.get(a);if(o)return t.resolveAgainstMap({ref:o.trim(),fullref:a,depth:i,map:n})}throw new He(e)}static async packedRefs({fs:e,gitdir:r}){let i=await Ts("packed-refs",async()=>e.read(`${r}/packed-refs`,{encoding:"utf8"}));return Ed.from(i).refs}static async listRefs({fs:e,gitdir:r,filepath:i}){let n=t.packedRefs({fs:e,gitdir:r}),s=null;try{s=await e.readdirDeep(`${r}/${i}`),s=s.map(a=>a.replace(`${r}/${i}/`,""))}catch(a){s=[]}for(let a of(await n).keys())a.startsWith(i)&&(a=a.replace(i+"/",""),s.includes(a)||s.push(a));return s.sort(B3),s}static async listBranches({fs:e,gitdir:r,remote:i}){return i?t.listRefs({fs:e,gitdir:r,filepath:`refs/remotes/${i}`}):t.listRefs({fs:e,gitdir:r,filepath:"refs/heads"})}static async listTags({fs:e,gitdir:r}){return(await t.listRefs({fs:e,gitdir:r,filepath:"refs/tags"})).filter(n=>!n.endsWith("^{}"))}};function J3(t,e){return Id(PE(t),PE(e))}function PE(t){return t.mode==="040000"?t.path+"/":t.path}function KE(t){switch(t){case"040000":return"tree";case"100644":return"blob";case"100755":return"blob";case"120000":return"blob";case"160000":return"commit"}throw new he(`Unexpected GitTree entry mode: ${t}`)}function e8(t){let e=[],r=0;for(;r`${e.mode} ${e.type} ${e.oid} ${e.path}`).join(` +`)}toObject(){let e=[...this._entries];return e.sort(J3),Buffer.concat(e.map(r=>{let i=Buffer.from(r.mode.replace(/^0/,"")),n=Buffer.from(" "),s=Buffer.from(r.path,"utf8"),a=Buffer.from([0]),o=Buffer.from(r.oid,"hex");return Buffer.concat([i,n,s,a,o])}))}entries(){return this._entries}*[Symbol.iterator](){for(let e of this._entries)yield e}},Rs=class{static wrap({type:e,object:r}){let i=`${e} ${r.length}\0`,n=i.length,s=n+r.length,a=new Uint8Array(s);for(let o=0;o>=1,n+=8;return i}function IE(t,e){let r=t.readUInt8(),i=128,n=15,s=112;if(r&i){let a=$E(t,r&n,4),o=$E(t,(r&s)>>4,3);return o===0&&(o=65536),e.slice(a,a+o)}else return t.slice(r)}function n8(t){let e=[t];return{next(){return Promise.resolve({done:e.length===0,value:e.pop()})},return(){return e=[],{}},[Symbol.asyncIterator](){return this}}}function JE(t){return t[Symbol.asyncIterator]?t[Symbol.asyncIterator]():t[Symbol.iterator]?t[Symbol.iterator]():t.next?t:n8(t)}var Ad=class{constructor(e){if(typeof Buffer=="undefined")throw new Error("Missing Buffer dependency");this.stream=JE(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:r}=await this.stream.next();return e&&(this._ended=!0,!r)?Buffer.alloc(0):(r&&(r=Buffer.from(r)),r)}_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 r=[this.buffer];for(;this.cursor+e>s8(r);){let i=await this._next();if(this._ended)break;r.push(i)}this.buffer=Buffer.concat(r)}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 s8(t){return t.reduce((e,r)=>e+r.length,0)}async function a8(t,e){let r=new Ad(t),i=await r.read(4);if(i=i.toString("utf8"),i!=="PACK")throw new he(`Invalid PACK header '${i}'`);let n=await r.read(4);if(n=n.readUInt32BE(0),n!==2)throw new he(`Invalid packfile version: ${n}`);let s=await r.read(4);if(s=s.readUInt32BE(0),!(s<1))for(;!r.eof()&&s--;){let a=r.tell(),{type:o,length:l,ofs:c,reference:u}=await o8(r),f=new mv.Inflate;for(;!f.result;){let d=await r.chunk();if(!d)break;if(f.push(d,!1),f.err)throw new he(`Pako error: ${f.msg}`);if(f.result){if(f.result.length!==l)throw new he("Inflated object size is different from that stated in packfile.");await r.undo(),await r.read(d.length-f.strm.avail_in);let h=r.tell();await e({data:f.result,type:o,num:s,offset:a,end:h,reference:u,ofs:c})}}}}async function o8(t){let e=await t.byte(),r=e>>4&7,i=e&15;if(e&128){let a=4;do e=await t.byte(),i|=(e&127)<n+1<<7|s,-1)}function f8(t,e){let r=e,i=4,n=null;do n=t.readUInt8(),r|=(n&127)<2048*1024*1024)throw new he("To keep implementation simple, I haven't implemented the layer 5 feature needed to support packfiles > 2GB in size.");i.seek(i.tell()+4*255);let a=i.readUInt32BE(),o=[];for(let u=0;u{u===null&&(u=x);let E=Math.floor((u-x)*100/u);E!==f&&i&&await i({phase:"Receiving objects",loaded:u-x,total:u}),f=E,w=n[w],["commit","tree","blob","tag"].includes(w)?s[k]={type:w,offset:k}:w==="ofs-delta"?s[k]={type:w,offset:k}:w==="ref-delta"&&(s[k]={type:w,offset:k})});let d=Object.keys(s).map(Number);for(let[v,w]of d.entries()){let b=v+1===d.length?e.byteLength-20:d[v+1],k=s[w],x=A3.buf(e.slice(w,b))>>>0;k.end=b,k.crc=x}let h=new t({pack:Promise.resolve(e),packfileSha:a,crcs:l,hashes:o,offsets:c,getExternalRefDelta:r});f=null;let m=0,g=[0,0,0,0,0,0,0,0,0,0,0,0];for(let v in s){v=Number(v);let w=Math.floor(m*100/u);w!==f&&i&&await i({phase:"Resolving deltas",loaded:m,total:u}),m++,f=w;let b=s[v];if(!b.oid)try{h.readDepth=0,h.externalReadDepth=0;let{type:k,object:x}=await h.readSlice({start:v});g[h.readDepth]+=1;let E=await qn(Rs.wrap({type:k,object:x}));b.oid=E,o.push(E),c.set(E,v),l[E]=b.crc}catch(k){continue}}return o.sort(),h}async toBuffer(){let e=[],r=(c,u)=>{e.push(Buffer.from(c,u))};r("ff744f63","hex"),r("00000002","hex");let i=new mi(Buffer.alloc(256*4));for(let c=0;c<256;c++){let u=0;for(let f of this.hashes)parseInt(f.slice(0,2),16)<=c&&u++;i.writeUInt32BE(u)}e.push(i.buffer);for(let c of this.hashes)r(c,"hex");let n=new mi(Buffer.alloc(this.hashes.length*4));for(let c of this.hashes)n.writeUInt32BE(this.crcs[c]);e.push(n.buffer);let s=new mi(Buffer.alloc(this.hashes.length*4));for(let c of this.hashes)s.writeUInt32BE(this.offsets.get(c));e.push(s.buffer),r(this.packfileSha,"hex");let a=Buffer.concat(e),o=await qn(a),l=Buffer.alloc(20);return l.write(o,"hex"),Buffer.concat([a,l])}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 he(`Could not read object ${e} from packfile`)}let r=this.offsets.get(e);return this.readSlice({start:r})}async readSlice({start:e}){if(this.offsetCache[e])return Object.assign({},this.offsetCache[e]);this.readDepth++;let r={16:"commit",32:"tree",48:"blob",64:"tag",96:"ofs_delta",112:"ref_delta"};if(!this.pack)throw new he("Tried to read from a GitPackIndex with no packfile loaded into memory");let i=(await this.pack).slice(e),n=new mi(i),s=n.readUInt8(),a=s&112,o=r[a];if(o===void 0)throw new he("Unrecognized type: 0b"+a.toString(2));let l=s&15,c=l;s&128&&(c=f8(n,l));let f=null,d=null;if(o==="ofs_delta"){let m=u8(n),g=e-m;({object:f,type:o}=await this.readSlice({start:g}))}if(o==="ref_delta"){let m=n.slice(20).toString("hex");({object:f,type:o}=await this.read({oid:m}))}let h=i.slice(n.tell());if(d=Buffer.from(await ek(h)),d.byteLength!==c)throw new he(`Packfile told us object would have length ${c} but it had length ${d.byteLength}`);return f&&(d=Buffer.from(i8(d,f))),this.readDepth>3&&(this.offsetCache[e]={type:o,object:d}),{type:o,format:"content",object:d}}},_d=Symbol("PackfileCache");async function d8({fs:t,filename:e,getExternalRefDelta:r,emitter:i,emitterPrefix:n}){let s=await t.read(e);return jc.fromIdx({idx:s,getExternalRefDelta:r})}function gv({fs:t,cache:e,filename:r,getExternalRefDelta:i,emitter:n,emitterPrefix:s}){e[_d]||(e[_d]=new Map);let a=e[_d].get(r);return a||(a=d8({fs:t,filename:r,getExternalRefDelta:i,emitter:n,emitterPrefix:s}),e[_d].set(r,a)),a}async function h8({fs:t,cache:e,gitdir:r,oid:i,format:n="content",getExternalRefDelta:s}){let a=await t.readdir(O(r,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${r}/objects/pack/${o}`,c=await gv({fs:t,cache:e,filename:l,getExternalRefDelta:s});if(c.error)throw new he(c.error);if(c.offsets.has(i)){if(!c.pack){let f=l.replace(/idx$/,"pack");c.pack=t.read(f)}let u=await c.read({oid:i,getExternalRefDelta:s});return u.format="content",u.source=`objects/pack/${o.replace(/idx$/,"pack")}`,u}}return null}async function Ke({fs:t,cache:e,gitdir:r,oid:i,format:n="content"}){let s=u=>Ke({fs:t,cache:e,gitdir:r,oid:u}),a;if(i==="4b825dc642cb6eb9a060e54bf8d69288fbee4904"&&(a={format:"wrapped",object:Buffer.from("tree 0\0")}),a||(a=await QE({fs:t,gitdir:r,oid:i})),!a){if(a=await h8({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:s}),!a)throw new He(i);return a}if(n==="deflated"||(a.format==="deflated"&&(a.object=Buffer.from(await ek(a.object)),a.format="wrapped"),n==="wrapped"))return a;let o=await qn(a.object);if(o!==i)throw new he(`SHA check failed! Expected ${i}, computed ${o}`);let{object:l,type:c}=Rs.unwrap(a.object);if(a.type=c,a.object=l,a.format="content",n==="content")return a;throw new he(`invalid requested format "${n}"`)}var $i=class t extends Re{constructor(e,r,i=!0){super(`Failed to create ${e} at ${r} because it already exists.${i?` (Hint: use 'force: true' parameter to overwrite existing ${e}.)`:""}`),this.code=this.name=t.code,this.data={noun:e,where:r,canForce:i}}};$i.code="AlreadyExistsError";var qc=class t extends Re{constructor(e,r,i){super(`Found multiple ${e} matching "${r}" (${i.join(", ")}). Use a longer abbreviation length to disambiguate them.`),this.code=this.name=t.code,this.data={nouns:e,short:r,matches:i}}};qc.code="AmbiguousError";var zc=class t extends Re{constructor(e){super(`Your local changes to the following files would be overwritten by checkout: ${e.join(", ")}`),this.code=this.name=t.code,this.data={filepaths:e}}};zc.code="CheckoutConflictError";var Vc=class t extends Re{constructor(e,r){super(`Failed to checkout "${e}" because commit ${r} is not available locally. Do a git fetch to make the branch available locally.`),this.code=this.name=t.code,this.data={ref:e,oid:r}}};Vc.code="CommitNotFetchedError";var Wc=class t extends Re{constructor(){super("Empty response from git server."),this.code=this.name=t.code,this.data={}}};Wc.code="EmptyServerResponseError";var Yc=class t extends Re{constructor(){super("A simple fast-forward merge was not possible."),this.code=this.name=t.code,this.data={}}};Yc.code="FastForwardError";var Xc=class t extends Re{constructor(e,r){super(`One or more branches were not updated: ${e}`),this.code=this.name=t.code,this.data={prettyDetails:e,result:r}}};Xc.code="GitPushError";var Wo=class t extends Re{constructor(e,r,i){super(`HTTP Error: ${e} ${r}`),this.code=this.name=t.code,this.data={statusCode:e,statusMessage:r,response:i}}};Wo.code="HttpError";var $s=class t extends Re{constructor(e){let r="invalid filepath";e==="leading-slash"||e==="trailing-slash"?r='"filepath" parameter should not include leading or trailing directory separators because these can cause problems on some platforms.':e==="directory"&&(r='"filepath" should not be a directory.'),super(r),this.code=this.name=t.code,this.data={reason:e}}};$s.code="InvalidFilepathError";var Ii=class t extends Re{constructor(e,r){super(`"${e}" would be an invalid git reference. (Hint: a valid alternative would be "${r}".)`),this.code=this.name=t.code,this.data={ref:e,suggestion:r}}};Ii.code="InvalidRefNameError";var Zc=class t extends Re{constructor(e){super(`Maximum search depth of ${e} exceeded.`),this.code=this.name=t.code,this.data={depth:e}}};Zc.code="MaxDepthError";var Yo=class t extends Re{constructor(){super("Merges with conflicts are not supported yet."),this.code=this.name=t.code,this.data={}}};Yo.code="MergeNotSupportedError";var Xo=class t extends Re{constructor(e,r,i,n){super(`Automatic merge failed with one or more merge conflicts in the following files: ${e.toString()}. Fix conflicts then commit the result.`),this.code=this.name=t.code,this.data={filepaths:e,bothModified:r,deleteByUs:i,deleteByTheirs:n}}};Xo.code="MergeConflictError";var Jt=class t extends Re{constructor(e){super(`No name was provided for ${e} in the argument or in the .git/config file.`),this.code=this.name=t.code,this.data={role:e}}};Jt.code="MissingNameError";var Sr=class t extends Re{constructor(e){super(`The function requires a "${e}" parameter but none was provided.`),this.code=this.name=t.code,this.data={parameter:e}}};Sr.code="MissingParameterError";var Kc=class t extends Re{constructor(e){super('There are multiple errors that were thrown by the method. Please refer to the "errors" property to see more'),this.code=this.name=t.code,this.data={errors:e},this.errors=e}};Kc.code="MultipleGitError";var Sa=class t extends Re{constructor(e,r){super(`Expected "${e}" but received "${r}".`),this.code=this.name=t.code,this.data={expected:e,actual:r}}};Sa.code="ParseError";var Zo=class t extends Re{constructor(e){let r="";e==="not-fast-forward"?r=" because it was not a simple fast-forward":e==="tag-exists"&&(r=" because tag already exists"),super(`Push rejected${r}. Use "force: true" to override.`),this.code=this.name=t.code,this.data={reason:e}}};Zo.code="PushRejectedError";var Cs=class t extends Re{constructor(e,r){super(`Remote does not support the "${e}" so the "${r}" parameter cannot be used.`),this.code=this.name=t.code,this.data={capability:e,parameter:r}}};Cs.code="RemoteCapabilityError";var Qc=class t extends Re{constructor(e,r){super(`Remote did not reply using the "smart" HTTP protocol. Expected "001e# service=git-upload-pack" but received: ${e}`),this.code=this.name=t.code,this.data={preview:e,response:r}}};Qc.code="SmartHttpError";var Jc=class t extends Re{constructor(e,r,i){super(`Git remote "${e}" uses an unrecognized transport protocol: "${r}"`),this.code=this.name=t.code,this.data={url:e,transport:r,suggestion:i}}};Jc.code="UnknownTransportError";var eu=class t extends Re{constructor(e){super(`Cannot parse remote URL: "${e}"`),this.code=this.name=t.code,this.data={url:e}}};eu.code="UrlParseError";var Ko=class t extends Re{constructor(){super("The operation was canceled."),this.code=this.name=t.code,this.data={}}};Ko.code="UserCanceledError";var tu=class t extends Re{constructor(e){super(`Could not merge index: Entry for '${e}' is not up to date. Either reset the index entry to HEAD, or stage your unstaged changes.`),this.code=this.name=t.code,this.data={filepath:e}}};tu.code="IndexResetError";var ru=class t extends Re{constructor(e){super(`"${e}" does not point to any commit. You're maybe working on a repository with no commits yet. `),this.code=this.name=t.code,this.data={ref:e}}};ru.code="NoCommitError";var tk=Object.freeze({__proto__:null,AlreadyExistsError:$i,AmbiguousError:qc,CheckoutConflictError:zc,CommitNotFetchedError:Vc,EmptyServerResponseError:Wc,FastForwardError:Yc,GitPushError:Xc,HttpError:Wo,InternalError:he,InvalidFilepathError:$s,InvalidOidError:Ps,InvalidRefNameError:Ii,MaxDepthError:Zc,MergeNotSupportedError:Yo,MergeConflictError:Xo,MissingNameError:Jt,MissingParameterError:Sr,MultipleGitError:Kc,NoRefspecError:Gc,NotFoundError:He,ObjectTypeError:hr,ParseError:Sa,PushRejectedError:Zo,RemoteCapabilityError:Cs,SmartHttpError:Qc,UnknownTransportError:Jc,UnsafeFilepathError:zo,UrlParseError:eu,UserCanceledError:Ko,UnmergedPathsError:Uc,IndexResetError:tu,NoCommitError:ru});function lv({name:t,email:e,timestamp:r,timezoneOffset:i}){return i=p8(i),`${t} <${e}> ${r} ${i}`}function p8(t){let e=m8(g8(t));t=Math.abs(t);let r=Math.floor(t/60);t-=r*60;let i=String(r),n=String(t);return i.length<2&&(i="0"+i),n.length<2&&(n="0"+n),(e===-1?"-":"+")+i+n}function m8(t){return Math.sign(t)||(Object.is(t,-0)?-1:1)}function g8(t){return t===0?t:-t}function jn(t){return t=t.replace(/\r/g,""),t=t.replace(/^\n+/,""),t=t.replace(/\n+$/,"")+` +`,t}function Td(t){let[,e,r,i,n]=t.match(/^(.*) <(.*)> (.*) (.*)$/);return{name:e,email:r,timestamp:Number(i),timezoneOffset:v8(n)}}function v8(t){let[,e,r,i]=t.match(/(\+|-)(\d\d)(\d\d)/);return i=(e==="+"?1:-1)*(Number(r)*60+Number(i)),w8(i)}function w8(t){return t===0?t:-t}var Kr=class t{constructor(e){if(typeof e=="string")this._tag=e;else if(Buffer.isBuffer(e))this._tag=e.toString("utf8");else if(typeof e=="object")this._tag=t.render(e);else throw new he("invalid type passed to GitAnnotatedTag constructor")}static from(e){return new t(e)}static render(e){return`object ${e.object} +type ${e.type} +tag ${e.tag} +tagger ${lv(e.tagger)} + +${e.message} +${e.gpgsig?e.gpgsig:""}`}justHeaders(){return this._tag.slice(0,this._tag.indexOf(` + +`))}message(){let e=this.withoutSignature();return e.slice(e.indexOf(` + +`)+2)}parse(){return Object.assign(this.headers(),{message:this.message(),gpgsig:this.gpgsig()})}render(){return this._tag}headers(){let e=this.justHeaders().split(` +`),r=[];for(let n of e)n[0]===" "?r[r.length-1]+=` +`+n.slice(1):r.push(n);let i={};for(let n of r){let s=n.slice(0,n.indexOf(" ")),a=n.slice(n.indexOf(" ")+1);Array.isArray(i[s])?i[s].push(a):i[s]=a}return i.tagger&&(i.tagger=Td(i.tagger)),i.committer&&(i.committer=Td(i.committer)),i}withoutSignature(){let e=jn(this._tag);return e.indexOf(` +-----BEGIN PGP SIGNATURE-----`)===-1?e:e.slice(0,e.lastIndexOf(` +-----BEGIN PGP SIGNATURE-----`))}gpgsig(){if(this._tag.indexOf(` +-----BEGIN PGP SIGNATURE-----`)===-1)return;let e=this._tag.slice(this._tag.indexOf("-----BEGIN PGP SIGNATURE-----"),this._tag.indexOf("-----END PGP SIGNATURE-----")+27);return jn(e)}payload(){return this.withoutSignature()+` +`}toObject(){return Buffer.from(this._tag,"utf8")}static async sign(e,r,i){let n=e.payload(),{signature:s}=await r({payload:n,secretKey:i});s=jn(s);let a=n+s;return t.from(a)}};function Zg(t){return t.trim().split(` +`).map(e=>" "+e).join(` +`)+` +`}function y8(t){return t.split(` +`).map(e=>e.replace(/^ /,"")).join(` +`)}var kr=class t{constructor(e){if(typeof e=="string")this._commit=e;else if(Buffer.isBuffer(e))this._commit=e.toString("utf8");else if(typeof e=="object")this._commit=t.render(e);else throw new he("invalid type passed to GitCommit constructor")}static fromPayloadSignature({payload:e,signature:r}){let i=t.justHeaders(e),n=t.justMessage(e),s=jn(i+` +gpgsig`+Zg(r)+` +`+n);return new t(s)}static from(e){return new t(e)}toObject(){return Buffer.from(this._commit,"utf8")}headers(){return this.parseHeaders()}message(){return t.justMessage(this._commit)}parse(){return Object.assign({message:this.message()},this.headers())}static justMessage(e){return jn(e.slice(e.indexOf(` + +`)+2))}static justHeaders(e){return e.slice(0,e.indexOf(` + +`))}parseHeaders(){let e=t.justHeaders(this._commit).split(` +`),r=[];for(let n of e)n[0]===" "?r[r.length-1]+=` +`+n.slice(1):r.push(n);let i={parent:[]};for(let n of r){let s=n.slice(0,n.indexOf(" ")),a=n.slice(n.indexOf(" ")+1);Array.isArray(i[s])?i[s].push(a):i[s]=a}return i.author&&(i.author=Td(i.author)),i.committer&&(i.committer=Td(i.committer)),i}static renderHeaders(e){let r="";if(e.tree?r+=`tree ${e.tree} +`:r+=`tree 4b825dc642cb6eb9a060e54bf8d69288fbee4904 +`,e.parent){if(e.parent.length===void 0)throw new he("commit 'parent' property should be an array");for(let s of e.parent)r+=`parent ${s} +`}let i=e.author;r+=`author ${lv(i)} +`;let n=e.committer||e.author;return r+=`committer ${lv(n)} +`,e.gpgsig&&(r+="gpgsig"+Zg(e.gpgsig)),r}static render(e){return t.renderHeaders(e)+` +`+jn(e.message)}render(){return this._commit}withoutSignature(){let e=jn(this._commit);if(e.indexOf(` +gpgsig`)===-1)return e;let r=e.slice(0,e.indexOf(` +gpgsig`)),i=e.slice(e.indexOf(`-----END PGP SIGNATURE----- +`)+28);return jn(r+` +`+i)}isolateSignature(){let e=this._commit.slice(this._commit.indexOf("-----BEGIN PGP SIGNATURE-----"),this._commit.indexOf("-----END PGP SIGNATURE-----")+27);return y8(e)}static async sign(e,r,i){let n=e.withoutSignature(),s=t.justMessage(e._commit),{signature:a}=await r({payload:n,secretKey:i});a=jn(a);let l=t.justHeaders(e._commit)+` +gpgsig`+Zg(a)+` +`+s;return t.from(l)}};async function Qo({fs:t,cache:e,gitdir:r,oid:i}){if(i==="4b825dc642cb6eb9a060e54bf8d69288fbee4904")return{tree:Er.from([]),oid:i};let{type:n,object:s}=await Ke({fs:t,cache:e,gitdir:r,oid:i});if(n==="tag")return i=Kr.from(s).parse().object,Qo({fs:t,cache:e,gitdir:r,oid:i});if(n==="commit")return i=kr.from(s).parse().tree,Qo({fs:t,cache:e,gitdir:r,oid:i});if(n!=="tree")throw new hr(i,n,"tree");return{tree:Er.from(s),oid:i}}var cv=class{constructor({fs:e,gitdir:r,ref:i,cache:n}){this.fs=e,this.cache=n,this.gitdir=r,this.mapPromise=(async()=>{let a=new Map,o;try{o=await W.resolve({fs:e,gitdir:r,ref:i})}catch(c){c instanceof He&&(o="4b825dc642cb6eb9a060e54bf8d69288fbee4904")}let l=await Qo({fs:e,cache:this.cache,gitdir:r,oid:o});return l.type="tree",l.mode="40000",a.set(".",l),a})();let s=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return s.type(this)}async mode(){return s.mode(this)}async stat(){return s.stat(this)}async content(){return s.content(this)}async oid(){return s.oid(this)}}}async readdir(e){let r=e._fullpath,{fs:i,cache:n,gitdir:s}=this,a=await this.mapPromise,o=a.get(r);if(!o)throw new Error(`No obj for ${r}`);let l=o.oid;if(!l)throw new Error(`No oid for obj ${JSON.stringify(o)}`);if(o.type!=="tree")return null;let{type:c,object:u}=await Ke({fs:i,cache:n,gitdir:s,oid:l});if(c!==o.type)throw new hr(l,c,o.type);let f=Er.from(u);for(let d of f)a.set(O(r,d.path),d);return f.entries().map(d=>O(r,d.path))}async type(e){if(e._type===!1){let r=await this.mapPromise,{type:i}=r.get(e._fullpath);e._type=i}return e._type}async mode(e){if(e._mode===!1){let r=await this.mapPromise,{mode:i}=r.get(e._fullpath);e._mode=YE(parseInt(i,8))}return e._mode}async stat(e){}async content(e){if(e._content===!1){let r=await this.mapPromise,{fs:i,cache:n,gitdir:s}=this,o=r.get(e._fullpath).oid,{type:l,object:c}=await Ke({fs:i,cache:n,gitdir:s,oid:o});l!=="blob"?e._content=void 0:e._content=new Uint8Array(c)}return e._content}async oid(e){if(e._oid===!1){let i=(await this.mapPromise).get(e._fullpath);e._oid=i.oid}return e._oid}};function Zr({ref:t="HEAD"}={}){let e=Object.create(null);return Object.defineProperty(e,Fd,{value:function({fs:r,gitdir:i,cache:n}){return new cv({fs:r,gitdir:i,ref:t,cache:n})}}),Object.freeze(e),e}var uv=class{constructor({fs:e,dir:r,gitdir:i,cache:n}){this.fs=e,this.cache=n,this.dir=r,this.gitdir=i,this.config=null;let s=this;this.ConstructEntry=class{constructor(o){this._fullpath=o,this._type=!1,this._mode=!1,this._stat=!1,this._content=!1,this._oid=!1}async type(){return s.type(this)}async mode(){return s.mode(this)}async stat(){return s.stat(this)}async content(){return s.content(this)}async oid(){return s.oid(this)}}}async readdir(e){let r=e._fullpath,{fs:i,dir:n}=this,s=await i.readdir(O(n,r));return s===null?null:s.map(a=>O(r,a))}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:r,dir:i}=this,n=await r.lstat(`${i}/${e._fullpath}`);if(!n)throw new Error(`ENOENT: no such file or directory, lstat '${e._fullpath}'`);let s=n.isDirectory()?"tree":"blob";s==="blob"&&!n.isFile()&&!n.isSymbolicLink()&&(s="special"),e._type=s,n=Vo(n),e._mode=n.mode,n.size===-1&&e._actualSize&&(n.size=e._actualSize),e._stat=n}return e._stat}async content(e){if(e._content===!1){let{fs:r,dir:i,gitdir:n}=this;if(await e.type()==="tree")e._content=void 0;else{let s;if(await e.mode()>>12===10)s=await r.readlink(`${i}/${e._fullpath}`);else{let o=await(await this._getGitConfig(r,n)).get("core.autocrlf");s=await r.read(`${i}/${e._fullpath}`,{autocrlf:o})}e._actualSize=s.length,e._stat&&e._stat.size===-1&&(e._stat.size=e._actualSize),e._content=new Uint8Array(s)}}return e._content}async oid(e){if(e._oid===!1){let r=this,{fs:i,gitdir:n,cache:s}=this,a;await mt.acquire({fs:i,gitdir:n,cache:s},async function(o){let l=o.entriesMap.get(e._fullpath),c=await e.stat(),f=await(await r._getGitConfig(i,n)).get("core.filemode"),d=typeof process!="undefined"?process.platform!=="win32":!0;if(!l||xd(c,l,f,d)){let h=await e.content();h===void 0?a=void 0:(a=await qn(Rs.wrap({type:"blob",object:h})),l&&a===l.oid&&(!f||c.mode===l.mode)&&xd(c,l,f,d)&&o.insert({filepath:e._fullpath,stats:c,oid:a}))}else a=l.oid}),e._oid=a}return e._oid}async _getGitConfig(e,r){return this.config?this.config:(this.config=await ct.get({fs:e,gitdir:r}),this.config)}};function nl(){let t=Object.create(null);return Object.defineProperty(t,Fd,{value:function({fs:e,dir:r,gitdir:i,cache:n}){return new uv({fs:e,dir:r,gitdir:i,cache:n})}}),Object.freeze(t),t}function b8(t,e){let r=e-t;return Array.from({length:r},(i,n)=>t+n)}var rk=typeof Array.prototype.flat=="undefined"?t=>t.reduce((e,r)=>e.concat(r),[]):t=>t.flat(),fv=class{constructor(){this.value=null}consider(e){e!=null&&(this.value===null?this.value=e:ec,reduce:a=async(l,c)=>{let u=rk(c);return l!==void 0&&u.unshift(l),u},iterate:o=(l,c)=>Promise.all([...c].map(l))}){let l=n.map(h=>h[Fd]({fs:t,dir:r,gitdir:i,cache:e})),c=new Array(l.length).fill("."),u=b8(0,l.length),f=async h=>{u.forEach(v=>{let w=h[v];h[v]=w&&new l[v].ConstructEntry(w)});let g=(await Promise.all(u.map(v=>{let w=h[v];return w?l[v].readdir(w):[]}))).map(v=>(v===null?[]:v)[Symbol.iterator]());return{entries:h,children:_8(g)}},d=async h=>{let{entries:m,children:g}=await f(h),v=m.find(b=>b&&b._fullpath)._fullpath,w=await s(v,m);if(w!==null){let b=await o(d,g);return b=b.filter(k=>k!==void 0),a(w,b)}};return d(c)}async function dv(t,e){let r=await t.readdir(e);r==null?await t.rm(e):r.length?await Promise.all(r.map(i=>{let n=O(e,i);return t.lstat(n).then(s=>{if(s)return s.isDirectory()?dv(t,n):t.rm(n)})})).then(()=>t.rmdir(e)):await t.rmdir(e)}function x8(t){return S8(t)&&FE(t.then)&&FE(t.catch)}function S8(t){return t&&typeof t=="object"}function FE(t){return typeof t=="function"}function OE(t){return x8((r=>{try{return r.readFile().catch(i=>i)}catch(i){return i}})(t))}var ME=["readFile","writeFile","mkdir","rmdir","unlink","stat","lstat","readdir","readlink","symlink"];function DE(t,e){if(OE(e))for(let r of ME)t[`_${r}`]=e[r].bind(e);else for(let r of ME)t[`_${r}`]=yd(e[r].bind(e));OE(e)?(e.cp&&(t._cp=e.cp.bind(e)),e.rm?t._rm=e.rm.bind(e):e.rmdir.length>1?t._rm=e.rmdir.bind(e):t._rm=dv.bind(null,t)):(e.cp&&(t._cp=yd(e.cp.bind(e))),e.rm?t._rm=yd(e.rm.bind(e)):e.rmdir.length>2?t._rm=yd(e.rmdir.bind(e)):t._rm=dv.bind(null,t))}var J=class{constructor(e){if(typeof e._original_unwrapped_fs!="undefined")return e;let r=Object.getOwnPropertyDescriptor(e,"promises");r&&r.enumerable?DE(this,e.promises):DE(this,e),this._original_unwrapped_fs=e}async exists(e,r={}){try{return await this._stat(e),!0}catch(i){if(i.code==="ENOENT"||i.code==="ENOTDIR"||(i.code||"").includes("ENS"))return!1;throw console.log('Unhandled error in "FileSystem.exists()" function',i),i}}async read(e,r={}){try{let i=await this._readFile(e,r);if(r.autocrlf==="true")try{i=new TextDecoder("utf8",{fatal:!0}).decode(i),i=i.replace(/\r\n/g,` +`),i=new TextEncoder().encode(i)}catch(n){}return typeof i!="string"&&(i=Buffer.from(i)),i}catch(i){return null}}async write(e,r,i={}){try{await this._writeFile(e,r,i)}catch(n){await this.mkdir(xa(e)),await this._writeFile(e,r,i)}}async mkdir(e,r=!1){try{await this._mkdir(e)}catch(i){if(i===null||i.code==="EEXIST")return;if(r)throw i;if(i.code==="ENOENT"){let n=xa(e);if(n==="."||n==="/"||n===e)throw i;await this.mkdir(n),await this.mkdir(e,!0)}}}async rm(e){try{await this._unlink(e)}catch(r){if(r.code!=="ENOENT")throw r}}async rmdir(e,r){try{r&&r.recursive?await this._rm(e,r):await this._rmdir(e)}catch(i){if(i.code!=="ENOENT")throw i}}async readdir(e){try{let r=await this._readdir(e);return r.sort(Id),r}catch(r){return r.code==="ENOTDIR"?null:[]}}async readdirDeep(e){let r=await this._readdir(e);return(await Promise.all(r.map(async n=>{let s=e+"/"+n;return(await this._stat(s)).isDirectory()?this.readdirDeep(s):s}))).reduce((n,s)=>n.concat(s),[])}async lstat(e){try{return await this._lstat(e)}catch(r){if(r.code==="ENOENT"||(r.code||"").includes("ENS"))return null;throw r}}async readlink(e,r={encoding:"buffer"}){try{let i=await this._readlink(e,r);return Buffer.isBuffer(i)?i:Buffer.from(i)}catch(i){if(i.code==="ENOENT"||(i.code||"").includes("ENS"))return null;throw i}}async writelink(e,r){return this._symlink(r.toString("utf8"),e)}};function C(t,e){if(e===void 0)throw new Sr(t)}async function ee({fsp:t,dotgit:e}){C("fsp",t),C("dotgit",e);let r=await t._stat(e).catch(()=>({isFile:()=>!1,isDirectory:()=>!1}));return r.isDirectory()?e:r.isFile()?t._readFile(e,"utf8").then(i=>i.trimRight().substr(8)).then(i=>O(xa(e),i)):e}async function Cd(t,e){return!t&&!e?!1:t&&!e||!t&&e?!0:!(await t.type()==="tree"&&await e.type()==="tree"||await t.type()===await e.type()&&await t.mode()===await e.mode()&&await t.oid()===await e.oid())}async function ik({fs:t,dir:e,gitdir:r=O(e,".git"),commit:i="HEAD",cache:n={}}){try{C("fs",t),C("dir",e),C("gitdir",r);let s=new J(t),a=[Zr({ref:i}),nl(),Aa()],o=[],l=await ee({fsp:s,dotgit:r});await mt.acquire({fs:s,gitdir:l,cache:n},async function(u){o=u.unmergedPaths});let c=await Is({fs:s,cache:n,dir:e,gitdir:l,trees:a,map:async function(u,[f,d,h]){let m=!await Cd(d,h),g=o.includes(u),v=!await Cd(h,f);if(m||g)return f?{path:u,mode:await f.mode(),oid:await f.oid(),type:await f.type(),content:await f.content()}:void 0;if(v)return!1;throw new tu(u)}});await mt.acquire({fs:s,gitdir:l,cache:n},async function(u){for(let f of c)if(f!==!1){if(!f){await s.rmdir(`${e}/${f.path}`,{recursive:!0}),u.delete({filepath:f.path});continue}if(f.type==="blob"){let d=new TextDecoder().decode(f.content);await s.write(`${e}/${f.path}`,d,{mode:f.mode}),u.insert({filepath:f.path,oid:f.oid,stage:0})}}})}catch(s){throw s.caller="git.abortMerge",s}}var Fs=class{static async isIgnored({fs:e,dir:r,gitdir:i=O(r,".git"),filepath:n}){if(Sd(n)===".git")return!0;if(n===".")return!1;let s="",a=O(i,"info","exclude");await e.exists(a)&&(s=await e.read(a,"utf8"));let o=[{gitignore:O(r,".gitignore"),filepath:n}],l=n.split("/").filter(Boolean);for(let u=1;u{let f=await(await ct.get({fs:o,gitdir:l})).get("core.autocrlf");return hv({dir:e,gitdir:l,fs:o,filepath:i,index:c,force:s,parallel:a,autocrlf:f})})}catch(o){throw o.caller="git.add",o}}async function hv({dir:t,gitdir:e,fs:r,filepath:i,index:n,force:s,parallel:a,autocrlf:o}){i=Array.isArray(i)?i:[i];let l=i.map(async d=>{if(!s&&await Fs.isIgnored({fs:r,dir:t,gitdir:e,filepath:d}))return;let h=await r.lstat(O(t,d));if(!h)throw new He(d);if(h.isDirectory()){let m=await r.readdir(O(t,d));if(a){let g=m.map(v=>hv({dir:t,gitdir:e,fs:r,filepath:[O(d,v)],index:n,force:s,parallel:a,autocrlf:o}));await Promise.all(g)}else for(let g of m)await hv({dir:t,gitdir:e,fs:r,filepath:[O(d,g)],index:n,force:s,parallel:a,autocrlf:o})}else{let m=h.isSymbolicLink()?await r.readlink(O(t,d)).then(sk):await r.read(O(t,d),{autocrlf:o});if(m===null)throw new He(d);let g=await Ar({fs:r,gitdir:e,type:"blob",object:m});n.insert({filepath:d,stats:h,oid:g})}}),c=await Promise.allSettled(l),u=c.filter(d=>d.status==="rejected").map(d=>d.reason);if(u.length>1)throw new Kc(u);if(u.length===1)throw u[0];return c.filter(d=>d.status==="fulfilled"&&d.value).map(d=>d.value)}async function iu({fs:t,gitdir:e,path:r}){return(await ct.get({fs:t,gitdir:e})).get(r)}function ok(t,...e){for(let r of e)if(r)for(let i of Object.keys(r)){let n=r[i];n!==void 0&&(t[i]=n)}return t}async function Os({fs:t,gitdir:e,author:r,commit:i}){let n=Math.floor(Date.now()/1e3),s={name:await iu({fs:t,gitdir:e,path:"user.name"}),email:await iu({fs:t,gitdir:e,path:"user.email"})||"",timestamp:n,timezoneOffset:new Date(n*1e3).getTimezoneOffset()},a=ok({},s,i?i.author:void 0,r);if(a.name!==void 0)return a}async function Jo({fs:t,gitdir:e,author:r,committer:i,commit:n}){let s=Math.floor(Date.now()/1e3),a={name:await iu({fs:t,gitdir:e,path:"user.name"}),email:await iu({fs:t,gitdir:e,path:"user.email"})||"",timestamp:s,timezoneOffset:new Date(s*1e3).getTimezoneOffset()},o=ok({},a,n?n.committer:void 0,r,i);if(o.name!==void 0)return o}async function lk({fs:t,cache:e,gitdir:r,oid:i}){let{type:n,object:s}=await Ke({fs:t,cache:e,gitdir:r,oid:i});if(n==="tag")return i=Kr.from(s).parse().object,lk({fs:t,cache:e,gitdir:r,oid:i});if(n!=="commit")throw new hr(i,n,"commit");return{commit:kr.from(s),oid:i}}async function el({fs:t,cache:e,gitdir:r,oid:i}){let{commit:n,oid:s}=await lk({fs:t,cache:e,gitdir:r,oid:i});return{oid:s,commit:n.parse(),payload:n.withoutSignature()}}async function Od({fs:t,cache:e,onSign:r,gitdir:i,message:n,author:s,committer:a,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h}){let m=!1,g=!1;f||(g=!(await t.read(`${i}/HEAD`,{encoding:"utf8"})).startsWith("ref:"),f=await W.resolve({fs:t,gitdir:i,ref:"HEAD",depth:2}));let v,w;try{v=await W.resolve({fs:t,gitdir:i,ref:f}),w=await el({fs:t,gitdir:i,oid:v,cache:{}})}catch(x){m=!0}if(l&&m)throw new ru(f);let b=l?await Os({fs:t,gitdir:i,author:s,commit:w.commit}):await Os({fs:t,gitdir:i,author:s});if(!b)throw new Jt("author");let k=l?await Jo({fs:t,gitdir:i,author:b,committer:a,commit:w.commit}):await Jo({fs:t,gitdir:i,author:b,committer:a});if(!k)throw new Jt("committer");return mt.acquire({fs:t,gitdir:i,cache:e,allowUnmerged:!1},async function(x){let A=ZE(x.entries).get(".");if(h||(h=await ck({fs:t,gitdir:i,inode:A,dryRun:c})),d?d=await Promise.all(d.map(_=>W.resolve({fs:t,gitdir:i,ref:_}))):l?d=w.commit.parent:d=v?[v]:[],!n)if(l)n=w.commit.message;else throw new Sr("message");let y=kr.from({tree:h,parent:d,author:b,committer:k,message:n});o&&(y=await kr.sign(y,r,o));let S=await Ar({fs:t,gitdir:i,type:"commit",object:y.toObject(),dryRun:c});return!u&&!c&&await W.writeRef({fs:t,gitdir:i,ref:g?"HEAD":f,value:S}),S})}async function ck({fs:t,gitdir:e,inode:r,dryRun:i}){let n=r.children;for(let l of n)l.type==="tree"&&(l.metadata.mode="040000",l.metadata.oid=await ck({fs:t,gitdir:e,inode:l,dryRun:i}));let s=n.map(l=>({mode:l.metadata.mode,path:l.basename,oid:l.metadata.oid,type:l.type})),a=Er.from(s);return await Ar({fs:t,gitdir:e,type:"tree",object:a.toObject(),dryRun:i})}async function su({fs:t,cache:e,gitdir:r,oid:i,filepath:n}){if(n.startsWith("/"))throw new $s("leading-slash");if(n.endsWith("/"))throw new $s("trailing-slash");let s=i,a=await Qo({fs:t,cache:e,gitdir:r,oid:i}),o=a.tree;if(n==="")i=a.oid;else{let l=n.split("/");i=await uk({fs:t,cache:e,gitdir:r,tree:o,pathArray:l,oid:s,filepath:n})}return i}async function uk({fs:t,cache:e,gitdir:r,tree:i,pathArray:n,oid:s,filepath:a}){let o=n.shift();for(let l of i)if(l.path===o){if(n.length===0)return l.oid;{let{type:c,object:u}=await Ke({fs:t,cache:e,gitdir:r,oid:l.oid});if(c!=="tree")throw new hr(s,c,"tree",a);return i=Er.from(u),uk({fs:t,cache:e,gitdir:r,tree:i,pathArray:n,oid:s,filepath:a})}}throw new He(`file or directory found at "${s}:${a}"`)}async function sl({fs:t,cache:e,gitdir:r,oid:i,filepath:n=void 0}){n!==void 0&&(i=await su({fs:t,cache:e,gitdir:r,oid:i,filepath:n}));let{tree:s,oid:a}=await Qo({fs:t,cache:e,gitdir:r,oid:i});return{oid:a,tree:s.entries()}}async function au({fs:t,gitdir:e,tree:r}){let i=Er.from(r).toObject();return await Ar({fs:t,gitdir:e,type:"tree",object:i,format:"content"})}async function T8({fs:t,cache:e,onSign:r,gitdir:i,ref:n,oid:s,note:a,force:o,author:l,committer:c,signingKey:u}){let f;try{f=await W.resolve({gitdir:i,fs:t,ref:n})}catch(w){if(!(w instanceof He))throw w}let h=(await sl({fs:t,cache:e,gitdir:i,oid:f||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;if(o)h=h.filter(w=>w.path!==s);else for(let w of h)if(w.path===s)throw new $i("note",s);typeof a=="string"&&(a=Buffer.from(a,"utf8"));let m=await Ar({fs:t,gitdir:i,type:"blob",object:a,format:"content"});h.push({mode:"100644",path:s,oid:m,type:"blob"});let g=await au({fs:t,gitdir:i,tree:h});return await Od({fs:t,cache:e,onSign:r,gitdir:i,ref:n,tree:g,parent:f&&[f],message:`Note added by 'isomorphic-git addNote' +`,author:l,committer:c,signingKey:u})}async function fk({fs:t,onSign:e,dir:r,gitdir:i=O(r,".git"),ref:n="refs/notes/commits",oid:s,note:a,force:o,author:l,committer:c,signingKey:u,cache:f={}}){try{C("fs",t),C("gitdir",i),C("oid",s),C("note",a),u&&C("onSign",e);let d=new J(t),h=await Os({fs:d,gitdir:i,author:l});if(!h)throw new Jt("author");let m=await Jo({fs:d,gitdir:i,author:h,committer:c});if(!m)throw new Jt("committer");let g=await ee({fsp:d,dotgit:i});return await T8({fs:d,cache:f,onSign:e,gitdir:g,ref:n,oid:s,note:a,force:o,author:h,committer:m,signingKey:u})}catch(d){throw d.caller="git.addNote",d}}var C8=/(^|[/.])([/.]|$)|^@$|@{|[\x00-\x20\x7f~^:?*[\\]|\.lock(\/|$)/;function nu(t,e){if(typeof t!="string")throw new TypeError("Reference name must be a string");return!C8.test(t)&&(!!e||t.includes("/"))}async function dk({fs:t,gitdir:e,remote:r,url:i,force:n}){if(!nu(r,!0))throw new Ii(r,Hc.clean(r));let s=await ct.get({fs:t,gitdir:e});if(!n&&(await s.getSubsections("remote")).includes(r)&&i!==await s.get(`remote.${r}.url`))throw new $i("remote",r);await s.set(`remote.${r}.url`,i),await s.set(`remote.${r}.fetch`,`+refs/heads/*:refs/remotes/${r}/*`),await ct.save({fs:t,gitdir:e,config:s})}async function hk({fs:t,dir:e,gitdir:r=O(e,".git"),remote:i,url:n,force:s=!1}){try{C("fs",t),C("gitdir",r),C("remote",i),C("url",n);let a=new J(t),o=await ee({fsp:a,dotgit:r});return await dk({fs:a,gitdir:o,remote:i,url:n,force:s})}catch(a){throw a.caller="git.addRemote",a}}async function P8({fs:t,cache:e,onSign:r,gitdir:i,ref:n,tagger:s,message:a=n,gpgsig:o,object:l,signingKey:c,force:u=!1}){if(n=n.startsWith("refs/tags/")?n:`refs/tags/${n}`,!u&&await W.exists({fs:t,gitdir:i,ref:n}))throw new $i("tag",n);let f=await W.resolve({fs:t,gitdir:i,ref:l||"HEAD"}),{type:d}=await Ke({fs:t,cache:e,gitdir:i,oid:f}),h=Kr.from({object:f,type:d,tag:n.replace("refs/tags/",""),tagger:s,message:a,gpgsig:o});c&&(h=await Kr.sign(h,r,c));let m=await Ar({fs:t,gitdir:i,type:"tag",object:h.toObject()});await W.writeRef({fs:t,gitdir:i,ref:n,value:m})}async function pk({fs:t,onSign:e,dir:r,gitdir:i=O(r,".git"),ref:n,tagger:s,message:a=n,gpgsig:o,object:l,signingKey:c,force:u=!1,cache:f={}}){try{C("fs",t),C("gitdir",i),C("ref",n),c&&C("onSign",e);let d=new J(t),h=await ee({fsp:d,dotgit:i}),m=await Os({fs:d,gitdir:h,author:s});if(!m)throw new Jt("tagger");return await P8({fs:d,cache:f,onSign:e,gitdir:h,ref:n,tagger:m,message:a,gpgsig:o,object:l,signingKey:c,force:u})}catch(d){throw d.caller="git.annotatedTag",d}}async function R8({fs:t,gitdir:e,ref:r,object:i,checkout:n=!1,force:s=!1}){if(!nu(r,!0))throw new Ii(r,Hc.clean(r));let a=`refs/heads/${r}`;if(!s&&await W.exists({fs:t,gitdir:e,ref:a}))throw new $i("branch",r,!1);let o;try{o=await W.resolve({fs:t,gitdir:e,ref:i||"HEAD"})}catch(l){}o&&await W.writeRef({fs:t,gitdir:e,ref:a,value:o}),n&&await W.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:a})}async function mk({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i,object:n,checkout:s=!1,force:a=!1}){try{C("fs",t),C("gitdir",r),C("ref",i);let o=new J(t),l=await ee({fsp:o,dotgit:r});return await R8({fs:o,gitdir:l,ref:i,object:n,checkout:s,force:a})}catch(o){throw o.caller="git.branch",o}}var gk=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);async function vv({fs:t,cache:e,onProgress:r,onPostCheckout:i,dir:n,gitdir:s,remote:a,ref:o,filepaths:l,noCheckout:c,noUpdateHead:u,dryRun:f,force:d,track:h=!0,nonBlocking:m=!1,batchSize:g=100}){let v;if(i)try{v=await W.resolve({fs:t,gitdir:s,ref:"HEAD"})}catch(b){v="0000000000000000000000000000000000000000"}let w;try{w=await W.resolve({fs:t,gitdir:s,ref:o})}catch(b){if(o==="HEAD")throw b;let k=`${a}/${o}`;if(w=await W.resolve({fs:t,gitdir:s,ref:k}),h){let x=await ct.get({fs:t,gitdir:s});await x.set(`branch.${o}.remote`,a),await x.set(`branch.${o}.merge`,`refs/heads/${o}`),await ct.save({fs:t,gitdir:s,config:x})}await W.writeRef({fs:t,gitdir:s,ref:`refs/heads/${o}`,value:w})}if(!c){let b;try{b=await $8({fs:t,cache:e,onProgress:r,dir:n,gitdir:s,ref:o,force:d,filepaths:l})}catch(y){throw y instanceof He&&y.data.what===w?new Vc(o,w):y}let k=b.filter(([y])=>y==="conflict").map(([y,S])=>S);if(k.length>0)throw new zc(k);let x=b.filter(([y])=>y==="error").map(([y,S])=>S);if(x.length>0)throw new he(x.join(", "));if(f){i&&await i({previousHead:v,newHead:w,type:l!=null&&l.length>0?"file":"branch"});return}let E=0,A=b.length;if(await mt.acquire({fs:t,gitdir:s,cache:e},async function(y){await Promise.all(b.filter(([S])=>S==="delete"||S==="delete-index").map(async function([S,_]){let T=`${n}/${_}`;S==="delete"&&await t.rm(T),y.delete({filepath:_}),r&&await r({phase:"Updating workdir",loaded:++E,total:A})}))}),await mt.acquire({fs:t,gitdir:s,cache:e},async function(y){for(let[S,_]of b)if(S==="rmdir"||S==="rmdir-index"){let T=`${n}/${_}`;try{S==="rmdir"&&await t.rmdir(T),y.delete({filepath:_}),r&&await r({phase:"Updating workdir",loaded:++E,total:A})}catch(P){if(P.code==="ENOTEMPTY")console.log(`Did not delete ${_} because directory is not empty`);else throw P}}}),await Promise.all(b.filter(([y])=>y==="mkdir"||y==="mkdir-index").map(async function([y,S]){let _=`${n}/${S}`;await t.mkdir(_),r&&await r({phase:"Updating workdir",loaded:++E,total:A})})),m){let y=b.filter(([_])=>_==="create"||_==="create-index"||_==="update"||_==="mkdir-index"),S=await LE("Update Working Dir",y.map(([_,T,P,D,B])=>()=>F8({fs:t,cache:e,gitdir:s,dir:n},[_,T,P,D,B])),r,g);await mt.acquire({fs:t,gitdir:s,cache:e,allowUnmerged:!0},async function(_){await LE("Update Index",S.map(([T,P,D])=>()=>I8({index:_,fullpath:T,oid:P,stats:D})),r,g)})}else await mt.acquire({fs:t,gitdir:s,cache:e,allowUnmerged:!0},async function(y){await Promise.all(b.filter(([S])=>S==="create"||S==="create-index"||S==="update"||S==="mkdir-index").map(async function([S,_,T,P,D]){let B=`${n}/${_}`;try{if(S!=="create-index"&&S!=="mkdir-index"){let{object:ce}=await Ke({fs:t,cache:e,gitdir:s,oid:T});if(D&&await t.rm(B),P===33188)await t.write(B,ce);else if(P===33261)await t.write(B,ce,{mode:511});else if(P===40960)await t.writelink(B,ce);else throw new he(`Invalid mode 0o${P.toString(8)} detected in blob ${T}`)}let N=await t.lstat(B);P===33261&&(N.mode=493),S==="mkdir-index"&&(N.mode=57344),y.insert({filepath:_,stats:N,oid:T}),r&&await r({phase:"Updating workdir",loaded:++E,total:A})}catch(N){console.log(N)}}))});i&&await i({previousHead:v,newHead:w,type:l!=null&&l.length>0?"file":"branch"})}if(!u){let b=await W.expand({fs:t,gitdir:s,ref:o});b.startsWith("refs/heads")?await W.writeSymbolicRef({fs:t,gitdir:s,ref:"HEAD",value:b}):await W.writeRef({fs:t,gitdir:s,ref:"HEAD",value:w})}}async function $8({fs:t,cache:e,onProgress:r,dir:i,gitdir:n,ref:s,force:a,filepaths:o}){let l=0;return Is({fs:t,cache:e,dir:i,gitdir:n,trees:[Zr({ref:s}),nl(),Aa()],map:async function(c,[u,f,d]){if(c===".")return;if(o&&!o.some(m=>gk(c,m)))return null;switch(r&&await r({phase:"Analyzing workdir",loaded:++l}),[!!d,!!u,!!f].map(Number).join("")){case"000":return;case"001":return a&&o&&o.includes(c)?["delete",c]:void 0;case"010":switch(await u.type()){case"tree":return["mkdir",c];case"blob":return["create",c,await u.oid(),await u.mode()];case"commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`new entry Unhandled type ${await u.type()}`]}case"011":switch(`${await u.type()}-${await f.type()}`){case"tree-tree":return;case"tree-blob":case"blob-tree":return["conflict",c];case"blob-blob":return await u.oid()!==await f.oid()?a?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]:await u.mode()!==await f.mode()?a?["update",c,await u.oid(),await u.mode(),!0]:["conflict",c]:["create-index",c,await u.oid(),await u.mode()];case"commit-tree":return;case"commit-blob":return["conflict",c];default:return["error",`new entry Unhandled type ${u.type}`]}case"100":return["delete-index",c];case"101":switch(await d.type()){case"tree":return["rmdir-index",c];case"blob":return await d.oid()!==await f.oid()?a?["delete",c]:["conflict",c]:["delete",c];case"commit":return["rmdir-index",c];default:return["error",`delete entry Unhandled type ${await d.type()}`]}case"110":case"111":switch(`${await d.type()}-${await u.type()}`){case"tree-tree":return;case"blob-blob":{if(await d.oid()===await u.oid()&&await d.mode()===await u.mode()&&!a)return;if(f){if(await f.oid()!==await d.oid()&&await f.oid()!==await u.oid())return a?["update",c,await u.oid(),await u.mode(),await u.mode()!==await f.mode()]:["conflict",c]}else if(a)return["update",c,await u.oid(),await u.mode(),await u.mode()!==await d.mode()];return await u.mode()!==await d.mode()?["update",c,await u.oid(),await u.mode(),!0]:await u.oid()!==await d.oid()?["update",c,await u.oid(),await u.mode(),!1]:void 0}case"tree-blob":return["update-dir-to-blob",c,await u.oid()];case"blob-tree":return["update-blob-to-tree",c];case"commit-commit":return["mkdir-index",c,await u.oid(),await u.mode()];default:return["error",`update entry Unhandled type ${await d.type()}-${await u.type()}`]}}},reduce:async function(c,u){return u=rk(u),c?c&&c[0]==="rmdir"?(u.push(c),u):(u.unshift(c),u):u}})}async function I8({index:t,fullpath:e,stats:r,oid:i}){try{t.insert({filepath:e,stats:r,oid:i})}catch(n){console.warn(`Error inserting ${e} into index:`,n)}}async function F8({fs:t,cache:e,gitdir:r,dir:i},[n,s,a,o,l]){let c=`${i}/${s}`;if(n!=="create-index"&&n!=="mkdir-index"){let{object:f}=await Ke({fs:t,cache:e,gitdir:r,oid:a});if(l&&await t.rm(c),o===33188)await t.write(c,f);else if(o===33261)await t.write(c,f,{mode:511});else if(o===40960)await t.writelink(c,f);else throw new he(`Invalid mode 0o${o.toString(8)} detected in blob ${a}`)}let u=await t.lstat(c);return o===33261&&(u.mode=493),n==="mkdir-index"&&(u.mode=57344),[s,a,u]}async function LE(t,e,r,i){let n=[];try{for(let s=0;sl());(await Promise.allSettled(a)).forEach(l=>{l.status==="fulfilled"&&n.push(l.value)}),r&&await r({phase:"Updating workdir",loaded:s+a.length,total:e.length})}return n}catch(s){console.error(`Error during ${t}: ${s}`)}return n}async function wv({fs:t,onProgress:e,onPostCheckout:r,dir:i,gitdir:n=O(i,".git"),remote:s="origin",ref:a,filepaths:o,noCheckout:l=!1,noUpdateHead:c=a===void 0,dryRun:u=!1,force:f=!1,track:d=!0,cache:h={},nonBlocking:m=!1,batchSize:g=100}){try{C("fs",t),C("dir",i),C("gitdir",n);let v=a||"HEAD",w=new J(t),b=await ee({fsp:w,dotgit:n});return await vv({fs:w,cache:h,onProgress:e,onPostCheckout:r,dir:i,gitdir:b,remote:s,ref:v,filepaths:o,noCheckout:l,noUpdateHead:c,dryRun:u,force:f,track:d,nonBlocking:m,batchSize:g})}catch(v){throw v.caller="git.checkout",v}}var O8=/^refs\/(heads\/|tags\/|remotes\/)?(.*)/;function _a(t){let e=O8.exec(t);return e?e[1]==="remotes/"&&t.endsWith("/HEAD")?e[2].slice(0,-5):e[2]:t}async function Ds({fs:t,gitdir:e,fullname:r=!1,test:i=!1}){let n=await W.resolve({fs:t,gitdir:e,ref:"HEAD",depth:2});if(i)try{await W.resolve({fs:t,gitdir:e,ref:n})}catch(s){return}if(n.startsWith("refs/"))return r?n:_a(n)}function M8(t){return t=t.replace(/^git@([^:]+):/,"https://$1/"),t=t.replace(/^ssh:\/\//,"https://"),t}function vk({username:t="",password:e=""}){return`Basic ${Buffer.from(`${t}:${e}`).toString("base64")}`}async function ou(t,e){let r=JE(t);for(;;){let{value:i,done:n}=await r.next();if(i&&await e(i),n)break}r.return&&r.return()}async function Pd(t){let e=0,r=[];await ou(t,s=>{r.push(s),e+=s.byteLength});let i=new Uint8Array(e),n=0;for(let s of r)i.set(s,n),n+=s.byteLength;return i}function BE(t){let e=t.match(/^https?:\/\/([^/]+)@/);if(e==null)return{url:t,auth:{}};e=e[1];let[r,i]=e.split(":");return t=t.replace(`${e}@`,""),{url:t,auth:{username:r,password:i}}}function pv(t,e){let r=e.toString(16);return"0".repeat(t-r.length)+r}var at=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 r=e.length+4,i=pv(4,r);return Buffer.concat([Buffer.from(i,"utf8"),e])}static streamReader(e){let r=new Ad(e);return async function(){try{let n=await r.read(4);if(n==null)return!0;if(n=parseInt(n.toString("utf8"),16),n===0||n===1)return null;let s=await r.read(n-4);return s==null?!0:s}catch(n){return e.error=n,!0}}}};async function NE(t){let e={},r;for(;r=await t(),r!==!0;){if(r===null)continue;r=r.toString("utf8").replace(/\n$/,"");let i=r.indexOf("=");if(i>-1){let n=r.slice(0,i),s=r.slice(i+1);e[n]=s}else e[r]=!0}return{protocolVersion:2,capabilities2:e}}async function HE(t,{service:e}){let r=new Set,i=new Map,n=new Map,s=at.streamReader(t),a=await s();for(;a===null;)a=await s();if(a===!0)throw new Wc;if(a.includes("version 2"))return NE(s);if(a.toString("utf8").replace(/\n$/,"")!==`# service=${e}`)throw new Sa(`# service=${e}\\n`,a.toString("utf8"));let o=await s();for(;o===null;)o=await s();if(o===!0)return{capabilities:r,refs:i,symrefs:n};if(o=o.toString("utf8"),o.includes("version 2"))return NE(s);let[l,c]=Qg(o,"\0","\\x00");if(c.split(" ").map(u=>r.add(u)),l!=="0000000000000000000000000000000000000000 capabilities^{}"){let[u,f]=Qg(l," "," ");for(i.set(f,u);;){let d=await s();if(d===!0)break;if(d!==null){let[h,m]=Qg(d.toString("utf8")," "," ");i.set(m,h)}}}for(let u of r)if(u.startsWith("symref=")){let f=u.match(/symref=([^:]+):(.*)/);f.length===3&&n.set(f[1],f[2])}return{protocolVersion:1,capabilities:r,refs:i,symrefs:n}}function Qg(t,e,r){let i=t.trim().split(e);if(i.length!==2)throw new Sa(`Two strings separated by '${r}'`,t.toString("utf8"));return i}var UE=(t,e)=>t.endsWith("?")?`${t}${e}`:`${t}/${e.replace(/^https?:\/\//,"")}`,GE=(t,e)=>{(e.username||e.password)&&(t.Authorization=vk(e)),e.headers&&Object.assign(t,e.headers)},Jg=async t=>{try{let e=Buffer.from(await Pd(t.body)),r=e.toString("utf8");return{preview:r.length<256?r:r.slice(0,256)+"...",response:r,data:e}}catch(e){return{}}},tl=class{static async capabilities(){return["discover","connect"]}static async discover({http:e,onProgress:r,onAuth:i,onAuthSuccess:n,onAuthFailure:s,corsProxy:a,service:o,url:l,headers:c,protocolVersion:u}){let{url:f,auth:d}=BE(l),h=a?UE(a,f):f;(d.username||d.password)&&(c.Authorization=vk(d)),u===2&&(c["Git-Protocol"]="version=2");let m,g,v=!1;do if(m=await e.request({onProgress:r,method:"GET",url:`${h}/info/refs?service=${o}`,headers:c}),g=!1,m.statusCode===401||m.statusCode===203){let w=v?s:i;if(w){if(d=await w(f,{...d,headers:{...c}}),d&&d.cancel)throw new Ko;d&&(GE(c,d),v=!0,g=!0)}}else m.statusCode===200&&v&&n&&await n(f,d);while(g);if(m.statusCode!==200){let{response:w}=await Jg(m);throw new Wo(m.statusCode,m.statusMessage,w)}if(m.headers["content-type"]===`application/x-${o}-advertisement`){let w=await HE(m.body,{service:o});return w.auth=d,w}else{let{preview:w,response:b,data:k}=await Jg(m);try{let x=await HE([k],{service:o});return x.auth=d,x}catch(x){throw new Qc(w,b)}}}static async connect({http:e,onProgress:r,corsProxy:i,service:n,url:s,auth:a,body:o,headers:l}){let c=BE(s);c&&(s=c.url),i&&(s=UE(i,s)),l["content-type"]=`application/x-${n}-request`,l.accept=`application/x-${n}-result`,GE(l,a);let u=await e.request({onProgress:r,method:"POST",url:`${s}/${n}`,body:o,headers:l});if(u.statusCode!==200){let{response:f}=Jg(u);throw new Wo(u.statusCode,u.statusMessage,f)}return u}},rl=class{static getRemoteHelperFor({url:e}){let r=new Map;r.set("http",tl),r.set("https",tl);let i=D8({url:e});if(!i)throw new eu(e);if(r.has(i.transport))return r.get(i.transport);throw new Jc(e,i.transport,i.transport==="ssh"?M8(e):void 0)}};function D8({url:t}){if(t.startsWith("git@"))return{transport:"ssh",address:t};let e=t.match(/(\w+)(:\/\/|::)(.*)/);if(e!==null){if(e[2]==="://")return{transport:e[1],address:e[0]};if(e[2]==="::")return{transport:e[1],address:e[3]}}}var ba=null,Ea=class{static async read({fs:e,gitdir:r}){ba===null&&(ba=new Nc);let i=O(r,"shallow"),n=new Set;return await ba.acquire(i,async function(){let s=await e.read(i,{encoding:"utf8"});if(s===null||s.trim()==="")return n;s.trim().split(` +`).map(a=>n.add(a))}),n}static async write({fs:e,gitdir:r,oids:i}){ba===null&&(ba=new Nc);let n=O(r,"shallow");if(i.size>0){let s=[...i].join(` +`)+` +`;await ba.acquire(n,async function(){await e.write(n,s,{encoding:"utf8"})})}else await ba.acquire(n,async function(){await e.rm(n)})}};async function L8({fs:t,gitdir:e,oid:r}){let i=`objects/${r.slice(0,2)}/${r.slice(2)}`;return t.exists(`${e}/${i}`)}async function B8({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:n}){let s=await t.readdir(O(r,"objects/pack"));s=s.filter(a=>a.endsWith(".idx"));for(let a of s){let o=`${r}/objects/pack/${a}`,l=await gv({fs:t,cache:e,filename:o,getExternalRefDelta:n});if(l.error)throw new he(l.error);if(l.offsets.has(i))return!0}return!1}async function jE({fs:t,cache:e,gitdir:r,oid:i,format:n="content"}){let s=o=>Ke({fs:t,cache:e,gitdir:r,oid:o}),a=await L8({fs:t,gitdir:r,oid:i});return a||(a=await B8({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:s})),a}function N8(t){let n="5041434b"+"00000002"+"00000000";return t.slice(0,12).toString("hex")===n}function wk(t,e){let r=t.map(i=>i.split("=",1)[0]);return e.filter(i=>{let n=i.split("=",1)[0];return r.includes(n)})}var Md={name:"isomorphic-git",version:"1.36.3",agent:"git/isomorphic-git@1.36.3"},qo=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 r=this._waiting;this._waiting=null,r({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 H8(t){let e=t.indexOf("\r"),r=t.indexOf(` +`);return e===-1&&r===-1?-1:e===-1?r+1:r===-1?e+1:r===e+1?r+1:Math.min(e,r)+1}function yk(t){let e=new qo,r="";return(async()=>(await ou(t,i=>{for(i=i.toString("utf8"),r+=i;;){let n=H8(r);if(n===-1)break;e.write(r.slice(0,n)),r=r.slice(n)}}),r.length>0&&e.write(r),e.end()))(),e}var Rd=class{static demux(e){let r=at.streamReader(e),i=new qo,n=new qo,s=new qo,a=async function(){let o=await r();if(o===null)return a();if(o===!0){i.end(),s.end(),e.error?n.destroy(e.error):n.end();return}switch(o[0]){case 1:{n.write(o.slice(1));break}case 2:{s.write(o.slice(1));break}case 3:{let l=o.slice(1);s.write(l),i.end(),s.end(),n.destroy(new Error(l.toString("utf8")));return}default:i.write(o)}a()};return a(),{packetlines:i,packfile:n,progress:s}}};async function U8(t){let{packetlines:e,packfile:r,progress:i}=Rd.demux(t),n=[],s=[],a=[],o=!1,l=!1;return new Promise((c,u)=>{ou(e,f=>{let d=f.toString("utf8").trim();if(d.startsWith("shallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Ps(h)),n.push(h)}else if(d.startsWith("unshallow")){let h=d.slice(-41).trim();h.length!==40&&u(new Ps(h)),s.push(h)}else if(d.startsWith("ACK")){let[,h,m]=d.split(" ");a.push({oid:h,status:m}),m||(l=!0)}else d.startsWith("NAK")?(o=!0,l=!0):(l=!0,o=!0);l&&(t.error?u(t.error):c({shallows:n,unshallows:s,acks:a,nak:o,packfile:r,progress:i}))}).finally(()=>{l||(t.error?u(t.error):c({shallows:n,unshallows:s,acks:a,nak:o,packfile:r,progress:i}))})})}function G8({capabilities:t=[],wants:e=[],haves:r=[],shallows:i=[],depth:n=null,since:s=null,exclude:a=[]}){let o=[];e=[...new Set(e)];let l=` ${t.join(" ")}`;for(let c of e)o.push(at.encode(`want ${c}${l} +`)),l="";for(let c of i)o.push(at.encode(`shallow ${c} +`));n!==null&&o.push(at.encode(`deepen ${n} +`)),s!==null&&o.push(at.encode(`deepen-since ${Math.floor(s.valueOf()/1e3)} +`));for(let c of a)o.push(at.encode(`deepen-not ${c} +`));o.push(at.flush());for(let c of r)o.push(at.encode(`have ${c} +`));return o.push(at.encode(`done +`)),o}async function yv({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:l,ref:c,remoteRef:u,remote:f,url:d,corsProxy:h,depth:m=null,since:g=null,exclude:v=[],relative:w=!1,tags:b=!1,singleBranch:k=!1,headers:x={},prune:E=!1,pruneTags:A=!1}){let y=c||await Ds({fs:t,gitdir:l,test:!0}),S=await ct.get({fs:t,gitdir:l}),_=f||y&&await S.get(`branch.${y}.remote`)||"origin",T=d||await S.get(`remote.${_}.url`);if(typeof T=="undefined")throw new Sr("remote OR url");let P=u||y&&await S.get(`branch.${y}.merge`)||c||"HEAD";h===void 0&&(h=await S.get("http.corsProxy"));let D=rl.getRemoteHelperFor({url:T}),B=await D.discover({http:r,onAuth:s,onAuthSuccess:a,onAuthFailure:o,corsProxy:h,service:"git-upload-pack",url:T,headers:x,protocolVersion:1}),N=B.auth,ce=B.refs;if(ce.size===0)return{defaultBranch:null,fetchHead:null,fetchHeadDescription:null};if(m!==null&&!B.capabilities.has("shallow"))throw new Cs("shallow","depth");if(g!==null&&!B.capabilities.has("deepen-since"))throw new Cs("deepen-since","since");if(v.length>0&&!B.capabilities.has("deepen-not"))throw new Cs("deepen-not","exclude");if(w===!0&&!B.capabilities.has("deepen-relative"))throw new Cs("deepen-relative","relative");let{oid:Pe,fullref:ve}=W.resolveAgainstMap({ref:P,map:ce});for(let q of ce.keys())q===ve||q==="HEAD"||q.startsWith("refs/heads/")||b&&q.startsWith("refs/tags/")||ce.delete(q);let se=wk([...B.capabilities],["multi_ack_detailed","no-done","side-band-64k","ofs-delta",`agent=${Md.agent}`]);w&&se.push("deepen-relative");let xe=k?[Pe]:ce.values(),we=k?[y]:await W.listRefs({fs:t,gitdir:l,filepath:"refs"}),z=[];for(let q of we)try{q=await W.expand({fs:t,gitdir:l,ref:q});let Z=await W.resolve({fs:t,gitdir:l,ref:q});await jE({fs:t,cache:e,gitdir:l,oid:Z})&&z.push(Z)}catch(Z){}z=[...new Set(z)];let Q=await Ea.read({fs:t,gitdir:l}),j=B.capabilities.has("shallow")?[...Q]:[],Le=G8({capabilities:se,wants:xe,haves:z,shallows:j,depth:m,since:g,exclude:v}),lr=Buffer.from(await Pd(Le)),Ft=await D.connect({http:r,onProgress:i,corsProxy:h,service:"git-upload-pack",url:T,auth:N,body:[lr],headers:x}),Ie=await U8(Ft.body);Ft.headers&&(Ie.headers=Ft.headers);for(let q of Ie.shallows)if(!Q.has(q))try{let{object:Z}=await Ke({fs:t,cache:e,gitdir:l,oid:q}),L=new kr(Z),V=await Promise.all(L.headers().parent.map(qe=>jE({fs:t,cache:e,gitdir:l,oid:qe})));V.length===0||V.every(qe=>qe)||Q.add(q)}catch(Z){Q.add(q)}for(let q of Ie.unshallows)Q.delete(q);if(await Ea.write({fs:t,gitdir:l,oids:Q}),k){let q=new Map([[ve,Pe]]),Z=new Map,L=10,V=ve;for(;L--;){let Ot=B.symrefs.get(V);if(Ot===void 0)break;Z.set(V,Ot),V=Ot}let Te=ce.get(V);Te&&q.set(V,Te);let{pruned:qe}=await W.updateRemoteRefs({fs:t,gitdir:l,remote:_,refs:q,symrefs:Z,tags:b,prune:E});E&&(Ie.pruned=qe)}else{let{pruned:q}=await W.updateRemoteRefs({fs:t,gitdir:l,remote:_,refs:ce,symrefs:B.symrefs,tags:b,prune:E,pruneTags:A});E&&(Ie.pruned=q)}if(Ie.HEAD=B.symrefs.get("HEAD"),Ie.HEAD===void 0){let{oid:q}=W.resolveAgainstMap({ref:"HEAD",map:ce});for(let[Z,L]of ce.entries())if(Z!=="HEAD"&&L===q){Ie.HEAD=Z;break}}let At=ve.startsWith("refs/tags")?"tag":"branch";if(Ie.FETCH_HEAD={oid:Pe,description:`${At} '${_a(ve)}' of ${T}`},i||n){let q=yk(Ie.progress);ou(q,async Z=>{if(n&&await n(Z),i){let L=Z.match(/([^:]*).*\((\d+?)\/(\d+?)\)/);L&&await i({phase:L[1].trim(),loaded:parseInt(L[2],10),total:parseInt(L[3],10)})}})}let Tt=Buffer.from(await Pd(Ie.packfile));if(Ft.body.error)throw Ft.body.error;let jt=Tt.slice(-20).toString("hex"),Ze={defaultBranch:Ie.HEAD,fetchHead:Ie.FETCH_HEAD.oid,fetchHeadDescription:Ie.FETCH_HEAD.description};if(Ie.headers&&(Ze.headers=Ie.headers),E&&(Ze.pruned=Ie.pruned),jt!==""&&!N8(Tt)){Ze.packfile=`objects/pack/pack-${jt}.pack`;let q=O(l,Ze.packfile);await t.write(q,Tt);let Z=V=>Ke({fs:t,cache:e,gitdir:l,oid:V}),L=await jc.fromPack({pack:Tt,getExternalRefDelta:Z,onProgress:i});await t.write(q.replace(/\.pack$/,".idx"),await L.toBuffer())}return Ze}async function bk({fs:t,bare:e=!1,dir:r,gitdir:i=e?r:O(r,".git"),defaultBranch:n="master"}){if(await t.exists(i+"/config"))return;let s=["hooks","info","objects/info","objects/pack","refs/heads","refs/tags"];s=s.map(a=>i+"/"+a);for(let a of s)await t.mkdir(a);await t.write(i+"/config",`[core] + repositoryformatversion = 0 + filemode = false + bare = ${e} +`+(e?"":` logallrefupdates = true +`)+` symlinks = false + ignorecase = true +`),await t.write(i+"/HEAD",`ref: refs/heads/${n} +`)}async function j8({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPostCheckout:l,dir:c,gitdir:u,url:f,corsProxy:d,ref:h,remote:m,depth:g,since:v,exclude:w,relative:b,singleBranch:k,noCheckout:x,noTags:E,headers:A,nonBlocking:y,batchSize:S=100}){try{if(await bk({fs:t,gitdir:u}),await dk({fs:t,gitdir:u,remote:m,url:f,force:!1}),d){let P=await ct.get({fs:t,gitdir:u});await P.set("http.corsProxy",d),await ct.save({fs:t,gitdir:u,config:P})}let{defaultBranch:_,fetchHead:T}=await yv({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:u,ref:h,remote:m,corsProxy:d,depth:g,since:v,exclude:w,relative:b,singleBranch:k,headers:A,tags:!E});if(T===null)return;h=h||_,h=h.replace("refs/heads/",""),await vv({fs:t,cache:e,onProgress:i,onPostCheckout:l,dir:c,gitdir:u,ref:h,remote:m,noCheckout:x,nonBlocking:y,batchSize:S})}catch(_){throw await t.rmdir(u,{recursive:!0,maxRetries:10}).catch(()=>{}),_}}async function _k({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:c=O(l,".git"),url:u,corsProxy:f=void 0,ref:d=void 0,remote:h="origin",depth:m=void 0,since:g=void 0,exclude:v=[],relative:w=!1,singleBranch:b=!1,noCheckout:k=!1,noTags:x=!1,headers:E={},cache:A={},nonBlocking:y=!1,batchSize:S=100}){try{C("fs",t),C("http",e),C("gitdir",c),k||C("dir",l),C("url",u);let _=new J(t),T=await ee({fsp:_,dotgit:c});return await j8({fs:_,cache:A,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPostCheckout:o,dir:l,gitdir:T,url:u,corsProxy:f,ref:d,remote:h,depth:m,since:g,exclude:v,relative:w,singleBranch:b,noCheckout:k,noTags:x,headers:E,nonBlocking:y,batchSize:S})}catch(_){throw _.caller="git.clone",_}}async function xk({fs:t,onSign:e,dir:r,gitdir:i=O(r,".git"),message:n,author:s,committer:a,signingKey:o,amend:l=!1,dryRun:c=!1,noUpdateBranch:u=!1,ref:f,parent:d,tree:h,cache:m={}}){try{C("fs",t),l||C("message",n),o&&C("onSign",e);let g=new J(t),v=await ee({fsp:g,dotgit:i});return await Od({fs:g,cache:m,onSign:e,gitdir:v,message:n,author:s,committer:a,signingKey:o,amend:l,dryRun:c,noUpdateBranch:u,ref:f,parent:d,tree:h})}catch(g){throw g.caller="git.commit",g}}async function Sk({fs:t,dir:e,gitdir:r=O(e,".git"),fullname:i=!1,test:n=!1}){try{C("fs",t),C("gitdir",r);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await Ds({fs:s,gitdir:a,fullname:i,test:n})}catch(s){throw s.caller="git.currentBranch",s}}async function q8({fs:t,gitdir:e,ref:r}){if(r=r.startsWith("refs/heads/")?r:`refs/heads/${r}`,!await W.exists({fs:t,gitdir:e,ref:r}))throw new He(r);let n=await W.expand({fs:t,gitdir:e,ref:r}),s=await Ds({fs:t,gitdir:e,fullname:!0});if(n===s){let l=await W.resolve({fs:t,gitdir:e,ref:n});await W.writeRef({fs:t,gitdir:e,ref:"HEAD",value:l})}await W.deleteRef({fs:t,gitdir:e,ref:n});let a=_a(r),o=await ct.get({fs:t,gitdir:e});await o.deleteSection("branch",a),await ct.save({fs:t,gitdir:e,config:o})}async function Ek({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i}){try{C("fs",t),C("ref",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await q8({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.deleteBranch",n}}async function kk({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i}){try{C("fs",t),C("ref",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});await W.deleteRef({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.deleteRef",n}}async function z8({fs:t,gitdir:e,remote:r}){let i=await ct.get({fs:t,gitdir:e});await i.deleteSection("remote",r),await ct.save({fs:t,gitdir:e,config:i})}async function Ak({fs:t,dir:e,gitdir:r=O(e,".git"),remote:i}){try{C("fs",t),C("remote",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await z8({fs:n,gitdir:s,remote:i})}catch(n){throw n.caller="git.deleteRemote",n}}async function V8({fs:t,gitdir:e,ref:r}){r=r.startsWith("refs/tags/")?r:`refs/tags/${r}`,await W.deleteRef({fs:t,gitdir:e,ref:r})}async function Tk({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i}){try{C("fs",t),C("ref",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await V8({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.deleteTag",n}}async function W8({fs:t,gitdir:e,oid:r}){let i=r.slice(0,2);return(await t.readdir(`${e}/objects/${i}`)).map(s=>`${i}${s}`).filter(s=>s.startsWith(r))}async function Y8({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:n}){let s=[],a=await t.readdir(O(r,"objects/pack"));a=a.filter(o=>o.endsWith(".idx"));for(let o of a){let l=`${r}/objects/pack/${o}`,c=await gv({fs:t,cache:e,filename:l,getExternalRefDelta:n});if(c.error)throw new he(c.error);for(let u of c.offsets.keys())u.startsWith(i)&&s.push(u)}return s}async function X8({fs:t,cache:e,gitdir:r,oid:i}){let n=o=>Ke({fs:t,cache:e,gitdir:r,oid:o}),s=await W8({fs:t,gitdir:r,oid:i}),a=await Y8({fs:t,cache:e,gitdir:r,oid:i,getExternalRefDelta:n});for(let o of a)s.indexOf(o)===-1&&s.push(o);if(s.length===1)return s[0];throw s.length>1?new qc("oids",i,s):new He(`an object matching "${i}"`)}async function Ck({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,cache:n={}}){try{C("fs",t),C("gitdir",r),C("oid",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await X8({fs:s,cache:n,gitdir:a,oid:i})}catch(s){throw s.caller="git.expandOid",s}}async function Pk({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i}){try{C("fs",t),C("gitdir",r),C("ref",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await W.expand({fs:n,gitdir:s,ref:i})}catch(n){throw n.caller="git.expandRef",n}}async function bv({fs:t,cache:e,gitdir:r,oids:i}){let n={},s=i.length,a=i.map((o,l)=>({index:l,oid:o}));for(;a.length;){let o=new Set;for(let{oid:c,index:u}of a)n[c]||(n[c]=new Set),n[c].add(u),n[c].size===s&&o.add(c);if(o.size>0)return[...o];let l=new Map;for(let{oid:c,index:u}of a)try{let{object:f}=await Ke({fs:t,cache:e,gitdir:r,oid:c}),d=kr.from(f),{parent:h}=d.parseHeaders();for(let m of h)(!n[m]||!n[m].has(u))&&l.set(m+":"+u,{oid:m,index:u})}catch(f){}a=Array.from(l.values())}return[]}var ev=/^.*(\r?\n|$)/gm;function Z8({branches:t,contents:e}){let r=t[1],i=t[2],n=e[0],s=e[1],a=e[2],o=s.match(ev),l=n.match(ev),c=a.match(ev),u=C3(o,l,c),f=7,d="",h=!0;for(let m of u)m.ok&&(d+=m.ok.join("")),m.conflict&&(h=!1,d+=`${"<".repeat(f)} ${r} +`,d+=m.conflict.a.join(""),d+=`${"=".repeat(f)} +`,d+=m.conflict.b.join(""),d+=`${">".repeat(f)} ${i} +`);return{cleanMerge:h,mergedText:d}}async function K8({fs:t,cache:e,dir:r,gitdir:i=O(r,".git"),index:n,ourOid:s,baseOid:a,theirOid:o,ourName:l="ours",baseName:c="base",theirName:u="theirs",dryRun:f=!1,abortOnConflict:d=!0,mergeDriver:h}){let m=Zr({ref:s}),g=Zr({ref:a}),v=Zr({ref:o}),w=[],b=[],k=[],x=[],E=await Is({fs:t,cache:e,dir:r,gitdir:i,trees:[m,g,v],map:async function(A,[y,S,_]){let T=Sd(A),P=await Cd(y,S),D=await Cd(_,S);switch(`${P}-${D}`){case"false-false":return{mode:await S.mode(),path:T,oid:await S.oid(),type:await S.type()};case"false-true":return!_&&await y.type()==="tree"?{mode:await y.mode(),path:T,oid:await y.oid(),type:await y.type()}:_?{mode:await _.mode(),path:T,oid:await _.oid(),type:await _.type()}:void 0;case"true-false":return!y&&await _.type()==="tree"?{mode:await _.mode(),path:T,oid:await _.oid(),type:await _.type()}:y?{mode:await y.mode(),path:T,oid:await y.oid(),type:await y.type()}:void 0;case"true-true":{if(y&&_&&await y.type()==="tree"&&await _.type()==="tree")return{mode:await y.mode(),path:T,oid:await y.oid(),type:"tree"};if(y&&_&&await y.type()==="blob"&&await _.type()==="blob")return Q8({fs:t,gitdir:i,path:T,ours:y,base:S,theirs:_,ourName:l,baseName:c,theirName:u,mergeDriver:h}).then(async B=>{if(B.cleanMerge)d||n.insert({filepath:A,oid:B.mergeResult.oid,stage:0});else if(w.push(A),b.push(A),!d){let N="";S&&await S.type()==="blob"&&(N=await S.oid());let ce=await y.oid(),Pe=await _.oid();n.delete({filepath:A}),N&&n.insert({filepath:A,oid:N,stage:1}),n.insert({filepath:A,oid:ce,stage:2}),n.insert({filepath:A,oid:Pe,stage:3})}return B.mergeResult});if(S&&!y&&_&&await S.type()==="blob"&&await _.type()==="blob"){if(w.push(A),k.push(A),!d){let B=await S.oid(),N=await _.oid();n.delete({filepath:A}),n.insert({filepath:A,oid:B,stage:1}),n.insert({filepath:A,oid:N,stage:3})}return{mode:await _.mode(),oid:await _.oid(),type:"blob",path:T}}if(S&&y&&!_&&await S.type()==="blob"&&await y.type()==="blob"){if(w.push(A),x.push(A),!d){let B=await S.oid(),N=await y.oid();n.delete({filepath:A}),n.insert({filepath:A,oid:B,stage:1}),n.insert({filepath:A,oid:N,stage:2})}return{mode:await y.mode(),oid:await y.oid(),type:"blob",path:T}}if(S&&!y&&!_&&(await S.type()==="blob"||await S.type()==="tree"))return;throw new Yo}}},reduce:w.length!==0&&(!r||d)?void 0:async(A,y)=>{let S=y.filter(Boolean);if(A&&!(A&&A.type==="tree"&&S.length===0&&A.path!==".")){if(S.length>0||A.path==="."&&S.length===0){let T=new Er(S).toObject(),P=await Ar({fs:t,gitdir:i,type:"tree",object:T,dryRun:f});A.oid=P}return A}}});return w.length!==0?(r&&!d&&await Is({fs:t,cache:e,dir:r,gitdir:i,trees:[Zr({ref:E.oid})],map:async function(A,[y]){let S=`${r}/${A}`;if(await y.type()==="blob"){let _=await y.mode(),T=new TextDecoder().decode(await y.content());await t.write(S,T,{mode:_})}return!0}}),new Xo(w,b,k,x)):E.oid}async function Q8({fs:t,gitdir:e,path:r,ours:i,base:n,theirs:s,ourName:a,theirName:o,baseName:l,dryRun:c,mergeDriver:u=Z8}){let f="blob",d="100755",h="",m="";n&&await n.type()==="blob"&&(d=await n.mode(),h=await n.oid(),m=Buffer.from(await n.content()).toString("utf8"));let g=d===await i.mode()?await s.mode():await i.mode();if(await i.oid()===await s.oid())return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await i.oid(),type:f}};if(await i.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await s.oid(),type:f}};if(await s.oid()===h)return{cleanMerge:!0,mergeResult:{mode:g,path:r,oid:await i.oid(),type:f}};let v=Buffer.from(await i.content()).toString("utf8"),w=Buffer.from(await s.content()).toString("utf8"),{mergedText:b,cleanMerge:k}=await u({branches:[l,a,o],contents:[m,v,w],path:r}),x=await Ar({fs:t,gitdir:e,type:"blob",object:Buffer.from(b,"utf8"),dryRun:c});return{cleanMerge:k,mergeResult:{mode:g,path:r,oid:x,type:f}}}async function Rk({fs:t,cache:e,dir:r,gitdir:i,ours:n,theirs:s,fastForward:a=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:m,onSign:g,mergeDriver:v,allowUnrelatedHistories:w=!1}){n===void 0&&(n=await Ds({fs:t,gitdir:i,fullname:!0})),n=await W.expand({fs:t,gitdir:i,ref:n}),s=await W.expand({fs:t,gitdir:i,ref:s});let b=await W.resolve({fs:t,gitdir:i,ref:n}),k=await W.resolve({fs:t,gitdir:i,ref:s}),x=await bv({fs:t,cache:e,gitdir:i,oids:[b,k]});if(x.length!==1)if(x.length===0&&w)x.push("4b825dc642cb6eb9a060e54bf8d69288fbee4904");else throw new Yo;let E=x[0];if(E===k)return{oid:b,alreadyMerged:!0};if(a&&E===b)return!l&&!c&&await W.writeRef({fs:t,gitdir:i,ref:n,value:k}),{oid:k,fastForward:!0};{if(o)throw new Yc;let A=await mt.acquire({fs:t,gitdir:i,cache:e,allowUnmerged:!1},async S=>K8({fs:t,cache:e,dir:r,gitdir:i,index:S,ourOid:b,theirOid:k,baseOid:E,ourName:_a(n),baseName:"base",theirName:_a(s),dryRun:l,abortOnConflict:u,mergeDriver:v}));if(A instanceof Xo)throw A;return f||(f=`Merge branch '${_a(s)}' into ${_a(n)}`),{oid:await Od({fs:t,cache:e,gitdir:i,message:f,ref:n,tree:A,parent:[b,k],author:d,committer:h,signingKey:m,onSign:g,dryRun:l,noUpdateBranch:c}),tree:A,mergeCommit:!0}}}async function $k({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,dir:l,gitdir:c,ref:u,url:f,remote:d,remoteRef:h,prune:m,pruneTags:g,fastForward:v,fastForwardOnly:w,corsProxy:b,singleBranch:k,headers:x,author:E,committer:A,signingKey:y}){try{if(!u){let T=await Ds({fs:t,gitdir:c});if(!T)throw new Sr("ref");u=T}let{fetchHead:S,fetchHeadDescription:_}=await yv({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,gitdir:c,corsProxy:b,ref:u,url:f,remote:d,remoteRef:h,singleBranch:k,headers:x,prune:m,pruneTags:g});await Rk({fs:t,cache:e,gitdir:c,ours:u,theirs:S,fastForward:v,fastForwardOnly:w,message:`Merge ${_}`,author:E,committer:A,signingKey:y,dryRun:!1,noUpdateBranch:!1}),await vv({fs:t,cache:e,onProgress:i,dir:l,gitdir:c,ref:u,remote:d,noCheckout:!1})}catch(S){throw S.caller="git.pull",S}}async function Ik({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=O(o,".git"),ref:c,url:u,remote:f,remoteRef:d,corsProxy:h,singleBranch:m,headers:g={},cache:v={}}){try{C("fs",t),C("http",e),C("gitdir",l);let w={name:"",email:"",timestamp:Date.now(),timezoneOffset:0},b=new J(t),k=await ee({fsp:b,dotgit:l});return await $k({fs:b,cache:v,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:k,ref:c,url:u,remote:f,remoteRef:d,fastForwardOnly:!0,corsProxy:h,singleBranch:m,headers:g,author:w,committer:w})}catch(w){throw w.caller="git.fastForward",w}}async function Fk({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=O(o,".git"),ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:m=null,since:g=null,exclude:v=[],relative:w=!1,tags:b=!1,singleBranch:k=!1,headers:x={},prune:E=!1,pruneTags:A=!1,cache:y={}}){try{C("fs",t),C("http",e),C("gitdir",l);let S=new J(t),_=await ee({fsp:S,dotgit:l});return await yv({fs:S,cache:y,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,gitdir:_,ref:c,remote:u,remoteRef:f,url:d,corsProxy:h,depth:m,since:g,exclude:v,relative:w,tags:b,singleBranch:k,headers:x,prune:E,pruneTags:A})}catch(S){throw S.caller="git.fetch",S}}async function Ok({fs:t,dir:e,gitdir:r=O(e,".git"),oids:i,cache:n={}}){try{C("fs",t),C("gitdir",r),C("oids",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await bv({fs:s,cache:n,gitdir:a,oids:i})}catch(s){throw s.caller="git.findMergeBase",s}}async function Mk({fs:t,filepath:e}){if(await t.exists(O(e,".git")))return e;{let r=xa(e);if(r===e)throw new He(`git root for ${e}`);return Mk({fs:t,filepath:r})}}async function Dk({fs:t,filepath:e}){try{return C("fs",t),C("filepath",e),await Mk({fs:new J(t),filepath:e})}catch(r){throw r.caller="git.findRoot",r}}async function Lk({fs:t,dir:e,gitdir:r=O(e,".git"),path:i}){try{C("fs",t),C("gitdir",r),C("path",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await iu({fs:n,gitdir:s,path:i})}catch(n){throw n.caller="git.getConfig",n}}async function J8({fs:t,gitdir:e,path:r}){return(await ct.get({fs:t,gitdir:e})).getall(r)}async function Bk({fs:t,dir:e,gitdir:r=O(e,".git"),path:i}){try{C("fs",t),C("gitdir",r),C("path",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await J8({fs:n,gitdir:s,path:i})}catch(n){throw n.caller="git.getConfigAll",n}}async function Nk({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,url:s,headers:a={},forPush:o=!1}){try{C("http",t),C("url",s);let c=await rl.getRemoteHelperFor({url:s}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:1}),u={capabilities:[...c.capabilities]};for(let[f,d]of c.refs){let h=f.split("/"),m=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[m]=d}for(let[f,d]of c.symrefs){let h=f.split("/"),m=h.pop(),g=u;for(let v of h)g[v]=g[v]||{},g=g[v];g[m]=d}return u}catch(l){throw l.caller="git.getRemoteInfo",l}}function Hk(t,e,r,i){let n=[];for(let[s,a]of t.refs){if(e&&!s.startsWith(e))continue;if(s.endsWith("^{}")){if(i){let l=s.replace("^{}",""),c=n[n.length-1],u=c.ref===l?c:n.find(f=>f.ref===l);if(u===void 0)throw new Error("I did not expect this to happen");u.peeled=a}continue}let o={ref:s,oid:a};r&&t.symrefs.has(s)&&(o.target=t.symrefs.get(s)),n.push(o)}return n}async function Uk({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2}){try{C("http",t),C("url",s);let u=await rl.getRemoteHelperFor({url:s}).discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(u.protocolVersion===2)return{protocolVersion:u.protocolVersion,capabilities:u.capabilities2};let f={};for(let d of u.capabilities){let[h,m]=d.split("=");m?f[h]=m:f[h]=!0}return{protocolVersion:1,capabilities:f,refs:Hk(u,void 0,!0,!0)}}catch(c){throw c.caller="git.getRemoteInfo2",c}}async function e6({type:t,object:e,format:r="content",oid:i=void 0}){return r!=="deflated"&&(r!=="wrapped"&&(e=Rs.wrap({type:t,object:e})),i=await qn(e)),{oid:i,object:e}}async function Gk({object:t}){try{C("object",t),typeof t=="string"?t=Buffer.from(t,"utf8"):t instanceof Uint8Array||(t=new Uint8Array(t));let e="blob",{oid:r,object:i}=await e6({type:e,format:"content",object:t});return{oid:r,type:e,object:i,format:"wrapped"}}catch(e){throw e.caller="git.hashBlob",e}}async function t6({fs:t,cache:e,onProgress:r,dir:i,gitdir:n,filepath:s}){try{s=O(i,s);let a=await t.read(s),o=c=>Ke({fs:t,cache:e,gitdir:n,oid:c}),l=await jc.fromPack({pack:a,getExternalRefDelta:o,onProgress:r});return await t.write(s.replace(/\.pack$/,".idx"),await l.toBuffer()),{oids:[...l.hashes]}}catch(a){throw a.caller="git.indexPack",a}}async function jk({fs:t,onProgress:e,dir:r,gitdir:i=O(r,".git"),filepath:n,cache:s={}}){try{C("fs",t),C("dir",r),C("gitdir",r),C("filepath",n);let a=new J(t),o=await ee({fsp:a,dotgit:i});return await t6({fs:a,cache:s,onProgress:e,dir:r,gitdir:o,filepath:n})}catch(a){throw a.caller="git.indexPack",a}}async function qk({fs:t,bare:e=!1,dir:r,gitdir:i=e?r:O(r,".git"),defaultBranch:n="master"}){try{C("fs",t),C("gitdir",i),e||C("dir",r);let s=new J(t),a=await ee({fsp:s,dotgit:i});return await bk({fs:s,bare:e,dir:r,gitdir:a,defaultBranch:n})}catch(s){throw s.caller="git.init",s}}async function zk({fs:t,cache:e,gitdir:r,oid:i,ancestor:n,depth:s}){let a=await Ea.read({fs:t,gitdir:r});if(!i)throw new Sr("oid");if(!n)throw new Sr("ancestor");if(i===n)return!1;let o=[i],l=new Set,c=0;for(;o.length;){if(c++===s)throw new Zc(s);let u=o.shift(),{type:f,object:d}=await Ke({fs:t,cache:e,gitdir:r,oid:u});if(f!=="commit")throw new hr(u,f,"commit");let h=kr.from(d).parse();for(let m of h.parent)if(m===n)return!0;if(!a.has(u))for(let m of h.parent)l.has(m)||(o.push(m),l.add(m))}return!1}async function Vk({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,ancestor:n,depth:s=-1,cache:a={}}){try{C("fs",t),C("gitdir",r),C("oid",i),C("ancestor",n);let o=new J(t),l=await ee({fsp:o,dotgit:r});return await zk({fs:o,cache:a,gitdir:l,oid:i,ancestor:n,depth:s})}catch(o){throw o.caller="git.isDescendent",o}}async function Wk({fs:t,dir:e,gitdir:r=O(e,".git"),filepath:i}){try{C("fs",t),C("dir",e),C("gitdir",r),C("filepath",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return Fs.isIgnored({fs:n,dir:e,gitdir:s,filepath:i})}catch(n){throw n.caller="git.isIgnored",n}}async function Yk({fs:t,dir:e,gitdir:r=O(e,".git"),remote:i}){try{C("fs",t),C("gitdir",r);let n=new J(t),s=await ee({fsp:n,dotgit:r});return W.listBranches({fs:n,gitdir:s,remote:i})}catch(n){throw n.caller="git.listBranches",n}}async function r6({fs:t,gitdir:e,ref:r,cache:i}){if(r){let n=await W.resolve({gitdir:e,fs:t,ref:r}),s=[];return await Xk({fs:t,cache:i,gitdir:e,oid:n,filenames:s,prefix:""}),s}else return mt.acquire({fs:t,gitdir:e,cache:i},async function(n){return n.entries.map(s=>s.path)})}async function Xk({fs:t,cache:e,gitdir:r,oid:i,filenames:n,prefix:s}){let{tree:a}=await sl({fs:t,cache:e,gitdir:r,oid:i});for(let o of a)o.type==="tree"?await Xk({fs:t,cache:e,gitdir:r,oid:o.oid,filenames:n,prefix:O(s,o.path)}):n.push(O(s,o.path))}async function Zk({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i,cache:n={}}){try{C("fs",t),C("gitdir",r);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await r6({fs:s,cache:n,gitdir:a,ref:i})}catch(s){throw s.caller="git.listFiles",s}}async function i6({fs:t,cache:e,gitdir:r,ref:i}){let n;try{n=await W.resolve({gitdir:r,fs:t,ref:i})}catch(o){if(o instanceof He)return[]}return(await sl({fs:t,cache:e,gitdir:r,oid:n})).tree.map(o=>({target:o.path,note:o.oid}))}async function Kk({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i="refs/notes/commits",cache:n={}}){try{C("fs",t),C("gitdir",r),C("ref",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await i6({fs:s,cache:n,gitdir:a,ref:i})}catch(s){throw s.caller="git.listNotes",s}}async function Qk({fs:t,dir:e,gitdir:r=O(e,".git"),filepath:i}){try{C("fs",t),C("gitdir",r);let n=new J(t),s=await ee({fsp:n,dotgit:r});return W.listRefs({fs:n,gitdir:s,filepath:i})}catch(n){throw n.caller="git.listRefs",n}}async function n6({fs:t,gitdir:e}){let r=await ct.get({fs:t,gitdir:e}),i=await r.getSubsections("remote");return Promise.all(i.map(async s=>{let a=await r.get(`remote.${s}.url`);return{remote:s,url:a}}))}async function Jk({fs:t,dir:e,gitdir:r=O(e,".git")}){try{C("fs",t),C("gitdir",r);let i=new J(t),n=await ee({fsp:i,dotgit:r});return await n6({fs:i,gitdir:n})}catch(i){throw i.caller="git.listRemotes",i}}async function s6(t){let e=at.streamReader(t),r=[],i;for(;i=await e(),i!==!0;){if(i===null)continue;i=i.toString("utf8").replace(/\n$/,"");let[n,s,...a]=i.split(" "),o={ref:s,oid:n};for(let l of a){let[c,u]=l.split(":");c==="symref-target"?o.target=u:c==="peeled"&&(o.peeled=u)}r.push(o)}return r}async function a6({prefix:t,symrefs:e,peelTags:r}){let i=[];return i.push(at.encode(`command=ls-refs +`)),i.push(at.encode(`agent=${Md.agent} +`)),(r||e||t)&&i.push(at.delim()),r&&i.push(at.encode("peel")),e&&i.push(at.encode("symrefs")),t&&i.push(at.encode(`ref-prefix ${t}`)),i.push(at.flush()),i}async function eA({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,url:s,headers:a={},forPush:o=!1,protocolVersion:l=2,prefix:c,symrefs:u,peelTags:f}){try{C("http",t),C("url",s);let d=await tl.discover({http:t,onAuth:e,onAuthSuccess:r,onAuthFailure:i,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,headers:a,protocolVersion:l});if(d.protocolVersion===1)return Hk(d,c,u,f);let h=await a6({prefix:c,symrefs:u,peelTags:f}),m=await tl.connect({http:t,auth:d.auth,headers:a,corsProxy:n,service:o?"git-receive-pack":"git-upload-pack",url:s,body:h});return s6(m.body)}catch(d){throw d.caller="git.listServerRefs",d}}async function tA({fs:t,dir:e,gitdir:r=O(e,".git")}){try{C("fs",t),C("gitdir",r);let i=new J(t),n=await ee({fsp:i,dotgit:r});return W.listTags({fs:i,gitdir:n})}catch(i){throw i.caller="git.listTags",i}}function o6(t,e){return t.committer.timestamp-e.committer.timestamp}var l6="e69de29bb2d1d6434b8b29ae775ad8c2e48c5391";async function qE({fs:t,cache:e,gitdir:r,oid:i,fileId:n}){if(n===l6)return;let s=i,a,o=await Qo({fs:t,cache:e,gitdir:r,oid:i}),l=o.tree;return n===o.oid?a=o.path:(a=await rA({fs:t,cache:e,gitdir:r,tree:l,fileId:n,oid:s}),Array.isArray(a)&&(a.length===0?a=void 0:a.length===1&&(a=a[0]))),a}async function rA({fs:t,cache:e,gitdir:r,tree:i,fileId:n,oid:s,filepaths:a=[],parentPath:o=""}){let l=i.entries().map(function(c){let u;return c.oid===n?(u=O(o,c.path),a.push(u)):c.type==="tree"&&(u=Ke({fs:t,cache:e,gitdir:r,oid:c.oid}).then(function({object:f}){return rA({fs:t,cache:e,gitdir:r,tree:Er.from(f),fileId:n,oid:s,filepaths:a,parentPath:O(o,c.path)})})),u});return await Promise.all(l),a}async function c6({fs:t,cache:e,gitdir:r,filepath:i,ref:n,depth:s,since:a,force:o,follow:l}){let c=typeof a=="undefined"?void 0:Math.floor(a.valueOf()/1e3),u=[],f=await Ea.read({fs:t,gitdir:r}),d=await W.resolve({fs:t,gitdir:r,ref:n}),h=[await el({fs:t,cache:e,gitdir:r,oid:d})],m,g,v;function w(b){v&&i&&u.push(b)}for(;h.length>0;){let b=h.pop();if(c!==void 0&&b.commit.committer.timestamp<=c)break;if(i){let k;try{k=await su({fs:t,cache:e,gitdir:r,oid:b.commit.tree,filepath:i}),g&&m!==k&&u.push(g),m=k,g=b,v=!0}catch(x){if(x instanceof He){let E=l&&m;if(E&&(E=await qE({fs:t,cache:e,gitdir:r,oid:b.commit.tree,fileId:m}),E))if(Array.isArray(E)){if(g){let A=await qE({fs:t,cache:e,gitdir:r,oid:g.commit.tree,fileId:m});if(Array.isArray(A))if(E=E.filter(y=>A.indexOf(y)===-1),E.length===1)E=E[0],i=E,g&&u.push(g);else{E=!1,g&&u.push(g);break}}}else i=E,g&&u.push(g);if(!E){if(v&&m&&(u.push(g),!o))break;if(!o&&!l)throw x}g=b,v=!1}else throw x}}else u.push(b);if(s!==void 0&&u.length===s){w(b);break}if(!f.has(b.oid))for(let k of b.commit.parent){let x=await el({fs:t,cache:e,gitdir:r,oid:k});h.map(E=>E.oid).includes(x.oid)||h.push(x)}h.length===0&&w(b),h.sort((k,x)=>o6(k.commit,x.commit))}return u}async function iA({fs:t,dir:e,gitdir:r=O(e,".git"),filepath:i,ref:n="HEAD",depth:s,since:a,force:o,follow:l,cache:c={}}){try{C("fs",t),C("gitdir",r),C("ref",n);let u=new J(t),f=await ee({fsp:u,dotgit:r});return await c6({fs:u,cache:c,gitdir:f,filepath:i,ref:n,depth:s,since:a,force:o,follow:l})}catch(u){throw u.caller="git.log",u}}async function nA({fs:t,onSign:e,dir:r,gitdir:i=O(r,".git"),ours:n,theirs:s,fastForward:a=!0,fastForwardOnly:o=!1,dryRun:l=!1,noUpdateBranch:c=!1,abortOnConflict:u=!0,message:f,author:d,committer:h,signingKey:m,cache:g={},mergeDriver:v,allowUnrelatedHistories:w=!1}){try{C("fs",t),m&&C("onSign",e);let b=new J(t),k=await ee({fsp:b,dotgit:i}),x=await Os({fs:b,gitdir:k,author:d});if(!x&&(!o||!a))throw new Jt("author");let E=await Jo({fs:b,gitdir:k,author:x,committer:h});if(!E&&(!o||!a))throw new Jt("committer");return await Rk({fs:b,cache:g,dir:r,gitdir:k,ours:n,theirs:s,fastForward:a,fastForwardOnly:o,dryRun:l,noUpdateBranch:c,abortOnConflict:u,message:f,author:x,committer:E,signingKey:m,onSign:e,mergeDriver:v,allowUnrelatedHistories:w})}catch(b){throw b.caller="git.merge",b}}var u6={commit:16,tree:32,blob:48,tag:64,ofs_delta:96,ref_delta:112};async function sA({fs:t,cache:e,dir:r,gitdir:i=O(r,".git"),oids:n}){let s=new VE,a=[];function o(u,f){let d=Buffer.from(u,f);a.push(d),s.update(d)}async function l({stype:u,object:f}){let d=u6[u],h=f.length,m=h>15?128:0,g=h&15;h=h>>>4;let v=(m|d|g).toString(16);for(o(v,"hex");m;)m=h>127?128:0,v=m|h&127,o(pv(2,v),"hex"),h=h>>>7;o(Buffer.from(await nk(f)))}o("PACK"),o("00000002","hex"),o(pv(8,n.length),"hex");for(let u of n){let{type:f,object:d}=await Ke({fs:t,cache:e,gitdir:i,oid:u});await l({write:o,object:d,stype:f})}let c=s.digest();return a.push(c),a}async function f6({fs:t,cache:e,gitdir:r,oids:i,write:n}){let s=await sA({fs:t,cache:e,gitdir:r,oids:i}),a=Buffer.from(await Pd(s)),l=`pack-${a.slice(-20).toString("hex")}.pack`;return n?(await t.write(O(r,`objects/pack/${l}`),a),{filename:l}):{filename:l,packfile:new Uint8Array(a)}}async function aA({fs:t,dir:e,gitdir:r=O(e,".git"),oids:i,write:n=!1,cache:s={}}){try{C("fs",t),C("gitdir",r),C("oids",i);let a=new J(t),o=await ee({fsp:a,dotgit:r});return await f6({fs:a,cache:s,gitdir:o,oids:i,write:n})}catch(a){throw a.caller="git.packObjects",a}}async function oA({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:l=O(o,".git"),ref:c,url:u,remote:f,remoteRef:d,prune:h=!1,pruneTags:m=!1,fastForward:g=!0,fastForwardOnly:v=!1,corsProxy:w,singleBranch:b,headers:k={},author:x,committer:E,signingKey:A,cache:y={}}){try{C("fs",t),C("gitdir",l);let S=new J(t),_=await ee({fsp:S,dotgit:l}),T=await Os({fs:S,gitdir:_,author:x});if(!T)throw new Jt("author");let P=await Jo({fs:S,gitdir:_,author:T,committer:E});if(!P)throw new Jt("committer");return await $k({fs:S,cache:y,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,dir:o,gitdir:_,ref:c,url:u,remote:f,remoteRef:d,fastForward:g,fastForwardOnly:v,corsProxy:w,singleBranch:b,headers:k,author:T,committer:P,signingKey:A,prune:h,pruneTags:m})}catch(S){throw S.caller="git.pull",S}}async function d6({fs:t,cache:e,dir:r,gitdir:i=O(r,".git"),start:n,finish:s}){let a=await Ea.read({fs:t,gitdir:i}),o=new Set,l=new Set;for(let f of n)o.add(await W.resolve({fs:t,gitdir:i,ref:f}));for(let f of s)try{let d=await W.resolve({fs:t,gitdir:i,ref:f});l.add(d)}catch(d){}let c=new Set;async function u(f){c.add(f);let{type:d,object:h}=await Ke({fs:t,cache:e,gitdir:i,oid:f});if(d==="tag"){let g=Kr.from(h).headers().object;return u(g)}if(d!=="commit")throw new hr(f,d,"commit");if(!a.has(f)){let g=kr.from(h).headers().parent;for(f of g)!l.has(f)&&!c.has(f)&&await u(f)}}for(let f of o)await u(f);return c}async function tv({fs:t,cache:e,dir:r,gitdir:i=O(r,".git"),oids:n}){let s=new Set;async function a(o){if(s.has(o))return;s.add(o);let{type:l,object:c}=await Ke({fs:t,cache:e,gitdir:i,oid:o});if(l==="tag"){let f=Kr.from(c).headers().object;await a(f)}else if(l==="commit"){let f=kr.from(c).headers().tree;await a(f)}else if(l==="tree"){let u=Er.from(c);for(let f of u)f.type==="blob"&&s.add(f.oid),f.type==="tree"&&await a(f.oid)}}for(let o of n)await a(o);return s}async function h6(t){let e={},r="",i=at.streamReader(t),n=await i();for(;n!==!0;)n!==null&&(r+=n.toString("utf8")+` +`),n=await i();let s=r.toString("utf8").split(` +`);if(n=s.shift(),!n.startsWith("unpack "))throw new Sa('unpack ok" or "unpack [error message]',n);e.ok=n==="unpack ok",e.ok||(e.error=n.slice(7)),e.refs={};for(let a of s){if(a.trim()==="")continue;let o=a.slice(0,2),l=a.slice(3),c=l.indexOf(" ");c===-1&&(c=l.length);let u=l.slice(0,c),f=l.slice(c+1);e.refs[u]={ok:o==="ok",error:f}}return e}async function p6({capabilities:t=[],triplets:e=[]}){let r=[],i=`\0 ${t.join(" ")}`;for(let n of e)r.push(at.encode(`${n.oldoid} ${n.oid} ${n.fullRef}${i} +`)),i="";return r.push(at.flush()),r}async function m6({fs:t,cache:e,http:r,onProgress:i,onMessage:n,onAuth:s,onAuthSuccess:a,onAuthFailure:o,onPrePush:l,gitdir:c,ref:u,remoteRef:f,remote:d,url:h,force:m=!1,delete:g=!1,corsProxy:v,headers:w={}}){let b=u||await Ds({fs:t,gitdir:c});if(typeof b=="undefined")throw new Sr("ref");let k=await ct.get({fs:t,gitdir:c});d=d||await k.get(`branch.${b}.pushRemote`)||await k.get("remote.pushDefault")||await k.get(`branch.${b}.remote`)||"origin";let x=h||await k.get(`remote.${d}.pushurl`)||await k.get(`remote.${d}.url`);if(typeof x=="undefined")throw new Sr("remote OR url");let E=f||await k.get(`branch.${b}.merge`);if(typeof x=="undefined")throw new Sr("remoteRef");v===void 0&&(v=await k.get("http.corsProxy"));let A=await W.expand({fs:t,gitdir:c,ref:b}),y=g?"0000000000000000000000000000000000000000":await W.resolve({fs:t,gitdir:c,ref:A}),S=rl.getRemoteHelperFor({url:x}),_=await S.discover({http:r,onAuth:s,onAuthSuccess:a,onAuthFailure:o,corsProxy:v,service:"git-receive-pack",url:x,headers:w,protocolVersion:1}),T=_.auth,P;if(!E)P=A;else try{P=await W.expandAgainstMap({ref:E,map:_.refs})}catch(Q){if(Q instanceof He)P=E.startsWith("refs/")?E:`refs/heads/${E}`;else throw Q}let D=_.refs.get(P)||"0000000000000000000000000000000000000000";if(l&&!await l({remote:d,url:x,localRef:{ref:g?"(delete)":A,oid:y},remoteRef:{ref:P,oid:D}}))throw new Ko;let B=!_.capabilities.has("no-thin"),N=new Set;if(!g){let Q=[..._.refs.values()],j=new Set;if(D!=="0000000000000000000000000000000000000000"){let Le=await bv({fs:t,cache:e,gitdir:c,oids:[y,D]});for(let lr of Le)Q.push(lr);B&&(j=await tv({fs:t,cache:e,gitdir:c,oids:Le}))}if(!Q.includes(y)){let Le=await d6({fs:t,cache:e,gitdir:c,start:[y],finish:Q});N=await tv({fs:t,cache:e,gitdir:c,oids:Le})}if(B){try{let Le=await W.resolve({fs:t,gitdir:c,ref:`refs/remotes/${d}/HEAD`,depth:2}),{oid:lr}=await W.resolveAgainstMap({ref:Le.replace(`refs/remotes/${d}/`,""),fullref:Le,map:_.refs}),Ft=[lr];for(let Ie of await tv({fs:t,cache:e,gitdir:c,oids:Ft}))j.add(Ie)}catch(Le){}for(let Le of j)N.delete(Le)}if(y===D&&(m=!0),!m){if(A.startsWith("refs/tags")&&D!=="0000000000000000000000000000000000000000")throw new Zo("tag-exists");if(y!=="0000000000000000000000000000000000000000"&&D!=="0000000000000000000000000000000000000000"&&!await zk({fs:t,cache:e,gitdir:c,oid:y,ancestor:D,depth:-1}))throw new Zo("not-fast-forward")}}let ce=wk([..._.capabilities],["report-status","side-band-64k",`agent=${Md.agent}`]),Pe=await p6({capabilities:ce,triplets:[{oldoid:D,oid:y,fullRef:P}]}),ve=g?[]:await sA({fs:t,cache:e,gitdir:c,oids:[...N]}),se=await S.connect({http:r,onProgress:i,corsProxy:v,service:"git-receive-pack",url:x,auth:T,headers:w,body:[...Pe,...ve]}),{packfile:xe,progress:we}=await Rd.demux(se.body);if(n){let Q=yk(we);ou(Q,async j=>{await n(j)})}let z=await h6(xe);if(se.headers&&(z.headers=se.headers),d&&z.ok&&z.refs[P].ok&&!A.startsWith("refs/tags")){let Q=`refs/remotes/${d}/${P.replace("refs/heads","")}`;g?await W.deleteRef({fs:t,gitdir:c,ref:Q}):await W.writeRef({fs:t,gitdir:c,ref:Q,value:y})}if(z.ok&&Object.values(z.refs).every(Q=>Q.ok))return z;{let Q=Object.entries(z.refs).filter(([j,Le])=>!Le.ok).map(([j,Le])=>` + - ${j}: ${Le.error}`).join("");throw new Xc(Q,z)}}async function lA({fs:t,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,dir:l,gitdir:c=O(l,".git"),ref:u,remoteRef:f,remote:d="origin",url:h,force:m=!1,delete:g=!1,corsProxy:v,headers:w={},cache:b={}}){try{C("fs",t),C("http",e),C("gitdir",c);let k=new J(t),x=await ee({fsp:k,dotgit:c});return await m6({fs:k,cache:b,http:e,onProgress:r,onMessage:i,onAuth:n,onAuthSuccess:s,onAuthFailure:a,onPrePush:o,gitdir:x,ref:u,remoteRef:f,remote:d,url:h,force:m,delete:g,corsProxy:v,headers:w})}catch(k){throw k.caller="git.push",k}}async function cA({fs:t,cache:e,gitdir:r,oid:i}){let{type:n,object:s}=await Ke({fs:t,cache:e,gitdir:r,oid:i});if(n==="tag")return i=Kr.from(s).parse().object,cA({fs:t,cache:e,gitdir:r,oid:i});if(n!=="blob")throw new hr(i,n,"blob");return{oid:i,blob:new Uint8Array(s)}}async function uA({fs:t,cache:e,gitdir:r,oid:i,filepath:n=void 0}){return n!==void 0&&(i=await su({fs:t,cache:e,gitdir:r,oid:i,filepath:n})),await cA({fs:t,cache:e,gitdir:r,oid:i})}async function fA({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,filepath:n,cache:s={}}){try{C("fs",t),C("gitdir",r),C("oid",i);let a=new J(t),o=await ee({fsp:a,dotgit:r});return await uA({fs:a,cache:s,gitdir:o,oid:i,filepath:n})}catch(a){throw a.caller="git.readBlob",a}}async function _v({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,cache:n={}}){try{C("fs",t),C("gitdir",r),C("oid",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await el({fs:s,cache:n,gitdir:a,oid:i})}catch(s){throw s.caller="git.readCommit",s}}async function g6({fs:t,cache:e,gitdir:r,ref:i="refs/notes/commits",oid:n}){let s=await W.resolve({gitdir:r,fs:t,ref:i}),{blob:a}=await uA({fs:t,cache:e,gitdir:r,oid:s,filepath:n});return a}async function dA({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i="refs/notes/commits",oid:n,cache:s={}}){try{C("fs",t),C("gitdir",r),C("ref",i),C("oid",n);let a=new J(t),o=await ee({fsp:a,dotgit:r});return await g6({fs:a,cache:s,gitdir:o,ref:i,oid:n})}catch(a){throw a.caller="git.readNote",a}}async function hA({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,format:n="parsed",filepath:s=void 0,encoding:a=void 0,cache:o={}}){try{C("fs",t),C("gitdir",r),C("oid",i);let l=new J(t),c=await ee({fsp:l,dotgit:r});s!==void 0&&(i=await su({fs:l,cache:o,gitdir:c,oid:i,filepath:s}));let f=await Ke({fs:l,cache:o,gitdir:c,oid:i,format:n==="parsed"?"content":n});if(f.oid=i,n==="parsed")switch(f.format="parsed",f.type){case"commit":f.object=kr.from(f.object).parse();break;case"tree":f.object=Er.from(f.object).entries();break;case"blob":a?f.object=f.object.toString(a):(f.object=new Uint8Array(f.object),f.format="content");break;case"tag":f.object=Kr.from(f.object).parse();break;default:throw new hr(f.oid,f.type,"blob|commit|tag|tree")}else(f.format==="deflated"||f.format==="wrapped")&&(f.type=f.format);return f}catch(l){throw l.caller="git.readObject",l}}async function v6({fs:t,cache:e,gitdir:r,oid:i}){let{type:n,object:s}=await Ke({fs:t,cache:e,gitdir:r,oid:i,format:"content"});if(n!=="tag")throw new hr(i,n,"tag");let a=Kr.from(s);return{oid:i,tag:a.parse(),payload:a.payload()}}async function pA({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,cache:n={}}){try{C("fs",t),C("gitdir",r),C("oid",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await v6({fs:s,cache:n,gitdir:a,oid:i})}catch(s){throw s.caller="git.readTag",s}}async function mA({fs:t,dir:e,gitdir:r=O(e,".git"),oid:i,filepath:n=void 0,cache:s={}}){try{C("fs",t),C("gitdir",r),C("oid",i);let a=new J(t),o=await ee({fsp:a,dotgit:r});return await sl({fs:a,cache:s,gitdir:o,oid:i,filepath:n})}catch(a){throw a.caller="git.readTree",a}}async function gA({fs:t,dir:e,gitdir:r=O(e,".git"),filepath:i,cache:n={}}){try{C("fs",t),C("gitdir",r),C("filepath",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});await mt.acquire({fs:s,gitdir:a,cache:n},async function(o){o.delete({filepath:i})})}catch(s){throw s.caller="git.remove",s}}async function w6({fs:t,cache:e,onSign:r,gitdir:i,ref:n="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l}){let c;try{c=await W.resolve({gitdir:i,fs:t,ref:n})}catch(m){if(!(m instanceof He))throw m}let f=(await sl({fs:t,cache:e,gitdir:i,oid:c||"4b825dc642cb6eb9a060e54bf8d69288fbee4904"})).tree;f=f.filter(m=>m.path!==s);let d=await au({fs:t,gitdir:i,tree:f});return await Od({fs:t,cache:e,onSign:r,gitdir:i,ref:n,tree:d,parent:c&&[c],message:`Note removed by 'isomorphic-git removeNote' +`,author:a,committer:o,signingKey:l})}async function vA({fs:t,onSign:e,dir:r,gitdir:i=O(r,".git"),ref:n="refs/notes/commits",oid:s,author:a,committer:o,signingKey:l,cache:c={}}){try{C("fs",t),C("gitdir",i),C("oid",s);let u=new J(t),f=await ee({fsp:u,dotgit:i}),d=await Os({fs:u,gitdir:f,author:a});if(!d)throw new Jt("author");let h=await Jo({fs:u,gitdir:f,author:d,committer:o});if(!h)throw new Jt("committer");return await w6({fs:u,cache:c,onSign:e,gitdir:f,ref:n,oid:s,author:d,committer:h,signingKey:l})}catch(u){throw u.caller="git.removeNote",u}}async function y6({fs:t,gitdir:e,oldref:r,ref:i,checkout:n=!1}){if(!nu(i,!0))throw new Ii(i,Hc.clean(i));if(!nu(r,!0))throw new Ii(r,Hc.clean(r));let s=`refs/heads/${r}`,a=`refs/heads/${i}`;if(await W.exists({fs:t,gitdir:e,ref:a}))throw new $i("branch",i,!1);let l=await W.resolve({fs:t,gitdir:e,ref:s,depth:1});await W.writeRef({fs:t,gitdir:e,ref:a,value:l}),await W.deleteRef({fs:t,gitdir:e,ref:s});let u=await Ds({fs:t,gitdir:e,fullname:!0})===s;(n||u)&&await W.writeSymbolicRef({fs:t,gitdir:e,ref:"HEAD",value:a})}async function wA({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i,oldref:n,checkout:s=!1}){try{C("fs",t),C("gitdir",r),C("ref",i),C("oldref",n);let a=new J(t),o=await ee({fsp:a,dotgit:r});return await y6({fs:a,gitdir:o,ref:i,oldref:n,checkout:s})}catch(a){throw a.caller="git.renameBranch",a}}async function yA({gitdir:t,type:e,object:r}){return qn(Rs.wrap({type:e,object:r}))}async function bA({fs:t,dir:e,gitdir:r=O(e,".git"),filepath:i,ref:n,cache:s={}}){try{C("fs",t),C("gitdir",r),C("filepath",i);let a=new J(t),o=await ee({fsp:a,dotgit:r}),l,c;try{l=await W.resolve({fs:a,gitdir:o,ref:n||"HEAD"})}catch(d){if(n)throw d}if(l)try{l=await su({fs:a,cache:s,gitdir:o,oid:l,filepath:i})}catch(d){l=null}let u={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:0,uid:0,gid:0,size:0},f=e&&await a.read(O(e,i));f&&(c=await yA({gitdir:o,type:"blob",object:f}),l===c&&(u=await a.lstat(O(e,i)))),await mt.acquire({fs:a,gitdir:o,cache:s},async function(d){d.delete({filepath:i}),l&&d.insert({filepath:i,stats:u,oid:l})})}catch(a){throw a.caller="git.reset",a}}async function _A({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i,depth:n}){try{C("fs",t),C("gitdir",r),C("ref",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});return await W.resolve({fs:s,gitdir:a,ref:i,depth:n})}catch(s){throw s.caller="git.resolveRef",s}}async function xA({fs:t,dir:e,gitdir:r=O(e,".git"),path:i,value:n,append:s=!1}){try{C("fs",t),C("gitdir",r),C("path",i);let a=new J(t),o=await ee({fsp:a,dotgit:r}),l=await ct.get({fs:a,gitdir:o});s?await l.append(i,n):await l.set(i,n),await ct.save({fs:a,gitdir:o,config:l})}catch(a){throw a.caller="git.setConfig",a}}async function SA({fs:t,gitdir:e,commit:r}){let i=kr.from(r).toObject();return await Ar({fs:t,gitdir:e,type:"commit",object:i,format:"content"})}var $d=class t{static get timezoneOffsetForRefLogEntry(){let e=new Date().getTimezoneOffset(),r=Math.abs(Math.floor(e/60)),i=Math.abs(e%60).toString().padStart(2,"0");return`${e>0?"-":"+"}${r.toString().padStart(2,"0")}${i}`}static createStashReflogEntry(e,r,i){let n=e.name.replace(/\s/g,""),s="0000000000000000000000000000000000000000",a=Math.floor(Date.now()/1e3),o=t.timezoneOffsetForRefLogEntry;return`${s} ${r} ${n} ${e.email} ${a} ${o} ${i} +`}static getStashReflogEntry(e,r=!1){return e.split(` +`).filter(s=>s).reverse().map((s,a)=>r?`stash@{${a}}: ${s.split(" ")[1]}`:s)}},b6={stage:Aa,workdir:nl},rv;async function il(t,e){return rv===void 0&&(rv=new Nc),rv.acquire(t,e)}async function _6(t,e,r,i,n=null){let s=O(r,i),a=await t.lstat(s);if(!a)throw new He(s);if(a.isDirectory())throw new he(`${s}: file expected, but found directory`);let o=n?await QE({fs:t,gitdir:e,oid:n}):void 0,l=o?n:void 0;return o||await il({fs:t,gitdir:e,currentFilepath:s},async()=>{let c=a.isSymbolicLink()?await t.readlink(s).then(sk):await t.read(s);if(c===null)throw new He(s);l=await Ar({fs:t,gitdir:e,type:"blob",object:c})}),l}async function x6({fs:t,dir:e,gitdir:r,entries:i}){async function n(s){if(s.type==="tree"){if(!s.oid){let a=await Promise.all(s.children.map(n));s.oid=await au({fs:t,gitdir:r,tree:a}),s.mode=16384}}else s.type==="blob"&&(s.oid=await _6(t,r,e,s.path,s.oid),s.mode=33188);return s.path=s.path.split("/").pop(),s}return Promise.all(i.map(n))}async function zE({fs:t,dir:e,gitdir:r,treePair:i}){let n=i[1]==="stage",s=i.map(h=>typeof h=="string"?b6[h]():h),a=[],u=await Is({fs:t,cache:{},dir:e,gitdir:r,trees:s,map:async(h,[m,g])=>{if(!(h==="."||await Fs.isIgnored({fs:t,dir:e,gitdir:r,filepath:h}))&&g)return(!m||await m.oid()!==await g.oid()&&await g.oid()!==void 0)&&a.push([m,g]),{mode:await g.mode(),path:h,oid:await g.oid(),type:await g.type()}},reduce:async(h,m)=>(m=m.filter(Boolean),h?(h.children=m,h):m.length>0?m:void 0),iterate:async(h,m)=>{let g=[];for(let v of m){let[w,b]=v;n?b&&(await t.exists(`${e}/${b.toString()}`)?g.push(v):a.push([null,b])):w&&(b?g.push(v):a.push([w,null]))}return g.length?Promise.all(g.map(h)):[]}});if(a.length===0||u.length===0)return null;let d=(await x6({fs:t,dir:e,gitdir:r,entries:u})).filter(Boolean).map(h=>({mode:h.mode,path:h.path,oid:h.oid,type:h.type}));return au({fs:t,gitdir:r,tree:d})}async function S6({fs:t,dir:e,gitdir:r,stashCommit:i,parentCommit:n,wasStaged:s}){let a=[],o=[],l=await Is({fs:t,cache:{},dir:e,gitdir:r,trees:[Zr({ref:n}),Zr({ref:i})],map:async(c,[u,f])=>{if(c==="."||await Fs.isIgnored({fs:t,dir:e,gitdir:r,filepath:c}))return;let d=f?await f.type():await u.type();if(d!=="tree"&&d!=="blob")return;if(!f&&u){let m=d==="tree"?"rmdir":"rm";return d==="tree"&&a.push(c),d==="blob"&&s&&o.push({filepath:c,oid:await u.oid()}),{method:m,filepath:c}}let h=await f.oid();if(!u||await u.oid()!==h)return d==="tree"?{method:"mkdir",filepath:c}:(s&&o.push({filepath:c,oid:h,stats:await t.lstat(O(e,c))}),{method:"write",filepath:c,oid:h})}});await il({fs:t,gitdir:r,dirRemoved:a,ops:l},async()=>{for(let c of l){let u=O(e,c.filepath);switch(c.method){case"rmdir":await t.rmdir(u);break;case"mkdir":await t.mkdir(u);break;case"rm":await t.rm(u);break;case"write":if(!a.some(f=>u.startsWith(f))){let{object:f}=await Ke({fs:t,cache:{},gitdir:r,oid:c.oid});await t.exists(u)&&await t.rm(u),await t.write(u,f)}break}}}),await mt.acquire({fs:t,gitdir:r,cache:{}},async c=>{o.forEach(({filepath:u,stats:f,oid:d})=>{c.insert({filepath:u,stats:f,oid:d})})})}var ka=class t{constructor({fs:e,dir:r,gitdir:i=O(r,".git")}){Object.assign(this,{fs:e,dir:r,gitdir:i,_author:null})}static get refStash(){return"refs/stash"}static get refLogsStash(){return"logs/refs/stash"}get refStashPath(){return O(this.gitdir,t.refStash)}get refLogsStashPath(){return O(this.gitdir,t.refLogsStash)}async getAuthor(){if(!this._author&&(this._author=await Os({fs:this.fs,gitdir:this.gitdir,author:{}}),!this._author))throw new Jt("author");return this._author}async getStashSHA(e,r){return await this.fs.exists(this.refStashPath)?(r||await this.readStashReflogs({parsed:!1}))[e].split(" ")[1]:null}async writeStashCommit({message:e,tree:r,parent:i}){return SA({fs:this.fs,gitdir:this.gitdir,commit:{message:e,tree:r,parent:i,author:await this.getAuthor(),committer:await this.getAuthor()}})}async readStashCommit(e){let r=await this.readStashReflogs({parsed:!1});if(e!==0&&(e<0||e>r.length-1))throw new Ii(`stash@${e}`,"number that is in range of [0, num of stash pushed]");let i=await this.getStashSHA(e,r);return i?el({fs:this.fs,cache:{},gitdir:this.gitdir,oid:i}):{}}async writeStashRef(e){return W.writeRef({fs:this.fs,gitdir:this.gitdir,ref:t.refStash,value:e})}async writeStashReflogEntry({stashCommit:e,message:r}){let i=await this.getAuthor(),n=$d.createStashReflogEntry(i,e,r),s=this.refLogsStashPath;await il({filepath:s,entry:n},async()=>{let a=await this.fs.exists(s)?await this.fs.read(s,"utf8"):"";await this.fs.write(s,a+n,"utf8")})}async readStashReflogs({parsed:e=!1}){if(!await this.fs.exists(this.refLogsStashPath))return[];let r=await this.fs.read(this.refLogsStashPath,"utf8");return $d.getStashReflogEntry(r,e)}};async function EA({fs:t,dir:e,gitdir:r,message:i=""}){let n=new ka({fs:t,dir:e,gitdir:r});await n.getAuthor();let s=await Ds({fs:t,gitdir:r,fullname:!1}),a=await W.resolve({fs:t,gitdir:r,ref:"HEAD"}),l=(await _v({fs:t,dir:e,gitdir:r,oid:a})).commit.message,c=[a],u=null,f=Zr({ref:"HEAD"}),d=await zE({fs:t,dir:e,gitdir:r,treePair:[Zr({ref:"HEAD"}),"stage"]});if(d){let v=await n.writeStashCommit({message:`stash-Index: WIP on ${s} - ${new Date().toISOString()}`,tree:d,parent:c});c.push(v),u=d,f=Aa()}let h=await zE({fs:t,dir:e,gitdir:r,treePair:[f,"workdir"]});if(h){let v=await n.writeStashCommit({message:`stash-WorkDir: WIP on ${s} - ${new Date().toISOString()}`,tree:h,parent:[c[c.length-1]]});c.push(v),u=h}if(!u||!d&&!h)throw new He("changes, nothing to stash");let m=(i.trim()||`WIP on ${s}`)+`: ${a.substring(0,7)} ${l}`;return{stashCommit:await n.writeStashCommit({message:m,tree:u,parent:c}),stashMsg:m,branch:s,stashMgr:n}}async function E6({fs:t,dir:e,gitdir:r,message:i=""}){let{stashCommit:n,stashMsg:s,branch:a,stashMgr:o}=await EA({fs:t,dir:e,gitdir:r,message:i});return await o.writeStashRef(n),await o.writeStashReflogEntry({stashCommit:n,message:s}),await wv({fs:t,dir:e,gitdir:r,ref:a,track:!1,force:!0}),n}async function k6({fs:t,dir:e,gitdir:r,message:i=""}){let{stashCommit:n}=await EA({fs:t,dir:e,gitdir:r,message:i});return n}async function kA({fs:t,dir:e,gitdir:r,refIdx:i=0}){let s=await new ka({fs:t,dir:e,gitdir:r}).readStashCommit(i),{parent:a=null}=s.commit?s.commit:{};if(!(!a||!Array.isArray(a)))for(let o=0;o{await t.exists(a)&&await t.rm(a)});let o=await n.readStashReflogs({parsed:!1});if(!o.length)return;o.splice(i,1);let l=n.refLogsStashPath;await il({reflogEntries:o,stashReflogPath:l,stashMgr:n},async()=>{if(o.length){await t.write(l,o.reverse().join(` +`)+` +`,"utf8");let c=o[o.length-1].split(" ")[1];await n.writeStashRef(c)}else await t.rm(l)})}async function A6({fs:t,dir:e,gitdir:r}){return new ka({fs:t,dir:e,gitdir:r}).readStashReflogs({parsed:!0})}async function T6({fs:t,dir:e,gitdir:r}){let i=new ka({fs:t,dir:e,gitdir:r}),n=[i.refStashPath,i.refLogsStashPath];await il(n,async()=>{await Promise.all(n.map(async s=>{if(await t.exists(s))return t.rm(s)}))})}async function C6({fs:t,dir:e,gitdir:r,refIdx:i=0}){await kA({fs:t,dir:e,gitdir:r,refIdx:i}),await AA({fs:t,dir:e,gitdir:r,refIdx:i})}async function TA({fs:t,dir:e,gitdir:r=O(e,".git"),op:i="push",message:n="",refIdx:s=0}){C("fs",t),C("dir",e),C("gitdir",r),C("op",i);let a={push:E6,apply:kA,drop:AA,list:A6,clear:T6,pop:C6,create:k6},o=["apply","drop","pop"];try{let l=new J(t),c=await ee({fsp:l,dotgit:r});["refs","logs","logs/refs"].map(d=>O(c,d)).forEach(async d=>{await l.exists(d)||await l.mkdir(d)});let f=a[i];if(f){if(o.includes(i)&&s<0)throw new Ii(`stash@${s}`,"number that is in range of [0, num of stash pushed]");return await f({fs:l,dir:e,gitdir:c,message:n,refIdx:s})}throw new Error(`To be implemented: ${i}`)}catch(l){throw l.caller="git.stash",l}}async function CA({fs:t,dir:e,gitdir:r=O(e,".git"),filepath:i,cache:n={}}){try{C("fs",t),C("gitdir",r),C("filepath",i);let s=new J(t),a=await ee({fsp:s,dotgit:r});if(await Fs.isIgnored({fs:s,gitdir:a,dir:e,filepath:i}))return"ignored";let l=await P6({fs:s,cache:n,gitdir:a}),c=await PA({fs:s,cache:n,gitdir:a,tree:l,path:i}),u=await mt.acquire({fs:s,gitdir:a,cache:n},async function(v){for(let w of v)if(w.path===i)return w;return null}),f=await s.lstat(O(e,i)),d=c!==null,h=u!==null,m=f!==null,g=async()=>{if(h&&!xd(u,f))return u.oid;{let v=await s.read(O(e,i)),w=await yA({gitdir:a,type:"blob",object:v});return h&&u.oid===w&&f.size!==-1&&mt.acquire({fs:s,gitdir:a,cache:n},async function(b){b.insert({filepath:i,stats:f,oid:w})}),w}};if(!d&&!m&&!h)return"absent";if(!d&&!m&&h)return"*absent";if(!d&&m&&!h)return"*added";if(!d&&m&&h)return await g()===u.oid?"added":"*added";if(d&&!m&&!h)return"deleted";if(d&&!m&&h)return c===u.oid,"*deleted";if(d&&m&&!h)return await g()===c?"*undeleted":"*undeletemodified";if(d&&m&&h){let v=await g();return v===c?v===u.oid?"unmodified":"*unmodified":v===u.oid?"modified":"*modified"}}catch(s){throw s.caller="git.status",s}}async function PA({fs:t,cache:e,gitdir:r,tree:i,path:n}){typeof n=="string"&&(n=n.split("/"));let s=n.shift();for(let a of i)if(a.path===s){if(n.length===0)return a.oid;let{type:o,object:l}=await Ke({fs:t,cache:e,gitdir:r,oid:a.oid});if(o==="tree"){let c=Er.from(l);return PA({fs:t,cache:e,gitdir:r,tree:c,path:n})}if(o==="blob")throw new hr(a.oid,o,"blob",n.join("/"))}return null}async function P6({fs:t,cache:e,gitdir:r}){let i;try{i=await W.resolve({fs:t,gitdir:r,ref:"HEAD"})}catch(s){if(s instanceof He)return[]}let{tree:n}=await sl({fs:t,cache:e,gitdir:r,oid:i});return n}async function RA({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i="HEAD",filepaths:n=["."],filter:s,cache:a={},ignored:o=!1}){try{C("fs",t),C("gitdir",r),C("ref",i);let l=new J(t),c=await ee({fsp:l,dotgit:r});return await Is({fs:l,cache:a,dir:e,gitdir:c,trees:[Zr({ref:i}),nl(),Aa()],map:async function(u,[f,d,h]){if(!f&&!h&&d&&!o&&await Fs.isIgnored({fs:l,dir:e,filepath:u})||!n.some(y=>gk(u,y)))return null;if(s&&!s(u))return;let[m,g,v]=await Promise.all([f&&f.type(),d&&d.type(),h&&h.type()]),w=[m,g,v].includes("blob");if((m==="tree"||m==="special")&&!w)return;if(m==="commit")return null;if((g==="tree"||g==="special")&&!w)return;if(v==="commit")return null;if((v==="tree"||v==="special")&&!w)return;let b=m==="blob"?await f.oid():void 0,k=v==="blob"?await h.oid():void 0,x;m!=="blob"&&g==="blob"&&v!=="blob"?x="42":g==="blob"&&(x=await d.oid());let E=[void 0,b,x,k],A=E.map(y=>E.indexOf(y));return A.shift(),[u,...A]}})}catch(l){throw l.caller="git.statusMatrix",l}}async function $A({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i,object:n,force:s=!1}){try{C("fs",t),C("gitdir",r),C("ref",i);let a=new J(t);if(i===void 0)throw new Sr("ref");i=i.startsWith("refs/tags/")?i:`refs/tags/${i}`;let o=await ee({fsp:a,dotgit:r}),l=await W.resolve({fs:a,gitdir:o,ref:n||"HEAD"});if(!s&&await W.exists({fs:a,gitdir:o,ref:i}))throw new $i("tag",i);await W.writeRef({fs:a,gitdir:o,ref:i,value:l})}catch(a){throw a.caller="git.tag",a}}async function IA({fs:t,dir:e,gitdir:r=O(e,".git"),cache:i={},filepath:n,oid:s,mode:a,add:o,remove:l,force:c}){try{C("fs",t),C("gitdir",r),C("filepath",n);let u=new J(t),f=await ee({fsp:u,dotgit:r});if(l)return await mt.acquire({fs:u,gitdir:f,cache:i},async function(h){if(!c){let m=await u.lstat(O(e,n));if(m){if(m.isDirectory())throw new $s("directory");return}}h.has({filepath:n})&&h.delete({filepath:n})});let d;if(!s){if(d=await u.lstat(O(e,n)),!d)throw new He(`file at "${n}" on disk and "remove" not set`);if(d.isDirectory())throw new $s("directory")}return await mt.acquire({fs:u,gitdir:f,cache:i},async function(h){if(!o&&!h.has({filepath:n}))throw new He(`file at "${n}" in index and "add" not set`);let m;if(s)m={ctime:new Date(0),mtime:new Date(0),dev:0,ino:0,mode:a,uid:0,gid:0,size:0};else{m=d;let g=m.isSymbolicLink()?await u.readlink(O(e,n)):await u.read(O(e,n));s=await Ar({fs:u,gitdir:f,type:"blob",format:"content",object:g})}return h.insert({filepath:n,oid:s,stats:m}),s})}catch(u){throw u.caller="git.updateIndex",u}}function FA(){try{return Md.version}catch(t){throw t.caller="git.version",t}}async function OA({fs:t,dir:e,gitdir:r=O(e,".git"),trees:i,map:n,reduce:s,iterate:a,cache:o={}}){try{C("fs",t),C("gitdir",r),C("trees",i);let l=new J(t),c=await ee({fsp:l,dotgit:r});return await Is({fs:l,cache:o,dir:e,gitdir:c,trees:i,map:n,reduce:s,iterate:a})}catch(l){throw l.caller="git.walk",l}}async function MA({fs:t,dir:e,gitdir:r=O(e,".git"),blob:i}){try{C("fs",t),C("gitdir",r),C("blob",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await Ar({fs:n,gitdir:s,type:"blob",object:i,format:"content"})}catch(n){throw n.caller="git.writeBlob",n}}async function DA({fs:t,dir:e,gitdir:r=O(e,".git"),commit:i}){try{C("fs",t),C("gitdir",r),C("commit",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await SA({fs:n,gitdir:s,commit:i})}catch(n){throw n.caller="git.writeCommit",n}}async function LA({fs:t,dir:e,gitdir:r=O(e,".git"),type:i,object:n,format:s="parsed",oid:a,encoding:o=void 0}){try{let l=new J(t),c=await ee({fsp:l,dotgit:r});if(s==="parsed"){switch(i){case"commit":n=kr.from(n).toObject();break;case"tree":n=Er.from(n).toObject();break;case"blob":n=Buffer.from(n,o);break;case"tag":n=Kr.from(n).toObject();break;default:throw new hr(a||"",i,"blob|commit|tag|tree")}s="content"}return a=await Ar({fs:l,gitdir:c,type:i,object:n,oid:a,format:s}),a}catch(l){throw l.caller="git.writeObject",l}}async function BA({fs:t,dir:e,gitdir:r=O(e,".git"),ref:i,value:n,force:s=!1,symbolic:a=!1}){try{C("fs",t),C("gitdir",r),C("ref",i),C("value",n);let o=new J(t);if(!nu(i,!0))throw new Ii(i,Hc.clean(i));let l=await ee({fsp:o,dotgit:r});if(!s&&await W.exists({fs:o,gitdir:l,ref:i}))throw new $i("ref",i);a?await W.writeSymbolicRef({fs:o,gitdir:l,ref:i,value:n}):(n=await W.resolve({fs:o,gitdir:l,ref:n}),await W.writeRef({fs:o,gitdir:l,ref:i,value:n}))}catch(o){throw o.caller="git.writeRef",o}}async function R6({fs:t,gitdir:e,tag:r}){let i=Kr.from(r).toObject();return await Ar({fs:t,gitdir:e,type:"tag",object:i,format:"content"})}async function NA({fs:t,dir:e,gitdir:r=O(e,".git"),tag:i}){try{C("fs",t),C("gitdir",r),C("tag",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await R6({fs:n,gitdir:s,tag:i})}catch(n){throw n.caller="git.writeTag",n}}async function HA({fs:t,dir:e,gitdir:r=O(e,".git"),tree:i}){try{C("fs",t),C("gitdir",r),C("tree",i);let n=new J(t),s=await ee({fsp:n,dotgit:r});return await au({fs:n,gitdir:s,tree:i})}catch(n){throw n.caller="git.writeTree",n}}var $6={Errors:tk,STAGE:Aa,TREE:Zr,WORKDIR:nl,add:ak,abortMerge:ik,addNote:fk,addRemote:hk,annotatedTag:pk,branch:mk,checkout:wv,clone:_k,commit:xk,getConfig:Lk,getConfigAll:Bk,setConfig:xA,currentBranch:Sk,deleteBranch:Ek,deleteRef:kk,deleteRemote:Ak,deleteTag:Tk,expandOid:Ck,expandRef:Pk,fastForward:Ik,fetch:Fk,findMergeBase:Ok,findRoot:Dk,getRemoteInfo:Nk,getRemoteInfo2:Uk,hashBlob:Gk,indexPack:jk,init:qk,isDescendent:Vk,isIgnored:Wk,listBranches:Yk,listFiles:Zk,listNotes:Kk,listRefs:Qk,listRemotes:Jk,listServerRefs:eA,listTags:tA,log:iA,merge:nA,packObjects:aA,pull:oA,push:lA,readBlob:fA,readCommit:_v,readNote:dA,readObject:hA,readTag:pA,readTree:mA,remove:gA,removeNote:vA,renameBranch:wA,resetIndex:bA,updateIndex:IA,resolveRef:_A,status:CA,statusMatrix:RA,tag:$A,version:FA,walk:OA,writeBlob:MA,writeCommit:DA,writeObject:LA,writeRef:BA,writeTag:NA,writeTree:HA,stash:TA};X.Errors=tk;X.STAGE=Aa;X.TREE=Zr;X.WORKDIR=nl;X.abortMerge=ik;X.add=ak;X.addNote=fk;X.addRemote=hk;X.annotatedTag=pk;X.branch=mk;X.checkout=wv;X.clone=_k;X.commit=xk;X.currentBranch=Sk;X.default=$6;X.deleteBranch=Ek;X.deleteRef=kk;X.deleteRemote=Ak;X.deleteTag=Tk;X.expandOid=Ck;X.expandRef=Pk;X.fastForward=Ik;X.fetch=Fk;X.findMergeBase=Ok;X.findRoot=Dk;X.getConfig=Lk;X.getConfigAll=Bk;X.getRemoteInfo=Nk;X.getRemoteInfo2=Uk;X.hashBlob=Gk;X.indexPack=jk;X.init=qk;X.isDescendent=Vk;X.isIgnored=Wk;X.listBranches=Yk;X.listFiles=Zk;X.listNotes=Kk;X.listRefs=Qk;X.listRemotes=Jk;X.listServerRefs=eA;X.listTags=tA;X.log=iA;X.merge=nA;X.packObjects=aA;X.pull=oA;X.push=lA;X.readBlob=fA;X.readCommit=_v;X.readNote=dA;X.readObject=hA;X.readTag=pA;X.readTree=mA;X.remove=gA;X.removeNote=vA;X.renameBranch=wA;X.resetIndex=bA;X.resolveRef=_A;X.setConfig=xA;X.stash=TA;X.status=CA;X.statusMatrix=RA;X.tag=$A;X.updateIndex=IA;X.version=FA;X.walk=OA;X.writeBlob=MA;X.writeCommit=DA;X.writeObject=LA;X.writeRef=BA;X.writeTag=NA;X.writeTree=HA});var QA=I((HZ,KA)=>{"use strict";p();KA.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}});var eT=I((GZ,JA)=>{p();var Dv={px:{px:1,cm:37.79527559055118,mm:3.7795275590551185,in:96,pt:1.3333333333333333,pc:16},cm:{px:.026458333333333334,cm:1,mm:.1,in:2.54,pt:.035277777777777776,pc:.42333333333333334},mm:{px:.26458333333333334,cm:10,mm:1,in:25.4,pt:.35277777777777775,pc:4.233333333333333},in:{px:.010416666666666666,cm:.39370078740157477,mm:.03937007874015748,in:1,pt:.013888888888888888,pc:.16666666666666666},pt:{px:.75,cm:28.346456692913385,mm:2.834645669291339,in:72,pt:1,pc:12},pc:{px:.0625,cm:2.3622047244094486,mm:.2362204724409449,in:6,pt:.08333333333333333,pc:1},deg:{deg:1,grad:.9,rad:180/Math.PI,turn:360},grad:{deg:1.1111111111111112,grad:1,rad:200/Math.PI,turn:400},rad:{deg:Math.PI/180,grad:Math.PI/200,rad:1,turn:Math.PI*2},turn:{deg:.002777777777777778,grad:.0025,rad:.5/Math.PI,turn:1},s:{s:1,ms:.001},ms:{s:1e3,ms:1},Hz:{Hz:1,kHz:1e3},kHz:{Hz:.001,kHz:1},dpi:{dpi:1,dpcm:.39370078740157477,dppx:.010416666666666666},dpcm:{dpi:2.54,dpcm:1,dppx:.026458333333333334},dppx:{dpi:96,dpcm:37.79527559055118,dppx:1}};JA.exports=function(t,e,r,i){if(!Dv.hasOwnProperty(r))throw new Error("Cannot convert to "+r);if(!Dv[r].hasOwnProperty(e))throw new Error("Cannot convert from "+e+" to "+r);var n=Dv[r][e]*t;return i!==!1?(i=Math.pow(10,parseInt(i)||5),Math.round(n*i)/i):n}});var pT=I(Vn=>{"use strict";p();Object.defineProperty(Vn,"__esModule",{value:!0});Vn.fromRgba=ul;Vn.fromRgb=Lv;Vn.fromHsla=zd;Vn.fromHsl=dT;Vn.fromString=hT;Vn.default=void 0;var tT=nT(QA()),H6=nT(eT());function nT(t){return t&&t.__esModule?t:{default:t}}function U6(t,e){if(!(t instanceof e))throw new TypeError("Cannot call a class as a function")}function rT(t,e){for(var r=0;rt.length)&&(e=t.length);for(var r=0,i=new Array(e);r-1}function W6(t,e,r){var i=t/255,n=e/255,s=r/255,a=Math.max(i,n,s),o=Math.min(i,n,s),l=a-o,c=(a+o)/2;if(l===0)return[0,0,c*100];var u=l/(1-Math.abs(2*c-1)),f=function(){switch(a){case i:return(n-s)/l%6;case n:return(s-i)/l+2;default:return(i-n)/l+4}}();return[f*60,u*100,c*100]}function Y6(t,e,r){var i=t/60,n=e/100,s=r/100,a=(1-Math.abs(2*s-1))*n,o=a*(1-Math.abs(i%2-1)),l=s-a/2,c=function(){return i<1?[a,o,0]:i<2?[o,a,0]:i<3?[0,a,o]:i<4?[0,o,a]:i<5?[o,0,a]:[a,0,o]}(),u=pr(c,3),f=u[0],d=u[1],h=u[2];return[(f+l)*255,(d+l)*255,(h+l)*255]}var X6=function(){function t(e){var r=pr(e,4),i=r[0],n=r[1],s=r[2],a=r[3];U6(this,t),this.values=[Math.max(Math.min(parseInt(i,10),255),0),Math.max(Math.min(parseInt(n,10),255),0),Math.max(Math.min(parseInt(s,10),255),0),a==null?1:Math.max(Math.min(parseFloat(a),255),0)]}return G6(t,[{key:"toRgbString",value:function(){var r=pr(this.values,4),i=r[0],n=r[1],s=r[2],a=r[3];return a===1?"rgb(".concat(i,", ").concat(n,", ").concat(s,")"):"rgba(".concat(i,", ").concat(n,", ").concat(s,", ").concat(a,")")}},{key:"toHslString",value:function(){var r=this.toHslaArray(),i=pr(r,4),n=i[0],s=i[1],a=i[2],o=i[3];return o===1?"hsl(".concat(n,", ").concat(s,"%, ").concat(a,"%)"):"hsla(".concat(n,", ").concat(s,"%, ").concat(a,"%, ").concat(o,")")}},{key:"toHexString",value:function(){var r=pr(this.values,4),i=r[0],n=r[1],s=r[2],a=r[3];return i=Number(i).toString(16).padStart(2,"0"),n=Number(n).toString(16).padStart(2,"0"),s=Number(s).toString(16).padStart(2,"0"),a=a<1?parseInt(a*255,10).toString(16).padStart(2,"0"):"","#".concat(i).concat(n).concat(s).concat(a)}},{key:"toRgbaArray",value:function(){return this.values}},{key:"toHslaArray",value:function(){var r=pr(this.values,4),i=r[0],n=r[1],s=r[2],a=r[3],o=W6(i,n,s),l=pr(o,3),c=l[0],u=l[1],f=l[2];return[c,u,f,a]}}]),t}();function ul(t){var e=pr(t,4),r=e[0],i=e[1],n=e[2],s=e[3];return new X6([r,i,n,s])}function Lv(t){var e=pr(t,3),r=e[0],i=e[1],n=e[2];return ul([r,i,n,1])}function zd(t){var e=pr(t,4),r=e[0],i=e[1],n=e[2],s=e[3],a=Y6(r,i,n),o=pr(a,3),l=o[0],c=o[1],u=o[2];return ul([l,c,u,s])}function dT(t){var e=pr(t,3),r=e[0],i=e[1],n=e[2];return zd([r,i,n,1])}function Z6(t){var e=sT.exec(t)||aT.exec(t),r=pr(e,5),i=r[1],n=r[2],s=r[3],a=r[4];return i=parseInt(i.length<2?i.repeat(2):i,16),n=parseInt(n.length<2?n.repeat(2):n,16),s=parseInt(s.length<2?s.repeat(2):s,16),a=a&&(parseInt(a.length<2?a.repeat(2):a,16)/255).toPrecision(1)||1,ul([i,n,s,a])}function K6(t){var e=oT.exec(t)||cT.exec(t)||lT.exec(t)||uT.exec(t),r=pr(e,5),i=r[1],n=r[2],s=r[3],a=r[4];return i=uu(i,"%")?parseInt(i,10)*255/100:parseInt(i,10),n=uu(n,"%")?parseInt(n,10)*255/100:parseInt(n,10),s=uu(s,"%")>0?parseInt(s,10)*255/100:parseInt(s,10),a=a===void 0?1:parseFloat(a)/(uu(a,"%")?100:1),ul([i,n,s,a])}function Q6(t){var e=fT.exec(t),r=pr(e,6),i=r[1],n=r[2],s=r[3],a=r[4],o=r[5];return n=n||"deg",i=(0,H6.default)(parseFloat(i),n,"deg"),s=parseFloat(s),a=parseFloat(a),o=o===void 0?1:parseFloat(o)/(uu(o,"%")?100:1),zd([i,s,a,o])}function hT(t){return tT.default[t]?Lv(tT.default[t]):sT.test(t)||aT.test(t)?Z6(t):oT.test(t)||cT.test(t)||lT.test(t)||uT.test(t)?K6(t):fT.test(t)?Q6(t):null}var J6={fromString:hT,fromRgb:Lv,fromRgba:ul,fromHsl:dT,fromHsla:zd};Vn.default=J6});var Bv=I((VZ,gT)=>{"use strict";p();var mT=Object.prototype.toString;gT.exports=function(e){var r=mT.call(e),i=r==="[object Arguments]";return i||(i=r!=="[object Array]"&&e!==null&&typeof e=="object"&&typeof e.length=="number"&&e.length>=0&&mT.call(e.callee)==="[object Function]"),i}});var kT=I((YZ,ET)=>{"use strict";p();var ST;Object.keys||(fu=Object.prototype.hasOwnProperty,Nv=Object.prototype.toString,vT=Bv(),Hv=Object.prototype.propertyIsEnumerable,wT=!Hv.call({toString:null},"toString"),yT=Hv.call(function(){},"prototype"),du=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],Vd=function(t){var e=t.constructor;return e&&e.prototype===t},bT={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},_T=function(){if(typeof window=="undefined")return!1;for(var t in window)try{if(!bT["$"+t]&&fu.call(window,t)&&window[t]!==null&&typeof window[t]=="object")try{Vd(window[t])}catch(e){return!0}}catch(e){return!0}return!1}(),xT=function(t){if(typeof window=="undefined"||!_T)return Vd(t);try{return Vd(t)}catch(e){return!1}},ST=function(e){var r=e!==null&&typeof e=="object",i=Nv.call(e)==="[object Function]",n=vT(e),s=r&&Nv.call(e)==="[object String]",a=[];if(!r&&!i&&!n)throw new TypeError("Object.keys called on a non-object");var o=yT&&i;if(s&&e.length>0&&!fu.call(e,0))for(var l=0;l0)for(var c=0;c{"use strict";p();var e5=Array.prototype.slice,t5=Bv(),AT=Object.keys,Wd=AT?function(e){return AT(e)}:kT(),TT=Object.keys;Wd.shim=function(){if(Object.keys){var e=function(){var r=Object.keys(arguments);return r&&r.length===arguments.length}(1,2);e||(Object.keys=function(i){return t5(i)?TT(e5.call(i)):TT(i)})}else Object.keys=Wd;return Object.keys||Wd};CT.exports=Wd});var Ns=I((QZ,IT)=>{"use strict";p();var r5=Yd(),i5=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",n5=Object.prototype.toString,s5=Array.prototype.concat,PT=Wf(),a5=function(t){return typeof t=="function"&&n5.call(t)==="[object Function]"},RT=Yf()(),o5=function(t,e,r,i){if(e in t){if(i===!0){if(t[e]===r)return}else if(!a5(i)||!i())return}RT?PT(t,e,r,!0):PT(t,e,r)},$T=function(t,e){var r=arguments.length>2?arguments[2]:{},i=r5(e);i5&&(i=s5.call(i,Object.getOwnPropertySymbols(e)));for(var n=0;n{"use strict";p();var l5=Yd(),OT=vc()(),MT=Bt(),Xd=Ff(),c5=MT("Array.prototype.push"),FT=MT("Object.prototype.propertyIsEnumerable"),u5=OT?Xd.getOwnPropertySymbols:null;DT.exports=function(e,r){if(e==null)throw new TypeError("target must be an object");var i=Xd(e);if(arguments.length===1)return i;for(var n=1;n{"use strict";p();var Gv=Uv(),f5=function(){if(!Object.assign)return!1;for(var t="abcdefghijklmnopqrst",e=t.split(""),r={},i=0;i{"use strict";p();var h5=Ns(),p5=jv();BT.exports=function(){var e=p5();return h5(Object,{assign:e},{assign:function(){return Object.assign!==e}}),e}});var jT=I((aK,GT)=>{"use strict";p();var m5=Ns(),g5=fa(),v5=Uv(),HT=jv(),w5=NT(),y5=g5.apply(HT()),UT=function(e,r){return y5(Object,arguments)};m5(UT,{getPolyfill:HT,implementation:v5,shim:w5});GT.exports=UT});var qv=I((lK,VT)=>{"use strict";p();var qT=tn(),zT=fa(),b5=zT(qT("String.prototype.indexOf"));VT.exports=function(e,r){var i=qT(e,!!r);return typeof i=="function"&&b5(e,".prototype.")>-1?zT(i):i}});var YT=I((uK,WT)=>{"use strict";p();var pu=function(){return typeof function(){}.name=="string"},hu=Object.getOwnPropertyDescriptor;if(hu)try{hu([],"length")}catch(t){hu=null}pu.functionsHaveConfigurableNames=function(){if(!pu()||!hu)return!1;var e=hu(function(){},"name");return!!e&&!!e.configurable};var _5=Function.prototype.bind;pu.boundFunctionsHaveNames=function(){return pu()&&typeof _5=="function"&&function(){}.bind().name!==""};WT.exports=pu});var KT=I((dK,ZT)=>{"use strict";p();var XT=Wf(),x5=Yf()(),S5=YT().functionsHaveConfigurableNames(),E5=_r();ZT.exports=function(e,r){if(typeof e!="function")throw new E5("`fn` is not a function");var i=arguments.length>2&&!!arguments[2];return(!i||S5)&&(x5?XT(e,"name",r,!0,!0):XT(e,"name",r)),e}});var zv=I((pK,QT)=>{"use strict";p();var k5=KT(),A5=_r(),T5=Object;QT.exports=k5(function(){if(this==null||this!==T5(this))throw new A5("RegExp.prototype.flags getter called on non-object");var e="";return this.hasIndices&&(e+="d"),this.global&&(e+="g"),this.ignoreCase&&(e+="i"),this.multiline&&(e+="m"),this.dotAll&&(e+="s"),this.unicode&&(e+="u"),this.unicodeSets&&(e+="v"),this.sticky&&(e+="y"),e},"get flags",!0)});var Vv=I((gK,JT)=>{"use strict";p();var C5=zv(),P5=Ns().supportsDescriptors,R5=Object.getOwnPropertyDescriptor;JT.exports=function(){if(P5&&/a/mig.flags==="gim"){var e=R5(RegExp.prototype,"flags");if(e&&typeof e.get=="function"&&"dotAll"in RegExp.prototype&&"hasIndices"in RegExp.prototype){var r="",i={};if(Object.defineProperty(i,"hasIndices",{get:function(){r+="d"}}),Object.defineProperty(i,"sticky",{get:function(){r+="y"}}),e.get.call(i),r==="dy")return e.get}}return C5}});var rC=I((wK,tC)=>{"use strict";p();var $5=Ns().supportsDescriptors,I5=Vv(),F5=ys(),O5=Object.defineProperty,M5=Um(),eC=Uf(),D5=/a/;tC.exports=function(){if(!$5||!eC)throw new M5("RegExp.prototype.flags requires a true ES5 environment that supports property descriptors");var e=I5(),r=eC(D5),i=F5(r,"flags");return(!i||i.get!==e)&&O5(r,"flags",{configurable:!0,enumerable:!1,get:e}),e}});var aC=I((bK,sC)=>{"use strict";p();var L5=Ns(),B5=fa(),N5=zv(),iC=Vv(),H5=rC(),nC=B5(iC());L5(nC,{getPolyfill:iC,implementation:N5,shim:H5});sC.exports=nC});var Yv=I((xK,lC)=>{"use strict";p();var U5=bs()(),G5=Bt(),Wv=G5("Object.prototype.toString"),Zd=function(e){return U5&&e&&typeof e=="object"&&Symbol.toStringTag in e?!1:Wv(e)==="[object Arguments]"},oC=function(e){return Zd(e)?!0:e!==null&&typeof e=="object"&&"length"in e&&typeof e.length=="number"&&e.length>=0&&Wv(e)!=="[object Array]"&&"callee"in e&&Wv(e.callee)==="[object Function]"},j5=function(){return Zd(arguments)}();Zd.isLegacyArguments=oC;lC.exports=j5?Zd:oC});var cC=I(()=>{p()});var yu=I((TK,PC)=>{p();var nw=typeof Map=="function"&&Map.prototype,Xv=Object.getOwnPropertyDescriptor&&nw?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,Qd=nw&&Xv&&typeof Xv.get=="function"?Xv.get:null,uC=nw&&Map.prototype.forEach,sw=typeof Set=="function"&&Set.prototype,Zv=Object.getOwnPropertyDescriptor&&sw?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,Jd=sw&&Zv&&typeof Zv.get=="function"?Zv.get:null,fC=sw&&Set.prototype.forEach,q5=typeof WeakMap=="function"&&WeakMap.prototype,gu=q5?WeakMap.prototype.has:null,z5=typeof WeakSet=="function"&&WeakSet.prototype,vu=z5?WeakSet.prototype.has:null,V5=typeof WeakRef=="function"&&WeakRef.prototype,dC=V5?WeakRef.prototype.deref:null,W5=Boolean.prototype.valueOf,Y5=Object.prototype.toString,X5=Function.prototype.toString,Z5=String.prototype.match,aw=String.prototype.slice,Hs=String.prototype.replace,K5=String.prototype.toUpperCase,hC=String.prototype.toLowerCase,xC=RegExp.prototype.test,pC=Array.prototype.concat,fn=Array.prototype.join,Q5=Array.prototype.slice,mC=Math.floor,Jv=typeof BigInt=="function"?BigInt.prototype.valueOf:null,Kv=Object.getOwnPropertySymbols,ew=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,fl=typeof Symbol=="function"&&typeof Symbol.iterator=="object",wu=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===fl||!0)?Symbol.toStringTag:null,SC=Object.prototype.propertyIsEnumerable,gC=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(t){return t.__proto__}:null);function vC(t,e){if(t===1/0||t===-1/0||t!==t||t&&t>-1e3&&t<1e3||xC.call(/e/,e))return e;var r=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof t=="number"){var i=t<0?-mC(-t):mC(t);if(i!==t){var n=String(i),s=aw.call(e,n.length+1);return Hs.call(n,r,"$&_")+"."+Hs.call(Hs.call(s,/([0-9]{3})/g,"$&_"),/_$/,"")}}return Hs.call(e,r,"$&_")}var tw=cC(),wC=tw.custom,yC=AC(wC)?wC:null,EC={__proto__:null,double:'"',single:"'"},J5={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};PC.exports=function t(e,r,i,n){var s=r||{};if(Wn(s,"quoteStyle")&&!Wn(EC,s.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Wn(s,"maxStringLength")&&(typeof s.maxStringLength=="number"?s.maxStringLength<0&&s.maxStringLength!==1/0:s.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var a=Wn(s,"customInspect")?s.customInspect:!0;if(typeof a!="boolean"&&a!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Wn(s,"indent")&&s.indent!==null&&s.indent!==" "&&!(parseInt(s.indent,10)===s.indent&&s.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Wn(s,"numericSeparator")&&typeof s.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var o=s.numericSeparator;if(typeof e=="undefined")return"undefined";if(e===null)return"null";if(typeof e=="boolean")return e?"true":"false";if(typeof e=="string")return CC(e,s);if(typeof e=="number"){if(e===0)return 1/0/e>0?"0":"-0";var l=String(e);return o?vC(e,l):l}if(typeof e=="bigint"){var c=String(e)+"n";return o?vC(e,c):c}var u=typeof s.depth=="undefined"?5:s.depth;if(typeof i=="undefined"&&(i=0),i>=u&&u>0&&typeof e=="object")return rw(e)?"[Array]":"[Object]";var f=v4(s,i);if(typeof n=="undefined")n=[];else if(TC(n,e)>=0)return"[Circular]";function d(B,N,ce){if(N&&(n=Q5.call(n),n.push(N)),ce){var Pe={depth:s.depth};return Wn(s,"quoteStyle")&&(Pe.quoteStyle=s.quoteStyle),t(B,Pe,i+1,n)}return t(B,s,i+1,n)}if(typeof e=="function"&&!bC(e)){var h=l4(e),m=Kd(e,d);return"[Function"+(h?": "+h:" (anonymous)")+"]"+(m.length>0?" { "+fn.call(m,", ")+" }":"")}if(AC(e)){var g=fl?Hs.call(String(e),/^(Symbol\(.*\))_[^)]*$/,"$1"):ew.call(e);return typeof e=="object"&&!fl?mu(g):g}if(p4(e)){for(var v="<"+hC.call(String(e.nodeName)),w=e.attributes||[],b=0;b",v}if(rw(e)){if(e.length===0)return"[]";var k=Kd(e,d);return f&&!g4(k)?"["+iw(k,f)+"]":"[ "+fn.call(k,", ")+" ]"}if(r4(e)){var x=Kd(e,d);return!("cause"in Error.prototype)&&"cause"in e&&!SC.call(e,"cause")?"{ ["+String(e)+"] "+fn.call(pC.call("[cause]: "+d(e.cause),x),", ")+" }":x.length===0?"["+String(e)+"]":"{ ["+String(e)+"] "+fn.call(x,", ")+" }"}if(typeof e=="object"&&a){if(yC&&typeof e[yC]=="function"&&tw)return tw(e,{depth:u-i});if(a!=="symbol"&&typeof e.inspect=="function")return e.inspect()}if(c4(e)){var E=[];return uC&&uC.call(e,function(B,N){E.push(d(N,e,!0)+" => "+d(B,e))}),_C("Map",Qd.call(e),E,f)}if(d4(e)){var A=[];return fC&&fC.call(e,function(B){A.push(d(B,e))}),_C("Set",Jd.call(e),A,f)}if(u4(e))return Qv("WeakMap");if(h4(e))return Qv("WeakSet");if(f4(e))return Qv("WeakRef");if(n4(e))return mu(d(Number(e)));if(a4(e))return mu(d(Jv.call(e)));if(s4(e))return mu(W5.call(e));if(i4(e))return mu(d(String(e)));if(typeof window!="undefined"&&e===window)return"{ [object Window] }";if(typeof globalThis!="undefined"&&e===globalThis||typeof global!="undefined"&&e===global)return"{ [object globalThis] }";if(!t4(e)&&!bC(e)){var y=Kd(e,d),S=gC?gC(e)===Object.prototype:e instanceof Object||e.constructor===Object,_=e instanceof Object?"":"null prototype",T=!S&&wu&&Object(e)===e&&wu in e?aw.call(Us(e),8,-1):_?"Object":"",P=S||typeof e.constructor!="function"?"":e.constructor.name?e.constructor.name+" ":"",D=P+(T||_?"["+fn.call(pC.call([],T||[],_||[]),": ")+"] ":"");return y.length===0?D+"{}":f?D+"{"+iw(y,f)+"}":D+"{ "+fn.call(y,", ")+" }"}return String(e)};function kC(t,e,r){var i=r.quoteStyle||e,n=EC[i];return n+t+n}function e4(t){return Hs.call(String(t),/"/g,""")}function Ca(t){return!wu||!(typeof t=="object"&&(wu in t||typeof t[wu]!="undefined"))}function rw(t){return Us(t)==="[object Array]"&&Ca(t)}function t4(t){return Us(t)==="[object Date]"&&Ca(t)}function bC(t){return Us(t)==="[object RegExp]"&&Ca(t)}function r4(t){return Us(t)==="[object Error]"&&Ca(t)}function i4(t){return Us(t)==="[object String]"&&Ca(t)}function n4(t){return Us(t)==="[object Number]"&&Ca(t)}function s4(t){return Us(t)==="[object Boolean]"&&Ca(t)}function AC(t){if(fl)return t&&typeof t=="object"&&t instanceof Symbol;if(typeof t=="symbol")return!0;if(!t||typeof t!="object"||!ew)return!1;try{return ew.call(t),!0}catch(e){}return!1}function a4(t){if(!t||typeof t!="object"||!Jv)return!1;try{return Jv.call(t),!0}catch(e){}return!1}var o4=Object.prototype.hasOwnProperty||function(t){return t in this};function Wn(t,e){return o4.call(t,e)}function Us(t){return Y5.call(t)}function l4(t){if(t.name)return t.name;var e=Z5.call(X5.call(t),/^function\s*([\w$]+)/);return e?e[1]:null}function TC(t,e){if(t.indexOf)return t.indexOf(e);for(var r=0,i=t.length;re.maxStringLength){var r=t.length-e.maxStringLength,i="... "+r+" more character"+(r>1?"s":"");return CC(aw.call(t,0,e.maxStringLength),e)+i}var n=J5[e.quoteStyle||"single"];n.lastIndex=0;var s=Hs.call(Hs.call(t,n,"\\$1"),/[\x00-\x1f]/g,m4);return kC(s,"single",e)}function m4(t){var e=t.charCodeAt(0),r={8:"b",9:"t",10:"n",12:"f",13:"r"}[e];return r?"\\"+r:"\\x"+(e<16?"0":"")+K5.call(e.toString(16))}function mu(t){return"Object("+t+")"}function Qv(t){return t+" { ? }"}function _C(t,e,r,i){var n=i?iw(r,i):fn.call(r,", ");return t+" ("+e+") {"+n+"}"}function g4(t){for(var e=0;e=0)return!1;return!0}function v4(t,e){var r;if(t.indent===" ")r=" ";else if(typeof t.indent=="number"&&t.indent>0)r=fn.call(Array(t.indent+1)," ");else return null;return{base:r,prev:fn.call(Array(e+1),r)}}function iw(t,e){if(t.length===0)return"";var r=` +`+e.prev+e.base;return r+fn.call(t,","+r)+` +`+e.prev}function Kd(t,e){var r=rw(t),i=[];if(r){i.length=t.length;for(var n=0;n{"use strict";p();var w4=yu(),y4=_r(),eh=function(t,e,r){for(var i=t,n;(n=i.next)!=null;i=n)if(n.key===e)return i.next=n.next,r||(n.next=t.next,t.next=n),n},b4=function(t,e){if(t){var r=eh(t,e);return r&&r.value}},_4=function(t,e,r){var i=eh(t,e);i?i.value=r:t.next={key:e,next:t.next,value:r}},x4=function(t,e){return t?!!eh(t,e):!1},S4=function(t,e){if(t)return eh(t,e,!0)};RC.exports=function(){var e,r={assert:function(i){if(!r.has(i))throw new y4("Side channel does not contain "+w4(i))},delete:function(i){var n=e&&e.next,s=S4(e,i);return s&&n&&n===s&&(e=void 0),!!s},get:function(i){return b4(e,i)},has:function(i){return x4(e,i)},set:function(i,n){e||(e={next:void 0}),_4(e,i,n)}};return r}});var ow=I(($K,FC)=>{"use strict";p();var E4=tn(),bu=Bt(),k4=yu(),A4=_r(),IC=E4("%Map%",!0),T4=bu("Map.prototype.get",!0),C4=bu("Map.prototype.set",!0),P4=bu("Map.prototype.has",!0),R4=bu("Map.prototype.delete",!0),$4=bu("Map.prototype.size",!0);FC.exports=!!IC&&function(){var e,r={assert:function(i){if(!r.has(i))throw new A4("Side channel does not contain "+k4(i))},delete:function(i){if(e){var n=R4(e,i);return $4(e)===0&&(e=void 0),n}return!1},get:function(i){if(e)return T4(e,i)},has:function(i){return e?P4(e,i):!1},set:function(i,n){e||(e=new IC),C4(e,i,n)}};return r}});var MC=I((FK,OC)=>{"use strict";p();var I4=tn(),rh=Bt(),F4=yu(),th=ow(),O4=_r(),dl=I4("%WeakMap%",!0),M4=rh("WeakMap.prototype.get",!0),D4=rh("WeakMap.prototype.set",!0),L4=rh("WeakMap.prototype.has",!0),B4=rh("WeakMap.prototype.delete",!0);OC.exports=dl?function(){var e,r,i={assert:function(n){if(!i.has(n))throw new O4("Side channel does not contain "+F4(n))},delete:function(n){if(dl&&n&&(typeof n=="object"||typeof n=="function")){if(e)return B4(e,n)}else if(th&&r)return r.delete(n);return!1},get:function(n){return dl&&n&&(typeof n=="object"||typeof n=="function")&&e?M4(e,n):r&&r.get(n)},has:function(n){return dl&&n&&(typeof n=="object"||typeof n=="function")&&e?L4(e,n):!!r&&r.has(n)},set:function(n,s){dl&&n&&(typeof n=="object"||typeof n=="function")?(e||(e=new dl),D4(e,n,s)):th&&(r||(r=th()),r.set(n,s))}};return i}:th});var lw=I((MK,DC)=>{"use strict";p();var N4=_r(),H4=yu(),U4=$C(),G4=ow(),j4=MC(),q4=j4||G4||U4;DC.exports=function(){var e,r={assert:function(i){if(!r.has(i))throw new N4("Side channel does not contain "+H4(i))},delete:function(i){return!!e&&e.delete(i)},get:function(i){return e&&e.get(i)},has:function(i){return!!e&&e.has(i)},set:function(i,n){e||(e=q4()),e.set(i,n)}};return r}});var BC=I((LK,LC)=>{"use strict";p();var z4=Gf(),_u=lw()(),Yn=_r(),cw={assert:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Yn("`O` is not an object");if(typeof e!="string")throw new Yn("`slot` must be a string");if(_u.assert(t),!cw.has(t,e))throw new Yn("`"+e+"` is not present on `O`")},get:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Yn("`O` is not an object");if(typeof e!="string")throw new Yn("`slot` must be a string");var r=_u.get(t);return r&&r["$"+e]},has:function(t,e){if(!t||typeof t!="object"&&typeof t!="function")throw new Yn("`O` is not an object");if(typeof e!="string")throw new Yn("`slot` must be a string");var r=_u.get(t);return!!r&&z4(r,"$"+e)},set:function(t,e,r){if(!t||typeof t!="object"&&typeof t!="function")throw new Yn("`O` is not an object");if(typeof e!="string")throw new Yn("`slot` must be a string");var i=_u.get(t);i||(i={},_u.set(t,i)),i["$"+e]=r}};Object.freeze&&Object.freeze(cw);LC.exports=cw});var UC=I((NK,HC)=>{"use strict";p();var xu=BC(),V4=Of(),NC=typeof StopIteration=="object"?StopIteration:null;HC.exports=function(e){if(!NC)throw new V4("this environment lacks StopIteration");xu.set(e,"[[Done]]",!1);var r={next:function(){var n=xu.get(this,"[[Iterator]]"),s=!!xu.get(n,"[[Done]]");try{return{done:s,value:s?void 0:n.next()}}catch(a){if(xu.set(n,"[[Done]]",!0),a!==NC)throw a;return{done:!0,value:void 0}}}};return xu.set(r,"[[Iterator]]",e),r}});var uw=I((UK,jC)=>{"use strict";p();var GC=Bt(),W4=GC("String.prototype.valueOf"),Y4=function(e){try{return W4(e),!0}catch(r){return!1}},X4=GC("Object.prototype.toString"),Z4="[object String]",K4=bs()();jC.exports=function(e){return typeof e=="string"?!0:!e||typeof e!="object"?!1:K4?Y4(e):X4(e)===Z4}});var dw=I((jK,VC)=>{"use strict";p();var fw=typeof Map=="function"&&Map.prototype?Map:null,Q4=typeof Set=="function"&&Set.prototype?Set:null,ih;fw||(ih=function(e){return!1});var zC=fw?Map.prototype.has:null,qC=Q4?Set.prototype.has:null;!ih&&!zC&&(ih=function(e){return!1});VC.exports=ih||function(e){if(!e||typeof e!="object")return!1;try{if(zC.call(e),qC)try{qC.call(e)}catch(r){return!0}return e instanceof fw}catch(r){}return!1}});var pw=I((zK,XC)=>{"use strict";p();var J4=typeof Map=="function"&&Map.prototype?Map:null,hw=typeof Set=="function"&&Set.prototype?Set:null,nh;hw||(nh=function(e){return!1});var WC=J4?Map.prototype.has:null,YC=hw?Set.prototype.has:null;!nh&&!YC&&(nh=function(e){return!1});XC.exports=nh||function(e){if(!e||typeof e!="object")return!1;try{if(YC.call(e),WC)try{WC.call(e)}catch(r){return!0}return e instanceof hw}catch(r){}return!1}});var o2=I((WK,oh)=>{"use strict";p();var ZC=Yv(),KC=UC();Lf()()||vc()()?(sh=Symbol.iterator,oh.exports=function(e){if(e!=null&&typeof e[sh]!="undefined")return e[sh]();if(ZC(e))return Array.prototype[sh].call(e)}):(QC=If(),JC=uw(),mw=tn(),e2=mw("%Map%",!0),t2=mw("%Set%",!0),vi=qv(),gw=vi("Array.prototype.push"),vw=vi("String.prototype.charCodeAt"),r2=vi("String.prototype.slice"),i2=function(e,r){var i=e.length;if(r+1>=i)return r+1;var n=vw(e,r);if(n<55296||n>56319)return r+1;var s=vw(e,r+1);return s<56320||s>57343?r+1:r+2},ah=function(e){var r=0;return{next:function(){var n=r>=e.length,s;return n||(s=e[r],r+=1),{done:n,value:s}}}},ww=function(e,r){if(QC(e)||ZC(e))return ah(e);if(JC(e)){var i=0;return{next:function(){var s=i2(e,i),a=r2(e,i,s);return i=s,{done:s>e.length,value:a}}}}if(r&&typeof e["_es6-shim iterator_"]!="undefined")return e["_es6-shim iterator_"]()},!e2&&!t2?oh.exports=function(e){if(e!=null)return ww(e,!0)}:(n2=dw(),s2=pw(),yw=vi("Map.prototype.forEach",!0),bw=vi("Set.prototype.forEach",!0),(typeof process=="undefined"||!process.versions||!process.versions.node)&&(_w=vi("Map.prototype.iterator",!0),xw=vi("Set.prototype.iterator",!0)),Sw=vi("Map.prototype.@@iterator",!0)||vi("Map.prototype._es6-shim iterator_",!0),Ew=vi("Set.prototype.@@iterator",!0)||vi("Set.prototype._es6-shim iterator_",!0),a2=function(e){if(n2(e)){if(_w)return KC(_w(e));if(Sw)return Sw(e);if(yw){var r=[];return yw(e,function(n,s){gw(r,[s,n])}),ah(r)}}if(s2(e)){if(xw)return KC(xw(e));if(Ew)return Ew(e);if(bw){var i=[];return bw(e,function(n){gw(i,n)}),ah(i)}}},oh.exports=function(e){return a2(e)||ww(e)}));var sh,QC,JC,mw,e2,t2,vi,gw,vw,r2,i2,ah,ww,n2,s2,yw,bw,_w,xw,Sw,Ew,a2});var kw=I((XK,c2)=>{"use strict";p();var l2=function(t){return t!==t};c2.exports=function(e,r){return e===0&&r===0?1/e===1/r:!!(e===r||l2(e)&&l2(r))}});var Aw=I((KK,u2)=>{"use strict";p();var eU=kw();u2.exports=function(){return typeof Object.is=="function"?Object.is:eU}});var d2=I((JK,f2)=>{"use strict";p();var tU=Aw(),rU=Ns();f2.exports=function(){var e=tU();return rU(Object,{is:e},{is:function(){return Object.is!==e}}),e}});var g2=I((tQ,m2)=>{"use strict";p();var iU=Ns(),nU=fa(),sU=kw(),h2=Aw(),aU=d2(),p2=nU(h2(),Object);iU(p2,{getPolyfill:h2,implementation:sU,shim:aU});m2.exports=p2});var Cw=I((iQ,b2)=>{"use strict";p();var oU=fa(),y2=Bt(),lU=tn(),Tw=lU("%ArrayBuffer%",!0),lh=y2("ArrayBuffer.prototype.byteLength",!0),cU=y2("Object.prototype.toString"),v2=!!Tw&&!lh&&new Tw(0).slice,w2=!!v2&&oU(v2);b2.exports=lh||w2?function(e){if(!e||typeof e!="object")return!1;try{return lh?lh(e):w2(e,0),!0}catch(r){return!1}}:Tw?function(e){return cU(e)==="[object ArrayBuffer]"}:function(e){return!1}});var S2=I((sQ,x2)=>{"use strict";p();var _2=Bt(),uU=_2("Date.prototype.getDay"),fU=function(e){try{return uU(e),!0}catch(r){return!1}},dU=_2("Object.prototype.toString"),hU="[object Date]",pU=bs()();x2.exports=function(e){return typeof e!="object"||e===null?!1:pU?fU(e):dU(e)===hU}});var Iw=I((oQ,C2)=>{"use strict";p();var E2=Bt(),mU=bs()(),gU=Gf(),vU=ys(),$w;mU?(k2=E2("RegExp.prototype.exec"),Pw={},ch=function(){throw Pw},Rw={toString:ch,valueOf:ch},typeof Symbol.toPrimitive=="symbol"&&(Rw[Symbol.toPrimitive]=ch),$w=function(e){if(!e||typeof e!="object")return!1;var r=vU(e,"lastIndex"),i=r&&gU(r,"value");if(!i)return!1;try{k2(e,Rw)}catch(n){return n===Pw}}):(A2=E2("Object.prototype.toString"),T2="[object RegExp]",$w=function(e){return!e||typeof e!="object"&&typeof e!="function"?!1:A2(e)===T2});var k2,Pw,ch,Rw,A2,T2;C2.exports=$w});var $2=I((cQ,R2)=>{"use strict";p();var wU=Bt(),P2=wU("SharedArrayBuffer.prototype.byteLength",!0);R2.exports=P2?function(e){if(!e||typeof e!="object")return!1;try{return P2(e),!0}catch(r){return!1}}:function(e){return!1}});var O2=I((fQ,F2)=>{"use strict";p();var I2=Bt(),yU=I2("Number.prototype.toString"),bU=function(e){try{return yU(e),!0}catch(r){return!1}},_U=I2("Object.prototype.toString"),xU="[object Number]",SU=bs()();F2.exports=function(e){return typeof e=="number"?!0:!e||typeof e!="object"?!1:SU?bU(e):_U(e)===xU}});var L2=I((hQ,D2)=>{"use strict";p();var M2=Bt(),EU=M2("Boolean.prototype.toString"),kU=M2("Object.prototype.toString"),AU=function(e){try{return EU(e),!0}catch(r){return!1}},TU="[object Boolean]",CU=bs()();D2.exports=function(e){return typeof e=="boolean"?!0:e===null||typeof e!="object"?!1:CU?AU(e):kU(e)===TU}});var N2=I((mQ,B2)=>{"use strict";p();var PU=Bt(),RU=Iw(),$U=PU("RegExp.prototype.exec"),IU=_r();B2.exports=function(e){if(!RU(e))throw new IU("`regex` must be a RegExp");return function(i){return $U(e,i)!==null}}});var q2=I((vQ,Fw)=>{"use strict";p();var j2=Bt(),FU=j2("Object.prototype.toString"),OU=Lf()(),MU=N2();OU?(H2=j2("Symbol.prototype.toString"),U2=MU(/^Symbol\(.*\)$/),G2=function(e){return typeof e.valueOf()!="symbol"?!1:U2(H2(e))},Fw.exports=function(e){if(typeof e=="symbol")return!0;if(!e||typeof e!="object"||FU(e)!=="[object Symbol]")return!1;try{return G2(e)}catch(r){return!1}}):Fw.exports=function(e){return!1};var H2,U2,G2});var W2=I((yQ,V2)=>{"use strict";p();var z2=typeof BigInt!="undefined"&&BigInt;V2.exports=function(){return typeof z2=="function"&&typeof BigInt=="function"&&typeof z2(42)=="bigint"&&typeof BigInt(42)=="bigint"}});var Z2=I((_Q,Ow)=>{"use strict";p();var DU=W2()();DU?(Y2=BigInt.prototype.valueOf,X2=function(e){try{return Y2.call(e),!0}catch(r){}return!1},Ow.exports=function(e){return e===null||typeof e=="undefined"||typeof e=="boolean"||typeof e=="string"||typeof e=="number"||typeof e=="symbol"||typeof e=="function"?!1:typeof e=="bigint"?!0:X2(e)}):Ow.exports=function(e){return!1};var Y2,X2});var Q2=I((SQ,K2)=>{"use strict";p();var LU=uw(),BU=O2(),NU=L2(),HU=q2(),UU=Z2();K2.exports=function(e){if(e==null||typeof e!="object"&&typeof e!="function")return null;if(LU(e))return"String";if(BU(e))return"Number";if(NU(e))return"Boolean";if(HU(e))return"Symbol";if(UU(e))return"BigInt"}});var tP=I((kQ,eP)=>{"use strict";p();var uh=typeof WeakMap=="function"&&WeakMap.prototype?WeakMap:null,J2=typeof WeakSet=="function"&&WeakSet.prototype?WeakSet:null,fh;uh||(fh=function(e){return!1});var Dw=uh?uh.prototype.has:null,Mw=J2?J2.prototype.has:null;!fh&&!Dw&&(fh=function(e){return!1});eP.exports=fh||function(e){if(!e||typeof e!="object")return!1;try{if(Dw.call(e,Dw),Mw)try{Mw.call(e,Mw)}catch(r){return!0}return e instanceof uh}catch(r){}return!1}});var iP=I((TQ,Bw)=>{"use strict";p();var GU=tn(),rP=Bt(),jU=GU("%WeakSet%",!0),Lw=rP("WeakSet.prototype.has",!0);Lw?(dh=rP("WeakMap.prototype.has",!0),Bw.exports=function(e){if(!e||typeof e!="object")return!1;try{if(Lw(e,Lw),dh)try{dh(e,dh)}catch(r){return!0}return e instanceof jU}catch(r){}return!1}):Bw.exports=function(e){return!1};var dh});var sP=I((PQ,nP)=>{"use strict";p();var qU=dw(),zU=pw(),VU=tP(),WU=iP();nP.exports=function(e){if(e&&typeof e=="object"){if(qU(e))return"Map";if(zU(e))return"Set";if(VU(e))return"WeakMap";if(WU(e))return"WeakSet"}return!1}});var lP=I(($Q,oP)=>{"use strict";p();var YU=Bt(),aP=YU("ArrayBuffer.prototype.byteLength",!0),XU=Cw();oP.exports=function(e){return XU(e)?aP?aP(e):e.byteLength:NaN}});var FP=I((FQ,IP)=>{"use strict";p();var PP=jT(),dn=qv(),cP=aC(),ZU=tn(),hl=o2(),KU=lw(),uP=g2(),fP=Yv(),dP=If(),hP=Cw(),pP=S2(),mP=Iw(),gP=$2(),vP=Yd(),wP=Q2(),yP=sP(),bP=ig(),_P=lP(),xP=dn("SharedArrayBuffer.prototype.byteLength",!0),SP=dn("Date.prototype.getTime"),Nw=Object.getPrototypeOf,EP=dn("Object.prototype.toString"),ph=ZU("%Set%",!0),Hw=dn("Map.prototype.has",!0),mh=dn("Map.prototype.get",!0),kP=dn("Map.prototype.size",!0),gh=dn("Set.prototype.add",!0),RP=dn("Set.prototype.delete",!0),vh=dn("Set.prototype.has",!0),hh=dn("Set.prototype.size",!0);function AP(t,e,r,i){for(var n=hl(t),s;(s=n.next())&&!s.done;)if(Oi(e,s.value,r,i))return RP(t,s.value),!0;return!1}function $P(t){if(typeof t=="undefined")return null;if(typeof t!="object")return typeof t=="symbol"?!1:typeof t=="string"||typeof t=="number"?+t==+t:!0}function QU(t,e,r,i,n,s){var a=$P(r);if(a!=null)return a;var o=mh(e,a),l=PP({},n,{strict:!1});return typeof o=="undefined"&&!Hw(e,a)||!Oi(i,o,l,s)?!1:!Hw(t,a)&&Oi(i,o,l,s)}function JU(t,e,r){var i=$P(r);return i!=null?i:vh(e,i)&&!vh(t,i)}function TP(t,e,r,i,n,s){for(var a=hl(t),o,l;(o=a.next())&&!o.done;)if(l=o.value,Oi(r,l,n,s)&&Oi(i,mh(e,l),n,s))return RP(t,l),!0;return!1}function Oi(t,e,r,i){var n=r||{};if(n.strict?uP(t,e):t===e)return!0;var s=wP(t),a=wP(e);if(s!==a)return!1;if(!t||!e||typeof t!="object"&&typeof e!="object")return n.strict?uP(t,e):t==e;var o=i.has(t),l=i.has(e),c;if(o&&l){if(i.get(t)===i.get(e))return!0}else c={};return o||i.set(t,c),l||i.set(e,c),rG(t,e,n,i)}function CP(t){return!t||typeof t!="object"||typeof t.length!="number"||typeof t.copy!="function"||typeof t.slice!="function"||t.length>0&&typeof t[0]!="number"?!1:!!(t.constructor&&t.constructor.isBuffer&&t.constructor.isBuffer(t))}function eG(t,e,r,i){if(hh(t)!==hh(e))return!1;for(var n=hl(t),s=hl(e),a,o,l;(a=n.next())&&!a.done;)if(a.value&&typeof a.value=="object")l||(l=new ph),gh(l,a.value);else if(!vh(e,a.value)){if(r.strict||!JU(t,e,a.value))return!1;l||(l=new ph),gh(l,a.value)}if(l){for(;(o=s.next())&&!o.done;)if(o.value&&typeof o.value=="object"){if(!AP(l,o.value,r.strict,i))return!1}else if(!r.strict&&!vh(t,o.value)&&!AP(l,o.value,r.strict,i))return!1;return hh(l)===0}return!0}function tG(t,e,r,i){if(kP(t)!==kP(e))return!1;for(var n=hl(t),s=hl(e),a,o,l,c,u,f;(a=n.next())&&!a.done;)if(c=a.value[0],u=a.value[1],c&&typeof c=="object")l||(l=new ph),gh(l,c);else if(f=mh(e,c),typeof f=="undefined"&&!Hw(e,c)||!Oi(u,f,r,i)){if(r.strict||!QU(t,e,c,u,r,i))return!1;l||(l=new ph),gh(l,c)}if(l){for(;(o=s.next())&&!o.done;)if(c=o.value[0],f=o.value[1],c&&typeof c=="object"){if(!TP(l,t,c,f,r,i))return!1}else if(!r.strict&&(!t.has(c)||!Oi(mh(t,c),f,r,i))&&!TP(l,t,c,f,PP({},r,{strict:!1}),i))return!1;return hh(l)===0}return!0}function rG(t,e,r,i){var n,s;if(typeof t!=typeof e||t==null||e==null||EP(t)!==EP(e)||fP(t)!==fP(e))return!1;var a=dP(t),o=dP(e);if(a!==o)return!1;var l=t instanceof Error,c=e instanceof Error;if(l!==c||(l||c)&&(t.name!==e.name||t.message!==e.message))return!1;var u=mP(t),f=mP(e);if(u!==f||(u||f)&&(t.source!==e.source||cP(t)!==cP(e)))return!1;var d=pP(t),h=pP(e);if(d!==h||(d||h)&&SP(t)!==SP(e)||r.strict&&Nw&&Nw(t)!==Nw(e))return!1;var m=bP(t),g=bP(e);if(m!==g)return!1;if(m||g){if(t.length!==e.length)return!1;for(n=0;n=0;n--)if(A[n]!=y[n])return!1;for(n=A.length-1;n>=0;n--)if(s=A[n],!Oi(t[s],e[s],r,i))return!1;var S=yP(t),_=yP(e);return S!==_?!1:S==="Set"||_==="Set"?eG(t,e,r,i):S==="Map"?tG(t,e,r,i):!0}IP.exports=function(e,r,i){return Oi(e,r,i,KU())}});var WP=I((GQ,VP)=>{p();VP.exports=function(t,e){var r=t,i=e,n=r.length,s=i.length,a=!1,o=n+1,l=[],c=[],u,f,d=function(){n>=s&&(u=r,f=n,r=i,i=u,n=s,s=f,a=!0,o=n+1)},h=function(g,v,w,b,k){return{startX:g,startY:v,endX:w,endY:b,r:k}},m=function(g,v,w){var b,k,x,E,A;for(v>w?b=l[g-1+o]:b=l[g+1+o],A=x=Math.max(v,w),E=k=x-g;k=g+1;--E)w[E+o]=m(E,w[E-1+o]+1,w[E+1+o]);w[g+o]=m(g,w[g-1+o]+1,w[g+1+o])}while(w[g+o]!==s);for(ed=g+2*b,k=l[g+o],A=n,y=s,S=[];k!==-1;){let _=c[k];(n!=_.endX||s!=_.endY)&&S.push({file1:[a?_.endY:_.endX,a?y-_.endY:A-_.endX],file2:[a?_.endX:_.endY,a?A-_.endX:y-_.endY]}),A=_.startX,y=_.startY,k=c[k].r}return(A!=0||y!=0)&&S.push({file1:[0,a?y:A],file2:[0,a?A:y]}),S.reverse(),S}}}});var ZP=I((qQ,XP)=>{p();var YP=WP();function nG(t,e,r){var i,n=new YP(e,t).compose(),s=new YP(e,r).compose(),a=[];function o(B,N){a.push([B.file1[0],N,B.file1[1],B.file2[0],B.file2[1]])}for(i=0;ic&&(l.push([1,c,B-c]),c=B)}for(var f=0;fg)break;g=Math.max(g,w+v[2]),f++}if(u(m),d==f)h[4]>0&&l.push([h[1],h[3],h[4]]);else{var b={0:[t.length,-1,e.length,-1],2:[r.length,-1,e.length,-1]};for(i=d;i<=f;i++){h=a[i];var k=h[1],x=b[k],E=h[0],A=E+h[2],y=h[3],S=y+h[4];x[0]=Math.min(y,x[0]),x[1]=Math.max(S,x[1]),x[2]=Math.min(E,x[2]),x[3]=Math.max(A,x[3])}var _=b[0][0]+(m-b[0][2]),T=b[0][1]+(g-b[0][3]),P=b[2][0]+(m-b[2][2]),D=b[2][1]+(g-b[2][3]);l.push([-1,_,T-_,m,g-m,P,D-P])}c=g}return u(e.length),l}function sG(t,e,r){var i=[],n=[t,e,r],s=nG(t,e,r),a=[];function o(){a.length&&i.push({ok:a}),a=[]}function l(h){for(var m=0;m{p();var wl=1e3,yl=wl*60,bl=yl*60,Ra=bl*24,lG=Ra*7,cG=Ra*365.25;QP.exports=function(t,e){e=e||{};var r=typeof t;if(r==="string"&&t.length>0)return uG(t);if(r==="number"&&isFinite(t))return e.long?dG(t):fG(t);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(t))};function uG(t){if(t=String(t),!(t.length>100)){var e=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(t);if(e){var r=parseFloat(e[1]),i=(e[2]||"ms").toLowerCase();switch(i){case"years":case"year":case"yrs":case"yr":case"y":return r*cG;case"weeks":case"week":case"w":return r*lG;case"days":case"day":case"d":return r*Ra;case"hours":case"hour":case"hrs":case"hr":case"h":return r*bl;case"minutes":case"minute":case"mins":case"min":case"m":return r*yl;case"seconds":case"second":case"secs":case"sec":case"s":return r*wl;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return r;default:return}}}}function fG(t){var e=Math.abs(t);return e>=Ra?Math.round(t/Ra)+"d":e>=bl?Math.round(t/bl)+"h":e>=yl?Math.round(t/yl)+"m":e>=wl?Math.round(t/wl)+"s":t+"ms"}function dG(t){var e=Math.abs(t);return e>=Ra?bh(t,e,Ra,"day"):e>=bl?bh(t,e,bl,"hour"):e>=yl?bh(t,e,yl,"minute"):e>=wl?bh(t,e,wl,"second"):t+" ms"}function bh(t,e,r,i){var n=e>=r*1.5;return Math.round(t/r)+" "+i+(n?"s":"")}});var tR=I((rJ,eR)=>{p();function hG(t){r.debug=r,r.default=r,r.coerce=l,r.disable=a,r.enable=n,r.enabled=o,r.humanize=JP(),r.destroy=c,Object.keys(t).forEach(u=>{r[u]=t[u]}),r.names=[],r.skips=[],r.formatters={};function e(u){let f=0;for(let d=0;d{if(A==="%%")return"%";x++;let S=r.formatters[y];if(typeof S=="function"){let _=v[x];A=S.call(w,_),v.splice(x,1),x--}return A}),r.formatArgs.call(w,v),(w.log||r.log).apply(w,v)}return g.namespace=u,g.useColors=r.useColors(),g.color=r.selectColor(u),g.extend=i,g.destroy=r.destroy,Object.defineProperty(g,"enabled",{enumerable:!0,configurable:!1,get:()=>d!==null?d:(h!==r.namespaces&&(h=r.namespaces,m=r.enabled(u)),m),set:v=>{d=v}}),typeof r.init=="function"&&r.init(g),g}function i(u,f){let d=r(this.namespace+(typeof f=="undefined"?":":f)+u);return d.log=this.log,d}function n(u){r.save(u),r.namespaces=u,r.names=[],r.skips=[];let f=(typeof u=="string"?u:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(let d of f)d[0]==="-"?r.skips.push(d.slice(1)):r.names.push(d)}function s(u,f){let d=0,h=0,m=-1,g=0;for(;d"-"+f)].join(",");return r.enable(""),u}function o(u){for(let f of r.skips)if(s(u,f))return!1;for(let f of r.names)if(s(u,f))return!0;return!1}function l(u){return u instanceof Error?u.stack||u.message:u}function c(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")}return r.enable(r.load()),r}eR.exports=hG});var xh=I((Tr,_h)=>{p();Tr.formatArgs=mG;Tr.save=gG;Tr.load=vG;Tr.useColors=pG;Tr.storage=wG();Tr.destroy=(()=>{let t=!1;return()=>{t||(t=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})();Tr.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"];function pG(){if(typeof window!="undefined"&&window.process&&(window.process.type==="renderer"||window.process.__nwjs))return!0;if(typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let t;return typeof document!="undefined"&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||typeof window!="undefined"&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||typeof navigator!="undefined"&&navigator.userAgent&&(t=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(t[1],10)>=31||typeof navigator!="undefined"&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)}function mG(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+_h.exports.humanize(this.diff),!this.useColors)return;let e="color: "+this.color;t.splice(1,0,e,"color: inherit");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,n=>{n!=="%%"&&(r++,n==="%c"&&(i=r))}),t.splice(i,0,e)}Tr.log=console.debug||console.log||(()=>{});function gG(t){try{t?Tr.storage.setItem("debug",t):Tr.storage.removeItem("debug")}catch(e){}}function vG(){let t;try{t=Tr.storage.getItem("debug")||Tr.storage.getItem("DEBUG")}catch(e){}return!t&&typeof process!="undefined"&&"env"in process&&(t=process.env.DEBUG),t}function wG(){try{return localStorage}catch(t){}}_h.exports=tR()(Tr);var{formatters:yG}=_h.exports;yG.j=function(t){try{return JSON.stringify(t)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}});var rR=I(Qr=>{"use strict";p();var bG=Qr&&Qr.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(Qr,"__esModule",{value:!0});var _G=require("fs"),xG=bG(xh()),_l=xG.default("@kwsites/file-exists");function SG(t,e,r){_l("checking %s",t);try{let i=_G.statSync(t);return i.isFile()&&e?(_l("[OK] path represents a file"),!0):i.isDirectory()&&r?(_l("[OK] path represents a directory"),!0):(_l("[FAIL] path represents something other than a file or directory"),!1)}catch(i){if(i.code==="ENOENT")return _l("[FAIL] path is not accessible: %o",i),!1;throw _l("[FATAL] %o",i),i}}function EG(t,e=Qr.READABLE){return SG(t,(e&Qr.FILE)>0,(e&Qr.FOLDER)>0)}Qr.exists=EG;Qr.FILE=1;Qr.FOLDER=2;Qr.READABLE=Qr.FILE+Qr.FOLDER});var iR=I(Sh=>{"use strict";p();function kG(t){for(var e in t)Sh.hasOwnProperty(e)||(Sh[e]=t[e])}Object.defineProperty(Sh,"__esModule",{value:!0});kG(rR())});var Ww=I($a=>{"use strict";p();Object.defineProperty($a,"__esModule",{value:!0});$a.createDeferred=$a.deferred=void 0;function Vw(){let t,e,r="pending";return{promise:new Promise((n,s)=>{t=n,e=s}),done(n){r==="pending"&&(r="resolved",t(n))},fail(n){r==="pending"&&(r="rejected",e(n))},get fulfilled(){return r!=="pending"},get status(){return r}}}$a.deferred=Vw;$a.createDeferred=Vw;$a.default=Vw});var B0=I((exports,module)=>{p();(function(){"use strict";var ERROR="input is invalid type",WINDOW=typeof window=="object",root=WINDOW?window:{};root.JS_SHA256_NO_WINDOW&&(WINDOW=!1);var WEB_WORKER=!WINDOW&&typeof self=="object",NODE_JS=!root.JS_SHA256_NO_NODE_JS&&typeof process=="object"&&process.versions&&process.versions.node;NODE_JS?root=global:WEB_WORKER&&(root=self);var COMMON_JS=!root.JS_SHA256_NO_COMMON_JS&&typeof module=="object"&&module.exports,AMD=typeof define=="function"&&define.amd,ARRAY_BUFFER=!root.JS_SHA256_NO_ARRAY_BUFFER&&typeof ArrayBuffer!="undefined",HEX_CHARS="0123456789abcdef".split(""),EXTRA=[-2147483648,8388608,32768,128],SHIFT=[24,16,8,0],K=[1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298],OUTPUT_TYPES=["hex","array","digest","arrayBuffer"],blocks=[];(root.JS_SHA256_NO_NODE_JS||!Array.isArray)&&(Array.isArray=function(t){return Object.prototype.toString.call(t)==="[object Array]"}),ARRAY_BUFFER&&(root.JS_SHA256_NO_ARRAY_BUFFER_IS_VIEW||!ArrayBuffer.isView)&&(ArrayBuffer.isView=function(t){return typeof t=="object"&&t.buffer&&t.buffer.constructor===ArrayBuffer});var createOutputMethod=function(t,e){return function(r){return new Sha256(e,!0).update(r)[t]()}},createMethod=function(t){var e=createOutputMethod("hex",t);NODE_JS&&(e=nodeWrap(e,t)),e.create=function(){return new Sha256(t)},e.update=function(n){return e.create().update(n)};for(var r=0;r>2]|=t[n]<>2]|=i<>2]|=(192|i>>6)<>2]|=(128|i&63)<=57344?(o[s>>2]|=(224|i>>12)<>2]|=(128|i>>6&63)<>2]|=(128|i&63)<>2]|=(240|i>>18)<>2]|=(128|i>>12&63)<>2]|=(128|i>>6&63)<>2]|=(128|i&63)<=64?(this.block=o[16],this.start=s-64,this.hash(),this.hashed=!0):this.start=s}return this.bytes>4294967295&&(this.hBytes+=this.bytes/4294967296<<0,this.bytes=this.bytes%4294967296),this}},Sha256.prototype.finalize=function(){if(!this.finalized){this.finalized=!0;var t=this.blocks,e=this.lastByteIndex;t[16]=this.block,t[e>>2]|=EXTRA[e&3],this.block=t[16],e>=56&&(this.hashed||this.hash(),t[0]=this.block,t[16]=t[1]=t[2]=t[3]=t[4]=t[5]=t[6]=t[7]=t[8]=t[9]=t[10]=t[11]=t[12]=t[13]=t[14]=t[15]=0),t[14]=this.hBytes<<3|this.bytes>>>29,t[15]=this.bytes<<3,this.hash()}},Sha256.prototype.hash=function(){var t=this.h0,e=this.h1,r=this.h2,i=this.h3,n=this.h4,s=this.h5,a=this.h6,o=this.h7,l=this.blocks,c,u,f,d,h,m,g,v,w,b,k;for(c=16;c<64;++c)h=l[c-15],u=(h>>>7|h<<25)^(h>>>18|h<<14)^h>>>3,h=l[c-2],f=(h>>>17|h<<15)^(h>>>19|h<<13)^h>>>10,l[c]=l[c-16]+u+l[c-7]+f<<0;for(k=e&r,c=0;c<64;c+=4)this.first?(this.is224?(v=300032,h=l[0]-1413257819,o=h-150054599<<0,i=h+24177077<<0):(v=704751109,h=l[0]-210244248,o=h-1521486534<<0,i=h+143694565<<0),this.first=!1):(u=(t>>>2|t<<30)^(t>>>13|t<<19)^(t>>>22|t<<10),f=(n>>>6|n<<26)^(n>>>11|n<<21)^(n>>>25|n<<7),v=t&e,d=v^t&r^k,g=n&s^~n&a,h=o+f+g+K[c]+l[c],m=u+d,o=i+h<<0,i=h+m<<0),u=(i>>>2|i<<30)^(i>>>13|i<<19)^(i>>>22|i<<10),f=(o>>>6|o<<26)^(o>>>11|o<<21)^(o>>>25|o<<7),w=i&t,d=w^i&e^v,g=o&n^~o&s,h=a+f+g+K[c+1]+l[c+1],m=u+d,a=r+h<<0,r=h+m<<0,u=(r>>>2|r<<30)^(r>>>13|r<<19)^(r>>>22|r<<10),f=(a>>>6|a<<26)^(a>>>11|a<<21)^(a>>>25|a<<7),b=r&i,d=b^r&t^w,g=a&o^~a&n,h=s+f+g+K[c+2]+l[c+2],m=u+d,s=e+h<<0,e=h+m<<0,u=(e>>>2|e<<30)^(e>>>13|e<<19)^(e>>>22|e<<10),f=(s>>>6|s<<26)^(s>>>11|s<<21)^(s>>>25|s<<7),k=e&r,d=k^e&i^b,g=s&a^~s&o,h=n+f+g+K[c+3]+l[c+3],m=u+d,n=t+h<<0,t=h+m<<0;this.h0=this.h0+t<<0,this.h1=this.h1+e<<0,this.h2=this.h2+r<<0,this.h3=this.h3+i<<0,this.h4=this.h4+n<<0,this.h5=this.h5+s<<0,this.h6=this.h6+a<<0,this.h7=this.h7+o<<0},Sha256.prototype.hex=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,i=this.h3,n=this.h4,s=this.h5,a=this.h6,o=this.h7,l=HEX_CHARS[t>>28&15]+HEX_CHARS[t>>24&15]+HEX_CHARS[t>>20&15]+HEX_CHARS[t>>16&15]+HEX_CHARS[t>>12&15]+HEX_CHARS[t>>8&15]+HEX_CHARS[t>>4&15]+HEX_CHARS[t&15]+HEX_CHARS[e>>28&15]+HEX_CHARS[e>>24&15]+HEX_CHARS[e>>20&15]+HEX_CHARS[e>>16&15]+HEX_CHARS[e>>12&15]+HEX_CHARS[e>>8&15]+HEX_CHARS[e>>4&15]+HEX_CHARS[e&15]+HEX_CHARS[r>>28&15]+HEX_CHARS[r>>24&15]+HEX_CHARS[r>>20&15]+HEX_CHARS[r>>16&15]+HEX_CHARS[r>>12&15]+HEX_CHARS[r>>8&15]+HEX_CHARS[r>>4&15]+HEX_CHARS[r&15]+HEX_CHARS[i>>28&15]+HEX_CHARS[i>>24&15]+HEX_CHARS[i>>20&15]+HEX_CHARS[i>>16&15]+HEX_CHARS[i>>12&15]+HEX_CHARS[i>>8&15]+HEX_CHARS[i>>4&15]+HEX_CHARS[i&15]+HEX_CHARS[n>>28&15]+HEX_CHARS[n>>24&15]+HEX_CHARS[n>>20&15]+HEX_CHARS[n>>16&15]+HEX_CHARS[n>>12&15]+HEX_CHARS[n>>8&15]+HEX_CHARS[n>>4&15]+HEX_CHARS[n&15]+HEX_CHARS[s>>28&15]+HEX_CHARS[s>>24&15]+HEX_CHARS[s>>20&15]+HEX_CHARS[s>>16&15]+HEX_CHARS[s>>12&15]+HEX_CHARS[s>>8&15]+HEX_CHARS[s>>4&15]+HEX_CHARS[s&15]+HEX_CHARS[a>>28&15]+HEX_CHARS[a>>24&15]+HEX_CHARS[a>>20&15]+HEX_CHARS[a>>16&15]+HEX_CHARS[a>>12&15]+HEX_CHARS[a>>8&15]+HEX_CHARS[a>>4&15]+HEX_CHARS[a&15];return this.is224||(l+=HEX_CHARS[o>>28&15]+HEX_CHARS[o>>24&15]+HEX_CHARS[o>>20&15]+HEX_CHARS[o>>16&15]+HEX_CHARS[o>>12&15]+HEX_CHARS[o>>8&15]+HEX_CHARS[o>>4&15]+HEX_CHARS[o&15]),l},Sha256.prototype.toString=Sha256.prototype.hex,Sha256.prototype.digest=function(){this.finalize();var t=this.h0,e=this.h1,r=this.h2,i=this.h3,n=this.h4,s=this.h5,a=this.h6,o=this.h7,l=[t>>24&255,t>>16&255,t>>8&255,t&255,e>>24&255,e>>16&255,e>>8&255,e&255,r>>24&255,r>>16&255,r>>8&255,r&255,i>>24&255,i>>16&255,i>>8&255,i&255,n>>24&255,n>>16&255,n>>8&255,n&255,s>>24&255,s>>16&255,s>>8&255,s&255,a>>24&255,a>>16&255,a>>8&255,a&255];return this.is224||l.push(o>>24&255,o>>16&255,o>>8&255,o&255),l},Sha256.prototype.array=Sha256.prototype.digest,Sha256.prototype.arrayBuffer=function(){this.finalize();var t=new ArrayBuffer(this.is224?28:32),e=new DataView(t);return e.setUint32(0,this.h0),e.setUint32(4,this.h1),e.setUint32(8,this.h2),e.setUint32(12,this.h3),e.setUint32(16,this.h4),e.setUint32(20,this.h5),e.setUint32(24,this.h6),this.is224||e.setUint32(28,this.h7),t};function HmacSha256(t,e,r){var i,n=typeof t;if(n==="string"){var s=[],a=t.length,o=0,l;for(i=0;i>6,s[o++]=128|l&63):l<55296||l>=57344?(s[o++]=224|l>>12,s[o++]=128|l>>6&63,s[o++]=128|l&63):(l=65536+((l&1023)<<10|t.charCodeAt(++i)&1023),s[o++]=240|l>>18,s[o++]=128|l>>12&63,s[o++]=128|l>>6&63,s[o++]=128|l&63);t=s}else if(n==="object"){if(t===null)throw new Error(ERROR);if(ARRAY_BUFFER&&t.constructor===ArrayBuffer)t=new Uint8Array(t);else if(!Array.isArray(t)&&(!ARRAY_BUFFER||!ArrayBuffer.isView(t)))throw new Error(ERROR)}else throw new Error(ERROR);t.length>64&&(t=new Sha256(e,!0).update(t).array());var c=[],u=[];for(i=0;i<64;++i){var f=t[i]||0;c[i]=92^f,u[i]=54^f}Sha256.call(this,e,r),this.update(u),this.oKeyPad=c,this.inner=!0,this.sharedMemory=r}HmacSha256.prototype=new Sha256,HmacSha256.prototype.finalize=function(){if(Sha256.prototype.finalize.call(this),this.inner){this.inner=!1;var t=this.array();Sha256.call(this,this.is224,this.sharedMemory),this.update(this.oKeyPad),this.update(t),Sha256.prototype.finalize.call(this)}};var exports=createMethod();exports.sha256=exports,exports.sha224=createMethod(!0),exports.sha256.hmac=createHmacMethod(),exports.sha224.hmac=createHmacMethod(!0),COMMON_JS?module.exports=exports:(root.sha256=exports.sha256,root.sha224=exports.sha224,AMD&&define(function(){return exports}))})()});var wO=I(vy=>{p();(function(t){var e=/\S/,r=/\"/g,i=/\n/g,n=/\r/g,s=/\\/g,a=/\u2028/,o=/\u2029/;t.tags={"#":1,"^":2,"<":3,$:4,"/":5,"!":6,">":7,"=":8,_v:9,"{":10,"&":11,_t:12},t.scan=function(S,_){var T=S.length,P=0,D=1,B=2,N=P,ce=null,Pe=null,ve="",se=[],xe=!1,we=0,z=0,Q="{{",j="}}";function Le(){ve.length>0&&(se.push({tag:"_t",text:new String(ve)}),ve="")}function lr(){for(var At=!0,Tt=z;Tt"&&(Ze.indent=se[jt].text.toString()),se.splice(jt,1));else Tt||se.push({tag:` +`});xe=!1,z=se.length}function Ie(At,Tt){var jt="="+j,Ze=At.indexOf(jt,Tt),q=c(At.substring(At.indexOf("=",Tt)+1,Ze)).split(" ");return Q=q[0],j=q[q.length-1],Ze+jt.length-1}for(_&&(_=_.split(" "),Q=_[0],j=_[1]),we=0;we0;){if(N=y.shift(),B&&B.tag=="<"&&!(N.tag in f))throw new Error("Illegal content in < super tag.");if(t.tags[N.tag]<=t.tags.$||h(N,T))_.push(N),N.nodes=d(y,N.tag,_,T);else if(N.tag=="/"){if(_.length===0)throw new Error("Closing tag without opener: /"+N.n);if(D=_.pop(),N.n!=D.n&&!m(N.n,D.n,T))throw new Error("Nesting error: "+D.n+" vs. "+N.n);return D.end=N.i,P}else N.tag==` +`&&(N.last=y.length==0||y[0].tag==` +`);P.push(N)}if(_.length>0)throw new Error("missing closing tag: "+_.pop().n);return P}function h(y,S){for(var _=0,T=S.length;_":x,"<":function(y,S){var _={partials:{},code:"",subs:{},inPartial:!0};t.walk(y.nodes,_);var T=S.partials[x(y,S)];T.subs=_.subs,T.partials=_.partials},$:function(y,S){var _={subs:{},code:"",partials:S.partials,prefix:y.n};t.walk(y.nodes,_),S.subs[y.n]=_.code,S.inPartial||(S.code+='t.sub("'+b(y.n)+'",c,p,i);')},"\n":function(y,S){S.code+=A('"\\n"'+(y.last?"":" + i"))},_v:function(y,S){S.code+="t.b(t.v(t."+k(y.n)+'("'+b(y.n)+'",c,p,0)));'},_t:function(y,S){S.code+=A('"'+b(y.text)+'"')},"{":E,"&":E};function E(y,S){S.code+="t.b(t.t(t."+k(y.n)+'("'+b(y.n)+'",c,p,0)));'}function A(y){return"t.b("+y+");"}t.walk=function(y,S){for(var _,T=0,P=y.length;T{p();var UV={};(function(t){t.Template=function(d,h,m,g){d=d||{},this.r=d.code||this.r,this.c=m,this.options=g||{},this.text=h||"",this.partials=d.partials||{},this.subs=d.subs||{},this.buf=""},t.Template.prototype={r:function(d,h,m){return""},v:u,t:c,render:function(h,m,g){return this.ri([h],m||{},g)},ri:function(d,h,m){return this.r(d,h,m)},ep:function(d,h){var m=this.partials[d],g=h[m.name];if(m.instance&&m.base==g)return m.instance;if(typeof g=="string"){if(!this.c)throw new Error("No compiler available.");g=this.c.compile(g,this.options)}if(!g)return null;if(this.partials[d].base=g,m.subs){h.stackText||(h.stackText={});for(key in m.subs)h.stackText[key]||(h.stackText[key]=this.activeSub!==void 0&&h.stackText[this.activeSub]?h.stackText[this.activeSub]:this.text);g=r(g,m.subs,m.partials,this.stackSubs,this.stackPartials,h.stackText)}return this.partials[d].instance=g,g},rp:function(d,h,m,g){var v=this.ep(d,m);return v?v.ri(h,m,g):""},rs:function(d,h,m){var g=d[d.length-1];if(!f(g)){m(d,h,this);return}for(var v=0;v=0;x--)if(w=h[x],v=e(d,w,k),v!==void 0){b=!0;break}return b?(!g&&typeof v=="function"&&(v=this.mv(v,h,m)),v):g?!1:""},ls:function(d,h,m,g,v,w){var b=this.options.delimiters;return this.options.delimiters=w,this.b(this.ct(c(d.call(h,v,m)),h,g)),this.options.delimiters=b,!1},ct:function(d,h,m){if(this.options.disableLambda)throw new Error("Lambda features disabled.");return this.c.compile(d,this.options).render(h,m)},b:function(d){this.buf+=d},fl:function(){var d=this.buf;return this.buf="",d},ms:function(d,h,m,g,v,w,b){var k,x=h[h.length-1],E=d.call(x);return typeof E=="function"?g?!0:(k=this.activeSub&&this.subsText&&this.subsText[this.activeSub]?this.subsText[this.activeSub]:this.text,this.ls(E,x,h,m,k.substring(v,w),b)):E},mv:function(d,h,m){var g=h[h.length-1],v=d.call(g);return typeof v=="function"?this.ct(c(v.call(g)),g,m):v},sub:function(d,h,m,g){var v=this.subs[d];v&&(this.activeSub=d,v(h,m,this,g),this.activeSub=!1)}};function e(d,h,m){var g;return h&&typeof h=="object"&&(h[d]!==void 0?g=h[d]:m&&h.get&&typeof h.get=="function"&&(g=h.get(d))),g}function r(d,h,m,g,v,w){function b(){}b.prototype=d;function k(){}k.prototype=d.subs;var x,E=new b;E.subs=new k,E.subsText={},E.buf="",g=g||{},E.stackSubs=g,E.subsText=w;for(x in h)g[x]||(g[x]=h[x]);for(x in g)E.subs[x]=g[x];v=v||{},E.stackPartials=v;for(x in m)v[x]||(v[x]=m[x]);for(x in v)E.partials[x]=v[x];return E}var i=/&/g,n=//g,a=/\'/g,o=/\"/g,l=/[&<>\"\']/;function c(d){return String(d==null?"":d)}function u(d){return d=c(d),l.test(d)?d.replace(i,"&").replace(n,"<").replace(s,">").replace(a,"'").replace(o,"""):d}var f=Array.isArray||function(d){return Object.prototype.toString.call(d)==="[object Array]"}})(typeof wy!="undefined"?wy:UV)});var yy=I((vre,bO)=>{p();var yp=wO();yp.Template=yO().Template;yp.template=yp.Template;bO.exports=yp});var SO=I(bi=>{"use strict";p();Object.defineProperty(bi,"__esModule",{value:!0});bi.ColorSchemeType=bi.DiffStyleType=bi.LineMatchingType=bi.OutputFormatType=bi.LineType=void 0;var _O;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(_O||(bi.LineType=_O={}));bi.OutputFormatType={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"};bi.LineMatchingType={LINES:"lines",WORDS:"words",NONE:"none"};bi.DiffStyleType={WORD:"word",CHAR:"char"};var xO;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(xO||(bi.ColorSchemeType=xO={}))});var Q9={};BD(Q9,{default:()=>Sm});module.exports=ND(Q9);p();var gD=Mt(xv()),_e=require("obsidian"),vD=Mt(require("path"));p();var Fi={};p();var Dd=class{constructor(e){this.plugin=e;this.tasks=[]}addTask(e,r){this.tasks.push({task:e,onFinished:r!=null?r:()=>{}}),this.tasks.length===1&&this.handleTask()}handleTask(){if(this.tasks.length>0){let e=this.tasks[0];e.task().then(r=>{e.onFinished(r),this.tasks.shift(),this.handleTask()},r=>{this.plugin.displayError(r),e.onFinished(void 0),this.tasks.shift(),this.handleTask()})}}clear(){this.tasks=[]}};p();var U=require("obsidian");p();var UA=require("obsidian"),Ld="YYYY-MM-DD",Sv=`${Ld} HH:mm`,Ev=`${Ld} HH:mm:ss`,Bd=40,al="conflict-files-obsidian-git.md",rt={commitMessage:"vault backup: {{date}}",autoCommitMessage:"vault backup: {{date}}",commitMessageScript:"",commitDateFormat:Ev,autoSaveInterval:0,autoPushInterval:0,autoPullInterval:0,autoPullOnBoot:!1,autoCommitOnlyStaged:!1,disablePush:!1,pullBeforePush:!0,disablePopups:!1,showErrorNotices:!0,disablePopupsForNoChanges:!1,listChangedFilesInMessageBody:!1,showStatusBar:!0,updateSubmodules:!1,syncMethod:"merge",mergeStrategy:"none",customMessageOnAutoBackup:!1,autoBackupAfterFileChange:!1,treeStructure:!1,refreshSourceControl:UA.Platform.isDesktopApp,basePath:"",differentIntervalCommitAndPush:!1,changedFilesInStatusBar:!1,showedMobileNotice:!1,refreshSourceControlTimer:7e3,showBranchStatusBar:!0,setLastSaveToLastCommit:!1,submoduleRecurseCheckout:!1,gitDir:"",showFileMenu:!0,authorInHistoryView:"hide",dateInHistoryView:!1,diffStyle:"split",hunks:{showSigns:!1,hunkCommands:!1,statusBar:"disabled"},lineAuthor:{show:!1,followMovement:"inactive",authorDisplay:"initials",showCommitHash:!1,dateTimeFormatOptions:"date",dateTimeFormatCustomString:Sv,dateTimeTimezone:"viewer-local",coloringMaxAge:"1y",colorNew:{r:255,g:150,b:150},colorOld:{r:120,g:160,b:255},textColorCss:"var(--text-muted)",ignoreWhitespace:!1,gutterSpacingFallbackLength:5}},zt={type:"git-view",name:"Source Control",icon:"git-pull-request"},gi={type:"git-history-view",name:"History",icon:"history"},Ls={type:"split-diff-view",name:"Diff view",icon:"diff"},Bs={type:"diff-view",name:"Diff View",icon:"git-pull-request"},Nd="C:\\Program Files\\Git\\cmd\\git.exe",Hd=".git_credentials_input",Ta="obsidian_askpass.sh",GA=`#!/bin/sh + +PROMPT="$1" +TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" + +cleanup() { + rm -f "$TEMP_FILE" "$TEMP_FILE.response" +} +trap cleanup EXIT + +echo "$PROMPT" > "$TEMP_FILE" + +while [ ! -e "$TEMP_FILE.response" ]; do + if [ ! -e "$TEMP_FILE" ]; then + echo "Trigger file got removed: Abort" >&2 + exit 1 + fi + sleep 0.1 +done + +RESPONSE=$(cat "$TEMP_FILE.response") + +echo "$RESPONSE" +`,jA=["3dm","3ds","3g2","3gp","7z","a","aac","adp","afdesign","afphoto","afpub","ai","aif","aiff","alz","ape","apk","appimage","ar","arj","asf","au","avi","bak","baml","bh","bin","bk","bmp","btif","bz2","bzip2","cab","caf","cgm","class","cmx","cpio","cr2","cur","dat","dcm","deb","dex","djvu","dll","dmg","dng","doc","docm","docx","dot","dotm","dra","DS_Store","dsk","dts","dtshd","dvb","dwg","dxf","ecelp4800","ecelp7470","ecelp9600","egg","eol","eot","epub","exe","f4v","fbs","fh","fla","flac","flatpak","fli","flv","fpx","fst","fvt","g3","gh","gif","graffle","gz","gzip","h261","h263","h264","icns","ico","ief","img","ipa","iso","jar","jpeg","jpg","jpgv","jpm","jxr","key","ktx","lha","lib","lvp","lz","lzh","lzma","lzo","m3u","m4a","m4v","mar","mdi","mht","mid","midi","mj2","mka","mkv","mmr","mng","mobi","mov","movie","mp3","mp4","mp4a","mpeg","mpg","mpga","mxu","nef","npx","numbers","nupkg","o","odp","ods","odt","oga","ogg","ogv","otf","ott","pages","pbm","pcx","pdb","pdf","pea","pgm","pic","png","pnm","pot","potm","potx","ppa","ppam","ppm","pps","ppsm","ppsx","ppt","pptm","pptx","psd","pya","pyc","pyo","pyv","qt","rar","ras","raw","resources","rgb","rip","rlc","rmf","rmvb","rpm","rtf","rz","s3m","s7z","scpt","sgi","shar","snap","sil","sketch","slk","smv","snk","so","stl","suo","sub","swf","tar","tbz","tbz2","tga","tgz","thmx","tif","tiff","tlz","ttc","ttf","txz","udf","uvh","uvi","uvm","uvp","uvs","uvu","viv","vob","war","wav","wax","wbmp","wdp","weba","webm","webp","whl","wim","wm","wma","wmv","wmx","woff","woff2","wrm","wvx","xbm","xif","xla","xlam","xls","xlsb","xlsm","xlsx","xlt","xltm","xltx","xm","xmind","xpi","xpm","xwd","xz","z","zip","zipx"];p();p();p();var un=class{diff(e,r,i={}){let n;typeof i=="function"?(n=i,i={}):"callback"in i&&(n=i.callback);let s=this.castInput(e,i),a=this.castInput(r,i),o=this.removeEmpty(this.tokenize(s,i)),l=this.removeEmpty(this.tokenize(a,i));return this.diffWithOptionsObj(o,l,i,n)}diffWithOptionsObj(e,r,i,n){var s;let a=b=>{if(b=this.postProcess(b,i),n){setTimeout(function(){n(b)},0);return}else return b},o=r.length,l=e.length,c=1,u=o+l;i.maxEditLength!=null&&(u=Math.min(u,i.maxEditLength));let f=(s=i.timeout)!==null&&s!==void 0?s:1/0,d=Date.now()+f,h=[{oldPos:-1,lastComponent:void 0}],m=this.extractCommon(h[0],r,e,0,i);if(h[0].oldPos+1>=l&&m+1>=o)return a(this.buildValues(h[0].lastComponent,r,e));let g=-1/0,v=1/0,w=()=>{for(let b=Math.max(g,-c);b<=Math.min(v,c);b+=2){let k,x=h[b-1],E=h[b+1];x&&(h[b-1]=void 0);let A=!1;if(E){let S=E.oldPos-b;A=E&&0<=S&&S=l&&m+1>=o)return a(this.buildValues(k.lastComponent,r,e))||!0;h[b]=k,k.oldPos+1>=l&&(v=Math.min(v,b-1)),m+1>=o&&(g=Math.max(g,b+1))}c++};if(n)(function b(){setTimeout(function(){if(c>u||Date.now()>d)return n(void 0);w()||b()},0)})();else for(;c<=u&&Date.now()<=d;){let b=w();if(b)return b}}addToPath(e,r,i,n,s){let a=e.lastComponent;return a&&!s.oneChangePerToken&&a.added===r&&a.removed===i?{oldPos:e.oldPos+n,lastComponent:{count:a.count+1,added:r,removed:i,previousComponent:a.previousComponent}}:{oldPos:e.oldPos+n,lastComponent:{count:1,added:r,removed:i,previousComponent:a}}}extractCommon(e,r,i,n,s){let a=r.length,o=i.length,l=e.oldPos,c=l-n,u=0;for(;c+1d.length?m:d}),u.value=this.join(f)}else u.value=this.join(r.slice(l,l+u.count));l+=u.count,u.added||(c+=u.count)}}return n}};p();var kv=class extends un{},qA=new kv;function Av(t,e,r){return qA.diff(t,e,r)}p();p();function Tv(t,e){let r;for(r=0;re.length&&(r=t.length-e.length);let i=e.length;t.length0&&e[a]!=e[s];)s=n[s];e[a]==e[s]&&s++}s=0;for(let a=r;a0&&t[a]!=e[s];)s=n[s];t[a]==e[s]&&s++}return s}function ll(t){let e;for(e=t.length-1;e>=0&&t[e].match(/\s/);e--);return t.substring(e+1)}function zn(t){let e=t.match(/^\s*/);return e?e[0]:""}var jd="a-zA-Z0-9_\\u{AD}\\u{C0}-\\u{D6}\\u{D8}-\\u{F6}\\u{F8}-\\u{2C6}\\u{2C8}-\\u{2D7}\\u{2DE}-\\u{2FF}\\u{1E00}-\\u{1EFF}",F6=new RegExp(`[${jd}]+|\\s+|[^${jd}]`,"ug"),Rv=class extends un{equals(e,r,i){return i.ignoreCase&&(e=e.toLowerCase(),r=r.toLowerCase()),e.trim()===r.trim()}tokenize(e,r={}){let i;if(r.intlSegmenter){let a=r.intlSegmenter;if(a.resolvedOptions().granularity!="word")throw new Error('The segmenter passed must have a granularity of "word"');i=[];for(let o of Array.from(a.segment(e))){let l=o.segment;i.length&&/\s/.test(i[i.length-1])&&/\s/.test(l)?i[i.length-1]+=l:i.push(l)}}else i=e.match(F6)||[];let n=[],s=null;return i.forEach(a=>{/\s/.test(a)?s==null?n.push(a):n.push(n.pop()+a):s!=null&&/\s/.test(s)?n[n.length-1]==s?n.push(n.pop()+a):n.push(s+a):n.push(a),s=a}),n}join(e){return e.map((r,i)=>i==0?r:r.replace(/^\s+/,"")).join("")}postProcess(e,r){if(!e||r.oneChangePerToken)return e;let i=null,n=null,s=null;return e.forEach(a=>{a.added?n=a:a.removed?s=a:((n||s)&&zA(i,s,n,a),i=a,n=null,s=null)}),(n||s)&&zA(i,s,n,null),e}},O6=new Rv;function zA(t,e,r,i){if(e&&r){let n=zn(e.value),s=ll(e.value),a=zn(r.value),o=ll(r.value);if(t){let l=Tv(n,a);t.value=Gd(t.value,a,l),e.value=ol(e.value,l),r.value=ol(r.value,l)}if(i){let l=Cv(s,o);i.value=Ud(i.value,o,l),e.value=lu(e.value,l),r.value=lu(r.value,l)}}else if(r){if(t){let n=zn(r.value);r.value=r.value.substring(n.length)}if(i){let n=zn(i.value);i.value=i.value.substring(n.length)}}else if(t&&i){let n=zn(i.value),s=zn(e.value),a=ll(e.value),o=Tv(n,s);e.value=ol(e.value,o);let l=Cv(ol(n,o),a);e.value=lu(e.value,l),i.value=Ud(i.value,n,l),t.value=Gd(t.value,n,n.slice(0,n.length-l.length))}else if(i){let n=zn(i.value),s=ll(e.value),a=Pv(s,n);e.value=lu(e.value,a)}else if(t){let n=ll(t.value),s=zn(e.value),a=Pv(n,s);e.value=ol(e.value,a)}}var $v=class extends un{tokenize(e){let r=new RegExp(`(\\r?\\n)|[${jd}]+|[^\\S\\n\\r]+|[^${jd}]`,"ug");return e.match(r)||[]}},VA=new $v;function Iv(t,e,r){return VA.diff(t,e,r)}p();var Fv=class extends un{constructor(){super(...arguments),this.tokenize=D6}equals(e,r,i){return i.ignoreWhitespace?((!i.newlineIsToken||!e.includes(` +`))&&(e=e.trim()),(!i.newlineIsToken||!r.includes(` +`))&&(r=r.trim())):i.ignoreNewlineAtEof&&!i.newlineIsToken&&(e.endsWith(` +`)&&(e=e.slice(0,-1)),r.endsWith(` +`)&&(r=r.slice(0,-1))),super.equals(e,r,i)}},M6=new Fv;function Ov(t,e,r){return M6.diff(t,e,r)}function D6(t,e){e.stripTrailingCr&&(t=t.replace(/\r\n/g,` +`));let r=[],i=t.split(/(\n|\r\n)/);i[i.length-1]||i.pop();for(let n=0;n{let d=c(f);u(d)}}))}else return c(Ov(r,i,o));function c(u){if(!u)return;u.push({value:"",lines:[]});function f(b){return b.map(function(k){return" "+k})}let d=[],h=0,m=0,g=[],v=1,w=1;for(let b=0;b0?f(E.lines.slice(-l)):[],h-=g.length,m-=g.length)}for(let E of x)g.push((k.added?"+":"-")+E);k.added?w+=x.length:v+=x.length}else{if(h)if(x.length<=l*2&&b1&&!e.includeFileHeaders)throw new Error("Cannot omit file headers on a multi-file patch. (The result would be unparseable; how would a tool trying to apply the patch know which changes are to which file?)");return t.map(i=>qd(i,e)).join(` +`)}let r=[];e.includeIndex&&t.oldFileName==t.newFileName&&r.push("Index: "+t.oldFileName),e.includeUnderline&&r.push("==================================================================="),e.includeFileHeaders&&(r.push("--- "+t.oldFileName+(typeof t.oldHeader=="undefined"?"":" "+t.oldHeader)),r.push("+++ "+t.newFileName+(typeof t.newHeader=="undefined"?"":" "+t.newHeader)));for(let i=0;i{o(l?qd(l,a.headerOptions):void 0)}}))}else{let o=Mv(t,e,r,i,n,s,a);return o?qd(o,a==null?void 0:a.headerOptions):void 0}}function cu(t,e,r,i,n,s){return YA(t,t,e,r,i,n,s)}function L6(t){let e=t.endsWith(` +`),r=t.split(` +`).map(i=>i+` +`);return e?r.pop():r.push(r.pop().slice(0,-1)),r}var re=Mt(xv()),Pa=require("obsidian");p();function XA(t,e){let r=Object.assign({},t.lineAuthor,e.lineAuthor);return Object.assign({},t,e,{lineAuthor:r})}var cl=class extends Error{constructor(r){super("No network connection available");this.originalError=r}};p();var ZA=require("obsidian"),N6={options:[],placeholder:"",allowEmpty:!1,onlySelection:!1,initialValue:void 0,obscure:!1},Qe=class extends ZA.SuggestModal{constructor(e,r){if(super(e.app),this.config={...N6,...r},this.setPlaceholder(this.config.placeholder),this.config.obscure){this.inputEl.type="password";let i=this.containerEl.querySelector(".prompt-input-container");i.addClass("git-obscure-prompt"),i.setAttr("git-is-obscured","true");let n=i==null?void 0:i.createDiv({cls:"search-input-clear-button"});n.style.marginRight="32px",n.id="git-show-password",n.addEventListener("click",()=>{i.getAttr("git-is-obscured")==="true"?(this.inputEl.type="text",i.setAttr("git-is-obscured","false")):(this.inputEl.type="password",i.setAttr("git-is-obscured","true"))})}}openAndGetResult(){return new Promise(e=>{this.resolve=e,this.open(),this.config.initialValue!=null&&(this.inputEl.value=this.config.initialValue,this.inputEl.dispatchEvent(new Event("input")))})}onClose(){new Promise(e=>setTimeout(e,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(e){return this.config.onlySelection?this.config.options:this.config.allowEmpty?[e.length>0?e:" ",...this.config.options]:[e.length>0?e:"...",...this.config.options]}renderSuggestion(e,r){this.config.obscure?r.hide():r.setText(e)}onChooseSuggestion(e,r){if(this.resolve){let i;this.config.allowEmpty&&e===" "?i="":e==="..."?i=void 0:i=e,this.resolve(i)}}};p();var OP=Mt(pT()),MP=require("child_process"),DP=Mt(FP()),Xn=require("obsidian");function wh(t){throw new Error(`Unexpected object: ${t}`)}function Su(t,e,r){return t===1?`${t} ${e}`:`${t} ${r!=null?r:e+"s"}`}var Uw=(t,e)=>t==="."||e==null||e.length===0||e==="."?!0:e.length>=t.length?e.startsWith(t):t.startsWith(e);function Mi(t,e){let r;if(e){if(e.button===0||e.button===1){let i=Xn.Keymap.isModEvent(e);r=t.workspace.getLeaf(i)}}else r=t.workspace.getLeaf(!1);return r}function hn(t,e,r,i,n){if(e.button==2){let s=t.vault.getAbstractFileByPath(r);if(s!=null){let a=new Xn.Menu;t.workspace.trigger("file-menu",a,s,n,i),a.showAtPosition({x:e.pageX,y:e.pageY})}else{let a=new Xn.Menu;t.workspace.trigger("obsidian-git:menu",a,r,n,i),a.showAtPosition({x:e.pageX,y:e.pageY})}}}function Gs(t){throw new Error("Impossible branch: "+t)}function Gw(t){return`rgb(${t.r},${t.g},${t.b})`}function LP(t){var s;let e=(s=OP.fromString(t))==null?void 0:s.toRgbaArray();if(e===void 0)return;let[r,i,n]=e;return{r,g:i,b:n}}function BP(t){return t.diff(Xn.moment.unix(0),"seconds")}function NP(t){if(t.length!==0)return t.slice().sort()[Math.floor(t.length/2)]}function HP(t,e){return(0,DP.default)(t,e,{strict:!0})}function Eu(t,e){return new Proxy(t,{get(r,i){return i==="length"?Math.min(e,r.length):r[i]}})}function UP(t,e,r){return t.length<=e?new Array(e-t.length).fill(r).join("")+t:t.substring(t.length-e)}function GP(t,e){if(e<=0)return t;let r=new Array(e).fill(" ").join(""),i=t.substring(e,t.length);return r+i}function jw(t,e,r){return t<=e&&e<=r}function Zn(t){let[e,...r]=t.split("/");return[e,r.length===0?void 0:r.join("/")]}function pn(t){return t.endsWith("/")?t:t.split("/").last().replace(/\.md$/,"")}function jP(t){return t===1?"1 minute":`${t} minutes`}function iG(t){let e=t.lastIndexOf(".");return t.substring(e+1)}function pl(t){if(t.endsWith(".md"))return!1;let e=iG(t);return jA.includes(e)}function qw(t){return(t.startsWith("https://github.com/")||t.startsWith("https://gitlab.com/"))&&(t.endsWith(".git")||(t=t+".git")),t}function ml(t,e){let r=e.vault.getAbstractFileByPath(t);if(!(r instanceof Xn.TFile))return!1;try{return!!e.viewRegistry.getTypeByExtension(r.extension)}catch(i){return!0}}function qP({isFolder:t,gitRelativePath:e}){let r="/";return r+=e,t&&(r+="/"),r.replace(/([\\!#*?[\]])/g,String.raw`\$1`).replace(/\s(?=\s*$)/g,String.raw`\ `)}function gl(t,e,r,i){let n=e.target;t.workspace.trigger("hover-link",{event:e,source:r.getViewType(),hoverParent:r,targetEl:n,linktext:i})}function ku(t,e,r={}){return new Promise((i,n)=>{let s=(0,MP.spawn)(t,e,r),a="",o="";s.stdout.on("data",l=>{a+=l.toString()}),s.stderr.on("data",l=>{o+=l.toString()}),s.on("error",l=>{i({error:new Error(l.message),stdout:a,stderr:a,code:1})}),s.on("close",l=>{i({stdout:a,stderr:o,code:l!=null?l:1,error:void 0})})})}p();var zP=require("obsidian"),vl=class{constructor(e){this.plugin=e,this.app=e.app}getRelativeVaultPath(e){return this.plugin.settings.basePath?this.plugin.settings.basePath+"/"+e:e}getRelativeRepoPath(e,r=!0){return r&&this.plugin.settings.basePath.length>0?e.substring(this.plugin.settings.basePath.length+1):e}unload(){}_getTreeStructure(e,r=0){let i=[];for(e=[...e];e.length>0;){let n=e.first(),s=n.path.substring(r);if(s.contains("/")){let a=s.substring(0,s.indexOf("/")),o=e.filter(c=>c.path.substring(r).startsWith(a+"/"));o.forEach(c=>e.remove(c));let l=n.path.substring(0,s.indexOf("/")+r);i.push({title:a,path:l,vaultPath:this.getRelativeVaultPath(l),children:this._getTreeStructure(o,(r>0?r+a.length:a.length)+1)})}else i.push({title:s,data:n,path:n.path,vaultPath:this.getRelativeVaultPath(n.path)}),e.remove(n)}return i}simplify(e){var r,i,n,s;for(let a of e){for(;;){let o=((r=a.children)==null?void 0:r.length)==1,l=((n=(i=a.children)==null?void 0:i.first())==null?void 0:n.data)==null;if(!(a.children!=null&&o&&l))break;let c=a.children.first();a.title+="/"+c.title,a.data=c.data,a.path=c.path,a.vaultPath=c.vaultPath,a.children=c.children}a.children!=null&&this.simplify(a.children),(s=a.children)==null||s.sort((o,l)=>{let c=(l.data==null?1:0)-(o.data==null?1:0);return c!=0?c:o.title.localeCompare(l.title)})}return e.sort((a,o)=>{let l=(o.data==null?1:0)-(a.data==null?1:0);return l!=0?l:a.title.localeCompare(o.title)})}getTreeStructure(e){let r=this._getTreeStructure(e);return this.simplify(r)}async formatCommitMessage(e){let r;if(e.includes("{{numFiles}}")){r=await this.status();let i=r.staged.length;e=e.replace("{{numFiles}}",String(i))}if(e.includes("{{hostname}}")){let i=this.plugin.localStorage.getHostname()||"";e=e.replace("{{hostname}}",i)}if(e.includes("{{files}}")){r=r!=null?r:await this.status();let i={},n="";if(r.staged.length<100){r.staged.forEach(a=>{a.index in i?i[a.index].push(a.path):i[a.index]=[a.path]});let s=[];for(let[a,o]of Object.entries(i))s.push(a+" "+o.join(" "));n=s.join(", ")}else n="Too many files to list";e=e.replace("{{files}}",n)}if(e=e.replace("{{date}}",(0,zP.moment)().format(this.plugin.settings.commitDateFormat)),this.plugin.settings.listChangedFilesInMessageBody){let i=r!=null?r:await this.status(),n="";i.staged.length<100?n=i.staged.map(s=>s.path).join(` +`):n="Too many files to list",e=e+` + +Affected files: +`+n}return e}};p();var js=require("obsidian"),yh=class{constructor(e,r){this.plugin=r;this.promises={};this.adapter=e.adapter,this.vault=e,this.lastBasePath=this.plugin.settings.basePath,this.promises.readFile=this.readFile.bind(this),this.promises.writeFile=this.writeFile.bind(this),this.promises.readdir=this.readdir.bind(this),this.promises.mkdir=this.mkdir.bind(this),this.promises.rmdir=this.rmdir.bind(this),this.promises.stat=this.stat.bind(this),this.promises.unlink=this.unlink.bind(this),this.promises.lstat=this.lstat.bind(this),this.promises.readlink=this.readlink.bind(this),this.promises.symlink=this.symlink.bind(this)}async readFile(e,r){var i;if(this.maybeLog("Read: "+e+JSON.stringify(r)),r=="utf8"||r.encoding=="utf8"){let n=this.vault.getAbstractFileByPath(e);return n instanceof js.TFile?(this.maybeLog("Reuse"),this.vault.read(n)):this.adapter.read(e)}else{if(e.endsWith(this.gitDir+"/index"))return this.plugin.settings.basePath!=this.lastBasePath?(this.clearIndex(),this.lastBasePath=this.plugin.settings.basePath,this.adapter.readBinary(e)):(i=this.index)!=null?i:this.adapter.readBinary(e);let n=this.vault.getAbstractFileByPath(e);return n instanceof js.TFile?(this.maybeLog("Reuse"),this.vault.readBinary(n)):this.adapter.readBinary(e)}}async writeFile(e,r){if(this.maybeLog("Write: "+e),typeof r=="string"){let i=this.vault.getAbstractFileByPath(e);return i instanceof js.TFile?this.vault.modify(i,r):this.adapter.write(e,r)}else if(e.endsWith(this.gitDir+"/index"))this.index=r,this.indexmtime=Date.now();else{let i=this.vault.getAbstractFileByPath(e);return i instanceof js.TFile?this.vault.modifyBinary(i,r):this.adapter.writeBinary(e,r)}}async readdir(e){e==="."&&(e="/");let r=await this.adapter.list(e),i=[...r.files,...r.folders],n;return e!=="/"?n=i.map(s=>(0,js.normalizePath)(s.substring(e.length))):n=i,n}async mkdir(e){return this.adapter.mkdir(e)}async rmdir(e,r){var i,n;return this.adapter.rmdir(e,(n=(i=r==null?void 0:r.options)==null?void 0:i.recursive)!=null?n:!1)}async stat(e){if(e.endsWith(this.gitDir+"/index")){if(this.index!==void 0&&this.indexctime!=null&&this.indexmtime!=null)return{isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1,size:this.index.byteLength,type:"file",ctimeMs:this.indexctime,mtimeMs:this.indexmtime};{let i=await this.adapter.stat(e);if(i==null)throw{code:"ENOENT"};return this.indexctime=i.ctime,this.indexmtime=i.mtime,{ctimeMs:i.ctime,mtimeMs:i.mtime,size:i.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1}}}e==="."&&(e="/");let r=this.vault.getAbstractFileByPath(e);if(this.maybeLog("Stat: "+e),r instanceof js.TFile)return this.maybeLog("Reuse stat"),{ctimeMs:r.stat.ctime,mtimeMs:r.stat.mtime,size:r.stat.size,type:"file",isFile:()=>!0,isDirectory:()=>!1,isSymbolicLink:()=>!1};{let i=await this.adapter.stat(e);if(i)return{ctimeMs:i.ctime,mtimeMs:i.mtime,size:i.size,type:i.type==="folder"?"directory":i.type,isFile:()=>i.type==="file",isDirectory:()=>i.type==="folder",isSymbolicLink:()=>!1};throw{code:"ENOENT"}}}async unlink(e){return this.adapter.remove(e)}async lstat(e){return this.stat(e)}async readlink(e){throw new Error(`readlink of (${e}) is not implemented.`)}async symlink(e){throw new Error(`symlink of (${e}) is not implemented.`)}async saveAndClear(){this.index!==void 0&&await this.adapter.writeBinary(this.plugin.gitManager.getRelativeVaultPath(this.gitDir+"/index"),this.index,{ctime:this.indexctime,mtime:this.indexmtime}),this.clearIndex()}clearIndex(){this.index=void 0,this.indexctime=void 0,this.indexmtime=void 0}get gitDir(){return this.plugin.settings.gitDir||".git"}maybeLog(e){}};var KP=Mt(ZP()),Di=class extends vl{constructor(r){super(r);this.FILE=0;this.HEAD=1;this.WORKDIR=2;this.STAGE=3;this.status_mapping={"000":" ","003":"AD","020":"??","022":"A ","023":"AM",100:"D ",101:" D",103:"MD",110:"DA",111:" ",113:"MM",120:"DA",121:" M",122:"M ",123:"MM"};this.noticeLength=999999;this.fs=new yh(this.app.vault,this.plugin)}getRepo(){return{fs:this.fs,dir:this.plugin.settings.basePath,gitdir:this.plugin.settings.gitDir||void 0,onAuth:()=>{var r,i;return{username:(r=this.plugin.localStorage.getUsername())!=null?r:void 0,password:(i=this.plugin.localStorage.getPassword())!=null?i:void 0}},onAuthFailure:async()=>{new Pa.Notice("Authentication failed. Please try with different credentials");let r=await new Qe(this.plugin,{placeholder:"Specify your username"}).openAndGetResult();if(r){let i=await new Qe(this.plugin,{placeholder:"Specify your password/personal access token",obscure:!0}).openAndGetResult();if(i)return this.plugin.localStorage.setUsername(r),this.plugin.localStorage.setPassword(i),{username:r,password:i}}return{cancel:!0}},http:{async request({url:r,method:i,headers:n,body:s}){let a;s&&(a=await oG(s));let o=await(0,Pa.requestUrl)({url:r,method:i,headers:n,body:a,throw:!1});return{url:r,method:i,headers:o.headers,body:aG(o.arrayBuffer),statusCode:o.status,statusMessage:o.status.toString()}}}}}async wrapFS(r){try{let i=await r;return await this.fs.saveAndClear(),i}catch(i){throw await this.fs.saveAndClear(),i}}async status(r){let i,n=window.setTimeout(()=>{i=new Pa.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{this.plugin.setPluginState({gitAction:1});let s={...this.getRepo()};(r==null?void 0:r.path)!=null&&(s.filepaths=[`${r.path}/`]);let a=(await this.wrapFS(re.default.statusMatrix(s))).map(f=>this.getFileStatusResult(f)),o=[],l=[],c=[];for(let f of a)f.workingDir!==" "&&o.push(f),f.index!==" "&&f.index!=="U"&&l.push(f),(f.index!=" "||f.workingDir!=" ")&&c.push(f);let u=[];return window.clearTimeout(n),i==null||i.hide(),{all:c,changed:o,staged:l,conflicted:u}}catch(s){throw window.clearTimeout(n),i==null||i.hide(),this.plugin.displayError(s),s}}async commitAll({message:r,status:i,unstagedFiles:n}){try{return await this.checkAuthorInfo(),await this.stageAll({status:i,unstagedFiles:n}),this.commit({message:r})}catch(s){throw this.plugin.displayError(s),s}}async commit({message:r}){try{await this.checkAuthorInfo(),this.plugin.setPluginState({gitAction:4});let i=await this.formatCommitMessage(r),n=this.plugin.localStorage.getConflict(),s;if(n){let a=await this.branchInfo();s=[a.current,a.tracking]}await this.wrapFS(re.default.commit({...this.getRepo(),message:i,parent:s})),this.plugin.localStorage.setConflict(!1);return}catch(i){throw this.plugin.displayError(i),i}}async stage(r,i){let n=this.getRelativeRepoPath(r,i),s;i?s=r:s=this.getRelativeVaultPath(r);try{this.plugin.setPluginState({gitAction:3}),await this.app.vault.adapter.exists(s)?await this.wrapFS(re.default.add({...this.getRepo(),filepath:n})):await this.wrapFS(re.default.remove({...this.getRepo(),filepath:n}))}catch(a){throw this.plugin.displayError(a),a}}async stageAll({dir:r,status:i,unstagedFiles:n}){try{if(i)await Promise.all(i.changed.map(s=>s.workingDir!=="D"?this.wrapFS(re.default.add({...this.getRepo(),filepath:s.path})):re.default.remove({...this.getRepo(),filepath:s.path})));else{let s=n!=null?n:await this.getUnstagedFiles(r!=null?r:".");await Promise.all(s.map(({path:a,type:o})=>o=="D"?re.default.remove({...this.getRepo(),filepath:a}):this.wrapFS(re.default.add({...this.getRepo(),filepath:a}))))}}catch(s){throw this.plugin.displayError(s),s}}async unstage(r,i){try{this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,i),await this.wrapFS(re.default.resetIndex({...this.getRepo(),filepath:r}))}catch(n){throw this.plugin.displayError(n),n}}async unstageAll({dir:r,status:i}){try{let n;i?n=i.staged.map(s=>s.path):n=(await this.getStagedFiles(r!=null?r:".")).map(({path:a})=>a),await this.wrapFS(Promise.all(n.map(s=>re.default.resetIndex({...this.getRepo(),filepath:s}))))}catch(n){throw this.plugin.displayError(n),n}}async discard(r){try{this.plugin.setPluginState({gitAction:3}),await this.wrapFS(re.default.checkout({...this.getRepo(),filepaths:[r],force:!0}))}catch(i){throw this.plugin.displayError(i),i}}async discardAll({dir:r,status:i}){let n=[];i?r!=null?n=i.changed.filter(s=>s.workingDir!="U"&&s.path.startsWith(r)).map(s=>s.path):n=i.changed.filter(s=>s.workingDir!="U").map(s=>s.path):n=(await this.getUnstagedFiles(r)).filter(s=>s.type!="A").map(({path:s})=>s);try{await this.wrapFS(re.default.checkout({...this.getRepo(),filepaths:n,force:!0}))}catch(s){throw this.plugin.displayError(s),s}}async getUntrackedPaths(r){let i=[];if(r.status)for(let n of r.status.changed)n.index=="U"&&n.workingDir==="U"&&n.path.startsWith(r.path!=null?`${r.path}/`:"")&&i.push(n.path);else{let n=await this.status({path:r==null?void 0:r.path});for(let s of n.changed)s.index==="U"&&s.workingDir==="U"&&i.push(s.path)}return i}getProgressText(r,i){let n=`${r} progress:`;return i.phase&&(n=`${n} ${i.phase}:`),i.loaded&&(n=`${n} ${i.loaded}`,i.total&&(n=`${n} of ${i.total}`)),n}resolveRef(r){return this.wrapFS(re.default.resolveRef({...this.getRepo(),ref:r}))}async pull(){let r=this.showNotice("Initializing pull");try{this.plugin.setPluginState({gitAction:2});let i=await this.resolveRef("HEAD");await this.fetch();let n=await this.branchInfo();await this.checkAuthorInfo(),(await this.wrapFS(re.default.merge({...this.getRepo(),ours:n.current,theirs:n.tracking,abortOnConflict:!1,mergeDriver:this.plugin.settings.mergeStrategy!=="none"?({contents:l})=>{var b,k,x;let c=l[0],u=l[1],f=l[2],d=/^.*(\r?\n|$)/gm,h=(b=u.match(d))!=null?b:[],m=(k=c.match(d))!=null?k:[],g=(x=f.match(d))!=null?x:[],v=(0,KP.default)(h,m,g),w="";for(let E of v)E.ok&&(w+=E.ok.join("")),E.conflict&&(w+=this.plugin.settings.mergeStrategy==="ours"?E.conflict.a.join(""):E.conflict.b.join(""));return{cleanMerge:!0,mergedText:w}}:void 0}))).alreadyMerged||await this.wrapFS(re.default.checkout({...this.getRepo(),ref:n.current,onProgress:l=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Checkout",l))},remote:n.remote})),r==null||r.hide();let a=await this.resolveRef("HEAD"),o=await this.getFileChangesCount(i,a);return this.showNotice("Finished pull",!1),o.map(l=>({path:l.path,workingDir:"P",index:"P",vaultPath:this.getRelativeVaultPath(l.path)}))}catch(i){throw r==null||r.hide(),i instanceof re.Errors.MergeConflictError&&await this.plugin.handleConflict(i.data.filepaths.map(n=>this.getRelativeVaultPath(n))),this.plugin.displayError(i),i}}async push(){if(!await this.canPush())return 0;let r=this.showNotice("Initializing push");try{this.plugin.setPluginState({gitAction:1});let i=await this.branchInfo(),n=i.tracking,s=i.current,a=(await this.getFileChangesCount(s,n)).length;this.plugin.setPluginState({gitAction:5});let o=await this.getCurrentRemote();return await this.wrapFS(re.default.push({...this.getRepo(),remote:o,onProgress:l=>{r!==void 0&&(r.noticeEl.innerText=this.getProgressText("Pushing",l))}})),r==null||r.hide(),a}catch(i){throw r==null||r.hide(),this.plugin.displayError(i),i}}async getUnpushedCommits(){let r=await this.branchInfo(),i=r.tracking,n=r.current;if(i==null||n==null)return 0;let s=await this.resolveRef(n),a=await this.resolveRef(i);return(await this.getFileChangesCount(s,a)).length}async canPush(){let r=await this.branchInfo(),i=r.tracking,n=r.current,s=await this.resolveRef(n),a=await this.resolveRef(i);return s!=a}async checkRequirements(){return await this.plugin.app.vault.adapter.exists(`${this.getRepo().dir}/.git/HEAD`)?"valid":"missing-repo"}async branchInfo(){var r,i;try{let n=await re.default.currentBranch(this.getRepo())||"",s=await re.default.listBranches(this.getRepo()),a=(r=await this.getConfig(`branch.${n}.remote`))!=null?r:"origin",o=(i=await this.getConfig(`branch.${n}.merge`))==null?void 0:i.split("refs/heads")[1],l=o?a+o:void 0;return{current:n,tracking:l,branches:s,remote:a}}catch(n){throw this.plugin.displayError(n),n}}async getCurrentRemote(){var n;let r=await re.default.currentBranch(this.getRepo())||"";return(n=await this.getConfig(`branch.${r}.remote`))!=null?n:"origin"}async checkout(r,i){try{return this.wrapFS(re.default.checkout({...this.getRepo(),ref:r,force:!!i,remote:i}))}catch(n){throw this.plugin.displayError(n),n}}async createBranch(r){try{await this.wrapFS(re.default.branch({...this.getRepo(),ref:r,checkout:!0}))}catch(i){throw this.plugin.displayError(i),i}}async deleteBranch(r){try{await this.wrapFS(re.default.deleteBranch({...this.getRepo(),ref:r}))}catch(i){throw this.plugin.displayError(i),i}}branchIsMerged(r){return Promise.resolve(!0)}async init(){try{await this.wrapFS(re.default.init(this.getRepo()))}catch(r){throw this.plugin.displayError(r),r}}async clone(r,i,n){let s=this.showNotice("Initializing clone");try{await this.wrapFS(re.default.clone({...this.getRepo(),dir:i,url:r,depth:n,onProgress:a=>{s!==void 0&&(s.noticeEl.innerText=this.getProgressText("Cloning",a))}})),s==null||s.hide()}catch(a){throw s==null||s.hide(),this.plugin.displayError(a),a}}async setConfig(r,i){try{return this.wrapFS(re.default.setConfig({...this.getRepo(),path:r,value:i}))}catch(n){throw this.plugin.displayError(n),n}}async getConfig(r){try{return this.wrapFS(re.default.getConfig({...this.getRepo(),path:r}))}catch(i){throw this.plugin.displayError(i),i}}async fetch(r){let i=this.showNotice("Initializing fetch");try{let n={...this.getRepo(),onProgress:s=>{i!==void 0&&(i.noticeEl.innerText=this.getProgressText("Fetching",s))},remote:r!=null?r:await this.getCurrentRemote()};await this.wrapFS(re.default.fetch(n)),i==null||i.hide()}catch(n){throw this.plugin.displayError(n),i==null||i.hide(),n}}async setRemote(r,i){try{await this.wrapFS(re.default.addRemote({...this.getRepo(),remote:r,url:i,force:!0}))}catch(n){throw this.plugin.displayError(n),n}}async getRemoteBranches(r){let i=[];return i.push(...await this.wrapFS(re.default.listBranches({...this.getRepo(),remote:r}))),i.remove("HEAD"),i=i.map(n=>`${r}/${n}`),i}async getRemotes(){return(await this.wrapFS(re.default.listRemotes({...this.getRepo()}))).map(r=>r.remote)}async removeRemote(r){await this.wrapFS(re.default.deleteRemote({...this.getRepo(),remote:r}))}async getRemoteUrl(r){var i;return(i=(await this.wrapFS(re.default.listRemotes({...this.getRepo()}))).filter(n=>n.remote==r)[0])==null?void 0:i.url}async log(r,i=!0,n,s){let a=await this.wrapFS(re.default.log({...this.getRepo(),depth:n,ref:s}));return Promise.all(a.map(async o=>{let l=o.commit.message.split(` + +`);return{message:l[0],author:{name:o.commit.author.name,email:o.commit.author.email},body:l.slice(1).join(` + +`),date:new Date(o.commit.committer.timestamp).toDateString(),diff:{changed:0,files:(await this.getFileChangesCount(o.commit.parent.first(),o.oid)).map(c=>({path:c.path,status:c.type,vaultPath:this.getRelativeVaultPath(c.path),hash:o.oid}))},hash:o.oid,refs:[]}}))}updateBasePath(r){return this.getRepo().dir=r,Promise.resolve()}async updateUpstreamBranch(r){let[i,n]=Zn(r),s=await this.branchInfo();await this.wrapFS(re.default.push({...this.getRepo(),remote:i,remoteRef:n})),await this.setConfig(`branch.${s.current}.merge`,`refs/heads/${n}`)}updateGitPath(r){return Promise.resolve()}async getFileChangesCount(r,i){return this.walkDifference({walkers:[re.default.TREE({ref:r}),re.default.TREE({ref:i})]})}async walkDifference({walkers:r,dir:i}){return await this.wrapFS(re.default.walk({...this.getRepo(),trees:r,map:async function(s,[a,o]){if(!Uw(s,i))return null;if(await(a==null?void 0:a.type())==="tree"||await(o==null?void 0:o.type())==="tree")return;let l=await(a==null?void 0:a.oid()),c=await(o==null?void 0:o.oid()),u="equal";if(l!==c&&(u="M"),l===void 0&&(u="A"),c===void 0&&(u="D"),l===void 0&&c===void 0&&(console.log("Something weird happened:"),console.log(a),console.log(o)),u!=="equal")return{path:s,type:u}}}))}async getStagedFiles(r="."){return(await this.walkDifference({walkers:[re.default.TREE({ref:"HEAD"}),re.default.STAGE()],dir:r})).map(n=>({vaultPath:this.getRelativeVaultPath(n.path),path:n.path}))}async getUnstagedFiles(r="."){let i,n=window.setTimeout(()=>{i=new Pa.Notice("This takes longer: Getting status",this.noticeLength)},2e4);try{let s=this.getRepo(),a=await this.wrapFS(re.default.walk({...s,trees:[re.default.WORKDIR(),re.default.STAGE()],map:async function(o,[l,c]){if(!c&&l&&await re.default.isIgnored({...s,filepath:o})||!Uw(o,r))return null;let[u,f]=await Promise.all([l&&l.type(),c&&c.type()]),d=[u,f].includes("blob");if((u==="tree"||u==="special")&&!d)return;if(f==="commit")return null;if((f==="tree"||f==="special")&&!d)return;let h=f==="blob"?await c.oid():void 0,m;return u==="blob"&&f!=="blob"?m="42":u==="blob"&&(m=await l.oid()),m?h?m!==h?{path:o,type:"M"}:null:{path:o,type:"A"}:{path:o,type:"D"}}}));return window.clearTimeout(n),i==null||i.hide(),a}catch(s){throw window.clearTimeout(n),i==null||i.hide(),this.plugin.displayError(s),s}}async getDiffString(r,i=!1,n){let s=this.getRelativeVaultPath(r),a=async(c,[u])=>{if(r==c){let f=await u.oid();return(await re.default.readBlob({...this.getRepo(),oid:f})).blob}};if(n){let c=await(0,re.readBlob)({...this.getRepo(),filepath:r,oid:n}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof re.default.Errors.NotFoundError))throw h}),u=await re.default.readCommit({...this.getRepo(),oid:n}),f=await(0,re.readBlob)({...this.getRepo(),filepath:r,oid:u.commit.parent.first()}).then(h=>new TextDecoder().decode(h.blob)).catch(h=>{if(!(h instanceof re.default.Errors.NotFoundError))throw h});return cu(s,f!=null?f:"",c!=null?c:"")}let o=(await re.default.walk({...this.getRepo(),trees:[re.default.STAGE()],map:a})).first(),l=new TextDecoder().decode(o);if(i){let c=await this.resolveRef("HEAD").then(f=>(0,re.readBlob)({...this.getRepo(),filepath:r,oid:f})).then(f=>new TextDecoder().decode(f.blob)).catch(f=>{if(!(f instanceof re.default.Errors.NotFoundError))throw f});return cu(s,c!=null?c:"",l)}else{let c;return await this.app.vault.adapter.exists(s)?c=await this.app.vault.adapter.read(s):c="",cu(s,l,c)}}async getLastCommitTime(){let r=this.getRepo(),i=await this.resolveRef("HEAD"),s=(await re.default.readCommit({...r,oid:i})).commit.committer.timestamp;return new Date(s*1e3)}getFileStatusResult(r){let i=this.status_mapping[`${r[this.HEAD]}${r[this.WORKDIR]}${r[this.STAGE]}`];return{index:i[0]=="?"?"U":i[0],workingDir:i[1]=="?"?"U":i[1],path:r[this.FILE],vaultPath:this.getRelativeVaultPath(r[this.FILE])}}async checkAuthorInfo(){let r=await this.getConfig("user.name"),i=await this.getConfig("user.email");if(!r||!i)throw Error("Git author name and email are not set. Please set both fields in the settings.")}showNotice(r,i=!0){if(!this.plugin.settings.disablePopups)return new Pa.Notice(r,i?this.noticeLength:void 0)}};async function*aG(t){yield new Uint8Array(t)}async function oG(t){let e=new ReadableStream({async start(i){for await(let n of t)i.enqueue(n);i.close()}});return await new Response(e).arrayBuffer()}p();var UI=Mt(xh()),ei=Mt(require("fs/promises")),Qn=require("obsidian"),Ge=Mt(require("path")),Mu=require("path");p();var Oh=Mt(iR(),1),$h=Mt(xh(),1),C$=require("child_process"),fI=Mt(Ww(),1),xl=Mt(Ww(),1),LI=require("node:events"),h0=Object.defineProperty,AG=Object.getOwnPropertyDescriptor,p0=Object.getOwnPropertyNames,TG=Object.prototype.hasOwnProperty,Y=(t,e)=>function(){return t&&(e=(0,t[p0(t)[0]])(t=0)),e},CG=(t,e)=>function(){return e||(0,t[p0(t)[0]])((e={exports:{}}).exports,e),e.exports},vt=(t,e)=>{for(var r in e)h0(t,r,{get:e[r],enumerable:!0})},PG=(t,e,r,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let n of p0(e))!TG.call(t,n)&&n!==r&&h0(t,n,{get:()=>e[n],enumerable:!(i=AG(e,n))||i.enumerable});return t},ut=t=>PG(h0({},"__esModule",{value:!0}),t);function RG(...t){let e=new String(t);return Fh.set(e,t),e}function Ch(t){return t instanceof String&&Fh.has(t)}function nR(t){return Fh.get(t)||[]}var Fh,Pu=Y({"src/lib/args/pathspec.ts"(){"use strict";Fh=new WeakMap}}),Rr,zs=Y({"src/lib/errors/git-error.ts"(){"use strict";Rr=class extends Error{constructor(t,e){super(e),this.task=t,Object.setPrototypeOf(this,new.target.prototype)}}}}),Ru,El=Y({"src/lib/errors/git-response-error.ts"(){"use strict";zs(),Ru=class extends Rr{constructor(t,e){super(void 0,e||String(t)),this.git=t}}}}),MR,DR=Y({"src/lib/errors/task-configuration-error.ts"(){"use strict";zs(),MR=class extends Rr{constructor(t){super(void 0,t)}}}});function LR(t){return typeof t!="function"?Ma:t}function BR(t){return typeof t=="function"&&t!==Ma}function NR(t,e){let r=t.indexOf(e);return r<=0?[t,""]:[t.substr(0,r),t.substr(r+1)]}function HR(t,e=0){return UR(t)&&t.length>e?t[e]:void 0}function Oa(t,e=0){if(UR(t)&&t.length>e)return t[t.length-1-e]}function UR(t){return!!(t&&typeof t.length=="number")}function $u(t="",e=!0,r=` +`){return t.split(r).reduce((i,n)=>{let s=e?n.trim():n;return s&&i.push(s),i},[])}function m0(t,e){return $u(t,!0).map(r=>e(r))}function g0(t){return(0,Oh.exists)(t,Oh.FOLDER)}function Oe(t,e){return Array.isArray(t)?t.includes(e)||t.push(e):t.add(e),e}function GR(t,e){return Array.isArray(t)&&!t.includes(e)&&t.push(e),t}function Mh(t,e){if(Array.isArray(t)){let r=t.indexOf(e);r>=0&&t.splice(r,1)}else t.delete(e);return e}function mn(t){return Array.isArray(t)?t:[t]}function jR(t){return t.replace(/[\s-]+(.)/g,(e,r)=>r.toUpperCase())}function qR(t){return mn(t).map(String)}function Ve(t,e=0){if(t==null)return e;let r=parseInt(t,10);return isNaN(r)?e:r}function Tu(t,e){let r=[];for(let i=0,n=t.length;ir in t?{[r]:t[r]}:{}))}function e0(t=0){return new Promise(e=>setTimeout(e,t))}function t0(t){if(t!==!1)return t}var Sl,Ma,Iu,Dh=Y({"src/lib/utils/util.ts"(){"use strict";Sl="\0",Ma=()=>{},Iu=Object.prototype.toString.call.bind(Object.prototype.toString)}});function gn(t,e,r){return e(t)?t:arguments.length>2?r:void 0}function r0(t,e){let r=Ch(t)?"string":typeof t;return/number|string|boolean/.test(r)&&(!e||!e.includes(r))}function Lh(t){return!!t&&Iu(t)==="[object Object]"}function VR(t){return typeof t=="function"}var Fu,er,WR,Ph,v0,YR=Y({"src/lib/utils/argument-filters.ts"(){"use strict";Dh(),Pu(),Fu=t=>Array.isArray(t),er=t=>typeof t=="string",WR=t=>Array.isArray(t)&&t.every(er),Ph=t=>er(t)||Array.isArray(t)&&t.every(er),v0=t=>t==null||"number|boolean|function".includes(typeof t)?!1:Array.isArray(t)||typeof t=="string"||typeof t.length=="number"}}),i0,$G=Y({"src/lib/utils/exit-codes.ts"(){"use strict";i0=(t=>(t[t.SUCCESS=0]="SUCCESS",t[t.ERROR=1]="ERROR",t[t.NOT_FOUND=-2]="NOT_FOUND",t[t.UNCLEAN=128]="UNCLEAN",t))(i0||{})}}),Rh,IG=Y({"src/lib/utils/git-output-streams.ts"(){"use strict";Rh=class XR{constructor(e,r){this.stdOut=e,this.stdErr=r}asStrings(){return new XR(this.stdOut.toString("utf8"),this.stdErr.toString("utf8"))}}}}),me,qs,FG=Y({"src/lib/utils/line-parser.ts"(){"use strict";me=class{constructor(t,e){this.matches=[],this.parse=(r,i)=>(this.resetMatches(),this._regExp.every((n,s)=>this.addMatch(n,s,r(s)))?this.useMatches(i,this.prepareMatches())!==!1:!1),this._regExp=Array.isArray(t)?t:[t],e&&(this.useMatches=e)}useMatches(t,e){throw new Error("LineParser:useMatches not implemented")}resetMatches(){this.matches.length=0}prepareMatches(){return this.matches}addMatch(t,e,r){let i=r&&t.exec(r);return i&&this.pushMatch(e,i),!!i}pushMatch(t,e){this.matches.push(...e.slice(1))}},qs=class extends me{addMatch(t,e,r){return/^remote:\s/.test(String(r))&&super.addMatch(t,e,r)}pushMatch(t,e){(t>0||e.length>1)&&super.pushMatch(t,e)}}}});function ZR(...t){let e=process.cwd(),r=Object.assign({baseDir:e,...KR},...t.filter(i=>typeof i=="object"&&i));return r.baseDir=r.baseDir||e,r.trimmed=r.trimmed===!0,r}var KR,OG=Y({"src/lib/utils/simple-git-options.ts"(){"use strict";KR={binary:"git",maxConcurrentProcesses:5,config:[],trimmed:!1}}});function w0(t,e=[]){return Lh(t)?Object.keys(t).reduce((r,i)=>{let n=t[i];if(Ch(n))r.push(n);else if(r0(n,["boolean"]))r.push(i+"="+n);else if(Array.isArray(n))for(let s of n)r0(s,["string","number"])||r.push(i+"="+s);else r.push(i);return r},e):e}function Cr(t,e=0,r=!1){let i=[];for(let n=0,s=e<0?t.length:e;n{for(let s=$u(n,i),a=0,o=s.length;a{if(!(a+c>=o))return s[a+c]};e.some(({parse:c})=>c(l,t))}}),t}var LG=Y({"src/lib/utils/task-parser.ts"(){"use strict";Dh()}}),QR={};vt(QR,{ExitCodes:()=>i0,GitOutputStreams:()=>Rh,LineParser:()=>me,NOOP:()=>Ma,NULL:()=>Sl,RemoteLineParser:()=>qs,append:()=>Oe,appendTaskOptions:()=>w0,asArray:()=>mn,asCamelCase:()=>jR,asFunction:()=>LR,asNumber:()=>Ve,asStringArray:()=>qR,bufferToString:()=>Cu,callTaskParser:()=>n0,createInstanceConfig:()=>ZR,delay:()=>e0,filterArray:()=>Fu,filterFunction:()=>VR,filterHasLength:()=>v0,filterPlainObject:()=>Lh,filterPrimitives:()=>r0,filterString:()=>er,filterStringArray:()=>WR,filterStringOrStringArray:()=>Ph,filterType:()=>gn,first:()=>HR,folderExists:()=>g0,forEachLineWithContent:()=>m0,getTrailingOptions:()=>Cr,including:()=>GR,isUserFunction:()=>BR,last:()=>Oa,objectToString:()=>Iu,orVoid:()=>t0,parseStringResponse:()=>$r,pick:()=>zR,prefixedArray:()=>Tu,remove:()=>Mh,splitOn:()=>NR,toLinesWithContent:()=>$u,trailingFunctionArgument:()=>ft,trailingOptionsArgument:()=>y0});var de=Y({"src/lib/utils/index.ts"(){"use strict";YR(),$G(),IG(),FG(),OG(),DG(),LG(),Dh()}}),JR={};vt(JR,{CheckRepoActions:()=>s0,checkIsBareRepoTask:()=>t$,checkIsRepoRootTask:()=>e$,checkIsRepoTask:()=>BG});function BG(t){switch(t){case"bare":return t$();case"root":return e$()}return{commands:["rev-parse","--is-inside-work-tree"],format:"utf-8",onError:Bh,parser:b0}}function e$(){return{commands:["rev-parse","--git-dir"],format:"utf-8",onError:Bh,parser(e){return/^\.(git)?$/.test(e.trim())}}}function t$(){return{commands:["rev-parse","--is-bare-repository"],format:"utf-8",onError:Bh,parser:b0}}function NG(t){return/(Not a git repository|Kein Git-Repository)/i.test(String(t))}var s0,Bh,b0,r$=Y({"src/lib/tasks/check-is-repo.ts"(){"use strict";de(),s0=(t=>(t.BARE="bare",t.IN_TREE="tree",t.IS_REPO_ROOT="root",t))(s0||{}),Bh=({exitCode:t},e,r,i)=>{if(t===128&&NG(e))return r(Buffer.from("false"));i(e)},b0=t=>t.trim()==="true"}});function HG(t,e){let r=new i$(t),i=t?s$:n$;return $u(e).forEach(n=>{let s=n.replace(i,"");r.paths.push(s),(a$.test(s)?r.folders:r.files).push(s)}),r}var i$,n$,s$,a$,UG=Y({"src/lib/responses/CleanSummary.ts"(){"use strict";de(),i$=class{constructor(t){this.dryRun=t,this.paths=[],this.files=[],this.folders=[]}},n$=/^[a-z]+\s*/i,s$=/^[a-z]+\s+[a-z]+\s*/i,a$=/\/$/}}),a0={};vt(a0,{EMPTY_COMMANDS:()=>Nh,adhocExecTask:()=>o$,configurationErrorTask:()=>Pr,isBufferTask:()=>c$,isEmptyTask:()=>u$,straightThroughBufferTask:()=>l$,straightThroughStringTask:()=>mr});function o$(t){return{commands:Nh,format:"empty",parser:t}}function Pr(t){return{commands:Nh,format:"empty",parser(){throw typeof t=="string"?new MR(t):t}}}function mr(t,e=!1){return{commands:t,format:"utf-8",parser(r){return e?String(r).trim():r}}}function l$(t){return{commands:t,format:"buffer",parser(e){return e}}}function c$(t){return t.format==="buffer"}function u$(t){return t.format==="empty"||!t.commands.length}var Nh,gt=Y({"src/lib/tasks/task.ts"(){"use strict";DR(),Nh=[]}}),f$={};vt(f$,{CONFIG_ERROR_INTERACTIVE_MODE:()=>_0,CONFIG_ERROR_MODE_REQUIRED:()=>x0,CONFIG_ERROR_UNKNOWN_OPTION:()=>S0,CleanOptions:()=>Fa,cleanTask:()=>d$,cleanWithOptionsTask:()=>GG,isCleanOptionsArray:()=>jG});function GG(t,e){let{cleanMode:r,options:i,valid:n}=qG(t);return r?n.options?(i.push(...e),i.some(WG)?Pr(_0):d$(r,i)):Pr(S0+JSON.stringify(t)):Pr(x0)}function d$(t,e){return{commands:["clean",`-${t}`,...e],format:"utf-8",parser(i){return HG(t==="n",i)}}}function jG(t){return Array.isArray(t)&&t.every(e=>E0.has(e))}function qG(t){let e,r=[],i={cleanMode:!1,options:!0};return t.replace(/[^a-z]i/g,"").split("").forEach(n=>{zG(n)?(e=n,i.cleanMode=!0):i.options=i.options&&VG(r[r.length]=`-${n}`)}),{cleanMode:e,options:r,valid:i}}function zG(t){return t==="f"||t==="n"}function VG(t){return/^-[a-z]$/i.test(t)&&E0.has(t.charAt(1))}function WG(t){return/^-[^\-]/.test(t)?t.indexOf("i")>0:t==="--interactive"}var _0,x0,S0,Fa,E0,h$=Y({"src/lib/tasks/clean.ts"(){"use strict";UG(),de(),gt(),_0="Git clean interactive mode is not supported",x0='Git clean mode parameter ("n" or "f") is required',S0="Git clean unknown option found in: ",Fa=(t=>(t.DRY_RUN="n",t.FORCE="f",t.IGNORED_INCLUDED="x",t.IGNORED_ONLY="X",t.EXCLUDING="e",t.QUIET="q",t.RECURSIVE="d",t))(Fa||{}),E0=new Set(["i",...qR(Object.values(Fa))])}});function YG(t){let e=new m$;for(let r of p$(t))e.addValue(r.file,String(r.key),r.value);return e}function XG(t,e){let r=null,i=[],n=new Map;for(let s of p$(t,e))s.key===e&&(i.push(r=s.value),n.has(s.file)||n.set(s.file,[]),n.get(s.file).push(r));return{key:e,paths:Array.from(n.keys()),scopes:n,value:r,values:i}}function ZG(t){return t.replace(/^(file):/,"")}function*p$(t,e=null){let r=t.split("\0");for(let i=0,n=r.length-1;iObject.assign(t,this.values[e]),{})),this._all}addFile(t){if(!(t in this.values)){let e=Oa(this.files);this.values[t]=e?Object.create(this.values[e]):{},this.files.push(t)}return this.values[t]}addValue(t,e,r){let i=this.addFile(t);i.hasOwnProperty(e)?Array.isArray(i[e])?i[e].push(r):i[e]=[i[e],r]:i[e]=r,this._all=void 0}}}});function Yw(t,e){return typeof t=="string"&&o0.hasOwnProperty(t)?t:e}function QG(t,e,r,i){let n=["config",`--${i}`];return r&&n.push("--add"),n.push(t,e),{commands:n,format:"utf-8",parser(s){return s}}}function JG(t,e){let r=["config","--null","--show-origin","--get-all",t];return e&&r.splice(1,0,`--${e}`),{commands:r,format:"utf-8",parser(i){return XG(i,t)}}}function ej(t){let e=["config","--list","--show-origin","--null"];return t&&e.push(`--${t}`),{commands:e,format:"utf-8",parser(r){return YG(r)}}}function tj(){return{addConfig(t,e,...r){return this._runTask(QG(t,e,r[0]===!0,Yw(r[1],"local")),ft(arguments))},getConfig(t,e){return this._runTask(JG(t,Yw(e,void 0)),ft(arguments))},listConfig(...t){return this._runTask(ej(Yw(t[0],void 0)),ft(arguments))}}}var o0,g$=Y({"src/lib/tasks/config.ts"(){"use strict";KG(),de(),o0=(t=>(t.system="system",t.global="global",t.local="local",t.worktree="worktree",t))(o0||{})}});function rj(t){return v$.has(t)}var Xw,v$,w$=Y({"src/lib/tasks/diff-name-status.ts"(){"use strict";Xw=(t=>(t.ADDED="A",t.COPIED="C",t.DELETED="D",t.MODIFIED="M",t.RENAMED="R",t.CHANGED="T",t.UNMERGED="U",t.UNKNOWN="X",t.BROKEN="B",t))(Xw||{}),v$=new Set(Object.values(Xw))}});function ij(...t){return new b$().param(...t)}function nj(t){let e=new Set,r={};return m0(t,i=>{let[n,s,a]=i.split(Sl);e.add(n),(r[n]=r[n]||[]).push({line:Ve(s),path:n,preview:a})}),{paths:e,results:r}}function sj(){return{grep(t){let e=ft(arguments),r=Cr(arguments);for(let n of y$)if(r.includes(n))return this._runTask(Pr(`git.grep: use of "${n}" is not supported.`),e);typeof t=="string"&&(t=ij().param(t));let i=["grep","--null","-n","--full-name",...r,...t];return this._runTask({commands:i,format:"utf-8",parser(n){return nj(n)}},e)}}}var y$,Au,sR,b$,_$=Y({"src/lib/tasks/grep.ts"(){"use strict";de(),gt(),y$=["-h"],Au=Symbol("grepQuery"),b$=class{constructor(){this[sR]=[]}*[(sR=Au,Symbol.iterator)](){for(let t of this[Au])yield t}and(...t){return t.length&&this[Au].push("--and","(",...Tu(t,"-e"),")"),this}param(...t){return this[Au].push(...Tu(t,"-e")),this}}}}),x$={};vt(x$,{ResetMode:()=>kh,getResetMode:()=>oj,resetTask:()=>aj});function aj(t,e){let r=["reset"];return S$(t)&&r.push(`--${t}`),r.push(...e),mr(r)}function oj(t){if(S$(t))return t;switch(typeof t){case"string":case"undefined":return"soft"}}function S$(t){return E$.includes(t)}var kh,E$,k$=Y({"src/lib/tasks/reset.ts"(){"use strict";gt(),kh=(t=>(t.MIXED="mixed",t.SOFT="soft",t.HARD="hard",t.MERGE="merge",t.KEEP="keep",t))(kh||{}),E$=Array.from(Object.values(kh))}});function lj(){return(0,$h.default)("simple-git")}function aR(t,e,r){return!e||!String(e).replace(/\s*/,"")?r?(i,...n)=>{t(i,...n),r(i,...n)}:t:(i,...n)=>{t(`%s ${i}`,e,...n),r&&r(i,...n)}}function cj(t,e,{namespace:r}){if(typeof t=="string")return t;let i=e&&e.namespace||"";return i.startsWith(r)?i.substr(r.length+1):i||r}function k0(t,e,r,i=lj()){let n=t&&`[${t}]`||"",s=[],a=typeof e=="string"?i.extend(e):e,o=cj(gn(e,er),a,i);return c(r);function l(u,f){return Oe(s,k0(t,o.replace(/^[^:]+/,u),f,i))}function c(u){let f=u&&`[${u}]`||"",d=a&&aR(a,f)||Ma,h=aR(i,`${n} ${f}`,d);return Object.assign(a?d:h,{label:t,sibling:l,info:h,step:c})}}var A$=Y({"src/lib/git-logger.ts"(){"use strict";de(),$h.default.formatters.L=t=>String(v0(t)?t.length:"-"),$h.default.formatters.B=t=>Buffer.isBuffer(t)?t.toString("utf8"):Iu(t)}}),T$,uj=Y({"src/lib/runners/tasks-pending-queue.ts"(){"use strict";var t;zs(),A$(),T$=(t=class{constructor(r="GitExecutor"){this.logLabel=r,this._queue=new Map}withProgress(r){return this._queue.get(r)}createProgress(r){let i=t.getName(r.commands[0]),n=k0(this.logLabel,i);return{task:r,logger:n,name:i}}push(r){let i=this.createProgress(r);return i.logger("Adding task to the queue, commands = %o",r.commands),this._queue.set(r,i),i}fatal(r){for(let[i,{logger:n}]of Array.from(this._queue.entries()))i===r.task?(n.info("Failed %o",r),n("Fatal exception, any as-yet un-started tasks run through this executor will not be attempted")):n.info("A fatal exception occurred in a previous task, the queue has been purged: %o",r.message),this.complete(i);if(this._queue.size!==0)throw new Error(`Queue size should be zero after fatal: ${this._queue.size}`)}complete(r){this.withProgress(r)&&this._queue.delete(r)}attempt(r){let i=this.withProgress(r);if(!i)throw new Rr(void 0,"TasksPendingQueue: attempt called for an unknown task");return i.logger("Starting task"),i}static getName(r="empty"){return`task:${r}:${++t.counter}`}},t.counter=0,t)}});function Ia(t,e){return{method:HR(t.commands)||"",commands:e}}function fj(t,e){return r=>{e("[ERROR] child process exception %o",r),t.push(Buffer.from(String(r.stack),"ascii"))}}function oR(t,e,r,i){return n=>{r("%s received %L bytes",e,n),i("%B",n),t.push(n)}}var l0,dj=Y({"src/lib/runners/git-executor-chain.ts"(){"use strict";zs(),gt(),de(),uj(),l0=class{constructor(t,e,r){this._executor=t,this._scheduler=e,this._plugins=r,this._chain=Promise.resolve(),this._queue=new T$}get cwd(){return this._cwd||this._executor.cwd}set cwd(t){this._cwd=t}get env(){return this._executor.env}get outputHandler(){return this._executor.outputHandler}chain(){return this}push(t){return this._queue.push(t),this._chain=this._chain.then(()=>this.attemptTask(t))}async attemptTask(t){let e=await this._scheduler.next(),r=()=>this._queue.complete(t);try{let{logger:i}=this._queue.attempt(t);return await(u$(t)?this.attemptEmptyTask(t,i):this.attemptRemoteTask(t,i))}catch(i){throw this.onFatalException(t,i)}finally{r(),e()}}onFatalException(t,e){let r=e instanceof Rr?Object.assign(e,{task:t}):new Rr(t,e&&String(e));return this._chain=Promise.resolve(),this._queue.fatal(r),r}async attemptRemoteTask(t,e){let r=this._plugins.exec("spawn.binary","",Ia(t,t.commands)),i=this._plugins.exec("spawn.args",[...t.commands],Ia(t,t.commands)),n=await this.gitResponse(t,r,i,this.outputHandler,e.step("SPAWN")),s=await this.handleTaskData(t,i,n,e.step("HANDLE"));return e("passing response to task's parser as a %s",t.format),c$(t)?n0(t.parser,s):n0(t.parser,s.asStrings())}async attemptEmptyTask(t,e){return e("empty task bypassing child process to call to task's parser"),t.parser(this)}handleTaskData(t,e,r,i){let{exitCode:n,rejection:s,stdOut:a,stdErr:o}=r;return new Promise((l,c)=>{i("Preparing to handle process response exitCode=%d stdOut=",n);let{error:u}=this._plugins.exec("task.error",{error:s},{...Ia(t,e),...r});if(u&&t.onError)return i.info("exitCode=%s handling with custom error handler"),t.onError(r,u,f=>{i.info("custom error handler treated as success"),i("custom error returned a %s",Iu(f)),l(new Rh(Array.isArray(f)?Buffer.concat(f):f,Buffer.concat(o)))},c);if(u)return i.info("handling as error: exitCode=%s stdErr=%s rejection=%o",n,o.length,s),c(u);i.info("retrieving task output complete"),l(new Rh(Buffer.concat(a),Buffer.concat(o)))})}async gitResponse(t,e,r,i,n){let s=n.sibling("output"),a=this._plugins.exec("spawn.options",{cwd:this.cwd,env:this.env,windowsHide:!0},Ia(t,t.commands));return new Promise(o=>{let l=[],c=[];n.info("%s %o",e,r),n("%O",a);let u=this._beforeSpawn(t,r);if(u)return o({stdOut:l,stdErr:c,exitCode:9901,rejection:u});this._plugins.exec("spawn.before",void 0,{...Ia(t,r),kill(d){u=d||u}});let f=(0,C$.spawn)(e,r,a);f.stdout.on("data",oR(l,"stdOut",n,s.step("stdOut"))),f.stderr.on("data",oR(c,"stdErr",n,s.step("stdErr"))),f.on("error",fj(c,n)),i&&(n("Passing child process stdOut/stdErr to custom outputHandler"),i(e,f.stdout,f.stderr,[...r])),this._plugins.exec("spawn.after",void 0,{...Ia(t,r),spawned:f,close(d,h){o({stdOut:l,stdErr:c,exitCode:d,rejection:u||h})},kill(d){f.killed||(u=d,f.kill("SIGINT"))}})})}_beforeSpawn(t,e){let r;return this._plugins.exec("spawn.before",void 0,{...Ia(t,e),kill(i){r=i||r}}),r}}}}),P$={};vt(P$,{GitExecutor:()=>R$});var R$,hj=Y({"src/lib/runners/git-executor.ts"(){"use strict";dj(),R$=class{constructor(t,e,r){this.cwd=t,this._scheduler=e,this._plugins=r,this._chain=new l0(this,this._scheduler,this._plugins)}chain(){return new l0(this,this._scheduler,this._plugins)}push(t){return this._chain.push(t)}}}});function pj(t,e,r=Ma){let i=s=>{r(null,s)},n=s=>{(s==null?void 0:s.task)===t&&r(s instanceof Ru?mj(s):s,void 0)};e.then(i,n)}function mj(t){let e=i=>{console.warn(`simple-git deprecation notice: accessing GitResponseError.${i} should be GitResponseError.git.${i}, this will no longer be available in version 3`),e=Ma};return Object.create(t,Object.getOwnPropertyNames(t.git).reduce(r,{}));function r(i,n){return n in t||(i[n]={enumerable:!1,configurable:!1,get(){return e(n),t.git[n]}}),i}}var gj=Y({"src/lib/task-callback.ts"(){"use strict";El(),de()}});function lR(t,e){return o$(r=>{if(!g0(t))throw new Error(`Git.cwd: cannot change to non-directory "${t}"`);return(e||r).cwd=t})}var vj=Y({"src/lib/tasks/change-working-directory.ts"(){"use strict";de(),gt()}});function Zw(t){let e=["checkout",...t];return e[1]==="-b"&&e.includes("-B")&&(e[1]=Mh(e,"-B")),mr(e)}function wj(){return{checkout(){return this._runTask(Zw(Cr(arguments,1)),ft(arguments))},checkoutBranch(t,e){return this._runTask(Zw(["-b",t,e,...Cr(arguments)]),ft(arguments))},checkoutLocalBranch(t){return this._runTask(Zw(["-b",t,...Cr(arguments)]),ft(arguments))}}}var yj=Y({"src/lib/tasks/checkout.ts"(){"use strict";de(),gt()}});function bj(){return{count:0,garbage:0,inPack:0,packs:0,prunePackable:0,size:0,sizeGarbage:0,sizePack:0}}function _j(){return{countObjects(){return this._runTask({commands:["count-objects","--verbose"],format:"utf-8",parser(t){return $r(bj(),[$$],t)}})}}}var $$,xj=Y({"src/lib/tasks/count-objects.ts"(){"use strict";de(),$$=new me(/([a-z-]+): (\d+)$/,(t,[e,r])=>{let i=jR(e);t.hasOwnProperty(i)&&(t[i]=Ve(r))})}});function Sj(t){return $r({author:null,branch:"",commit:"",root:!1,summary:{changes:0,insertions:0,deletions:0}},I$,t)}var I$,Ej=Y({"src/lib/parsers/parse-commit.ts"(){"use strict";de(),I$=[new me(/^\[([^\s]+)( \([^)]+\))? ([^\]]+)/,(t,[e,r,i])=>{t.branch=e,t.commit=i,t.root=!!r}),new me(/\s*Author:\s(.+)/i,(t,[e])=>{let r=e.split("<"),i=r.pop();!i||!i.includes("@")||(t.author={email:i.substr(0,i.length-1),name:r.join("<").trim()})}),new me(/(\d+)[^,]*(?:,\s*(\d+)[^,]*)(?:,\s*(\d+))/g,(t,[e,r,i])=>{t.summary.changes=parseInt(e,10)||0,t.summary.insertions=parseInt(r,10)||0,t.summary.deletions=parseInt(i,10)||0}),new me(/^(\d+)[^,]*(?:,\s*(\d+)[^(]+\(([+-]))?/,(t,[e,r,i])=>{t.summary.changes=parseInt(e,10)||0;let n=parseInt(r,10)||0;i==="-"?t.summary.deletions=n:i==="+"&&(t.summary.insertions=n)})]}});function kj(t,e,r){return{commands:["-c","core.abbrev=40","commit",...Tu(t,"-m"),...e,...r],format:"utf-8",parser:Sj}}function Aj(){return{commit(e,...r){let i=ft(arguments),n=t(e)||kj(mn(e),mn(gn(r[0],Ph,[])),[...gn(r[1],Fu,[]),...Cr(arguments,0,!0)]);return this._runTask(n,i)}};function t(e){return!Ph(e)&&Pr("git.commit: requires the commit message to be supplied as a string/string[]")}}var Tj=Y({"src/lib/tasks/commit.ts"(){"use strict";Ej(),de(),gt()}});function Cj(){return{firstCommit(){return this._runTask(mr(["rev-list","--max-parents=0","HEAD"],!0),ft(arguments))}}}var Pj=Y({"src/lib/tasks/first-commit.ts"(){"use strict";de(),gt()}});function Rj(t,e){let r=["hash-object",t];return e&&r.push("-w"),mr(r,!0)}var $j=Y({"src/lib/tasks/hash-object.ts"(){"use strict";gt()}});function Ij(t,e,r){let i=String(r).trim(),n;if(n=F$.exec(i))return new Ah(t,e,!1,n[1]);if(n=O$.exec(i))return new Ah(t,e,!0,n[1]);let s="",a=i.split(" ");for(;a.length;)if(a.shift()==="in"){s=a.join(" ");break}return new Ah(t,e,/^re/i.test(i),s)}var Ah,F$,O$,Fj=Y({"src/lib/responses/InitSummary.ts"(){"use strict";Ah=class{constructor(t,e,r,i){this.bare=t,this.path=e,this.existing=r,this.gitDir=i}},F$=/^Init.+ repository in (.+)$/,O$=/^Rein.+ in (.+)$/}});function Oj(t){return t.includes(A0)}function Mj(t=!1,e,r){let i=["init",...r];return t&&!Oj(i)&&i.splice(1,0,A0),{commands:i,format:"utf-8",parser(n){return Ij(i.includes("--bare"),e,n)}}}var A0,Dj=Y({"src/lib/tasks/init.ts"(){"use strict";Fj(),A0="--bare"}});function T0(t){for(let e=0;e$r(new M$,e,r,!1)}var Kw,cR,uR,fR,L$,B$=Y({"src/lib/parsers/parse-diff-summary.ts"(){"use strict";Ou(),Bj(),w$(),de(),Kw=[new me(/^(.+)\s+\|\s+(\d+)(\s+[+\-]+)?$/,(t,[e,r,i=""])=>{t.files.push({file:e.trim(),changes:Ve(r),insertions:i.replace(/[^+]/g,"").length,deletions:i.replace(/[^-]/g,"").length,binary:!1})}),new me(/^(.+) \|\s+Bin ([0-9.]+) -> ([0-9.]+) ([a-z]+)/,(t,[e,r,i])=>{t.files.push({file:e.trim(),before:Ve(r),after:Ve(i),binary:!0})}),new me(/(\d+) files? changed\s*((?:, \d+ [^,]+){0,2})/,(t,[e,r])=>{let i=/(\d+) i/.exec(r),n=/(\d+) d/.exec(r);t.changed=Ve(e),t.insertions=Ve(i==null?void 0:i[1]),t.deletions=Ve(n==null?void 0:n[1])})],cR=[new me(/(\d+)\t(\d+)\t(.+)$/,(t,[e,r,i])=>{let n=Ve(e),s=Ve(r);t.changed++,t.insertions+=n,t.deletions+=s,t.files.push({file:i,changes:n+s,insertions:n,deletions:s,binary:!1})}),new me(/-\t-\t(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,after:0,before:0,binary:!0})})],uR=[new me(/(.+)$/,(t,[e])=>{t.changed++,t.files.push({file:e,changes:0,insertions:0,deletions:0,binary:!1})})],fR=[new me(/([ACDMRTUXB])([0-9]{0,3})\t(.[^\t]*)(\t(.[^\t]*))?$/,(t,[e,r,i,n,s])=>{t.changed++,t.files.push({file:s!=null?s:i,changes:0,insertions:0,deletions:0,binary:!1,status:t0(rj(e)&&e),from:t0(!!s&&i!==s&&i),similarity:Ve(r)})})],L$={"":Kw,"--stat":Kw,"--numstat":cR,"--name-status":fR,"--name-only":uR}}});function Nj(t,e){return e.reduce((r,i,n)=>(r[i]=t[n]||"",r),Object.create({diff:null}))}function N$(t=$0,e=H$,r=""){let i=D$(r);return function(n){let s=$u(n.trim(),!1,P0).map(function(a){let o=a.split(R0),l=Nj(o[0].split(t),e);return o.length>1&&o[1].trim()&&(l.diff=i(o[1])),l});return{all:s,latest:s.length&&s[0]||null,total:s.length}}}var P0,R0,$0,H$,U$=Y({"src/lib/parsers/parse-list-log-summary.ts"(){"use strict";de(),B$(),Ou(),P0="\xF2\xF2\xF2\xF2\xF2\xF2 ",R0=" \xF2\xF2",$0=" \xF2 ",H$=["hash","date","message","refs","author_name","author_email"]}}),G$={};vt(G$,{diffSummaryTask:()=>Hj,validateLogFormatConfig:()=>Hh});function Hj(t){let e=T0(t),r=["diff"];return e===""&&(e="--stat",r.push("--stat=4096")),r.push(...t),Hh(r)||{commands:r,format:"utf-8",parser:D$(e)}}function Hh(t){let e=t.filter(Lj);if(e.length>1)return Pr(`Summary flags are mutually exclusive - pick one of ${e.join(",")}`);if(e.length&&t.includes("-z"))return Pr(`Summary flag ${e} parsing is not compatible with null termination option '-z'`)}var I0=Y({"src/lib/tasks/diff.ts"(){"use strict";Ou(),B$(),gt()}});function Uj(t,e){let r=[],i=[];return Object.keys(t).forEach(n=>{r.push(n),i.push(String(t[n]))}),[r,i.join(e)]}function Gj(t){return Object.keys(t).reduce((e,r)=>(r in c0||(e[r]=t[r]),e),{})}function j$(t={},e=[]){let r=gn(t.splitter,er,$0),i=Lh(t.format)?t.format:{hash:"%H",date:t.strictDate===!1?"%ai":"%aI",message:"%s",refs:"%D",body:t.multiLine?"%B":"%b",author_name:t.mailMap!==!1?"%aN":"%an",author_email:t.mailMap!==!1?"%aE":"%ae"},[n,s]=Uj(i,r),a=[],o=[`--pretty=format:${P0}${s}${R0}`,...e],l=t.n||t["max-count"]||t.maxCount;if(l&&o.push(`--max-count=${l}`),t.from||t.to){let c=t.symmetric!==!1?"...":"..";a.push(`${t.from||""}${c}${t.to||""}`)}return er(t.file)&&o.push("--follow",RG(t.file)),w0(Gj(t),o),{fields:n,splitter:r,commands:[...o,...a]}}function jj(t,e,r){let i=N$(t,e,T0(r));return{commands:["log",...r],format:"utf-8",parser:i}}function qj(){return{log(...r){let i=ft(arguments),n=j$(y0(arguments),gn(arguments[0],Fu)),s=e(...r)||Hh(n.commands)||t(n);return this._runTask(s,i)}};function t(r){return jj(r.splitter,r.fields,r.commands)}function e(r,i){return er(r)&&er(i)&&Pr("git.log(string, string) should be replaced with git.log({ from: string, to: string })")}}var c0,q$=Y({"src/lib/tasks/log.ts"(){"use strict";Ou(),Pu(),U$(),de(),gt(),I0(),c0=(t=>(t[t["--pretty"]=0]="--pretty",t[t["max-count"]=1]="max-count",t[t.maxCount=2]="maxCount",t[t.n=3]="n",t[t.file=4]="file",t[t.format=5]="format",t[t.from=6]="from",t[t.to=7]="to",t[t.splitter=8]="splitter",t[t.symmetric=9]="symmetric",t[t.mailMap=10]="mailMap",t[t.multiLine=11]="multiLine",t[t.strictDate=12]="strictDate",t))(c0||{})}}),Th,z$,zj=Y({"src/lib/responses/MergeSummary.ts"(){"use strict";Th=class{constructor(t,e=null,r){this.reason=t,this.file=e,this.meta=r}toString(){return`${this.file}:${this.reason}`}},z$=class{constructor(){this.conflicts=[],this.merges=[],this.result="success"}get failed(){return this.conflicts.length>0}get reason(){return this.result}toString(){return this.conflicts.length?`CONFLICTS: ${this.conflicts.join(", ")}`:"OK"}}}}),u0,V$,Vj=Y({"src/lib/responses/PullSummary.ts"(){"use strict";u0=class{constructor(){this.remoteMessages={all:[]},this.created=[],this.deleted=[],this.files=[],this.deletions={},this.insertions={},this.summary={changes:0,deletions:0,insertions:0}}},V$=class{constructor(){this.remote="",this.hash={local:"",remote:""},this.branch={local:"",remote:""},this.message=""}toString(){return this.message}}}});function Qw(t){return t.objects=t.objects||{compressing:0,counting:0,enumerating:0,packReused:0,reused:{count:0,delta:0},total:{count:0,delta:0}}}function dR(t){let e=/^\s*(\d+)/.exec(t),r=/delta (\d+)/i.exec(t);return{count:Ve(e&&e[1]||"0"),delta:Ve(r&&r[1]||"0")}}var W$,Wj=Y({"src/lib/parsers/parse-remote-objects.ts"(){"use strict";de(),W$=[new qs(/^remote:\s*(enumerating|counting|compressing) objects: (\d+),/i,(t,[e,r])=>{let i=e.toLowerCase(),n=Qw(t.remoteMessages);Object.assign(n,{[i]:Ve(r)})}),new qs(/^remote:\s*(enumerating|counting|compressing) objects: \d+% \(\d+\/(\d+)\),/i,(t,[e,r])=>{let i=e.toLowerCase(),n=Qw(t.remoteMessages);Object.assign(n,{[i]:Ve(r)})}),new qs(/total ([^,]+), reused ([^,]+), pack-reused (\d+)/i,(t,[e,r,i])=>{let n=Qw(t.remoteMessages);n.total=dR(e),n.reused=dR(r),n.packReused=Ve(i)})]}});function Y$(t,e){return $r({remoteMessages:new Z$},X$,e)}var X$,Z$,K$=Y({"src/lib/parsers/parse-remote-messages.ts"(){"use strict";de(),Wj(),X$=[new qs(/^remote:\s*(.+)$/,(t,[e])=>(t.remoteMessages.all.push(e.trim()),!1)),...W$,new qs([/create a (?:pull|merge) request/i,/\s(https?:\/\/\S+)$/],(t,[e])=>{t.remoteMessages.pullRequestUrl=e}),new qs([/found (\d+) vulnerabilities.+\(([^)]+)\)/i,/\s(https?:\/\/\S+)$/],(t,[e,r,i])=>{t.remoteMessages.vulnerabilities={count:Ve(e),summary:r,url:i}})],Z$=class{constructor(){this.all=[]}}}});function Yj(t,e){let r=$r(new V$,Q$,[t,e]);return r.message&&r}var hR,pR,mR,gR,Q$,vR,F0,J$=Y({"src/lib/parsers/parse-pull.ts"(){"use strict";Vj(),de(),K$(),hR=/^\s*(.+?)\s+\|\s+\d+\s*(\+*)(-*)/,pR=/(\d+)\D+((\d+)\D+\(\+\))?(\D+(\d+)\D+\(-\))?/,mR=/^(create|delete) mode \d+ (.+)/,gR=[new me(hR,(t,[e,r,i])=>{t.files.push(e),r&&(t.insertions[e]=r.length),i&&(t.deletions[e]=i.length)}),new me(pR,(t,[e,,r,,i])=>r!==void 0||i!==void 0?(t.summary.changes=+e||0,t.summary.insertions=+r||0,t.summary.deletions=+i||0,!0):!1),new me(mR,(t,[e,r])=>{Oe(t.files,r),Oe(e==="create"?t.created:t.deleted,r)})],Q$=[new me(/^from\s(.+)$/i,(t,[e])=>void(t.remote=e)),new me(/^fatal:\s(.+)$/,(t,[e])=>void(t.message=e)),new me(/([a-z0-9]+)\.\.([a-z0-9]+)\s+(\S+)\s+->\s+(\S+)$/,(t,[e,r,i,n])=>{t.branch.local=i,t.hash.local=e,t.branch.remote=n,t.hash.remote=r})],vR=(t,e)=>$r(new u0,gR,[t,e]),F0=(t,e)=>Object.assign(new u0,vR(t,e),Y$(t,e))}}),wR,eI,yR,Xj=Y({"src/lib/parsers/parse-merge.ts"(){"use strict";zj(),de(),J$(),wR=[new me(/^Auto-merging\s+(.+)$/,(t,[e])=>{t.merges.push(e)}),new me(/^CONFLICT\s+\((.+)\): Merge conflict in (.+)$/,(t,[e,r])=>{t.conflicts.push(new Th(e,r))}),new me(/^CONFLICT\s+\((.+\/delete)\): (.+) deleted in (.+) and/,(t,[e,r,i])=>{t.conflicts.push(new Th(e,r,{deleteRef:i}))}),new me(/^CONFLICT\s+\((.+)\):/,(t,[e])=>{t.conflicts.push(new Th(e,null))}),new me(/^Automatic merge failed;\s+(.+)$/,(t,[e])=>{t.result=e})],eI=(t,e)=>Object.assign(yR(t,e),F0(t,e)),yR=t=>$r(new z$,wR,t)}});function bR(t){return t.length?{commands:["merge",...t],format:"utf-8",parser(e,r){let i=eI(e,r);if(i.failed)throw new Ru(i);return i}}:Pr("Git.merge requires at least one option")}var Zj=Y({"src/lib/tasks/merge.ts"(){"use strict";El(),Xj(),gt()}});function Kj(t,e,r){let i=r.includes("deleted"),n=r.includes("tag")||/^refs\/tags/.test(t),s=!r.includes("new");return{deleted:i,tag:n,branch:!n,new:!s,alreadyUpdated:s,local:t,remote:e}}var _R,tI,xR,Qj=Y({"src/lib/parsers/parse-push.ts"(){"use strict";de(),K$(),_R=[new me(/^Pushing to (.+)$/,(t,[e])=>{t.repo=e}),new me(/^updating local tracking ref '(.+)'/,(t,[e])=>{t.ref={...t.ref||{},local:e}}),new me(/^[=*-]\s+([^:]+):(\S+)\s+\[(.+)]$/,(t,[e,r,i])=>{t.pushed.push(Kj(e,r,i))}),new me(/^Branch '([^']+)' set up to track remote branch '([^']+)' from '([^']+)'/,(t,[e,r,i])=>{t.branch={...t.branch||{},local:e,remote:r,remoteName:i}}),new me(/^([^:]+):(\S+)\s+([a-z0-9]+)\.\.([a-z0-9]+)$/,(t,[e,r,i,n])=>{t.update={head:{local:e,remote:r},hash:{from:i,to:n}}})],tI=(t,e)=>{let r=xR(t,e),i=Y$(t,e);return{...r,...i}},xR=(t,e)=>$r({pushed:[]},_R,[t,e])}}),rI={};vt(rI,{pushTagsTask:()=>Jj,pushTask:()=>O0});function Jj(t={},e){return Oe(e,"--tags"),O0(t,e)}function O0(t={},e){let r=["push",...e];return t.branch&&r.splice(1,0,t.branch),t.remote&&r.splice(1,0,t.remote),Mh(r,"-v"),Oe(r,"--verbose"),Oe(r,"--porcelain"),{commands:r,format:"utf-8",parser:tI}}var iI=Y({"src/lib/tasks/push.ts"(){"use strict";Qj(),de()}});function eq(){return{showBuffer(){let t=["show",...Cr(arguments,1)];return t.includes("--binary")||t.splice(1,0,"--binary"),this._runTask(l$(t),ft(arguments))},show(){let t=["show",...Cr(arguments,1)];return this._runTask(mr(t),ft(arguments))}}}var tq=Y({"src/lib/tasks/show.ts"(){"use strict";de(),gt()}}),SR,nI,rq=Y({"src/lib/responses/FileStatusSummary.ts"(){"use strict";SR=/^(.+)\0(.+)$/,nI=class{constructor(t,e,r){if(this.path=t,this.index=e,this.working_dir=r,e==="R"||r==="R"){let i=SR.exec(t)||[null,t,t];this.from=i[2]||"",this.path=i[1]||""}}}}});function ER(t){let[e,r]=t.split(Sl);return{from:r||e,to:e}}function Jr(t,e,r){return[`${t}${e}`,r]}function Jw(t,...e){return e.map(r=>Jr(t,r,(i,n)=>Oe(i.conflicted,n)))}function iq(t,e){let r=e.trim();switch(" "){case r.charAt(2):return i(r.charAt(0),r.charAt(1),r.substr(3));case r.charAt(1):return i(" ",r.charAt(0),r.substr(2));default:return}function i(n,s,a){let o=`${n}${s}`,l=sI.get(o);l&&l(t,a),o!=="##"&&o!=="!!"&&t.files.push(new nI(a,n,s))}}var kR,sI,aI,nq=Y({"src/lib/responses/StatusSummary.ts"(){"use strict";de(),rq(),kR=class{constructor(){this.not_added=[],this.conflicted=[],this.created=[],this.deleted=[],this.ignored=void 0,this.modified=[],this.renamed=[],this.files=[],this.staged=[],this.ahead=0,this.behind=0,this.current=null,this.tracking=null,this.detached=!1,this.isClean=()=>!this.files.length}},sI=new Map([Jr(" ","A",(t,e)=>Oe(t.created,e)),Jr(" ","D",(t,e)=>Oe(t.deleted,e)),Jr(" ","M",(t,e)=>Oe(t.modified,e)),Jr("A"," ",(t,e)=>Oe(t.created,e)&&Oe(t.staged,e)),Jr("A","M",(t,e)=>Oe(t.created,e)&&Oe(t.staged,e)&&Oe(t.modified,e)),Jr("D"," ",(t,e)=>Oe(t.deleted,e)&&Oe(t.staged,e)),Jr("M"," ",(t,e)=>Oe(t.modified,e)&&Oe(t.staged,e)),Jr("M","M",(t,e)=>Oe(t.modified,e)&&Oe(t.staged,e)),Jr("R"," ",(t,e)=>{Oe(t.renamed,ER(e))}),Jr("R","M",(t,e)=>{let r=ER(e);Oe(t.renamed,r),Oe(t.modified,r.to)}),Jr("!","!",(t,e)=>{Oe(t.ignored=t.ignored||[],e)}),Jr("?","?",(t,e)=>Oe(t.not_added,e)),...Jw("A","A","U"),...Jw("D","D","U"),...Jw("U","A","D","U"),["##",(t,e)=>{let r=/ahead (\d+)/,i=/behind (\d+)/,n=/^(.+?(?=(?:\.{3}|\s|$)))/,s=/\.{3}(\S*)/,a=/\son\s([\S]+)$/,o;o=r.exec(e),t.ahead=o&&+o[1]||0,o=i.exec(e),t.behind=o&&+o[1]||0,o=n.exec(e),t.current=o&&o[1],o=s.exec(e),t.tracking=o&&o[1],o=a.exec(e),t.current=o&&o[1]||t.current,t.detached=/\(no branch\)/.test(e)}]]),aI=function(t){let e=t.split(Sl),r=new kR;for(let i=0,n=e.length;i!oI.includes(r))],parser(r){return aI(r)}}}var oI,aq=Y({"src/lib/tasks/status.ts"(){"use strict";nq(),oI=["--null","-z"]}});function Ih(t=0,e=0,r=0,i="",n=!0){return Object.defineProperty({major:t,minor:e,patch:r,agent:i,installed:n},"toString",{value(){return`${this.major}.${this.minor}.${this.patch}`},configurable:!1,enumerable:!1})}function oq(){return Ih(0,0,0,"",!1)}function lq(){return{version(){return this._runTask({commands:["--version"],format:"utf-8",parser:cq,onError(t,e,r,i){if(t.exitCode===-2)return r(Buffer.from(M0));i(e)}})}}}function cq(t){return t===M0?oq():$r(Ih(0,0,0,t),lI,t)}var M0,lI,uq=Y({"src/lib/tasks/version.ts"(){"use strict";de(),M0="installed=false",lI=[new me(/version (\d+)\.(\d+)\.(\d+)(?:\s*\((.+)\))?/,(t,[e,r,i,n=""])=>{Object.assign(t,Ih(Ve(e),Ve(r),Ve(i),n))}),new me(/version (\d+)\.(\d+)\.(\D+)(.+)?$/,(t,[e,r,i,n=""])=>{Object.assign(t,Ih(Ve(e),Ve(r),i,n))})]}}),cI={};vt(cI,{SimpleGitApi:()=>f0});var f0,fq=Y({"src/lib/simple-git-api.ts"(){"use strict";gj(),vj(),yj(),xj(),Tj(),g$(),Pj(),_$(),$j(),Dj(),q$(),Zj(),iI(),tq(),aq(),gt(),uq(),de(),f0=class{constructor(t){this._executor=t}_runTask(t,e){let r=this._executor.chain(),i=r.push(t);return e&&pj(t,i,e),Object.create(this,{then:{value:i.then.bind(i)},catch:{value:i.catch.bind(i)},_executor:{value:r}})}add(t){return this._runTask(mr(["add",...mn(t)]),ft(arguments))}cwd(t){let e=ft(arguments);return typeof t=="string"?this._runTask(lR(t,this._executor),e):typeof(t==null?void 0:t.path)=="string"?this._runTask(lR(t.path,t.root&&this._executor||void 0),e):this._runTask(Pr("Git.cwd: workingDirectory must be supplied as a string"),e)}hashObject(t,e){return this._runTask(Rj(t,e===!0),ft(arguments))}init(t){return this._runTask(Mj(t===!0,this._executor.cwd,Cr(arguments)),ft(arguments))}merge(){return this._runTask(bR(Cr(arguments)),ft(arguments))}mergeFromTo(t,e){return er(t)&&er(e)?this._runTask(bR([t,e,...Cr(arguments)]),ft(arguments,!1)):this._runTask(Pr("Git.mergeFromTo requires that the 'remote' and 'branch' arguments are supplied as strings"))}outputHandler(t){return this._executor.outputHandler=t,this}push(){let t=O0({remote:gn(arguments[0],er),branch:gn(arguments[1],er)},Cr(arguments));return this._runTask(t,ft(arguments))}stash(){return this._runTask(mr(["stash",...Cr(arguments)]),ft(arguments))}status(){return this._runTask(sq(Cr(arguments)),ft(arguments))}},Object.assign(f0.prototype,wj(),Aj(),tj(),_j(),Cj(),sj(),qj(),eq(),lq())}}),uI={};vt(uI,{Scheduler:()=>dI});var AR,dI,dq=Y({"src/lib/runners/scheduler.ts"(){"use strict";de(),A$(),AR=(()=>{let t=0;return()=>{t++;let{promise:e,done:r}=(0,fI.createDeferred)();return{promise:e,done:r,id:t}}})(),dI=class{constructor(t=2){this.concurrency=t,this.logger=k0("","scheduler"),this.pending=[],this.running=[],this.logger("Constructed, concurrency=%s",t)}schedule(){if(!this.pending.length||this.running.length>=this.concurrency){this.logger("Schedule attempt ignored, pending=%s running=%s concurrency=%s",this.pending.length,this.running.length,this.concurrency);return}let t=Oe(this.running,this.pending.shift());this.logger("Attempting id=%s",t.id),t.done(()=>{this.logger("Completing id=",t.id),Mh(this.running,t),this.schedule()})}next(){let{promise:t,id:e}=Oe(this.pending,AR());return this.logger("Scheduling id=%s",e),this.schedule(),t}}}}),hI={};vt(hI,{applyPatchTask:()=>hq});function hq(t,e){return mr(["apply",...e,...t])}var pq=Y({"src/lib/tasks/apply-patch.ts"(){"use strict";gt()}});function mq(t,e){return{branch:t,hash:e,success:!0}}function gq(t){return{branch:t,hash:null,success:!1}}var pI,vq=Y({"src/lib/responses/BranchDeleteSummary.ts"(){"use strict";pI=class{constructor(){this.all=[],this.branches={},this.errors=[]}get success(){return!this.errors.length}}}});function mI(t,e){return e===1&&d0.test(t)}var TR,d0,CR,Uh,wq=Y({"src/lib/parsers/parse-branch-delete.ts"(){"use strict";vq(),de(),TR=/(\S+)\s+\(\S+\s([^)]+)\)/,d0=/^error[^']+'([^']+)'/m,CR=[new me(TR,(t,[e,r])=>{let i=mq(e,r);t.all.push(i),t.branches[e]=i}),new me(d0,(t,[e])=>{let r=gq(e);t.errors.push(r),t.all.push(r),t.branches[e]=r})],Uh=(t,e)=>$r(new pI,CR,[t,e])}}),gI,yq=Y({"src/lib/responses/BranchSummary.ts"(){"use strict";gI=class{constructor(){this.all=[],this.branches={},this.current="",this.detached=!1}push(t,e,r,i,n){t==="*"&&(this.detached=e,this.current=r),this.all.push(r),this.branches[r]={current:t==="*",linkedWorkTree:t==="+",name:r,commit:i,label:n}}}}});function PR(t){return t?t.charAt(0):""}function vI(t){return $r(new gI,wI,t)}var wI,bq=Y({"src/lib/parsers/parse-branch.ts"(){"use strict";yq(),de(),wI=[new me(/^([*+]\s)?\((?:HEAD )?detached (?:from|at) (\S+)\)\s+([a-z0-9]+)\s(.*)$/,(t,[e,r,i,n])=>{t.push(PR(e),!0,r,i,n)}),new me(/^([*+]\s)?(\S+)\s+([a-z0-9]+)\s?(.*)$/s,(t,[e,r,i,n])=>{t.push(PR(e),!1,r,i,n)})]}}),yI={};vt(yI,{branchLocalTask:()=>xq,branchTask:()=>_q,containsDeleteBranchCommand:()=>bI,deleteBranchTask:()=>Eq,deleteBranchesTask:()=>Sq});function bI(t){let e=["-d","-D","--delete"];return t.some(r=>e.includes(r))}function _q(t){let e=bI(t),r=["branch",...t];return r.length===1&&r.push("-a"),r.includes("-v")||r.splice(1,0,"-v"),{format:"utf-8",commands:r,parser(i,n){return e?Uh(i,n).all[0]:vI(i)}}}function xq(){return{format:"utf-8",commands:["branch","-v"],parser:vI}}function Sq(t,e=!1){return{format:"utf-8",commands:["branch","-v",e?"-D":"-d",...t],parser(r,i){return Uh(r,i)},onError({exitCode:r,stdOut:i},n,s,a){if(!mI(String(n),r))return a(n);s(i)}}}function Eq(t,e=!1){let r={format:"utf-8",commands:["branch","-v",e?"-D":"-d",t],parser(i,n){return Uh(i,n).branches[t]},onError({exitCode:i,stdErr:n,stdOut:s},a,o,l){if(!mI(String(a),i))return l(a);throw new Ru(r.parser(Cu(s),Cu(n)),String(a))}};return r}var kq=Y({"src/lib/tasks/branch.ts"(){"use strict";El(),wq(),bq(),de()}}),_I,Aq=Y({"src/lib/responses/CheckIgnore.ts"(){"use strict";_I=t=>t.split(/\n/g).map(e=>e.trim()).filter(e=>!!e)}}),xI={};vt(xI,{checkIgnoreTask:()=>Tq});function Tq(t){return{commands:["check-ignore",...t],format:"utf-8",parser:_I}}var Cq=Y({"src/lib/tasks/check-ignore.ts"(){"use strict";Aq()}}),SI={};vt(SI,{cloneMirrorTask:()=>Rq,cloneTask:()=>EI});function Pq(t){return/^--upload-pack(=|$)/.test(t)}function EI(t,e,r){let i=["clone",...r];return er(t)&&i.push(t),er(e)&&i.push(e),i.find(Pq)?Pr("git.fetch: potential exploit argument blocked."):mr(i)}function Rq(t,e,r){return Oe(r,"--mirror"),EI(t,e,r)}var $q=Y({"src/lib/tasks/clone.ts"(){"use strict";gt(),de()}});function Iq(t,e){return $r({raw:t,remote:null,branches:[],tags:[],updated:[],deleted:[]},kI,[t,e])}var kI,Fq=Y({"src/lib/parsers/parse-fetch.ts"(){"use strict";de(),kI=[new me(/From (.+)$/,(t,[e])=>{t.remote=e}),new me(/\* \[new branch]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.branches.push({name:e,tracking:r})}),new me(/\* \[new tag]\s+(\S+)\s*-> (.+)$/,(t,[e,r])=>{t.tags.push({name:e,tracking:r})}),new me(/- \[deleted]\s+\S+\s*-> (.+)$/,(t,[e])=>{t.deleted.push({tracking:e})}),new me(/\s*([^.]+)\.\.(\S+)\s+(\S+)\s*-> (.+)$/,(t,[e,r,i,n])=>{t.updated.push({name:i,tracking:n,to:r,from:e})})]}}),AI={};vt(AI,{fetchTask:()=>Mq});function Oq(t){return/^--upload-pack(=|$)/.test(t)}function Mq(t,e,r){let i=["fetch",...r];return t&&e&&i.push(t,e),i.find(Oq)?Pr("git.fetch: potential exploit argument blocked."):{commands:i,format:"utf-8",parser:Iq}}var Dq=Y({"src/lib/tasks/fetch.ts"(){"use strict";Fq(),gt()}});function Lq(t){return $r({moves:[]},TI,t)}var TI,Bq=Y({"src/lib/parsers/parse-move.ts"(){"use strict";de(),TI=[new me(/^Renaming (.+) to (.+)$/,(t,[e,r])=>{t.moves.push({from:e,to:r})})]}}),CI={};vt(CI,{moveTask:()=>Nq});function Nq(t,e){return{commands:["mv","-v",...mn(t),e],format:"utf-8",parser:Lq}}var Hq=Y({"src/lib/tasks/move.ts"(){"use strict";Bq(),de()}}),PI={};vt(PI,{pullTask:()=>Uq});function Uq(t,e,r){let i=["pull",...r];return t&&e&&i.splice(1,0,t,e),{commands:i,format:"utf-8",parser(n,s){return F0(n,s)},onError(n,s,a,o){let l=Yj(Cu(n.stdOut),Cu(n.stdErr));if(l)return o(new Ru(l));o(s)}}}var Gq=Y({"src/lib/tasks/pull.ts"(){"use strict";El(),J$(),de()}});function jq(t){let e={};return RI(t,([r])=>e[r]={name:r}),Object.values(e)}function qq(t){let e={};return RI(t,([r,i,n])=>{e.hasOwnProperty(r)||(e[r]={name:r,refs:{fetch:"",push:""}}),n&&i&&(e[r].refs[n.replace(/[^a-z]/g,"")]=i)}),Object.values(e)}function RI(t,e){m0(t,r=>e(r.split(/\s+/)))}var zq=Y({"src/lib/responses/GetRemoteSummary.ts"(){"use strict";de()}}),$I={};vt($I,{addRemoteTask:()=>Vq,getRemotesTask:()=>Wq,listRemotesTask:()=>Yq,remoteTask:()=>Xq,removeRemoteTask:()=>Zq});function Vq(t,e,r){return mr(["remote","add",...r,t,e])}function Wq(t){let e=["remote"];return t&&e.push("-v"),{commands:e,format:"utf-8",parser:t?qq:jq}}function Yq(t){let e=[...t];return e[0]!=="ls-remote"&&e.unshift("ls-remote"),mr(e)}function Xq(t){let e=[...t];return e[0]!=="remote"&&e.unshift("remote"),mr(e)}function Zq(t){return mr(["remote","remove",t])}var Kq=Y({"src/lib/tasks/remote.ts"(){"use strict";zq(),gt()}}),II={};vt(II,{stashListTask:()=>Qq});function Qq(t={},e){let r=j$(t),i=["stash","list",...r.commands,...e],n=N$(r.splitter,r.fields,T0(i));return Hh(i)||{commands:i,format:"utf-8",parser:n}}var Jq=Y({"src/lib/tasks/stash-list.ts"(){"use strict";Ou(),U$(),I0(),q$()}}),FI={};vt(FI,{addSubModuleTask:()=>ez,initSubModuleTask:()=>tz,subModuleTask:()=>Gh,updateSubModuleTask:()=>rz});function ez(t,e){return Gh(["add",t,e])}function tz(t){return Gh(["init",...t])}function Gh(t){let e=[...t];return e[0]!=="submodule"&&e.unshift("submodule"),mr(e)}function rz(t){return Gh(["update",...t])}var iz=Y({"src/lib/tasks/sub-module.ts"(){"use strict";gt()}});function nz(t,e){let r=isNaN(t),i=isNaN(e);return r!==i?r?1:-1:r?OI(t,e):0}function OI(t,e){return t===e?0:t>e?1:-1}function sz(t){return t.trim()}function Eh(t){return typeof t=="string"&&parseInt(t.replace(/^\D+/g,""),10)||0}var RR,MI,az=Y({"src/lib/responses/TagList.ts"(){"use strict";RR=class{constructor(t,e){this.all=t,this.latest=e}},MI=function(t,e=!1){let r=t.split(` +`).map(sz).filter(Boolean);e||r.sort(function(n,s){let a=n.split("."),o=s.split(".");if(a.length===1||o.length===1)return nz(Eh(a[0]),Eh(o[0]));for(let l=0,c=Math.max(a.length,o.length);ln.indexOf(".")>=0);return new RR(r,i)}}}),DI={};vt(DI,{addAnnotatedTagTask:()=>cz,addTagTask:()=>lz,tagListTask:()=>oz});function oz(t=[]){let e=t.some(r=>/^--sort=/.test(r));return{format:"utf-8",commands:["tag","-l",...t],parser(r){return MI(r,e)}}}function lz(t){return{format:"utf-8",commands:["tag",t],parser(){return{name:t}}}}function cz(t,e){return{format:"utf-8",commands:["tag","-a","-m",e,t],parser(){return{name:t}}}}var uz=Y({"src/lib/tasks/tag.ts"(){"use strict";az()}}),fz=CG({"src/git.js"(t,e){"use strict";var{GitExecutor:r}=(hj(),ut(P$)),{SimpleGitApi:i}=(fq(),ut(cI)),{Scheduler:n}=(dq(),ut(uI)),{configurationErrorTask:s}=(gt(),ut(a0)),{asArray:a,filterArray:o,filterPrimitives:l,filterString:c,filterStringOrStringArray:u,filterType:f,getTrailingOptions:d,trailingFunctionArgument:h,trailingOptionsArgument:m}=(de(),ut(QR)),{applyPatchTask:g}=(pq(),ut(hI)),{branchTask:v,branchLocalTask:w,deleteBranchesTask:b,deleteBranchTask:k}=(kq(),ut(yI)),{checkIgnoreTask:x}=(Cq(),ut(xI)),{checkIsRepoTask:E}=(r$(),ut(JR)),{cloneTask:A,cloneMirrorTask:y}=($q(),ut(SI)),{cleanWithOptionsTask:S,isCleanOptionsArray:_}=(h$(),ut(f$)),{diffSummaryTask:T}=(I0(),ut(G$)),{fetchTask:P}=(Dq(),ut(AI)),{moveTask:D}=(Hq(),ut(CI)),{pullTask:B}=(Gq(),ut(PI)),{pushTagsTask:N}=(iI(),ut(rI)),{addRemoteTask:ce,getRemotesTask:Pe,listRemotesTask:ve,remoteTask:se,removeRemoteTask:xe}=(Kq(),ut($I)),{getResetMode:we,resetTask:z}=(k$(),ut(x$)),{stashListTask:Q}=(Jq(),ut(II)),{addSubModuleTask:j,initSubModuleTask:Le,subModuleTask:lr,updateSubModuleTask:Ft}=(iz(),ut(FI)),{addAnnotatedTagTask:Ie,addTagTask:At,tagListTask:Tt}=(uz(),ut(DI)),{straightThroughBufferTask:jt,straightThroughStringTask:Ze}=(gt(),ut(a0));function q(L,V){this._plugins=V,this._executor=new r(L.baseDir,new n(L.maxConcurrentProcesses),V),this._trimmed=L.trimmed}(q.prototype=Object.create(i.prototype)).constructor=q,q.prototype.customBinary=function(L){return this._plugins.reconfigure("binary",L),this},q.prototype.env=function(L,V){return arguments.length===1&&typeof L=="object"?this._executor.env=L:(this._executor.env=this._executor.env||{})[L]=V,this},q.prototype.stashList=function(L){return this._runTask(Q(m(arguments)||{},o(L)&&L||[]),h(arguments))};function Z(L,V,Te,qe){return typeof Te!="string"?s(`git.${L}() requires a string 'repoPath'`):V(Te,f(qe,c),d(arguments))}q.prototype.clone=function(){return this._runTask(Z("clone",A,...arguments),h(arguments))},q.prototype.mirror=function(){return this._runTask(Z("mirror",y,...arguments),h(arguments))},q.prototype.mv=function(L,V){return this._runTask(D(L,V),h(arguments))},q.prototype.checkoutLatestTag=function(L){var V=this;return this.pull(function(){V.tags(function(Te,qe){V.checkout(qe.latest,L)})})},q.prototype.pull=function(L,V,Te,qe){return this._runTask(B(f(L,c),f(V,c),d(arguments)),h(arguments))},q.prototype.fetch=function(L,V){return this._runTask(P(f(L,c),f(V,c),d(arguments)),h(arguments))},q.prototype.silent=function(L){return console.warn("simple-git deprecation notice: git.silent: logging should be configured using the `debug` library / `DEBUG` environment variable, this will be an error in version 3"),this},q.prototype.tags=function(L,V){return this._runTask(Tt(d(arguments)),h(arguments))},q.prototype.rebase=function(){return this._runTask(Ze(["rebase",...d(arguments)]),h(arguments))},q.prototype.reset=function(L){return this._runTask(z(we(L),d(arguments)),h(arguments))},q.prototype.revert=function(L){let V=h(arguments);return typeof L!="string"?this._runTask(s("Commit must be a string"),V):this._runTask(Ze(["revert",...d(arguments,0,!0),L]),V)},q.prototype.addTag=function(L){let V=typeof L=="string"?At(L):s("Git.addTag requires a tag name");return this._runTask(V,h(arguments))},q.prototype.addAnnotatedTag=function(L,V){return this._runTask(Ie(L,V),h(arguments))},q.prototype.deleteLocalBranch=function(L,V,Te){return this._runTask(k(L,typeof V=="boolean"?V:!1),h(arguments))},q.prototype.deleteLocalBranches=function(L,V,Te){return this._runTask(b(L,typeof V=="boolean"?V:!1),h(arguments))},q.prototype.branch=function(L,V){return this._runTask(v(d(arguments)),h(arguments))},q.prototype.branchLocal=function(L){return this._runTask(w(),h(arguments))},q.prototype.raw=function(L){let V=!Array.isArray(L),Te=[].slice.call(V?arguments:L,0);for(let Ot=0;Ott.removeEventListener("abort",s))}}]:void 0}function pz(t){return typeof t=="string"&&t.trim().toLowerCase()==="-c"}function mz(t,e){if(pz(t)&&/^\s*protocol(.[a-z]+)?.allow/.test(e))throw new Kn(void 0,"unsafe","Configuring protocol.allow is not permitted without enabling allowUnsafeExtProtocol")}function gz(t,e){if(/^\s*--(upload|receive)-pack/.test(t))throw new Kn(void 0,"unsafe","Use of --upload-pack or --receive-pack is not permitted without enabling allowUnsafePack");if(e==="clone"&&/^\s*-u\b/.test(t))throw new Kn(void 0,"unsafe","Use of clone with option -u is not permitted without enabling allowUnsafePack");if(e==="push"&&/^\s*--exec\b/.test(t))throw new Kn(void 0,"unsafe","Use of push with option --exec is not permitted without enabling allowUnsafePack")}function vz({allowUnsafeProtocolOverride:t=!1,allowUnsafePack:e=!1}={}){return{type:"spawn.args",action(r,i){return r.forEach((n,s)=>{let a=se0(n))).then(a.done)}return{type:"spawn.after",async action(n,{spawned:s,close:a}){var u,f;let o=r(),l=!0,c=()=>void(l=!1);(u=s.stdout)==null||u.on("data",c),(f=s.stderr)==null||f.on("data",c),s.on("error",c),s.on("close",d=>o.close(d)),s.on("exit",d=>o.exit(d));try{await o.result,l&&await e0(50),a(o.exitCode)}catch(d){a(o.exitCode,d)}}}}de();var bz="Invalid value supplied for custom binary, requires a single string or an array containing either one or two strings",IR="Invalid value supplied for custom binary, restricted characters must be removed or supply the unsafe.allowUnsafeCustomBinary option";function _z(t){return!t||!/^([a-z]:)?([a-z0-9/.\\_-]+)$/i.test(t)}function FR(t,e){if(t.length<1||t.length>2)throw new Kn(void 0,"binary",bz);if(t.some(_z))if(e)console.warn(IR);else throw new Kn(void 0,"binary",IR);let[i,n]=t;return{binary:i,prefix:n}}function xz(t,e=["git"],r=!1){let i=FR(mn(e),r);t.on("binary",n=>{i=FR(mn(n),r)}),t.append("spawn.binary",()=>i.binary),t.append("spawn.args",n=>i.prefix?[i.prefix,...n]:n)}zs();function Sz(t){return!!(t.exitCode&&t.stdErr.length)}function Ez(t){return Buffer.concat([...t.stdOut,...t.stdErr])}function kz(t=!1,e=Sz,r=Ez){return(i,n)=>!t&&i||!e(n)?i:r(n)}function OR(t){return{type:"task.error",action(e,r){let i=t(e.error,{stdErr:r.stdErr,stdOut:r.stdOut,exitCode:r.exitCode});return Buffer.isBuffer(i)?{error:new Rr(void 0,i.toString("utf-8"))}:{error:i}}}}de();var Az=class{constructor(){this.plugins=new Set,this.events=new LI.EventEmitter}on(t,e){this.events.on(t,e)}reconfigure(t,e){this.events.emit(t,e)}append(t,e){let r=Oe(this.plugins,{type:t,action:e});return()=>this.plugins.delete(r)}add(t){let e=[];return mn(t).forEach(r=>r&&this.plugins.add(Oe(e,r))),()=>{e.forEach(r=>this.plugins.delete(r))}}exec(t,e,r){let i=e,n=Object.freeze(Object.create(r));for(let s of this.plugins)s.type===t&&(i=s.action(i,n));return i}};de();function Tz(t){let e="--progress",r=["checkout","clone","fetch","pull","push"];return[{type:"spawn.args",action(s,a){return r.includes(a.method)?GR(s,e):s}},{type:"spawn.after",action(s,a){var o;a.commands.includes(e)&&((o=a.spawned.stderr)==null||o.on("data",l=>{let c=/^([\s\S]+?):\s*(\d+)% \((\d+)\/(\d+)\)/.exec(l.toString("utf8"));c&&t({method:a.method,stage:Cz(c[1]),progress:Ve(c[2]),processed:Ve(c[3]),total:Ve(c[4])})}))}}]}function Cz(t){return String(t.toLowerCase().split(" ",1))||"unknown"}de();function Pz(t){let e=zR(t,["uid","gid"]);return{type:"spawn.options",action(r){return{...e,...r}}}}function Rz({block:t,stdErr:e=!0,stdOut:r=!0}){if(t>0)return{type:"spawn.after",action(i,n){var c,u;let s;function a(){s&&clearTimeout(s),s=setTimeout(l,t)}function o(){var f,d;(f=n.spawned.stdout)==null||f.off("data",a),(d=n.spawned.stderr)==null||d.off("data",a),n.spawned.off("exit",o),n.spawned.off("close",o),s&&clearTimeout(s)}function l(){o(),n.kill(new Kn(void 0,"timeout","block timeout reached"))}r&&((c=n.spawned.stdout)==null||c.on("data",a)),e&&((u=n.spawned.stderr)==null||u.on("data",a)),n.spawned.on("exit",o),n.spawned.on("close",o),a()}}}Pu();function $z(){return{type:"spawn.args",action(t){let e=[],r;function i(n){(r=r||[]).push(...n)}for(let n=0;nCh(a)&&nR(a)||a));break}e.push(s)}return r?[...e,"--",...r.map(String)]:e}}}de();var Iz=fz();function Fz(t,e){var n;let r=new Az,i=ZR(t&&(typeof t=="string"?{baseDir:t}:t)||{},e);if(!g0(i.baseDir))throw new dz(i,"Cannot use simple-git on a directory that does not exist");return Array.isArray(i.config)&&r.add(wz(i.config)),r.add(vz(i.unsafe)),r.add($z()),r.add(yz(i.completion)),i.abort&&r.add(hz(i.abort)),i.progress&&r.add(Tz(i.progress)),i.timeout&&r.add(Rz(i.timeout)),i.spawnOptions&&r.add(Pz(i.spawnOptions)),r.add(OR(kz(!0))),i.errors&&r.add(OR(i.errors)),xz(r,i.binary,(n=i.unsafe)==null?void 0:n.allowUnsafeCustomBinary),new Iz(i,r)}El();var BI=Fz;var Se=class extends vl{constructor(r){super(r);this.useDefaultWindowsGitPath=!1}async setGitInstance(r=!1){var i;if(await this.isGitInstalled()){let n=this.app.vault.adapter,s=n.getBasePath(),a=s;this.plugin.settings.basePath&&(await n.exists((0,Qn.normalizePath)(this.plugin.settings.basePath))?a=Ge.join(s,this.plugin.settings.basePath):r||new Qn.Notice("ObsidianGit: Base path does not exist")),this.absoluteRepoPath=a,this.git=BI({baseDir:a,binary:this.plugin.localStorage.getGitPath()||(this.useDefaultWindowsGitPath?Nd:void 0),config:["core.quotepath=off"],unsafe:{allowUnsafeCustomBinary:!0}});let o=this.plugin.localStorage.getPATHPaths(),l=this.plugin.localStorage.getEnvVars(),c=this.plugin.settings.gitDir;if(o.length>0){let v=o.join(":")+":"+process.env.PATH;process.env.PATH=v}c&&(process.env.GIT_DIR=c);for(let v of l){let[w,b]=v.split("=");process.env[w]=b}let u="simple-git",f=",",h=((i=localStorage.debug)!=null?i:"").split(f);if(!h.includes(u)&&!h.includes(`-${u}`)&&(h.push(u),UI.default.enable(h.join(f))),await this.git.checkIsRepo()){let v=await this.git.revparse("--show-cdup"),w=(0,Mu.resolve)(a+Mu.sep+v);this.absoluteRepoPath=w,await this.git.cwd(w)}let m=Ge.join(s,this.app.vault.configDir,"plugins","obsidian-git"),g=Ge.join(m,Ta);process.env.SSH_ASKPASS==null&&(process.env.SSH_ASKPASS=g),process.env.SSH_ASKPASS_REQUIRE="force",process.env.OBSIDIAN_GIT_CREDENTIALS_INPUT=Ge.join(m,Hd),process.env.SSH_ASKPASS==g&&this.askpass().catch(v=>this.plugin.displayError(v))}}getRelativeVaultPath(r){let n=this.app.vault.adapter.getBasePath(),s=Ge.join(this.absoluteRepoPath,r),a=Ge.relative(n,s);return Qn.Platform.isWin&&(a=a.replace(/\\/g,"/")),a}getRelativeRepoPath(r,i=!0){if(i){let s=this.plugin.app.vault.adapter.getBasePath(),a=this.absoluteRepoPath,o=Ge.join(s,r),l=Ge.relative(a,o);return Qn.Platform.isWin&&(l=l.replace(/\\/g,"/")),l}return r}get absPluginConfigPath(){let i=this.app.vault.adapter.getBasePath();return Ge.join(i,this.app.vault.configDir,"plugins","obsidian-git")}get relPluginConfigPath(){return Ge.join(this.app.vault.configDir,"plugins","obsidian-git")}async askpass(){let r=this.app.vault.adapter,i=this.app.vault.configDir+"/plugins/obsidian-git/";await this.addAskPassScriptToExclude(),await ei.writeFile(Ge.join(this.absPluginConfigPath,Ta),GA),await ei.chmod(Ge.join(this.absPluginConfigPath,Ta),493),this.watchAbortController=new AbortController;let{signal:n}=this.watchAbortController;try{let s=ei.watch(this.absPluginConfigPath,{signal:n});for await(let a of s){if(a.filename!=Hd)continue;let o=i+Hd;if(await new Promise(f=>setTimeout(f,200)),!await r.exists(o))continue;let l=await r.read(o),c;l.length>60&&(c=new Qn.Notice(l,999999));let u=await new Qe(this.plugin,{allowEmpty:!0,obscure:!0,placeholder:l.length>60?"Enter a response to the message.":l}).openAndGetResult();c==null||c.hide(),await r.exists(o)&&await r.write(`${o}.response`,u!=null?u:"")}}catch(s){this.plugin.displayError(s),await ei.rm(Ge.join(this.absPluginConfigPath,Ta),{force:!0}),await ei.rm(Ge.join(this.absPluginConfigPath,`${Ta}.response`),{force:!0}),await new Promise(a=>setTimeout(a,5e3)),this.plugin.log("Retry watch for ask pass"),await this.askpass()}}async addAskPassScriptToExclude(){try{if(!await this.git.checkIsRepo())return;let r=await this.git.revparse(["--path-format=absolute","--git-path","info/exclude"]),i=Ge.join(this.app.vault.configDir,"plugins","obsidian-git",Ta),n=this.getRelativeRepoPath(i,!0);(await ei.readFile(r,"utf-8")).split(` +`).some(l=>l.contains(n))||await ei.appendFile(r,n+` +`)}catch(r){console.error("Error while adding askpass script to exclude file:",r)}}unload(){var r;(r=this.watchAbortController)==null||r.abort()}async status(r){let i=r==null?void 0:r.path;this.plugin.setPluginState({gitAction:1});let n=await this.git.status(i!=null?["--",i]:[]);this.plugin.setPluginState({gitAction:0});let s=n.files.map(a=>{let o=this.formatPath(a);return{path:o.path,from:o.from,index:a.index==="?"?"U":a.index,workingDir:a.working_dir==="?"?"U":a.working_dir,vaultPath:this.getRelativeVaultPath(o.path)}});return{all:s,changed:s.filter(a=>a.workingDir!==" "),staged:s.filter(a=>a.index!==" "&&a.index!="U"),conflicted:n.conflicted.map(a=>this.formatPath({path:a}).path)}}async submoduleAwareHeadRevisonInContainingDirectory(r){let i=this.getRelativeRepoPath(r),s=["-C",Ge.dirname(i),"rev-parse","HEAD"],a=this.git.raw(s);return a.catch(o=>console.warn("obsidian-git: rev-parse error:",o)),(await a).trim()}async getSubmodulePaths(){return new Promise(r=>{this.git.outputHandler((i,n,s,a)=>{if(!(a.contains("submodule")&&a.contains("foreach")))return;let o="",l=this.app.vault.adapter.getBasePath()+(this.plugin.settings.basePath?"/"+this.plugin.settings.basePath:"");n.on("data",c=>{o+=c.toString("utf8")}),n.on("end",()=>{let u=o.split(` +`).map(f=>{let d=f.match(/'([^']*)'/);if(d!=null)return l+"/"+d[1]+Mu.sep}).filter(f=>!!f);u.reverse(),r(u)})}),this.git.subModule(["foreach","--recursive",""]).then(()=>{this.git.outputHandler(()=>{})},i=>this.plugin.displayError(i))})}formatPath(r){function i(n){if(n!=null)return n.startsWith('"')&&n.endsWith('"')?n.substring(1,n.length-1):n}return r.from!=null?{from:i(r.from),path:i(r.path)}:{path:i(r.path)}}async blame(r,i,n){if(r=this.getRelativeRepoPath(r),!await this.isTracked(r))return"untracked";let s=await this.getSubmoduleOfFile(r),a=s?["-C",s.submodule]:[],o=s?s.relativeFilepath:r;a.push("blame","--porcelain"),n&&a.push("-w");let l=`-C${Bd}`;switch(i){case"inactive":break;case"same-commit":a.push("-C",l);break;case"all-commits":a.push("-C","-C",l);break;default:Gs(i)}a.push("--",o);let c=await this.git.raw(a);return Oz(c)}async isTracked(r){let i=await this.getSubmoduleOfFile(r),n=i?["-C",i.submodule]:[],s=i?i.relativeFilepath:r;return n.push("ls-files","--",s),this.git.raw(n).then(a=>a.trim()!=="")}async commitAll({message:r}){if(this.plugin.settings.updateSubmodules){this.plugin.setPluginState({gitAction:4});let n=await this.getSubmodulePaths();for(let s of n)await this.git.cwd({path:s,root:!1}).add("-A"),await this.git.cwd({path:s,root:!1}).commit(await this.formatCommitMessage(r))}this.plugin.setPluginState({gitAction:3}),await this.git.add("-A"),this.plugin.setPluginState({gitAction:4});let i=await this.git.commit(await this.formatCommitMessage(r));return this.app.workspace.trigger("obsidian-git:head-change"),i.summary.changes}async commit({message:r,amend:i}){this.plugin.setPluginState({gitAction:4});let n=(await this.git.commit(await this.formatCommitMessage(r),i?["--amend"]:[])).summary.changes;return this.app.workspace.trigger("obsidian-git:head-change"),this.plugin.setPluginState({gitAction:0}),n}async stage(r,i){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,i),await this.git.add(["--",r]),this.plugin.setPluginState({gitAction:0})}async stageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.add(r!=null?r:"-A"),this.plugin.setPluginState({gitAction:0})}async unstageAll({dir:r}){this.plugin.setPluginState({gitAction:3}),await this.git.reset(r!=null?["--",r]:[]),this.plugin.setPluginState({gitAction:0})}async unstage(r,i){this.plugin.setPluginState({gitAction:3}),r=this.getRelativeRepoPath(r,i),await this.git.reset(["--",r]),this.plugin.setPluginState({gitAction:0})}async discard(r){this.plugin.setPluginState({gitAction:3}),await this.isTracked(r)&&await this.git.checkout(["--",r]),this.plugin.setPluginState({gitAction:0})}async applyPatch(r){let i=Ge.join(this.relPluginConfigPath,"patch");await this.app.vault.adapter.write(i,r),await this.git.applyPatch(i,{"--cached":null,"--unidiff-zero":null,"--whitespace":"nowarn"}),await this.app.vault.adapter.remove(i)}async getUntrackedPaths(r){let i=r==null?void 0:r.path;this.plugin.setPluginState({gitAction:1});let n=[];i!=null&&n.push("--",i);let s=await this.git.clean(Fa.RECURSIVE+Fa.DRY_RUN,n);return this.plugin.setPluginState({gitAction:0}),s.paths}async hashObject(r){r=this.getRelativeRepoPath(r);let i=await this.getSubmoduleOfFile(r),n=i?["-C",i.submodule]:[],s=i?i.relativeFilepath:r;return n.push("hash-object","--",s),this.git.raw(n)}async discardAll({dir:r}){return this.discard(r!=null?r:".")}async pull(){this.plugin.setPluginState({gitAction:2});try{this.plugin.settings.updateSubmodules&&await this.git.subModule(["update","--remote","--merge","--recursive"]);let r=await this.branchInfo(),i=await this.git.revparse([r.current]);if(!r.tracking&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring pull of main repo and updating submodules only.");return}await this.git.fetch();let n=await this.git.revparse([r.tracking]);if(i!==n){if(this.plugin.settings.syncMethod==="merge"||this.plugin.settings.syncMethod==="rebase")try{let o=[r.tracking];switch(this.plugin.settings.mergeStrategy!=="none"&&o.push(`--strategy-option=${this.plugin.settings.mergeStrategy}`),this.plugin.settings.syncMethod){case"merge":await this.git.merge(o);break;case"rebase":await this.git.rebase(o)}}catch(o){this.plugin.displayError(`Pull failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`);return}else if(this.plugin.settings.syncMethod==="reset")try{await this.git.raw(["update-ref",`refs/heads/${r.current}`,n]),await this.unstageAll({})}catch(o){this.plugin.displayError(`Sync failed (${this.plugin.settings.syncMethod}): ${"message"in o?o.message:o}`)}this.app.workspace.trigger("obsidian-git:head-change");let s=await this.git.revparse([r.current]);return(await this.git.diff([`${i}..${s}`,"--name-only"])).split(/\r\n|\r|\n/).filter(o=>o.length>0).map(o=>({path:o,workingDir:"P",vaultPath:this.getRelativeVaultPath(o)}))}else return[]}catch(r){this.convertErrors(r)}}async push(){this.plugin.setPluginState({gitAction:5});try{if(this.plugin.settings.updateSubmodules){let a=await this.git.env({...process.env,OBSIDIAN_GIT:1}).subModule(["foreach","--recursive",`tracking=$(git for-each-ref --format='%(upstream:short)' "$(git symbolic-ref -q HEAD)"); echo $tracking; if [ ! -z "$(git diff --shortstat $tracking)" ]; then git push; fi`]);console.log(a)}let r=await this.git.status(),i=r.tracking,n=r.current;if(!i&&this.plugin.settings.updateSubmodules){this.plugin.log("No tracking branch found. Ignoring push of main repo and updating submodules only.");return}let s=null;return i&&(s=(await this.git.diffSummary([n,i,"--"])).changed),await this.git.env({...process.env,OBSIDIAN_GIT:1}).push(),s}catch(r){this.convertErrors(r)}}async getUnpushedCommits(){let r=await this.git.status(),i=r.tracking,n=r.current;if(i==null||n==null)return 0;let[s,a]=Zn(i);return(await this.getRemoteBranches(s)).includes(i)?(await this.git.diffSummary([n,i,"--"])).changed:(this.plugin.log(`Tracking branch ${i} does not exist on remote ${s}.`),0)}async canPush(){if(this.plugin.settings.updateSubmodules===!0)return!0;let r=await this.git.status(),i=r.tracking,n=r.current;return i?(await this.git.diffSummary([n,i,"--"])).changed!==0:!1}async checkRequirements(){return await this.isGitInstalled()?await this.git.checkIsRepo()?"valid":"missing-repo":"missing-git"}async branchInfo(){let r=await this.git.status(),i=await this.git.branch(["--no-color"]);return{current:r.current||void 0,tracking:r.tracking||void 0,branches:i.all}}async getRemoteUrl(r){try{return await this.git.remote(["get-url",r])||void 0}catch(i){if(String(i).contains(r))return;throw i}}async log(r,i=!0,n,s){let a;r&&(a=this.getRelativeRepoPath(r,i));let o={file:a,maxCount:n,"--diff-merges":"first-parent","--name-status":null};return s&&(o[s]=null),(await this.git.log(o)).all.map(c=>{var u,f,d,h;return{...c,author:{name:c.author_name,email:c.author_email},refs:c.refs.split(", ").filter(m=>m.length>0),diff:{...c.diff,files:(f=(u=c.diff)==null?void 0:u.files.map(m=>({...m,status:m.status,path:m.file,hash:c.hash,vaultPath:this.getRelativeVaultPath(m.file),fromPath:m.from,fromVaultPath:m.from!=null?this.getRelativeVaultPath(m.from):void 0,binary:m.binary})))!=null?f:[]},fileName:(h=(d=c.diff)==null?void 0:d.files.first())==null?void 0:h.file}})}async show(r,i,n=!0){let s=this.getRelativeRepoPath(i,n);return this.git.show([r+":"+s])}async checkout(r,i){if(i&&(r=`${i}/${r}`),await this.git.checkout(r),this.plugin.settings.submoduleRecurseCheckout){let n=await this.getSubmodulePaths();for(let s of n){let a=await this.git.cwd({path:s,root:!1}).branch();Object.keys(a.branches).includes(r)&&await this.git.cwd({path:s,root:!1}).checkout(r)}}}async createBranch(r){await this.git.checkout(["-b",r])}async deleteBranch(r,i){await this.git.branch([i?"-D":"-d",r])}async branchIsMerged(r){return!(await this.git.branch(["--no-merged"])).all.contains(r)}async init(){await this.git.init(!1)}async clone(r,i,n){await this.git.clone(r,Ge.join(this.app.vault.adapter.getBasePath(),i),n?["--depth",`${n}`]:[]),await this.setGitInstance()}async setConfig(r,i){i==null?await this.git.raw(["config","--local","--unset",r]):await this.git.addConfig(r,i)}async getConfig(r,i="local"){let n;i=="all"?n=await this.git.listConfig():n=await this.git.listConfig(i);let s=n.all[r.toLowerCase()];if(typeof s=="string"||s==null)return s;throw new Error("Config value is not a string")}async fetch(r){await this.git.fetch(r!=null?[r]:[])}async setRemote(r,i){(await this.getRemotes()).includes(r)?await this.git.remote(["set-url",r,i]):await this.git.remote(["add",r,i])}async getRemoteBranches(r){let i=await this.git.branch(["-r","--list",`${r}*`]),n=[];for(let s in i.branches)n.push(i.branches[s].name);return n}async getRemotes(){let r=await this.git.remote([]);return r?r.trim().split(` +`):[]}async removeRemote(r){await this.git.removeRemote(r)}async updateUpstreamBranch(r){try{await this.git.branch(["--set-upstream-to",r])}catch(i){try{await this.git.branch(["--set-upstream",r])}catch(n){let[s,a]=Zn(r),o=await this.branchInfo();await this.git.push(["--set-upstream",s,`${o.current}:${a}`])}}}updateGitPath(r){return this.setGitInstance()}updateBasePath(r){return this.setGitInstance(!0)}async getDiffString(r,i=!1,n){return i?await this.git.diff(["--cached","--",r]):n?await this.git.show([`${n}`,"--",r]):await this.git.diff(["--",r])}async diff(r,i,n){return await this.git.diff([`${i}..${n}`,"--",r])}async rawCommand(r){let i=r.split(" ");return await this.git.raw(i[0],...i.slice(1))}async getSubmoduleOfFile(r){if(!await this.app.vault.adapter.exists(Ge.dirname(r)))return;let i=await this.git.raw(["-C",Ge.dirname(r),"rev-parse","--show-toplevel"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message));if(i=i.trim(),(await this.git.raw(["-C",Ge.dirname(r),"rev-parse","--show-superproject-working-tree"],l=>l&&console.warn("get-submodule-of-file",l==null?void 0:l.message))).trim()==="")return;let a=this.app.vault.adapter.getFullPath(Ge.normalize(r)),o=Ge.relative(i,a);return{submodule:i,relativeFilepath:o}}async getLastCommitTime(){try{let r=await this.git.log({n:1});if(r!=null&&r.latest!=null)return new Date(r.latest.date)}catch(r){if(r instanceof Rr){if(r.message.contains("does not have any commits yet"))return}else throw r}}async isGitInstalled(){let r=this.plugin.localStorage.getGitPath(),i=await ku(r||"git",["--version"],{});if(i.error)if(Qn.Platform.isWin&&!r){this.plugin.log(`Git not found in PATH. Checking standard installation path(${Nd}) of Git for Windows.`);let n=await ku(Nd,["--version"]);if(n.error)return console.error(n.error),!1;this.useDefaultWindowsGitPath=!0}else return console.error(i.error),!1;else this.useDefaultWindowsGitPath=!1;return!0}convertErrors(r){if(r instanceof Rr){let i=String(r.message);if(i.contains("Could not resolve host")||i.contains("Unable to resolve host")||i.contains("Unable to open connection")||i.match(/ssh: connect to host .*? port .*?: Operation timed out/)!=null||i.match(/ssh: connect to host .*? port .*?: Network is unreachable/)!=null||i.match(/ssh: connect to host .*? port .*?: Undefined error: 0/)!=null)throw new cl(i)}throw r}async isFileTrackedByLFS(r){try{return(await this.git.raw(["check-attr","filter",r])).includes("filter: lfs")}catch(i){let n=i instanceof Error?i.message:String(i);return this.plugin.displayError(`Error checking LFS status: ${n}`),!1}}},GI={hash:"000000",isZeroCommit:!0,summary:""};function Oz(t){let r=t.replace(`\r +`,` +`).split(` +`),i={commits:new Map,hashPerLine:[void 0],originalFileLineNrPerLine:[void 0],finalFileLineNrPerLine:[void 0],groupSizePerStartingLine:new Map},n=1;for(let s=0;s=4&&r.groupSizePerStartingLine.set(e,parseInt(t[3])),parseInt(t[2])!==e)throw Error(`git-blame output is out of order: ${e} vs ${t[2]}`);return i}function Dz(t,e,r){let i=t[0],n=t.slice(1).join(" "),s=e.hashPerLine[r],a=e.commits.get(s)||{hash:s,author:{},committer:{},previous:{}};switch(i){case"summary":a.summary=n;break;case"author":a.author.name=n;break;case"author-mail":a.author.email=HI(n);break;case"author-time":a.author.epochSeconds=parseInt(n);break;case"author-tz":a.author.tz=n;break;case"committer":a.committer.name=n;break;case"committer-mail":a.committer.email=HI(n);break;case"committer-time":a.committer.epochSeconds=parseInt(n);break;case"committer-tz":a.committer.tz=n;break;case"previous":a.previous.commitHash=n;break;case"filename":a.previous.filename=n;break}e.commits.set(s,a)}function Lz(t){if(t.summary===void 0)throw Error(`Summary not provided for commit: ${t.hash}`);D0(t.author)&&(t.author=void 0),D0(t.committer)&&(t.committer=void 0),D0(t.previous)&&(t.previous=void 0),t.isZeroCommit=!!t.hash.match(/^0*$/)}function D0(t){return!t||Object.keys(t).length===0}function NI(t){return t.length>0&&t[0].trim()===t[0]}function HI(t){let e=t.startsWith("<")?t.substring(1):t;return e.endsWith(">")?e.substring(0,e.length-1):e}p();var hF=require("@codemirror/state");p();var L0=class{constructor(){this.eventsPerFilepath=new Map;this.startRemoveStalesSubscribersInterval()}ifFilepathDefinedTransformSubscribers(e,r){if(e)return this.ensureInitialized(e),r(this.eventsPerFilepath.get(e))}forEachSubscriber(e){this.eventsPerFilepath.forEach(r=>r.forEach(e))}ensureInitialized(e){this.eventsPerFilepath.get(e)||this.eventsPerFilepath.set(e,new Set)}startRemoveStalesSubscribersInterval(){this.removeStalesSubscribersTimer=window.setInterval(()=>this==null?void 0:this.forEachSubscriber(e=>e==null?void 0:e.removeIfStale()),6e4)}clear(){window.clearInterval(this.removeStalesSubscribersTimer),this.eventsPerFilepath.clear()}},Jn=new L0;p();var qh=require("@codemirror/state"),jI=Mt(B0());function qI(t,e,r){if(!(t===void 0||e===void 0||r===void 0))return`head${t}-obj${e}-path${r}`}var zI=qh.StateEffect.define();function VI(t,e,r){return r.update({effects:zI.of({key:t,la:e,lineOffsetsFromUnsavedChanges:new Map})})}var kl=qh.StateField.define({create:t=>{},update:(t,e)=>{for(let r of e.effects)if(r.is(zI))return r.value;return Bz(e,t)},compare:(t,e)=>(t==null?void 0:t.key)===(e==null?void 0:e.key)});function zh(t){var s;let e=jI.sha256.create();if(!t)return e;let{la:r,key:i,lineOffsetsFromUnsavedChanges:n}=t;e.update(r==="untracked"?"t":"f"),e.update(i);for(let[a,o]of(s=n.entries())!=null?s:[])e.update([a,o]);return e}var wi={get:void 0,save:void 0};function WI(t,e){wi.get=t,wi.save=e}function Vh(t){var e,r;return(r=(e=jh(t.coloringMaxAge))==null?void 0:e.asDays())!=null?r:jh(rt.lineAuthor.coloringMaxAge).asDays()}function Bz(t,e){if(e)return t.changes.empty||t.changes.iterChanges((r,i,n,s)=>{var m;let a=t.startState.doc,{newDoc:o}=t,l=a.lineAt(r).number,c=a.lineAt(i).number,u=o.lineAt(n).number,f=o.lineAt(s).number,d=c-l+1,h=f-u+1;for(let g=u;g<=f;g++){let v=(m=e.lineOffsetsFromUnsavedChanges.get(g))!=null?m:0,w=f===g,b=h-d;w&&(v+=b),e.lineOffsetsFromUnsavedChanges.set(g,v)}}),e}p();function YI(){Al=void 0,N0=[],Wh=0,Xh.clear(),Zh.clear(),Tl.clear()}var Al,Yh=()=>Al;function XI(t,e){var n;let r=e.length;if(r<((n=Al==null?void 0:Al.length)!=null?n:0))return;Al={gutter:t,length:r,text:e};let i=wi.get();r!==i.gutterSpacingFallbackLength&&(i.gutterSpacingFallbackLength=r,wi.save(i))}var N0=[],Nz=15,Wh=0;function ZI(t){N0[Wh]=t,Wh=(Wh+1)%Nz}function KI(){return NP(N0)}var Xh=new Map,Zh=new Map,Tl=new Set;p();var uF=require("@codemirror/state"),fF=require("@codemirror/view");p();var j0=require("@codemirror/view"),aF=Mt(B0()),Cl=require("obsidian");p();p();var Kh={x:-10,y:-10};function QI(){Kh.x===-10&&window.addEventListener("mousedown",t=>{Kh.x=t.clientX,Kh.y=t.clientY})}function JI(){for(let t of Tl)if(Hz(t,Kh))return t}function Hz(t,e){let{x:r,y:i,width:n,height:s}=t.getBoundingClientRect();return r<=e.x&&e.x<=r+n&&i<=e.y&&e.y<=i+s}var eF="data-commit";function tF(t,e,r){if(e.hasFocus())return;let i=JI();if(!i)return;let n=Gz(i);n&&(!n.isZeroCommit&&!n.isWaitingGutter&&Uz(n,t),H0("showCommitHash",t),H0("authorDisplay",t),H0("dateTimeFormatOptions",t))}function Uz(t,e){e.addItem(r=>r.setTitle("Copy commit hash").setIcon("copy").setSection("obs-git-line-author-copy").onClick(i=>navigator.clipboard.writeText(t.hash)))}function H0(t,e){var l,c;let r,i,n=Fi.plugin.settings.lineAuthor,s=n[t],a=typeof s=="boolean"?s:s!=="hide",o=rt.lineAuthor[t];if(t==="showCommitHash")r="Show commit hash",i=s;else if(t==="authorDisplay"){let u=(l=n.lastShownAuthorDisplay)!=null?l:o;r="Show author "+(a?s:u),i=a?"hide":u}else if(t==="dateTimeFormatOptions"){let u=(c=n.lastShownDateTimeFormatOptions)!=null?c:o;r="Show "+(a?s:u),r+=r.contains("date")?"":" date",i=a?"hide":u}else Gs(t);e.addItem(u=>u.setTitle(r).setSection("obs-git-line-author-configure").setChecked(a).onClick(f=>{var d,h;return(h=(d=Fi.plugin)==null?void 0:d.settingsTab)==null?void 0:h.lineAuthorSettingHandler(t,i)}))}function rF(t,e,r){r.setAttr(eF,JSON.stringify({hash:t.hash,isZeroCommit:t.isZeroCommit,isWaitingGutter:e}))}function Gz(t){let e=t.getAttr(eF);return e?JSON.parse(e):void 0}p();function Jh(t,e){return t==="oldest"?Qh(0,!1,e).color:Qh(void 0,!0,e).color}function Qh(t,e,r){let i=Vh(r),n=Date.now()/1e3,s=t!=null?t:0,o=(e?0:n-s)/60/60/24,l=Math.pow(Math.clamp(o/i,0,1),1/2.3),c=jz(),u=r.colorNew,f=r.colorOld,d=c?.4:1,h=U0(u.r,f.r,l)*d,m=U0(u.g,f.g,l)*d,g=U0(u.b,f.b,l)*d;return{color:`rgba(${h},${m},${g},${c?.75:.25})`,daysSinceCommit:o}}function U0(t,e,r){return t+(e-t)*r}function jz(){var t;return((t=window.app)==null?void 0:t.getTheme())==="obsidian"}function iF(t){document.body.style.setProperty("--obs-git-gutter-text",t.textColorCss)}p();function nF(t,e,r){let i;for(let n=e;n<=r;n++){let s=t.hashPerLine[n],a=t.commits.get(s);(!i||a.isZeroCommit||qz(a,i))&&(i=a)}return i}function qz(t,e){var n,s,a,o;let r=(s=(n=t.author)==null?void 0:n.epochSeconds)!=null?s:0,i=(o=(a=e.author)==null?void 0:a.epochSeconds)!=null?o:0;return r>i}var sF="-",zz="+",Vz=3,Wz="*",Yz=/\S/g,Xz="%",Pl=class t extends j0.GutterMarker{constructor(r){super();this.text=r}eq(r){return r instanceof t&&this.text===r.text}toDOM(){return document.createTextNode(this.text)}destroy(r){}},G0=class extends j0.GutterMarker{constructor(r,i,n,s,a,o){super();this.lineAuthoring=r;this.startLine=i;this.endLine=n;this.key=s;this.settings=a;this.options=o;this.point=!1;this.elementClass="obs-git-blame-gutter"}eq(r){return this.key===(r==null?void 0:r.key)&&this.startLine===(r==null?void 0:r.startLine)&&this.endLine===(r==null?void 0:r.endLine)&&(this==null?void 0:this.options)===(r==null?void 0:r.options)}toDOM(){var r;return this.precomputedDomProvider=(r=this.precomputedDomProvider)!=null?r:this.computeDom(),this.precomputedDomProvider()}destroy(r){r&&(document.body.contains(r)||Tl.delete(r))}computeDom(){let r=nF(this.lineAuthoring,this.startLine,this.endLine),i=r.isZeroCommit?"":this.renderNonZeroCommit(r);return!r.isZeroCommit&&this.options!=="waiting-for-result"?XI(this,i):i=this.adaptTextForFakeCommit(r,i,this.options),this.createHtmlNode(r,i,this.options==="waiting-for-result")}createHtmlNode(r,i,n){var c,u,f,d,h,m;let s=window.createDiv();s.setText(i);let{color:a,daysSinceCommit:o}=Qh((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds,r==null?void 0:r.isZeroCommit,this.settings);s.style.backgroundColor=a,s.setAttribute("data-author",(f=(u=r==null?void 0:r.author)==null?void 0:u.name)!=null?f:""),s.setAttribute("data-author-email",(h=(d=r==null?void 0:r.author)==null?void 0:d.email)!=null?h:""),(0,Cl.setTooltip)(s,(m=r==null?void 0:r.summary)!=null?m:""),rF(r,n,s);function l(){let g=s.cloneNode(!0);return Tl.add(g),n||ZI(o),g}return l}renderNonZeroCommit(r){let i=this.settings.showCommitHash?this.renderHash(r):"",n=this.settings.authorDisplay==="hide"?"":`${this.renderAuthorName(r,this.settings.authorDisplay)}`,s=this.settings.dateTimeFormatOptions==="hide"?"":`${this.renderAuthoringDate(r,this.settings.dateTimeFormatOptions,this.settings.dateTimeFormatCustomString,this.settings.dateTimeTimezone)}`;return[i,n,s].filter(o=>o.length>=1).join(" ")}renderHash(r){return r.hash.substring(0,6)}renderAuthorName(r,i){var o,l,c,u;let n=(l=(o=r==null?void 0:r.author)==null?void 0:o.name)!=null?l:"",s=n.split(" ").filter(f=>f.length>=1),a;switch(i){case"initials":a=s.map(f=>f[0].toUpperCase()).join("");break;case"first name":a=(c=s.first())!=null?c:sF;break;case"last name":a=(u=s.last())!=null?u:sF;break;case"full":a=n;break;default:return Gs(i)}return HP(r==null?void 0:r.author,r==null?void 0:r.committer)||(a=a+Wz),a}renderAuthoringDate(r,i,n,s){var c;let a="?";if(((c=r==null?void 0:r.author)==null?void 0:c.epochSeconds)===void 0)return a;let o;switch(i){case"date":o=Ld;break;case"datetime":o=Sv;break;case"custom":o=n;break;case"natural language":o=u=>{let f=u.diff((0,Cl.moment)());return Cl.moment.duration(f).humanize(!0)};break;default:return Gs(i)}let l=Cl.moment.unix(r.author.epochSeconds);switch(s){case"viewer-local":break;case"author-local":l=l.utcOffset(r.author.tz),typeof o=="string"&&(o+=" Z");break;case"utc0000":l=l.utc(),typeof o=="string"&&(o+="[Z]");break;default:return Gs(s)}return typeof o=="string"?l.format(o):o(l)}adaptTextForFakeCommit(r,i,n){var l,c,u,f;let s=(c=(l=Yh())==null?void 0:l.text)!=null?c:i,a=n!=="waiting-for-result"&&r.isZeroCommit?zz:Xz;i=s.replace(Yz,a);let o=(f=(u=wi.get())==null?void 0:u.gutterSpacingFallbackLength)!=null?f:i.length;if(i=UP(i,o,a),n!=="waiting-for-result"&&r.isZeroCommit){let d=Math.min(o,Vz);i=GP(i,o-d)}return i}};function Da(t,e,r,i,n,s){let a=aF.sha256.create();a.update(JSON.stringify(n)),a.update(`s${e}-e${r}-k${i}-o${s}`);let o=a.hex(),l=Xh.get(o);if(l)return l;let c=new G0(t,e,r,i,n,s);return Xh.set(o,c),c}p();var oF=require("obsidian");function q0(){var e,r;let t=(r=(e=wi.get())==null?void 0:e.gutterSpacingFallbackLength)!=null?r:rt.lineAuthor.gutterSpacingFallbackLength;return new Pl(Array(t).fill("-").join(""))}function z0(t){let{lineAuthoring:e,ageForInitialRender:r}=Zz(t);return Da(e,1,1,"initialGutter"+r,t,"waiting-for-result")}function Zz(t){var s;let e=(s=KI())!=null?s:Vh(t)*.25,r=(0,oF.moment)().add(-e,"days"),i={name:"",epochSeconds:BP(r),tz:"+0000"},n={hash:"waiting-for-result",author:i,committer:i,isZeroCommit:!1};return{lineAuthoring:{hashPerLine:[void 0,"waiting-for-result"],commits:new Map([["waiting-for-result",n]])},ageForInitialRender:e}}p();function lF(t,e){return Da({hashPerLine:[void 0,"000000"],commits:new Map([["000000",GI]])},1,1,t,e)}var V0=new Pl(""),dF=(0,fF.gutter)({class:"line-author-gutter-container",markers(t){let e=t.state.field(kl,!1);return Kz(t,e)},lineMarkerChange(t){let e=zh(t.state.field(kl));return zh(t.startState.field(kl))!==e},renderEmptyElements:!0,initialSpacer:t=>(cF(t),q0()),updateSpacer:(t,e)=>{var r,i;return cF(e.view),(i=(r=Yh())==null?void 0:r.gutter)!=null?i:q0()}});function Kz(t,e){let r=zh(e),i=t.state.doc,n=new Map;for(let u=1;u<=i.lines;u++){let f=i.line(u).from,d=t.lineBlockAt(f).to;n.set(u,[f,d]),r.update([f,d,0])}let s=wi.get();r.update("s"+Object.values(wi).join(","));let a=r.hex(),o=Zh.get(a);if(o)return o;let{result:l,allowCache:c}=Qz(i,n,s,e);return c&&Zh.set(a,l),l}function Qz(t,e,r,i){let n=!0,s=t.lines,a=[];function o(f,d,h){return a.push(h.range(f,d))}let l=Jz(s,i),c=t.length===0,u=t.iterLines(s,s+1).next().value==="";for(let f=1;f<=s;f++){let[d,h]=e.get(f),m=t.lineAt(h).number;if(c){o(d,h,V0);continue}if(f===s&&u){o(d,h,V0);continue}if(i===void 0){o(d,h,z0(r)),n=!1;continue}let{key:g,la:v}=i;if(v==="untracked"){o(d,h,lF(v,r));continue}let w=v.hashPerLine.length-1,b=l[f],k=l[m];if(k&&k>w&&o(d,h,V0),b!==void 0&&jw(1,b,w)&&k!==void 0&&jw(1,k,w)){o(d,h,Da(v,b,k,g,r));continue}if(w<1){o(d,h,z0(r)),n=!1;continue}let x=Math.clamp(b!=null?b:f,1,w),E=Math.clamp(k!=null?k:m,1,w);o(d,h,Da(v,x,E,g+"computing",r,"waiting-for-result"))}return{result:uF.RangeSet.of(a,!0),allowCache:n}}function Jz(t,e){if(!(e!=null&&e.lineOffsetsFromUnsavedChanges))return Array.from(new Array(t+1),n=>n);let r=[void 0],i=0;for(let n=1;n<=t;n++){let s=e.lineOffsetsFromUnsavedChanges.get(n);i+=s!=null?s:0,r[n]=s===void 0?n-i:void 0}return r}function cF(t){t.dom.querySelectorAll(".cm-gutters").forEach(r=>{r!=null&&r.style&&(r.style.marginLeft||(r.style.marginLeft="unset"))})}var ep=class{constructor(e){this.plugin=e;this.lineAuthorings=new Map}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeLineAuthorInfo(e.path)}}destroy(){this.lineAuthorings.clear(),YI()}async computeLineAuthorInfo(e){let r=this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager,i=await r.submoduleAwareHeadRevisonInContainingDirectory(e),n=await r.hashObject(e),s=qI(i,n,e);if(s!==void 0){if(!this.lineAuthorings.has(s)){let a=await r.blame(e,this.plugin.settings.lineAuthor.followMovement,this.plugin.settings.lineAuthor.ignoreWhitespace);this.lineAuthorings.set(s,a)}this.notifyComputationResultToSubscribers(e,s)}}notifyComputationResultToSubscribers(e,r){Jn.ifFilepathDefinedTransformSubscribers(e,i=>i.forEach(n=>n.notifyLineAuthoring(r,this.lineAuthorings.get(r))))}},pF=hF.Prec.high([kl,dF]);var eV="https://momentjs.com/docs/#/parsing/string-format/",tV="https://publish.obsidian.md/git-doc/Line+Authoring",tp=class extends U.PluginSettingTab{constructor(r,i){super(r,i);this.plugin=i;this.lineAuthorColorSettings=new Map;this.icon="git-pull-request"}get settings(){return this.plugin.settings}display(){let{containerEl:r}=this,i=this.plugin,n;i.settings.differentIntervalCommitAndPush?n="commit":n="commit-and-sync";let s=i.gitReady;r.empty(),s||(r.createEl("p",{text:"Git is not ready. When all settings are correct you can configure commit-sync, etc."}),r.createEl("br"));let a;if(s){new U.Setting(r).setName("Automatic").setHeading(),new U.Setting(r).setName("Split timers for automatic commit and sync").setDesc("Enable to use one interval for commit and another for sync.").addToggle(f=>f.setValue(i.settings.differentIntervalCommitAndPush).onChange(async d=>{i.settings.differentIntervalCommitAndPush=d,await i.saveSettings(),i.automaticsManager.reload("commit","push"),this.refreshDisplayWithDelay()})),new U.Setting(r).setName(`Auto ${n} interval (minutes)`).setDesc(`${i.settings.differentIntervalCommitAndPush?"Commit":"Commit and sync"} changes every X minutes. Set to 0 (default) to disable. (See below setting for further configuration!)`).addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoSaveInterval"}),f.setPlaceholder(String(rt.autoSaveInterval)),f.onChange(async d=>{d!==""?i.settings.autoSaveInterval=Number(d):i.settings.autoSaveInterval=rt.autoSaveInterval,await i.saveSettings(),i.automaticsManager.reload("commit")})}),a=new U.Setting(r).setName(`Auto ${n} after stopping file edits`).setDesc(`Requires the ${n} interval not to be 0. + If turned on, do auto ${n} every ${jP(i.settings.autoSaveInterval)} after stopping file edits. + This also prevents auto ${n} while editing a file. If turned off, it's independent from the last file edit.`).addToggle(f=>f.setValue(i.settings.autoBackupAfterFileChange).onChange(async d=>{i.settings.autoBackupAfterFileChange=d,this.refreshDisplayWithDelay(),await i.saveSettings(),i.automaticsManager.reload("commit")})),this.mayDisableSetting(a,i.settings.setLastSaveToLastCommit),a=new U.Setting(r).setName(`Auto ${n} after latest commit`).setDesc(`If turned on, sets last auto ${n} timestamp to the latest commit timestamp. This reduces the frequency of auto ${n} when doing manual commits.`).addToggle(f=>f.setValue(i.settings.setLastSaveToLastCommit).onChange(async d=>{i.settings.setLastSaveToLastCommit=d,await i.saveSettings(),i.automaticsManager.reload("commit"),this.refreshDisplayWithDelay()})),this.mayDisableSetting(a,i.settings.autoBackupAfterFileChange),a=new U.Setting(r).setName("Auto push interval (minutes)").setDesc("Push commits every X minutes. Set to 0 (default) to disable.").addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoPushInterval"}),f.setPlaceholder(String(rt.autoPushInterval)),f.onChange(async d=>{d!==""?i.settings.autoPushInterval=Number(d):i.settings.autoPushInterval=rt.autoPushInterval,await i.saveSettings(),i.automaticsManager.reload("push")})}),this.mayDisableSetting(a,!i.settings.differentIntervalCommitAndPush),new U.Setting(r).setName("Auto pull interval (minutes)").setDesc("Pull changes every X minutes. Set to 0 (default) to disable.").addText(f=>{f.inputEl.type="number",this.setNonDefaultValue({text:f,settingsProperty:"autoPullInterval"}),f.setPlaceholder(String(rt.autoPullInterval)),f.onChange(async d=>{d!==""?i.settings.autoPullInterval=Number(d):i.settings.autoPullInterval=rt.autoPullInterval,await i.saveSettings(),i.automaticsManager.reload("pull")})}),new U.Setting(r).setName(`Auto ${n} only staged files`).setDesc(`If turned on, only staged files are committed on ${n}. If turned off, all changed files are committed.`).addToggle(f=>f.setValue(i.settings.autoCommitOnlyStaged).onChange(async d=>{i.settings.autoCommitOnlyStaged=d,await i.saveSettings()})),new U.Setting(r).setName(`Specify custom commit message on auto ${n}`).setDesc("You will get a pop up to specify your message.").addToggle(f=>f.setValue(i.settings.customMessageOnAutoBackup).onChange(async d=>{i.settings.customMessageOnAutoBackup=d,await i.saveSettings(),this.refreshDisplayWithDelay()})),a=new U.Setting(r).setName(`Commit message on auto ${n}`).setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message).").addTextArea(f=>{f.setPlaceholder(rt.autoCommitMessage).onChange(async d=>{d===""?i.settings.autoCommitMessage=rt.autoCommitMessage:i.settings.autoCommitMessage=d,await i.saveSettings()}),this.setNonDefaultValue({text:f,settingsProperty:"autoCommitMessage"})}),this.mayDisableSetting(a,i.settings.customMessageOnAutoBackup),new U.Setting(r).setName("Commit message").setHeading();let c=new U.Setting(r).setName("Commit message on manual commit").setDesc("Available placeholders: {{date}} (see below), {{hostname}} (see below), {{numFiles}} (number of changed files in the commit) and {{files}} (changed files in commit message). Leave empty to require manual input on each commit.");c.addTextArea(f=>{c.addButton(d=>{d.setIcon("reset").setTooltip(`Set to default: "${rt.commitMessage}"`).onClick(()=>{f.setValue(rt.commitMessage),f.onChanged()})}),f.setValue(i.settings.commitMessage),f.onChange(async d=>{i.settings.commitMessage=d,await i.saveSettings()})}),new U.Setting(r).setName("Commit message script").setDesc("A script that is run using 'sh -c' to generate the commit message. May be used to generate commit messages using AI tools. Available placeholders: {{hostname}}, {{date}}.").addText(f=>{f.onChange(async d=>{d===""?i.settings.commitMessageScript=rt.commitMessageScript:i.settings.commitMessageScript=d,await i.saveSettings()}),this.setNonDefaultValue({text:f,settingsProperty:"commitMessageScript"})});let u=new U.Setting(r).setName("{{date}} placeholder format").addMomentFormat(f=>f.setDefaultFormat(i.settings.commitDateFormat).setValue(i.settings.commitDateFormat).onChange(async d=>{i.settings.commitDateFormat=d,await i.saveSettings()}));u.descEl.innerHTML=` + Specify custom date format. E.g. "${Ev}. See Moment.js for more formats.`,new U.Setting(r).setName("{{hostname}} placeholder replacement").setDesc("Specify custom hostname for every device.").addText(f=>{var d;return f.setValue((d=i.localStorage.getHostname())!=null?d:"").onChange(h=>{i.localStorage.setHostname(h)})}),new U.Setting(r).setName("Preview commit message").addButton(f=>f.setButtonText("Preview").onClick(async()=>{let d=await i.gitManager.formatCommitMessage(i.settings.commitMessage);new U.Notice(`${d}`)})),new U.Setting(r).setName("List filenames affected by commit in the commit body").addToggle(f=>f.setValue(i.settings.listChangedFilesInMessageBody).onChange(async d=>{i.settings.listChangedFilesInMessageBody=d,await i.saveSettings()})),new U.Setting(r).setName("Pull").setHeading(),i.gitManager instanceof Se&&new U.Setting(r).setName("Merge strategy").setDesc("Decide how to integrate commits from your remote branch into your local branch.").addDropdown(f=>{let d={merge:"Merge",rebase:"Rebase",reset:"Other sync service (Only updates the HEAD without touching the working directory)"};f.addOptions(d),f.setValue(i.settings.syncMethod),f.onChange(async h=>{i.settings.syncMethod=h,await i.saveSettings()})}),new U.Setting(r).setName("Merge strategy on conflicts").setDesc("Decide how to solve conflicts when pulling remote changes. This can be used to favor your local changes or the remote changes automatically.").addDropdown(f=>{let d={none:"None (git default)",ours:"Our changes",theirs:"Their changes"};f.addOptions(d),f.setValue(i.settings.mergeStrategy),f.onChange(async h=>{i.settings.mergeStrategy=h,await i.saveSettings()})}),new U.Setting(r).setName("Pull on startup").setDesc("Automatically pull commits when Obsidian starts.").addToggle(f=>f.setValue(i.settings.autoPullOnBoot).onChange(async d=>{i.settings.autoPullOnBoot=d,await i.saveSettings()})),new U.Setting(r).setName("Commit-and-sync").setDesc("Commit-and-sync with default settings means staging everything -> committing -> pulling -> pushing. Ideally this is a single action that you do regularly to keep your local and remote repository in sync.").setHeading(),a=new U.Setting(r).setName("Push on commit-and-sync").setDesc(`Most of the time you want to push after committing. Turning this off turns a commit-and-sync action into commit ${i.settings.pullBeforePush?"and pull ":""}only. It will still be called commit-and-sync.`).addToggle(f=>f.setValue(!i.settings.disablePush).onChange(async d=>{i.settings.disablePush=!d,this.refreshDisplayWithDelay(),await i.saveSettings()})),new U.Setting(r).setName("Pull on commit-and-sync").setDesc(`On commit-and-sync, pull commits as well. Turning this off turns a commit-and-sync action into commit ${i.settings.disablePush?"":"and push "}only.`).addToggle(f=>f.setValue(i.settings.pullBeforePush).onChange(async d=>{i.settings.pullBeforePush=d,this.refreshDisplayWithDelay(),await i.saveSettings()})),i.gitManager instanceof Se&&(new U.Setting(r).setName("Hunk management").setDesc("Hunks are sections of grouped line changes right in your editor.").setHeading(),new U.Setting(r).setName("Signs").setDesc("This allows you to see your changes right in your editor via colored markers and stage/reset/preview individual hunks.").addToggle(f=>f.setValue(i.settings.hunks.showSigns).onChange(async d=>{i.settings.hunks.showSigns=d,await i.saveSettings(),i.editorIntegration.refreshSignsSettings()})),new U.Setting(r).setName("Hunk commands").setDesc("Adds commands to stage/reset individual Git diff hunks and navigate between them via 'Go to next/prev hunk' commands.").addToggle(f=>f.setValue(i.settings.hunks.hunkCommands).onChange(async d=>{i.settings.hunks.hunkCommands=d,await i.saveSettings(),i.editorIntegration.refreshSignsSettings()})),new U.Setting(r).setName("Status bar with summary of line changes").addDropdown(f=>f.addOptions({disabled:"Disabled",colored:"Colored",monochrome:"Monochrome"}).setValue(i.settings.hunks.statusBar).onChange(async d=>{i.settings.hunks.statusBar=d,await i.saveSettings(),i.editorIntegration.refreshSignsSettings()})),new U.Setting(r).setName("Line author information").setHeading(),this.addLineAuthorInfoSettings())}new U.Setting(r).setName("History view").setHeading(),new U.Setting(r).setName("Show Author").setDesc("Show the author of the commit in the history view.").addDropdown(c=>{let u={hide:"Hide",full:"Full",initials:"Initials"};c.addOptions(u),c.setValue(i.settings.authorInHistoryView),c.onChange(async f=>{i.settings.authorInHistoryView=f,await i.saveSettings(),await i.refresh()})}),new U.Setting(r).setName("Show Date").setDesc("Show the date of the commit in the history view. The {{date}} placeholder format is used to display the date.").addToggle(c=>c.setValue(i.settings.dateInHistoryView).onChange(async u=>{i.settings.dateInHistoryView=u,await i.saveSettings(),await i.refresh()})),new U.Setting(r).setName("Source control view").setHeading(),new U.Setting(r).setName("Automatically refresh source control view on file changes").setDesc("On slower machines this may cause lags. If so, just disable this option.").addToggle(c=>c.setValue(i.settings.refreshSourceControl).onChange(async u=>{i.settings.refreshSourceControl=u,await i.saveSettings()})),new U.Setting(r).setName("Source control view refresh interval").setDesc("Milliseconds to wait after file change before refreshing the Source Control View.").addText(c=>{c.inputEl.type="number",this.setNonDefaultValue({text:c,settingsProperty:"refreshSourceControlTimer"}),c.setPlaceholder(String(rt.refreshSourceControlTimer)),c.onChange(async f=>{f!==""&&Number.isInteger(Number(f))?i.settings.refreshSourceControlTimer=Math.max(Number(f),500):i.settings.refreshSourceControlTimer=rt.refreshSourceControlTimer,await i.saveSettings(),i.setRefreshDebouncer()})}),new U.Setting(r).setName("Miscellaneous").setHeading(),i.gitManager instanceof Se&&new U.Setting(r).setName("Diff view style").setDesc('Set the style for the diff view. Note that the actual diff in "Split" mode is not generated by Git, but the editor itself instead so it may differ from the diff generated by Git. One advantage of this is that you can edit the text in that view.').addDropdown(c=>{let u={split:"Split",git_unified:"Unified"};c.addOptions(u),c.setValue(i.settings.diffStyle),c.onChange(async f=>{i.settings.diffStyle=f,await i.saveSettings()})}),new U.Setting(r).setName("Disable informative notifications").setDesc("Disable informative notifications for git operations to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(i.settings.disablePopups).onChange(async u=>{i.settings.disablePopups=u,this.refreshDisplayWithDelay(),await i.saveSettings()})),new U.Setting(r).setName("Disable error notifications").setDesc("Disable error notifications of any kind to minimize distraction (refer to status bar for updates).").addToggle(c=>c.setValue(!i.settings.showErrorNotices).onChange(async u=>{i.settings.showErrorNotices=!u,await i.saveSettings()})),i.settings.disablePopups||new U.Setting(r).setName("Hide notifications for no changes").setDesc("Don't show notifications when there are no changes to commit or push.").addToggle(c=>c.setValue(i.settings.disablePopupsForNoChanges).onChange(async u=>{i.settings.disablePopupsForNoChanges=u,await i.saveSettings()})),new U.Setting(r).setName("Show status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(i.settings.showStatusBar).onChange(async u=>{i.settings.showStatusBar=u,await i.saveSettings()})),new U.Setting(r).setName("File menu integration").setDesc('Add "Stage", "Unstage" and "Add to .gitignore" actions to the file menu.').addToggle(c=>c.setValue(i.settings.showFileMenu).onChange(async u=>{i.settings.showFileMenu=u,await i.saveSettings()})),new U.Setting(r).setName("Show branch status bar").setDesc("Obsidian must be restarted for the changes to take affect.").addToggle(c=>c.setValue(i.settings.showBranchStatusBar).onChange(async u=>{i.settings.showBranchStatusBar=u,await i.saveSettings()})),new U.Setting(r).setName("Show the count of modified files in the status bar").addToggle(c=>c.setValue(i.settings.changedFilesInStatusBar).onChange(async u=>{i.settings.changedFilesInStatusBar=u,await i.saveSettings()})),i.gitManager instanceof Di?new U.Setting(r).setName("Authentication/commit author").setHeading():new U.Setting(r).setName("Commit author").setHeading(),i.gitManager instanceof Di&&new U.Setting(r).setName("Username on your git server. E.g. your username on GitHub").addText(c=>{var u;c.setValue((u=i.localStorage.getUsername())!=null?u:""),c.onChange(f=>{i.localStorage.setUsername(f)})}),i.gitManager instanceof Di&&new U.Setting(r).setName("Password/Personal access token").setDesc("Type in your password. You won't be able to see it again.").addText(c=>{c.inputEl.autocapitalize="off",c.inputEl.autocomplete="off",c.inputEl.spellcheck=!1,c.onChange(u=>{i.localStorage.setPassword(u)})}),i.gitReady&&new U.Setting(r).setName("Author name for commit").addText(async c=>{var u;c.setValue((u=await i.gitManager.getConfig("user.name"))!=null?u:""),c.onChange(async f=>{await i.gitManager.setConfig("user.name",f==""?void 0:f)})}),i.gitReady&&new U.Setting(r).setName("Author email for commit").addText(async c=>{var u;c.setValue((u=await i.gitManager.getConfig("user.email"))!=null?u:""),c.onChange(async f=>{await i.gitManager.setConfig("user.email",f==""?void 0:f)})}),new U.Setting(r).setName("Advanced").setDesc("These settings usually don't need to be changed, but may be required for special setups.").setHeading(),i.gitManager instanceof Se&&(new U.Setting(r).setName("Update submodules").setDesc('"Commit-and-sync" and "pull" takes care of submodules. Missing features: Conflicted files, count of pulled/pushed/committed files. Tracking branch needs to be set for each submodule.').addToggle(c=>c.setValue(i.settings.updateSubmodules).onChange(async u=>{i.settings.updateSubmodules=u,await i.saveSettings()})),i.settings.updateSubmodules&&new U.Setting(r).setName("Submodule recurse checkout/switch").setDesc("Whenever a checkout happens on the root repository, recurse the checkout on the submodules (if the branches exist).").addToggle(c=>c.setValue(i.settings.submoduleRecurseCheckout).onChange(async u=>{i.settings.submoduleRecurseCheckout=u,await i.saveSettings()}))),i.gitManager instanceof Se&&new U.Setting(r).setName("Custom Git binary path").setDesc("Specify the path to the Git binary/executable. Git should already be in your PATH. Should only be necessary for a custom Git installation.").addText(c=>{var u;c.setValue((u=i.localStorage.getGitPath())!=null?u:""),c.setPlaceholder("git"),c.onChange(f=>{i.localStorage.setGitPath(f),i.gitManager.updateGitPath(f||"git").catch(d=>i.displayError(d))})}),i.gitManager instanceof Se&&new U.Setting(r).setName("Additional environment variables").setDesc("Use each line for a new environment variable in the format KEY=VALUE .").addTextArea(c=>{c.setPlaceholder("GIT_DIR=/path/to/git/dir"),c.setValue(i.localStorage.getEnvVars().join(` +`)),c.onChange(u=>{i.localStorage.setEnvVars(u.split(` +`))})}),i.gitManager instanceof Se&&new U.Setting(r).setName("Additional PATH environment variable paths").setDesc("Use each line for one path").addTextArea(c=>{c.setValue(i.localStorage.getPATHPaths().join(` +`)),c.onChange(u=>{i.localStorage.setPATHPaths(u.split(` +`))})}),i.gitManager instanceof Se&&new U.Setting(r).setName("Reload with new environment variables").setDesc("Removing previously added environment variables will not take effect until Obsidian is restarted.").addButton(c=>{c.setButtonText("Reload"),c.setCta(),c.onClick(async()=>{await i.gitManager.setGitInstance()})}),new U.Setting(r).setName("Custom base path (Git repository path)").setDesc(` + Sets the relative path to the vault from which the Git binary should be executed. + Mostly used to set the path to the Git repository, which is only required if the Git repository is below the vault root directory. Use "\\" instead of "/" on Windows. + `).addText(c=>{c.setValue(i.settings.basePath),c.setPlaceholder("directory/directory-with-git-repo"),c.onChange(async u=>{i.settings.basePath=u,await i.saveSettings(),i.gitManager.updateBasePath(u||"").catch(f=>i.displayError(f))})}),new U.Setting(r).setName("Custom Git directory path (Instead of '.git')").setDesc('Corresponds to the GIT_DIR environment variable. Requires restart of Obsidian to take effect. Use "\\" instead of "/" on Windows.').addText(c=>{c.setValue(i.settings.gitDir),c.setPlaceholder(".git"),c.onChange(async u=>{i.settings.gitDir=u,await i.saveSettings()})}),new U.Setting(r).setName("Disable on this device").setDesc("Disables the plugin on this device. This setting is not synced.").addToggle(c=>c.setValue(i.localStorage.getPluginDisabled()).onChange(u=>{i.localStorage.setPluginDisabled(u),u?i.unloadPlugin():i.init({fromReload:!0}).catch(f=>i.displayError(f)),new U.Notice("Obsidian must be restarted for the changes to take affect.")})),new U.Setting(r).setName("Support").setHeading(),new U.Setting(r).setName("Donate").setDesc("If you like this Plugin, consider donating to support continued development.").addButton(c=>{c.buttonEl.outerHTML="Buy Me a Coffee at ko-fi.com"});let o=r.createDiv();o.setAttr("align","center"),o.setAttr("style","margin: var(--size-4-2)");let l=o.createEl("button");if(l.setText("Copy Debug Information"),l.onclick=async()=>{await window.navigator.clipboard.writeText(JSON.stringify({settings:this.plugin.settings,pluginVersion:this.plugin.manifest.version},null,4)),new U.Notice("Debug information copied to clipboard. May contain sensitive information!")},U.Platform.isDesktopApp){let c=r.createDiv();c.setAttr("align","center"),c.setText(`Debugging and logging: +You can always see the logs of this and every other plugin by opening the console with`);let u=r.createDiv();u.setAttr("align","center"),u.addClass("obsidian-git-shortcuts"),U.Platform.isMacOS===!0?u.createEl("kbd",{text:"CMD (\u2318) + OPTION (\u2325) + I"}):u.createEl("kbd",{text:"CTRL + SHIFT + I"})}}mayDisableSetting(r,i){i&&(r.setDisabled(i),r.setClass("obsidian-git-disabled"))}configureLineAuthorShowStatus(r){this.settings.lineAuthor.show=r,this.plugin.saveSettings(),r?this.plugin.editorIntegration.activateLineAuthoring():this.plugin.editorIntegration.deactiveLineAuthoring()}async lineAuthorSettingHandler(r,i){this.settings.lineAuthor[r]=i,await this.plugin.saveSettings(),this.plugin.editorIntegration.lineAuthoringFeature.refreshLineAuthorViews()}beforeSaveSettings(){let r=this.settings.lineAuthor;r.authorDisplay!=="hide"&&(r.lastShownAuthorDisplay=r.authorDisplay),r.dateTimeFormatOptions!=="hide"&&(r.lastShownDateTimeFormatOptions=r.dateTimeFormatOptions)}addLineAuthorInfoSettings(){let r=new U.Setting(this.containerEl).setName("Show commit authoring information next to each line");if(this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform()||r.setDesc("Only available on desktop currently.").setDisabled(!0),r.descEl.innerHTML=` + Feature guide and quick examples
+ The commit hash, author name and authoring date can all be individually toggled.
Hide everything, to only show the age-colored sidebar.`,r.addToggle(i=>i.setValue(this.settings.lineAuthor.show).onChange(n=>{this.configureLineAuthorShowStatus(n),this.refreshDisplayWithDelay()})),this.settings.lineAuthor.show){let i=new U.Setting(this.containerEl).setName("Follow movement and copies across files and commits").setDesc("").addDropdown(s=>{s.addOptions({inactive:"Do not follow (default)","same-commit":"Follow within same commit","all-commits":"Follow within all commits (maybe slow)"}),s.setValue(this.settings.lineAuthor.followMovement),s.onChange(a=>this.lineAuthorSettingHandler("followMovement",a))});if(i.descEl.innerHTML=` + By default (deactivated), each line only shows the newest commit where it was changed. +
+ With same commit, cut-copy-paste-ing of text is followed within the same commit and the original commit of authoring will be shown. +
+ With all commits, cut-copy-paste-ing text inbetween multiple commits will be detected. +
+ It uses git-blame and + for matches (at least ${Bd} characters) within the same (or all) commit(s), the originating commit's information is shown.`,new U.Setting(this.containerEl).setName("Show commit hash").addToggle(s=>{s.setValue(this.settings.lineAuthor.showCommitHash),s.onChange(a=>this.lineAuthorSettingHandler("showCommitHash",a))}),new U.Setting(this.containerEl).setName("Author name display").setDesc("If and how the author is displayed").addDropdown(s=>{let a={hide:"Hide",initials:"Initials (default)","first name":"First name","last name":"Last name",full:"Full name"};s.addOptions(a),s.setValue(this.settings.lineAuthor.authorDisplay),s.onChange(async o=>this.lineAuthorSettingHandler("authorDisplay",o))}),new U.Setting(this.containerEl).setName("Authoring date display").setDesc("If and how the date and time of authoring the line is displayed").addDropdown(s=>{let a={hide:"Hide",date:"Date (default)",datetime:"Date and time","natural language":"Natural language",custom:"Custom"};s.addOptions(a),s.setValue(this.settings.lineAuthor.dateTimeFormatOptions),s.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatOptions",o),this.refreshDisplayWithDelay()})}),this.settings.lineAuthor.dateTimeFormatOptions==="custom"){let s=new U.Setting(this.containerEl);s.setName("Custom authoring date format").addText(a=>{a.setValue(this.settings.lineAuthor.dateTimeFormatCustomString),a.setPlaceholder("YYYY-MM-DD HH:mm"),a.onChange(async o=>{await this.lineAuthorSettingHandler("dateTimeFormatCustomString",o),s.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(o)})}),s.descEl.innerHTML=this.previewCustomDateTimeDescriptionHtml(this.settings.lineAuthor.dateTimeFormatCustomString)}new U.Setting(this.containerEl).setName("Authoring date display timezone").addDropdown(s=>{let a={"viewer-local":"My local (default)","author-local":"Author's local",utc0000:"UTC+0000/Z"};s.addOptions(a),s.setValue(this.settings.lineAuthor.dateTimeTimezone),s.onChange(async o=>this.lineAuthorSettingHandler("dateTimeTimezone",o))}).descEl.innerHTML=` + The time-zone in which the authoring date should be shown. + Either your local time-zone (default), + the author's time-zone during commit creation or + UTC\xB100:00. + `;let n=new U.Setting(this.containerEl).setName("Oldest age in coloring");n.descEl.innerHTML=this.previewOldestAgeDescriptionHtml(this.settings.lineAuthor.coloringMaxAge)[0],n.addText(s=>{s.setPlaceholder("1y"),s.setValue(this.settings.lineAuthor.coloringMaxAge),s.onChange(async a=>{let[o,l]=this.previewOldestAgeDescriptionHtml(a);n.descEl.innerHTML=o,l&&(await this.lineAuthorSettingHandler("coloringMaxAge",a),this.refreshColorSettingsName("oldest"))})}),this.createColorSetting("newest"),this.createColorSetting("oldest"),new U.Setting(this.containerEl).setName("Text color").addText(s=>{s.setValue(this.settings.lineAuthor.textColorCss),s.onChange(async a=>{await this.lineAuthorSettingHandler("textColorCss",a)})}).descEl.innerHTML=` + The CSS color of the gutter text.
+ + It is highly recommended to use + + CSS variables + defined by themes + (e.g.
var(--text-muted)
or +
var(--text-on-accent)
, + because they automatically adapt to theme changes.
+ + See: + List of available CSS variables in Obsidian + + `,new U.Setting(this.containerEl).setName("Ignore whitespace and newlines in changes").addToggle(s=>{s.setValue(this.settings.lineAuthor.ignoreWhitespace),s.onChange(a=>this.lineAuthorSettingHandler("ignoreWhitespace",a))}).descEl.innerHTML=` + Whitespace and newlines are interpreted as + part of the document and in changes + by default (hence not ignored). + This makes the last line being shown as 'changed' + when a new subsequent line is added, + even if the previously last line's text is the same. +
+ If you don't care about purely-whitespace changes + (e.g. list nesting / quote indentation changes), + then activating this will provide more meaningful change detection. + `}}createColorSetting(r){let i=new U.Setting(this.containerEl).setName("").addText(n=>{let s=W0(r,this.settings.lineAuthor),a=W0(r,rt.lineAuthor);n.setPlaceholder(Gw(a)),n.setValue(Gw(s)),n.onChange(async o=>{let l=LP(o);if(l!==void 0){let c=r==="newest"?"colorNew":"colorOld";await this.lineAuthorSettingHandler(c,l)}this.refreshColorSettingsDesc(r,l)})});this.lineAuthorColorSettings.set(r,i),this.refreshColorSettingsName(r),this.refreshColorSettingsDesc(r,W0(r,this.settings.lineAuthor))}refreshColorSettingsName(r){let i=this.lineAuthorColorSettings.get(r);if(i){let n=r==="oldest"?`oldest (${this.settings.lineAuthor.coloringMaxAge} or older)`:"newest";i.nameEl.innerText=`Color for ${n} commits`}}refreshColorSettingsDesc(r,i){let n=this.lineAuthorColorSettings.get(r);n&&(n.descEl.innerHTML=this.colorSettingPreviewDescHtml(r,this.settings.lineAuthor,i!==void 0))}colorSettingPreviewDescHtml(r,i,n){let s=n?Jh(r,i):"rgba(127,127,127,0.3)",a=U.moment.unix(U.moment.now()/1e3).format("YYYY-MM-DD"),o=n?`abcdef Author Name ${a}`:"invalid color";return`Supports 'rgb(r,g,b)', 'hsl(h,s,l)', hex (#) and + named colors (e.g. 'black', 'purple'). Color preview: ${`
${o}
`}`}previewCustomDateTimeDescriptionHtml(r){let i=(0,U.moment)().format(r);return`
Format string to display the authoring date.
Currently: ${i}`}previewOldestAgeDescriptionHtml(r){let i=jh(r);return[`The oldest age in the line author coloring. Everything older will have the same color. +
Smallest valid age is "1d". Currently: ${i!==void 0?`${i.asDays()} days`:"invalid!"}`,i]}setNonDefaultValue({settingsProperty:r,text:i}){let n=this.plugin.settings[r];rt[r]!==n&&(typeof n=="string"||typeof n=="number"||typeof n=="boolean"?i.setValue(String(n)):i.setValue(JSON.stringify(n)))}refreshDisplayWithDelay(r=80){setTimeout(()=>this.display(),r)}};function W0(t,e){return t==="oldest"?e.colorOld:e.colorNew}function jh(t){let e=U.moment.duration("P"+t.toUpperCase());return e.isValid()&&e.asDays()&&e.asDays()>=1?e:void 0}p();var ti=require("obsidian");var rp=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.messages=[];this.base="obsidian-git-statusbar-";this.statusBarEl.setAttribute("data-tooltip-position","top"),r.registerEvent(r.app.workspace.on("obsidian-git:refreshed",()=>{this.refreshCommitTimestamp().catch(console.error)}))}displayMessage(e,r){this.messages.push({message:`Git: ${e.slice(0,100)}`,timeout:r}),this.display()}display(){this.messages.length>0&&!this.currentMessage?(this.currentMessage=this.messages.shift(),this.statusBarEl.addClass(this.base+"message"),this.statusBarEl.ariaLabel="",this.statusBarEl.setText(this.currentMessage.message),this.lastMessageTimestamp=Date.now()):this.currentMessage?Date.now()-this.lastMessageTimestamp>=this.currentMessage.timeout&&(this.currentMessage=null,this.lastMessageTimestamp=null):this.displayState()}displayState(){switch((this.statusBarEl.getText().length>3||!this.statusBarEl.hasChildNodes())&&(this.statusBarEl.empty(),this.conflictEl=this.statusBarEl.createDiv(),this.conflictEl.setAttribute("data-tooltip-position","top"),this.conflictEl.style.float="left",this.pausedEl=this.statusBarEl.createDiv(),this.pausedEl.setAttribute("data-tooltip-position","top"),this.pausedEl.style.float="left",this.iconEl=this.statusBarEl.createDiv(),this.iconEl.style.float="left",this.textEl=this.statusBarEl.createDiv(),this.textEl.style.float="right",this.textEl.style.marginLeft="5px"),this.plugin.localStorage.getConflict()?((0,ti.setIcon)(this.conflictEl,"alert-circle"),this.conflictEl.ariaLabel="You have merge conflicts. Resolve them and commit afterwards.",this.conflictEl.style.marginRight="5px",this.conflictEl.addClass(this.base+"conflict")):(this.conflictEl.empty(),this.conflictEl.style.marginRight=""),this.plugin.localStorage.getPausedAutomatics()?((0,ti.setIcon)(this.pausedEl,"pause-circle"),this.pausedEl.ariaLabel="Automatic routines are currently paused.",this.pausedEl.style.marginRight="5px",this.pausedEl.addClass(this.base+"paused")):(this.pausedEl.empty(),this.pausedEl.style.marginRight=""),this.plugin.state.gitAction){case 0:this.displayFromNow();break;case 1:this.statusBarEl.ariaLabel="Checking repository status...",(0,ti.setIcon)(this.iconEl,"refresh-cw"),this.statusBarEl.addClass(this.base+"status");break;case 3:this.statusBarEl.ariaLabel="Adding files...",(0,ti.setIcon)(this.iconEl,"archive"),this.statusBarEl.addClass(this.base+"add");break;case 4:this.statusBarEl.ariaLabel="Committing changes...",(0,ti.setIcon)(this.iconEl,"git-commit"),this.statusBarEl.addClass(this.base+"commit");break;case 5:this.statusBarEl.ariaLabel="Pushing changes...",(0,ti.setIcon)(this.iconEl,"upload"),this.statusBarEl.addClass(this.base+"push");break;case 2:this.statusBarEl.ariaLabel="Pulling changes...",(0,ti.setIcon)(this.iconEl,"download"),this.statusBarEl.addClass(this.base+"pull");break;default:this.statusBarEl.ariaLabel="Failed on initialization!",(0,ti.setIcon)(this.iconEl,"alert-triangle"),this.statusBarEl.addClass(this.base+"failed-init");break}}displayFromNow(){var i;let e=this.lastCommitTimestamp,r=this.plugin.state.offlineMode;if(e){let n=(0,ti.moment)(e).fromNow();this.statusBarEl.ariaLabel=`${r?"Offline: ":""}Last Commit: ${n}`,(i=this.unPushedCommits)!=null&&i&&(this.statusBarEl.ariaLabel+=` +(${this.unPushedCommits} unpushed commits)`)}else this.statusBarEl.ariaLabel=r?"Git is offline":"Git is ready";r?(0,ti.setIcon)(this.iconEl,"globe"):(0,ti.setIcon)(this.iconEl,"check"),this.plugin.settings.changedFilesInStatusBar&&this.plugin.cachedStatus&&this.textEl.setText(this.plugin.cachedStatus.changed.length.toString()),this.statusBarEl.addClass(this.base+"idle")}async refreshCommitTimestamp(){this.lastCommitTimestamp=await this.plugin.gitManager.getLastCommitTime(),this.unPushedCommits=await this.plugin.gitManager.getUnpushedCommits()}remove(){this.statusBarEl.remove()}};p();var np=require("obsidian"),ip=class extends np.SuggestModal{constructor(r){super(r.app);this.plugin=r;this.resolve=null;this.setPlaceholder("Type your message and select optional the version with the added date.")}openAndGetResult(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}getSuggestions(r){let i=(0,np.moment)().format(this.plugin.settings.commitDateFormat);return r==""&&(r="..."),[r,`${i}: ${r}`,`${r}: ${i}`]}renderSuggestion(r,i){i.innerText=r}onChooseSuggestion(r,i){this.resolve&&this.resolve(r)}};p();var mF=require("obsidian"),Du=class{constructor(e){this.plugin=e}saveLastAuto(e,r){r==="backup"?this.plugin.localStorage.setLastAutoBackup(e.toString()):r==="pull"?this.plugin.localStorage.setLastAutoPull(e.toString()):r==="push"&&this.plugin.localStorage.setLastAutoPush(e.toString())}loadLastAuto(){var e,r,i;return{backup:new Date((e=this.plugin.localStorage.getLastAutoBackup())!=null?e:""),pull:new Date((r=this.plugin.localStorage.getLastAutoPull())!=null?r:""),push:new Date((i=this.plugin.localStorage.getLastAutoPush())!=null?i:"")}}async init(){await this.setUpAutoCommitAndSync();let e=this.loadLastAuto();if(this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0){let r=this.diff(this.plugin.settings.autoPushInterval,e.push);this.startAutoPush(r)}if(this.plugin.settings.autoPullInterval>0){let r=this.diff(this.plugin.settings.autoPullInterval,e.pull);this.startAutoPull(r)}}unload(){this.clearAutoPull(),this.clearAutoPush(),this.clearAutoCommitAndSync()}reload(...e){this.plugin.localStorage.getPausedAutomatics()||(e.contains("commit")&&(this.clearAutoCommitAndSync(),this.plugin.settings.autoSaveInterval>0&&this.startAutoCommitAndSync(this.plugin.settings.autoSaveInterval)),e.contains("push")&&(this.clearAutoPush(),this.plugin.settings.differentIntervalCommitAndPush&&this.plugin.settings.autoPushInterval>0&&this.startAutoPush(this.plugin.settings.autoPushInterval)),e.contains("pull")&&(this.clearAutoPull(),this.plugin.settings.autoPullInterval>0&&this.startAutoPull(this.plugin.settings.autoPullInterval)))}async setUpAutoCommitAndSync(){if(this.plugin.settings.setLastSaveToLastCommit){this.clearAutoCommitAndSync();let e=await this.plugin.gitManager.getLastCommitTime();e&&this.saveLastAuto(e,"backup")}if(!this.timeoutIDCommitAndSync&&!this.plugin.autoCommitDebouncer){let e=this.loadLastAuto();if(this.plugin.settings.autoSaveInterval>0){let r=this.diff(this.plugin.settings.autoSaveInterval,e.backup);this.startAutoCommitAndSync(r)}}}startAutoCommitAndSync(e){let r=(e!=null?e:this.plugin.settings.autoSaveInterval)*6e4;this.plugin.settings.autoBackupAfterFileChange?e===0?this.doAutoCommitAndSync():this.plugin.autoCommitDebouncer=(0,mF.debounce)(()=>this.doAutoCommitAndSync(),r,!0):(r>2147483647&&(r=2147483647),this.timeoutIDCommitAndSync=window.setTimeout(()=>this.doAutoCommitAndSync(),r))}doAutoCommitAndSync(){this.plugin.promiseQueue.addTask(async()=>{if(this.plugin.settings.setLastSaveToLastCommit){let r=await this.plugin.gitManager.getLastCommitTime();if(r){this.saveLastAuto(r,"backup");let i=this.diff(this.plugin.settings.autoSaveInterval,r);if(i>0)return this.startAutoCommitAndSync(i),!1}}let e=this.plugin.settings.autoCommitOnlyStaged;return this.plugin.settings.differentIntervalCommitAndPush?await this.plugin.commit({fromAuto:!0,onlyStaged:e}):await this.plugin.commitAndSync({fromAutoBackup:!0,onlyStaged:e}),!0},e=>{e!==!1&&(this.saveLastAuto(new Date,"backup"),this.startAutoCommitAndSync())})}startAutoPull(e){let r=(e!=null?e:this.plugin.settings.autoPullInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPull=window.setTimeout(()=>this.doAutoPull(),r)}doAutoPull(){this.plugin.promiseQueue.addTask(()=>this.plugin.pullChangesFromRemote(),()=>{this.saveLastAuto(new Date,"pull"),this.startAutoPull()})}startAutoPush(e){let r=(e!=null?e:this.plugin.settings.autoPushInterval)*6e4;r>2147483647&&(r=2147483647),this.timeoutIDPush=window.setTimeout(()=>this.doAutoPush(),r)}doAutoPush(){this.plugin.promiseQueue.addTask(()=>this.plugin.push(),()=>{this.saveLastAuto(new Date,"push"),this.startAutoPush()})}clearAutoCommitAndSync(){var r;let e=!1;return this.timeoutIDCommitAndSync&&(window.clearTimeout(this.timeoutIDCommitAndSync),this.timeoutIDCommitAndSync=void 0,e=!0),this.plugin.autoCommitDebouncer&&((r=this.plugin.autoCommitDebouncer)==null||r.cancel(),this.plugin.autoCommitDebouncer=void 0,e=!0),e}clearAutoPull(){return this.timeoutIDPull?(window.clearTimeout(this.timeoutIDPull),this.timeoutIDPull=void 0,!0):!1}clearAutoPush(){return this.timeoutIDPush?(window.clearTimeout(this.timeoutIDPush),this.timeoutIDPush=void 0,!0):!1}diff(e,r){let n=e-Math.round((new Date().getTime()-r.getTime())/1e3/60);return Math.max(0,n)}};p();var Ni=require("obsidian");p();var Lu=require("obsidian");async function gF(t,e,r){let i=await wF(e,r);if(i.result==="failure"){new Lu.Notice(i.reason);return}let{isGitHub:n,branch:s,repo:a,user:o,filePath:l}=i;if(n){let c=t.getCursor("from").line+1,u=t.getCursor("to").line+1;c===u?window.open(`https://github.com/${o}/${a}/blob/${s}/${l}?plain=1#L${c}`):window.open(`https://github.com/${o}/${a}/blob/${s}/${l}?plain=1#L${c}-L${u}`)}else new Lu.Notice("It seems like you are not using GitHub")}async function vF(t,e){let r=await wF(t,e);if(r.result==="failure"){new Lu.Notice(r.reason);return}let{isGitHub:i,branch:n,repo:s,user:a,filePath:o}=r;i?window.open(`https://github.com/${a}/${s}/commits/${n}/${o}`):new Lu.Notice("It seems like you are not using GitHub")}async function wF(t,e){let r=await e.branchInfo(),i=r.tracking,n=r.current,s,a=e.getRelativeRepoPath(t.path);if(e instanceof Se){let l=await e.getSubmoduleOfFile(e.getRelativeRepoPath(t.path));if(l){a=l.relativeFilepath;let c=await e.git.cwd({path:l.submodule,root:!1}).status();if(i=c.tracking||void 0,n=c.current||void 0,i){let u=i.substring(0,i.indexOf("/")),f=await e.git.cwd({path:l.submodule,root:!1}).getConfig(`remote.${u}.url`,"local");if(f.value!=null)s=f.value;else return{result:"failure",reason:"Failed to get remote url of submodule"}}}}if(i==null)return{result:"failure",reason:"Remote branch is not configured"};if(n==null)return{result:"failure",reason:"Failed to get current branch name"};if(s==null){let l=i.substring(0,i.indexOf("/"));if(s=await e.getConfig(`remote.${l}.url`),s==null)return{result:"failure",reason:"Failed to get remote url"}}let o=s.match(/(?:^https:\/\/github\.com\/(.+)\/(.+?)(?:\.git)?$)|(?:^[a-zA-Z]+@github\.com:(.+)\/(.+?)(?:\.git)?$)/);if(o==null)return{result:"failure",reason:"Could not parse remote url"};{let[l,c,u,f,d]=o;return{result:"success",isGitHub:!!l,repo:u||d,user:c||f,branch:n,filePath:a}}}p();var yF=require("obsidian"),sp=class extends yF.FuzzySuggestModal{constructor(e,r){super(e.app),this.plugin=e,this.changedFiles=r,this.setPlaceholder("Not supported files will be opened by default app!")}getItems(){return this.changedFiles}getItemText(e){if(e.index=="U"&&e.workingDir=="U")return`Untracked | ${e.vaultPath}`;let r="",i="";return e.workingDir!=" "&&(r=`Working Dir: ${e.workingDir} `),e.index!=" "&&(i=`Index: ${e.index}`),`${r}${i} | ${e.vaultPath}`}onChooseItem(e,r){this.plugin.app.metadataCache.getFirstLinkpathDest(e.vaultPath,"")==null?this.app.openWithDefaultApp(e.vaultPath):this.plugin.app.workspace.openLinkText(e.vaultPath,"/")}};p();var bF=require("obsidian"),ap=class extends bF.Modal{constructor(r,i){super(r);this.content=i;this.resolve=null}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onOpen(){let{contentEl:r,titleEl:i}=this;i.setText("Edit .gitignore");let n=r.createDiv(),s=n.createEl("textarea",{text:this.content,cls:["obsidian-git-textarea"],attr:{rows:10,cols:30,wrap:"off"}});n.createEl("button",{cls:["mod-cta","obsidian-git-center-button"],text:"Save"}).addEventListener("click",()=>{this.resolve(s.value),this.close()})}onClose(){let{contentEl:r}=this;r.empty(),this.resolve&&this.resolve(void 0)}};p();var Wu=require("@codemirror/state"),_p=require("@codemirror/view");p();var Il=require("@codemirror/state");p();var Nt=class t{static createHunk(e,r,i,n){return{removed:{start:e,count:r,lines:[]},added:{start:i,count:n,lines:[]},head:`@@ -${e}${r>0?`,${r}`:""} +${i}${n>0?`,${n}`:""} @@`,vend:i+Math.max(n-1,0),type:n===0?"delete":r===0?"add":"change"}}static createPartialHunk(e,r,i){let n=r,s=i-r+1,a=0;for(let o of e){let l=o.added.count-o.removed.count,c=0;if(o.added.start>=r&&o.vend<=i)c=l;else{let u=Math.max(0,i+1-(o.added.start+o.removed.count)),f=Math.max(0,r-(o.added.start+o.removed.count));o.added.start>=r&&o.added.start<=i?c=u:o.vend>=r&&o.vend<=i?(c=l-f,n=n-f):o.added.start<=r&&o.vend>=i?(c=u-f,n=n-f):a++,r>o.vend&&(n=n-l)}s=s-c}if(a!==e.length)return s===0&&(n=n-1),this.createHunk(n,s,r,i-r+1)}patchLines(e,r=!1){let i=[];for(let n of e.removed.lines)i.push("-"+n);for(let n of e.added.lines)i.push("+"+n);return r?i.map(n=>n.replace(/\r$/,"")):i}static parseDiffLine(e){let n=e.split("@@")[1].trim().split(" "),s=n[0].substring(1).split(","),a=n[1].substring(1).split(","),o=this.createHunk(parseInt(s[0]),parseInt(s[1]||"1"),parseInt(a[0]),parseInt(a[1]||"1"));return o.head=e,o}static changeEnd(e){return e.added.count===0?e.added.start:e.removed.count===0?e.added.start+e.added.count-1:e.added.start+Math.min(e.added.count,e.removed.count)-1}static calcSigns(e,r,i,n=1,s=1/0,a){if(a&&r.type!=="add")return console.error(`Invalid hunk with untracked=${a} hunk="${r.head}"`),[];n=Math.max(1,n);let{start:o,added:l,removed:c}={start:r.added.start,added:r.added.count,removed:r.removed.count},u=this.changeEnd(r),f=r.type==="delete"&&(o===0||e&&this.changeEnd(e)===o)&&(!i||i.added.start!==o+1);f&&n===1&&(n=0);let d=[];for(let h=Math.max(o,n);h<=Math.min(u,s);h++){let m=r.type==="change"&&(c>l&&h===u||e&&e.added.start===0);d.push({type:f?"topdelete":m?"changedelete":a?"untracked":r.type,count:h===o?r.type==="add"?l:c:void 0,lnum:h+(f?1:0)})}if(r.type==="change"&&l>c&&r.vend>=n&&u<=s)for(let h=Math.max(u,n);h<=Math.min(r.vend,s);h++)d.push({type:"add",count:h===r.vend?l-c:void 0,lnum:h});return d}static createPatch(e,r,i,n=!1){let s=[`diff --git a/${e} b/${e}`,`index 000000..000000 ${i}`,`--- a/${e}`,`+++ b/${e}`],a=0;r=structuredClone(r);for(let o of r){let l=o.removed.start,c=o.removed.count,u=o.added.count;o.type==="add"&&(l=l+1);let f=o.removed.lines,d=o.added.lines;n&&([c,u]=[u,c],[f,d]=[d,f]),s.push(`@@ -${l},${c} +${l+a},${u} @@`);for(let h of f)s.push("-"+h);(n?o.added:o.removed).no_nl_at_eof&&s.push("\\ No newline at end of file");for(let h of d)s.push("+"+h);(n?o.removed:o.added).no_nl_at_eof&&s.push("\\ No newline at end of file"),o.removed.start=l+a,a=a+(u-c)}return s}getSummary(e){let r={added:0,changed:0,removed:0};for(let i of e)if(i.type==="add")r.added+=i.added.count;else if(i.type==="delete")r.removed+=i.removed.count;else if(i.type==="change"){let n=i.added.count,s=i.removed.count,a=Math.min(n,s);r.changed+=a,r.added+=n-a,r.removed+=s-a}return r}static findHunk(e,r){if(!r)return[void 0,void 0];for(let i=0;i=e)return[n,i]}return[void 0,void 0]}static findNearestHunk(e,r,i,n){if(r.length!==0){if(i==="first")return 0;if(i==="last")return r.length-1;if(i==="next"){if(r[0].added.start>e)return 0;for(let s=r.length-1;s>=0;s--)if(r[s].added.start<=e){if(s+1e)return s+1;if(n)return 0}}else if(i==="prev"){if(Math.max(r[r.length-1].vend)0&&Math.max(r[s-1].vend,1)l.added.start?n++:o.added.starta.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),m,l);else if(m&&typeof m=="object"){if(!f)throw new RangeError("The value of a property ("+h+") should be a primitive value.");s(n(h),m,u,d)}else m!=null&&u.push(h.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+m+";")}(u.length||d)&&l.push((i&&!f&&!c?a.map(i):a).join(", ")+" {"+u.join(" ")+"}")}for(let a in e)s(n(a),e[a],this.rules)}getRules(){return this.rules.join(` +`)}static newName(){let e=xF[_F]||1;return xF[_F]=e+1,Y0+e.toString(36)}static mount(e,r,i){let n=e[X0],s=i&&i.nonce;n?s&&n.setNonce(s):n=new Z0(e,s),n.mount(Array.isArray(r)?r:[r],e)}},SF=new Map,Z0=class{constructor(e,r){let i=e.ownerDocument||e,n=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&n.CSSStyleSheet){let s=SF.get(i);if(s)return e[X0]=s;this.sheet=new n.CSSStyleSheet,SF.set(i,this)}else this.styleTag=i.createElement("style"),r&&this.styleTag.setAttribute("nonce",r);this.modules=[],e[X0]=this}mount(e,r){let i=this.sheet,n=0,s=0;for(let a=0;a-1&&(this.modules.splice(l,1),s--,l=-1),l==-1){if(this.modules.splice(s++,0,o),i)for(let c=0;cc){let f=t.slice(e,r).indexOf(i.slice(n,s));if(f>-1)return[new _t(e,e+f,n,n),new _t(e+f+c,r,s,s)]}else if(c>l){let f=i.slice(n,s).indexOf(t.slice(e,r));if(f>-1)return[new _t(e,e,n,n+f),new _t(r,r,n+f+l,s)]}if(l==1||c==1)return[new _t(e,r,n,s)];let u=jF(t,e,r,i,n,s);if(u){let[f,d,h]=u;return Ba(t,e,f,i,n,d).concat(Ba(t,f+h,r,i,d+h,s))}return iV(t,e,r,i,n,s)}var Bu=1e9,Nu=0,iy=!1;function iV(t,e,r,i,n,s){let a=r-e,o=s-n;if(Bu<1e9&&Math.min(a,o)>Bu*16||Nu>0&&Date.now()>Nu)return Math.min(a,o)>Bu*64?[new _t(e,r,n,s)]:EF(t,e,r,i,n,s);let l=Math.ceil((a+o)/2);K0.reset(l),Q0.reset(l);let c=(h,m)=>t.charCodeAt(e+h)==i.charCodeAt(n+m),u=(h,m)=>t.charCodeAt(r-h-1)==i.charCodeAt(s-m-1),f=(a-o)%2!=0?Q0:null,d=f?null:K0;for(let h=0;hBu||Nu>0&&!(h&63)&&Date.now()>Nu)return EF(t,e,r,i,n,s);let m=K0.advance(h,a,o,l,f,!1,c)||Q0.advance(h,a,o,l,d,!0,u);if(m)return nV(t,e,r,e+m[0],i,n,s,n+m[1])}return[new _t(e,r,n,s)]}var dp=class{constructor(){this.vec=[]}reset(e){this.len=e<<1;for(let r=0;rr)this.end+=2;else if(f>i)this.start+=2;else if(s){let d=n+(r-i)-l;if(d>=0&&d=r-u)return[h,n+h-d]}else{let h=r-s.vec[d];if(u>=h)return[u,f]}}}return null}},K0=new dp,Q0=new dp;function nV(t,e,r,i,n,s,a,o){let l=!1;return!$l(t,i)&&++i==r&&(l=!0),!$l(n,o)&&++o==a&&(l=!0),l?[new _t(e,r,s,a)]:Ba(t,e,i,n,s,o).concat(Ba(t,i,r,n,o,a))}function GF(t,e){let r=1,i=Math.min(t,e);for(;rr||u>s||t.slice(o,c)!=i.slice(l,u)){if(a==1)return o-e-($l(t,o)?0:1);a=a>>1}else{if(c==r||u==s)return c-e;o=c,l=u}}}function sy(t,e,r,i,n,s){if(e==r||n==s||t.charCodeAt(r-1)!=i.charCodeAt(s-1))return 0;let a=GF(r-e,s-n);for(let o=r,l=s;;){let c=o-a,u=l-a;if(c>1}else{if(c==e||u==n)return r-c;o=c,l=u}}}function J0(t,e,r,i,n,s,a,o){let l=i.slice(n,s),c=null;for(;;){if(c||a=r)break;let d=t.slice(u,f),h=-1;for(;(h=l.indexOf(d,h+1))!=-1;){let m=ny(t,f,r,i,n+h+d.length,s),g=sy(t,e,u,i,n,n+h),v=d.length+m+g;(!c||c[2]>1}}function jF(t,e,r,i,n,s){let a=r-e,o=s-n;if(an.fromA-e&&i.toB>n.fromB-e&&(t[r-1]=new _t(i.fromA,n.toA,i.fromB,n.toB),t.splice(r--,1))}}function sV(t,e,r){for(;;){qF(r,1);let i=!1;for(let n=0;n3||o>3){let l=n==t.length-1?e.length:t[n+1].fromA,c=s.fromA-i,u=l-s.toA,f=AF(e,s.fromA,c),d=kF(e,s.toA,u),h=s.fromA-f,m=d-s.toA;if((!a||!o)&&h&&m){let g=Math.max(a,o),[v,w,b]=a?[e,s.fromA,s.toA]:[r,s.fromB,s.toB];g>h&&e.slice(f,s.fromA)==v.slice(b-h,b)?(s=t[n]=new _t(f,f+a,s.fromB-h,s.toB-h),f=s.fromA,d=kF(e,s.toA,l-s.toA)):g>m&&e.slice(s.toA,d)==v.slice(w,w+m)&&(s=t[n]=new _t(d-a,d,s.fromB+m,s.toB+m),d=s.toA,f=AF(e,s.fromA,s.fromA-i)),h=s.fromA-f,m=d-s.toA}if(h||m)s=t[n]=new _t(s.fromA-h,s.toA+m,s.fromB-h,s.toB+m);else if(a){if(!o){let g=CF(e,s.fromA,s.toA),v,w=g<0?-1:TF(e,s.toA,s.fromA);g>-1&&(v=g-s.fromA)<=u&&e.slice(s.fromA,g)==e.slice(s.toA,s.toA+v)?s=t[n]=s.offset(v):w>-1&&(v=s.toA-w)<=c&&e.slice(s.fromA-v,s.fromA)==e.slice(w,s.toA)&&(s=t[n]=s.offset(-v))}}else{let g=CF(r,s.fromB,s.toB),v,w=g<0?-1:TF(r,s.toB,s.fromB);g>-1&&(v=g-s.fromB)<=u&&r.slice(s.fromB,g)==r.slice(s.toB,s.toB+v)?s=t[n]=s.offset(v):w>-1&&(v=s.toB-w)<=c&&r.slice(s.fromB-v,s.fromB)==r.slice(w,s.toB)&&(s=t[n]=s.offset(-v))}}i=s.toA}return qF(t,3),t}var La;try{La=new RegExp("[\\p{Alphabetic}\\p{Number}]","u")}catch(t){}function zF(t){return t>48&&t<58||t>64&&t<91||t>96&&t<123}function VF(t,e){if(e==t.length)return 0;let r=t.charCodeAt(e);return r<192?zF(r)?1:0:La?!XF(r)||e==t.length-1?La.test(String.fromCharCode(r))?1:0:La.test(t.slice(e,e+2))?2:0:0}function WF(t,e){if(!e)return 0;let r=t.charCodeAt(e-1);return r<192?zF(r)?1:0:La?!ZF(r)||e==1?La.test(String.fromCharCode(r))?1:0:La.test(t.slice(e-2,e))?2:0:0}var YF=8;function kF(t,e,r){if(e==t.length||!WF(t,e))return e;for(let i=e,n=e+r,s=0;sn)return i;i+=a}return e}function AF(t,e,r){if(!e||!VF(t,e))return e;for(let i=e,n=e-r,s=0;st>=55296&&t<=56319,ZF=t=>t>=56320&&t<=57343;function $l(t,e){return!e||e==t.length||!XF(t.charCodeAt(e-1))||!ZF(t.charCodeAt(e))}function oV(t,e,r){var i;let n=r==null?void 0:r.override;return n?n(t,e):(Bu=((i=r==null?void 0:r.scanLimit)!==null&&i!==void 0?i:1e9)>>1,Nu=r!=null&&r.timeout?Date.now()+r.timeout:0,iy=!1,sV(t,e,Ba(t,0,t.length,e,0,e.length)))}function KF(){return!iy}function QF(t,e,r){return aV(oV(t,e,r),t,e)}var Li=$e.Facet.define({combine:t=>t[0]}),ey=$e.StateEffect.define(),lV=$e.Facet.define(),Na=$e.StateField.define({create(t){return null},update(t,e){for(let r of e.effects)r.is(ey)&&(t=r.value);for(let r of e.state.facet(lV))t=r(t,e);return t}});function ay(t){let e=t.field(Na,!1);if(!e)return null;let r=t.facet(Li);return{chunks:e,side:r?r.side:null}}var es=class t{constructor(e,r,i,n,s,a=!0){this.changes=e,this.fromA=r,this.toA=i,this.fromB=n,this.toB=s,this.precise=a}offset(e,r){return e||r?new t(this.changes,this.fromA+e,this.toA+e,this.fromB+r,this.toB+r,this.precise):this}get endA(){return Math.max(this.fromA,this.toA-1)}get endB(){return Math.max(this.fromB,this.toB-1)}static build(e,r,i){let n=QF(e.toString(),r.toString(),i);return JF(n,e,r,0,0,KF())}static updateA(e,r,i,n,s){return FF(IF(e,n,!0,i.length),e,r,i,s)}static updateB(e,r,i,n,s){return FF(IF(e,n,!1,r.length),e,r,i,s)}};function PF(t,e,r,i){let n=r.lineAt(t),s=i.lineAt(e);return n.to==t&&s.to==e&&tf+1&&v>d+1)break;h.push(m.offset(-c+i,-u+n)),[f,d]=RF(m.toA+i,m.toB+n,e,r),o++}a.push(new es(h,c,Math.max(c,f),u,Math.max(u,d),s))}return a}var lp=1e3;function $F(t,e,r,i){let n=0,s=t.length;for(;;){if(n==s){let u=0,f=0;n&&({toA:u,toB:f}=t[n-1]);let d=e-(r?u:f);return[u+d,f+d]}let a=n+s>>1,o=t[a],[l,c]=r?[o.fromA,o.toA]:[o.fromB,o.toB];if(l>e)s=a;else if(c<=e)n=a+1;else return i?[o.fromA,o.fromB]:[o.toA,o.toB]}}function IF(t,e,r,i){let n=[];return e.iterChangedRanges((s,a,o,l)=>{let c=0,u=r?e.length:i,f=0,d=r?i:e.length;s>lp&&([c,f]=$F(t,s-lp,r,!0)),a=c?n[n.length-1]={fromA:m.fromA,fromB:m.fromB,toA:u,toB:d,diffA:m.diffA+g,diffB:m.diffB+v}:n.push({fromA:c,toA:u,fromB:f,toB:d,diffA:g,diffB:v})}),n}function FF(t,e,r,i,n){if(!t.length)return e;let s=[];for(let a=0,o=0,l=0,c=0;;a++){let u=a==t.length?null:t[a],f=u?u.fromA+o:r.length,d=u?u.fromB+l:i.length;for(;cf||v.endB+l>d)break;s.push(v.offset(o,l)),c++}if(!u)break;let h=u.toA+o+u.diffA,m=u.toB+l+u.diffB,g=QF(r.sliceString(f,h),i.sliceString(d,m),n);for(let v of JF(g,r,i,f,d,KF()))s.push(v);for(o+=u.diffA,l+=u.diffB;ch&&v.fromB+l>m)break;c++}}return s}var cV={scanLimit:500},eO=Me.ViewPlugin.fromClass(class{constructor(t){({deco:this.deco,gutter:this.gutter}=DF(t))}update(t){(t.docChanged||t.viewportChanged||uV(t.startState,t.state)||fV(t.startState,t.state))&&({deco:this.deco,gutter:this.gutter}=DF(t.view))}},{decorations:t=>t.deco}),cp=$e.Prec.low((0,Me.gutter)({class:"cm-changeGutter",markers:t=>{var e;return((e=t.plugin(eO))===null||e===void 0?void 0:e.gutter)||$e.RangeSet.empty}}));function uV(t,e){return t.field(Na,!1)!=e.field(Na,!1)}function fV(t,e){return t.facet(Li)!=e.facet(Li)}var OF=Me.Decoration.line({class:"cm-changedLine"}),dV=Me.Decoration.mark({class:"cm-changedText"}),hV=Me.Decoration.mark({tagName:"ins",class:"cm-insertedLine"}),pV=Me.Decoration.mark({tagName:"del",class:"cm-deletedLine"}),MF=new class extends Me.GutterMarker{constructor(){super(...arguments),this.elementClass="cm-changedLineGutter"}};function mV(t,e,r,i,n,s){let a=r?t.fromA:t.fromB,o=r?t.toA:t.toB,l=0;if(a!=o){n.add(a,a,OF),n.add(a,o,r?pV:hV),s&&s.add(a,a,MF);for(let c=e.iterRange(a,o-1),u=a;!c.next().done;){if(c.lineBreak){u++,n.add(u,u,OF),s&&s.add(u,u,MF);continue}let f=u+c.value.length;if(i)for(;l=u)break;(a?f.toA:f.toB)>c&&(!s||!s(t.state,f,o,l))&&mV(f,t.state.doc,a,i,o,l)}return{deco:o.finish(),gutter:l&&l.finish()}}var Rl=class extends Me.WidgetType{constructor(e){super(),this.height=e}eq(e){return this.height==e.height}toDOM(){let e=document.createElement("div");return e.className="cm-mergeSpacer",e.style.height=this.height+"px",e}updateDOM(e){return e.style.height=this.height+"px",!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}},hp=$e.StateEffect.define({map:(t,e)=>t.map(e)}),Hu=$e.StateField.define({create:()=>Me.Decoration.none,update:(t,e)=>{for(let r of e.effects)if(r.is(hp))return r.value;return t.map(e.changes)},provide:t=>Me.EditorView.decorations.from(t)}),up=.01;function LF(t,e){if(t.size!=e.size)return!1;let r=t.iter(),i=e.iter();for(;r.value;){if(r.from!=i.from||Math.abs(r.value.spec.widget.height-i.value.spec.widget.height)>1)return!1;r.next(),i.next()}return!0}function gV(t,e,r){let i=new $e.RangeSetBuilder,n=new $e.RangeSetBuilder,s=t.state.field(Hu).iter(),a=e.state.field(Hu).iter(),o=0,l=0,c=0,u=0,f=t.viewport,d=e.viewport;for(let v=0;;v++){let w=vup&&(u+=A,n.add(l,l,Me.Decoration.widget({widget:new Rl(A),block:!0,side:-1})))}if(b>o+1e3&&of.from&&ld.from){let x=Math.min(f.from-o,d.from-l);o+=x,l+=x,v--}else if(w)o=w.toA,l=w.toB;else break;for(;s.value&&s.fromup&&n.add(e.state.doc.length,e.state.doc.length,Me.Decoration.widget({widget:new Rl(h),block:!0,side:1}));let m=i.finish(),g=n.finish();LF(m,t.state.field(Hu))||t.dispatch({effects:hp.of(m)}),LF(g,e.state.field(Hu))||e.dispatch({effects:hp.of(g)})}var ty=$e.StateEffect.define({map:(t,e)=>e.mapPos(t)});var ry=class extends Me.WidgetType{constructor(e){super(),this.lines=e}eq(e){return this.lines==e.lines}toDOM(e){let r=document.createElement("div");return r.className="cm-collapsedLines",r.textContent=e.state.phrase("$ unchanged lines",this.lines),r.addEventListener("click",i=>{let n=e.posAtDOM(i.target);e.dispatch({effects:ty.of(n)});let{side:s,sibling:a}=e.state.facet(Li);a&&a().dispatch({effects:ty.of(vV(n,e.state.field(Na),s=="a"))})}),r}ignoreEvent(e){return e instanceof MouseEvent}get estimatedHeight(){return 27}get type(){return"collapsed-unchanged-code"}};function vV(t,e,r){let i=0,n=0;for(let s=0;;s++){let a=s=t)return n+(t-i);[i,n]=r?[a.toA,a.toB]:[a.toB,a.toA]}}var wV=$e.StateField.define({create(t){return Me.Decoration.none},update(t,e){t=t.map(e.changes);for(let r of e.effects)r.is(ty)&&(t=t.update({filter:i=>i!=r.value}));return t},provide:t=>Me.EditorView.decorations.from(t)});function BF({margin:t=3,minSize:e=4}){return wV.init(r=>yV(r,t,e))}function yV(t,e,r){let i=new $e.RangeSetBuilder,n=t.facet(Li).side=="a",s=t.field(Na),a=1;for(let o=0;;o++){let l=o=r&&i.add(t.doc.line(c).from,t.doc.line(u).to,Me.Decoration.replace({widget:new ry(f),block:!0})),!l)break;a=t.doc.lineAt(Math.min(t.doc.length,n?l.toA:l.toB)).number}return i.finish()}var bV=Me.EditorView.styleModule.of(new op({".cm-mergeView":{overflowY:"auto"},".cm-mergeViewEditors":{display:"flex",alignItems:"stretch"},".cm-mergeViewEditor":{flexGrow:1,flexBasis:0,overflow:"hidden"},".cm-merge-revert":{width:"1.6em",flexGrow:0,flexShrink:0,position:"relative"},".cm-merge-revert button":{position:"absolute",display:"block",width:"100%",boxSizing:"border-box",textAlign:"center",background:"none",border:"none",font:"inherit",cursor:"pointer"}})),_V=Me.EditorView.baseTheme({".cm-mergeView & .cm-scroller, .cm-mergeView &":{height:"auto !important",overflowY:"visible !important"},"&.cm-merge-a .cm-changedLine, .cm-deletedChunk":{backgroundColor:"rgba(160, 128, 100, .08)"},"&.cm-merge-b .cm-changedLine, .cm-inlineChangedLine":{backgroundColor:"rgba(100, 160, 128, .08)"},"&light.cm-merge-a .cm-changedText, &light .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ee443366, #ee443366) bottom/100% 2px no-repeat"},"&dark.cm-merge-a .cm-changedText, &dark .cm-deletedChunk .cm-deletedText":{background:"linear-gradient(#ffaa9966, #ffaa9966) bottom/100% 2px no-repeat"},"&light.cm-merge-b .cm-changedText":{background:"linear-gradient(#22bb22aa, #22bb22aa) bottom/100% 2px no-repeat"},"&dark.cm-merge-b .cm-changedText":{background:"linear-gradient(#88ff88aa, #88ff88aa) bottom/100% 2px no-repeat"},"&.cm-merge-b .cm-deletedText":{background:"#ff000033"},".cm-insertedLine, .cm-deletedLine, .cm-deletedLine del":{textDecoration:"none"},".cm-deletedChunk":{paddingLeft:"6px","& .cm-chunkButtons":{position:"absolute",insetInlineEnd:"5px"},"& button":{border:"none",cursor:"pointer",color:"white",margin:"0 2px",borderRadius:"3px","&[name=accept]":{background:"#2a2"},"&[name=reject]":{background:"#d43"}}},".cm-collapsedLines":{padding:"5px 5px 5px 10px",cursor:"pointer","&:before":{content:'"\u299A"',marginInlineEnd:"7px"},"&:after":{content:'"\u299A"',marginInlineStart:"7px"}},"&light .cm-collapsedLines":{color:"#444",background:"linear-gradient(to bottom, transparent 0, #f3f3f3 30%, #f3f3f3 70%, transparent 100%)"},"&dark .cm-collapsedLines":{color:"#ddd",background:"linear-gradient(to bottom, transparent 0, #222 30%, #222 70%, transparent 100%)"},".cm-changeGutter":{width:"3px",paddingLeft:"1px"},"&light.cm-merge-a .cm-changedLineGutter, &light .cm-deletedLineGutter":{background:"#e43"},"&dark.cm-merge-a .cm-changedLineGutter, &dark .cm-deletedLineGutter":{background:"#fa9"},"&light.cm-merge-b .cm-changedLineGutter":{background:"#2b2"},"&dark.cm-merge-b .cm-changedLineGutter":{background:"#8f8"},".cm-inlineChangedLineGutter":{background:"#75d"}}),NF=new $e.Compartment,fp=new $e.Compartment,pp=class{constructor(e){this.revertDOM=null,this.revertToA=!1,this.revertToLeft=!1,this.measuring=-1,this.diffConf=e.diffConfig||cV;let r=[$e.Prec.low(eO),_V,bV,Hu,Me.EditorView.updateListener.of(f=>{this.measuring<0&&(f.heightChanged||f.viewportChanged)&&!f.transactions.some(d=>d.effects.some(h=>h.is(hp)))&&this.measure()})],i=[Li.of({side:"a",sibling:()=>this.b,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&i.push(cp);let n=$e.EditorState.create({doc:e.a.doc,selection:e.a.selection,extensions:[e.a.extensions||[],Me.EditorView.editorAttributes.of({class:"cm-merge-a"}),fp.of(i),r]}),s=[Li.of({side:"b",sibling:()=>this.a,highlightChanges:e.highlightChanges!==!1,markGutter:e.gutter!==!1})];e.gutter!==!1&&s.push(cp);let a=$e.EditorState.create({doc:e.b.doc,selection:e.b.selection,extensions:[e.b.extensions||[],Me.EditorView.editorAttributes.of({class:"cm-merge-b"}),fp.of(s),r]});this.chunks=es.build(n.doc,a.doc,this.diffConf);let o=[Na.init(()=>this.chunks),NF.of(e.collapseUnchanged?BF(e.collapseUnchanged):[])];n=n.update({effects:$e.StateEffect.appendConfig.of(o)}).state,a=a.update({effects:$e.StateEffect.appendConfig.of(o)}).state,this.dom=document.createElement("div"),this.dom.className="cm-mergeView",this.editorDOM=this.dom.appendChild(document.createElement("div")),this.editorDOM.className="cm-mergeViewEditors";let l=e.orientation||"a-b",c=document.createElement("div");c.className="cm-mergeViewEditor";let u=document.createElement("div");u.className="cm-mergeViewEditor",this.editorDOM.appendChild(l=="a-b"?c:u),this.editorDOM.appendChild(l=="a-b"?u:c),this.a=new Me.EditorView({state:n,parent:c,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.a)}),this.b=new Me.EditorView({state:a,parent:u,root:e.root,dispatchTransactions:f=>this.dispatch(f,this.b)}),this.setupRevertControls(!!e.revertControls,e.revertControls=="b-to-a",e.renderRevertControl),e.parent&&e.parent.appendChild(this.dom),this.scheduleMeasure()}dispatch(e,r){if(e.some(i=>i.docChanged)){let i=e[e.length-1],n=e.reduce((a,o)=>a.compose(o.changes),$e.ChangeSet.empty(e[0].startState.doc.length));this.chunks=r==this.a?es.updateA(this.chunks,i.newDoc,this.b.state.doc,n,this.diffConf):es.updateB(this.chunks,this.a.state.doc,i.newDoc,n,this.diffConf),r.update([...e,i.state.update({effects:ey.of(this.chunks)})]);let s=r==this.a?this.b:this.a;s.update([s.state.update({effects:ey.of(this.chunks)})]),this.scheduleMeasure()}else r.update(e)}reconfigure(e){if("diffConfig"in e&&(this.diffConf=e.diffConfig),"orientation"in e){let s=e.orientation!="b-a";if(s!=(this.editorDOM.firstChild==this.a.dom.parentNode)){let a=this.a.dom.parentNode,o=this.b.dom.parentNode;a.remove(),o.remove(),this.editorDOM.insertBefore(s?a:o,this.editorDOM.firstChild),this.editorDOM.appendChild(s?o:a),this.revertToLeft=!this.revertToLeft,this.revertDOM&&(this.revertDOM.textContent="")}}if("revertControls"in e||"renderRevertControl"in e){let s=!!this.revertDOM,a=this.revertToA,o=this.renderRevert;"revertControls"in e&&(s=!!e.revertControls,a=e.revertControls=="b-to-a"),"renderRevertControl"in e&&(o=e.renderRevertControl),this.setupRevertControls(s,a,o)}let r="highlightChanges"in e,i="gutter"in e,n="collapseUnchanged"in e;if(r||i||n){let s=[],a=[];if(r||i){let o=this.a.state.facet(Li),l=i?e.gutter!==!1:o.markGutter,c=r?e.highlightChanges!==!1:o.highlightChanges;s.push(fp.reconfigure([Li.of({side:"a",sibling:()=>this.b,highlightChanges:c,markGutter:l}),l?cp:[]])),a.push(fp.reconfigure([Li.of({side:"b",sibling:()=>this.a,highlightChanges:c,markGutter:l}),l?cp:[]]))}if(n){let o=NF.reconfigure(e.collapseUnchanged?BF(e.collapseUnchanged):[]);s.push(o),a.push(o)}this.a.dispatch({effects:s}),this.b.dispatch({effects:a})}this.scheduleMeasure()}setupRevertControls(e,r,i){this.revertToA=r,this.revertToLeft=this.revertToA==(this.editorDOM.firstChild==this.a.dom.parentNode),this.renderRevert=i,!e&&this.revertDOM?(this.revertDOM.remove(),this.revertDOM=null):e&&!this.revertDOM?(this.revertDOM=this.editorDOM.insertBefore(document.createElement("div"),this.editorDOM.firstChild.nextSibling),this.revertDOM.addEventListener("mousedown",n=>this.revertClicked(n)),this.revertDOM.className="cm-merge-revert"):this.revertDOM&&(this.revertDOM.textContent="")}scheduleMeasure(){if(this.measuring<0){let e=this.dom.ownerDocument.defaultView||window;this.measuring=e.requestAnimationFrame(()=>{this.measuring=-1,this.measure()})}}measure(){gV(this.a,this.b,this.chunks),this.revertDOM&&this.updateRevertButtons()}updateRevertButtons(){let e=this.revertDOM,r=e.firstChild,i=this.a.viewport,n=this.b.viewport;for(let s=0;si.to||a.fromB>n.to)break;if(a.fromA-1&&(this.dom.ownerDocument.defaultView||window).cancelAnimationFrame(this.measuring),this.dom.remove()}};function HF(t){let e=t.nextSibling;return t.remove(),e}var oy=require("@codemirror/state");function ly(t,e,r){let i=[],n=t.split(` +`),s=e.split(` +`);for(let a of r){let{oldStart:o,oldLines:l,newStart:c,newLines:u}=a,f=Nt.createHunk(o,l,c,u);if(a.oldLines>0){for(let d=o;dn.length&&n.last()!=""&&(f.removed.no_nl_at_eof=!0)}if(a.newLines>0){for(let d=c;ds.length&&s.last()!=""&&(f.added.no_nl_at_eof=!0)}i.push(f)}return i}function cy(t,e,r){let i=e.lineAt(t.fromA).number,n=t.fromA==t.toA?0:mp(e,t.endA)-i+1,s=r.lineAt(t.fromB).number,a=t.fromB==t.toB?0:mp(r,t.endB)-s+1,o={oldStart:i,oldLines:n,newStart:s,newLines:a};return o.oldLines==0&&(o.oldStart-=1),o.newLines==0&&(o.newStart-=1),o}var tO={scanLimit:1e3,timeout:200};function xV(t,e,r,i){let n=oy.Text.of(t.split(` +`)),s=oy.Text.of(e.split(` +`)),a=r&&i?es.updateB(r,n,s,i,tO):es.build(n,s,tO),o=[];for(let l=0;lh.vend&&(f=f-(h.added.count-h.removed.count)),o>h.vend&&(d=d-(h.added.count-h.removed.count));c.added.lines=u.compareText.split(` +`).slice(f-1,d),u.compareTextHead?c.removed.lines=u.compareTextHead.split(` +`).slice(c.removed.start-1,c.removed.start-1+c.removed.count):c.removed.lines=[]}else c.added.lines=e.doc.toString().split(` +`).slice(a-1,o),o===e.doc.lines&&!e.doc.toString().endsWith(` +`)&&(c.added.no_nl_at_eof=!0),c.removed.lines=u.compareText.split(` +`).slice(c.removed.start-1,c.removed.start-1+c.removed.count),c.removed.start+c.removed.count-1===u.compareText.split(` +`).length&&!u.compareText.endsWith(` +`)&&(c.removed.no_nl_at_eof=!0);return c}},Ir=Il.StateField.define({create:t=>{},update:(t,e)=>{let r=t?{...t}:{maxDiffTimeMs:0,hunks:[],stagedHunks:[],chunks:void 0,isDirty:!1},i=!1;for(let n of e.effects)n.is(Ol)&&(r.compareText=n.value.compareText,r.compareTextHead=n.value.compareTextHead,i=(t==null?void 0:t.compareText)!==n.value.compareText,i&&(r.chunks=void 0)),n.is(Uu)&&iO(r,n.value,e.state);if(r.compareText!==void 0){if(i||e.docChanged){r.isDirty=!0;let n=SV(e,r.compareText,r.chunks,r.maxDiffTimeMs);n&&iO(r,n,e.state)}}else r.compareText=void 0,r.compareTextHead=void 0,r.chunks=void 0,r.hunks=[],r.stagedHunks=[],r.isDirty=!1;return r}});function iO(t,e,r){var n,s;t.hunks=e.hunks,t.chunks=e.chunks,t.isDirty=!1,t.maxDiffTimeMs=Math.max(.95*t.maxDiffTimeMs,e.diffDuration);let i=r.field(Fl.editorInfoField).file;(s=(n=Fi.plugin)==null?void 0:n.editorIntegration.signsFeature.changeStatusBar)==null||s.display(t.hunks,i)}var uy=Il.StateField.define({create:()=>({debouncer:(0,Fl.debounce)(t=>{let{state:e,compareText:r,previousChunks:i,changeDesc:n}=t,s=nO(e,r,i,n);e.field(Fl.editorEditorField).dispatch({effects:Uu.of(s)})},1e3,!0),maxDiffTimeMs:0}),update:(t,e)=>{var r;for(let i of e.effects)if(i.is(Uu))return t.changeDesc=void 0,t;return!t.changeDesc&&e.changes?t.changeDesc=e.changes:t.changeDesc=(r=t.changeDesc)==null?void 0:r.composeDesc(e.changes),t}});function nO(t,e,r,i){let n=t.doc.toString(),s=performance.now(),{hunks:a,chunks:o}=rO(e,n,r,i),l=performance.now()-s;return{hunks:a,chunks:o,diffDuration:l}}function SV(t,e,r,i){let n=t.state,s=Math.abs(t.changes.length-t.changes.newLength),a=n.field(uy);if(s>1e3||i>16)a.debouncer({state:n,compareText:e,previousChunks:r,changeDesc:a.changeDesc});else return a.changeDesc=void 0,nO(n,e,r,t.changes)}var Ol=Il.StateEffect.define(),Uu=Il.StateEffect.define();function sO(t,e){return e.update({effects:Ol.of(t)})}p();p();p();var it;(function(t){t.INSERT="insert",t.DELETE="delete",t.CONTEXT="context"})(it||(it={}));var aO={LINE_BY_LINE:"line-by-line",SIDE_BY_SIDE:"side-by-side"},oO={LINES:"lines",WORDS:"words",NONE:"none"},lO={WORD:"word",CHAR:"char"},Ha;(function(t){t.AUTO="auto",t.DARK="dark",t.LIGHT="light"})(Ha||(Ha={}));p();var EV=["-","[","]","/","{","}","(",")","*","+","?",".","\\","^","$","|"],kV=RegExp("["+EV.join("\\")+"]","g");function cO(t){return t.replace(kV,"\\$&")}function fy(t){return t&&t.replace(/\\/g,"/")}function uO(t){let e,r,i,n=0;for(e=0,i=t.length;e1?r[r.length-1]:e}function dO(t,e){return e.reduce((r,i)=>r||t.startsWith(i),!1)}var hO=["a/","b/","i/","w/","c/","o/"];function Vs(t,e,r){let i=r!==void 0?[...hO,r]:hO,n=e?new RegExp(`^${cO(e)} "?(.+?)"?$`):new RegExp('^"?(.+?)"?$'),[,s=""]=n.exec(t)||[],a=i.find(l=>s.indexOf(l)===0);return(a?s.slice(a.length):s).replace(/\s+\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}(?:\.\d+)? [+-]\d{4}.*$/,"")}function AV(t,e){return Vs(t,"---",e)}function TV(t,e){return Vs(t,"+++",e)}function pO(t,e={}){let r=[],i=null,n=null,s=null,a=null,o=null,l=null,c=null,u="--- ",f="+++ ",d="@@",h=/^old mode (\d{6})/,m=/^new mode (\d{6})/,g=/^deleted file mode (\d{6})/,v=/^new file mode (\d{6})/,w=/^copy from "?(.+)"?/,b=/^copy to "?(.+)"?/,k=/^rename from "?(.+)"?/,x=/^rename to "?(.+)"?/,E=/^similarity index (\d+)%/,A=/^dissimilarity index (\d+)%/,y=/^index ([\da-z]+)\.\.([\da-z]+)\s*(\d{6})?/,S=/^Binary files (.*) and (.*) differ/,_=/^GIT binary patch/,T=/^index ([\da-z]+),([\da-z]+)\.\.([\da-z]+)/,P=/^mode (\d{6}),(\d{6})\.\.(\d{6})/,D=/^new file mode (\d{6})/,B=/^deleted file mode (\d{6}),(\d{6})/,N=t.replace(/\\ No newline at end of file/g,"").replace(/\r\n?/g,` +`).split(` +`);function ce(){n!==null&&i!==null&&(i.blocks.push(n),n=null)}function Pe(){i!==null&&(!i.oldName&&l!==null&&(i.oldName=l),!i.newName&&c!==null&&(i.newName=c),i.newName&&(r.push(i),i=null)),l=null,c=null}function ve(){ce(),Pe(),i={blocks:[],deletedLines:0,addedLines:0}}function se(z){ce();let Q;i!==null&&((Q=/^@@ -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@.*/.exec(z))?(i.isCombined=!1,s=parseInt(Q[1],10),o=parseInt(Q[2],10)):(Q=/^@@@ -(\d+)(?:,\d+)? -(\d+)(?:,\d+)? \+(\d+)(?:,\d+)? @@@.*/.exec(z))?(i.isCombined=!0,s=parseInt(Q[1],10),a=parseInt(Q[2],10),o=parseInt(Q[3],10)):(z.startsWith(d)&&console.error("Failed to parse lines, starting in 0!"),s=0,o=0,i.isCombined=!1)),n={lines:[],oldStartLine:s,oldStartLine2:a,newStartLine:o,header:z}}function xe(z){if(i===null||n===null||s===null||o===null)return;let Q={content:z},j=i.isCombined?["+ "," +","++"]:["+"],Le=i.isCombined?["- "," -","--"]:["-"];dO(z,j)?(i.addedLines++,Q.type=it.INSERT,Q.oldNumber=void 0,Q.newNumber=o++):dO(z,Le)?(i.deletedLines++,Q.type=it.DELETE,Q.oldNumber=s++,Q.newNumber=void 0):(Q.type=it.CONTEXT,Q.oldNumber=s++,Q.newNumber=o++),n.lines.push(Q)}function we(z,Q){let j=Q;for(;j{if(!z||z.startsWith("*"))return;let j,Le=N[Q-1],lr=N[Q+1],Ft=N[Q+2];if(z.startsWith("diff --git")||z.startsWith("diff --combined")){if(ve(),(j=/^diff --git "?([a-ciow]\/.+)"? "?([a-ciow]\/.+)"?/.exec(z))&&(l=Vs(j[1],void 0,e.dstPrefix),c=Vs(j[2],void 0,e.srcPrefix)),i===null)throw new Error("Where is my file !!!");i.isGitDiff=!0;return}if(z.startsWith("Binary files")&&!(i!=null&&i.isGitDiff)){if(ve(),(j=/^Binary files "?([a-ciow]\/.+)"? and "?([a-ciow]\/.+)"? differ/.exec(z))&&(l=Vs(j[1],void 0,e.dstPrefix),c=Vs(j[2],void 0,e.srcPrefix)),i===null)throw new Error("Where is my file !!!");i.isBinary=!0;return}if((!i||!i.isGitDiff&&i&&z.startsWith(u)&&lr.startsWith(f)&&Ft.startsWith(d))&&ve(),i!=null&&i.isTooBig)return;if(i&&(typeof e.diffMaxChanges=="number"&&i.addedLines+i.deletedLines>e.diffMaxChanges||typeof e.diffMaxLineLength=="number"&&z.length>e.diffMaxLineLength)){i.isTooBig=!0,i.addedLines=0,i.deletedLines=0,i.blocks=[],n=null;let At=typeof e.diffTooBigMessage=="function"?e.diffTooBigMessage(r.length):"Diff too big to be displayed";se(At);return}if(z.startsWith(u)&&lr.startsWith(f)||z.startsWith(f)&&Le.startsWith(u)){if(i&&!i.oldName&&z.startsWith("--- ")&&(j=AV(z,e.srcPrefix))){i.oldName=j,i.language=fO(i.oldName,i.language);return}if(i&&!i.newName&&z.startsWith("+++ ")&&(j=TV(z,e.dstPrefix))){i.newName=j,i.language=fO(i.newName,i.language);return}}if(i&&(z.startsWith(d)||i.isGitDiff&&i.oldName&&i.newName&&!n)){se(z);return}if(n&&(z.startsWith("+")||z.startsWith("-")||z.startsWith(" "))){xe(z);return}let Ie=!we(z,Q);if(i===null)throw new Error("Where is my file !!!");(j=h.exec(z))?i.oldMode=j[1]:(j=m.exec(z))?i.newMode=j[1]:(j=g.exec(z))?(i.deletedFileMode=j[1],i.isDeleted=!0):(j=v.exec(z))?(i.newFileMode=j[1],i.isNew=!0):(j=w.exec(z))?(Ie&&(i.oldName=j[1]),i.isCopy=!0):(j=b.exec(z))?(Ie&&(i.newName=j[1]),i.isCopy=!0):(j=k.exec(z))?(Ie&&(i.oldName=j[1]),i.isRename=!0):(j=x.exec(z))?(Ie&&(i.newName=j[1]),i.isRename=!0):(j=S.exec(z))?(i.isBinary=!0,i.oldName=Vs(j[1],void 0,e.srcPrefix),i.newName=Vs(j[2],void 0,e.dstPrefix),se("Binary file")):_.test(z)?(i.isBinary=!0,se(z)):(j=E.exec(z))?i.unchangedPercentage=parseInt(j[1],10):(j=A.exec(z))?i.changedPercentage=parseInt(j[1],10):(j=y.exec(z))?(i.checksumBefore=j[1],i.checksumAfter=j[2],j[3]&&(i.mode=j[3])):(j=T.exec(z))?(i.checksumBefore=[j[2],j[3]],i.checksumAfter=j[1]):(j=P.exec(z))?(i.oldMode=[j[2],j[3]],i.newMode=j[1]):(j=D.exec(z))?(i.newFileMode=j[1],i.isNew=!0):(j=B.exec(z))&&(i.deletedFileMode=j[1],i.isDeleted=!0)}),ce(),Pe(),r}p();p();p();function PV(t,e){if(t.length===0)return e.length;if(e.length===0)return t.length;let r=[],i;for(i=0;i<=e.length;i++)r[i]=[i];let n;for(n=0;n<=t.length;n++)r[0][n]=n;for(i=1;i<=e.length;i++)for(n=1;n<=t.length;n++)e.charAt(i-1)===t.charAt(n-1)?r[i][n]=r[i-1][n-1]:r[i][n]=Math.min(r[i-1][n-1]+1,Math.min(r[i][n-1]+1,r[i-1][n]+1));return r[e.length][t.length]}function Ml(t){return(e,r)=>{let i=t(e).trim(),n=t(r).trim();return PV(i,n)/(i.length+n.length)}}function Dl(t){function e(i,n,s=new Map){let a=1/0,o;for(let l=0;l0||o.indexB>0)&&(k=v.concat(k)),(i.length>d||n.length>h)&&(k=k.concat(b)),k}return r}var Vt={INSERTS:"d2h-ins",DELETES:"d2h-del",CONTEXT:"d2h-cntx",INFO:"d2h-info",INSERT_CHANGES:"d2h-ins d2h-change",DELETE_CHANGES:"d2h-del d2h-change"},Ua={matching:oO.NONE,matchWordsThreshold:.25,maxLineLengthHighlight:1e4,diffStyle:lO.WORD,colorScheme:Ha.LIGHT},vn="/",mO=Ml(t=>t.value),RV=Dl(mO);function hy(t){return t.indexOf("dev/null")!==-1}function $V(t){return t.replace(/(]*>((.|\n)*?)<\/ins>)/g,"")}function IV(t){return t.replace(/(]*>((.|\n)*?)<\/del>)/g,"")}function Ll(t){switch(t){case it.CONTEXT:return Vt.CONTEXT;case it.INSERT:return Vt.INSERTS;case it.DELETE:return Vt.DELETES}}function Bl(t){switch(t){case Ha.DARK:return"d2h-dark-color-scheme";case Ha.AUTO:return"d2h-auto-color-scheme";case Ha.LIGHT:default:return"d2h-light-color-scheme"}}function FV(t){return t?2:1}function Ws(t){return t.slice(0).replace(/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")}function yi(t,e,r=!0){let i=FV(e);return{prefix:t.substring(0,i),content:r?Ws(t.substring(i)):t.substring(i)}}function Ga(t){let e=fy(t.oldName),r=fy(t.newName);if(e!==r&&!hy(e)&&!hy(r)){let i=[],n=[],s=e.split(vn),a=r.split(vn),o=s.length,l=a.length,c=0,u=o-1,f=l-1;for(;cc&&f>c&&s[u]===a[f];)n.unshift(a[f]),u-=1,f-=1;let d=i.join(vn),h=n.join(vn),m=s.slice(c,u+1).join(vn),g=a.slice(c,f+1).join(vn);return d.length&&h.length?d+vn+"{"+m+" \u2192 "+g+"}"+vn+h:d.length?d+vn+"{"+m+" \u2192 "+g+"}":h.length?"{"+m+" \u2192 "+g+"}"+vn+h:e+" \u2192 "+r}else return hy(r)?e:r}function Nl(t){return`d2h-${uO(Ga(t)).toString().slice(-6)}`}function Hl(t){let e="file-changed";return t.isRename||t.isCopy?e="file-renamed":t.isNew?e="file-added":t.isDeleted?e="file-deleted":t.newName!==t.oldName&&(e="file-renamed"),e}function vp(t,e,r,i={}){let{matching:n,maxLineLengthHighlight:s,matchWordsThreshold:a,diffStyle:o}=Object.assign(Object.assign({},Ua),i),l=yi(t,r,!1),c=yi(e,r,!1);if(l.content.length>s||c.content.length>s)return{oldLine:{prefix:l.prefix,content:Ws(l.content)},newLine:{prefix:c.prefix,content:Ws(c.content)}};let u=o==="char"?Av(l.content,c.content):Iv(l.content,c.content),f=[];if(o==="word"&&n==="words"){let h=u.filter(v=>v.removed),m=u.filter(v=>v.added);RV(m,h).forEach(v=>{v[0].length===1&&v[1].length===1&&mO(v[0][0],v[1][0]){let g=m.added?"ins":m.removed?"del":null,v=f.indexOf(m)>-1?' class="d2h-change"':"",w=Ws(m.value);return g!==null?`${h}<${g}${v}>${w}`:`${h}${w}`},"");return{oldLine:{prefix:l.prefix,content:$V(d)},newLine:{prefix:c.prefix,content:IV(d)}}}var gO="file-summary",OV="icon",MV={colorScheme:Ua.colorScheme},wp=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},MV),r)}render(e){let r=e.map(i=>this.hoganUtils.render(gO,"line",{fileHtmlId:Nl(i),oldName:i.oldName,newName:i.newName,fileName:Ga(i),deletedLines:"-"+i.deletedLines,addedLines:"+"+i.addedLines},{fileIcon:this.hoganUtils.template(OV,Hl(i))})).join(` +`);return this.hoganUtils.render(gO,"wrapper",{colorScheme:Bl(this.config.colorScheme),filesNumber:e.length,files:r})}};p();var my=Object.assign(Object.assign({},Ua),{renderNothingWhenEmpty:!1,matchingMaxComparisons:2500,maxLineSizeInBlockForComparison:200}),Gu="generic",vO="line-by-line",DV="icon",LV="tag",ju=class{constructor(e,r={}){this.hoganUtils=e,this.config=Object.assign(Object.assign({},my),r)}render(e){let r=e.map(i=>{let n;return i.blocks.length?n=this.generateFileHtml(i):n=this.generateEmptyDiff(),this.makeFileDiffHtml(i,n)}).join(` +`);return this.hoganUtils.render(Gu,"wrapper",{colorScheme:Bl(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let i=this.hoganUtils.template(vO,"file-diff"),n=this.hoganUtils.template(Gu,"file-path"),s=this.hoganUtils.template(DV,"file"),a=this.hoganUtils.template(LV,Hl(e));return i.render({file:e,fileHtmlId:Nl(e),diffs:r,filePath:n.render({fileDiffName:Ga(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return this.hoganUtils.render(Gu,"empty-diff",{contentClass:"d2h-code-line",CSSLineClass:Vt})}generateFileHtml(e){let r=Dl(Ml(i=>yi(i.content,e.isCombined).content));return e.blocks.map(i=>{let n=this.hoganUtils.render(Gu,"block-header",{CSSLineClass:Vt,blockHeader:e.isTooBig?i.header:Ws(i.header),lineClass:"d2h-code-linenumber",contentClass:"d2h-code-line"});return this.applyLineGroupping(i).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e,e.isCombined,l,c);n+=u,n+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=yi(l.content,e.isCombined);n+=this.generateSingleLineHtml(e,{type:Vt.CONTEXT,prefix:c,content:u,oldNumber:l.oldNumber,newNumber:l.newNumber})});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e,e.isCombined,a,o);n+=l,n+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),n}).join(` +`)}applyLineGroupping(e){let r=[],i=[],n=[];for(let s=0;s0)&&(r.push([[],i,n]),i=[],n=[]),a.type===it.CONTEXT?r.push([[a],[],[]]):a.type===it.INSERT&&i.length===0?r.push([[],[],[a]]):a.type===it.INSERT&&i.length>0?n.push(a):a.type===it.DELETE&&i.push(a)}return(i.length||n.length)&&(r.push([[],i,n]),i=[],n=[]),r}applyRematchMatching(e,r,i){let n=e.length*r.length,s=gp(e.concat(r).map(o=>o.content.length));return n{let n;return i.blocks.length?n=this.generateFileHtml(i):n=this.generateEmptyDiff(),this.makeFileDiffHtml(i,n)}).join(` +`);return this.hoganUtils.render(qu,"wrapper",{colorScheme:Bl(this.config.colorScheme),content:r})}makeFileDiffHtml(e,r){if(this.config.renderNothingWhenEmpty&&Array.isArray(e.blocks)&&e.blocks.length===0)return"";let i=this.hoganUtils.template(BV,"file-diff"),n=this.hoganUtils.template(qu,"file-path"),s=this.hoganUtils.template(NV,"file"),a=this.hoganUtils.template(HV,Hl(e));return i.render({file:e,fileHtmlId:Nl(e),diffs:r,filePath:n.render({fileDiffName:Ga(e)},{fileIcon:s,fileTag:a})})}generateEmptyDiff(){return{right:"",left:this.hoganUtils.render(qu,"empty-diff",{contentClass:"d2h-code-side-line",CSSLineClass:Vt})}}generateFileHtml(e){let r=Dl(Ml(i=>yi(i.content,e.isCombined).content));return e.blocks.map(i=>{let n={left:this.makeHeaderHtml(i.header,e),right:this.makeHeaderHtml("")};return this.applyLineGroupping(i).forEach(([s,a,o])=>{if(a.length&&o.length&&!s.length)this.applyRematchMatching(a,o,r).map(([l,c])=>{let{left:u,right:f}=this.processChangedLines(e.isCombined,l,c);n.left+=u,n.right+=f});else if(s.length)s.forEach(l=>{let{prefix:c,content:u}=yi(l.content,e.isCombined),{left:f,right:d}=this.generateLineHtml({type:Vt.CONTEXT,prefix:c,content:u,number:l.oldNumber},{type:Vt.CONTEXT,prefix:c,content:u,number:l.newNumber});n.left+=f,n.right+=d});else if(a.length||o.length){let{left:l,right:c}=this.processChangedLines(e.isCombined,a,o);n.left+=l,n.right+=c}else console.error("Unknown state reached while processing groups of lines",s,a,o)}),n}).reduce((i,n)=>({left:i.left+n.left,right:i.right+n.right}),{left:"",right:""})}applyLineGroupping(e){let r=[],i=[],n=[];for(let s=0;s0)&&(r.push([[],i,n]),i=[],n=[]),a.type===it.CONTEXT?r.push([[a],[],[]]):a.type===it.INSERT&&i.length===0?r.push([[],[],[a]]):a.type===it.INSERT&&i.length>0?n.push(a):a.type===it.DELETE&&i.push(a)}return(i.length||n.length)&&(r.push([[],i,n]),i=[],n=[]),r}applyRematchMatching(e,r,i){let n=e.length*r.length,s=gp(e.concat(r).map(o=>o.content.length));return n'),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(i.rp("'),i.b(i.v(i.f("fileName",t,e,0))),i.b(""),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(' '),i.b(i.v(i.f("addedLines",t,e,0))),i.b(""),i.b(` +`+r),i.b(' '),i.b(i.v(i.f("deletedLines",t,e,0))),i.b(""),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b(""),i.fl()},partials:{"'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(' Files changed ('),i.b(i.v(i.f("filesNumber",t,e,0))),i.b(")"),i.b(` +`+r),i.b(' hide'),i.b(` +`+r),i.b(' show'),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b('
    '),i.b(` +`+r),i.b(" "),i.b(i.t(i.f("files",t,e,0))),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b(""),i.fl()},partials:{},subs:{}});wt["generic-block-header"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b(""),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b('
'),i.s(i.f("blockHeader",t,e,1),t,e,0,156,173,"{{ }}")&&(i.rs(t,e,function(n,s,a){a.b(a.t(a.f("blockHeader",n,s,0)))}),t.pop()),i.s(i.f("blockHeader",t,e,1),t,e,1,0,0,"")||i.b(" "),i.b("
"),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b(""),i.fl()},partials:{},subs:{}});wt["generic-empty-diff"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b(""),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(" File without changes"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b(""),i.fl()},partials:{},subs:{}});wt["generic-file-path"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b(''),i.b(` +`+r),i.b(i.rp("'),i.b(i.v(i.f("fileDiffName",t,e,0))),i.b(""),i.b(` +`+r),i.b(i.rp(""),i.b(` +`+r),i.b('"),i.fl()},partials:{""),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(" "),i.b(i.t(i.f("lineNumber",t,e,0))),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.s(i.f("prefix",t,e,1),t,e,0,162,238,"{{ }}")&&(i.rs(t,e,function(n,s,a){a.b(' '),a.b(a.t(a.f("prefix",n,s,0))),a.b(""),a.b(` +`+r)}),t.pop()),i.s(i.f("prefix",t,e,1),t,e,1,0,0,"")||(i.b('  '),i.b(` +`+r)),i.s(i.f("content",t,e,1),t,e,0,371,445,"{{ }}")&&(i.rs(t,e,function(n,s,a){a.b(' '),a.b(a.t(a.f("content",n,s,0))),a.b(""),a.b(` +`+r)}),t.pop()),i.s(i.f("content",t,e,1),t,e,1,0,0,"")||(i.b('
'),i.b(` +`+r)),i.b("
"),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b(""),i.fl()},partials:{},subs:{}});wt["generic-wrapper"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(` +`+r),i.b(" "),i.b(i.t(i.f("content",t,e,0))),i.b(` +`+r),i.b("
"),i.fl()},partials:{},subs:{}});wt["icon-file-added"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});wt["icon-file-changed"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});wt["icon-file-deleted"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});wt["icon-file-renamed"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});wt["icon-file"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('"),i.fl()},partials:{},subs:{}});wt["line-by-line-file-diff"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(" "),i.b(i.t(i.f("filePath",t,e,0))),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(" "),i.b(i.t(i.f("diffs",t,e,0))),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.fl()},partials:{},subs:{}});wt["line-by-line-numbers"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(i.v(i.f("oldNumber",t,e,0))),i.b("
"),i.b(` +`+r),i.b('
'),i.b(i.v(i.f("newNumber",t,e,0))),i.b("
"),i.fl()},partials:{},subs:{}});wt["side-by-side-file-diff"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('
'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(" "),i.b(i.t(i.f("filePath",t,e,0))),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(" "),i.b(i.t(i.d("diffs.left",t,e,0))),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b('
'),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(' '),i.b(` +`+r),i.b(" "),i.b(i.t(i.d("diffs.right",t,e,0))),i.b(` +`+r),i.b(" "),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.b(` +`+r),i.b("
"),i.fl()},partials:{},subs:{}});wt["tag-file-added"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('ADDED'),i.fl()},partials:{},subs:{}});wt["tag-file-changed"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('CHANGED'),i.fl()},partials:{},subs:{}});wt["tag-file-deleted"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('DELETED'),i.fl()},partials:{},subs:{}});wt["tag-file-renamed"]=new xt.Template({code:function(t,e,r){var i=this;return i.b(r=r||""),i.b('RENAMED'),i.fl()},partials:{},subs:{}});var Vu=class{constructor({compiledTemplates:e={},rawTemplates:r={}}){let i=Object.entries(r).reduce((n,[s,a])=>{let o=by.compile(a,{asString:!1});return Object.assign(Object.assign({},n),{[s]:o})},{});this.preCompiledTemplates=Object.assign(Object.assign(Object.assign({},wt),e),i)}static compile(e){return by.compile(e,{asString:!1})}render(e,r,i,n,s){let a=this.templateKey(e,r);try{return this.preCompiledTemplates[a].render(i,n,s)}catch(o){throw new Error(`Could not find template to render '${a}'`)}}template(e,r){return this.preCompiledTemplates[this.templateKey(e,r)]}templateKey(e,r){return`${e}-${r}`}};var GV=Object.assign(Object.assign(Object.assign({},my),gy),{outputFormat:aO.LINE_BY_LINE,drawFileList:!0});function bp(t,e={}){let r=Object.assign(Object.assign({},GV),e),i=typeof t=="string"?pO(t,r):t,n=new Vu(r),{colorScheme:s}=r,a={colorScheme:s},o=r.drawFileList?new wp(n,a).render(i):"",l=r.outputFormat==="side-by-side"?new zu(n,r).render(i):new ju(n,r).render(i);return o+l}var kO=Mt(SO());var ja=require("obsidian"),_y=Wu.StateEffect.define();function Ys(t,e){let r=t.state,i=r.field(xp),n=r.field(Ir),s=r.doc.lineAt(e!=null?e:r.selection.main.head).number,a=Nt.findHunk(s,n==null?void 0:n.hunks)[0];if(!a)return;let o=r.doc.line(Math.max(1,a.added.start)).from,l=i.has(o);return r.field(ja.editorEditorField).dispatch({effects:_y.of({pos:o,add:!l})})}var xp=Wu.StateField.define({create:()=>new Set,update(t,e){let r=new Set;for(let i of e.effects)i.is(_y)&&(i.value.add?t.add(i.value.pos):t.delete(i.value.pos));for(let i of t)r.add(e.changes.mapPos(i));return r}}),AO=Wu.StateField.define({create:t=>EO(t),update(t,e){return e.docChanged||e.effects.some(r=>r.is(Ol)||r.is(_y))?EO(e.state):t},provide:t=>_p.showTooltip.computeN([t],e=>e.field(t))}),TO=_p.EditorView.baseTheme({".cm-tooltip.git-diff-tooltip":{"z-index":"var(--layer-popover)",backgroundColor:"var(--background-primary-alt)",border:"var(--border-width) solid var(--background-primary-alt)",borderRadius:"var(--radius-s)"},".cm-tooltip.git-diff-tooltip .tooltip-toolbar":{display:"flex",padding:"var(--size-2-1)"}});function EO(t){let e=t.field(Ir);return e?[...t.field(xp)].map(i=>{let n=t.doc.lineAt(i),s=Nt.findHunk(n.number,e.hunks)[0];if(s)return{pos:i,above:!1,arrow:!1,strictSide:!0,clip:!1,create:()=>jV(s,t,i)}}).filter(i=>i!==void 0):[]}function jV(t,e,r){var g,v;let i=Nt.createPatch("file",[t],"10064",!1).join(` +`)+` +`,n=bp(i,{colorScheme:kO.ColorSchemeType.AUTO,diffStyle:"word",drawFileList:!1}),s=new DOMParser().parseFromString(n,"text/html").querySelector(".d2h-file-diff"),a=document.createElement("div"),o=document.createElement("div");o.addClass("tooltip-toolbar");let l=(w,b)=>{let k=document.createElement("div");return(0,ja.setIcon)(k,w),k.setAttr("aria-label",b),k.addClass("clickable-icon"),k},c=l("x","Close hunk"),u=l("plus","Stage hunk"),f=l("undo","Reset hunk");o.appendChild(c),o.appendChild(u),o.appendChild(f),a.appendChild(o),a.appendChild(s),a.addClass("git-diff-tooltip","git-diff");let d=e.field(ja.editorEditorField);c.onclick=()=>{Ys(d,r)},u.onclick=()=>{let w=Fi.plugin;w&&(w.promiseQueue.addTask(()=>w.hunkActions.stageHunk(r)),Ys(d,r))},f.onclick=()=>{let w=Fi.plugin;w&&(w.hunkActions.resetHunk(r),Ys(d,r))};let h=(v=(g=Fi.plugin)==null?void 0:g.app.workspace.getActiveViewOfType(ja.MarkdownView))==null?void 0:v.scope,m=h==null?void 0:h.register(null,"Escape",(w,b)=>{Ys(d,r)});return{dom:a,destroy:()=>{m&&(h==null||h.unregister(m))},update:w=>{r=w.changes.mapPos(r)}}}function CO(t){let e=t.app;t.addCommand({id:"edit-gitignore",name:"Edit .gitignore",callback:async()=>{let r=t.gitManager.getRelativeVaultPath(".gitignore");await e.vault.adapter.exists(r)||await e.vault.adapter.write(r,"");let i=await e.vault.adapter.read(r),s=await new ap(e,i).openAndGetReslt();s!==void 0&&(await e.vault.adapter.write(r,s),await t.refresh())}}),t.addCommand({id:"open-git-view",name:"Open source control view",callback:async()=>{var n;let r=e.workspace.getLeavesOfType(zt.type),i;r.length===0?(i=(n=e.workspace.getRightLeaf(!1))!=null?n:e.workspace.getLeaf(),await i.setViewState({type:zt.type})):i=r.first(),await e.workspace.revealLeaf(i),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-history-view",name:"Open history view",callback:async()=>{var n;let r=e.workspace.getLeavesOfType(gi.type),i;r.length===0?(i=(n=e.workspace.getRightLeaf(!1))!=null?n:e.workspace.getLeaf(),await i.setViewState({type:gi.type})):i=r.first(),await e.workspace.revealLeaf(i),e.workspace.trigger("obsidian-git:refresh")}}),t.addCommand({id:"open-diff-view",name:"Open diff view",checkCallback:r=>{let i=e.workspace.getActiveFile();if(r)return i!==null;{let n=t.gitManager.getRelativeRepoPath(i.path,!0);t.tools.openDiff({aFile:n,aRef:""})}}}),t.addCommand({id:"view-file-on-github",name:"Open file on GitHub",editorCallback:(r,{file:i})=>{if(i)return gF(r,i,t.gitManager)}}),t.addCommand({id:"view-history-on-github",name:"Open file history on GitHub",editorCallback:(r,{file:i})=>{if(i)return vF(i,t.gitManager)}}),t.addCommand({id:"pull",name:"Pull",callback:()=>t.promiseQueue.addTask(()=>t.pullChangesFromRemote())}),t.addCommand({id:"fetch",name:"Fetch",callback:()=>t.promiseQueue.addTask(()=>t.fetch())}),t.addCommand({id:"switch-to-remote-branch",name:"Switch to remote branch",callback:()=>t.promiseQueue.addTask(()=>t.switchRemoteBranch())}),t.addCommand({id:"add-to-gitignore",name:"Add file to .gitignore",checkCallback:r=>{let i=e.workspace.getActiveFile();if(r)return i!==null;t.addFileToGitignore(i.path,i instanceof Ni.TFolder).catch(n=>t.displayError(n))}}),t.addCommand({id:"push",name:"Commit-and-sync",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1}))}),t.addCommand({id:"backup-and-close",name:"Commit-and-sync and then close Obsidian",callback:()=>t.promiseQueue.addTask(async()=>{await t.commitAndSync({fromAutoBackup:!1}),window.close()})}),t.addCommand({id:"commit-push-specified-message",name:"Commit-and-sync with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commitAndSync({fromAutoBackup:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit",name:"Commit all changes",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1}))}),t.addCommand({id:"commit-specified-message",name:"Commit all changes with specific message",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0}))}),t.addCommand({id:"commit-smart",name:"Commit",callback:()=>t.promiseQueue.addTask(async()=>{let i=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!1,onlyStaged:i})})}),t.addCommand({id:"commit-staged",name:"Commit staged",checkCallback:function(r){if(r)return!1;t.promiseQueue.addTask(async()=>t.commit({fromAuto:!1,requestCustomMessage:!1}))}}),Ni.Platform.isDesktopApp&&t.addCommand({id:"commit-amend-staged-specified-message",name:"Amend staged",callback:()=>t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0,amend:!0}))}),t.addCommand({id:"commit-smart-specified-message",name:"Commit with specific message",callback:()=>t.promiseQueue.addTask(async()=>{let i=(await t.updateCachedStatus()).staged.length>0;return t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:i})})}),t.addCommand({id:"commit-staged-specified-message",name:"Commit staged with specific message",checkCallback:function(r){return r?!1:t.promiseQueue.addTask(()=>t.commit({fromAuto:!1,requestCustomMessage:!0,onlyStaged:!0}))}}),t.addCommand({id:"push2",name:"Push",callback:()=>t.promiseQueue.addTask(()=>t.push())}),t.addCommand({id:"stage-current-file",name:"Stage current file",checkCallback:r=>{let i=e.workspace.getActiveFile();if(r)return i!==null;t.promiseQueue.addTask(()=>t.stageFile(i))}}),t.addCommand({id:"unstage-current-file",name:"Unstage current file",checkCallback:r=>{let i=e.workspace.getActiveFile();if(r)return i!==null;t.promiseQueue.addTask(()=>t.unstageFile(i))}}),t.addCommand({id:"edit-remotes",name:"Edit remotes",callback:()=>t.editRemotes().catch(r=>t.displayError(r))}),t.addCommand({id:"remove-remote",name:"Remove remote",callback:()=>t.removeRemote().catch(r=>t.displayError(r))}),t.addCommand({id:"set-upstream-branch",name:"Set upstream branch",callback:()=>t.setUpstreamBranch().catch(r=>t.displayError(r))}),t.addCommand({id:"delete-repo",name:"CAUTION: Delete repository",callback:async()=>{await e.vault.adapter.exists(`${t.settings.basePath}/.git`)?await new Qe(t,{options:["NO","YES"],placeholder:"Do you really want to delete the repository (.git directory)? plugin action cannot be undone.",onlySelection:!0}).openAndGetResult()==="YES"&&(await e.vault.adapter.rmdir(`${t.settings.basePath}/.git`,!0),new Ni.Notice("Successfully deleted repository. Reloading plugin..."),t.unloadPlugin(),await t.init({fromReload:!0})):new Ni.Notice("No repository found")}}),t.addCommand({id:"init-repo",name:"Initialize a new repo",callback:()=>t.createNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"clone-repo",name:"Clone an existing remote repo",callback:()=>t.cloneNewRepo().catch(r=>t.displayError(r))}),t.addCommand({id:"list-changed-files",name:"List changed files",callback:async()=>{if(await t.isAllInitialized())try{let r=await t.updateCachedStatus();if(r.changed.length+r.staged.length>500){t.displayError("Too many changes to display");return}new sp(t,r.all).open()}catch(r){t.displayError(r)}}}),t.addCommand({id:"switch-branch",name:"Switch branch",callback:()=>{t.switchBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"create-branch",name:"Create new branch",callback:()=>{t.createBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"delete-branch",name:"Delete branch",callback:()=>{t.deleteBranch().catch(r=>t.displayError(r))}}),t.addCommand({id:"discard-all",name:"CAUTION: Discard all changes",callback:async()=>{let r=await t.discardAll();switch(r){case"discard":new Ni.Notice("Discarded all changes in tracked files.");break;case"delete":new Ni.Notice("Discarded all files.");break;case!1:break;default:wh(r)}}}),t.addCommand({id:"pause-automatic-routines",name:"Pause/Resume automatic routines",callback:()=>{let r=!t.localStorage.getPausedAutomatics();t.localStorage.setPausedAutomatics(r),r?(t.automaticsManager.unload(),new Ni.Notice("Paused automatic routines.")):(t.automaticsManager.reload("commit","push","pull"),new Ni.Notice("Resumed automatic routines."))}}),t.addCommand({id:"raw-command",name:"Raw command",checkCallback:r=>{let i=t.gitManager;if(r)return i instanceof Se;t.tools.runRawCommand().catch(n=>t.displayError(n))}}),t.addCommand({id:"toggle-line-author-info",name:"Toggle line author information",callback:()=>{var r;return(r=t.settingsTab)==null?void 0:r.configureLineAuthorShowStatus(!t.settings.lineAuthor.show)}}),t.addCommand({id:"reset-hunk",name:"Reset hunk",editorCheckCallback(r,i,n){if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.hunkActions.resetHunk()}}),t.addCommand({id:"stage-hunk",name:"Stage hunk",editorCheckCallback:(r,i,n)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.promiseQueue.addTask(()=>t.hunkActions.stageHunk())}}),t.addCommand({id:"preview-hunk",name:"Preview hunk",editorCheckCallback:(r,i,n)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;let s=t.hunkActions.editor.editor;Ys(s)}}),t.addCommand({id:"next-hunk",name:"Go to next hunk",editorCheckCallback:(r,i,n)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.hunkActions.goToHunk("next")}}),t.addCommand({id:"prev-hunk",name:"Go to previous hunk",editorCheckCallback:(r,i,n)=>{if(r)return t.settings.hunks.hunkCommands&&t.hunkActions.editor!==void 0;t.hunkActions.goToHunk("prev")}})}p();var Sp=class{constructor(e){this.plugin=e;this.prefix=this.plugin.manifest.id+":",this.app=e.app}migrate(){let e=["password","hostname","conflict","lastAutoPull","lastAutoBackup","lastAutoPush","gitPath","pluginDisabled"];for(let r of e){let i=localStorage.getItem(this.prefix+r);this.app.loadLocalStorage(this.prefix+r)==null&&i!=null&&i!=null&&(this.app.saveLocalStorage(this.prefix+r,i),localStorage.removeItem(this.prefix+r))}}getPassword(){return this.app.loadLocalStorage(this.prefix+"password")}setPassword(e){return this.app.saveLocalStorage(this.prefix+"password",e)}getUsername(){return this.app.loadLocalStorage(this.prefix+"username")}setUsername(e){return this.app.saveLocalStorage(this.prefix+"username",e)}getHostname(){return this.app.loadLocalStorage(this.prefix+"hostname")}setHostname(e){return this.app.saveLocalStorage(this.prefix+"hostname",e)}getConflict(){return this.app.loadLocalStorage(this.prefix+"conflict")=="true"}setConflict(e){return this.app.saveLocalStorage(this.prefix+"conflict",`${e}`)}getLastAutoPull(){return this.app.loadLocalStorage(this.prefix+"lastAutoPull")}setLastAutoPull(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPull",e)}getLastAutoBackup(){return this.app.loadLocalStorage(this.prefix+"lastAutoBackup")}setLastAutoBackup(e){return this.app.saveLocalStorage(this.prefix+"lastAutoBackup",e)}getLastAutoPush(){return this.app.loadLocalStorage(this.prefix+"lastAutoPush")}setLastAutoPush(e){return this.app.saveLocalStorage(this.prefix+"lastAutoPush",e)}getGitPath(){return this.app.loadLocalStorage(this.prefix+"gitPath")}setGitPath(e){return this.app.saveLocalStorage(this.prefix+"gitPath",e)}getPATHPaths(){var e,r;return(r=(e=this.app.loadLocalStorage(this.prefix+"PATHPaths"))==null?void 0:e.split(":"))!=null?r:[]}setPATHPaths(e){return this.app.saveLocalStorage(this.prefix+"PATHPaths",e.join(":"))}getEnvVars(){var e;return JSON.parse((e=this.app.loadLocalStorage(this.prefix+"envVars"))!=null?e:"[]")}setEnvVars(e){return this.app.saveLocalStorage(this.prefix+"envVars",JSON.stringify(e))}getPluginDisabled(){return this.app.loadLocalStorage(this.prefix+"pluginDisabled")=="true"}setPluginDisabled(e){return this.app.saveLocalStorage(this.prefix+"pluginDisabled",`${e}`)}getPausedAutomatics(){return this.app.loadLocalStorage(this.prefix+"pausedAutomatics")=="true"}setPausedAutomatics(e){return this.app.saveLocalStorage(this.prefix+"pausedAutomatics",`${e}`)}};p();var Ul=require("obsidian");var Yu=class{constructor(e){this.plugin=e}async hasTooBigFiles(e){let r=await this.plugin.gitManager.branchInfo(),i=r.tracking?Zn(r.tracking)[0]:null;if(!i)return!1;let n=await this.plugin.gitManager.getRemoteUrl(i);if(n!=null&&n.includes("github.com")){let s=[],a=this.plugin.gitManager;for(let o of e){let l=this.plugin.app.vault.getAbstractFileByPath(o.vaultPath),c=!1;if(l instanceof Ul.TFile)l.stat.size>=1e8&&(c=!0);else{let u=await this.plugin.app.vault.adapter.stat(o.vaultPath);u&&u.size>=1e8&&(c=!0)}if(c){let u=!1;a instanceof Se&&(u=await a.isFileTrackedByLFS(o.path)),u||s.push(o)}}if(s.length>0)return this.plugin.displayError(`Aborted commit, because the following files are too big: +- ${s.map(o=>o.vaultPath).join(` +- `)} +Please remove them or add to .gitignore.`),!0}return!1}async writeAndOpenFile(e){e!==void 0&&await this.plugin.app.vault.adapter.write(al,e);let r=!1;this.plugin.app.workspace.iterateAllLeaves(i=>{i.getDisplayText()!=""&&al.startsWith(i.getDisplayText())&&(r=!0)}),r||await this.plugin.app.workspace.openLinkText(al,"/",!0)}openDiff({aFile:e,bFile:r,aRef:i,bRef:n,event:s}){var l,c;let a=this.plugin.settings.diffStyle;Ul.Platform.isMobileApp&&(a="git_unified");let o={aFile:e,bFile:r!=null?r:e,aRef:i,bRef:n};a=="split"?(l=Mi(this.plugin.app,s))==null||l.setViewState({type:Ls.type,active:!0,state:o}):a=="git_unified"&&((c=Mi(this.plugin.app,s))==null||c.setViewState({type:Bs.type,active:!0,state:o}))}async runRawCommand(){let e=this.plugin.gitManager;if(!(e instanceof Se))return;let i=await new Qe(this.plugin,{placeholder:"push origin master",allowEmpty:!1}).openAndGetResult();i!==void 0&&this.plugin.promiseQueue.addTask(async()=>{let n=new Ul.Notice(`Running '${i}'...`,999999);try{let s=await e.rawCommand(i);s?(n.setMessage(s),window.setTimeout(()=>n.hide(),5e3)):n.hide()}catch(s){throw n.hide(),s}})}};p();var Ep=require("obsidian");var qa=class extends Ep.ItemView{constructor(r,i){super(r);this.plugin=i;this.gettingDiff=!1;this.parser=new DOMParser,this.navigation=!0,this.contentEl.addClass("git-diff"),this.gitRefreshRef=this.app.workspace.on("obsidian-git:status-changed",()=>{this.refresh().catch(console.error)})}getViewType(){return Bs.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let i=this.state.bFile.split("/").last();return i!=null&&i.endsWith(".md")&&(i=i.slice(0,-3)),`Diff: ${i}`}return Bs.name}getIcon(){return Bs.icon}async setState(r,i){this.state=r,Ep.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await this.refresh()}getState(){return this.state}onClose(){return this.app.workspace.offref(this.gitRefreshRef),this.app.workspace.offref(this.gitViewRefreshRef),super.onClose()}async onOpen(){return await this.refresh(),super.onOpen()}async refresh(){var r;if((r=this.state)!=null&&r.bFile&&!this.gettingDiff&&this.plugin.gitManager){this.gettingDiff=!0;try{let i=await this.plugin.gitManager.getDiffString(this.state.bFile,this.state.aRef=="HEAD",this.state.bRef);this.contentEl.empty();let n=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);if(!i){if(this.plugin.gitManager instanceof Se&&await this.plugin.gitManager.isTracked(this.state.bFile))i=[`--- ${this.state.aFile}`,`+++ ${this.state.bFile}`,""].join(` +`);else if(await this.app.vault.adapter.exists(n)){let s=await this.app.vault.adapter.read(n);i=[...`--- /dev/null ++++ ${this.state.bFile} +@@ -0,0 +1,${s.split(` +`).length} @@`.split(` +`),...s.split(` +`).map(o=>`+${o}`)].join(` +`)}}if(i){let s=this.parser.parseFromString(bp(i),"text/html").querySelector(".d2h-file-diff");this.contentEl.append(s)}else{let s=this.contentEl.createDiv({cls:"obsidian-git-center"});s.createSpan({text:"\u26A0\uFE0F",attr:{style:"font-size: 2em"}}),s.createEl("br"),s.createSpan({text:"File not found: "+this.state.bFile})}}finally{this.gettingDiff=!1}}}};p();var ts=require("obsidian");var jl=require("@codemirror/commands");var kp=require("@codemirror/search"),Gl=require("@codemirror/state"),_i=require("@codemirror/view");var za=class extends ts.ItemView{constructor(r,i){super(r);this.plugin=i;this.refreshing=!1;this.ignoreNextModification=!1;this.navigation=!0,this.registerEvent(this.app.workspace.on("obsidian-git:status-changed",()=>{this.mergeView?this.updateRefEditors().catch(console.error):this.createMergeView().catch(console.error)})),this.intervalRef=window.setInterval(()=>{this.mergeView&&this.updateRefEditors().catch(console.error)},30*1e3),this.registerEvent(this.app.vault.on("modify",n=>{this.state.bRef==null&&n.path===this.state.bFile&&(this.ignoreNextModification?this.ignoreNextModification=!1:this.updateModifiableEditor().catch(console.error))})),this.registerEvent(this.app.vault.on("delete",n=>{this.state.bRef==null&&n.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("create",n=>{this.state.bRef==null&&n.path===this.state.bFile&&this.createMergeView().catch(console.error)})),this.registerEvent(this.app.vault.on("rename",(n,s)=>{this.state.bRef==null&&(n.path===this.state.bFile||s===this.state.bFile)&&this.createMergeView().catch(console.error)})),this.fileSaveDebouncer=(0,ts.debounce)(n=>{let s=this.state.bFile;s&&(this.ignoreNextModification=!0,this.plugin.app.vault.adapter.write(this.plugin.gitManager.getRelativeVaultPath(s),n).catch(a=>this.plugin.displayError(a)))},1e3,!1)}getViewType(){return Ls.type}getDisplayText(){var r;if(((r=this.state)==null?void 0:r.bFile)!=null){let i=this.state.bFile.split("/").last();i!=null&&i.endsWith(".md")&&(i=i.slice(0,-3));let n;return this.state.bRef==null?n=" (Working Tree)":this.state.bRef==""?n=" (Index)":n="("+this.state.bRef.substring(0,7)+")",`Diff: ${i} ${n}`}return Ls.name}getIcon(){return Ls.icon}async setState(r,i){this.state=r,ts.Platform.isMobile&&(this.leaf.view.titleEl.textContent=this.getDisplayText()),await super.setState(r,i),await this.createMergeView()}getState(){return this.state}onClose(){return window.clearInterval(this.intervalRef),super.onClose()}async onOpen(){return await this.createMergeView(),super.onOpen()}async gitShow(r,i){try{return await this.plugin.gitManager.show(r,i,!1)}catch(n){if(n instanceof Rr&&(n.message.includes("does not exist")||n.message.includes("unknown revision or path")||n.message.includes("exists on disk, but not in")||n.message.includes("fatal: bad object")))return n.message.includes("fatal: bad object")&&this.plugin.displayError(n.message),"";throw n}}async bShouldBeEditable(){if(this.state.bRef!=null)return!1;let r=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);return await this.app.vault.adapter.exists(r)}async updateModifiableEditor(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.b;this.refreshing=!0;let i=await this.app.vault.adapter.read(this.state.bFile);if(i!=r.state.doc.toString()){let n=r.state.update({changes:{from:0,to:r.state.doc.length,insert:i},annotations:[Gl.Transaction.remote.of(!0)]});r.dispatch(n)}this.refreshing=!1}async updateRefEditors(){if(!this.mergeView||this.refreshing)return;let r=this.mergeView.a,i=this.mergeView.b;this.refreshing=!0;let n=await this.gitShow(this.state.aRef,this.state.aFile),s;if(this.state.bRef!=null&&(s=await this.gitShow(this.state.bRef,this.state.bFile)),n!=r.state.doc.toString()){let a=r.state.update({changes:{from:0,to:r.state.doc.length,insert:n}});r.dispatch(a)}if(s!=null&&s!=i.state.doc.toString()){let a=i.state.update({changes:{from:0,to:i.state.doc.length,insert:s}});i.dispatch(a)}this.refreshing=!1}renderButtons(){let r=document.createElement("div"),i=r.createDiv();if(i.addClass("clickable-icon"),i.setAttr("aria-label",this.state.bRef==null?"Stage hunk":"Unstage hunk"),(0,ts.setIcon)(i,this.state.bRef==null?"plus":"minus"),i.onmousedown=async n=>{var h;let s=this.mergeView.b,a=this.mergeView.a,o=ay(s.state),l=(h=r.parentElement)==null?void 0:h.indexOf(r),c=o.chunks[l],u=cy(c,a.state.doc,s.state.doc),f=ly(this.mergeView.a.state.doc.toString(),this.mergeView.b.state.doc.toString(),[u])[0],d=Nt.createPatch(this.state.bFile,[f],"100644",this.state.bRef!=null).join(` +`)+` +`;await this.plugin.gitManager.applyPatch(d),this.plugin.app.workspace.trigger("obsidian-git:refresh")},this.state.bRef==null){let n=r.createDiv();n.addClass("clickable-icon"),n.setAttr("aria-label","Reset hunk"),(0,ts.setIcon)(n,"undo"),n.onmousedown=s=>{var f;let a=this.mergeView.a,o=this.mergeView.b,l=ay(o.state),c=(f=r.parentElement)==null?void 0:f.indexOf(r),u=l.chunks[c];if(u){let d=u.fromA,h=u.toA,m=u.fromB,g=u.toB,v=a.state.sliceDoc(d,Math.max(d,h-1));d!=h&&g<=o.state.doc.length&&(v+=a.state.lineBreak),o.dispatch({changes:{from:m,to:Math.min(o.state.doc.length,g),insert:v},userEvent:"revert"})}}}return r.onmousedown=n=>{n.preventDefault(),n.stopPropagation()},r}async createMergeView(){var r,i,n;if((r=this.state)!=null&&r.aFile&&((i=this.state)!=null&&i.bFile)&&!this.refreshing&&this.plugin.gitManager){this.refreshing=!0,(n=this.mergeView)==null||n.destroy();let s=this.containerEl.children[1];s.empty(),this.contentEl.addClass("git-split-diff-view","git-diff"),this.bIsEditable=await this.bShouldBeEditable();let a=await this.gitShow(this.state.aRef,this.state.aFile),o;if(this.state.bRef!=null)o=await this.gitShow(this.state.bRef,this.state.bFile);else{let g=this.plugin.gitManager.getRelativeVaultPath(this.state.bFile);await this.app.vault.adapter.exists(g)?o=await this.app.vault.adapter.read(g):o=""}let l=[(0,_i.lineNumbers)(),(0,kp.highlightSelectionMatches)(),(0,_i.drawSelection)(),_i.keymap.of([...jl.standardKeymap,jl.indentWithTab]),(0,jl.history)(),(0,kp.search)(),_i.EditorView.lineWrapping],c=this,u=_i.ViewPlugin.define(g=>({update(v){if(v.docChanged&&!v.transactions.some(w=>w.annotation(Gl.Transaction.remote))){let w=g.state.doc.toString();c.fileSaveDebouncer(w)}}})),f={doc:a,extensions:[...l,_i.EditorView.editable.of(!1),Gl.EditorState.readOnly.of(!0)]},d=[...l];this.bIsEditable?d.push(u):d.push(_i.EditorView.editable.of(!1),Gl.EditorState.readOnly.of(!0));let h={doc:o,extensions:d};s.addClasses(["cm-s-obsidian","mod-cm6","markdown-source-view","cm-content"]);let m=this.plugin.gitManager instanceof Se&&(this.state.bRef===void 0||this.state.bRef==="");this.mergeView=new pp({b:h,a:f,collapseUnchanged:{minSize:6,margin:4},renderRevertControl:m?()=>this.renderButtons():void 0,revertControls:m?"a-to-b":void 0,diffConfig:{scanLimit:this.bIsEditable?1e3:1e4},parent:s}),this.refreshing=!1}}};p();var sD=require("obsidian");p();p();p();var PO="5";var RO,$O,IO;typeof window!="undefined"&&((IO=($O=(RO=window.__svelte)!=null?RO:window.__svelte={}).v)!=null?IO:$O.v=new Set).add(PO);p();p();p();var Xu="[",wn="[!",Va="]",rs={};var Je=Symbol(),xi=Symbol("filename"),FO=Symbol("hmr"),OO="http://www.w3.org/1999/xhtml";p();p();p();p();var Ap=!0;p();var M=!1;p();var is=Array.isArray,MO=Array.prototype.indexOf,Hi=Array.prototype.includes,ql=Array.from,xy=Object.keys,tr=Object.defineProperty,Fr=Object.getOwnPropertyDescriptor,Sy=Object.getOwnPropertyDescriptors,Ey=Object.prototype,DO=Array.prototype,zl=Object.getPrototypeOf,ky=Object.isExtensible;function Ay(t){return typeof t=="function"}var Or=()=>{};function Tp(t){for(var e=0;e{t=i,e=n});return{promise:r,resolve:t,reject:e}}p();p();var Wt=Symbol("$state"),Zu=Symbol("legacy props"),LO=Symbol(""),Pp=Symbol("proxy path"),yn=new class extends Error{constructor(){super(...arguments);ze(this,"name","StaleReactionError");ze(this,"message","The reaction that called `getAbortSignal()` was re-run or destroyed")}};var Vl=3,Mr=8;p();p();function Rp(t){if(M){let e=new Error(`lifecycle_outside_component +\`${t}(...)\` can only be used during component initialisation +https://svelte.dev/e/lifecycle_outside_component`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/lifecycle_outside_component")}function BO(){if(M){let t=new Error("async_derived_orphan\nCannot create a `$derived(...)` with an `await` expression outside of an effect tree\nhttps://svelte.dev/e/async_derived_orphan");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/async_derived_orphan")}function Ty(){if(M){let t=new Error("bind_invalid_checkbox_value\nUsing `bind:value` together with a checkbox input is not allowed. Use `bind:checked` instead\nhttps://svelte.dev/e/bind_invalid_checkbox_value");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/bind_invalid_checkbox_value")}function NO(){if(M){let t=new Error(`derived_references_self +A derived value cannot reference itself recursively +https://svelte.dev/e/derived_references_self`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/derived_references_self")}function Cy(t,e,r){if(M){let i=new Error(`each_key_duplicate +${r?`Keyed each block has duplicate key \`${r}\` at indexes ${t} and ${e}`:`Keyed each block has duplicate key at indexes ${t} and ${e}`} +https://svelte.dev/e/each_key_duplicate`);throw i.name="Svelte error",i}else throw new Error("https://svelte.dev/e/each_key_duplicate")}function HO(t){if(M){let e=new Error(`effect_in_teardown +\`${t}\` cannot be used inside an effect cleanup function +https://svelte.dev/e/effect_in_teardown`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_in_teardown")}function UO(){if(M){let t=new Error("effect_in_unowned_derived\nEffect cannot be created inside a `$derived` value that was not itself created inside an effect\nhttps://svelte.dev/e/effect_in_unowned_derived");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_in_unowned_derived")}function GO(t){if(M){let e=new Error(`effect_orphan +\`${t}\` can only be used inside an effect (e.g. during component initialisation) +https://svelte.dev/e/effect_orphan`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/effect_orphan")}function jO(){if(M){let t=new Error(`effect_update_depth_exceeded +Maximum update depth exceeded. This typically indicates that an effect reads and writes the same piece of state +https://svelte.dev/e/effect_update_depth_exceeded`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/effect_update_depth_exceeded")}function qO(){if(M){let t=new Error(`hydration_failed +Failed to hydrate the application +https://svelte.dev/e/hydration_failed`);throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/hydration_failed")}function zO(t){if(M){let e=new Error(`props_invalid_value +Cannot do \`bind:${t}={undefined}\` when \`${t}\` has a fallback value +https://svelte.dev/e/props_invalid_value`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/props_invalid_value")}function VO(t){if(M){let e=new Error(`rune_outside_svelte +The \`${t}\` rune is only available inside \`.svelte\` and \`.svelte.js/ts\` files +https://svelte.dev/e/rune_outside_svelte`);throw e.name="Svelte error",e}else throw new Error("https://svelte.dev/e/rune_outside_svelte")}function WO(){if(M){let t=new Error("state_descriptors_fixed\nProperty descriptors defined on `$state` objects must contain `value` and always be `enumerable`, `configurable` and `writable`.\nhttps://svelte.dev/e/state_descriptors_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_descriptors_fixed")}function YO(){if(M){let t=new Error("state_prototype_fixed\nCannot set prototype of `$state` object\nhttps://svelte.dev/e/state_prototype_fixed");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_prototype_fixed")}function XO(){if(M){let t=new Error("state_unsafe_mutation\nUpdating state inside `$derived(...)`, `$inspect(...)` or a template expression is forbidden. If the value should not be reactive, declare it without `$state`\nhttps://svelte.dev/e/state_unsafe_mutation");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/state_unsafe_mutation")}function ZO(){if(M){let t=new Error("svelte_boundary_reset_onerror\nA `` `reset` function cannot be called while an error is still being handled\nhttps://svelte.dev/e/svelte_boundary_reset_onerror");throw t.name="Svelte error",t}else throw new Error("https://svelte.dev/e/svelte_boundary_reset_onerror")}p();p();p();var Xs="font-weight: bold",Zs="font-weight: normal";function KO(t,e){M?console.warn(`%c[svelte] await_waterfall +%cAn async derived, \`${t}\` (${e}) was not read immediately after it resolved. This often indicates an unnecessary waterfall, which can slow down your app +https://svelte.dev/e/await_waterfall`,Xs,Zs):console.warn("https://svelte.dev/e/await_waterfall")}function QO(t,e,r){M?console.warn(`%c[svelte] hydration_attribute_changed +%cThe \`${t}\` attribute on \`${e}\` changed its value between server and client renders. The client value, \`${r}\`, will be ignored in favour of the server value +https://svelte.dev/e/hydration_attribute_changed`,Xs,Zs):console.warn("https://svelte.dev/e/hydration_attribute_changed")}function Wa(t){M?console.warn(`%c[svelte] hydration_mismatch +%c${t?`Hydration failed because the initial UI does not match what was rendered on the server. The error occurred near ${t}`:"Hydration failed because the initial UI does not match what was rendered on the server"} +https://svelte.dev/e/hydration_mismatch`,Xs,Zs):console.warn("https://svelte.dev/e/hydration_mismatch")}function JO(){M?console.warn(`%c[svelte] lifecycle_double_unmount +%cTried to unmount a component that was not mounted +https://svelte.dev/e/lifecycle_double_unmount`,Xs,Zs):console.warn("https://svelte.dev/e/lifecycle_double_unmount")}function $p(t){M?console.warn(`%c[svelte] state_proxy_equality_mismatch +%cReactive \`$state(...)\` proxies and the values they proxy have different identities. Because of this, comparisons with \`${t}\` will produce unexpected results +https://svelte.dev/e/state_proxy_equality_mismatch`,Xs,Zs):console.warn("https://svelte.dev/e/state_proxy_equality_mismatch")}function eM(){M?console.warn(`%c[svelte] state_proxy_unmount +%cTried to unmount a state proxy, rather than a component +https://svelte.dev/e/state_proxy_unmount`,Xs,Zs):console.warn("https://svelte.dev/e/state_proxy_unmount")}function tM(){M?console.warn("%c[svelte] svelte_boundary_reset_noop\n%cA `` `reset` function only resets the boundary the first time it is called\nhttps://svelte.dev/e/svelte_boundary_reset_noop",Xs,Zs):console.warn("https://svelte.dev/e/svelte_boundary_reset_noop")}function rM(t){M?console.warn(`%c[svelte] transition_slide_display +%cThe \`slide\` transition does not work correctly for elements with \`display: ${t}\` +https://svelte.dev/e/transition_slide_display`,Xs,Zs):console.warn("https://svelte.dev/e/transition_slide_display")}var ie=!1;function Ht(t){ie=t}var ge;function je(t){if(t===null)throw Wa(),rs;return ge=t}function rr(){return je(Zt(ge))}function H(t){if(ie){if(Zt(ge)!==null)throw Wa(),rs;ge=t}}function Ya(t=1){if(ie){for(var e=t,r=ge;e--;)r=Zt(r);ge=r}}function ns(t=!0){for(var e=0,r=ge;;){if(r.nodeType===Mr){var i=r.data;if(i===Va){if(e===0)return r;e-=1}else(i===Xu||i===wn)&&(e+=1)}var n=Zt(r);t&&r.remove(),r=n}}function Ip(t){if(!t||t.nodeType!==Mr)throw Wa(),rs;return t.data}p();p();p();p();function Fp(t){return t===this.v}function Py(t,e){return t!=t?e==e:t!==e||t!==null&&typeof t=="object"||typeof t=="function"}function Op(t){return!Py(t,this.v)}p();var ir=!1,ss=!1,Ui=!1;p();p();p();var Ku=null;function Dr(t,e){return t.label=e,Mp(t.v,e),t}function Mp(t,e){var r;return(r=t==null?void 0:t[Pp])==null||r.call(t,e),t}p();function bn(t){let e=new Error,r=zV();return r.length===0?null:(r.unshift(` +`),tr(e,"stack",{value:r.join(` +`)}),tr(e,"name",{value:t}),e)}function zV(){let t=Error.stackTraceLimit;Error.stackTraceLimit=1/0;let e=new Error().stack;if(Error.stackTraceLimit=t,!e)return[];let r=e.split(` +`),i=[];for(let n=0;n{e===Xa&&nM()})}Xa.push(t)}function sM(){for(;Xa.length>0;)nM()}p();var Iy=new WeakMap;function Lp(t){var e=ne;if(e===null)return le.f|=8388608,t;if(M&&t instanceof Error&&!Iy.has(t)&&Iy.set(t,VV(t,e)),e.f&32768)En(t,e);else{if(!(e.f&128))throw M&&!e.parent&&t instanceof Error&&aM(t),t;e.b.error(t)}}function En(t,e){for(;e!==null;){if(e.f&128)try{e.b.error(t);return}catch(r){t=r}e=e.parent}throw M&&t instanceof Error&&aM(t),t}function VV(t,e){var a,o,l;let r=Fr(t,"message");if(!(r&&!r.configurable)){for(var i=Qu?" ":" ",n=` +${i}in ${((a=e.fn)==null?void 0:a.name)||""}`,s=e.ctx;s!==null;)n+=` +${i}in ${(o=s.function)==null?void 0:o[xi].split("/").pop()}`,s=s.p;return{message:t.message+` +${n} +`,stack:(l=t.stack)==null?void 0:l.split(` +`).filter(c=>!c.includes("svelte/src/internal")).join(` +`)}}}function aM(t){let e=Iy.get(t);e&&(tr(t,"message",{value:e.message}),tr(t,"stack",{value:e.stack}))}p();p();var WV=-7169;function Be(t,e){t.f=t.f&WV|e}function Xl(t){t.f&512||t.deps===null?Be(t,1024):Be(t,4096)}function oM(t){if(t!==null)for(let e of t)!(e.f&2)||!(e.f&32768)||(e.f^=32768,oM(e.deps))}function Bp(t,e,r){t.f&2048?e.add(t):t.f&4096&&r.add(t),oM(t.deps),Be(t,1024)}var Zl=new Set,ye=null,tf=null,Rt=null,Br=[],Hp=null,Fy=!1,Za=!1,Kl,Ql,Ka,Jl,rf,nf,Qa,os,ec,kn,Oy,My,cM,Ly=class Ly{constructor(){pe(this,kn);ze(this,"committed",!1);ze(this,"current",new Map);ze(this,"previous",new Map);pe(this,Kl,new Set);pe(this,Ql,new Set);pe(this,Ka,0);pe(this,Jl,0);pe(this,rf,null);pe(this,nf,new Set);pe(this,Qa,new Set);pe(this,os,new Map);ze(this,"is_fork",!1);pe(this,ec,!1)}is_deferred(){return this.is_fork||$(this,Jl)>0}skip_effect(e){$(this,os).has(e)||$(this,os).set(e,{d:[],m:[]})}unskip_effect(e){var r=$(this,os).get(e);if(r){$(this,os).delete(e);for(var i of r.d)Be(i,2048),vr(i);for(i of r.m)Be(i,4096),vr(i)}}process(e){var n;Br=[],this.apply();var r=[],i=[];for(let s of e)bt(this,kn,Oy).call(this,s,r,i);if(this.is_deferred()){bt(this,kn,My).call(this,i),bt(this,kn,My).call(this,r);for(let[s,a]of $(this,os))dM(s,a)}else{for(let s of $(this,Kl))s();$(this,Kl).clear(),$(this,Ka)===0&&bt(this,kn,cM).call(this),tf=this,ye=null,lM(i),lM(r),tf=null,(n=$(this,rf))==null||n.resolve()}Rt=null}capture(e,r){r!==Je&&!this.previous.has(e)&&this.previous.set(e,r),e.f&8388608||(this.current.set(e,e.v),Rt==null||Rt.set(e,e.v))}activate(){ye=this,this.apply()}deactivate(){ye===this&&(ye=null,Rt=null)}flush(){if(this.activate(),Br.length>0){if(Dy(),ye!==null&&ye!==this)return}else $(this,Ka)===0&&this.process([]);this.deactivate()}discard(){for(let e of $(this,Ql))e(this);$(this,Ql).clear()}increment(e){fe(this,Ka,$(this,Ka)+1),e&&fe(this,Jl,$(this,Jl)+1)}decrement(e){fe(this,Ka,$(this,Ka)-1),e&&fe(this,Jl,$(this,Jl)-1),!$(this,ec)&&(fe(this,ec,!0),yt(()=>{fe(this,ec,!1),this.is_deferred()?Br.length>0&&this.flush():this.revive()}))}revive(){for(let e of $(this,nf))$(this,Qa).delete(e),Be(e,2048),vr(e);for(let e of $(this,Qa))Be(e,4096),vr(e);this.flush()}oncommit(e){$(this,Kl).add(e)}ondiscard(e){$(this,Ql).add(e)}settled(){var e;return((e=$(this,rf))!=null?e:fe(this,rf,Cp())).promise}static ensure(){if(ye===null){let e=ye=new Ly;Zl.add(ye),Za||yt(()=>{ye===e&&e.flush()})}return ye}apply(){if(!(!ir||!this.is_fork&&Zl.size===1)){Rt=new Map(this.current);for(let e of Zl)if(e!==this)for(let[r,i]of e.previous)Rt.has(r)||Rt.set(r,i)}}};Kl=new WeakMap,Ql=new WeakMap,Ka=new WeakMap,Jl=new WeakMap,rf=new WeakMap,nf=new WeakMap,Qa=new WeakMap,os=new WeakMap,ec=new WeakMap,kn=new WeakSet,Oy=function(e,r,i){var d;e.f^=1024;for(var n=e.first,s=null;n!==null;){var a=n.f,o=(a&96)!==0,l=o&&(a&1024)!==0,c=l||(a&8192)!==0||$(this,os).has(n);if(ir&&s===null&&a&128&&((d=n.b)!=null&&d.is_pending)&&(s=n),!c&&n.fn!==null){o?n.f^=1024:s!==null&&a&16777228?s.b.defer_effect(n):a&4?r.push(n):ir&&a&16777224?i.push(n):ea(n)&&(a&16&&$(this,Qa).add(n),Js(n));var u=n.first;if(u!==null){n=u;continue}}var f=n.parent;for(n=n.next;n===null&&f!==null;)f===s&&(s=null),n=f.next,f=f.parent}},My=function(e){for(var r=0;r1){this.previous.clear();var e=Rt,r=!0;for(let s of Zl){if(s===this){r=!1;continue}let a=[];for(let[l,c]of this.current){if(s.current.has(l))if(r&&c!==s.current.get(l))s.current.set(l,c);else continue;a.push(l)}if(a.length===0)continue;let o=[...s.current.keys()].filter(l=>!this.current.has(l));if(o.length>0){var i=Br;Br=[];let l=new Set,c=new Map;for(let u of a)uM(u,o,l,c);if(Br.length>0){ye=s,s.apply();for(let u of Br)bt(n=s,kn,Oy).call(n,u,[],[]);s.deactivate()}Br=i}}ye=null,Rt=e}this.committed=!0,Zl.delete(this)};var Hr=Ly;function Ja(t){var e=Za;Za=!0;try{var r;for(t&&(ye!==null&&Dy(),r=t());;){if(sM(),Br.length===0&&(ye==null||ye.flush(),Br.length===0))return Hp=null,r;Dy()}}finally{Za=e}}function Dy(){var s;Fy=!0;var t=M?new Set:null;try{for(var e=0;Br.length>0;){var r=Hr.ensure();if(e++>1e3){if(M){var i=new Map;for(let a of r.current.keys())for(let[o,l]of(s=a.updated)!=null?s:[]){var n=i.get(o);n||(n={error:l.error,count:0},i.set(o,n)),n.count+=l.count}for(let a of i.values())a.error&&console.error(a.error)}XV()}if(r.process(Br),An.clear(),M)for(let a of r.current.keys())t.add(a)}}finally{if(Br=[],Fy=!1,Hp=null,M)for(let a of t)a.updated=null}}function XV(){try{jO()}catch(t){M&&tr(t,"stack",{value:""}),En(t,Hp)}}var Lr=null;function lM(t){var e=t.length;if(e!==0){for(var r=0;r0)){An.clear();for(let n of Lr){if(n.f&24576)continue;let s=[n],a=n.parent;for(;a!==null;)Lr.has(a)&&(Lr.delete(a),s.push(a)),a=a.parent;for(let o=s.length-1;o>=0;o--){let l=s[o];l.f&24576||Js(l)}}Lr.clear()}}Lr=null}}function uM(t,e,r,i){if(!r.has(t)&&(r.add(t),t.reactions!==null))for(let n of t.reactions){let s=n.f;s&2?uM(n,e,r,i):s&4194320&&!(s&2048)&&fM(n,e,i)&&(Be(n,2048),vr(n))}}function fM(t,e,r){let i=r.get(t);if(i!==void 0)return i;if(t.deps!==null)for(let n of t.deps){if(Hi.call(e,n))return!0;if(n.f&2&&fM(n,e,r))return r.set(n,!0),!0}return r.set(t,!1),!1}function vr(t){for(var e=Hp=t;e.parent!==null;){e=e.parent;var r=e.f;if(Fy&&e===ne&&r&16&&!(r&262144))return;if(r&96){if(!(r&1024))return;e.f^=1024}}Br.push(e)}function dM(t,e){if(!(t.f&32&&t.f&1024)){t.f&2048?e.d.push(t):t.f&4096&&e.m.push(t),Be(t,1024);for(var r=t.first;r!==null;)dM(r,e),r=r.next}}p();p();p();function pM(t){let e=0,r=sr(0),i;return M&&Dr(r,"createSubscriber version"),()=>{Qs()&&(R(r),Kt(()=>(e===0&&(i=We(()=>t(()=>eo(r)))),e+=1,()=>{yt(()=>{e-=1,e===0&&(i==null||i(),i=void 0,eo(r))})})))}}var KV=589952;function Gy(t,e,r){new Ny(t,e,r)}var ri,sf,Tn,to,Cn,Si,Gr,Pn,ls,ta,ro,cs,nc,io,sc,ac,Rn,zp,St,mM,gM,Hy,jp,qp,Uy,Ny=class{constructor(e,r,i){pe(this,St);ze(this,"parent");ze(this,"is_pending",!1);pe(this,ri);pe(this,sf,ie?ge:null);pe(this,Tn);pe(this,to);pe(this,Cn);pe(this,Si,null);pe(this,Gr,null);pe(this,Pn,null);pe(this,ls,null);pe(this,ta,null);pe(this,ro,0);pe(this,cs,0);pe(this,nc,!1);pe(this,io,!1);pe(this,sc,new Set);pe(this,ac,new Set);pe(this,Rn,null);pe(this,zp,pM(()=>(fe(this,Rn,sr($(this,ro))),M&&Dr($(this,Rn),"$effect.pending()"),()=>{fe(this,Rn,null)})));fe(this,ri,e),fe(this,Tn,r),fe(this,to,i),this.parent=ne.b,this.is_pending=!!$(this,Tn).pending,fe(this,Cn,ii(()=>{if(ne.b=this,ie){let s=$(this,sf);rr(),s.nodeType===Mr&&s.data===wn?bt(this,St,gM).call(this):(bt(this,St,mM).call(this),$(this,cs)===0&&(this.is_pending=!1))}else{var n=bt(this,St,Hy).call(this);try{fe(this,Si,Ut(()=>i(n)))}catch(s){this.error(s)}$(this,cs)>0?bt(this,St,qp).call(this):this.is_pending=!1}return()=>{var s;(s=$(this,ta))==null||s.remove()}},KV)),ie&&fe(this,ri,ge)}defer_effect(e){Bp(e,$(this,sc),$(this,ac))}is_rendered(){return!this.is_pending&&(!this.parent||this.parent.is_rendered())}has_pending_snippet(){return!!$(this,Tn).pending}update_pending_count(e){bt(this,St,Uy).call(this,e),fe(this,ro,$(this,ro)+e),!(!$(this,Rn)||$(this,nc))&&(fe(this,nc,!0),yt(()=>{fe(this,nc,!1),$(this,Rn)&&Vi($(this,Rn),$(this,ro))}))}get_effect_pending(){return $(this,zp).call(this),R($(this,Rn))}error(e){var r=$(this,Tn).onerror;let i=$(this,Tn).failed;if($(this,io)||!r&&!i)throw e;$(this,Si)&&(dt($(this,Si)),fe(this,Si,null)),$(this,Gr)&&(dt($(this,Gr)),fe(this,Gr,null)),$(this,Pn)&&(dt($(this,Pn)),fe(this,Pn,null)),ie&&(je($(this,sf)),Ya(),je(ns()));var n=!1,s=!1;let a=()=>{if(n){tM();return}n=!0,s&&ZO(),Hr.ensure(),fe(this,ro,0),$(this,Pn)!==null&&$n($(this,Pn),()=>{fe(this,Pn,null)}),this.is_pending=this.has_pending_snippet(),fe(this,Si,bt(this,St,jp).call(this,()=>(fe(this,io,!1),Ut(()=>$(this,to).call(this,$(this,ri)))))),$(this,cs)>0?bt(this,St,qp).call(this):this.is_pending=!1};yt(()=>{try{s=!0,r==null||r(e,a),s=!1}catch(o){En(o,$(this,Cn)&&$(this,Cn).parent)}i&&fe(this,Pn,bt(this,St,jp).call(this,()=>{Hr.ensure(),fe(this,io,!0);try{return Ut(()=>{i($(this,ri),()=>e,()=>a)})}catch(o){return En(o,$(this,Cn).parent),null}finally{fe(this,io,!1)}}))})}};ri=new WeakMap,sf=new WeakMap,Tn=new WeakMap,to=new WeakMap,Cn=new WeakMap,Si=new WeakMap,Gr=new WeakMap,Pn=new WeakMap,ls=new WeakMap,ta=new WeakMap,ro=new WeakMap,cs=new WeakMap,nc=new WeakMap,io=new WeakMap,sc=new WeakMap,ac=new WeakMap,Rn=new WeakMap,zp=new WeakMap,St=new WeakSet,mM=function(){try{fe(this,Si,Ut(()=>$(this,to).call(this,$(this,ri))))}catch(e){this.error(e)}},gM=function(){let e=$(this,Tn).pending;e&&(fe(this,Gr,Ut(()=>e($(this,ri)))),yt(()=>{var r=bt(this,St,Hy).call(this);fe(this,Si,bt(this,St,jp).call(this,()=>(Hr.ensure(),Ut(()=>$(this,to).call(this,r))))),$(this,cs)>0?bt(this,St,qp).call(this):($n($(this,Gr),()=>{fe(this,Gr,null)}),this.is_pending=!1)}))},Hy=function(){var e=$(this,ri);return this.is_pending&&(fe(this,ta,It()),$(this,ri).before($(this,ta)),e=$(this,ta)),e},jp=function(e){var r=ne,i=le,n=ke;Gt($(this,Cn)),$t($(this,Cn)),as($(this,Cn).ctx);try{return e()}catch(s){return Lp(s),null}finally{Gt(r),$t(i),as(n)}},qp=function(){let e=$(this,Tn).pending;$(this,Si)!==null&&(fe(this,ls,document.createDocumentFragment()),$(this,ls).append($(this,ta)),Vp($(this,Si),$(this,ls))),$(this,Gr)===null&&fe(this,Gr,Ut(()=>e($(this,ri))))},Uy=function(e){var r;if(!this.has_pending_snippet()){this.parent&&bt(r=this.parent,St,Uy).call(r,e);return}if(fe(this,cs,$(this,cs)+e),$(this,cs)===0){this.is_pending=!1;for(let i of $(this,sc))Be(i,2048),vr(i);for(let i of $(this,ac))Be(i,4096),vr(i);$(this,sc).clear(),$(this,ac).clear(),$(this,Gr)&&$n($(this,Gr),()=>{fe(this,Gr,null)}),$(this,ls)&&($(this,ri).before($(this,ls)),fe(this,ls,null))}};p();function Wp(t,e,r,i){let n=xn()?no:so;var s=t.filter(d=>!d.settled);if(r.length===0&&s.length===0){i(e.map(n));return}var a=ye,o=ne,l=vM(),c=s.length===1?s[0].promise:s.length>1?Promise.all(s.map(d=>d.promise)):null;function u(d){l();try{i(d)}catch(h){o.f&16384||En(h,o)}a==null||a.deactivate(),af()}if(r.length===0){c.then(()=>u(e.map(n)));return}function f(){l(),Promise.all(r.map(d=>qy(d))).then(d=>u([...e.map(n),...d])).catch(d=>En(d,o))}c?c.then(f):f()}function vM(){var t=ne,e=le,r=ke,i=ye;if(M)var n=_n;return function(a=!0){Gt(t),$t(e),as(r),a&&(i==null||i.activate()),M&&(jy(null),Wl(n))}}function af(){Gt(null),$t(null),as(null),M&&(jy(null),Wl(null))}var of=null;function jy(t){of=t}var lf=new Set;function no(t){var e=2050,r=le!==null&&le.f&2?le:null;ne!==null&&(ne.f|=524288);let i={ctx:ke,deps:null,effects:null,equals:Fp,f:e,fn:t,reactions:null,rv:0,v:Je,wv:0,parent:r!=null?r:ne,ac:null};return M&&Ui&&(i.created=bn("created at")),i}function qy(t,e,r){let i=ne;i===null&&BO();var n=i.b,s=void 0,a=sr(Je);M&&(a.label=e);var o=!le,l=new Map;return wM(()=>{var h;M&&(of=ne);var c=Cp();s=c.promise;try{Promise.resolve(t()).then(c.resolve,c.reject).then(()=>{u===ye&&u.committed&&u.deactivate(),af()})}catch(m){c.reject(m),af()}M&&(of=null);var u=ye;if(o){var f=n.is_rendered();n.update_pending_count(1),u.increment(f),(h=l.get(u))==null||h.reject(yn),l.delete(u),l.set(u,c)}let d=(m,g=void 0)=>{if(of=null,u.activate(),g)g!==yn&&(a.f|=8388608,Vi(a,g));else{a.f&8388608&&(a.f^=8388608),Vi(a,m);for(let[v,w]of l){if(l.delete(v),v===u)break;w.reject(yn)}M&&r!==void 0&&(lf.add(a),setTimeout(()=>{lf.has(a)&&(KO(a.label,r),lf.delete(a))}))}o&&(n.update_pending_count(-1),u.decrement(f))};c.promise.then(d,m=>d(null,m||"unknown"))}),ar(()=>{for(let c of l.values())c.reject(yn)}),M&&(a.f|=4194304),new Promise(c=>{function u(f){function d(){f===s?c(a):u(s)}f.then(d,d)}u(s)})}function Et(t){let e=no(t);return ir||Zp(e),e}function so(t){let e=no(t);return e.equals=Op,e}function Yp(t){var e=t.effects;if(e!==null){t.effects=null;for(var r=0;r5){let l=bn("updated at");if(l!==null){let c=t.updated.get(l.stack);c||(c={error:l,count:0},t.updated.set(l.stack,c)),c.count++}}}ne!==null&&(t.set_during_effect=!0)}if(t.f&2){let o=t;t.f&2048&&cf(o),Xl(o)}t.wv=ic(),bM(t,2048),xn()&&ne!==null&&ne.f&1024&&!(ne.f&96)&&(si===null?_M([t]):si.push(t)),!i.is_fork&&ao.size>0&&!Wy&&Gp()}return e}function Gp(){Wy=!1;for(let t of ao)t.f&1024&&Be(t,4096),ea(t)&&Js(t);ao.clear()}function eo(t){ae(t,t.v+1)}function bM(t,e){var u;var r=t.reactions;if(r!==null)for(var i=xn(),n=r.length,s=0;s{if(ra===a)return f();var d=le,h=ra;$t(null),Yy(a);var m=f();return $t(d),Yy(h),m};i&&(r.set("length",De(t.length,s)),M&&(t=iW(t)));var l="";let c=!1;function u(f){if(!c){c=!0,l=f,Dr(n,`${l} version`);for(let[d,h]of r)Dr(h,lo(l,d));c=!1}}return new Proxy(t,{defineProperty(f,d,h){(!("value"in h)||h.configurable===!1||h.enumerable===!1||h.writable===!1)&&WO();var m=r.get(d);return m===void 0?m=o(()=>{var g=De(h.value,s);return r.set(d,g),M&&typeof d=="string"&&Dr(g,lo(l,d)),g}):ae(m,h.value,!0),!0},deleteProperty(f,d){var h=r.get(d);if(h===void 0){if(d in f){let m=o(()=>De(Je,s));r.set(d,m),eo(n),M&&Dr(m,lo(l,d))}}else ae(h,Je),eo(n);return!0},get(f,d,h){var w;if(d===Wt)return t;if(M&&d===Pp)return u;var m=r.get(d),g=d in f;if(m===void 0&&(!g||(w=Fr(f,d))!=null&&w.writable)&&(m=o(()=>{var b=Xe(g?f[d]:Je),k=De(b,s);return M&&Dr(k,lo(l,d)),k}),r.set(d,m)),m!==void 0){var v=R(m);return v===Je?void 0:v}return Reflect.get(f,d,h)},getOwnPropertyDescriptor(f,d){var h=Reflect.getOwnPropertyDescriptor(f,d);if(h&&"value"in h){var m=r.get(d);m&&(h.value=R(m))}else if(h===void 0){var g=r.get(d),v=g==null?void 0:g.v;if(g!==void 0&&v!==Je)return{enumerable:!0,configurable:!0,value:v,writable:!0}}return h},has(f,d){var v;if(d===Wt)return!0;var h=r.get(d),m=h!==void 0&&h.v!==Je||Reflect.has(f,d);if(h!==void 0||ne!==null&&(!m||(v=Fr(f,d))!=null&&v.writable)){h===void 0&&(h=o(()=>{var w=m?Xe(f[d]):Je,b=De(w,s);return M&&Dr(b,lo(l,d)),b}),r.set(d,h));var g=R(h);if(g===Je)return!1}return m},set(f,d,h,m){var y;var g=r.get(d),v=d in f;if(i&&d==="length")for(var w=h;wDe(Je,s)),r.set(w+"",b),M&&Dr(b,lo(l,w)))}if(g===void 0)(!v||(y=Fr(f,d))!=null&&y.writable)&&(g=o(()=>De(void 0,s)),M&&Dr(g,lo(l,d)),ae(g,Xe(h)),r.set(d,g));else{v=g.v!==Je;var k=o(()=>Xe(h));ae(g,k)}var x=Reflect.getOwnPropertyDescriptor(f,d);if(x!=null&&x.set&&x.set.call(m,h),!v){if(i&&typeof d=="string"){var E=r.get("length"),A=Number(d);Number.isInteger(A)&&A>=E.v&&ae(E,A+1)}eo(n)}return!0},ownKeys(f){R(n);var d=Reflect.ownKeys(f).filter(g=>{var v=r.get(g);return v===void 0||v.v!==Je});for(var[h,m]of r)m.v!==Je&&!(h in f)&&d.push(h);return d},setPrototypeOf(){YO()}})}function lo(t,e){var r;return typeof e=="symbol"?`${t}[Symbol(${(r=e.description)!=null?r:""})]`:tW.test(e)?`${t}.${e}`:/^\d+$/.test(e)?`${t}[${e}]`:`${t}['${e}']`}function Kp(t){try{if(t!==null&&typeof t=="object"&&Wt in t)return t[Wt]}catch(e){}return t}var rW=new Set(["copyWithin","fill","pop","push","reverse","shift","sort","splice","unshift"]);function iW(t){return new Proxy(t,{get(e,r,i){var n=Reflect.get(e,r,i);return rW.has(r)?function(...s){yM();var a=n.apply(this,s);return Gp(),a}:n}})}function xM(){let t=Array.prototype,e=Array.__svelte_cleanup;e&&e();let{indexOf:r,lastIndexOf:i,includes:n}=t;t.indexOf=function(s,a){let o=r.call(this,s,a);if(o===-1){for(let l=a!=null?a:0;l{t.indexOf=r,t.lastIndexOf=i,t.includes=n}}var Xy,SM,Qu,EM,kM;function Qp(){if(Xy===void 0){Xy=window,SM=document,Qu=/Firefox/.test(navigator.userAgent);var t=Element.prototype,e=Node.prototype,r=Text.prototype;EM=Fr(e,"firstChild").get,kM=Fr(e,"nextSibling").get,ky(t)&&(t.__click=void 0,t.__className=void 0,t.__attributes=null,t.__style=void 0,t.__e=void 0),ky(r)&&(r.__t=void 0),M&&(t.__svelte_meta=null,xM())}}function It(t=""){return document.createTextNode(t)}function Qt(t){return EM.call(t)}function Zt(t){return kM.call(t)}function G(t,e){if(!ie)return Qt(t);var r=Qt(ge);if(r===null)r=ge.appendChild(It());else if(e&&r.nodeType!==Vl){var i=It();return r==null||r.before(i),je(i),i}return e&&em(r),je(r),r}function zr(t,e=!1){var n,s;if(!ie){var r=Qt(t);return r instanceof Comment&&r.data===""?Zt(r):r}if(e){if(((n=ge)==null?void 0:n.nodeType)!==Vl){var i=It();return(s=ge)==null||s.before(i),je(i),i}em(ge)}return ge}function te(t,e=1,r=!1){let i=ie?ge:t;for(var n;e--;)n=i,i=Zt(i);if(!ie)return i;if(r){if((i==null?void 0:i.nodeType)!==Vl){var s=It();return i===null?n==null||n.after(s):i.before(s),je(s),s}em(i)}return je(i),i}function oc(t){t.textContent=""}function Jp(){if(!ir||Lr!==null)return!1;var t=ne.f;return(t&32768)!==0}function em(t){if(t.nodeValue.length<65536)return;let e=t.nextSibling;for(;e!==null&&e.nodeType===Vl;)e.remove(),t.nodeValue+=e.nodeValue,e=t.nextSibling}p();p();function Zy(t){ie&&Qt(t)!==null&&oc(t)}var AM=!1;function Ky(){AM||(AM=!0,document.addEventListener("reset",t=>{Promise.resolve().then(()=>{var e;if(!t.defaultPrevented)for(let r of t.target.elements)(e=r.__on_r)==null||e.call(r)})},{capture:!0}))}function Wi(t){var e=le,r=ne;$t(null),Gt(null);try{return t()}finally{$t(e),Gt(r)}}function Qy(t,e,r,i=r){t.addEventListener(e,()=>Wi(r));let n=t.__on_r;n?t.__on_r=()=>{n(),i(!0)}:t.__on_r=()=>i(!0),Ky()}function TM(t){ne===null&&(le===null&&GO(t),UO()),Ei&&HO(t)}function sW(t,e){var r=e.last;r===null?e.last=e.first=t:(r.next=t,t.prev=r,e.last=t)}function In(t,e,r){var o;var i=ne;if(M)for(;i!==null&&i.f&131072;)i=i.parent;i!==null&&i.f&8192&&(t|=8192);var n={ctx:ke,deps:null,nodes:null,f:t|2048|512,first:null,fn:e,last:null,next:null,parent:i,b:i&&i.b,prev:null,teardown:null,wv:0,ac:null};if(M&&(n.component_function=Gi),r)try{Js(n),n.f|=32768}catch(l){throw dt(n),l}else e!==null&&vr(n);var s=n;if(r&&s.deps===null&&s.teardown===null&&s.nodes===null&&s.first===s.last&&!(s.f&524288)&&(s=s.first,t&16&&t&65536&&s!==null&&(s.f|=65536)),s!==null&&(s.parent=i,i!==null&&sW(s,i),le!==null&&le.f&2&&!(t&64))){var a=le;((o=a.effects)!=null?o:a.effects=[]).push(s)}return n}function Qs(){return le!==null&&!qr}function ar(t){let e=In(8,null,!1);return Be(e,1024),e.teardown=t,e}function or(t){var n;TM("$effect"),M&&tr(t,"name",{value:"$effect"});var e=ne.f,r=!le&&(e&32)!==0&&(e&32768)===0;if(r){var i=ke;((n=i.e)!=null?n:i.e=[]).push(t)}else return $y(t)}function $y(t){return In(1048580,t,!1)}function eb(t){Hr.ensure();let e=In(524352,t,!0);return()=>{dt(e)}}function CM(t){Hr.ensure();let e=In(524352,t,!0);return(r={})=>new Promise(i=>{r.outro?$n(e,()=>{dt(e),i(void 0)}):(dt(e),i(void 0))})}function Vr(t){return In(4,t,!1)}function wM(t){return In(4718592,t,!0)}function Kt(t,e=0){return In(8|e,t,!0)}function Ne(t,e=[],r=[],i=[]){Wp(i,e,r,n=>{In(8,()=>t(...n.map(R)),!0)})}function ii(t,e=0){var r=In(16|e,t,!0);return M&&(r.dev_stack=_n),r}function Ut(t){return In(524320,t,!0)}function tb(t){var e=t.teardown;if(e!==null){let r=Ei,i=le;Jy(!0),$t(null);try{e.call(null)}finally{Jy(r),$t(i)}}}function rb(t,e=!1){var r=t.first;for(t.first=t.last=null;r!==null;){let n=r.ac;n!==null&&Wi(()=>{n.abort(yn)});var i=r.next;r.f&64?r.parent=null:dt(r,e),r=i}}function PM(t){for(var e=t.first;e!==null;){var r=e.next;e.f&32||dt(e),e=r}}function dt(t,e=!0){var r=!1;(e||t.f&262144)&&t.nodes!==null&&t.nodes.end!==null&&(RM(t.nodes.start,t.nodes.end),r=!0),rb(t,e&&!r),ff(t,0),Be(t,16384);var i=t.nodes&&t.nodes.t;if(i!==null)for(let s of i)s.stop();tb(t);var n=t.parent;n!==null&&n.first!==null&&By(t),M&&(t.component_function=null),t.next=t.prev=t.teardown=t.ctx=t.deps=t.fn=t.nodes=t.ac=null}function RM(t,e){for(;t!==null;){var r=t===e?null:Zt(t);t.remove(),t=r}}function By(t){var e=t.parent,r=t.prev,i=t.next;r!==null&&(r.next=i),i!==null&&(i.prev=r),e!==null&&(e.first===t&&(e.first=i),e.last===t&&(e.last=r))}function $n(t,e,r=!0){var i=[];$M(t,i,!0);var n=()=>{r&&dt(t),e&&e()},s=i.length;if(s>0){var a=()=>--s||n();for(var o of i)o.out(a)}else n()}function $M(t,e,r){if(!(t.f&8192)){t.f^=8192;var i=t.nodes&&t.nodes.t;if(i!==null)for(let o of i)(o.is_global||r)&&e.push(o);for(var n=t.first;n!==null;){var s=n.next,a=(n.f&65536)!==0||(n.f&32)!==0&&(t.f&16)!==0;$M(n,e,a?r:!1),n=s}}}function uf(t){IM(t,!0)}function IM(t,e){if(t.f&8192){t.f^=8192,t.f&1024||(Be(t,2048),vr(t));for(var r=t.first;r!==null;){var i=r.next,n=(r.f&65536)!==0||(r.f&32)!==0;IM(r,n?e:!1),r=i}var s=t.nodes&&t.nodes.t;if(s!==null)for(let a of s)(a.is_global||e)&&a.in()}}function Vp(t,e){if(t.nodes)for(var r=t.nodes.start,i=t.nodes.end;r!==null;){var n=r===i?null:Zt(r);e.append(r),r=n}}p();var FM=null;var tm=!1,Ei=!1;function Jy(t){Ei=t}var le=null,qr=!1;function $t(t){le=t}var ne=null;function Gt(t){ne=t}var ni=null;function Zp(t){le!==null&&(!ir||le.f&2)&&(ni===null?ni=[t]:ni.push(t))}var Wr=null,ai=0,si=null;function _M(t){si=t}var OM=1,co=0,ra=co;function Yy(t){ra=t}function ic(){return++OM}function ea(t){var e=t.f;if(e&2048)return!0;if(e&2&&(t.f&=-32769),e&4096){for(var r=t.deps,i=r.length,n=0;nt.wv)return!0}e&512&&Rt===null&&Be(t,1024)}return!1}function MM(t,e,r=!0){var i=t.reactions;if(i!==null&&!(!ir&&ni!==null&&Hi.call(ni,t)))for(var n=0;n{t.ac.abort(yn)}),t.ac=null);try{t.f|=2097152;var u=t.fn,f=u(),d=t.deps,h=(g=ye)==null?void 0:g.is_fork;if(Wr!==null){var m;if(h||ff(t,ai),d!==null&&ai>0)for(d.length=ai+Wr.length,m=0;m{requestAnimationFrame(()=>t()),setTimeout(()=>t())});await Promise.resolve(),Ja()}function R(t){var h,m,g;var e=t.f,r=(e&2)!==0;if((h=FM)==null||h.add(t),le!==null&&!qr){var i=ne!==null&&(ne.f&16384)!==0;if(!i&&(ni===null||!Hi.call(ni,t))){var n=le.deps;if(le.f&2097152)t.rvr==null?void 0:r.call(this,s))}return t.startsWith("pointer")||t.startsWith("touch")||t==="wheel"?yt(()=>{e.addEventListener(t,n,i)}):e.addEventListener(t,n,i),n}function oi(t,e,r,i,n){var s={capture:i,passive:n},a=NM(t,e,r,s);(e===document.body||e===window||e===document||e instanceof HTMLMediaElement)&&ar(()=>{e.removeEventListener(t,a,s)})}function kt(t){for(var e=0;e{throw w});throw d}}finally{t.__root=e,delete t.currentTarget,$t(u),Gt(f)}}}p();p();function nm(t){var e=document.createElement("template");return e.innerHTML=t.replaceAll("",""),e.content}function Fn(t,e){var r=ne;r.nodes===null&&(r.nodes={start:t,end:e,a:null,t:null})}function ue(t,e){var r=(e&1)!==0,i=(e&2)!==0,n,s=!t.startsWith("");return()=>{if(ie)return Fn(ge,null),ge;n===void 0&&(n=nm(s?t:""+t),r||(n=Qt(n)));var a=i||Qu?document.importNode(n,!0):n.cloneNode(!0);if(r){var o=Qt(a),l=a.lastChild;Fn(o,l)}else Fn(a,a);return a}}function fs(){if(ie)return Fn(ge,null),ge;var t=document.createDocumentFragment(),e=document.createComment(""),r=It();return t.append(e,r),Fn(e,r),t}function oe(t,e){if(ie){var r=ne;(!(r.f&32768)||r.nodes.end===null)&&(r.nodes.end=ge),rr();return}t!==null&&t.before(e)}p();var fW=["allowfullscreen","async","autofocus","autoplay","checked","controls","default","disabled","formnovalidate","indeterminate","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","seamless","selected","webkitdirectory","defer","disablepictureinpicture","disableremoteplayback"];var Cle=[...fW,"formNoValidate","isMap","noModule","playsInline","readOnly","value","volume","defaultValue","defaultChecked","srcObject","noValidate","allowFullscreen","disablePictureInPicture","disableRemotePlayback"];var dW=["touchstart","touchmove"];function UM(t){return dW.includes(t)}var hW=["$state","$state.raw","$derived","$derived.by"],Ple=[...hW,"$state.eager","$state.snapshot","$props","$props.id","$bindable","$effect","$effect.pre","$effect.tracking","$effect.root","$effect.pending","$inspect","$inspect().with","$inspect.trace","$host"];var sm=!0;function Ue(t,e){var i;var r=e==null?"":typeof e=="object"?e+"":e;r!==((i=t.__t)!=null?i:t.__t=t.nodeValue)&&(t.__t=r,t.nodeValue=r+"")}function ia(t,e){return GM(t,e)}function ab(t,e){var a;Qp(),e.intro=(a=e.intro)!=null?a:!1;let r=e.target,i=ie,n=ge;try{for(var s=Qt(r);s&&(s.nodeType!==Mr||s.data!==Xu);)s=Zt(s);if(!s)throw rs;Ht(!0),je(s);let o=GM(t,{...e,anchor:s});return Ht(!1),o}catch(o){if(o instanceof Error&&o.message.split(` +`).some(l=>l.startsWith("https://svelte.dev/e/")))throw o;return o!==rs&&console.warn("Failed to hydrate: ",o),e.recover===!1&&qO(),Qp(),oc(r),Ht(!1),ia(t,e)}finally{Ht(i),je(n)}}var cc=new Map;function GM(t,{target:e,anchor:r,props:i={},events:n,context:s,intro:a=!0}){Qp();var o=new Set,l=f=>{for(var d=0;d{var f=r!=null?r:e.appendChild(It());return Gy(f,{pending:()=>{}},d=>{ot({});var h=ke;if(s&&(h.c=s),n&&(i.$$events=n),ie&&Fn(d,null),sm=a,c=t(d,i)||{},sm=!0,ie&&(ne.nodes.end=ge,ge===null||ge.nodeType!==Mr||ge.data!==Va))throw Wa(),rs;lt()}),()=>{var m;for(var d of o){e.removeEventListener(d,lc);var h=cc.get(d);--h===0?(document.removeEventListener(d,lc),cc.delete(d)):cc.set(d,h)}im.delete(l),f!==r&&((m=f.parentNode)==null||m.removeChild(f))}});return sb.set(c,u),c}var sb=new WeakMap;function ds(t,e){let r=sb.get(t);return r?(sb.delete(t),r(e)):(M&&(Wt in t?eM():JO()),Promise.resolve())}p();p();p();var Yi,On,li,uo,df,hf,am,hs=class{constructor(e,r=!0){ze(this,"anchor");pe(this,Yi,new Map);pe(this,On,new Map);pe(this,li,new Map);pe(this,uo,new Set);pe(this,df,!0);pe(this,hf,()=>{var e=ye;if($(this,Yi).has(e)){var r=$(this,Yi).get(e),i=$(this,On).get(r);if(i)uf(i),$(this,uo).delete(r);else{var n=$(this,li).get(r);n&&($(this,On).set(r,n.effect),$(this,li).delete(r),n.fragment.lastChild.remove(),this.anchor.before(n.fragment),i=n.effect)}for(let[s,a]of $(this,Yi)){if($(this,Yi).delete(s),s===e)break;let o=$(this,li).get(a);o&&(dt(o.effect),$(this,li).delete(a))}for(let[s,a]of $(this,On)){if(s===r||$(this,uo).has(s))continue;let o=()=>{if(Array.from($(this,Yi).values()).includes(s)){var c=document.createDocumentFragment();Vp(a,c),c.append(It()),$(this,li).set(s,{effect:a,fragment:c})}else dt(a);$(this,uo).delete(s),$(this,On).delete(s)};$(this,df)||!i?($(this,uo).add(s),$n(a,o,!1)):o()}}});pe(this,am,e=>{$(this,Yi).delete(e);let r=Array.from($(this,Yi).values());for(let[i,n]of $(this,li))r.includes(i)||(dt(n.effect),$(this,li).delete(i))});this.anchor=e,fe(this,df,r)}ensure(e,r){var i=ye,n=Jp();if(r&&!$(this,On).has(e)&&!$(this,li).has(e))if(n){var s=document.createDocumentFragment(),a=It();s.append(a),$(this,li).set(e,{effect:Ut(()=>r(a)),fragment:s})}else $(this,On).set(e,Ut(()=>r(this.anchor)));if($(this,Yi).set(i,e),n){for(let[o,l]of $(this,On))o===e?i.unskip_effect(l):i.skip_effect(l);for(let[o,l]of $(this,li))o===e?i.unskip_effect(l.effect):i.skip_effect(l.effect);i.oncommit($(this,hf)),i.ondiscard($(this,am))}else ie&&(this.anchor=ge),$(this,hf).call(this)}};Yi=new WeakMap,On=new WeakMap,li=new WeakMap,uo=new WeakMap,df=new WeakMap,hf=new WeakMap,am=new WeakMap;if(M){let t=function(e){if(!(e in globalThis)){let r;Object.defineProperty(globalThis,e,{configurable:!0,get:()=>{if(r!==void 0)return r;VO(e)},set:i=>{r=i}})}};t("$state"),t("$effect"),t("$derived"),t("$inspect"),t("$props"),t("$bindable")}function fo(t){ke===null&&Rp("onMount"),ss&&ke.l!==null?gW(ke).m.push(t):or(()=>{let e=We(t);if(typeof e=="function")return e})}function gW(t){var r;var e=t.l;return(r=e.u)!=null?r:e.u={a:[],b:[],m:[]}}p();p();var zM=new Map;function VM(t,e){var r=zM.get(t);r||(r=new Set,zM.set(t,r)),r.add(e)}p();p();p();p();p();p();p();p();p();function Ae(t,e,r=!1){ie&&rr();var i=new hs(t),n=r?65536:0;function s(a,o){if(ie){let c=Ip(t)===wn;if(a===c){var l=ns();je(l),i.anchor=l,Ht(!1),i.ensure(a,o),Ht(!0);return}}i.ensure(a,o)}ii(()=>{var a=!1;e((o,l=!0)=>{a=!0,s(l,o)}),a||s(!1,null)},n)}p();var Tfe=Symbol("NaN");p();p();function ci(t,e){return e}function SW(t,e,r){var f;for(var i=[],n=e.length,s,a=e.length,o=0;o{if(s){if(s.pending.delete(d),s.done.add(d),s.pending.size===0){var h=t.outrogroups;ob(ql(s.done)),h.delete(s),h.size===0&&(t.outrogroups=null)}}else a-=1},!1)}if(a===0){var l=i.length===0&&r!==null;if(l){var c=r,u=c.parentNode;oc(u),u.append(c),t.items.clear()}ob(e,!l)}else s={pending:new Set(e),done:new Set},((f=t.outrogroups)!=null?f:t.outrogroups=new Set).add(s)}function ob(t,e=!0){for(var r=0;r{var w=r();return is(w)?w:w==null?[]:ql(w)}),d,h=!0;function m(){v.fallback=u,EW(v,d,a,e,i),u!==null&&(d.length===0?u.f&33554432?(u.f^=33554432,mf(u,null,a)):uf(u):$n(u,()=>{u=null}))}var g=ii(()=>{d=R(f);var w=d.length;let b=!1;if(ie){var k=Ip(a)===wn;k!==(w===0)&&(a=ns(),je(a),Ht(!1),b=!0)}for(var x=new Set,E=ye,A=Jp(),y=0;ys(a)):(u=Ut(()=>s(uc!=null?uc:uc=It())),u.f|=33554432)),w>x.size&&(M?AW(d,i):Cy("","","")),ie&&w>0&&je(ns()),!h)if(A){for(let[P,D]of o)x.has(P)||E.skip_effect(D.e);E.oncommit(m),E.ondiscard(()=>{})}else m();b&&Ht(!0),R(f)}),v={effect:g,flags:e,items:o,outrogroups:null,fallback:u};h=!1,ie&&(a=ge)}function pf(t){for(;t!==null&&!(t.f&32);)t=t.next;return t}function EW(t,e,r,i,n){var T,P,D,B,N,ce,Pe,ve,se;var s=(i&8)!==0,a=e.length,o=t.items,l=pf(t.effect.first),c,u=null,f,d=[],h=[],m,g,v,w;if(s)for(w=0;w0){var _=i&4&&a===0?r:null;if(s){for(w=0;w{var xe,we;if(f!==void 0)for(v of f)(we=(xe=v.nodes)==null?void 0:xe.a)==null||we.apply()})}function kW(t,e,r,i,n,s,a,o){var l=a&1?a&16?sr(r):oo(r,!1,!1):null,c=a&2?sr(n):null;return M&&l&&(l.trace=()=>{var u;o()[(u=c==null?void 0:c.v)!=null?u:n]}),{v:l,i:c,e:Ut(()=>(s(e,l!=null?l:r,c!=null?c:n,o),()=>{t.delete(i)}))}}function mf(t,e,r){if(t.nodes)for(var i=t.nodes.start,n=t.nodes.end,s=e&&!(e.f&33554432)?e.nodes.start:r;i!==null;){var a=Zt(i);if(s.before(i),i===n)return;i=a}}function na(t,e,r){e===null?t.effect.first=r:e.next=r,r===null?t.effect.last=e:r.prev=e}function AW(t,e){let r=new Map,i=t.length;for(let n=0;nperformance.now():()=>Date.now(),Xi={tick:t=>(Ap?requestAnimationFrame:Or)(t),now:()=>TW(),tasks:new Set};function YM(){let t=Xi.now();Xi.tasks.forEach(e=>{e.c(t)||(Xi.tasks.delete(e),e.f())}),Xi.tasks.size!==0&&Xi.tick(YM)}function XM(t){let e;return Xi.tasks.size===0&&Xi.tick(YM),{promise:new Promise(r=>{Xi.tasks.add(e={c:t,f:r})}),abort(){Xi.tasks.delete(e)}}}function om(t,e){Wi(()=>{t.dispatchEvent(new CustomEvent(e))})}function $W(t){if(t==="float")return"cssFloat";if(t==="offset")return"cssOffset";if(t.startsWith("--"))return t;let e=t.split("-");return e.length===1?e[0]:e[0]+e.slice(1).map(r=>r[0].toUpperCase()+r.slice(1)).join("")}function ZM(t){let e={},r=t.split(";");for(let i of r){let[n,s]=i.split(":");if(!n||s===void 0)break;let a=$W(n.trim());e[a]=s.trim()}return e}var IW=t=>t;function Zi(t,e,r,i){var k,x;var n=(t&1)!==0,s=(t&2)!==0,a=n&&s,o=(t&4)!==0,l=a?"both":n?"in":"out",c,u=e.inert,f=e.style.overflow,d,h;function m(){return Wi(()=>{var E;return c!=null?c:c=r()(e,(E=i==null?void 0:i())!=null?E:{},{direction:l})})}var g={is_global:o,in(){var E;if(e.inert=u,!n){h==null||h.abort(),(E=h==null?void 0:h.reset)==null||E.call(h);return}s||d==null||d.abort(),d=lb(e,m(),h,1,()=>{om(e,"introend"),d==null||d.abort(),d=c=void 0,e.style.overflow=f})},out(E){if(!s){E==null||E(),c=void 0;return}e.inert=!0,h=lb(e,m(),d,0,()=>{om(e,"outroend"),E==null||E()})},stop:()=>{d==null||d.abort(),h==null||h.abort()}},v=ne;if(((x=(k=v.nodes).t)!=null?x:k.t=[]).push(g),n&&sm){var w=o;if(!w){for(var b=v.parent;b&&b.f&65536;)for(;(b=b.parent)&&!(b.f&16););w=!b||(b.f&32768)!==0}w&&Vr(()=>{We(()=>g.in())})}}function lb(t,e,r,i,n){var s=i===1;if(Ay(e)){var a,o=!1;return yt(()=>{if(!o){var v=e({direction:s?"in":"out"});a=lb(t,v,r,i,n)}}),{abort:()=>{o=!0,a==null||a.abort()},deactivate:()=>a.deactivate(),reset:()=>a.reset(),t:()=>a.t()}}if(r==null||r.deactivate(),!(e!=null&&e.duration)&&!(e!=null&&e.delay))return om(t,s?"introstart":"outrostart"),n(),{abort:Or,deactivate:Or,reset:Or,t:()=>i};let{delay:l=0,css:c,tick:u,easing:f=IW}=e;var d=[];if(s&&r===void 0&&(u&&u(0,1),c)){var h=ZM(c(0,1));d.push(h,h)}var m=()=>1-i,g=t.animate(d,{duration:l,fill:"forwards"});return g.onfinish=()=>{var _;g.cancel(),om(t,s?"introstart":"outrostart");var v=(_=r==null?void 0:r.t())!=null?_:1-i;r==null||r.abort();var w=i-v,b=e.duration*Math.abs(w),k=[];if(b>0){var x=!1;if(c)for(var E=Math.ceil(b/16.666666666666668),A=0;A<=E;A+=1){var y=v+w*f(A/E),S=ZM(c(y,1-y));k.push(S),x||(x=S.overflow==="hidden")}x&&(t.style.overflow="hidden"),m=()=>{var T=g.currentTime;return v+w*f(T/b)},u&&XM(()=>{if(g.playState!=="running")return!1;var T=m();return u(T,1-T),!0})}g=t.animate(k,{duration:b,fill:"forwards"}),g.onfinish=()=>{m=()=>i,u==null||u(i,1-i),n()}},{abort:()=>{g&&(g.cancel(),g.effect=null,g.onfinish=Or)},deactivate:()=>{n=Or},reset:()=>{i===0&&(u==null||u(1,0))},t:()=>m()}}p();p();function Ki(t,e){Vr(()=>{var n;var r=t.getRootNode(),i=r.host?r:(n=r.head)!=null?n:r.ownerDocument.head;if(!i.querySelector("#"+e.hash)){let s=document.createElement("style");s.id=e.hash,s.textContent=e.code,i.appendChild(s),M&&VM(e.hash,s)}})}p();p();p();p();p();p();var QM=[...` +\r\f\xA0\v\uFEFF`];function JM(t,e,r){var i=t==null?"":""+t;if(e&&(i=i?i+" "+e:e),r){for(var n in r)if(r[n])i=i?i+" "+n:n;else if(i.length)for(var s=n.length,a=0;(a=i.indexOf(n,a))>=0;){var o=a+s;(a===0||QM.includes(i[a-1]))&&(o===i.length||QM.includes(i[o]))?i=(a===0?"":i.substring(0,a))+i.substring(o+1):a=o}}return i===""?null:i}p();function ht(t,e,r,i,n,s){var a=t.__className;if(ie||a!==r||a===void 0){var o=JM(r,i,s);(!ie||o!==t.getAttribute("class"))&&(o==null?t.removeAttribute("class"):e?t.className=o:t.setAttribute("class",o)),t.__className=r}else if(s&&n!==s)for(var l in s){var c=!!s[l];(n==null||c!==!!n[l])&&t.classList.toggle(l,c)}return s}p();p();var HW=Symbol("class"),UW=Symbol("style"),GW=Symbol("is custom element"),jW=Symbol("is html");function be(t,e,r,i){var n=qW(t);if(ie&&(n[e]=t.getAttribute(e),e==="src"||e==="srcset"||e==="href"&&t.nodeName==="LINK")){i||VW(t,e,r!=null?r:"");return}n[e]!==(n[e]=r)&&(e==="loading"&&(t[LO]=r),r==null?t.removeAttribute(e):typeof r!="string"&&zW(t).includes(e)?t[e]=r:t.setAttribute(e,r))}function qW(t){var e;return(e=t.__attributes)!=null?e:t.__attributes={[GW]:t.nodeName.includes("-"),[jW]:t.namespaceURI===OO}}var eD=new Map;function zW(t){var e=t.getAttribute("is")||t.nodeName,r=eD.get(e);if(r)return r;eD.set(e,r=[]);for(var i,n=t,s=Element.prototype;s!==n;){i=Sy(n);for(var a in i)i[a].set&&r.push(a);n=zl(n)}return r}function VW(t,e,r){var i;M&&(e==="srcset"&&WW(t,r)||cb((i=t.getAttribute(e))!=null?i:"",r)||QO(e,t.outerHTML.replace(t.innerHTML,t.innerHTML&&"..."),String(r)))}function cb(t,e){return t===e?!0:new URL(t,document.baseURI).href===new URL(e,document.baseURI).href}function tD(t){return t.split(",").map(e=>e.trim().split(" ").filter(Boolean))}function WW(t,e){var r=tD(t.srcset),i=tD(e);return i.length===r.length&&i.every(([n,s],a)=>s===r[a][1]&&(cb(r[a][0],n)||cb(n,r[a][0])))}p();p();p();function db(t,e,r=e){var i=new WeakSet;Qy(t,"input",async n=>{M&&t.type==="checkbox"&&Ty();var s=n?t.defaultValue:t.value;if(s=ub(t)?fb(s):s,r(s),ye!==null&&i.add(ye),await rm(),s!==(s=e())){var a=t.selectionStart,o=t.selectionEnd,l=t.value.length;if(t.value=s!=null?s:"",o!==null){var c=t.value.length;a===o&&o===l&&c>l?(t.selectionStart=c,t.selectionEnd=c):(t.selectionStart=a,t.selectionEnd=Math.min(o,c))}}}),(ie&&t.defaultValue!==t.value||We(e)==null&&t.value)&&(r(ub(t)?fb(t.value):t.value),ye!==null&&i.add(ye)),Kt(()=>{var a;M&&t.type==="checkbox"&&Ty();var n=e();if(t===document.activeElement){var s=(a=tf)!=null?a:ye;if(i.has(s))return}ub(t)&&n===fb(t.value)||t.type==="date"&&!n&&!t.value||n!==t.value&&(t.value=n!=null?n:"")})}function ub(t){var e=t.type;return e==="number"||e==="range"}function fb(t){return t===""?null:+t}p();p();p();p();p();function iD(t,e){return t===e||(t==null?void 0:t[Wt])===e}function st(t={},e,r,i){return Vr(()=>{var n,s;return Kt(()=>{n=s,s=(i==null?void 0:i())||[],We(()=>{t!==r(...s)&&(e(t,...s),n&&iD(r(...n),t)&&e(null,...n))})}),()=>{yt(()=>{s&&iD(r(...s),t)&&e(null,...s)})}}),t}p();p();p();p();p();p();p();p();p();var cm=!1,Wme=Symbol();function pb(t){var e=cm;try{return cm=!1,[t(),cm]}finally{cm=e}}function ki(t,e,r,i){var k,x;var n=!ss||(r&2)!==0,s=(r&8)!==0,a=(r&16)!==0,o=i,l=!0,c=()=>(l&&(l=!1,o=a?We(i):i),o),u;if(s){var f=Wt in t||Zu in t;u=(x=(k=Fr(t,e))==null?void 0:k.set)!=null?x:f&&e in t?E=>t[e]=E:void 0}var d,h=!1;s?[d,h]=pb(()=>t[e]):d=t[e],d===void 0&&i!==void 0&&(d=c(),u&&(n&&zO(e),u(d)));var m;if(n?m=()=>{var E=t[e];return E===void 0?c():(l=!0,E)}:m=()=>{var E=t[e];return E!==void 0&&(o=void 0),E===void 0?o:E},n&&!(r&4))return m;if(u){var g=t.$$legacy;return function(E,A){return arguments.length>0?((!n||!A||g||h)&&u(A?m():E),E):m()}}var v=!1,w=(r&1?no:so)(()=>(v=!1,m()));M&&(w.label=e),s&&R(w);var b=ne;return function(E,A){if(arguments.length>0){let y=A?R(w):n&&s?Xe(E):E;return ae(w,y),v=!0,o!==void 0&&(o=y),E}return Ei&&v||b.f&16384?w.v:R(w)}}p();p();p();function nD(t){return new mb(t)}var ms,Ai,mb=class{constructor(e){pe(this,ms);pe(this,Ai);var s,a;var r=new Map,i=(o,l)=>{var c=oo(l,!1,!1);return r.set(o,c),c};let n=new Proxy({...e.props||{},$$events:{}},{get(o,l){var c;return R((c=r.get(l))!=null?c:i(l,Reflect.get(o,l)))},has(o,l){var c;return l===Zu?!0:(R((c=r.get(l))!=null?c:i(l,Reflect.get(o,l))),Reflect.has(o,l))},set(o,l,c){var u;return ae((u=r.get(l))!=null?u:i(l,c),c),Reflect.set(o,l,c)}});fe(this,Ai,(e.hydrate?ab:ia)(e.component,{target:e.target,anchor:e.anchor,props:n,context:e.context,intro:(s=e.intro)!=null?s:!1,recover:e.recover})),!ir&&(!((a=e==null?void 0:e.props)!=null&&a.$$host)||e.sync===!1)&&Ja(),fe(this,ms,n.$$events);for(let o of Object.keys($(this,Ai)))o==="$set"||o==="$destroy"||o==="$on"||tr(this,o,{get(){return $(this,Ai)[o]},set(l){$(this,Ai)[o]=l},enumerable:!0});$(this,Ai).$set=o=>{Object.assign(n,o)},$(this,Ai).$destroy=()=>{ds($(this,Ai))}}$set(e){$(this,Ai).$set(e)}$on(e,r){$(this,ms)[e]=$(this,ms)[e]||[];let i=(...n)=>r.call(this,...n);return $(this,ms)[e].push(i),()=>{$(this,ms)[e]=$(this,ms)[e].filter(n=>n!==i)}}$destroy(){$(this,Ai).$destroy()}};ms=new WeakMap,Ai=new WeakMap;var o9;typeof HTMLElement=="function"&&(o9=class extends HTMLElement{constructor(e,r,i){super();ze(this,"$$ctor");ze(this,"$$s");ze(this,"$$c");ze(this,"$$cn",!1);ze(this,"$$d",{});ze(this,"$$r",!1);ze(this,"$$p_d",{});ze(this,"$$l",{});ze(this,"$$l_u",new Map);ze(this,"$$me");ze(this,"$$shadowRoot",null);this.$$ctor=e,this.$$s=r,i&&(this.$$shadowRoot=this.attachShadow(i))}addEventListener(e,r,i){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(r),this.$$c){let n=this.$$c.$on(e,r);this.$$l_u.set(r,n)}super.addEventListener(e,r,i)}removeEventListener(e,r,i){if(super.removeEventListener(e,r,i),this.$$c){let n=this.$$l_u.get(r);n&&(n(),this.$$l_u.delete(r))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(n){return s=>{let a=document.createElement("slot");n!=="default"&&(a.name=n),oe(s,a)}};if(await Promise.resolve(),!this.$$cn||this.$$c)return;let r={},i=l9(this);for(let n of this.$$s)n in i&&(n==="default"&&!this.$$d.children?(this.$$d.children=e(n),r.default=!0):r[n]=e(n));for(let n of this.attributes){let s=this.$$g_p(n.name);s in this.$$d||(this.$$d[s]=gb(s,n.value,this.$$p_d,"toProp"))}for(let n in this.$$p_d)!(n in this.$$d)&&this[n]!==void 0&&(this.$$d[n]=this[n],delete this[n]);this.$$c=nD({component:this.$$ctor,target:this.$$shadowRoot||this,props:{...this.$$d,$$slots:r,$$host:this}}),this.$$me=eb(()=>{Kt(()=>{var n;this.$$r=!0;for(let s of xy(this.$$c)){if(!((n=this.$$p_d[s])!=null&&n.reflect))continue;this.$$d[s]=this.$$c[s];let a=gb(s,this.$$d[s],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[s].attribute||s):this.setAttribute(this.$$p_d[s].attribute||s,a)}this.$$r=!1})});for(let n in this.$$l)for(let s of this.$$l[n]){let a=this.$$c.$on(n,s);this.$$l_u.set(s,a)}this.$$l={}}}attributeChangedCallback(e,r,i){var n;this.$$r||(e=this.$$g_p(e),this.$$d[e]=gb(e,i,this.$$p_d,"toProp"),(n=this.$$c)==null||n.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{!this.$$cn&&this.$$c&&(this.$$c.$destroy(),this.$$me(),this.$$c=void 0)})}$$g_p(e){return xy(this.$$p_d).find(r=>this.$$p_d[r].attribute===e||!this.$$p_d[r].attribute&&r.toLowerCase()===e)||e}});function gb(t,e,r,i){var s;let n=(s=r[t])==null?void 0:s.type;if(e=n==="Boolean"&&typeof e!="boolean"?e!=null:e,!i||!r[t])return e;if(i==="toAttribute")switch(n){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e==null?null:e;default:return e}else switch(n){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}function l9(t){let e={};return t.childNodes.forEach(r=>{e[r.slot||"default"]=!0}),e}p();p();function ho(t,e,r,i){function n(s){return s instanceof r?s:new r(function(a){a(s)})}return new(r||(r=Promise))(function(s,a){function o(u){try{c(i.next(u))}catch(f){a(f)}}function l(u){try{c(i.throw(u))}catch(f){a(f)}}function c(u){u.done?s(u.value):n(u.value).then(o,l)}c((i=i.apply(t,e||[])).next())})}var bb=require("obsidian");p();var wb=require("obsidian");p();function c9(t){let e=t-1;return e*e*e+1}var vb=!1;function Dn(t,{delay:e=0,duration:r=400,easing:i=c9,axis:n="y"}={}){let s=getComputedStyle(t);M&&!vb&&/(contents|inline|table)/.test(s.display)&&(vb=!0,Promise.resolve().then(()=>vb=!1),rM(s.display));let a=+s.opacity,o=n==="y"?"height":"width",l=parseFloat(s[o]),c=n==="y"?["top","bottom"]:["left","right"],u=c.map(w=>`${w[0].toUpperCase()}${w.slice(1)}`),f=parseFloat(s[`padding${u[0]}`]),d=parseFloat(s[`padding${u[1]}`]),h=parseFloat(s[`margin${u[0]}`]),m=parseFloat(s[`margin${u[1]}`]),g=parseFloat(s[`border${u[0]}Width`]),v=parseFloat(s[`border${u[1]}Width`]);return{delay:e,duration:r,easing:i,css:w=>`overflow: hidden;opacity: ${Math.min(w*20,1)*a};${o}: ${w*l}px;padding-${c[0]}: ${w*f}px;padding-${c[1]}: ${w*d}px;margin-${c[0]}: ${w*h}px;margin-${c[1]}: ${w*m}px;border-${c[0]}-width: ${w*g}px;border-${c[1]}-width: ${w*v}px;min-${o}: 0`}}p();var um=require("obsidian");var u9=ue('
'),f9=ue('
'),d9={hash:"svelte-1c0jiav",code:"main.svelte-1c0jiav .nav-file-title:where(.svelte-1c0jiav) {align-items:center;}"};function gf(t,e){ot(e,!0),Ki(t,d9);let r=Xe([]),i=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left");or(()=>{for(let w of r)w&&(0,um.setIcon)(w,w.getAttr("data-icon"))});function n(w){w.stopPropagation(),pl(e.diff.path)?s(w):a(w)}function s(w){var b;w.stopPropagation();let k=e.view.app.vault.getAbstractFileByPath(e.diff.vaultPath);k instanceof um.TFile&&((b=Mi(e.view.app,w))===null||b===void 0||b.openFile(k).catch(x=>e.view.plugin.displayError(x)))}function a(w){var b;e.view.plugin.tools.openDiff({event:w,aFile:(b=e.diff.fromPath)!==null&&b!==void 0?b:e.diff.path,aRef:`${e.diff.hash}^`,bFile:e.diff.path,bRef:e.diff.hash})}var o=f9();o.__click=n;var l=G(o),c=G(l),u=G(c,!0);H(c);var f=te(c,2),d=G(f),h=G(d);{var m=w=>{var b=u9();b.__click=s,st(b,k=>r[0]=k,()=>r==null?void 0:r[0]),oi("auxclick",b,s),oe(w,b)};Ae(h,w=>{ml(e.diff.vaultPath,e.view.app)&&w(m)})}H(d);var g=te(d,2),v=G(g,!0);H(g),H(f),H(l),H(o),Ne(w=>{be(l,"data-path",e.diff.vaultPath),be(l,"data-tooltip-position",R(i)),be(l,"aria-label",e.diff.vaultPath),Ue(u,w),be(g,"data-type",e.diff.status),Ue(v,e.diff.status)},[()=>pn(e.diff.vaultPath)]),oi("auxclick",o,w=>{w.stopPropagation(),w.button==2?hn(e.view.app,w,e.diff.vaultPath,e.view.leaf,"git-history"):n(w)}),oe(t,o),lt()}kt(["click"]);p();var h9=ue("
"),p9=ue(''),m9=ue('
'),g9=ue("
"),v9={hash:"svelte-d9h7mp",code:"main.svelte-d9h7mp .nav-folder-title-content:where(.svelte-d9h7mp) {display:flex;align-items:center;}"};function vf(t,e){ot(e,!0),Ki(t,v9);let r=ki(e,"topLevel",3,!1),i=ki(e,"closed",15),n=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function s(l,c){l.stopPropagation(),i(i()[c.path]=!i()[c.path],!0)}var a=g9();let o;ui(a,21,()=>e.hierarchy.children,ci,(l,c)=>{var u=fs(),f=zr(u);{var d=m=>{var g=h9(),v=G(g);gf(v,{get diff(){return R(c).data},get view(){return e.view}}),H(g),oe(m,g)},h=m=>{var g=m9();let v;var w=G(g);w.__click=S=>s(S,R(c));var b=te(G(w),2);let k;var x=te(b,2),E=G(x,!0);H(x),H(w);var A=te(w,2);{var y=S=>{var _=p9(),T=G(_);vf(T,{get hierarchy(){return R(c)},get plugin(){return e.plugin},get view(){return e.view},get closed(){return i()},set closed(P){i(P)}}),H(_),Zi(3,_,()=>Dn,()=>({duration:150})),oe(S,_)};Ae(A,S=>{i()[R(c).path]||S(y)})}H(g),Ne(()=>{v=ht(g,1,"tree-item nav-folder",null,v,{"is-collapsed":i()[R(c).path]}),be(w,"data-tooltip-position",R(n)),be(w,"aria-label",R(c).vaultPath),k=ht(b,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,k,{"is-collapsed":i()[R(c).path]}),Ue(E,R(c).title)}),oe(m,g)};Ae(f,m=>{R(c).data?m(d):m(h,!1)})}oe(l,u)}),H(a),Ne(()=>o=ht(a,1,"svelte-d9h7mp",null,o,{topLevel:r()})),oe(t,a),lt()}kt(["click"]);var w9=ue('
'),y9=ue('
'),b9=ue('
'),_9=ue(''),x9=ue('
'),S9={hash:"svelte-1edsiy5",code:""};function yb(t,e){ot(e,!0),Ki(t,S9);let r=Et(()=>({title:"",path:"",vaultPath:"",children:e.plugin.gitManager.getTreeStructure(e.log.diff.files)})),i=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left"),n=De(!0),s=De(Xe({}));function a(S){let _=S.author.name;if(e.plugin.settings.authorInHistoryView=="full")return _;if(e.plugin.settings.authorInHistoryView=="initials")return _.split(" ").filter(P=>P.length>0).map(P=>P[0].toUpperCase()).join("")}var o=x9(),l=G(o);let c;var u=G(l);u.__click=()=>ae(n,!R(n));var f=G(u);let d;var h=te(f,2),m=G(h);{var g=S=>{var _=w9(),T=G(_,!0);H(_),Ne(P=>Ue(T,P),[()=>e.log.refs.join(", ")]),oe(S,_)};Ae(m,S=>{e.log.refs.length>0&&S(g)})}var v=te(m,2);{var w=S=>{var _=y9(),T=G(_,!0);H(_),Ne(P=>Ue(T,P),[()=>a(e.log)]),oe(S,_)};Ae(v,S=>{var _;e.plugin.settings.authorInHistoryView!="hide"&&((_=e.log.author)!=null&&_.name)&&S(w)})}var b=te(v,2);{var k=S=>{var _=b9(),T=G(_,!0);H(_),Ne(P=>Ue(T,P),[()=>(0,wb.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)]),oe(S,_)};Ae(b,S=>{e.plugin.settings.dateInHistoryView&&S(k)})}var x=te(b,2),E=G(x,!0);H(x),H(h),H(u);var A=te(u,2);{var y=S=>{var _=_9(),T=G(_);{var P=B=>{vf(B,{get hierarchy(){return R(r)},get plugin(){return e.plugin},get view(){return e.view},topLevel:!0,get closed(){return R(s)},set closed(N){ae(s,N,!0)}})},D=B=>{var N=fs(),ce=zr(N);ui(ce,17,()=>e.log.diff.files,ci,(Pe,ve)=>{gf(Pe,{get view(){return e.view},get diff(){return R(ve)}})}),oe(B,N)};Ae(T,B=>{e.showTree?B(P):B(D,!1)})}H(_),Zi(3,_,()=>Dn,()=>({duration:150})),oe(S,_)};Ae(A,S=>{R(n)||S(y)})}H(l),H(o),Ne(S=>{c=ht(l,1,"tree-item nav-folder",null,c,{"is-collapsed":R(n)}),be(u,"aria-label",S),be(u,"data-tooltip-position",R(i)),d=ht(f,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,d,{"is-collapsed":R(n)}),Ue(E,e.log.message)},[()=>{var S;return`${e.log.refs.length>0?e.log.refs.join(", ")+` +`:""}${(S=e.log.author)==null?void 0:S.name} +${(0,wb.moment)(e.log.date).format(e.plugin.settings.commitDateFormat)} +${e.log.message}`}]),oe(t,o),lt()}kt(["click"]);var E9=ue(''),k9=ue('
'),A9={hash:"svelte-12n6twc",code:""};function _b(t,e){ot(e,!0),Ki(t,A9);let r=ki(e,"plugin",15),i=De(!1),n=Xe([]),s=De(void 0),a=De(Xe(r().settings.treeStructure)),o;or(()=>{o&&o.empty()}),fo(()=>{e.view.registerEvent(e.view.app.workspace.on("obsidian-git:head-change",()=>void c().catch(console.error)))}),or(()=>{n.forEach(x=>(0,bb.setIcon)(x,x.getAttr("data-icon")))}),fo(()=>{let x=new IntersectionObserver(A=>{A[0].isIntersecting&&!R(i)&&u().catch(console.error)}),E=document.querySelector("#sentinel");return E&&x.observe(E),()=>{x.disconnect()}}),c().catch(console.error);function l(){c().catch(console.error)}function c(){return ho(this,void 0,void 0,function*(){var x;if(!r().gitReady){ae(s,void 0);return}ae(i,!0);let E=r().gitManager instanceof Se,A;((x=R(s)===null||R(s)===void 0?void 0:R(s).length)!==null&&x!==void 0?x:0)==0?A=E?50:10:A=R(s).length,ae(s,yield r().gitManager.log(void 0,!1,A),!0),ae(i,!1)})}function u(){return ho(this,void 0,void 0,function*(){var x;if(!r().gitReady||R(s)===void 0)return;ae(i,!0);let A=r().gitManager instanceof Se?50:10,y=yield r().gitManager.log(void 0,!1,A,(x=R(s).last())===null||x===void 0?void 0:x.hash);R(s).push(...y.slice(1)),ae(i,!1)})}var f=k9(),d=G(f),h=G(d),m=G(h);m.__click=()=>{ae(a,!R(a)),(0,bb.setIcon)(n[0],R(a)?"list":"folder"),r(r().settings.treeStructure=R(a),!0),r().saveSettings()},st(m,x=>n[0]=x,()=>n==null?void 0:n[0]);var g=te(m,2);let v;g.__click=l,st(g,x=>n[1]=x,()=>n==null?void 0:n[1]),H(h),H(d);var w=te(d,2),b=G(w);{var k=x=>{var E=E9();ui(E,21,()=>R(s),ci,(A,y)=>{yb(A,{get view(){return e.view},get showTree(){return R(a)},get log(){return R(y)},get plugin(){return r()}})}),H(E),oe(x,E)};Ae(b,x=>{R(s)&&x(k)})}Ya(4),H(w),H(f),Ne(()=>{be(m,"data-icon",R(a)?"list":"folder"),v=ht(g,1,"clickable-icon nav-action-button",null,v,{loading:R(i)})}),oe(t,f),lt()}kt(["click"]);var wf=class extends sD.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return gi.type}getDisplayText(){return gi.name}getIcon(){return gi.icon}onClose(){return this._view&&ds(this._view),super.onClose()}reload(){this._view&&ds(this._view),this._view=ia(_b,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};p();var aD=require("obsidian"),fm=class extends aD.FuzzySuggestModal{constructor(r,i){super(r.app);this.branches=i;this.setPlaceholder("Select branch to checkout")}getItems(){return this.branches}getItemText(r){return r}onChooseItem(r,i){this.resolve(r)}openAndGetReslt(){return new Promise(r=>{this.resolve=r,this.open()})}onClose(){new Promise(r=>setTimeout(r,10)).then(()=>{this.resolve&&this.resolve(void 0)})}};p();var cD=require("obsidian");p();var go=require("obsidian");p();var yf=require("obsidian");p();var oD=require("obsidian");var fc=class extends oD.Modal{constructor({app:r,path:i,filesToDeleteCount:n,filesToDiscardCount:s}){super(r);this.resolve=null;this.path=i,this.deleteCount=n,this.discardCount=s}openAndGetResult(){return this.open(),new Promise(r=>{this.resolve=r})}onOpen(){let r=this.deleteCount+this.discardCount,{contentEl:i,titleEl:n}=this,s="";this.path!=""&&(r>1?s=`files in "${this.path}"`:s=`"${this.path}"`),n.setText(`${this.discardCount==0?"Delete":"Discard"} ${s}`),this.deleteCount>0&&i.createEl("p").setText(`Are you sure you want to DELETE the ${Su(this.deleteCount,"untracked file")}? They are deleted according to your Obsidian trash settting.`),this.discardCount>0&&i.createEl("p").setText(`Are you sure you want to discard ALL changes in ${Su(this.discardCount,"tracked file")}?`);let a=i.createDiv({cls:"modal-button-container"});if(this.deleteCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`${this.discardCount>0?"Discard":"Delete"} all ${Su(r,"file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("delete"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("delete"),this.close()})}if(this.discardCount>0){let l=a.createEl("button",{cls:"mod-warning",text:`Discard all ${Su(this.discardCount,"tracked file")}`});l.addEventListener("click",()=>{this.resolve&&this.resolve("discard"),this.close()}),l.addEventListener("keypress",()=>{this.resolve&&this.resolve("discard"),this.close()})}let o=a.createEl("button",{text:"Cancel"});o.addEventListener("click",()=>(this.resolve&&this.resolve(!1),this.close())),o.addEventListener("keypress",()=>(this.resolve&&this.resolve(!1),this.close()))}onClose(){let{contentEl:r}=this;r.empty()}};var T9=ue('
'),C9=ue('
');function bf(t,e){ot(e,!0);let r=Xe([]),i=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left");or(()=>{for(let A of r)A&&(0,yf.setIcon)(A,A.getAttr("data-icon"))});function n(A){A.stopPropagation(),pl(e.change.path)?a(A):l(A)}function s(A){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&gl(e.view.app,A,e.view,e.change.vaultPath)}function a(A){var y;A.stopPropagation();let S=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);S instanceof yf.TFile&&((y=Mi(e.view.app,A))===null||y===void 0||y.openFile(S).catch(_=>e.view.plugin.displayError(_)))}function o(A){A.stopPropagation(),e.manager.stage(e.change.path,!1).catch(y=>e.view.plugin.displayError(y)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function l(A){A.stopPropagation(),e.view.plugin.tools.openDiff({aFile:e.change.path,aRef:"",event:A})}function c(A){A.stopPropagation();let y=e.change.workingDir=="U";new fc({app:e.view.app,filesToDeleteCount:y?1:0,filesToDiscardCount:y?0:1,path:e.change.vaultPath}).openAndGetResult().then(S=>ho(this,void 0,void 0,function*(){if(S=="delete"){let _=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);_ instanceof yf.TFile?yield e.view.app.fileManager.trashFile(_):yield e.view.app.vault.adapter.remove(e.change.vaultPath)}else S=="discard"&&(yield e.manager.discard(e.change.path).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")}));e.view.app.workspace.trigger("obsidian-git:refresh")}),S=>e.view.plugin.displayError(S))}var u=C9();u.__mouseover=s,u.__click=n;var f=G(u),d=G(f),h=G(d,!0);H(d);var m=te(d,2),g=G(m),v=G(g);{var w=A=>{var y=T9();y.__click=a,st(y,S=>r[0]=S,()=>r==null?void 0:r[0]),oi("auxclick",y,a),oe(A,y)};Ae(v,A=>{ml(e.change.vaultPath,e.view.app)&&A(w)})}var b=te(v,2);b.__click=c,st(b,A=>r[1]=A,()=>r==null?void 0:r[1]);var k=te(b,2);k.__click=o,st(k,A=>r[2]=A,()=>r==null?void 0:r[2]),H(g);var x=te(g,2),E=G(x,!0);H(x),H(m),H(f),H(u),Ne(A=>{be(f,"data-path",e.change.vaultPath),be(f,"data-tooltip-position",R(i)),be(f,"aria-label",e.change.vaultPath),Ue(h,A),be(x,"data-type",e.change.workingDir),Ue(E,e.change.workingDir)},[()=>pn(e.change.vaultPath)]),oi("auxclick",u,A=>{A.stopPropagation(),A.button==2?hn(e.view.app,A,e.change.vaultPath,e.view.leaf,"git-source-control"):n(A)}),oe(t,u),lt()}kt(["mouseover","click"]);p();var lD=require("obsidian");var P9=ue('
');function _f(t,e){ot(e,!0);let r=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function i(d){e.view.app.vault.getAbstractFileByPath(e.change.vaultPath)&&gl(e.view.app,d,e.view,e.change.vaultPath)}function n(d){var h;d.stopPropagation();let m=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);m instanceof lD.TFile&&((h=Mi(e.view.app,d))===null||h===void 0||h.openFile(m).catch(g=>e.view.plugin.displayError(g)))}var s=P9();s.__mouseover=i,s.__click=n;var a=G(s),o=G(a),l=G(o,!0);H(o);var c=te(o,2),u=G(c),f=G(u,!0);H(u),H(c),H(a),H(s),Ne(d=>{be(a,"data-path",e.change.vaultPath),be(a,"data-tooltip-position",R(r)),be(a,"aria-label",e.change.vaultPath),Ue(l,d),be(u,"data-type",e.change.workingDir),Ue(f,e.change.workingDir)},[()=>pn(e.change.vaultPath)]),oi("auxclick",s,d=>{d.stopPropagation(),d.button==2?hn(e.view.app,d,e.change.vaultPath,e.view.leaf,"git-source-control"):n(d)}),oe(t,s),lt()}kt(["mouseover","click"]);p();var dm=require("obsidian");var R9=ue('
'),$9=ue('
');function xf(t,e){ot(e,!0);let r=Xe([]),i=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left");or(()=>{for(let x of r)x&&(0,dm.setIcon)(x,x.getAttr("data-icon"))});function n(x){x.stopPropagation(),pl(e.change.path)?a(x):o(x)}function s(x){e.view.app.vault.getFileByPath(e.change.vaultPath)&&gl(e.view.app,x,e.view,e.change.vaultPath)}function a(x){var E;x.stopPropagation();let A=e.view.app.vault.getAbstractFileByPath(e.change.vaultPath);A instanceof dm.TFile&&((E=Mi(e.view.app,x))===null||E===void 0||E.openFile(A).catch(y=>e.view.plugin.displayError(y)))}function o(x){var E;x.stopPropagation(),e.view.plugin.tools.openDiff({aFile:(E=e.change.from)!==null&&E!==void 0?E:e.change.path,bFile:e.change.path,aRef:"HEAD",bRef:"",event:x})}function l(x){x.stopPropagation(),e.manager.unstage(e.change.path,!1).catch(E=>e.view.plugin.displayError(E)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}var c=$9();c.__mouseover=s,c.__click=n;var u=G(c),f=G(u),d=G(f,!0);H(f);var h=te(f,2),m=G(h),g=G(m);{var v=x=>{var E=R9();E.__click=a,st(E,A=>r[0]=A,()=>r==null?void 0:r[0]),oe(x,E)};Ae(g,x=>{ml(e.change.vaultPath,e.view.app)&&x(v)})}var w=te(g,2);w.__click=l,st(w,x=>r[1]=x,()=>r==null?void 0:r[1]),H(m);var b=te(m,2),k=G(b,!0);H(b),H(h),H(u),H(c),Ne(x=>{be(u,"data-path",e.change.vaultPath),be(u,"data-tooltip-position",R(i)),be(u,"aria-label",e.change.vaultPath),Ue(d,x),be(b,"data-type",e.change.index),Ue(k,e.change.index)},[()=>pn(e.change.vaultPath)]),oi("auxclick",c,x=>{x.stopPropagation(),x.button==2?hn(e.view.app,x,e.change.vaultPath,e.view.leaf,"git-source-control"):n(x)}),oe(t,c),lt()}kt(["mouseover","click"]);p();p();var I9=ue(''),F9=ue("
");function po(t,e){ot(e,!0);var r=F9(),i=G(r);{var n=s=>{var a=I9(),o=G(a),l=G(o),c=G(l,!0);H(l),H(o),H(a),Ne(()=>{be(o,"aria-label","And "+(e.files.length-500)+" more files"),Ue(c,"And "+(e.files.length-500)+" more files")}),oe(s,a)};Ae(i,s=>{e.files.length>500&&s(n)})}H(r),oe(t,r),lt()}var M9=ue("
"),D9=ue('
'),L9=ue('
',1),B9=ue(''),N9=ue('
'),H9=ue("
");function mo(t,e){ot(e,!0);let r=ki(e,"topLevel",3,!1),i=ki(e,"closed",15);fo(()=>{var h,m;for(let g of e.hierarchy.children)((m=(h=g.children)===null||h===void 0?void 0:h.length)!==null&&m!==void 0?m:0)>100&&i(i()[g.title]=!0,!0)});let n=Et(()=>e.view.leaf.getRoot().side=="left"?"right":"left");function s(h,m){h.stopPropagation(),e.plugin.gitManager.stageAll({dir:m}).catch(g=>e.plugin.displayError(g)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function a(h,m){h.stopPropagation(),e.plugin.gitManager.unstageAll({dir:m}).catch(g=>e.plugin.displayError(g)).finally(()=>{e.view.app.workspace.trigger("obsidian-git:refresh")})}function o(h,m){h.stopPropagation(),e.plugin.discardAll(m.vaultPath)}function l(h,m){h.stopPropagation(),i(i()[m.path]=!i()[m.path],!0)}var c=H9();let u;var f=G(c);ui(f,17,()=>Eu(e.hierarchy.children,500),ci,(h,m)=>{var g=fs(),v=zr(g);{var w=k=>{var x=M9(),E=G(x);{var A=S=>{xf(S,{get change(){return R(m).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},y=S=>{var _=fs(),T=zr(_);{var P=B=>{bf(B,{get change(){return R(m).data},get manager(){return e.plugin.gitManager},get view(){return e.view}})},D=B=>{var N=fs(),ce=zr(N);{var Pe=ve=>{_f(ve,{get change(){return R(m).data},get view(){return e.view}})};Ae(ce,ve=>{e.fileType==2&&ve(Pe)},!0)}oe(B,N)};Ae(T,B=>{e.fileType==1?B(P):B(D,!1)},!0)}oe(S,_)};Ae(E,S=>{e.fileType==0?S(A):S(y,!1)})}H(x),oe(k,x)},b=k=>{var x=N9();x.__click=se=>l(se,R(m));let E;var A=G(x),y=te(G(A),2);let S;var _=te(y,2),T=G(_,!0);H(_);var P=te(_,2),D=G(P),B=G(D);{var N=se=>{var xe=D9();xe.__click=we=>a(we,R(m).path),oe(se,xe)},ce=se=>{var xe=L9(),we=zr(xe);we.__click=Q=>o(Q,R(m));var z=te(we,2);z.__click=Q=>s(Q,R(m).path),oe(se,xe)};Ae(B,se=>{e.fileType==0?se(N):se(ce,!1)})}Ya(2),H(D),H(P),H(A);var Pe=te(A,2);{var ve=se=>{var xe=B9(),we=G(xe);mo(we,{get hierarchy(){return R(m)},get plugin(){return e.plugin},get view(){return e.view},get fileType(){return e.fileType},get closed(){return i()},set closed(z){i(z)}}),H(xe),Zi(3,xe,()=>Dn,()=>({duration:150})),oe(se,xe)};Ae(Pe,se=>{i()[R(m).path]||se(ve)})}H(x),Ne(()=>{E=ht(x,1,"tree-item nav-folder",null,E,{"is-collapsed":i()[R(m).path]}),be(A,"data-tooltip-position",R(n)),be(A,"aria-label",R(m).vaultPath),S=ht(y,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,S,{"is-collapsed":i()[R(m).path]}),Ue(T,R(m).title)}),oi("auxclick",x,se=>hn(e.view.app,se,R(m).vaultPath,e.view.leaf,"git-source-control")),oe(k,x)};Ae(v,k=>{R(m).data?k(w):k(b,!1)})}oe(h,g)});var d=te(f,2);po(d,{get files(){return e.hierarchy.children}}),H(c),Ne(()=>u=ht(c,1,"",null,u,{topLevel:r()})),oe(t,c),lt()}kt(["click"]);var U9=ue('
'),G9=ue(" ",1),j9=ue(''),q9=ue(" ",1),z9=ue(''),V9=ue(" ",1),W9=ue(''),Y9=ue('
'),X9=ue(''),Z9=ue('
'),K9={hash:"svelte-5wq9p",code:`.commit-msg-input.svelte-5wq9p {width:100%;overflow:hidden;resize:none;padding:7px 5px;background-color:var(--background-modifier-form-field);}.git-commit-msg.svelte-5wq9p {position:relative;padding:0;width:calc(100% - var(--size-4-8));margin:4px auto;}main.svelte-5wq9p .git-tools:where(.svelte-5wq9p) .files-count:where(.svelte-5wq9p) {padding-left:var(--size-2-1);width:11px;display:flex;align-items:center;justify-content:center;}.nav-folder-title.svelte-5wq9p {align-items:center;}.git-commit-msg-clear-button.svelte-5wq9p {position:absolute;background:transparent;border-radius:50%;color:var(--search-clear-button-color);cursor:var(--cursor);top:-4px;right:2px;bottom:0px;line-height:0;height:var(--input-height);width:28px;margin:auto;padding:0 0;text-align:center;display:flex;justify-content:center;align-items:center;transition:color 0.15s ease-in-out;}.git-commit-msg-clear-button.svelte-5wq9p:after {content:"";height:var(--search-clear-button-size);width:var(--search-clear-button-size);display:block;background-color:currentColor;mask-image:url("data:image/svg+xml,");mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,");-webkit-mask-repeat:no-repeat;}`};function xb(t,e){ot(e,!0),Ki(t,K9);let r=ki(e,"plugin",7),i=ki(e,"view",7),n=De(!1),s=De(void 0),a=De(Xe([])),o=Et(()=>r().settings.commitMessage),l=Xe([]),c=De(void 0),u=De(void 0),f=De(void 0),d=De(!0),h=De(!0),m=De(!0),g=De(0),v=De(Xe({})),w=De(Xe({})),b=De(Xe({})),k=Et(()=>r().settings.treeStructure);fo(()=>{console.log("Git view mounted"),i().registerEvent(i().app.workspace.on("obsidian-git:loading-status",()=>ae(n,!0))),i().registerEvent(i().app.workspace.on("obsidian-git:status-changed",()=>void A().catch(console.error))),i().plugin.cachedStatus==null?i().plugin.refresh().catch(console.error):A().catch(console.error),i().scope=new go.Scope(r().app.scope),i().scope.register(["Ctrl"],"Enter",Z=>E())}),or(()=>{l.forEach(Z=>(0,go.setIcon)(Z,Z.getAttr("data-icon")))}),or(()=>{l.forEach(Z=>{var L,V;!Z||Z.id!="push"||(go.Platform.isMobile?(Z.removeClass("button-border"),R(g)>0&&Z.addClass("button-border")):((L=Z.firstElementChild)===null||L===void 0||L.removeAttribute("color"),R(g)>0&&((V=Z.firstElementChild)===null||V===void 0||V.setAttr("color","var(--text-accent)"))))})});function x(){if(ae(n,!0),R(s)){let Z=R(s).staged.length>0;r().promiseQueue.addTask(()=>r().commit({fromAuto:!1,commitMessage:R(o),onlyStaged:Z}).then(()=>ae(o,r().settings.commitMessage)).finally(y))}}function E(){if(ae(n,!0),R(s)){let Z=R(s).staged.length>0;r().promiseQueue.addTask(()=>r().commitAndSync({fromAutoBackup:!1,commitMessage:R(o),onlyStaged:Z}).then(()=>{ae(o,r().settings.commitMessage)}).finally(y))}}function A(){return ho(this,void 0,void 0,function*(){if(!r().gitReady){ae(s,void 0);return}if(ae(g,yield r().gitManager.getUnpushedCommits(),!0),ae(s,r().cachedStatus,!0),ae(n,!1),r().lastPulledFiles&&r().lastPulledFiles!=R(a)&&(ae(a,r().lastPulledFiles,!0),ae(f,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(a))},!0)),R(s)){let Z=(L,V)=>L.vaultPath.split("/").last().localeCompare(pn(V.vaultPath));R(s).changed.sort(Z),R(s).staged.sort(Z),ae(c,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(s).changed)},!0),ae(u,{title:"",path:"",vaultPath:"",children:r().gitManager.getTreeStructure(R(s).staged)},!0)}else ae(c,void 0),ae(u,void 0)})}function y(){i().app.workspace.trigger("obsidian-git:refresh")}function S(Z){Z.stopPropagation(),ae(n,!0),r().promiseQueue.addTask(()=>r().gitManager.stageAll({status:R(s)}).finally(y))}function _(Z){Z.stopPropagation(),ae(n,!0),r().promiseQueue.addTask(()=>r().gitManager.unstageAll({status:R(s)}).finally(y))}function T(){ae(n,!0),r().promiseQueue.addTask(()=>r().push().finally(y))}function P(){ae(n,!0),r().promiseQueue.addTask(()=>r().pullChangesFromRemote().finally(y))}function D(Z){Z.stopPropagation(),r().discardAll()}let B=Et(()=>(R(o).match(/\n/g)||[]).length+1||1);var N=Z9(),ce=G(N),Pe=G(ce),ve=G(Pe);ve.__click=E,st(ve,Z=>l[0]=Z,()=>l==null?void 0:l[0]);var se=te(ve,2);se.__click=x,st(se,Z=>l[1]=Z,()=>l==null?void 0:l[1]);var xe=te(se,2);xe.__click=S,st(xe,Z=>l[2]=Z,()=>l==null?void 0:l[2]);var we=te(xe,2);we.__click=_,st(we,Z=>l[3]=Z,()=>l==null?void 0:l[3]);var z=te(we,2);z.__click=T,st(z,Z=>l[4]=Z,()=>l==null?void 0:l[4]);var Q=te(z,2);Q.__click=P,st(Q,Z=>l[5]=Z,()=>l==null?void 0:l[5]);var j=te(Q,2);j.__click=()=>{ae(k,!R(k)),(0,go.setIcon)(l[6],R(k)?"list":"folder"),r().settings.treeStructure=R(k),r().saveSettings()},st(j,Z=>l[6]=Z,()=>l==null?void 0:l[6]);var Le=te(j,2);let lr;Le.__click=y,st(Le,Z=>l[7]=Z,()=>l==null?void 0:l[7]),H(Pe),H(ce);var Ft=te(ce,2),Ie=G(Ft);Zy(Ie);var At=te(Ie,2);{var Tt=Z=>{var L=U9();L.__click=()=>ae(o,""),be(L,"aria-label","Clear"),oe(Z,L)};Ae(At,Z=>{R(o)&&Z(Tt)})}H(Ft);var jt=te(Ft,2),Ze=G(jt);{var q=Z=>{var L=X9(),V=G(L);let Te;var qe=G(V);qe.__click=()=>ae(h,!R(h));var Ot=G(qe);let yo;var Tb=te(Ot,4),Em=G(Tb),Cb=G(Em);Cb.__click=_,st(Cb,cr=>l[8]=cr,()=>l==null?void 0:l[8]),H(Em);var Pb=te(Em,2),wD=G(Pb,!0);H(Pb),H(Tb),H(qe);var yD=te(qe,2);{var bD=cr=>{var yr=j9(),bo=G(yr);{var gs=ur=>{mo(ur,{get hierarchy(){return R(u)},get plugin(){return r()},get view(){return i()},get fileType(){return 0},topLevel:!0,get closed(){return R(v)},set closed(Ti){ae(v,Ti,!0)}})},_o=ur=>{var Ti=G9(),sa=zr(Ti);ui(sa,17,()=>Eu(R(s).staged,500),ci,(vs,hc)=>{xf(vs,{get change(){return R(hc)},get view(){return i()},get manager(){return r().gitManager}})});var aa=te(sa,2);po(aa,{get files(){return R(s).staged}}),oe(ur,Ti)};Ae(bo,ur=>{R(k)?ur(gs):ur(_o,!1)})}H(yr),Zi(3,yr,()=>Dn,()=>({duration:150})),oe(cr,yr)};Ae(yD,cr=>{R(h)&&cr(bD)})}H(V);var Ef=te(V,2);let Rb;var kf=G(Ef);kf.__click=()=>ae(d,!R(d));var $b=G(kf);let Ib;var Fb=te($b,4),km=G(Fb),Ob=G(km);Ob.__click=D;var Mb=te(Ob,2);Mb.__click=S,st(Mb,cr=>l[9]=cr,()=>l==null?void 0:l[9]),H(km);var Db=te(km,2),_D=G(Db,!0);H(Db),H(Fb),H(kf);var xD=te(kf,2);{var SD=cr=>{var yr=z9(),bo=G(yr);{var gs=ur=>{mo(ur,{get hierarchy(){return R(c)},get plugin(){return r()},get view(){return i()},get fileType(){return 1},topLevel:!0,get closed(){return R(w)},set closed(Ti){ae(w,Ti,!0)}})},_o=ur=>{var Ti=q9(),sa=zr(Ti);ui(sa,17,()=>Eu(R(s).changed,500),ci,(vs,hc)=>{bf(vs,{get change(){return R(hc)},get view(){return i()},get manager(){return r().gitManager}})});var aa=te(sa,2);po(aa,{get files(){return R(s).changed}}),oe(ur,Ti)};Ae(bo,ur=>{R(k)?ur(gs):ur(_o,!1)})}H(yr),Zi(3,yr,()=>Dn,()=>({duration:150})),oe(cr,yr)};Ae(xD,cr=>{R(d)&&cr(SD)})}H(Ef);var ED=te(Ef,2);{var kD=cr=>{var yr=Y9();let bo;var gs=G(yr);gs.__click=()=>ae(m,!R(m));var _o=te(G(gs),4),ur=G(_o,!0);H(_o),H(gs);var Ti=te(gs,2);{var sa=aa=>{var vs=W9(),hc=G(vs);{var AD=xo=>{mo(xo,{get hierarchy(){return R(f)},get plugin(){return r()},get view(){return i()},get fileType(){return 2},topLevel:!0,get closed(){return R(b)},set closed(Af){ae(b,Af,!0)}})},TD=xo=>{var Af=V9(),Lb=zr(Af);ui(Lb,17,()=>R(a),ci,(PD,RD)=>{_f(PD,{get change(){return R(RD)},get view(){return i()}})});var CD=te(Lb,2);po(CD,{get files(){return R(a)}}),oe(xo,Af)};Ae(hc,xo=>{R(k)?xo(AD):xo(TD,!1)})}H(vs),Zi(3,vs,()=>Dn,()=>({duration:150})),oe(aa,vs)};Ae(Ti,aa=>{R(m)&&aa(sa)})}H(yr),Ne(()=>{bo=ht(yr,1,"pulled nav-folder",null,bo,{"is-collapsed":!R(m)}),Ue(ur,R(a).length)}),oe(cr,yr)};Ae(ED,cr=>{R(a).length>0&&R(f)&&cr(kD)})}H(L),Ne(()=>{Te=ht(V,1,"staged tree-item nav-folder",null,Te,{"is-collapsed":!R(h)}),yo=ht(Ot,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,yo,{"is-collapsed":!R(h)}),Ue(wD,R(s).staged.length),Rb=ht(Ef,1,"changes tree-item nav-folder",null,Rb,{"is-collapsed":!R(d)}),Ib=ht($b,1,"tree-item-icon nav-folder-collapse-indicator collapse-icon",null,Ib,{"is-collapsed":!R(d)}),Ue(_D,R(s).changed.length)}),oe(Z,L)};Ae(Ze,Z=>{R(s)&&R(u)&&R(c)&&Z(q)})}H(jt),H(N),Ne(()=>{be(N,"data-type",zt.type),be(j,"data-icon",R(k)?"list":"folder"),lr=ht(Le,1,"clickable-icon nav-action-button",null,lr,{loading:R(n)}),be(Ie,"rows",R(B))}),db(Ie,()=>R(o),Z=>ae(o,Z)),oe(t,N),lt()}kt(["click"]);var Sf=class extends cD.ItemView{constructor(e,r){super(e),this.plugin=r,this.hoverPopover=null}getViewType(){return zt.type}getDisplayText(){return zt.name}getIcon(){return zt.icon}onClose(){return this._view&&ds(this._view),super.onClose()}reload(){this._view&&ds(this._view),this._view=ia(xb,{target:this.contentEl,props:{plugin:this.plugin,view:this}})}onOpen(){return this.reload(),super.onOpen()}};p();var hm=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;this.statusBarEl.addClass("mod-clickable"),this.statusBarEl.onClickEvent(i=>{this.plugin.switchBranch().catch(n=>r.displayError(n))})}async display(){if(this.plugin.gitReady){let e=await this.plugin.gitManager.branchInfo();e.current!=null?this.statusBarEl.setText(e.current):this.statusBarEl.empty()}else this.statusBarEl.empty()}remove(){this.statusBarEl.remove()}};p();var uD=require("obsidian");var pm=class{constructor(e){this.plugin=e}get editor(){var i;let e=(i=this.plugin.app.workspace.activeEditor)==null?void 0:i.editor,r=e==null?void 0:e.cm;if(!(!e||!Bi.hasHunksData(r.state)))return{editor:r,obEditor:e}}get gitManager(){return this.plugin.gitManager}resetHunk(e){if(!this.editor)return;let{editor:r,obEditor:i}=this.editor,n=Bi.getHunk(r.state,!1,e);if(n){let s,a;n.type==="delete"?(s=n.added.start+1,a=n.added.start+1):(s=n.added.start-0,a=n.added.start-1+n.added.count);let o=r.state.doc.line(s).from,l=n.type==="delete"?r.state.doc.line(a).from:r.state.doc.line(a).to+1,c=n.removed.lines.join(` +`);n.removed.lines.length>0&&!n.removed.no_nl_at_eof&&(c+=` +`),i.replaceRange(c,i.offsetToPos(o),i.offsetToPos(l)),i.setSelection(i.offsetToPos(o))}}async stageHunk(e){if(!await this.plugin.isAllInitialized()||!this.editor)return;let{editor:r}=this.editor,i=Bi.getHunk(r.state,!1,e),n=!1;if(i||(i=Bi.getHunk(r.state,!0,e),n=!0),!i)return;let s=r.state.field(uD.editorInfoField).file.path,a=Nt.createPatch(s,[i],"100644",n).join(` +`)+` +`;await this.gitManager.applyPatch(a),this.plugin.app.workspace.trigger("obsidian-git:refresh")}goToHunk(e){if(!this.editor)return;let{editor:r,obEditor:i}=this.editor,n=Bi.getHunks(r.state,!1),s=i.getCursor().line+1,a=Nt.findNearestHunk(s,n,e,!0);if(a==null)return;let o=n[a];if(o){let l=o.added.start-1;i.setCursor(l,0),i.scrollIntoView({from:{line:l,ch:0},to:{line:l+1,ch:0}},!0)}}};p();p();var vo=require("obsidian");var mm=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.lineAuthorInfoProvider){console.warn("Git: undefined lineAuthorInfoProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof vo.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.lineAuthorInfoProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions),WI(()=>this.plg.settings.lineAuthor,e=>{this.plg.settings.lineAuthor=e,this.plg.saveSettings()})}conditionallyActivateBySettings(){this.plg.settings.lineAuthor.show&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;iF(this.plg.settings.lineAuthor),this.lineAuthorInfoProvider=new ep(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),console.log(this.plg.manifest.name+": Enabled line authoring.")}catch(e){console.warn("Git: Error while loading line authoring feature.",e),this.deactivateFeature()}}deactivateFeature(){var e;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.lineAuthorInfoProvider)==null||e.destroy(),this.lineAuthorInfoProvider=void 0,console.log(this.plg.manifest.name+": Disabled line authoring.")}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&vo.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Se?this.plg.gitManager:void 0}}refreshLineAuthorViews(){this.plg.settings.lineAuthor.show&&(this.deactivateFeature(),this.activateFeature())}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(pF),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.gutterContextMenuEvent=this.createGutterContextMenuHandler(),this.fileOpenEvent=this.createFileOpenEvent(),this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileModificationEvent=this.createVaultFileModificationHandler(),this.headChangeEvent=this.createHeadChangeEvent(),this.refreshOnCssChangeEvent=this.createCssRefreshHandler(),this.fileRenameEvent=this.createFileRenameEvent(),QI(),this.plg.registerEvent(this.gutterContextMenuEvent),this.plg.registerEvent(this.refreshOnCssChangeEvent),this.plg.registerEvent(this.fileOpenEvent),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileModificationEvent),this.plg.registerEvent(this.headChangeEvent),this.plg.registerEvent(this.fileRenameEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.gutterContextMenuEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.workspace.offref(this.fileOpenEvent),this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.workspace.offref(this.refreshOnCssChangeEvent),this.plg.app.vault.offref(this.fileModificationEvent),this.plg.app.workspace.offref(this.headChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent)}createFileOpenEvent(){return this.plg.app.workspace.on("file-open",e=>{var r;return void((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e).catch(console.error))})}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var i;return e instanceof vo.TFile&&((i=this.lineAuthorInfoProvider)==null?void 0:i.trackChanged(e))})}createVaultFileModificationHandler(){return this.plg.app.vault.on("modify",e=>{var r;return e instanceof vo.TFile&&((r=this.lineAuthorInfoProvider)==null?void 0:r.trackChanged(e))})}createHeadChangeEvent(){return this.plg.app.workspace.on("obsidian-git:head-change",()=>{this.refreshLineAuthorViews()})}createCssRefreshHandler(){return this.plg.app.workspace.on("css-change",()=>this.refreshLineAuthorViews())}createGutterContextMenuHandler(){return this.plg.app.workspace.on("editor-menu",tF)}};p();var dc=require("obsidian");p();p();var wo=require("@codemirror/state"),vm=require("@codemirror/view");var gm=class extends vm.GutterMarker{constructor(r,i){super();this.type=r;this.staged=i}toDOM(r){let i=document.createElement("div");return i.className=`git-gutter-marker git-${this.type} ${this.staged?"staged":"unstaged"}`,this.type=="changedelete"&&i.setText("~"),i}},Sb=wo.StateField.define({create:()=>wo.RangeSet.empty,update:(t,e)=>{let r=e.state.field(Ir,!1);if(!r)return wo.RangeSet.empty;let i=e.effects.some(s=>s.is(Uu)),n=e.effects.some(s=>s.is(Ol));if(i||n||(e.docChanged||t.size==0)&&r.isDirty==!1){let s=new Set,a=fD(e,r.hunks,!1,s),o=fD(e,r.stagedHunks,!0,s);return t=wo.RangeSet.of([...a,...o],!0),t}else e.docChanged&&(t=t.map(e.changes));return t}});function fD(t,e,r,i){let n=[];for(let a=0;a0?e[a-1]:void 0,l=a{var e;return(e=t.state.field(Sb,!1))!=null?e:wo.RangeSet.empty},initialSpacer:t=>new gm("delete",!1),domEventHandlers:{click:(t,e,r)=>{var n;return((n=Bi.getHunkAtPos(t.state,e.from,!1))!=null?n:Bi.getHunkAtPos(t.state,e.from,!0))&&(Ys(t,e.from),r.preventDefault()),!1}}});var wm=class{constructor(e){this.plugin=e}async trackChanged(e){return this.trackChangedHelper(e).catch(r=>(console.warn("Git: Error in trackChanged."+r),Promise.reject(r)))}async trackChangedHelper(e){if(e){if(e.path===void 0){console.warn("Git: Attempted to track change of undefined filepath. Unforeseen situation.");return}return this.computeSigns(e.path)}}destroy(){}async computeSigns(e){let i=await this.plugin.editorIntegration.lineAuthoringFeature.isAvailableOnCurrentPlatform().gitManager.show("",e).catch(()=>{});this.notifySignComputationResultToSubscribers(e,{compareText:i,compareTextHead:void 0})}notifySignComputationResultToSubscribers(e,r){Jn.ifFilepathDefinedTransformSubscribers(e,i=>i.forEach(n=>n.notifyGitCompare(r)))}},hD=[AO,TO,dD,Sb,xp],pD=[Ir,uy];p();var Eb=require("obsidian"),ym=class{constructor(e,r){this.statusBarEl=e;this.plugin=r;e.addClass("git-changes-status-bar"),r.settings.hunks.statusBar==="colored"&&e.addClass("git-changes-status-bar-colored"),e.setAttr("aria-label","Git diff of the current editor"),this.statusBarEl.setAttribute("data-tooltip-position","top"),r.app.workspace.on("active-leaf-change",i=>{(!i||i.getRoot()==r.app.workspace.rootSplit&&!(i.view instanceof Eb.MarkdownView))&&this.statusBarEl.empty()})}display(e,r){var o;let i=this.plugin.app.workspace.getActiveViewOfType(Eb.MarkdownView);if(!i||((o=i.file)==null?void 0:o.path)!==(r==null?void 0:r.path))return;let n=0,s=0,a=0;for(let l of e)n+=Math.max(0,l.added.count-l.removed.count),s+=Math.min(l.added.count,l.removed.count),a+=Math.max(0,l.removed.count-l.added.count);this.statusBarEl.empty(),n>0&&this.statusBarEl.createSpan({text:`+${n} `,cls:"git-add"}),s>0&&this.statusBarEl.createSpan({text:`~${s} `,cls:"git-change"}),a>0&&this.statusBarEl.createSpan({text:`-${a}`,cls:"git-delete"})}remove(){this.statusBarEl.remove()}};var bm=class{constructor(e){this.plg=e;this.codeMirrorExtensions=[];this.handleWorkspaceLeaf=e=>{if(!this.signsProvider){console.warn("Git: undefined signsProvider. Unexpected situation.");return}let r=e==null?void 0:e.view;!(r instanceof dc.MarkdownView)||r.file==null||(r==null?void 0:r.allowNoFile)===!0||this.signsProvider.trackChanged(r.file).catch(console.error)}}onLoadPlugin(){this.plg.registerEditorExtension(this.codeMirrorExtensions)}conditionallyActivateBySettings(){(this.plg.settings.hunks.showSigns||this.plg.settings.hunks.statusBar!="disabled"||this.plg.settings.hunks.hunkCommands)&&this.activateFeature()}activateFeature(){try{if(!this.isAvailableOnCurrentPlatform().available)return;if(this.signsProvider=new wm(this.plg),this.createEventHandlers(),this.activateCodeMirrorExtensions(),this.plg.settings.hunks.statusBar!="disabled"){let e=this.plg.addStatusBarItem();this.changeStatusBar=new ym(e,this.plg)}}catch(e){console.warn("Git: Error while loading signs feature.",e),this.deactivateFeature()}}deactivateFeature(){var e,r;this.destroyEventHandlers(),this.deactivateCodeMirrorExtensions(),(e=this.signsProvider)==null||e.destroy(),this.signsProvider=void 0,(r=this.changeStatusBar)==null||r.remove(),this.changeStatusBar=void 0}isAvailableOnCurrentPlatform(){return{available:this.plg.useSimpleGit&&dc.Platform.isDesktopApp,gitManager:this.plg.gitManager instanceof Se?this.plg.gitManager:void 0}}refresh(){this.plg.settings.hunks.showSigns&&this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}activateCodeMirrorExtensions(){this.codeMirrorExtensions.push(pD),this.plg.settings.hunks.showSigns&&this.codeMirrorExtensions.push(...hD),this.plg.app.workspace.updateOptions(),this.plg.app.workspace.iterateAllLeaves(this.handleWorkspaceLeaf)}deactivateCodeMirrorExtensions(){for(let e of this.codeMirrorExtensions)this.codeMirrorExtensions.remove(e);this.plg.app.workspace.updateOptions()}createEventHandlers(){this.workspaceLeafChangeEvent=this.createWorkspaceLeafChangeEvent(),this.fileRenameEvent=this.createFileRenameEvent(),this.pluginRefreshedEvent=this.createPluginRefreshedEvent(),this.intervalRefreshEvent=this.createIntervalRefreshEvent(),this.plg.registerEvent(this.workspaceLeafChangeEvent),this.plg.registerEvent(this.fileRenameEvent),this.plg.registerEvent(this.pluginRefreshedEvent),this.plg.registerInterval(this.intervalRefreshEvent)}destroyEventHandlers(){this.plg.app.workspace.offref(this.workspaceLeafChangeEvent),this.plg.app.vault.offref(this.fileRenameEvent),this.plg.app.workspace.offref(this.pluginRefreshedEvent),this.plg.app.workspace.offref(this.gutterContextMenuEvent),window.clearInterval(this.intervalRefreshEvent)}createWorkspaceLeafChangeEvent(){return this.plg.app.workspace.on("active-leaf-change",this.handleWorkspaceLeaf)}createFileRenameEvent(){return this.plg.app.vault.on("rename",(e,r)=>{var i;return Jn.ifFilepathDefinedTransformSubscribers(r,n=>n.forEach(s=>{s.changeToNewFilepath(e.path)})),e instanceof dc.TFile&&((i=this.signsProvider)==null?void 0:i.trackChanged(e))})}createPluginRefreshedEvent(){return this.plg.app.workspace.on("obsidian-git:refresh",()=>{this.refresh()})}createIntervalRefreshEvent(){return window.setInterval(()=>{var e,r;(e=this.plg.app.workspace.activeEditor)!=null&&e.file&&((r=this.signsProvider)==null||r.trackChanged(this.plg.app.workspace.activeEditor.file).catch(console.error))},10*1e3)}};p();var mD=require("@codemirror/state"),_m=require("obsidian");var kb=class{constructor(e){this.state=e;this.subscribeMe()}notifyLineAuthoring(e,r){if(this.view===void 0){console.warn(`Git: View is not defined for editor cache key. Unforeseen situation. id: ${e}`);return}let i=this.view.state,n=VI(e,r,i);this.view.dispatch(n)}notifyGitCompare(e){if(this.view===void 0){console.warn("Git: View is not defined for editor cache key. Unforeseen situation. id: ");return}if(this.removeIfStale())return;let r=this.view.state,i=r.field(Ir);if(!i||i.compareText!=e.compareText||i.compareTextHead!=e.compareTextHead){let n=sO(e,r);this.view.dispatch(n)}}updateToNewState(e){return this.state=e,!this.lastSeenPath&&this.filepath&&this.subscribeMe(),this}removeIfStale(){var e;return((e=this.view)==null?void 0:e.state.field(Ab,!1))!=this||this.view.destroyed?(this.unsubscribeMe(this.lastSeenPath),!0):!1}changeToNewFilepath(e){this.unsubscribeMe(this.lastSeenPath),this.subscribeMe(e)}subscribeMe(e){e!=null||(e=this.filepath),e!==void 0&&(Jn.ifFilepathDefinedTransformSubscribers(e,r=>r.add(this)),this.lastSeenPath=e)}unsubscribeMe(e){Jn.ifFilepathDefinedTransformSubscribers(e,r=>r.delete(this))}get filepath(){var e,r;return(r=(e=this.state.field(_m.editorInfoField))==null?void 0:e.file)==null?void 0:r.path}get view(){return this.state.field(_m.editorEditorField)}},Ab=mD.StateField.define({create:t=>new kb(t),update:(t,e)=>t.updateToNewState(e.state),compare:(t,e)=>t===e});var xm=class{constructor(e){this.plg=e;this.lineAuthoringFeature=new mm(this.plg);this.signsFeature=new bm(this.plg)}onUnloadPlugin(){this.lineAuthoringFeature.deactivateFeature(),this.signsFeature.deactivateFeature()}onLoadPlugin(){this.plg.registerEditorExtension(Ab),this.lineAuthoringFeature.onLoadPlugin(),this.signsFeature.onLoadPlugin()}onReady(){this.lineAuthoringFeature.conditionallyActivateBySettings(),this.signsFeature.conditionallyActivateBySettings()}activateLineAuthoring(){this.lineAuthoringFeature.activateFeature()}deactiveLineAuthoring(){this.lineAuthoringFeature.deactivateFeature()}refreshSignsSettings(){let e=this.plg.settings.hunks;e.showSigns||e.statusBar!="disabled"||e.hunkCommands?(this.signsFeature.deactivateFeature(),this.signsFeature.activateFeature()):this.signsFeature.deactivateFeature()}};var Sm=class extends _e.Plugin{constructor(){super(...arguments);this.automaticsManager=new Du(this);this.tools=new Yu(this);this.localStorage=new Sp(this);this.state={gitAction:0,offlineMode:!1};this.gitReady=!1;this.promiseQueue=new Dd(this);this.intervalsToClear=[];this.editorIntegration=new xm(this);this.hunkActions=new pm(this)}setPluginState(r){var i;this.state=Object.assign(this.state,r),(i=this.statusBar)==null||i.display()}async updateCachedStatus(){var r,i;return this.app.workspace.trigger("obsidian-git:loading-status"),this.cachedStatus=await this.gitManager.status(),this.cachedStatus.conflicted.length>0?(this.localStorage.setConflict(!0),await((r=this.branchBar)==null?void 0:r.display())):(this.localStorage.setConflict(!1),await((i=this.branchBar)==null?void 0:i.display())),this.app.workspace.trigger("obsidian-git:status-changed",this.cachedStatus),this.cachedStatus}async refresh(){if(!this.gitReady)return;let r=this.app.workspace.getLeavesOfType(zt.type),i=this.app.workspace.getLeavesOfType(gi.type);(this.settings.changedFilesInStatusBar||r.some(n=>{var s;return!((s=n.isDeferred)!=null&&s)})||i.some(n=>{var s;return!((s=n.isDeferred)!=null&&s)}))&&await this.updateCachedStatus().catch(n=>this.displayError(n)),this.app.workspace.trigger("obsidian-git:refreshed")}refreshUpdatedHead(){}async onload(){console.log("loading "+this.manifest.name+" plugin: v"+this.manifest.version),Fi.plugin=this,this.localStorage.migrate(),await this.loadSettings(),await this.migrateSettings(),this.settingsTab=new tp(this.app,this),this.addSettingTab(this.settingsTab),this.localStorage.getPluginDisabled()||(this.registerStuff(),this.app.workspace.onLayoutReady(()=>this.init({fromReload:!1}).catch(r=>this.displayError(r))))}onExternalSettingsChange(){this.reloadSettings().catch(r=>this.displayError(r))}async reloadSettings(){let r=JSON.stringify(this.settings);await this.loadSettings();let i=JSON.stringify(this.settings);r!==i&&(this.log("Reloading settings"),this.unloadPlugin(),await this.init({fromReload:!0}),this.app.workspace.getLeavesOfType(zt.type).forEach(n=>{var s;if(!((s=n.isDeferred)!=null&&s))return n.view.reload()}),this.app.workspace.getLeavesOfType(gi.type).forEach(n=>{var s;if(!((s=n.isDeferred)!=null&&s))return n.view.reload()}))}registerStuff(){this.registerEvent(this.app.workspace.on("obsidian-git:refresh",()=>{this.refresh().catch(r=>this.displayError(r))})),this.registerEvent(this.app.workspace.on("obsidian-git:head-change",()=>{this.refreshUpdatedHead()})),this.registerEvent(this.app.workspace.on("file-menu",(r,i,n)=>{this.handleFileMenu(r,i,n,"file-manu")})),this.registerEvent(this.app.workspace.on("obsidian-git:menu",(r,i,n)=>{this.handleFileMenu(r,i,n,"obsidian-git:menu")})),this.registerEvent(this.app.workspace.on("active-leaf-change",r=>{this.onActiveLeafChange(r)})),this.registerEvent(this.app.vault.on("modify",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("delete",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("create",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerEvent(this.app.vault.on("rename",()=>{var r;this.debRefresh(),(r=this.autoCommitDebouncer)==null||r.call(this)})),this.registerView(zt.type,r=>new Sf(r,this)),this.registerView(gi.type,r=>new wf(r,this)),this.registerView(Bs.type,r=>new qa(r,this)),this.registerView(Ls.type,r=>new za(r,this)),this.addRibbonIcon("git-pull-request","Open Git source control",async()=>{var n;let r=this.app.workspace.getLeavesOfType(zt.type),i;r.length===0?(i=(n=this.app.workspace.getRightLeaf(!1))!=null?n:this.app.workspace.getLeaf(),await i.setViewState({type:zt.type})):i=r.first(),await this.app.workspace.revealLeaf(i)}),this.registerHoverLinkSource(zt.type,{display:"Git View",defaultMod:!0}),this.editorIntegration.onLoadPlugin(),this.setRefreshDebouncer(),CO(this)}setRefreshDebouncer(){var r;(r=this.debRefresh)==null||r.cancel(),this.debRefresh=(0,_e.debounce)(()=>{this.settings.refreshSourceControl&&this.refresh().catch(console.error)},this.settings.refreshSourceControlTimer,!0)}async addFileToGitignore(r,i){let n=this.gitManager.getRelativeRepoPath(r,!0),s=qP({isFolder:i,gitRelativePath:n});await this.app.vault.adapter.append(this.gitManager.getRelativeVaultPath(".gitignore"),` +`+s),this.app.workspace.trigger("obsidian-git:refresh")}handleFileMenu(r,i,n,s){if(!this.gitReady||!this.settings.showFileMenu||!i)return;let a;if(typeof i=="string"?a=i:a=i.path,n=="file-explorer-context-menu"&&(r.addItem(o=>{o.setTitle("Git: Stage").setIcon("plus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{i instanceof _e.TFile?await this.stageFile(i):(await this.gitManager.stageAll({dir:this.gitManager.getRelativeRepoPath(a,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Unstage").setIcon("minus-circle").setSection("action").onClick(l=>{this.promiseQueue.addTask(async()=>{i instanceof _e.TFile?await this.unstageFile(i):(await this.gitManager.unstageAll({dir:this.gitManager.getRelativeRepoPath(a,!0)}),this.app.workspace.trigger("obsidian-git:refresh"))})})}),r.addItem(o=>{o.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(l=>{this.addFileToGitignore(a,i instanceof _e.TFolder).catch(c=>this.displayError(c))})})),n=="git-source-control"){r.addItem(l=>{l.setTitle("Git: Add to .gitignore").setIcon("file-x").setSection("action").onClick(c=>{this.addFileToGitignore(a,i instanceof _e.TFolder).catch(u=>this.displayError(u))})});let o=this.app.vault.adapter;s==="obsidian-git:menu"&&o instanceof _e.FileSystemAdapter&&(r.addItem(l=>{l.setTitle("Open in default app").setIcon("arrow-up-right").setSection("action").onClick(c=>{this.app.openWithDefaultApp(a)})}),r.addItem(l=>{l.setTitle("Show in system explorer").setIcon("arrow-up-right").setSection("action").onClick(c=>{window.electron.shell.showItemInFolder(vD.join(o.getBasePath(),a))})}))}}async migrateSettings(){this.settings.mergeOnPull!=null&&(this.settings.syncMethod=this.settings.mergeOnPull?"merge":"rebase",this.settings.mergeOnPull=void 0,await this.saveSettings()),this.settings.autoCommitMessage===void 0&&(this.settings.autoCommitMessage=this.settings.commitMessage,await this.saveSettings()),this.settings.gitPath!=null&&(this.localStorage.setGitPath(this.settings.gitPath),this.settings.gitPath=void 0,await this.saveSettings()),this.settings.username!=null&&(this.localStorage.setPassword(this.settings.username),this.settings.username=void 0,await this.saveSettings())}unloadPlugin(){var r,i;this.gitReady=!1,this.editorIntegration.onUnloadPlugin(),this.automaticsManager.unload(),(r=this.branchBar)==null||r.remove(),(i=this.statusBar)==null||i.remove(),this.statusBar=void 0,this.branchBar=void 0,this.gitManager.unload(),this.promiseQueue.clear();for(let n of this.intervalsToClear)window.clearInterval(n);this.intervalsToClear=[],this.debRefresh.cancel()}onunload(){this.unloadPlugin(),console.log("unloading "+this.manifest.name+" plugin")}async loadSettings(){let r=await this.loadData();r==null&&(r={showedMobileNotice:!0}),this.settings=XA(rt,r)}async saveSettings(){var r;(r=this.settingsTab)==null||r.beforeSaveSettings(),await this.saveData(this.settings)}get useSimpleGit(){return _e.Platform.isDesktopApp}async init({fromReload:r=!1}){var i;if(this.settings.showStatusBar&&!this.statusBar){let n=this.addStatusBarItem();this.statusBar=new rp(n,this),this.intervalsToClear.push(window.setInterval(()=>{var s;return(s=this.statusBar)==null?void 0:s.display()},1e3))}try{this.useSimpleGit?(this.gitManager=new Se(this),await this.gitManager.setGitInstance()):this.gitManager=new Di(this);let n=await this.gitManager.checkRequirements(),s=this.localStorage.getPausedAutomatics();switch(n){case"missing-git":this.displayError(`Cannot run git command. Trying to run: '${this.localStorage.getGitPath()||"git"}' .`);break;case"missing-repo":new _e.Notice("Can't find a valid git repository. Please create one via the given command or clone an existing repo.",1e4);break;case"valid":if(this.gitReady=!0,this.setPluginState({gitAction:0}),_e.Platform.isDesktop&&this.settings.showBranchStatusBar&&!this.branchBar){let a=this.addStatusBarItem();this.branchBar=new hm(a,this),this.intervalsToClear.push(window.setInterval(()=>{var o;return void((o=this.branchBar)==null?void 0:o.display().catch(console.error))},6e4))}await((i=this.branchBar)==null?void 0:i.display()),this.editorIntegration.onReady(),this.app.workspace.trigger("obsidian-git:refresh"),this.app.workspace.trigger("obsidian-git:head-change"),!r&&this.settings.autoPullOnBoot&&!s&&this.promiseQueue.addTask(()=>this.pullChangesFromRemote()),s||await this.automaticsManager.init(),s&&new _e.Notice("Automatic routines are currently paused.");break;default:this.log("Something weird happened. The 'checkRequirements' result is "+n)}}catch(n){this.displayError(n),console.error(n)}}async createNewRepo(){try{await this.gitManager.init(),new _e.Notice("Initialized new repo"),await this.init({fromReload:!0})}catch(r){this.displayError(r)}}async cloneNewRepo(){let i=await new Qe(this,{placeholder:"Enter remote URL"}).openAndGetResult();if(i){let n="Vault Root",s=await new Qe(this,{options:this.gitManager instanceof Di?[n]:[],placeholder:"Enter directory for clone. It needs to be empty or not existent.",allowEmpty:this.gitManager instanceof Di}).openAndGetResult();if(s==null)return;if(s===n&&(s="."),s=(0,_e.normalizePath)(s),s==="/"&&(s="."),s==="."){let f=await new Qe(this,{options:["NO","YES"],placeholder:`Does your remote repo contain a ${this.app.vault.configDir} directory at the root?`,onlySelection:!0}).openAndGetResult();if(f===void 0){new _e.Notice("Aborted clone");return}else if(f==="YES"){let d="DELETE ALL YOUR LOCAL CONFIG AND PLUGINS";if(await new Qe(this,{options:["Abort clone",d],placeholder:`To avoid conflicts, the local ${this.app.vault.configDir} directory needs to be deleted.`,onlySelection:!0}).openAndGetResult()===d)await this.app.vault.adapter.rmdir(this.app.vault.configDir,!0);else{new _e.Notice("Aborted clone");return}}}let a=await new Qe(this,{placeholder:"Specify depth of clone. Leave empty for full clone.",allowEmpty:!0}).openAndGetResult(),o;if(a===void 0){new _e.Notice("Aborted clone");return}if(a!==""&&(o=parseInt(a),isNaN(o))){new _e.Notice("Invalid depth. Aborting clone.");return}new _e.Notice(`Cloning new repo into "${s}"`);let l=this.settings.basePath,c=s&&s!==".";c&&(this.settings.basePath=s);try{await this.gitManager.clone(qw(i),s,o),new _e.Notice("Cloned new repo."),new _e.Notice("Please restart Obsidian"),c&&await this.saveSettings()}catch(u){this.displayError(u),this.settings.basePath=l,await this.saveSettings()}}}async isAllInitialized(){return this.gitReady||await this.init({fromReload:!0}),this.gitReady}async pullChangesFromRemote(){if(!await this.isAllInitialized())return;let r=await this.pull();if(r!==!1){if(r||this.displayMessage("Pull: Everything is up-to-date"),this.gitManager instanceof Se){let i=await this.updateCachedStatus();i.conflicted.length>0&&(this.displayError(`You have conflicts in ${i.conflicted.length} ${i.conflicted.length==1?"file":"files"}`),await this.handleConflict(i.conflicted))}this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0})}}async commitAndSync({fromAutoBackup:r,requestCustomMessage:i=!1,commitMessage:n,onlyStaged:s=!1}){!await this.isAllInitialized()||(this.settings.syncMethod=="reset"&&this.settings.pullBeforePush&&await this.pull(),!await this.commit({fromAuto:r,requestCustomMessage:i,commitMessage:n,onlyStaged:s}))||(this.settings.syncMethod!="reset"&&this.settings.pullBeforePush&&await this.pull(),this.settings.disablePush||(await this.remotesAreSet()&&await this.gitManager.canPush()?await this.push():this.displayMessage("No commits to push")),this.setPluginState({gitAction:0}))}async commit({fromAuto:r,requestCustomMessage:i=!1,onlyStaged:n=!1,commitMessage:s,amend:a=!1}){if(!await this.isAllInitialized())return!1;try{let o=this.localStorage.getConflict(),l,c=[],u=[];if(this.gitManager instanceof Se){if(await this.mayDeleteConflictFile(),l=await this.updateCachedStatus(),l.conflicted.length==0&&(o=!1),r&&l.conflicted.length>0)return this.displayError(`Did not commit, because you have conflicts in ${l.conflicted.length} ${l.conflicted.length==1?"file":"files"}. Please resolve them and commit per command.`),await this.handleConflict(l.conflicted),!1;c=l.staged,u=l.changed}else{if(r&&o)return this.displayError("Did not commit, because you have conflicts. Please resolve them and commit per command."),!1;{o&&await this.mayDeleteConflictFile();let f=this.gitManager;n?c=await f.getStagedFiles():u=(await f.getUnstagedFiles()).map(({path:h,type:m})=>({vaultPath:this.gitManager.getRelativeVaultPath(h),path:h,type:m}))}}if(await this.tools.hasTooBigFiles(n?c:[...c,...u]))return this.setPluginState({gitAction:0}),!1;if(u.length+c.length!==0||o){let f=s!=null?s:s=r?this.settings.autoCommitMessage:this.settings.commitMessage;if(r&&this.settings.customMessageOnAutoBackup||i){!this.settings.disablePopups&&r&&new _e.Notice("Auto backup: Please enter a custom commit message. Leave empty to abort");let m=await new ip(this).openAndGetResult();if(m!=null&&m!=""&&m!="...")f=m;else return this.setPluginState({gitAction:0}),!1}else if(this.gitManager instanceof Se&&this.settings.commitMessageScript){let m=this.settings.commitMessageScript,g=this.localStorage.getHostname()||"",v=m.replace("{{hostname}}",g);v=v.replace("{{date}}",(0,_e.moment)().format(this.settings.commitDateFormat));let w=await ku("sh",["-c",v],{cwd:this.gitManager.absoluteRepoPath});w.code!=0?this.displayError(w.stderr):w.stdout.trim().length==0?this.displayMessage("Stdout from commit message script is empty. Using default message."):f=w.stdout}if(!f||f.trim()==="")return new _e.Notice("Commit aborted: No commit message provided"),this.setPluginState({gitAction:0}),!1;let d;n?d=await this.gitManager.commit({message:f,amend:a}):d=await this.gitManager.commitAll({message:f,status:l,unstagedFiles:u,amend:a}),this.gitManager instanceof Se&&await this.updateCachedStatus();let h=!1;d===void 0&&(h=!0,d=u.length+c.length||0),this.displayMessage(`Committed${h?" approx.":""} ${d} ${d==1?"file":"files"}`)}else this.displayMessage("No changes to commit");return this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(o){return this.displayError(o),!1}}async push(){if(!await this.isAllInitialized()||!await this.remotesAreSet())return!1;let r=this.localStorage.getConflict();try{this.gitManager instanceof Se&&await this.mayDeleteConflictFile();let i;if(this.gitManager instanceof Se&&(i=await this.updateCachedStatus()).conflicted.length>0)return this.displayError(`Cannot push. You have conflicts in ${i.conflicted.length} ${i.conflicted.length==1?"file":"files"}`),await this.handleConflict(i.conflicted),!1;if(this.gitManager instanceof Di&&r)return this.displayError("Cannot push. You have conflicts"),!1;this.log("Pushing....");let n=await this.gitManager.push();return n!==void 0&&(n===null?this.displayMessage("Pushed to remote"):n>0?this.displayMessage(`Pushed ${n} ${n==1?"file":"files"} to remote`):this.displayMessage("No commits to push")),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh"),!0}catch(i){return i instanceof cl?this.handleNoNetworkError(i):this.displayError(i),!1}}async pull(){if(!await this.remotesAreSet())return!1;try{this.log("Pulling....");let r=await this.gitManager.pull()||[];return this.setPluginState({offlineMode:!1}),r.length>0&&(this.displayMessage(`Pulled ${r.length} ${r.length==1?"file":"files"} from remote`),this.lastPulledFiles=r),r.length}catch(r){return this.displayError(r),!1}}async fetch(){if(await this.remotesAreSet())try{await this.gitManager.fetch(),this.displayMessage("Fetched from remote"),this.setPluginState({offlineMode:!1}),this.app.workspace.trigger("obsidian-git:refresh")}catch(r){this.displayError(r)}}async mayDeleteConflictFile(){let r=this.app.vault.getAbstractFileByPath(al);r&&(this.app.workspace.iterateAllLeaves(i=>{var n;i.view instanceof _e.MarkdownView&&((n=i.view.file)==null?void 0:n.path)==r.path&&i.detach()}),await this.app.vault.delete(r))}async stageFile(r){return await this.isAllInitialized()?(await this.gitManager.stage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async unstageFile(r){return await this.isAllInitialized()?(await this.gitManager.unstage(r.path,!0),this.app.workspace.trigger("obsidian-git:refresh"),this.setPluginState({gitAction:0}),!0):!1}async switchBranch(){var n;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo(),i=await new fm(this,r.branches).openAndGetReslt();if(i!=null)return await this.gitManager.checkout(i),this.displayMessage(`Switched to ${i}`),this.app.workspace.trigger("obsidian-git:refresh"),await((n=this.branchBar)==null?void 0:n.display()),i}async switchRemoteBranch(){var s;if(!await this.isAllInitialized())return;let r=await this.selectRemoteBranch()||"",[i,n]=Zn(r);if(n!=null&&i!=null)return await this.gitManager.checkout(n,i),this.displayMessage(`Switched to ${r}`),await((s=this.branchBar)==null?void 0:s.display()),r}async createBranch(){var i;if(!await this.isAllInitialized())return;let r=await new Qe(this,{placeholder:"Create new branch"}).openAndGetResult();if(r!=null)return await this.gitManager.createBranch(r),this.displayMessage(`Created new branch ${r}`),await((i=this.branchBar)==null?void 0:i.display()),r}async deleteBranch(){var n;if(!await this.isAllInitialized())return;let r=await this.gitManager.branchInfo();r.current&&r.branches.remove(r.current);let i=await new Qe(this,{options:r.branches,placeholder:"Delete branch",onlySelection:!0}).openAndGetResult();if(i!=null){let s=!1;if(!await this.gitManager.branchIsMerged(i)){let o=await new Qe(this,{options:["YES","NO"],placeholder:"This branch isn't merged into HEAD. Force delete?",onlySelection:!0}).openAndGetResult();if(o!=="YES")return;s=o==="YES"}return await this.gitManager.deleteBranch(i,s),this.displayMessage(`Deleted branch ${i}`),await((n=this.branchBar)==null?void 0:n.display()),i}}async remotesAreSet(){return this.settings.updateSubmodules||this.gitManager instanceof Se&&await this.gitManager.getConfig("push.autoSetupRemote","all")=="true"||(await this.gitManager.branchInfo()).tracking?!0:(new _e.Notice("No upstream branch is set. Please select one."),await this.setUpstreamBranch())}async setUpstreamBranch(){let r=await this.selectRemoteBranch();return r==null?(this.displayError("Aborted. No upstream-branch is set!",1e4),this.setPluginState({gitAction:0}),!1):(await this.gitManager.updateUpstreamBranch(r),this.displayMessage(`Set upstream branch to ${r}`),this.setPluginState({gitAction:0}),!0)}async discardAll(r){if(!await this.isAllInitialized())return!1;let i=await this.gitManager.status({path:r}),n=0,s=0;for(let o of i.changed)o.workingDir=="U"?n++:s++;if(n+s==0)return!1;let a=await new fc({app:this.app,filesToDeleteCount:n,filesToDiscardCount:s,path:r!=null?r:""}).openAndGetResult();switch(a){case!1:return a;case"discard":await this.gitManager.discardAll({dir:r,status:this.cachedStatus});break;case"delete":{await this.gitManager.discardAll({dir:r,status:this.cachedStatus});let o=await this.gitManager.getUntrackedPaths({path:r,status:this.cachedStatus});for(let l of o){let c=this.gitManager.getRelativeVaultPath(l),u=this.app.vault.getAbstractFileByPath(c);u?await this.app.fileManager.trashFile(u):l.endsWith("/")?await this.app.vault.adapter.rmdir(c,!0):await this.app.vault.adapter.remove(c)}break}default:wh(a)}return this.app.workspace.trigger("obsidian-git:refresh"),a}async handleConflict(r){this.localStorage.setConflict(!0);let i;r!==void 0&&(i=["# Conflicts","Please resolve them and commit them using the commands `Git: Commit all changes` followed by `Git: Push`","(This file will automatically be deleted before commit)","[[#Additional Instructions]] available below file list","",...r.map(n=>{let s=this.app.vault.getAbstractFileByPath(n);return s instanceof _e.TFile?`- [[${this.app.metadataCache.fileToLinktext(s,"/")}]]`:`- Not a file: ${n}`}),` +# Additional Instructions +I strongly recommend to use "Source mode" for viewing the conflicted files. For simple conflicts, in each file listed above replace every occurrence of the following text blocks with the desired text. + +\`\`\`diff +<<<<<<< HEAD + File changes in local repository +======= + File changes in remote repository +>>>>>>> origin/main +\`\`\``]),await this.tools.writeAndOpenFile(i==null?void 0:i.join(` +`))}async editRemotes(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),n=await new Qe(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}).openAndGetResult();if(n){let s=await this.gitManager.getRemoteUrl(n),o=await new Qe(this,{initialValue:s,placeholder:"Enter remote URL"}).openAndGetResult();if(o)return await this.gitManager.setRemote(n,qw(o)),n}}async selectRemoteBranch(){let r=await this.gitManager.getRemotes(),i;r.length===0&&(i=await this.editRemotes(),i==null&&(r=await this.gitManager.getRemotes()));let n=new Qe(this,{options:r,placeholder:"Select or create a new remote by typing its name and selecting it"}),s=i!=null?i:await n.openAndGetResult();if(s){this.displayMessage("Fetching remote branches"),await this.gitManager.fetch(s);let a=await this.gitManager.getRemoteBranches(s),l=await new Qe(this,{options:a,placeholder:"Select or create a new remote branch by typing its name and selecting it"}).openAndGetResult();return l==null?void 0:l.startsWith(s+"/")?l:`${s}/${l}`}}async removeRemote(){if(!await this.isAllInitialized())return;let r=await this.gitManager.getRemotes(),n=await new Qe(this,{options:r,placeholder:"Select a remote"}).openAndGetResult();n&&await this.gitManager.removeRemote(n)}onActiveLeafChange(r){var a,o;let i=r==null?void 0:r.view;if(!(i!=null&&i.getState().file)&&!(i instanceof qa||i instanceof za))return;let n=this.app.workspace.getLeavesOfType(zt.type).first(),s=this.app.workspace.getLeavesOfType(gi.type).first();if((a=n==null?void 0:n.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||a.removeClass("is-active"),(o=s==null?void 0:s.view.containerEl.querySelector("div.tree-item-self.is-active"))==null||o.removeClass("is-active"),(r==null?void 0:r.view)instanceof qa||(r==null?void 0:r.view)instanceof za){let c=r.view.state.bFile.replace(/["\\]/g,"\\$&");this.lastDiffViewState=r.view.getState();let u;n&&r.view.state.aRef=="HEAD"?u=n.view.containerEl.querySelector(`div.staged div.tree-item-self[data-path="${c}"]`):n&&r.view.state.aRef==""?u=n.view.containerEl.querySelector(`div.changes div.tree-item-self[data-path="${c}"]`):s&&(u=s.view.containerEl.querySelector(`div.tree-item-self[data-path='${c}']`)),u==null||u.addClass("is-active")}else this.lastDiffViewState=void 0}handleNoNetworkError(r){this.state.offlineMode?this.log("Encountered network error, but already in offline mode"):this.displayError("Git: Going into offline mode. Future network errors will no longer be displayed.",2e3),this.setPluginState({gitAction:0,offlineMode:!0})}displayMessage(r,i=4*1e3){var n;(n=this.statusBar)==null||n.displayMessage(r.toLowerCase(),i),this.settings.disablePopups||(!this.settings.disablePopupsForNoChanges||!r.startsWith("No changes"))&&new _e.Notice(r,5*1e3),this.log(r)}displayError(r,i=10*1e3){var s;if(r instanceof gD.Errors.UserCanceledError){new _e.Notice("Aborted");return}let n;r instanceof Error?n=r:n=new Error(String(r)),this.setPluginState({gitAction:0}),this.settings.showErrorNotices&&new _e.Notice(n.message,i),console.error(`${this.manifest.id}:`,n.stack),(s=this.statusBar)==null||s.displayMessage(n.message.toLowerCase(),i)}log(...r){console.log(`${this.manifest.id}:`,...r)}}; +/*! Bundled license information: + +ieee754/index.js: + (*! ieee754. BSD-3-Clause License. Feross Aboukhadijeh *) + +buffer/index.js: + (*! + * The buffer module from node.js, for the browser. + * + * @author Feross Aboukhadijeh + * @license MIT + *) + +safe-buffer/index.js: + (*! safe-buffer. MIT License. Feross Aboukhadijeh *) + +crc-32/crc32.js: + (*! crc32.js (C) 2014-present SheetJS -- http://sheetjs.com *) + +isomorphic-git/index.cjs: + (*! + * This code for `path.join` is directly copied from @zenfs/core/path for bundle size improvements. + * SPDX-License-Identifier: LGPL-3.0-or-later + * Copyright (c) James Prevett and other ZenFS contributors. + *) + +js-sha256/src/sha256.js: + (** + * [js-sha256]{@link https://github.com/emn178/js-sha256} + * + * @version 0.9.0 + * @author Chen, Yi-Cyuan [emn178@gmail.com] + * @copyright Chen, Yi-Cyuan 2014-2017 + * @license MIT + *) +*/ + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-git/manifest.json b/.obsidian/plugins/obsidian-git/manifest.json new file mode 100644 index 0000000..fe238e5 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/manifest.json @@ -0,0 +1,10 @@ +{ + "author": "Vinzent", + "authorUrl": "https://github.com/Vinzent03", + "id": "obsidian-git", + "name": "Git", + "description": "Integrate Git version control with automatic backup and other advanced features.", + "isDesktopOnly": false, + "fundingUrl": "https://ko-fi.com/vinzent", + "version": "2.37.1" +} diff --git a/.obsidian/plugins/obsidian-git/obsidian_askpass.sh b/.obsidian/plugins/obsidian-git/obsidian_askpass.sh new file mode 100755 index 0000000..2e5eb5d --- /dev/null +++ b/.obsidian/plugins/obsidian-git/obsidian_askpass.sh @@ -0,0 +1,23 @@ +#!/bin/sh + +PROMPT="$1" +TEMP_FILE="$OBSIDIAN_GIT_CREDENTIALS_INPUT" + +cleanup() { + rm -f "$TEMP_FILE" "$TEMP_FILE.response" +} +trap cleanup EXIT + +echo "$PROMPT" > "$TEMP_FILE" + +while [ ! -e "$TEMP_FILE.response" ]; do + if [ ! -e "$TEMP_FILE" ]; then + echo "Trigger file got removed: Abort" >&2 + exit 1 + fi + sleep 0.1 +done + +RESPONSE=$(cat "$TEMP_FILE.response") + +echo "$RESPONSE" diff --git a/.obsidian/plugins/obsidian-git/styles.css b/.obsidian/plugins/obsidian-git/styles.css new file mode 100644 index 0000000..92c8af8 --- /dev/null +++ b/.obsidian/plugins/obsidian-git/styles.css @@ -0,0 +1,705 @@ +@keyframes loading { + 0% { + transform: rotate(0deg); + } + + 100% { + transform: rotate(360deg); + } +} + +.git-signs-gutter { + .cm-gutterElement { + /* Needed to align the sign properly for different line heigts. Such as + * when having a heading or list item. + */ + padding-top: 0 !important; + } +} + +.workspace-leaf-content[data-type="git-view"] .button-border { + border: 2px solid var(--interactive-accent); + border-radius: var(--radius-s); +} + +.workspace-leaf-content[data-type="git-view"] .view-content { + padding-left: 0; + padding-top: 0; + padding-right: 0; +} + +.workspace-leaf-content[data-type="git-history-view"] .view-content { + padding-left: 0; + padding-top: 0; + padding-right: 0; +} + +.loading { + overflow: hidden; +} + +.loading > svg { + animation: 2s linear infinite loading; + transform-origin: 50% 50%; + display: inline-block; +} + +.obsidian-git-center { + margin: auto; + text-align: center; + width: 50%; +} + +.obsidian-git-textarea { + display: block; + margin-left: auto; + margin-right: auto; +} + +.obsidian-git-disabled { + opacity: 0.5; +} + +.obsidian-git-center-button { + display: block; + margin: 20px auto; +} + +.tooltip.mod-left { + overflow-wrap: break-word; +} + +.tooltip.mod-right { + overflow-wrap: break-word; +} + +/* Limits the scrollbar to the view body */ +.git-view { + display: flex; + flex-direction: column; + position: relative; + height: 100%; +} + +.git-tools { + display: flex; + margin-left: auto; +} +.git-tools .type { + padding-left: var(--size-2-1); + display: flex; + align-items: center; + justify-content: center; + width: 11px; +} + +.git-tools .type[data-type="M"] { + color: orange; +} +.git-tools .type[data-type="D"] { + color: red; +} +.git-tools .buttons { + display: flex; +} +.git-tools .buttons > * { + padding: 0 0; + height: auto; +} + +.workspace-leaf-content[data-type="git-view"] .tree-item-self, +.workspace-leaf-content[data-type="git-history-view"] .tree-item-self { + align-items: center; +} + +.workspace-leaf-content[data-type="git-view"] + .tree-item-self:hover + .clickable-icon, +.workspace-leaf-content[data-type="git-history-view"] + .tree-item-self:hover + .clickable-icon { + color: var(--icon-color-hover); +} + +/* Highlight an item as active if it's diff is currently opened */ +.is-active .git-tools .buttons > * { + color: var(--nav-item-color-active); +} + +.git-author { + color: var(--text-accent); +} + +.git-date { + color: var(--text-accent); +} + +.git-ref { + color: var(--text-accent); +} + +/* ====== diff2html ====== +The following styles are adapted from the obsidian-version-history plugin by +@kometenstaub https://github.com/kometenstaub/obsidian-version-history-diff/blob/main/src/styles.scss +which itself is adapted from the diff2html library with the following original license: + + https://github.com/rtfpessoa/diff2html/blob/master/LICENSE.md + + Copyright 2014-2016 Rodrigo Fernandes https://rtfpessoa.github.io/ + + Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated + documentation files (the "Software"), to deal in the Software without restriction, including without limitation the + rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit + persons to whom the Software is furnished to do so, subject to the following conditions: + + The above copyright notice and this permission notice shall be included in all copies or substantial portions of the + Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE + WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR + COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR + OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*/ + +.theme-dark, +.theme-light { + --git-delete-bg: #ff475040; + --git-delete-hl: #96050a75; + --git-insert-bg: #68d36840; + --git-insert-hl: #23c02350; + --git-change-bg: #ffd55840; + --git-selected: #3572b0; + + --git-delete: #c33; + --git-insert: #399839; + --git-change: #d0b44c; + --git-move: #3572b0; +} + +.git-diff { + .d2h-d-none { + display: none; + } + .d2h-wrapper { + text-align: left; + border-radius: 0.25em; + overflow: auto; + } + .d2h-file-header.d2h-file-header { + background-color: var(--background-secondary); + border-bottom: 1px solid var(--background-modifier-border); + font-family: + Source Sans Pro, + Helvetica Neue, + Helvetica, + Arial, + sans-serif; + height: 35px; + padding: 5px 10px; + } + .d2h-file-header, + .d2h-file-stats { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + } + .d2h-file-header { + display: none; + } + .d2h-file-stats { + font-size: 14px; + margin-left: auto; + } + .d2h-lines-added { + border: 1px solid var(--color-green); + border-radius: 5px 0 0 5px; + color: var(--color-green); + padding: 2px; + text-align: right; + vertical-align: middle; + } + .d2h-lines-deleted { + border: 1px solid var(--color-red); + border-radius: 0 5px 5px 0; + color: var(--color-red); + margin-left: 1px; + padding: 2px; + text-align: left; + vertical-align: middle; + } + .d2h-file-name-wrapper { + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 15px; + width: 100%; + } + .d2h-file-name { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + color: var(--text-normal); + font-size: var(--h5-size); + } + .d2h-file-wrapper { + border: 1px solid var(--background-secondary-alt); + border-radius: 3px; + margin-bottom: 1em; + max-height: 100%; + } + .d2h-file-collapse { + -webkit-box-pack: end; + -ms-flex-pack: end; + -webkit-box-align: center; + -ms-flex-align: center; + align-items: center; + border: 1px solid var(--background-secondary-alt); + border-radius: 3px; + cursor: pointer; + display: none; + font-size: 12px; + justify-content: flex-end; + padding: 4px 8px; + } + .d2h-file-collapse.d2h-selected { + background-color: var(--git-selected); + } + .d2h-file-collapse-input { + margin: 0 4px 0 0; + } + .d2h-diff-table { + border-collapse: collapse; + font-family: var(--font-monospace); + font-size: var(--code-size); + width: 100%; + } + .d2h-files-diff { + width: 100%; + } + .d2h-file-diff { + /* + overflow-y: scroll; + */ + border-radius: 5px; + font-size: var(--font-text-size); + line-height: var(--line-height-normal); + } + .d2h-file-side-diff { + display: inline-block; + margin-bottom: -8px; + margin-right: -4px; + overflow-x: scroll; + overflow-y: hidden; + width: 50%; + } + .d2h-code-line { + padding-left: 6em; + padding-right: 1.5em; + } + .d2h-code-line, + .d2h-code-side-line { + display: inline-block; + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + white-space: nowrap; + width: 100%; + } + .d2h-code-side-line { + /* needed to be changed */ + padding-left: 0.5em; + padding-right: 0.5em; + } + .d2h-code-line-ctn { + word-wrap: normal; + background: none; + display: inline-block; + padding: 0; + -webkit-user-select: text; + -moz-user-select: text; + -ms-user-select: text; + user-select: text; + vertical-align: middle; + width: 100%; + /* only works for line-by-line */ + white-space: pre-wrap; + } + .d2h-code-line del, + .d2h-code-side-line del { + background-color: var(--git-delete-hl); + color: var(--text-normal); + } + .d2h-code-line del, + .d2h-code-line ins, + .d2h-code-side-line del, + .d2h-code-side-line ins { + border-radius: 0.2em; + display: inline-block; + margin-top: -1px; + text-decoration: none; + vertical-align: middle; + } + .d2h-code-line ins, + .d2h-code-side-line ins { + background-color: var(--git-insert-hl); + text-align: left; + } + .d2h-code-line-prefix { + word-wrap: normal; + background: none; + display: inline; + padding: 0; + white-space: pre; + } + .line-num1 { + float: left; + } + .line-num1, + .line-num2 { + -webkit-box-sizing: border-box; + box-sizing: border-box; + overflow: hidden; + /* + padding: 0 0.5em; + */ + text-overflow: ellipsis; + width: 2.5em; + padding-left: 0; + } + .line-num2 { + float: right; + } + .d2h-code-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-faint); + cursor: pointer; + display: inline-block; + position: absolute; + text-align: right; + width: 5.5em; + } + .d2h-code-linenumber:after { + content: "\200b"; + } + .d2h-code-side-linenumber { + background-color: var(--background-primary); + border: solid var(--background-modifier-border); + border-width: 0 1px; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: var(--text-faint); + cursor: pointer; + overflow: hidden; + padding: 0 0.5em; + text-align: right; + text-overflow: ellipsis; + width: 4em; + /* needed to be changed */ + display: table-cell; + position: relative; + } + .d2h-code-side-linenumber:after { + content: "\200b"; + } + .d2h-code-side-emptyplaceholder, + .d2h-emptyplaceholder { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); + } + .d2h-code-line-prefix, + .d2h-code-linenumber, + .d2h-code-side-linenumber, + .d2h-emptyplaceholder { + -webkit-user-select: none; + -moz-user-select: none; + -ms-user-select: none; + user-select: none; + } + .d2h-code-linenumber, + .d2h-code-side-linenumber { + direction: rtl; + } + .d2h-del { + background-color: var(--git-delete-bg); + border-color: var(--git-delete-hl); + } + .d2h-ins { + background-color: var(--git-insert-bg); + border-color: var(--git-insert-hl); + } + .d2h-info { + background-color: var(--background-primary); + border-color: var(--background-modifier-border); + color: var(--text-faint); + } + .d2h-del, + .d2h-ins, + .d2h-file-diff .d2h-change { + color: var(--text-normal); + } + .d2h-file-diff .d2h-del.d2h-change { + background-color: var(--git-change-bg); + } + .d2h-file-diff .d2h-ins.d2h-change { + background-color: var(--git-insert-bg); + } + .d2h-file-list-wrapper { + a { + text-decoration: none; + cursor: default; + -webkit-user-drag: none; + } + + svg { + display: none; + } + } + .d2h-file-list-header { + text-align: left; + } + .d2h-file-list-title { + display: none; + } + .d2h-file-list-line { + display: -webkit-box; + display: -ms-flexbox; + display: flex; + text-align: left; + } + .d2h-file-list { + } + .d2h-file-list > li { + border-bottom: 1px solid var(--background-modifier-border); + margin: 0; + padding: 5px 10px; + } + .d2h-file-list > li:last-child { + border-bottom: none; + } + .d2h-file-switch { + cursor: pointer; + display: none; + font-size: 10px; + } + .d2h-icon { + fill: currentColor; + margin-right: 10px; + vertical-align: middle; + } + .d2h-deleted { + color: var(--git-delete); + } + .d2h-added { + color: var(--git-insert); + } + .d2h-changed { + color: var(--git-change); + } + .d2h-moved { + color: var(--git-move); + } + .d2h-tag { + background-color: var(--background-secondary); + display: -webkit-box; + display: -ms-flexbox; + display: flex; + font-size: 10px; + margin-left: 5px; + padding: 0 2px; + } + .d2h-deleted-tag { + border: 1px solid var(--git-delete); + } + .d2h-added-tag { + border: 1px solid var(--git-insert); + } + .d2h-changed-tag { + border: 1px solid var(--git-change); + } + .d2h-moved-tag { + border: 1px solid var(--git-move); + } + + /* needed for line-by-line*/ + + .d2h-diff-tbody { + position: relative; + } +} + +/* ====================== Line Authoring Information ====================== */ + +.cm-gutterElement.obs-git-blame-gutter { + /* Add background color to spacing inbetween and around the gutter for better aesthetics */ + border-width: 0px 2px 0.2px 2px; + border-style: solid; + border-color: var(--background-secondary); + background-color: var(--background-secondary); +} + +.cm-gutterElement.obs-git-blame-gutter > div, +.line-author-settings-preview { + /* delegate text color to settings */ + color: var(--obs-git-gutter-text); + font-family: monospace; + height: 100%; /* ensure, that age-based background color occupies entire parent */ + text-align: right; + padding: 0px 6px 0px 6px; + white-space: pre; /* Keep spaces and do not collapse them. */ +} + +@media (max-width: 800px) { + /* hide git blame gutter not to superpose text */ + .cm-gutterElement.obs-git-blame-gutter { + display: none; + } +} + +.git-unified-diff-view, +.git-split-diff-view .cm-deletedLine .cm-changedText { + background-color: #ee443330; +} + +.git-unified-diff-view, +.git-split-diff-view .cm-insertedLine .cm-changedText { + background-color: #22bb2230; +} + +.git-obscure-prompt[git-is-obscured="true"] #git-show-password:after { + -webkit-mask-image: url('data:image/svg+xml,'); +} + +.git-obscure-prompt[git-is-obscured="false"] #git-show-password:after { + -webkit-mask-image: url('data:image/svg+xml,'); +} + +/* Override styling of Codemirror merge view "collapsed lines" indicator */ +.git-split-diff-view .ͼ2 .cm-collapsedLines { + background: var(--interactive-normal); + border-radius: var(--radius-m); + color: var(--text-accent); + font-size: var(--font-small); + padding: var(--size-4-1) var(--size-4-1); +} +.git-split-diff-view .ͼ2 .cm-collapsedLines:hover { + background: var(--interactive-hover); + color: var(--text-accent-hover); +} + +.git-signs-gutter { + .cm-gutterElement { + display: grid; + } +} + +.git-gutter-marker:hover { + border-radius: 2px; +} + +.git-gutter-marker.git-add { + background-color: var(--color-green); + justify-self: center; + height: inherit; + width: 0.2rem; +} + +.git-gutter-marker.git-change { + background-color: var(--color-yellow); + justify-self: center; + height: inherit; + width: 0.2rem; +} + +.git-gutter-marker.git-changedelete { + color: var(--color-yellow); + font-weight: var(--font-bold); + font-size: 1rem; + justify-self: center; + height: inherit; +} + +.git-gutter-marker.git-delete { + background-color: var(--color-red); + height: 0.2rem; + width: 0.8rem; + align-self: end; +} + +.git-gutter-marker.git-topdelete { + background-color: var(--color-red); + height: 0.2rem; + width: 0.8rem; + align-self: start; +} + +div:hover > .git-gutter-marker.git-change { + width: 0.6rem; +} + +div:hover > .git-gutter-marker.git-add { + width: 0.6rem; +} + +div:hover > .git-gutter-marker.git-delete { + height: 0.6rem; +} + +div:hover > .git-gutter-marker.git-topdelete { + height: 0.6rem; +} + +div:hover > .git-gutter-marker.git-changedelete { + font-weight: var(--font-bold); +} + +.git-gutter-marker.staged { + opacity: 0.5; +} + +.git-diff { + .cm-merge-revert { + width: 4em; + } + /* Ensure that merge revert markers are positioned correctly */ + .cm-merge-revert > * { + position: absolute; + background-color: var(--background-secondary); + display: flex; + } +} + +/* Prevent shifting of the editor when git signs gutter is the only gutter present */ +.cm-gutters.cm-gutters-before:has(> .git-signs-gutter:only-child) { + margin-inline-end: 0; + .git-signs-gutter { + margin-inline-start: -1rem; + } +} + +.git-changes-status-bar-colored { + .git-add { + color: var(--color-green); + } + .git-change { + color: var(--color-yellow); + } + .git-delete { + color: var(--color-red); + } +} + +.git-changes-status-bar .git-add { + margin-right: 0.3em; +} + +.git-changes-status-bar .git-change { + margin-right: 0.3em; +} diff --git a/.obsidian/plugins/obsidian-latex-suite/data.json b/.obsidian/plugins/obsidian-latex-suite/data.json new file mode 100644 index 0000000..a505156 --- /dev/null +++ b/.obsidian/plugins/obsidian-latex-suite/data.json @@ -0,0 +1,30 @@ +{ + "snippets": "[\n // Math mode\n\t{trigger: \"mk\", replacement: \"$$0$\", options: \"tA\"},\n\t{trigger: \"dm\", replacement: \"$$\\n$0\\n$$\", options: \"tAw\"},\n\t{trigger: \"beg\", replacement: \"\\\\begin{$0}\\n$1\\n\\\\end{$0}\", options: \"mA\"},\n\n // Dashes\n\t// {trigger: \"--\", replacement: \"–\", options: \"tA\"},\n\t// {trigger: \"–-\", replacement: \"—\", options: \"tA\"},\n\t// {trigger: \"—-\", replacement: \"---\", options: \"tA\"},\n\n // Greek letters\n\t{trigger: \"@a\", replacement: \"\\\\alpha\", options: \"mA\"},\n\t{trigger: \"@b\", replacement: \"\\\\beta\", options: \"mA\"},\n\t{trigger: \"@g\", replacement: \"\\\\gamma\", options: \"mA\"},\n\t{trigger: \"@G\", replacement: \"\\\\Gamma\", options: \"mA\"},\n\t{trigger: \"@d\", replacement: \"\\\\delta\", options: \"mA\"},\n\t{trigger: \"@D\", replacement: \"\\\\Delta\", options: \"mA\"},\n\t{trigger: \"@e\", replacement: \"\\\\epsilon\", options: \"mA\"},\n\t{trigger: \":e\", replacement: \"\\\\varepsilon\", options: \"mA\"},\n\t{trigger: \"@z\", replacement: \"\\\\zeta\", options: \"mA\"},\n\t{trigger: \"@t\", replacement: \"\\\\theta\", options: \"mA\"},\n\t{trigger: \"@T\", replacement: \"\\\\Theta\", options: \"mA\"},\n\t{trigger: \":t\", replacement: \"\\\\vartheta\", options: \"mA\"},\n\t{trigger: \"@i\", replacement: \"\\\\iota\", options: \"mA\"},\n\t{trigger: \"@k\", replacement: \"\\\\kappa\", options: \"mA\"},\n\t{trigger: \"@l\", replacement: \"\\\\lambda\", options: \"mA\"},\n\t{trigger: \"@L\", replacement: \"\\\\Lambda\", options: \"mA\"},\n\t{trigger: \"@s\", replacement: \"\\\\sigma\", options: \"mA\"},\n\t{trigger: \"@S\", replacement: \"\\\\Sigma\", options: \"mA\"},\n\t{trigger: \"@u\", replacement: \"\\\\upsilon\", options: \"mA\"},\n\t{trigger: \"@U\", replacement: \"\\\\Upsilon\", options: \"mA\"},\n\t{trigger: \"@o\", replacement: \"\\\\omega\", options: \"mA\"},\n\t{trigger: \"@O\", replacement: \"\\\\Omega\", options: \"mA\"},\n\t{trigger: \"ome\", replacement: \"\\\\omega\", options: \"mA\"},\n\t{trigger: \"Ome\", replacement: \"\\\\Omega\", options: \"mA\"},\n\n // Text environment\n {trigger: \"text\", replacement: \"\\\\text{$0}$1\", options: \"mA\"},\n {trigger: \"\\\"\", replacement: \"\\\\text{$0}$1\", options: \"mA\"},\n\n // Basic operations\n {trigger: \"sr\", replacement: \"^{2}\", options: \"mA\"},\n\t{trigger: \"cb\", replacement: \"^{3}\", options: \"mA\"},\n\t{trigger: \"rd\", replacement: \"^{$0}$1\", options: \"mA\"},\n\t{trigger: \"_\", replacement: \"_{$0}$1\", options: \"mA\"},\n {trigger: \"^_\", replacement: \"\\\\overline{$0}$1\", options: \"mA\"},\n\t{trigger: \"sts\", replacement: \"_\\\\text{$0}\", options: \"mA\"},\n\t{trigger: \"sq\", replacement: \"\\\\sqrt{ $0 }$1\", options: \"mA\"},\n {trigger: \"rt\", replacement: \"\\\\sqrt[ $0 ]{ $1 }$2\", options: \"mA\"},\n\t{trigger: \"//\", replacement: \"\\\\dfrac{$0}{$1}$2\", options: \"mA\"},\n\t{trigger: \"ee\", replacement: \"e^{ $0 }$1\", options: \"mA\"},\n {trigger: \"invs\", replacement: \"^{-1}\", options: \"mA\"},\n {trigger: /([A-Za-z])(\\d)/, replacement: \"[[0]]_{[[1]]}\", options: \"rmA\", description: \"Auto letter subscript\", priority: -1},\n\n {trigger: /([^\\\\])(exp|log|ln)/, replacement: \"[[0]]\\\\[[1]]\", options: \"rmA\"},\n {trigger: \"conj\", replacement: \"^{*}\", options: \"mA\"},\n {trigger: \"Re\", replacement: \"\\\\mathrm{Re}\", options: \"mA\"},\n\t{trigger: \"Im\", replacement: \"\\\\mathrm{Im}\", options: \"mA\"},\n {trigger: \"bf\", replacement: \"\\\\mathbf{$0}\", options: \"mA\"},\n\t{trigger: \"rm\", replacement: \"\\\\mathrm{$0}$1\", options: \"mA\"},\n\n // Linear algebra\n {trigger: /([^\\\\])(det)/, replacement: \"[[0]]\\\\[[1]]\", options: \"rmA\"},\n {trigger: \"trace\", replacement: \"\\\\mathrm{Tr}\", options: \"mA\"},\n\n // More operations\n\t{trigger: \"([a-zA-Z])hat\", replacement: \"\\\\hat{[[0]]}\", options: \"rmA\"},\n {trigger: \"([a-zA-Z])bar\", replacement: \"\\\\bar{[[0]]}\", options: \"rmA\"},\n\t{trigger: \"([a-zA-Z])dot\", replacement: \"\\\\dot{[[0]]}\", options: \"rmA\", priority: -1},\n\t{trigger: \"([a-zA-Z])ddot\", replacement: \"\\\\ddot{[[0]]}\", options: \"rmA\", priority: 1},\n\t{trigger: \"([a-zA-Z])tilde\", replacement: \"\\\\tilde{[[0]]}\", options: \"rmA\"},\n\t{trigger: \"([a-zA-Z])und\", replacement: \"\\\\underline{[[0]]}\", options: \"rmA\"},\n\t{trigger: \"([a-zA-Z])vec\", replacement: \"\\\\vec{[[0]]}\", options: \"rmA\"},\n {trigger: \"([a-zA-Z]),\\\\.\", replacement: \"\\\\mathbf{[[0]]}\", options: \"rmA\"},\n\t{trigger: \"([a-zA-Z])\\\\.,\", replacement: \"\\\\mathbf{[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}),\\\\.\", replacement: \"\\\\boldsymbol{\\\\[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK})\\\\.,\", replacement: \"\\\\boldsymbol{\\\\[[0]]}\", options: \"rmA\"},\n\n\t{trigger: \"hat\", replacement: \"\\\\hat{$0}$1\", options: \"mA\"},\n {trigger: \"bar\", replacement: \"\\\\bar{$0}$1\", options: \"mA\"},\n\t{trigger: \"dot\", replacement: \"\\\\dot{$0}$1\", options: \"mA\", priority: -1},\n\t{trigger: \"ddot\", replacement: \"\\\\ddot{$0}$1\", options: \"mA\"},\n\t{trigger: \"cdot\", replacement: \"\\\\cdot\", options: \"mA\"},\n\t{trigger: \"tilde\", replacement: \"\\\\tilde{$0}$1\", options: \"mA\"},\n\t{trigger: \"und\", replacement: \"\\\\underline{$0}$1\", options: \"mA\"},\n\t{trigger: \"vec\", replacement: \"\\\\vec{$0}$1\", options: \"mA\"},\n\n // More auto letter subscript\n {trigger: /([A-Za-z])_(\\d\\d)/, replacement: \"[[0]]_{[[1]]}\", options: \"rmA\"},\n\t{trigger: /\\\\hat{([A-Za-z])}(\\d)/, replacement: \"\\\\hat{[[0]]}_{[[1]]}\", options: \"rmA\"},\n\t{trigger: /\\\\vec{([A-Za-z])}(\\d)/, replacement: \"\\\\vec{[[0]]}_{[[1]]}\", options: \"rmA\"},\n\t{trigger: /\\\\mathbf{([A-Za-z])}(\\d)/, replacement: \"\\\\mathbf{[[0]]}_{[[1]]}\", options: \"rmA\"},\n\n {trigger: \"xnn\", replacement: \"x_{n}\", options: \"mA\"},\n\t{trigger: \"\\\\xii\", replacement: \"x_{i}\", options: \"mA\", priority: 1},\n\t{trigger: \"xjj\", replacement: \"x_{j}\", options: \"mA\"},\n\t{trigger: \"xp1\", replacement: \"x_{n+1}\", options: \"mA\"},\n\t{trigger: \"ynn\", replacement: \"y_{n}\", options: \"mA\"},\n\t{trigger: \"yii\", replacement: \"y_{i}\", options: \"mA\"},\n\t{trigger: \"yjj\", replacement: \"y_{j}\", options: \"mA\"},\n\n // Symbols\n {trigger: \"deg\", replacement: \"\\\\degree\", options: \"mA\"},\n {trigger: \"apx\", replacement: \"\\\\approx\", options: \"mA\"},\n {trigger: \"ooo\", replacement: \"\\\\infty\", options: \"mA\"},\n\t{trigger: \"sum\", replacement: \"\\\\sum\", options: \"mA\"},\n\t{trigger: \"prod\", replacement: \"\\\\prod\", options: \"mA\"},\n\t{trigger: \"\\\\sum\", replacement: \"\\\\sum_{${0:i}=${1:1}}^{${2:N}} $3\", options: \"m\"},\n\t{trigger: \"\\\\prod\", replacement: \"\\\\prod_{${0:i}=${1:1}}^{${2:N}} $3\", options: \"m\"},\n {trigger: \"lim\", replacement: \"\\\\lim_{ ${0:n} \\\\to ${1:\\\\infty} } $2\", options: \"mA\"},\n {trigger: \"+-\", replacement: \"\\\\pm\", options: \"mA\"},\n\t{trigger: \"-+\", replacement: \"\\\\mp\", options: \"mA\"},\n {trigger: \"...\", replacement: \"\\\\dots\", options: \"mA\"},\n {trigger: \"v...\", replacement: \"\\\\vdots\", options: \"mA\"},\n {trigger: \"d...\", replacement: \"\\\\ddots\", options: \"mA\"},\n {trigger: \"nabl\", replacement: \"\\\\nabla\", options: \"mA\"},\n\t{trigger: \"del\", replacement: \"\\\\nabla\", options: \"mA\"},\n {trigger: \"xx\", replacement: \"\\\\times\", options: \"mA\"},\n {trigger: \"**\", replacement: \"\\\\cdot\", options: \"mA\"},\n {trigger: \"para\", replacement: \"\\\\parallel\", options: \"mA\"},\n\n\t{trigger: \"===\", replacement: \"\\\\equiv\", options: \"mA\"},\n {trigger: \"!=\", replacement: \"\\\\neq\", options: \"mA\"},\n\t{trigger: \">=\", replacement: \"\\\\geq\", options: \"mA\"},\n\t{trigger: \"<=\", replacement: \"\\\\leq\", options: \"mA\"},\n\t{trigger: \">>\", replacement: \"\\\\gg\", options: \"mA\"},\n\t{trigger: \"<<\", replacement: \"\\\\ll\", options: \"mA\"},\n\t{trigger: \"simm\", replacement: \"\\\\sim\", options: \"mA\"},\n\t{trigger: \"sim=\", replacement: \"\\\\simeq\", options: \"mA\"},\n {trigger: \"prop\", replacement: \"\\\\propto\", options: \"mA\"},\n\n\n {trigger: \"<->\", replacement: \"\\\\leftrightarrow \", options: \"mA\"},\n\t{trigger: \"->\", replacement: \"\\\\to\", options: \"mA\"},\n\t{trigger: \"!>\", replacement: \"\\\\mapsto\", options: \"mA\"},\n {trigger: \"=>\", replacement: \"\\\\implies\", options: \"mA\"},\n\t{trigger: \"=<\", replacement: \"\\\\impliedby\", options: \"mA\"},\n\n\t{trigger: \"and\", replacement: \"\\\\cap\", options: \"mA\"},\n\t{trigger: \"orr\", replacement: \"\\\\cup\", options: \"mA\"},\n\t{trigger: \"inn\", replacement: \"\\\\in\", options: \"mA\"},\n\t{trigger: \"notin\", replacement: \"\\\\not\\\\in\", options: \"mA\"},\n {trigger: \"\\\\\\\\\\\\\", replacement: \"\\\\setminus\", options: \"mA\"},\n {trigger: \"sub=\", replacement: \"\\\\subseteq\", options: \"mA\"},\n {trigger: \"sup=\", replacement: \"\\\\supseteq\", options: \"mA\"},\n\t{trigger: \"eset\", replacement: \"\\\\emptyset\", options: \"mA\"},\n\t{trigger: \"set\", replacement: \"\\\\{ $0 \\\\}$1\", options: \"mA\"},\n\t{trigger: \"e\\\\xi sts\", replacement: \"\\\\exists\", options: \"mA\", priority: 1},\n\n\t{trigger: \"LL\", replacement: \"\\\\mathcal{L}\", options: \"mA\"},\n\t{trigger: \"HH\", replacement: \"\\\\mathcal{H}\", options: \"mA\"},\n\t{trigger: \"CC\", replacement: \"\\\\mathbb{C}\", options: \"mA\"},\n\t{trigger: \"RR\", replacement: \"\\\\mathbb{R}\", options: \"mA\"},\n\t{trigger: \"ZZ\", replacement: \"\\\\mathbb{Z}\", options: \"mA\"},\n\t{trigger: \"NN\", replacement: \"\\\\mathbb{N}\", options: \"mA\"},\n\n // Handle spaces and backslashes\n\n // Snippet variables can be used as shortcuts when writing snippets.\n // For example, ${GREEK} below is shorthand for \"alpha|beta|gamma|Gamma|delta|...\"\n // You can edit snippet variables under the Advanced snippet settings section.\n\n\t{trigger: \"([^\\\\\\\\])(${GREEK})\", replacement: \"[[0]]\\\\[[1]]\", options: \"rmA\", description: \"Add backslash before Greek letters\"},\n\t{trigger: \"([^\\\\\\\\])(${SYMBOL})\", replacement: \"[[0]]\\\\[[1]]\", options: \"rmA\", description: \"Add backslash before symbols\"},\n\n // Insert space after Greek letters and symbols\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}|${MORE_SYMBOLS})([A-Za-z])\", replacement: \"\\\\[[0]] [[1]]\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) sr\", replacement: \"\\\\[[0]]^{2}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) cb\", replacement: \"\\\\[[0]]^{3}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) rd\", replacement: \"\\\\[[0]]^{$0}$1\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) hat\", replacement: \"\\\\hat{\\\\[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) dot\", replacement: \"\\\\dot{\\\\[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) bar\", replacement: \"\\\\bar{\\\\[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) vec\", replacement: \"\\\\vec{\\\\[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) tilde\", replacement: \"\\\\tilde{\\\\[[0]]}\", options: \"rmA\"},\n\t{trigger: \"\\\\\\\\(${GREEK}|${SYMBOL}) und\", replacement: \"\\\\underline{\\\\[[0]]}\", options: \"rmA\"},\n\n\n // Derivatives and integrals\n {trigger: \"par\", replacement: \"\\\\frac{ \\\\partial ${0:y} }{ \\\\partial ${1:x} } $2\", options: \"m\"},\n {trigger: /pa([A-Za-z])([A-Za-z])/, replacement: \"\\\\frac{ \\\\partial [[0]] }{ \\\\partial [[1]] } \", options: \"rm\"},\n {trigger: \"ddt\", replacement: \"\\\\frac{d}{dt} \", options: \"mA\"},\n\n {trigger: /([^\\\\])int/, replacement: \"[[0]]\\\\int\", options: \"mA\", priority: -1},\n {trigger: \"\\\\int\", replacement: \"\\\\int $0 \\\\, d${1:x} $2\", options: \"m\"},\n {trigger: \"dint\", replacement: \"\\\\int_{${0:0}}^{${1:1}} $2 \\\\, d${3:x} $4\", options: \"mA\"},\n {trigger: \"oint\", replacement: \"\\\\oint\", options: \"mA\"},\n\t{trigger: \"iint\", replacement: \"\\\\iint\", options: \"mA\"},\n {trigger: \"iiint\", replacement: \"\\\\iiint\", options: \"mA\"},\n {trigger: \"oinf\", replacement: \"\\\\int_{0}^{\\\\infty} $0 \\\\, d${1:x} $2\", options: \"mA\"},\n\t{trigger: \"infi\", replacement: \"\\\\int_{-\\\\infty}^{\\\\infty} $0 \\\\, d${1:x} $2\", options: \"mA\"},\n\n\n // Trigonometry\n {trigger: /([^\\\\])(arcsin|sin|arccos|cos|arctan|tan|csc|sec|arccot|cot)/, replacement: \"[[0]]\\\\[[1]]\", options: \"rmA\", description: \"Add backslash before trig funcs\"},\n\n {trigger: /\\\\(arcsin|sin|arccos|cos|arctan|tan|csc|sec|arccot|cot)([A-Za-gi-z])/,\n replacement: \"\\\\[[0]] [[1]]\", options: \"rmA\",\n description: \"Add space after trig funcs. Skips letter h to allow sinh, cosh, etc.\"},\n\n {trigger: /\\\\(sinh|cosh|tanh|coth)([A-Za-z])/,\n replacement: \"\\\\[[0]] [[1]]\", options: \"rmA\",\n description: \"Add space after hyperbolic trig funcs\"},\n\n\n // Visual operations\n\t{trigger: \"U\", replacement: \"\\\\underbrace{ ${VISUAL} }_{ $0 }\", options: \"mA\"},\n\t{trigger: \"O\", replacement: \"\\\\overbrace{ ${VISUAL} }^{ $0 }\", options: \"mA\"},\n\t{trigger: \"B\", replacement: \"\\\\underset{ $0 }{ ${VISUAL} }\", options: \"mA\"},\n\t{trigger: \"C\", replacement: \"\\\\cancel{ ${VISUAL} }\", options: \"mA\"},\n\t{trigger: \"K\", replacement: \"\\\\cancelto{ $0 }{ ${VISUAL} }\", options: \"mA\"},\n\t{trigger: \"S\", replacement: \"\\\\sqrt{ ${VISUAL} }\", options: \"mA\"},\n\n\n // Physics\n\t{trigger: \"kbt\", replacement: \"k_{B}T\", options: \"mA\"},\n\t{trigger: \"msun\", replacement: \"M_{\\\\odot}\", options: \"mA\"},\n\n // Quantum mechanics\n {trigger: \"dag\", replacement: \"^{\\\\dagger}\", options: \"mA\"},\n\t{trigger: \"o+\", replacement: \"\\\\oplus \", options: \"mA\"},\n\t{trigger: \"ox\", replacement: \"\\\\otimes \", options: \"mA\"},\n {trigger: \"bra\", replacement: \"\\\\bra{$0} $1\", options: \"mA\"},\n\t{trigger: \"ket\", replacement: \"\\\\ket{$0} $1\", options: \"mA\"},\n\t{trigger: \"brk\", replacement: \"\\\\braket{ $0 | $1 } $2\", options: \"mA\"},\n {trigger: \"outer\", replacement: \"\\\\ket{${0:\\\\psi}} \\\\bra{${0:\\\\psi}} $1\", options: \"mA\"},\n\n // Chemistry\n\t{trigger: \"pu\", replacement: \"\\\\pu{ $0 }\", options: \"mA\"},\n\t{trigger: \"cee\", replacement: \"\\\\ce{ $0 }\", options: \"mA\"},\n\t{trigger: \"he4\", replacement: \"{}^{4}_{2}He \", options: \"mA\"},\n\t{trigger: \"he3\", replacement: \"{}^{3}_{2}He \", options: \"mA\"},\n\t{trigger: \"iso\", replacement: \"{}^{${0:4}}_{${1:2}}${2:He}\", options: \"mA\"},\n\n\n // Environments\n\t{trigger: \"pmat\", replacement: \"\\\\begin{pmatrix}\\n$0\\n\\\\end{pmatrix}\", options: \"MA\"},\n\t{trigger: \"bmat\", replacement: \"\\\\begin{bmatrix}\\n$0\\n\\\\end{bmatrix}\", options: \"MA\"},\n\t{trigger: \"Bmat\", replacement: \"\\\\begin{Bmatrix}\\n$0\\n\\\\end{Bmatrix}\", options: \"MA\"},\n\t{trigger: \"vmat\", replacement: \"\\\\begin{vmatrix}\\n$0\\n\\\\end{vmatrix}\", options: \"MA\"},\n\t{trigger: \"Vmat\", replacement: \"\\\\begin{Vmatrix}\\n$0\\n\\\\end{Vmatrix}\", options: \"MA\"},\n\t{trigger: \"matrix\", replacement: \"\\\\begin{matrix}\\n$0\\n\\\\end{matrix}\", options: \"MA\"},\n\n\t{trigger: \"pmat\", replacement: \"\\\\begin{pmatrix}$0\\\\end{pmatrix}\", options: \"nA\"},\n\t{trigger: \"bmat\", replacement: \"\\\\begin{bmatrix}$0\\\\end{bmatrix}\", options: \"nA\"},\n\t{trigger: \"Bmat\", replacement: \"\\\\begin{Bmatrix}$0\\\\end{Bmatrix}\", options: \"nA\"},\n\t{trigger: \"vmat\", replacement: \"\\\\begin{vmatrix}$0\\\\end{vmatrix}\", options: \"nA\"},\n\t{trigger: \"Vmat\", replacement: \"\\\\begin{Vmatrix}$0\\\\end{Vmatrix}\", options: \"nA\"},\n\t{trigger: \"matrix\", replacement: \"\\\\begin{matrix}$0\\\\end{matrix}\", options: \"nA\"},\n\n\t{trigger: \"cases\", replacement: \"\\\\begin{cases}\\n$0\\n\\\\end{cases}\", options: \"mA\"},\n\t{trigger: \"align\", replacement: \"\\\\begin{align}\\n$0\\n\\\\end{align}\", options: \"mA\"},\n\t{trigger: \"array\", replacement: \"\\\\begin{array}\\n$0\\n\\\\end{array}\", options: \"mA\"},\n\n\n // Brackets\n\t{trigger: \"avg\", replacement: \"\\\\langle $0 \\\\rangle $1\", options: \"mA\"},\n\t{trigger: \"norm\", replacement: \"\\\\lvert $0 \\\\rvert $1\", options: \"mA\", priority: 1},\n\t{trigger: \"Norm\", replacement: \"\\\\lVert $0 \\\\rVert $1\", options: \"mA\", priority: 1},\n\t{trigger: \"ceil\", replacement: \"\\\\lceil $0 \\\\rceil $1\", options: \"mA\"},\n\t{trigger: \"floor\", replacement: \"\\\\lfloor $0 \\\\rfloor $1\", options: \"mA\"},\n\t{trigger: \"mod\", replacement: \"|$0|$1\", options: \"mA\"},\n\t{trigger: \"(\", replacement: \"(${VISUAL})\", options: \"mA\"},\n\t{trigger: \"[\", replacement: \"[${VISUAL}]\", options: \"mA\"},\n\t{trigger: \"{\", replacement: \"{${VISUAL}}\", options: \"mA\"},\n\t{trigger: \"(\", replacement: \"($0)$1\", options: \"mA\"},\n\t{trigger: \"{\", replacement: \"{$0}$1\", options: \"mA\"},\n\t{trigger: \"[\", replacement: \"[$0]$1\", options: \"mA\"},\n\t{trigger: \"lr(\", replacement: \"\\\\left( $0 \\\\right) $1\", options: \"mA\"},\n\t{trigger: \"lr{\", replacement: \"\\\\left\\\\{ $0 \\\\right\\\\} $1\", options: \"mA\"},\n\t{trigger: \"lr[\", replacement: \"\\\\left[ $0 \\\\right] $1\", options: \"mA\"},\n\t{trigger: \"lr|\", replacement: \"\\\\left| $0 \\\\right| $1\", options: \"mA\"},\n\t{trigger: \"lra\", replacement: \"\\\\left< $0 \\\\right> $1\", options: \"mA\"},\n\n\n // Misc\n\n // Automatically convert standalone letters in text to math (except a, A, I).\n // (Un-comment to enable)\n // {trigger: /([^'])\\b([B-HJ-Zb-z])\\b([\\n\\s.,?!:'])/, replacement: \"[[0]]$[[1]]$[[2]]\", options: \"tA\"},\n\n // Automatically convert Greek letters in text to math.\n // {trigger: \"(${GREEK})([\\\\n\\\\s.,?!:'])\", replacement: \"$\\\\[[0]]$[[1]]\", options: \"rtAw\"},\n\n // Automatically convert text of the form \"x=2\" and \"x=n+1\" to math.\n // {trigger: /([A-Za-z]=\\d+)([\\n\\s.,?!:'])/, replacement: \"$[[0]]$[[1]]\", options: \"rtAw\"},\n // {trigger: /([A-Za-z]=[A-Za-z][+-]\\d+)([\\n\\s.,?!:'])/, replacement: \"$[[0]]$[[1]]\", options: \"tAw\"},\n\n\n // Snippet replacements can have placeholders.\n\t{trigger: \"tayl\", replacement: \"${0:f}(${1:x} + ${2:h}) = ${0:f}(${1:x}) + ${0:f}'(${1:x})${2:h} + ${0:f}''(${1:x}) \\\\frac{${2:h}^{2}}{2!} + \\\\dots$3\", options: \"mA\", description: \"Taylor expansion\"},\n\n // Snippet replacements can also be JavaScript functions.\n // See the documentation for more information.\n\t{trigger: /iden(\\d)/, replacement: (match) => {\n\t\tconst n = match[1];\n\n\t\tlet arr = [];\n\t\tfor (let j = 0; j < n; j++) {\n\t\t\tarr[j] = [];\n\t\t\tfor (let i = 0; i < n; i++) {\n\t\t\t\tarr[j][i] = (i === j) ? 1 : 0;\n\t\t\t}\n\t\t}\n\n\t\tlet output = arr.map(el => el.join(\" & \")).join(\" \\\\\\\\\\n\");\n\t\toutput = `\\\\begin{pmatrix}\\n${output}\\n\\\\end{pmatrix}`;\n\t\treturn output;\n\t}, options: \"mA\", description: \"N x N identity matrix\"},\n]\n", + "snippetVariables": "{\n\t\"${GREEK}\": \"alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|vartheta|Theta|iota|kappa|lambda|Lambda|mu|nu|xi|omicron|pi|rho|varrho|sigma|Sigma|tau|upsilon|Upsilon|phi|varphi|Phi|chi|psi|omega|Omega\",\n\t\"${SYMBOL}\": \"parallel|perp|partial|nabla|hbar|ell|infty|oplus|ominus|otimes|oslash|square|star|dagger|vee|wedge|subseteq|subset|supseteq|supset|emptyset|exists|nexists|forall|implies|impliedby|iff|setminus|neg|lor|land|bigcup|bigcap|cdot|times|simeq|approx\",\n\t\"${MORE_SYMBOLS}\": \"leq|geq|neq|gg|ll|equiv|sim|propto|rightarrow|leftarrow|Rightarrow|Leftarrow|leftrightarrow|to|mapsto|cap|cup|in|sum|prod|exp|ln|log|det|dots|vdots|ddots|pm|mp|int|iint|iiint|oint\"\n}\n", + "snippetsEnabled": true, + "snippetsTrigger": "Tab", + "suppressSnippetTriggerOnIME": true, + "removeSnippetWhitespace": true, + "autoDelete$": true, + "loadSnippetsFromFile": false, + "loadSnippetVariablesFromFile": false, + "snippetsFileLocation": "", + "snippetVariablesFileLocation": "", + "concealEnabled": true, + "concealRevealTimeout": 0, + "colorPairedBracketsEnabled": true, + "highlightCursorBracketsEnabled": true, + "mathPreviewEnabled": true, + "mathPreviewPositionIsAbove": true, + "autofractionEnabled": true, + "autofractionSymbol": "\\frac", + "autofractionBreakingChars": "+-=\t", + "matrixShortcutsEnabled": true, + "taboutEnabled": true, + "autoEnlargeBrackets": true, + "wordDelimiters": "., +-\\n\t:;!?\\/{}[]()=~$", + "autofractionExcludedEnvs": "[\n\t\t[\"^{\", \"}\"],\n\t\t[\"\\\\pu{\", \"}\"]\n\t]", + "matrixShortcutsEnvNames": "pmatrix, cases, align, gather, bmatrix, Bmatrix, vmatrix, Vmatrix, array, matrix", + "autoEnlargeBracketsTriggers": "sum, int, frac, prod, bigcup, bigcap", + "forceMathLanguages": "math" +} \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-latex-suite/main.js b/.obsidian/plugins/obsidian-latex-suite/main.js new file mode 100644 index 0000000..6d8b039 --- /dev/null +++ b/.obsidian/plugins/obsidian-latex-suite/main.js @@ -0,0 +1,15605 @@ +/* +THIS IS A GENERATED/BUNDLED FILE BY ESBUILD +if you want to view the source, please visit the github repository of this plugin +*/ + +var __create = Object.create; +var __defProp = Object.defineProperty; +var __defProps = Object.defineProperties; +var __getOwnPropDesc = Object.getOwnPropertyDescriptor; +var __getOwnPropDescs = Object.getOwnPropertyDescriptors; +var __getOwnPropNames = Object.getOwnPropertyNames; +var __getOwnPropSymbols = Object.getOwnPropertySymbols; +var __getProtoOf = Object.getPrototypeOf; +var __hasOwnProp = Object.prototype.hasOwnProperty; +var __propIsEnum = Object.prototype.propertyIsEnumerable; +var __knownSymbol = (name, symbol) => { + return (symbol = Symbol[name]) ? symbol : Symbol.for("Symbol." + name); +}; +var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; +var __spreadValues = (a, b) => { + for (var prop in b || (b = {})) + if (__hasOwnProp.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + if (__getOwnPropSymbols) + for (var prop of __getOwnPropSymbols(b)) { + if (__propIsEnum.call(b, prop)) + __defNormalProp(a, prop, b[prop]); + } + return a; +}; +var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b)); +var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; +}; +var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); +}; +var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; +}; +var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod +)); +var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod); +var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; +}; +var __async = (__this, __arguments, generator) => { + return new Promise((resolve, reject) => { + var fulfilled = (value) => { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + }; + var rejected = (value) => { + try { + step(generator.throw(value)); + } catch (e) { + reject(e); + } + }; + var step = (x) => x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); + step((generator = generator.apply(__this, __arguments)).next()); + }); +}; +var __await = function(promise, isYieldStar) { + this[0] = promise; + this[1] = isYieldStar; +}; +var __yieldStar = (value) => { + var obj = value[__knownSymbol("asyncIterator")]; + var isAwait = false; + var method; + var it = {}; + if (obj == null) { + obj = value[__knownSymbol("iterator")](); + method = (k) => it[k] = (x) => obj[k](x); + } else { + obj = obj.call(value); + method = (k) => it[k] = (v) => { + if (isAwait) { + isAwait = false; + if (k === "throw") + throw v; + return v; + } + isAwait = true; + return { + done: false, + value: new __await(new Promise((resolve) => { + var x = obj[k](v); + if (!(x instanceof Object)) + throw TypeError("Object expected"); + resolve(x); + }), 1) + }; + }; + } + return it[__knownSymbol("iterator")] = () => it, method("next"), "throw" in obj ? method("throw") : it.throw = (x) => { + throw x; + }, "return" in obj && method("return"), it; +}; + +// node_modules/function-bind/implementation.js +var require_implementation = __commonJS({ + "node_modules/function-bind/implementation.js"(exports, module2) { + "use strict"; + var ERROR_MESSAGE = "Function.prototype.bind called on incompatible "; + var toStr = Object.prototype.toString; + var max2 = Math.max; + var funcType = "[object Function]"; + var concatty = function concatty2(a, b) { + var arr = []; + for (var i = 0; i < a.length; i += 1) { + arr[i] = a[i]; + } + for (var j = 0; j < b.length; j += 1) { + arr[j + a.length] = b[j]; + } + return arr; + }; + var slicy = function slicy2(arrLike, offset2) { + var arr = []; + for (var i = offset2 || 0, j = 0; i < arrLike.length; i += 1, j += 1) { + arr[j] = arrLike[i]; + } + return arr; + }; + var joiny = function(arr, joiner) { + var str = ""; + for (var i = 0; i < arr.length; i += 1) { + str += arr[i]; + if (i + 1 < arr.length) { + str += joiner; + } + } + return str; + }; + module2.exports = function bind(that) { + var target = this; + if (typeof target !== "function" || toStr.apply(target) !== funcType) { + throw new TypeError(ERROR_MESSAGE + target); + } + var args = slicy(arguments, 1); + var bound; + var binder = function() { + if (this instanceof bound) { + var result = target.apply( + this, + concatty(args, arguments) + ); + if (Object(result) === result) { + return result; + } + return this; + } + return target.apply( + that, + concatty(args, arguments) + ); + }; + var boundLength = max2(0, target.length - args.length); + var boundArgs = []; + for (var i = 0; i < boundLength; i++) { + boundArgs[i] = "$" + i; + } + bound = Function("binder", "return function (" + joiny(boundArgs, ",") + "){ return binder.apply(this,arguments); }")(binder); + if (target.prototype) { + var Empty = function Empty2() { + }; + Empty.prototype = target.prototype; + bound.prototype = new Empty(); + Empty.prototype = null; + } + return bound; + }; + } +}); + +// node_modules/function-bind/index.js +var require_function_bind = __commonJS({ + "node_modules/function-bind/index.js"(exports, module2) { + "use strict"; + var implementation = require_implementation(); + module2.exports = Function.prototype.bind || implementation; + } +}); + +// node_modules/es-errors/index.js +var require_es_errors = __commonJS({ + "node_modules/es-errors/index.js"(exports, module2) { + "use strict"; + module2.exports = Error; + } +}); + +// node_modules/es-errors/eval.js +var require_eval = __commonJS({ + "node_modules/es-errors/eval.js"(exports, module2) { + "use strict"; + module2.exports = EvalError; + } +}); + +// node_modules/es-errors/range.js +var require_range = __commonJS({ + "node_modules/es-errors/range.js"(exports, module2) { + "use strict"; + module2.exports = RangeError; + } +}); + +// node_modules/es-errors/ref.js +var require_ref = __commonJS({ + "node_modules/es-errors/ref.js"(exports, module2) { + "use strict"; + module2.exports = ReferenceError; + } +}); + +// node_modules/es-errors/syntax.js +var require_syntax = __commonJS({ + "node_modules/es-errors/syntax.js"(exports, module2) { + "use strict"; + module2.exports = SyntaxError; + } +}); + +// node_modules/es-errors/type.js +var require_type = __commonJS({ + "node_modules/es-errors/type.js"(exports, module2) { + "use strict"; + module2.exports = TypeError; + } +}); + +// node_modules/es-errors/uri.js +var require_uri = __commonJS({ + "node_modules/es-errors/uri.js"(exports, module2) { + "use strict"; + module2.exports = URIError; + } +}); + +// node_modules/has-symbols/shams.js +var require_shams = __commonJS({ + "node_modules/has-symbols/shams.js"(exports, module2) { + "use strict"; + module2.exports = function hasSymbols() { + if (typeof Symbol !== "function" || typeof Object.getOwnPropertySymbols !== "function") { + return false; + } + if (typeof Symbol.iterator === "symbol") { + return true; + } + var obj = {}; + var sym = Symbol("test"); + var symObj = Object(sym); + if (typeof sym === "string") { + return false; + } + if (Object.prototype.toString.call(sym) !== "[object Symbol]") { + return false; + } + if (Object.prototype.toString.call(symObj) !== "[object Symbol]") { + return false; + } + var symVal = 42; + obj[sym] = symVal; + for (sym in obj) { + return false; + } + if (typeof Object.keys === "function" && Object.keys(obj).length !== 0) { + return false; + } + if (typeof Object.getOwnPropertyNames === "function" && Object.getOwnPropertyNames(obj).length !== 0) { + return false; + } + var syms = Object.getOwnPropertySymbols(obj); + if (syms.length !== 1 || syms[0] !== sym) { + return false; + } + if (!Object.prototype.propertyIsEnumerable.call(obj, sym)) { + return false; + } + if (typeof Object.getOwnPropertyDescriptor === "function") { + var descriptor = Object.getOwnPropertyDescriptor(obj, sym); + if (descriptor.value !== symVal || descriptor.enumerable !== true) { + return false; + } + } + return true; + }; + } +}); + +// node_modules/has-symbols/index.js +var require_has_symbols = __commonJS({ + "node_modules/has-symbols/index.js"(exports, module2) { + "use strict"; + var origSymbol = typeof Symbol !== "undefined" && Symbol; + var hasSymbolSham = require_shams(); + module2.exports = function hasNativeSymbols() { + if (typeof origSymbol !== "function") { + return false; + } + if (typeof Symbol !== "function") { + return false; + } + if (typeof origSymbol("foo") !== "symbol") { + return false; + } + if (typeof Symbol("bar") !== "symbol") { + return false; + } + return hasSymbolSham(); + }; + } +}); + +// node_modules/has-proto/index.js +var require_has_proto = __commonJS({ + "node_modules/has-proto/index.js"(exports, module2) { + "use strict"; + var test = { + __proto__: null, + foo: {} + }; + var $Object = Object; + module2.exports = function hasProto() { + return { __proto__: test }.foo === test.foo && !(test instanceof $Object); + }; + } +}); + +// node_modules/hasown/index.js +var require_hasown = __commonJS({ + "node_modules/hasown/index.js"(exports, module2) { + "use strict"; + var call = Function.prototype.call; + var $hasOwn = Object.prototype.hasOwnProperty; + var bind = require_function_bind(); + module2.exports = bind.call(call, $hasOwn); + } +}); + +// node_modules/get-intrinsic/index.js +var require_get_intrinsic = __commonJS({ + "node_modules/get-intrinsic/index.js"(exports, module2) { + "use strict"; + var undefined2; + var $Error = require_es_errors(); + var $EvalError = require_eval(); + var $RangeError = require_range(); + var $ReferenceError = require_ref(); + var $SyntaxError = require_syntax(); + var $TypeError = require_type(); + var $URIError = require_uri(); + var $Function = Function; + var getEvalledConstructor = function(expressionSyntax) { + try { + return $Function('"use strict"; return (' + expressionSyntax + ").constructor;")(); + } catch (e) { + } + }; + var $gOPD = Object.getOwnPropertyDescriptor; + if ($gOPD) { + try { + $gOPD({}, ""); + } catch (e) { + $gOPD = null; + } + } + var throwTypeError = function() { + throw new $TypeError(); + }; + var ThrowTypeError = $gOPD ? function() { + try { + arguments.callee; + return throwTypeError; + } catch (calleeThrows) { + try { + return $gOPD(arguments, "callee").get; + } catch (gOPDthrows) { + return throwTypeError; + } + } + }() : throwTypeError; + var hasSymbols = require_has_symbols()(); + var hasProto = require_has_proto()(); + var getProto = Object.getPrototypeOf || (hasProto ? function(x) { + return x.__proto__; + } : null); + var needsEval = {}; + var TypedArray = typeof Uint8Array === "undefined" || !getProto ? undefined2 : getProto(Uint8Array); + var INTRINSICS = { + __proto__: null, + "%AggregateError%": typeof AggregateError === "undefined" ? undefined2 : AggregateError, + "%Array%": Array, + "%ArrayBuffer%": typeof ArrayBuffer === "undefined" ? undefined2 : ArrayBuffer, + "%ArrayIteratorPrototype%": hasSymbols && getProto ? getProto([][Symbol.iterator]()) : undefined2, + "%AsyncFromSyncIteratorPrototype%": undefined2, + "%AsyncFunction%": needsEval, + "%AsyncGenerator%": needsEval, + "%AsyncGeneratorFunction%": needsEval, + "%AsyncIteratorPrototype%": needsEval, + "%Atomics%": typeof Atomics === "undefined" ? undefined2 : Atomics, + "%BigInt%": typeof BigInt === "undefined" ? undefined2 : BigInt, + "%BigInt64Array%": typeof BigInt64Array === "undefined" ? undefined2 : BigInt64Array, + "%BigUint64Array%": typeof BigUint64Array === "undefined" ? undefined2 : BigUint64Array, + "%Boolean%": Boolean, + "%DataView%": typeof DataView === "undefined" ? undefined2 : DataView, + "%Date%": Date, + "%decodeURI%": decodeURI, + "%decodeURIComponent%": decodeURIComponent, + "%encodeURI%": encodeURI, + "%encodeURIComponent%": encodeURIComponent, + "%Error%": $Error, + "%eval%": eval, + // eslint-disable-line no-eval + "%EvalError%": $EvalError, + "%Float32Array%": typeof Float32Array === "undefined" ? undefined2 : Float32Array, + "%Float64Array%": typeof Float64Array === "undefined" ? undefined2 : Float64Array, + "%FinalizationRegistry%": typeof FinalizationRegistry === "undefined" ? undefined2 : FinalizationRegistry, + "%Function%": $Function, + "%GeneratorFunction%": needsEval, + "%Int8Array%": typeof Int8Array === "undefined" ? undefined2 : Int8Array, + "%Int16Array%": typeof Int16Array === "undefined" ? undefined2 : Int16Array, + "%Int32Array%": typeof Int32Array === "undefined" ? undefined2 : Int32Array, + "%isFinite%": isFinite, + "%isNaN%": isNaN, + "%IteratorPrototype%": hasSymbols && getProto ? getProto(getProto([][Symbol.iterator]())) : undefined2, + "%JSON%": typeof JSON === "object" ? JSON : undefined2, + "%Map%": typeof Map === "undefined" ? undefined2 : Map, + "%MapIteratorPrototype%": typeof Map === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Map())[Symbol.iterator]()), + "%Math%": Math, + "%Number%": Number, + "%Object%": Object, + "%parseFloat%": parseFloat, + "%parseInt%": parseInt, + "%Promise%": typeof Promise === "undefined" ? undefined2 : Promise, + "%Proxy%": typeof Proxy === "undefined" ? undefined2 : Proxy, + "%RangeError%": $RangeError, + "%ReferenceError%": $ReferenceError, + "%Reflect%": typeof Reflect === "undefined" ? undefined2 : Reflect, + "%RegExp%": RegExp, + "%Set%": typeof Set === "undefined" ? undefined2 : Set, + "%SetIteratorPrototype%": typeof Set === "undefined" || !hasSymbols || !getProto ? undefined2 : getProto((/* @__PURE__ */ new Set())[Symbol.iterator]()), + "%SharedArrayBuffer%": typeof SharedArrayBuffer === "undefined" ? undefined2 : SharedArrayBuffer, + "%String%": String, + "%StringIteratorPrototype%": hasSymbols && getProto ? getProto(""[Symbol.iterator]()) : undefined2, + "%Symbol%": hasSymbols ? Symbol : undefined2, + "%SyntaxError%": $SyntaxError, + "%ThrowTypeError%": ThrowTypeError, + "%TypedArray%": TypedArray, + "%TypeError%": $TypeError, + "%Uint8Array%": typeof Uint8Array === "undefined" ? undefined2 : Uint8Array, + "%Uint8ClampedArray%": typeof Uint8ClampedArray === "undefined" ? undefined2 : Uint8ClampedArray, + "%Uint16Array%": typeof Uint16Array === "undefined" ? undefined2 : Uint16Array, + "%Uint32Array%": typeof Uint32Array === "undefined" ? undefined2 : Uint32Array, + "%URIError%": $URIError, + "%WeakMap%": typeof WeakMap === "undefined" ? undefined2 : WeakMap, + "%WeakRef%": typeof WeakRef === "undefined" ? undefined2 : WeakRef, + "%WeakSet%": typeof WeakSet === "undefined" ? undefined2 : WeakSet + }; + if (getProto) { + try { + null.error; + } catch (e) { + errorProto = getProto(getProto(e)); + INTRINSICS["%Error.prototype%"] = errorProto; + } + } + var errorProto; + var doEval = function doEval2(name) { + var value; + if (name === "%AsyncFunction%") { + value = getEvalledConstructor("async function () {}"); + } else if (name === "%GeneratorFunction%") { + value = getEvalledConstructor("function* () {}"); + } else if (name === "%AsyncGeneratorFunction%") { + value = getEvalledConstructor("async function* () {}"); + } else if (name === "%AsyncGenerator%") { + var fn2 = doEval2("%AsyncGeneratorFunction%"); + if (fn2) { + value = fn2.prototype; + } + } else if (name === "%AsyncIteratorPrototype%") { + var gen = doEval2("%AsyncGenerator%"); + if (gen && getProto) { + value = getProto(gen.prototype); + } + } + INTRINSICS[name] = value; + return value; + }; + var LEGACY_ALIASES = { + __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"] + }; + var bind = require_function_bind(); + var hasOwn = require_hasown(); + var $concat = bind.call(Function.call, Array.prototype.concat); + var $spliceApply = bind.call(Function.apply, Array.prototype.splice); + var $replace = bind.call(Function.call, String.prototype.replace); + var $strSlice = bind.call(Function.call, String.prototype.slice); + var $exec = bind.call(Function.call, RegExp.prototype.exec); + var rePropName = /[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g; + var reEscapeChar = /\\(\\)?/g; + var stringToPath = function stringToPath2(string2) { + var first = $strSlice(string2, 0, 1); + var last = $strSlice(string2, -1); + if (first === "%" && last !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected closing `%`"); + } else if (last === "%" && first !== "%") { + throw new $SyntaxError("invalid intrinsic syntax, expected opening `%`"); + } + var result = []; + $replace(string2, rePropName, function(match, number2, quote, subString) { + result[result.length] = quote ? $replace(subString, reEscapeChar, "$1") : number2 || match; + }); + return result; + }; + var getBaseIntrinsic = function getBaseIntrinsic2(name, allowMissing) { + var intrinsicName = name; + var alias; + if (hasOwn(LEGACY_ALIASES, intrinsicName)) { + alias = LEGACY_ALIASES[intrinsicName]; + intrinsicName = "%" + alias[0] + "%"; + } + if (hasOwn(INTRINSICS, intrinsicName)) { + var value = INTRINSICS[intrinsicName]; + if (value === needsEval) { + value = doEval(intrinsicName); + } + if (typeof value === "undefined" && !allowMissing) { + throw new $TypeError("intrinsic " + name + " exists, but is not available. Please file an issue!"); + } + return { + alias, + name: intrinsicName, + value + }; + } + throw new $SyntaxError("intrinsic " + name + " does not exist!"); + }; + module2.exports = function GetIntrinsic(name, allowMissing) { + if (typeof name !== "string" || name.length === 0) { + throw new $TypeError("intrinsic name must be a non-empty string"); + } + if (arguments.length > 1 && typeof allowMissing !== "boolean") { + throw new $TypeError('"allowMissing" argument must be a boolean'); + } + if ($exec(/^%?[^%]*%?$/, name) === null) { + throw new $SyntaxError("`%` may not be present anywhere but at the beginning and end of the intrinsic name"); + } + var parts = stringToPath(name); + var intrinsicBaseName = parts.length > 0 ? parts[0] : ""; + var intrinsic = getBaseIntrinsic("%" + intrinsicBaseName + "%", allowMissing); + var intrinsicRealName = intrinsic.name; + var value = intrinsic.value; + var skipFurtherCaching = false; + var alias = intrinsic.alias; + if (alias) { + intrinsicBaseName = alias[0]; + $spliceApply(parts, $concat([0, 1], alias)); + } + for (var i = 1, isOwn = true; i < parts.length; i += 1) { + var part = parts[i]; + var first = $strSlice(part, 0, 1); + var last = $strSlice(part, -1); + if ((first === '"' || first === "'" || first === "`" || (last === '"' || last === "'" || last === "`")) && first !== last) { + throw new $SyntaxError("property names with quotes must have matching quotes"); + } + if (part === "constructor" || !isOwn) { + skipFurtherCaching = true; + } + intrinsicBaseName += "." + part; + intrinsicRealName = "%" + intrinsicBaseName + "%"; + if (hasOwn(INTRINSICS, intrinsicRealName)) { + value = INTRINSICS[intrinsicRealName]; + } else if (value != null) { + if (!(part in value)) { + if (!allowMissing) { + throw new $TypeError("base intrinsic for " + name + " exists, but the property is not available."); + } + return void 0; + } + if ($gOPD && i + 1 >= parts.length) { + var desc = $gOPD(value, part); + isOwn = !!desc; + if (isOwn && "get" in desc && !("originalValue" in desc.get)) { + value = desc.get; + } else { + value = value[part]; + } + } else { + isOwn = hasOwn(value, part); + value = value[part]; + } + if (isOwn && !skipFurtherCaching) { + INTRINSICS[intrinsicRealName] = value; + } + } + } + return value; + }; + } +}); + +// node_modules/es-define-property/index.js +var require_es_define_property = __commonJS({ + "node_modules/es-define-property/index.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $defineProperty = GetIntrinsic("%Object.defineProperty%", true) || false; + if ($defineProperty) { + try { + $defineProperty({}, "a", { value: 1 }); + } catch (e) { + $defineProperty = false; + } + } + module2.exports = $defineProperty; + } +}); + +// node_modules/gopd/index.js +var require_gopd = __commonJS({ + "node_modules/gopd/index.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $gOPD = GetIntrinsic("%Object.getOwnPropertyDescriptor%", true); + if ($gOPD) { + try { + $gOPD([], "length"); + } catch (e) { + $gOPD = null; + } + } + module2.exports = $gOPD; + } +}); + +// node_modules/define-data-property/index.js +var require_define_data_property = __commonJS({ + "node_modules/define-data-property/index.js"(exports, module2) { + "use strict"; + var $defineProperty = require_es_define_property(); + var $SyntaxError = require_syntax(); + var $TypeError = require_type(); + var gopd = require_gopd(); + module2.exports = function defineDataProperty(obj, property, value) { + if (!obj || typeof obj !== "object" && typeof obj !== "function") { + throw new $TypeError("`obj` must be an object or a function`"); + } + if (typeof property !== "string" && typeof property !== "symbol") { + throw new $TypeError("`property` must be a string or a symbol`"); + } + if (arguments.length > 3 && typeof arguments[3] !== "boolean" && arguments[3] !== null) { + throw new $TypeError("`nonEnumerable`, if provided, must be a boolean or null"); + } + if (arguments.length > 4 && typeof arguments[4] !== "boolean" && arguments[4] !== null) { + throw new $TypeError("`nonWritable`, if provided, must be a boolean or null"); + } + if (arguments.length > 5 && typeof arguments[5] !== "boolean" && arguments[5] !== null) { + throw new $TypeError("`nonConfigurable`, if provided, must be a boolean or null"); + } + if (arguments.length > 6 && typeof arguments[6] !== "boolean") { + throw new $TypeError("`loose`, if provided, must be a boolean"); + } + var nonEnumerable = arguments.length > 3 ? arguments[3] : null; + var nonWritable = arguments.length > 4 ? arguments[4] : null; + var nonConfigurable = arguments.length > 5 ? arguments[5] : null; + var loose = arguments.length > 6 ? arguments[6] : false; + var desc = !!gopd && gopd(obj, property); + if ($defineProperty) { + $defineProperty(obj, property, { + configurable: nonConfigurable === null && desc ? desc.configurable : !nonConfigurable, + enumerable: nonEnumerable === null && desc ? desc.enumerable : !nonEnumerable, + value, + writable: nonWritable === null && desc ? desc.writable : !nonWritable + }); + } else if (loose || !nonEnumerable && !nonWritable && !nonConfigurable) { + obj[property] = value; + } else { + throw new $SyntaxError("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable."); + } + }; + } +}); + +// node_modules/has-property-descriptors/index.js +var require_has_property_descriptors = __commonJS({ + "node_modules/has-property-descriptors/index.js"(exports, module2) { + "use strict"; + var $defineProperty = require_es_define_property(); + var hasPropertyDescriptors = function hasPropertyDescriptors2() { + return !!$defineProperty; + }; + hasPropertyDescriptors.hasArrayLengthDefineBug = function hasArrayLengthDefineBug() { + if (!$defineProperty) { + return null; + } + try { + return $defineProperty([], "length", { value: 1 }).length !== 1; + } catch (e) { + return true; + } + }; + module2.exports = hasPropertyDescriptors; + } +}); + +// node_modules/set-function-length/index.js +var require_set_function_length = __commonJS({ + "node_modules/set-function-length/index.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var define = require_define_data_property(); + var hasDescriptors = require_has_property_descriptors()(); + var gOPD = require_gopd(); + var $TypeError = require_type(); + var $floor = GetIntrinsic("%Math.floor%"); + module2.exports = function setFunctionLength(fn2, length) { + if (typeof fn2 !== "function") { + throw new $TypeError("`fn` is not a function"); + } + if (typeof length !== "number" || length < 0 || length > 4294967295 || $floor(length) !== length) { + throw new $TypeError("`length` must be a positive 32-bit integer"); + } + var loose = arguments.length > 2 && !!arguments[2]; + var functionLengthIsConfigurable = true; + var functionLengthIsWritable = true; + if ("length" in fn2 && gOPD) { + var desc = gOPD(fn2, "length"); + if (desc && !desc.configurable) { + functionLengthIsConfigurable = false; + } + if (desc && !desc.writable) { + functionLengthIsWritable = false; + } + } + if (functionLengthIsConfigurable || functionLengthIsWritable || !loose) { + if (hasDescriptors) { + define( + /** @type {Parameters[0]} */ + fn2, + "length", + length, + true, + true + ); + } else { + define( + /** @type {Parameters[0]} */ + fn2, + "length", + length + ); + } + } + return fn2; + }; + } +}); + +// node_modules/call-bind/index.js +var require_call_bind = __commonJS({ + "node_modules/call-bind/index.js"(exports, module2) { + "use strict"; + var bind = require_function_bind(); + var GetIntrinsic = require_get_intrinsic(); + var setFunctionLength = require_set_function_length(); + var $TypeError = require_type(); + var $apply = GetIntrinsic("%Function.prototype.apply%"); + var $call = GetIntrinsic("%Function.prototype.call%"); + var $reflectApply = GetIntrinsic("%Reflect.apply%", true) || bind.call($call, $apply); + var $defineProperty = require_es_define_property(); + var $max = GetIntrinsic("%Math.max%"); + module2.exports = function callBind(originalFunction) { + if (typeof originalFunction !== "function") { + throw new $TypeError("a function is required"); + } + var func = $reflectApply(bind, $call, arguments); + return setFunctionLength( + func, + 1 + $max(0, originalFunction.length - (arguments.length - 1)), + true + ); + }; + var applyBind = function applyBind2() { + return $reflectApply(bind, $apply, arguments); + }; + if ($defineProperty) { + $defineProperty(module2.exports, "apply", { value: applyBind }); + } else { + module2.exports.apply = applyBind; + } + } +}); + +// node_modules/object-keys/isArguments.js +var require_isArguments = __commonJS({ + "node_modules/object-keys/isArguments.js"(exports, module2) { + "use strict"; + var toStr = Object.prototype.toString; + module2.exports = function isArguments(value) { + var str = toStr.call(value); + var isArgs = str === "[object Arguments]"; + if (!isArgs) { + isArgs = str !== "[object Array]" && value !== null && typeof value === "object" && typeof value.length === "number" && value.length >= 0 && toStr.call(value.callee) === "[object Function]"; + } + return isArgs; + }; + } +}); + +// node_modules/object-keys/implementation.js +var require_implementation2 = __commonJS({ + "node_modules/object-keys/implementation.js"(exports, module2) { + "use strict"; + var keysShim; + if (!Object.keys) { + has = Object.prototype.hasOwnProperty; + toStr = Object.prototype.toString; + isArgs = require_isArguments(); + isEnumerable = Object.prototype.propertyIsEnumerable; + hasDontEnumBug = !isEnumerable.call({ toString: null }, "toString"); + hasProtoEnumBug = isEnumerable.call(function() { + }, "prototype"); + dontEnums = [ + "toString", + "toLocaleString", + "valueOf", + "hasOwnProperty", + "isPrototypeOf", + "propertyIsEnumerable", + "constructor" + ]; + equalsConstructorPrototype = function(o) { + var ctor = o.constructor; + return ctor && ctor.prototype === o; + }; + excludedKeys = { + $applicationCache: true, + $console: true, + $external: true, + $frame: true, + $frameElement: true, + $frames: true, + $innerHeight: true, + $innerWidth: true, + $onmozfullscreenchange: true, + $onmozfullscreenerror: true, + $outerHeight: true, + $outerWidth: true, + $pageXOffset: true, + $pageYOffset: true, + $parent: true, + $scrollLeft: true, + $scrollTop: true, + $scrollX: true, + $scrollY: true, + $self: true, + $webkitIndexedDB: true, + $webkitStorageInfo: true, + $window: true + }; + hasAutomationEqualityBug = function() { + if (typeof window === "undefined") { + return false; + } + for (var k in window) { + try { + if (!excludedKeys["$" + k] && has.call(window, k) && window[k] !== null && typeof window[k] === "object") { + try { + equalsConstructorPrototype(window[k]); + } catch (e) { + return true; + } + } + } catch (e) { + return true; + } + } + return false; + }(); + equalsConstructorPrototypeIfNotBuggy = function(o) { + if (typeof window === "undefined" || !hasAutomationEqualityBug) { + return equalsConstructorPrototype(o); + } + try { + return equalsConstructorPrototype(o); + } catch (e) { + return false; + } + }; + keysShim = function keys(object2) { + var isObject = object2 !== null && typeof object2 === "object"; + var isFunction = toStr.call(object2) === "[object Function]"; + var isArguments = isArgs(object2); + var isString = isObject && toStr.call(object2) === "[object String]"; + var theKeys = []; + if (!isObject && !isFunction && !isArguments) { + throw new TypeError("Object.keys called on a non-object"); + } + var skipProto = hasProtoEnumBug && isFunction; + if (isString && object2.length > 0 && !has.call(object2, 0)) { + for (var i = 0; i < object2.length; ++i) { + theKeys.push(String(i)); + } + } + if (isArguments && object2.length > 0) { + for (var j = 0; j < object2.length; ++j) { + theKeys.push(String(j)); + } + } else { + for (var name in object2) { + if (!(skipProto && name === "prototype") && has.call(object2, name)) { + theKeys.push(String(name)); + } + } + } + if (hasDontEnumBug) { + var skipConstructor = equalsConstructorPrototypeIfNotBuggy(object2); + for (var k = 0; k < dontEnums.length; ++k) { + if (!(skipConstructor && dontEnums[k] === "constructor") && has.call(object2, dontEnums[k])) { + theKeys.push(dontEnums[k]); + } + } + } + return theKeys; + }; + } + var has; + var toStr; + var isArgs; + var isEnumerable; + var hasDontEnumBug; + var hasProtoEnumBug; + var dontEnums; + var equalsConstructorPrototype; + var excludedKeys; + var hasAutomationEqualityBug; + var equalsConstructorPrototypeIfNotBuggy; + module2.exports = keysShim; + } +}); + +// node_modules/object-keys/index.js +var require_object_keys = __commonJS({ + "node_modules/object-keys/index.js"(exports, module2) { + "use strict"; + var slice = Array.prototype.slice; + var isArgs = require_isArguments(); + var origKeys = Object.keys; + var keysShim = origKeys ? function keys(o) { + return origKeys(o); + } : require_implementation2(); + var originalKeys = Object.keys; + keysShim.shim = function shimObjectKeys() { + if (Object.keys) { + var keysWorksWithArguments = function() { + var args = Object.keys(arguments); + return args && args.length === arguments.length; + }(1, 2); + if (!keysWorksWithArguments) { + Object.keys = function keys(object2) { + if (isArgs(object2)) { + return originalKeys(slice.call(object2)); + } + return originalKeys(object2); + }; + } + } else { + Object.keys = keysShim; + } + return Object.keys || keysShim; + }; + module2.exports = keysShim; + } +}); + +// node_modules/define-properties/index.js +var require_define_properties = __commonJS({ + "node_modules/define-properties/index.js"(exports, module2) { + "use strict"; + var keys = require_object_keys(); + var hasSymbols = typeof Symbol === "function" && typeof Symbol("foo") === "symbol"; + var toStr = Object.prototype.toString; + var concat = Array.prototype.concat; + var defineDataProperty = require_define_data_property(); + var isFunction = function(fn2) { + return typeof fn2 === "function" && toStr.call(fn2) === "[object Function]"; + }; + var supportsDescriptors = require_has_property_descriptors()(); + var defineProperty = function(object2, name, value, predicate) { + if (name in object2) { + if (predicate === true) { + if (object2[name] === value) { + return; + } + } else if (!isFunction(predicate) || !predicate()) { + return; + } + } + if (supportsDescriptors) { + defineDataProperty(object2, name, value, true); + } else { + defineDataProperty(object2, name, value); + } + }; + var defineProperties = function(object2, map) { + var predicates = arguments.length > 2 ? arguments[2] : {}; + var props = keys(map); + if (hasSymbols) { + props = concat.call(props, Object.getOwnPropertySymbols(map)); + } + for (var i = 0; i < props.length; i += 1) { + defineProperty(object2, props[i], map[props[i]], predicates[props[i]]); + } + }; + defineProperties.supportsDescriptors = !!supportsDescriptors; + module2.exports = defineProperties; + } +}); + +// node_modules/es-abstract/helpers/setProto.js +var require_setProto = __commonJS({ + "node_modules/es-abstract/helpers/setProto.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var originalSetProto = GetIntrinsic("%Object.setPrototypeOf%", true); + var hasProto = require_has_proto()(); + module2.exports = originalSetProto || (hasProto ? function(O, proto) { + O.__proto__ = proto; + return O; + } : null); + } +}); + +// node_modules/es-abstract/helpers/getProto.js +var require_getProto = __commonJS({ + "node_modules/es-abstract/helpers/getProto.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var originalGetProto = GetIntrinsic("%Object.getPrototypeOf%", true); + var hasProto = require_has_proto()(); + module2.exports = originalGetProto || (hasProto ? function(O) { + return O.__proto__; + } : null); + } +}); + +// node_modules/es-abstract/5/Type.js +var require_Type = __commonJS({ + "node_modules/es-abstract/5/Type.js"(exports, module2) { + "use strict"; + module2.exports = function Type(x) { + if (x === null) { + return "Null"; + } + if (typeof x === "undefined") { + return "Undefined"; + } + if (typeof x === "function" || typeof x === "object") { + return "Object"; + } + if (typeof x === "number") { + return "Number"; + } + if (typeof x === "boolean") { + return "Boolean"; + } + if (typeof x === "string") { + return "String"; + } + }; + } +}); + +// node_modules/es-abstract/2023/Type.js +var require_Type2 = __commonJS({ + "node_modules/es-abstract/2023/Type.js"(exports, module2) { + "use strict"; + var ES5Type = require_Type(); + module2.exports = function Type(x) { + if (typeof x === "symbol") { + return "Symbol"; + } + if (typeof x === "bigint") { + return "BigInt"; + } + return ES5Type(x); + }; + } +}); + +// node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js +var require_OrdinaryGetPrototypeOf = __commonJS({ + "node_modules/es-abstract/2023/OrdinaryGetPrototypeOf.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var $getProto = require_getProto(); + var Type = require_Type2(); + module2.exports = function OrdinaryGetPrototypeOf(O) { + if (Type(O) !== "Object") { + throw new $TypeError("Assertion failed: O must be an Object"); + } + if (!$getProto) { + throw new $TypeError("This environment does not support fetching prototypes."); + } + return $getProto(O); + }; + } +}); + +// node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js +var require_OrdinarySetPrototypeOf = __commonJS({ + "node_modules/es-abstract/2023/OrdinarySetPrototypeOf.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var $setProto = require_setProto(); + var OrdinaryGetPrototypeOf = require_OrdinaryGetPrototypeOf(); + module2.exports = function OrdinarySetPrototypeOf(O, V) { + if (typeof V !== "object") { + throw new $TypeError("Assertion failed: V must be Object or Null"); + } + try { + $setProto(O, V); + } catch (e) { + return false; + } + return OrdinaryGetPrototypeOf(O) === V; + }; + } +}); + +// node_modules/call-bind/callBound.js +var require_callBound = __commonJS({ + "node_modules/call-bind/callBound.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBind = require_call_bind(); + var $indexOf = callBind(GetIntrinsic("String.prototype.indexOf")); + module2.exports = function callBoundIntrinsic(name, allowMissing) { + var intrinsic = GetIntrinsic(name, !!allowMissing); + if (typeof intrinsic === "function" && $indexOf(name, ".prototype.") > -1) { + return callBind(intrinsic); + } + return intrinsic; + }; + } +}); + +// (disabled):node_modules/object-inspect/util.inspect +var require_util = __commonJS({ + "(disabled):node_modules/object-inspect/util.inspect"() { + } +}); + +// node_modules/object-inspect/index.js +var require_object_inspect = __commonJS({ + "node_modules/object-inspect/index.js"(exports, module2) { + var hasMap = typeof Map === "function" && Map.prototype; + var mapSizeDescriptor = Object.getOwnPropertyDescriptor && hasMap ? Object.getOwnPropertyDescriptor(Map.prototype, "size") : null; + var mapSize = hasMap && mapSizeDescriptor && typeof mapSizeDescriptor.get === "function" ? mapSizeDescriptor.get : null; + var mapForEach = hasMap && Map.prototype.forEach; + var hasSet = typeof Set === "function" && Set.prototype; + var setSizeDescriptor = Object.getOwnPropertyDescriptor && hasSet ? Object.getOwnPropertyDescriptor(Set.prototype, "size") : null; + var setSize = hasSet && setSizeDescriptor && typeof setSizeDescriptor.get === "function" ? setSizeDescriptor.get : null; + var setForEach = hasSet && Set.prototype.forEach; + var hasWeakMap = typeof WeakMap === "function" && WeakMap.prototype; + var weakMapHas = hasWeakMap ? WeakMap.prototype.has : null; + var hasWeakSet = typeof WeakSet === "function" && WeakSet.prototype; + var weakSetHas = hasWeakSet ? WeakSet.prototype.has : null; + var hasWeakRef = typeof WeakRef === "function" && WeakRef.prototype; + var weakRefDeref = hasWeakRef ? WeakRef.prototype.deref : null; + var booleanValueOf = Boolean.prototype.valueOf; + var objectToString = Object.prototype.toString; + var functionToString = Function.prototype.toString; + var $match = String.prototype.match; + var $slice = String.prototype.slice; + var $replace = String.prototype.replace; + var $toUpperCase = String.prototype.toUpperCase; + var $toLowerCase = String.prototype.toLowerCase; + var $test = RegExp.prototype.test; + var $concat = Array.prototype.concat; + var $join = Array.prototype.join; + var $arrSlice = Array.prototype.slice; + var $floor = Math.floor; + var bigIntValueOf = typeof BigInt === "function" ? BigInt.prototype.valueOf : null; + var gOPS = Object.getOwnPropertySymbols; + var symToString = typeof Symbol === "function" && typeof Symbol.iterator === "symbol" ? Symbol.prototype.toString : null; + var hasShammedSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "object"; + var toStringTag = typeof Symbol === "function" && Symbol.toStringTag && (typeof Symbol.toStringTag === hasShammedSymbols ? "object" : "symbol") ? Symbol.toStringTag : null; + var isEnumerable = Object.prototype.propertyIsEnumerable; + var gPO = (typeof Reflect === "function" ? Reflect.getPrototypeOf : Object.getPrototypeOf) || ([].__proto__ === Array.prototype ? function(O) { + return O.__proto__; + } : null); + function addNumericSeparator(num, str) { + if (num === Infinity || num === -Infinity || num !== num || num && num > -1e3 && num < 1e3 || $test.call(/e/, str)) { + return str; + } + var sepRegex = /[0-9](?=(?:[0-9]{3})+(?![0-9]))/g; + if (typeof num === "number") { + var int = num < 0 ? -$floor(-num) : $floor(num); + if (int !== num) { + var intStr = String(int); + var dec = $slice.call(str, intStr.length + 1); + return $replace.call(intStr, sepRegex, "$&_") + "." + $replace.call($replace.call(dec, /([0-9]{3})/g, "$&_"), /_$/, ""); + } + } + return $replace.call(str, sepRegex, "$&_"); + } + var utilInspect = require_util(); + var inspectCustom = utilInspect.custom; + var inspectSymbol = isSymbol(inspectCustom) ? inspectCustom : null; + module2.exports = function inspect_(obj, options, depth, seen) { + var opts = options || {}; + if (has(opts, "quoteStyle") && (opts.quoteStyle !== "single" && opts.quoteStyle !== "double")) { + throw new TypeError('option "quoteStyle" must be "single" or "double"'); + } + if (has(opts, "maxStringLength") && (typeof opts.maxStringLength === "number" ? opts.maxStringLength < 0 && opts.maxStringLength !== Infinity : opts.maxStringLength !== null)) { + throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`'); + } + var customInspect = has(opts, "customInspect") ? opts.customInspect : true; + if (typeof customInspect !== "boolean" && customInspect !== "symbol") { + throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`"); + } + if (has(opts, "indent") && opts.indent !== null && opts.indent !== " " && !(parseInt(opts.indent, 10) === opts.indent && opts.indent > 0)) { + throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`'); + } + if (has(opts, "numericSeparator") && typeof opts.numericSeparator !== "boolean") { + throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`'); + } + var numericSeparator = opts.numericSeparator; + if (typeof obj === "undefined") { + return "undefined"; + } + if (obj === null) { + return "null"; + } + if (typeof obj === "boolean") { + return obj ? "true" : "false"; + } + if (typeof obj === "string") { + return inspectString(obj, opts); + } + if (typeof obj === "number") { + if (obj === 0) { + return Infinity / obj > 0 ? "0" : "-0"; + } + var str = String(obj); + return numericSeparator ? addNumericSeparator(obj, str) : str; + } + if (typeof obj === "bigint") { + var bigIntStr = String(obj) + "n"; + return numericSeparator ? addNumericSeparator(obj, bigIntStr) : bigIntStr; + } + var maxDepth = typeof opts.depth === "undefined" ? 5 : opts.depth; + if (typeof depth === "undefined") { + depth = 0; + } + if (depth >= maxDepth && maxDepth > 0 && typeof obj === "object") { + return isArray(obj) ? "[Array]" : "[Object]"; + } + var indent = getIndent(opts, depth); + if (typeof seen === "undefined") { + seen = []; + } else if (indexOf(seen, obj) >= 0) { + return "[Circular]"; + } + function inspect(value, from, noIndent) { + if (from) { + seen = $arrSlice.call(seen); + seen.push(from); + } + if (noIndent) { + var newOpts = { + depth: opts.depth + }; + if (has(opts, "quoteStyle")) { + newOpts.quoteStyle = opts.quoteStyle; + } + return inspect_(value, newOpts, depth + 1, seen); + } + return inspect_(value, opts, depth + 1, seen); + } + if (typeof obj === "function" && !isRegExp(obj)) { + var name = nameOf(obj); + var keys = arrObjKeys(obj, inspect); + return "[Function" + (name ? ": " + name : " (anonymous)") + "]" + (keys.length > 0 ? " { " + $join.call(keys, ", ") + " }" : ""); + } + if (isSymbol(obj)) { + var symString = hasShammedSymbols ? $replace.call(String(obj), /^(Symbol\(.*\))_[^)]*$/, "$1") : symToString.call(obj); + return typeof obj === "object" && !hasShammedSymbols ? markBoxed(symString) : symString; + } + if (isElement2(obj)) { + var s = "<" + $toLowerCase.call(String(obj.nodeName)); + var attrs = obj.attributes || []; + for (var i = 0; i < attrs.length; i++) { + s += " " + attrs[i].name + "=" + wrapQuotes(quote(attrs[i].value), "double", opts); + } + s += ">"; + if (obj.childNodes && obj.childNodes.length) { + s += "..."; + } + s += ""; + return s; + } + if (isArray(obj)) { + if (obj.length === 0) { + return "[]"; + } + var xs = arrObjKeys(obj, inspect); + if (indent && !singleLineValues(xs)) { + return "[" + indentedJoin(xs, indent) + "]"; + } + return "[ " + $join.call(xs, ", ") + " ]"; + } + if (isError(obj)) { + var parts = arrObjKeys(obj, inspect); + if (!("cause" in Error.prototype) && "cause" in obj && !isEnumerable.call(obj, "cause")) { + return "{ [" + String(obj) + "] " + $join.call($concat.call("[cause]: " + inspect(obj.cause), parts), ", ") + " }"; + } + if (parts.length === 0) { + return "[" + String(obj) + "]"; + } + return "{ [" + String(obj) + "] " + $join.call(parts, ", ") + " }"; + } + if (typeof obj === "object" && customInspect) { + if (inspectSymbol && typeof obj[inspectSymbol] === "function" && utilInspect) { + return utilInspect(obj, { depth: maxDepth - depth }); + } else if (customInspect !== "symbol" && typeof obj.inspect === "function") { + return obj.inspect(); + } + } + if (isMap(obj)) { + var mapParts = []; + if (mapForEach) { + mapForEach.call(obj, function(value, key) { + mapParts.push(inspect(key, obj, true) + " => " + inspect(value, obj)); + }); + } + return collectionOf("Map", mapSize.call(obj), mapParts, indent); + } + if (isSet(obj)) { + var setParts = []; + if (setForEach) { + setForEach.call(obj, function(value) { + setParts.push(inspect(value, obj)); + }); + } + return collectionOf("Set", setSize.call(obj), setParts, indent); + } + if (isWeakMap(obj)) { + return weakCollectionOf("WeakMap"); + } + if (isWeakSet(obj)) { + return weakCollectionOf("WeakSet"); + } + if (isWeakRef(obj)) { + return weakCollectionOf("WeakRef"); + } + if (isNumber(obj)) { + return markBoxed(inspect(Number(obj))); + } + if (isBigInt(obj)) { + return markBoxed(inspect(bigIntValueOf.call(obj))); + } + if (isBoolean(obj)) { + return markBoxed(booleanValueOf.call(obj)); + } + if (isString(obj)) { + return markBoxed(inspect(String(obj))); + } + if (typeof window !== "undefined" && obj === window) { + return "{ [object Window] }"; + } + if (obj === global) { + return "{ [object globalThis] }"; + } + if (!isDate(obj) && !isRegExp(obj)) { + var ys = arrObjKeys(obj, inspect); + var isPlainObject = gPO ? gPO(obj) === Object.prototype : obj instanceof Object || obj.constructor === Object; + var protoTag = obj instanceof Object ? "" : "null prototype"; + var stringTag = !isPlainObject && toStringTag && Object(obj) === obj && toStringTag in obj ? $slice.call(toStr(obj), 8, -1) : protoTag ? "Object" : ""; + var constructorTag = isPlainObject || typeof obj.constructor !== "function" ? "" : obj.constructor.name ? obj.constructor.name + " " : ""; + var tag = constructorTag + (stringTag || protoTag ? "[" + $join.call($concat.call([], stringTag || [], protoTag || []), ": ") + "] " : ""); + if (ys.length === 0) { + return tag + "{}"; + } + if (indent) { + return tag + "{" + indentedJoin(ys, indent) + "}"; + } + return tag + "{ " + $join.call(ys, ", ") + " }"; + } + return String(obj); + }; + function wrapQuotes(s, defaultStyle, opts) { + var quoteChar = (opts.quoteStyle || defaultStyle) === "double" ? '"' : "'"; + return quoteChar + s + quoteChar; + } + function quote(s) { + return $replace.call(String(s), /"/g, """); + } + function isArray(obj) { + return toStr(obj) === "[object Array]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isDate(obj) { + return toStr(obj) === "[object Date]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isRegExp(obj) { + return toStr(obj) === "[object RegExp]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isError(obj) { + return toStr(obj) === "[object Error]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isString(obj) { + return toStr(obj) === "[object String]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isNumber(obj) { + return toStr(obj) === "[object Number]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isBoolean(obj) { + return toStr(obj) === "[object Boolean]" && (!toStringTag || !(typeof obj === "object" && toStringTag in obj)); + } + function isSymbol(obj) { + if (hasShammedSymbols) { + return obj && typeof obj === "object" && obj instanceof Symbol; + } + if (typeof obj === "symbol") { + return true; + } + if (!obj || typeof obj !== "object" || !symToString) { + return false; + } + try { + symToString.call(obj); + return true; + } catch (e) { + } + return false; + } + function isBigInt(obj) { + if (!obj || typeof obj !== "object" || !bigIntValueOf) { + return false; + } + try { + bigIntValueOf.call(obj); + return true; + } catch (e) { + } + return false; + } + var hasOwn = Object.prototype.hasOwnProperty || function(key) { + return key in this; + }; + function has(obj, key) { + return hasOwn.call(obj, key); + } + function toStr(obj) { + return objectToString.call(obj); + } + function nameOf(f) { + if (f.name) { + return f.name; + } + var m = $match.call(functionToString.call(f), /^function\s*([\w$]+)/); + if (m) { + return m[1]; + } + return null; + } + function indexOf(xs, x) { + if (xs.indexOf) { + return xs.indexOf(x); + } + for (var i = 0, l = xs.length; i < l; i++) { + if (xs[i] === x) { + return i; + } + } + return -1; + } + function isMap(x) { + if (!mapSize || !x || typeof x !== "object") { + return false; + } + try { + mapSize.call(x); + try { + setSize.call(x); + } catch (s) { + return true; + } + return x instanceof Map; + } catch (e) { + } + return false; + } + function isWeakMap(x) { + if (!weakMapHas || !x || typeof x !== "object") { + return false; + } + try { + weakMapHas.call(x, weakMapHas); + try { + weakSetHas.call(x, weakSetHas); + } catch (s) { + return true; + } + return x instanceof WeakMap; + } catch (e) { + } + return false; + } + function isWeakRef(x) { + if (!weakRefDeref || !x || typeof x !== "object") { + return false; + } + try { + weakRefDeref.call(x); + return true; + } catch (e) { + } + return false; + } + function isSet(x) { + if (!setSize || !x || typeof x !== "object") { + return false; + } + try { + setSize.call(x); + try { + mapSize.call(x); + } catch (m) { + return true; + } + return x instanceof Set; + } catch (e) { + } + return false; + } + function isWeakSet(x) { + if (!weakSetHas || !x || typeof x !== "object") { + return false; + } + try { + weakSetHas.call(x, weakSetHas); + try { + weakMapHas.call(x, weakMapHas); + } catch (s) { + return true; + } + return x instanceof WeakSet; + } catch (e) { + } + return false; + } + function isElement2(x) { + if (!x || typeof x !== "object") { + return false; + } + if (typeof HTMLElement !== "undefined" && x instanceof HTMLElement) { + return true; + } + return typeof x.nodeName === "string" && typeof x.getAttribute === "function"; + } + function inspectString(str, opts) { + if (str.length > opts.maxStringLength) { + var remaining = str.length - opts.maxStringLength; + var trailer = "... " + remaining + " more character" + (remaining > 1 ? "s" : ""); + return inspectString($slice.call(str, 0, opts.maxStringLength), opts) + trailer; + } + var s = $replace.call($replace.call(str, /(['\\])/g, "\\$1"), /[\x00-\x1f]/g, lowbyte); + return wrapQuotes(s, "single", opts); + } + function lowbyte(c) { + var n = c.charCodeAt(0); + var x = { + 8: "b", + 9: "t", + 10: "n", + 12: "f", + 13: "r" + }[n]; + if (x) { + return "\\" + x; + } + return "\\x" + (n < 16 ? "0" : "") + $toUpperCase.call(n.toString(16)); + } + function markBoxed(str) { + return "Object(" + str + ")"; + } + function weakCollectionOf(type) { + return type + " { ? }"; + } + function collectionOf(type, size, entries, indent) { + var joinedEntries = indent ? indentedJoin(entries, indent) : $join.call(entries, ", "); + return type + " (" + size + ") {" + joinedEntries + "}"; + } + function singleLineValues(xs) { + for (var i = 0; i < xs.length; i++) { + if (indexOf(xs[i], "\n") >= 0) { + return false; + } + } + return true; + } + function getIndent(opts, depth) { + var baseIndent; + if (opts.indent === " ") { + baseIndent = " "; + } else if (typeof opts.indent === "number" && opts.indent > 0) { + baseIndent = $join.call(Array(opts.indent + 1), " "); + } else { + return null; + } + return { + base: baseIndent, + prev: $join.call(Array(depth + 1), baseIndent) + }; + } + function indentedJoin(xs, indent) { + if (xs.length === 0) { + return ""; + } + var lineJoiner = "\n" + indent.prev + indent.base; + return lineJoiner + $join.call(xs, "," + lineJoiner) + "\n" + indent.prev; + } + function arrObjKeys(obj, inspect) { + var isArr = isArray(obj); + var xs = []; + if (isArr) { + xs.length = obj.length; + for (var i = 0; i < obj.length; i++) { + xs[i] = has(obj, i) ? inspect(obj[i], obj) : ""; + } + } + var syms = typeof gOPS === "function" ? gOPS(obj) : []; + var symMap; + if (hasShammedSymbols) { + symMap = {}; + for (var k = 0; k < syms.length; k++) { + symMap["$" + syms[k]] = syms[k]; + } + } + for (var key in obj) { + if (!has(obj, key)) { + continue; + } + if (isArr && String(Number(key)) === key && key < obj.length) { + continue; + } + if (hasShammedSymbols && symMap["$" + key] instanceof Symbol) { + continue; + } else if ($test.call(/[^\w$]/, key)) { + xs.push(inspect(key, obj) + ": " + inspect(obj[key], obj)); + } else { + xs.push(key + ": " + inspect(obj[key], obj)); + } + } + if (typeof gOPS === "function") { + for (var j = 0; j < syms.length; j++) { + if (isEnumerable.call(obj, syms[j])) { + xs.push("[" + inspect(syms[j]) + "]: " + inspect(obj[syms[j]], obj)); + } + } + } + return xs; + } + } +}); + +// node_modules/side-channel/index.js +var require_side_channel = __commonJS({ + "node_modules/side-channel/index.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var inspect = require_object_inspect(); + var $TypeError = require_type(); + var $WeakMap = GetIntrinsic("%WeakMap%", true); + var $Map = GetIntrinsic("%Map%", true); + var $weakMapGet = callBound("WeakMap.prototype.get", true); + var $weakMapSet = callBound("WeakMap.prototype.set", true); + var $weakMapHas = callBound("WeakMap.prototype.has", true); + var $mapGet = callBound("Map.prototype.get", true); + var $mapSet = callBound("Map.prototype.set", true); + var $mapHas = callBound("Map.prototype.has", true); + var listGetNode = function(list, key) { + var prev = list; + var curr; + for (; (curr = prev.next) !== null; prev = curr) { + if (curr.key === key) { + prev.next = curr.next; + curr.next = /** @type {NonNullable} */ + list.next; + list.next = curr; + return curr; + } + } + }; + var listGet = function(objects, key) { + var node = listGetNode(objects, key); + return node && node.value; + }; + var listSet = function(objects, key, value) { + var node = listGetNode(objects, key); + if (node) { + node.value = value; + } else { + objects.next = /** @type {import('.').ListNode} */ + { + // eslint-disable-line no-param-reassign, no-extra-parens + key, + next: objects.next, + value + }; + } + }; + var listHas = function(objects, key) { + return !!listGetNode(objects, key); + }; + module2.exports = function getSideChannel() { + var $wm; + var $m; + var $o; + var channel = { + assert: function(key) { + if (!channel.has(key)) { + throw new $TypeError("Side channel does not contain " + inspect(key)); + } + }, + get: function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapGet($wm, key); + } + } else if ($Map) { + if ($m) { + return $mapGet($m, key); + } + } else { + if ($o) { + return listGet($o, key); + } + } + }, + has: function(key) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if ($wm) { + return $weakMapHas($wm, key); + } + } else if ($Map) { + if ($m) { + return $mapHas($m, key); + } + } else { + if ($o) { + return listHas($o, key); + } + } + return false; + }, + set: function(key, value) { + if ($WeakMap && key && (typeof key === "object" || typeof key === "function")) { + if (!$wm) { + $wm = new $WeakMap(); + } + $weakMapSet($wm, key, value); + } else if ($Map) { + if (!$m) { + $m = new $Map(); + } + $mapSet($m, key, value); + } else { + if (!$o) { + $o = { key: {}, next: null }; + } + listSet($o, key, value); + } + } + }; + return channel; + }; + } +}); + +// node_modules/internal-slot/index.js +var require_internal_slot = __commonJS({ + "node_modules/internal-slot/index.js"(exports, module2) { + "use strict"; + var hasOwn = require_hasown(); + var channel = require_side_channel()(); + var $TypeError = require_type(); + var SLOT = { + assert: function(O, slot) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + channel.assert(O); + if (!SLOT.has(O, slot)) { + throw new $TypeError("`" + slot + "` is not present on `O`"); + } + }, + get: function(O, slot) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + var slots = channel.get(O); + return slots && slots["$" + slot]; + }, + has: function(O, slot) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + var slots = channel.get(O); + return !!slots && hasOwn(slots, "$" + slot); + }, + set: function(O, slot, V) { + if (!O || typeof O !== "object" && typeof O !== "function") { + throw new $TypeError("`O` is not an object"); + } + if (typeof slot !== "string") { + throw new $TypeError("`slot` must be a string"); + } + var slots = channel.get(O); + if (!slots) { + slots = {}; + channel.set(O, slots); + } + slots["$" + slot] = V; + } + }; + if (Object.freeze) { + Object.freeze(SLOT); + } + module2.exports = SLOT; + } +}); + +// node_modules/has-tostringtag/shams.js +var require_shams2 = __commonJS({ + "node_modules/has-tostringtag/shams.js"(exports, module2) { + "use strict"; + var hasSymbols = require_shams(); + module2.exports = function hasToStringTagShams() { + return hasSymbols() && !!Symbol.toStringTag; + }; + } +}); + +// node_modules/es-set-tostringtag/index.js +var require_es_set_tostringtag = __commonJS({ + "node_modules/es-set-tostringtag/index.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $defineProperty = GetIntrinsic("%Object.defineProperty%", true); + var hasToStringTag = require_shams2()(); + var hasOwn = require_hasown(); + var toStringTag = hasToStringTag ? Symbol.toStringTag : null; + module2.exports = function setToStringTag(object2, value) { + var overrideIfSet = arguments.length > 2 && arguments[2] && arguments[2].force; + if (toStringTag && (overrideIfSet || !hasOwn(object2, toStringTag))) { + if ($defineProperty) { + $defineProperty(object2, toStringTag, { + configurable: true, + enumerable: false, + value, + writable: false + }); + } else { + object2[toStringTag] = value; + } + } + }; + } +}); + +// node_modules/es-abstract/helpers/IsArray.js +var require_IsArray = __commonJS({ + "node_modules/es-abstract/helpers/IsArray.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $Array = GetIntrinsic("%Array%"); + var toStr = !$Array.isArray && require_callBound()("Object.prototype.toString"); + module2.exports = $Array.isArray || function IsArray(argument) { + return toStr(argument) === "[object Array]"; + }; + } +}); + +// node_modules/es-abstract/2023/IsArray.js +var require_IsArray2 = __commonJS({ + "node_modules/es-abstract/2023/IsArray.js"(exports, module2) { + "use strict"; + module2.exports = require_IsArray(); + } +}); + +// node_modules/es-abstract/helpers/forEach.js +var require_forEach = __commonJS({ + "node_modules/es-abstract/helpers/forEach.js"(exports, module2) { + "use strict"; + module2.exports = function forEach(array, callback) { + for (var i = 0; i < array.length; i += 1) { + callback(array[i], i, array); + } + }; + } +}); + +// node_modules/es-abstract/2023/OrdinaryObjectCreate.js +var require_OrdinaryObjectCreate = __commonJS({ + "node_modules/es-abstract/2023/OrdinaryObjectCreate.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $ObjectCreate = GetIntrinsic("%Object.create%", true); + var $TypeError = require_type(); + var $SyntaxError = require_syntax(); + var IsArray = require_IsArray2(); + var Type = require_Type2(); + var forEach = require_forEach(); + var SLOT = require_internal_slot(); + var hasProto = require_has_proto()(); + module2.exports = function OrdinaryObjectCreate(proto) { + if (proto !== null && Type(proto) !== "Object") { + throw new $TypeError("Assertion failed: `proto` must be null or an object"); + } + var additionalInternalSlotsList = arguments.length < 2 ? [] : arguments[1]; + if (!IsArray(additionalInternalSlotsList)) { + throw new $TypeError("Assertion failed: `additionalInternalSlotsList` must be an Array"); + } + var O; + if ($ObjectCreate) { + O = $ObjectCreate(proto); + } else if (hasProto) { + O = { __proto__: proto }; + } else { + if (proto === null) { + throw new $SyntaxError("native Object.create support is required to create null objects"); + } + var T = function T2() { + }; + T.prototype = proto; + O = new T(); + } + if (additionalInternalSlotsList.length > 0) { + forEach(additionalInternalSlotsList, function(slot) { + SLOT.set(O, slot, void 0); + }); + } + return O; + }; + } +}); + +// node_modules/es-object-atoms/RequireObjectCoercible.js +var require_RequireObjectCoercible = __commonJS({ + "node_modules/es-object-atoms/RequireObjectCoercible.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + module2.exports = function RequireObjectCoercible(value) { + if (value == null) { + throw new $TypeError(arguments.length > 0 && arguments[1] || "Cannot call method on " + value); + } + return value; + }; + } +}); + +// node_modules/object.entries/implementation.js +var require_implementation3 = __commonJS({ + "node_modules/object.entries/implementation.js"(exports, module2) { + "use strict"; + var RequireObjectCoercible = require_RequireObjectCoercible(); + var callBound = require_callBound(); + var $isEnumerable = callBound("Object.prototype.propertyIsEnumerable"); + var $push = callBound("Array.prototype.push"); + module2.exports = function entries(O) { + var obj = RequireObjectCoercible(O); + var entrys = []; + for (var key in obj) { + if ($isEnumerable(obj, key)) { + $push(entrys, [key, obj[key]]); + } + } + return entrys; + }; + } +}); + +// node_modules/object.entries/polyfill.js +var require_polyfill = __commonJS({ + "node_modules/object.entries/polyfill.js"(exports, module2) { + "use strict"; + var implementation = require_implementation3(); + module2.exports = function getPolyfill() { + return typeof Object.entries === "function" ? Object.entries : implementation; + }; + } +}); + +// node_modules/object.entries/shim.js +var require_shim = __commonJS({ + "node_modules/object.entries/shim.js"(exports, module2) { + "use strict"; + var getPolyfill = require_polyfill(); + var define = require_define_properties(); + module2.exports = function shimEntries() { + var polyfill = getPolyfill(); + define(Object, { entries: polyfill }, { + entries: function testEntries() { + return Object.entries !== polyfill; + } + }); + return polyfill; + }; + } +}); + +// node_modules/object.entries/index.js +var require_object = __commonJS({ + "node_modules/object.entries/index.js"(exports, module2) { + "use strict"; + var define = require_define_properties(); + var callBind = require_call_bind(); + var implementation = require_implementation3(); + var getPolyfill = require_polyfill(); + var shim = require_shim(); + var polyfill = callBind(getPolyfill(), Object); + define(polyfill, { + getPolyfill, + implementation, + shim + }); + module2.exports = polyfill; + } +}); + +// node_modules/is-callable/index.js +var require_is_callable = __commonJS({ + "node_modules/is-callable/index.js"(exports, module2) { + "use strict"; + var fnToStr = Function.prototype.toString; + var reflectApply = typeof Reflect === "object" && Reflect !== null && Reflect.apply; + var badArrayLike; + var isCallableMarker; + if (typeof reflectApply === "function" && typeof Object.defineProperty === "function") { + try { + badArrayLike = Object.defineProperty({}, "length", { + get: function() { + throw isCallableMarker; + } + }); + isCallableMarker = {}; + reflectApply(function() { + throw 42; + }, null, badArrayLike); + } catch (_) { + if (_ !== isCallableMarker) { + reflectApply = null; + } + } + } else { + reflectApply = null; + } + var constructorRegex = /^\s*class\b/; + var isES6ClassFn = function isES6ClassFunction(value) { + try { + var fnStr = fnToStr.call(value); + return constructorRegex.test(fnStr); + } catch (e) { + return false; + } + }; + var tryFunctionObject = function tryFunctionToStr(value) { + try { + if (isES6ClassFn(value)) { + return false; + } + fnToStr.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var objectClass = "[object Object]"; + var fnClass = "[object Function]"; + var genClass = "[object GeneratorFunction]"; + var ddaClass = "[object HTMLAllCollection]"; + var ddaClass2 = "[object HTML document.all class]"; + var ddaClass3 = "[object HTMLCollection]"; + var hasToStringTag = typeof Symbol === "function" && !!Symbol.toStringTag; + var isIE68 = !(0 in [,]); + var isDDA = function isDocumentDotAll() { + return false; + }; + if (typeof document === "object") { + all = document.all; + if (toStr.call(all) === toStr.call(document.all)) { + isDDA = function isDocumentDotAll(value) { + if ((isIE68 || !value) && (typeof value === "undefined" || typeof value === "object")) { + try { + var str = toStr.call(value); + return (str === ddaClass || str === ddaClass2 || str === ddaClass3 || str === objectClass) && value("") == null; + } catch (e) { + } + } + return false; + }; + } + } + var all; + module2.exports = reflectApply ? function isCallable(value) { + if (isDDA(value)) { + return true; + } + if (!value) { + return false; + } + if (typeof value !== "function" && typeof value !== "object") { + return false; + } + try { + reflectApply(value, null, badArrayLike); + } catch (e) { + if (e !== isCallableMarker) { + return false; + } + } + return !isES6ClassFn(value) && tryFunctionObject(value); + } : function isCallable(value) { + if (isDDA(value)) { + return true; + } + if (!value) { + return false; + } + if (typeof value !== "function" && typeof value !== "object") { + return false; + } + if (hasToStringTag) { + return tryFunctionObject(value); + } + if (isES6ClassFn(value)) { + return false; + } + var strClass = toStr.call(value); + if (strClass !== fnClass && strClass !== genClass && !/^\[object HTML/.test(strClass)) { + return false; + } + return tryFunctionObject(value); + }; + } +}); + +// node_modules/for-each/index.js +var require_for_each = __commonJS({ + "node_modules/for-each/index.js"(exports, module2) { + "use strict"; + var isCallable = require_is_callable(); + var toStr = Object.prototype.toString; + var hasOwnProperty = Object.prototype.hasOwnProperty; + var forEachArray = function forEachArray2(array, iterator, receiver) { + for (var i = 0, len = array.length; i < len; i++) { + if (hasOwnProperty.call(array, i)) { + if (receiver == null) { + iterator(array[i], i, array); + } else { + iterator.call(receiver, array[i], i, array); + } + } + } + }; + var forEachString = function forEachString2(string2, iterator, receiver) { + for (var i = 0, len = string2.length; i < len; i++) { + if (receiver == null) { + iterator(string2.charAt(i), i, string2); + } else { + iterator.call(receiver, string2.charAt(i), i, string2); + } + } + }; + var forEachObject = function forEachObject2(object2, iterator, receiver) { + for (var k in object2) { + if (hasOwnProperty.call(object2, k)) { + if (receiver == null) { + iterator(object2[k], k, object2); + } else { + iterator.call(receiver, object2[k], k, object2); + } + } + } + }; + var forEach = function forEach2(list, iterator, thisArg) { + if (!isCallable(iterator)) { + throw new TypeError("iterator must be a function"); + } + var receiver; + if (arguments.length >= 3) { + receiver = thisArg; + } + if (toStr.call(list) === "[object Array]") { + forEachArray(list, iterator, receiver); + } else if (typeof list === "string") { + forEachString(list, iterator, receiver); + } else { + forEachObject(list, iterator, receiver); + } + }; + module2.exports = forEach; + } +}); + +// node_modules/es-abstract/helpers/records/property-descriptor.js +var require_property_descriptor = __commonJS({ + "node_modules/es-abstract/helpers/records/property-descriptor.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var hasOwn = require_hasown(); + var allowed = { + __proto__: null, + "[[Configurable]]": true, + "[[Enumerable]]": true, + "[[Get]]": true, + "[[Set]]": true, + "[[Value]]": true, + "[[Writable]]": true + }; + module2.exports = function isPropertyDescriptor(Desc) { + if (!Desc || typeof Desc !== "object") { + return false; + } + for (var key in Desc) { + if (hasOwn(Desc, key) && !allowed[key]) { + return false; + } + } + var isData = hasOwn(Desc, "[[Value]]") || hasOwn(Desc, "[[Writable]]"); + var IsAccessor = hasOwn(Desc, "[[Get]]") || hasOwn(Desc, "[[Set]]"); + if (isData && IsAccessor) { + throw new $TypeError("Property Descriptors may not be both accessor and data descriptors"); + } + return true; + }; + } +}); + +// node_modules/es-abstract/helpers/DefineOwnProperty.js +var require_DefineOwnProperty = __commonJS({ + "node_modules/es-abstract/helpers/DefineOwnProperty.js"(exports, module2) { + "use strict"; + var hasPropertyDescriptors = require_has_property_descriptors(); + var $defineProperty = require_es_define_property(); + var hasArrayLengthDefineBug = hasPropertyDescriptors.hasArrayLengthDefineBug(); + var isArray = hasArrayLengthDefineBug && require_IsArray(); + var callBound = require_callBound(); + var $isEnumerable = callBound("Object.prototype.propertyIsEnumerable"); + module2.exports = function DefineOwnProperty(IsDataDescriptor, SameValue, FromPropertyDescriptor, O, P, desc) { + if (!$defineProperty) { + if (!IsDataDescriptor(desc)) { + return false; + } + if (!desc["[[Configurable]]"] || !desc["[[Writable]]"]) { + return false; + } + if (P in O && $isEnumerable(O, P) !== !!desc["[[Enumerable]]"]) { + return false; + } + var V = desc["[[Value]]"]; + O[P] = V; + return SameValue(O[P], V); + } + if (hasArrayLengthDefineBug && P === "length" && "[[Value]]" in desc && isArray(O) && O.length !== desc["[[Value]]"]) { + O.length = desc["[[Value]]"]; + return O.length === desc["[[Value]]"]; + } + $defineProperty(O, P, FromPropertyDescriptor(desc)); + return true; + }; + } +}); + +// node_modules/es-abstract/helpers/fromPropertyDescriptor.js +var require_fromPropertyDescriptor = __commonJS({ + "node_modules/es-abstract/helpers/fromPropertyDescriptor.js"(exports, module2) { + "use strict"; + module2.exports = function fromPropertyDescriptor(Desc) { + if (typeof Desc === "undefined") { + return Desc; + } + var obj = {}; + if ("[[Value]]" in Desc) { + obj.value = Desc["[[Value]]"]; + } + if ("[[Writable]]" in Desc) { + obj.writable = !!Desc["[[Writable]]"]; + } + if ("[[Get]]" in Desc) { + obj.get = Desc["[[Get]]"]; + } + if ("[[Set]]" in Desc) { + obj.set = Desc["[[Set]]"]; + } + if ("[[Enumerable]]" in Desc) { + obj.enumerable = !!Desc["[[Enumerable]]"]; + } + if ("[[Configurable]]" in Desc) { + obj.configurable = !!Desc["[[Configurable]]"]; + } + return obj; + }; + } +}); + +// node_modules/es-abstract/2023/FromPropertyDescriptor.js +var require_FromPropertyDescriptor = __commonJS({ + "node_modules/es-abstract/2023/FromPropertyDescriptor.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var isPropertyDescriptor = require_property_descriptor(); + var fromPropertyDescriptor = require_fromPropertyDescriptor(); + module2.exports = function FromPropertyDescriptor(Desc) { + if (typeof Desc !== "undefined" && !isPropertyDescriptor(Desc)) { + throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor"); + } + return fromPropertyDescriptor(Desc); + }; + } +}); + +// node_modules/es-abstract/2023/IsDataDescriptor.js +var require_IsDataDescriptor = __commonJS({ + "node_modules/es-abstract/2023/IsDataDescriptor.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var hasOwn = require_hasown(); + var isPropertyDescriptor = require_property_descriptor(); + module2.exports = function IsDataDescriptor(Desc) { + if (typeof Desc === "undefined") { + return false; + } + if (!isPropertyDescriptor(Desc)) { + throw new $TypeError("Assertion failed: `Desc` must be a Property Descriptor"); + } + if (!hasOwn(Desc, "[[Value]]") && !hasOwn(Desc, "[[Writable]]")) { + return false; + } + return true; + }; + } +}); + +// node_modules/es-abstract/2023/IsPropertyKey.js +var require_IsPropertyKey = __commonJS({ + "node_modules/es-abstract/2023/IsPropertyKey.js"(exports, module2) { + "use strict"; + module2.exports = function IsPropertyKey(argument) { + return typeof argument === "string" || typeof argument === "symbol"; + }; + } +}); + +// node_modules/es-abstract/helpers/isNaN.js +var require_isNaN = __commonJS({ + "node_modules/es-abstract/helpers/isNaN.js"(exports, module2) { + "use strict"; + module2.exports = Number.isNaN || function isNaN2(a) { + return a !== a; + }; + } +}); + +// node_modules/es-abstract/2023/SameValue.js +var require_SameValue = __commonJS({ + "node_modules/es-abstract/2023/SameValue.js"(exports, module2) { + "use strict"; + var $isNaN = require_isNaN(); + module2.exports = function SameValue(x, y) { + if (x === y) { + if (x === 0) { + return 1 / x === 1 / y; + } + return true; + } + return $isNaN(x) && $isNaN(y); + }; + } +}); + +// node_modules/es-abstract/2023/ToBoolean.js +var require_ToBoolean = __commonJS({ + "node_modules/es-abstract/2023/ToBoolean.js"(exports, module2) { + "use strict"; + module2.exports = function ToBoolean(value) { + return !!value; + }; + } +}); + +// node_modules/es-abstract/2023/IsCallable.js +var require_IsCallable = __commonJS({ + "node_modules/es-abstract/2023/IsCallable.js"(exports, module2) { + "use strict"; + module2.exports = require_is_callable(); + } +}); + +// node_modules/es-abstract/2023/ToPropertyDescriptor.js +var require_ToPropertyDescriptor = __commonJS({ + "node_modules/es-abstract/2023/ToPropertyDescriptor.js"(exports, module2) { + "use strict"; + var hasOwn = require_hasown(); + var $TypeError = require_type(); + var Type = require_Type2(); + var ToBoolean = require_ToBoolean(); + var IsCallable = require_IsCallable(); + module2.exports = function ToPropertyDescriptor(Obj) { + if (Type(Obj) !== "Object") { + throw new $TypeError("ToPropertyDescriptor requires an object"); + } + var desc = {}; + if (hasOwn(Obj, "enumerable")) { + desc["[[Enumerable]]"] = ToBoolean(Obj.enumerable); + } + if (hasOwn(Obj, "configurable")) { + desc["[[Configurable]]"] = ToBoolean(Obj.configurable); + } + if (hasOwn(Obj, "value")) { + desc["[[Value]]"] = Obj.value; + } + if (hasOwn(Obj, "writable")) { + desc["[[Writable]]"] = ToBoolean(Obj.writable); + } + if (hasOwn(Obj, "get")) { + var getter = Obj.get; + if (typeof getter !== "undefined" && !IsCallable(getter)) { + throw new $TypeError("getter must be a function"); + } + desc["[[Get]]"] = getter; + } + if (hasOwn(Obj, "set")) { + var setter = Obj.set; + if (typeof setter !== "undefined" && !IsCallable(setter)) { + throw new $TypeError("setter must be a function"); + } + desc["[[Set]]"] = setter; + } + if ((hasOwn(desc, "[[Get]]") || hasOwn(desc, "[[Set]]")) && (hasOwn(desc, "[[Value]]") || hasOwn(desc, "[[Writable]]"))) { + throw new $TypeError("Invalid property descriptor. Cannot both specify accessors and a value or writable attribute"); + } + return desc; + }; + } +}); + +// node_modules/es-abstract/2023/DefinePropertyOrThrow.js +var require_DefinePropertyOrThrow = __commonJS({ + "node_modules/es-abstract/2023/DefinePropertyOrThrow.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var isPropertyDescriptor = require_property_descriptor(); + var DefineOwnProperty = require_DefineOwnProperty(); + var FromPropertyDescriptor = require_FromPropertyDescriptor(); + var IsDataDescriptor = require_IsDataDescriptor(); + var IsPropertyKey = require_IsPropertyKey(); + var SameValue = require_SameValue(); + var ToPropertyDescriptor = require_ToPropertyDescriptor(); + var Type = require_Type2(); + module2.exports = function DefinePropertyOrThrow(O, P, desc) { + if (Type(O) !== "Object") { + throw new $TypeError("Assertion failed: Type(O) is not Object"); + } + if (!IsPropertyKey(P)) { + throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true"); + } + var Desc = isPropertyDescriptor(desc) ? desc : ToPropertyDescriptor(desc); + if (!isPropertyDescriptor(Desc)) { + throw new $TypeError("Assertion failed: Desc is not a valid Property Descriptor"); + } + return DefineOwnProperty( + IsDataDescriptor, + SameValue, + FromPropertyDescriptor, + O, + P, + Desc + ); + }; + } +}); + +// node_modules/es-set/lib/helpers.js +var require_helpers = __commonJS({ + "node_modules/es-set/lib/helpers.js"(exports) { + "use strict"; + var hasSymbols = require_has_symbols()(); + var SLOT = require_internal_slot(); + var entries = require_object(); + var forEach = require_for_each(); + var GetIntrinsic = require_get_intrinsic(); + var DefinePropertyOrThrow = require_DefinePropertyOrThrow(); + var OrdinaryObjectCreate = require_OrdinaryObjectCreate(); + var Type = require_Type2(); + var $ObjectCreate = GetIntrinsic("%Object.create%", true); + var hasProto = !({ __proto__: null } instanceof Object); + exports.emptyObject = function() { + if ($ObjectCreate) { + return $ObjectCreate(null); + } + if (hasProto) { + return { __proto__: null }; + } + return {}; + }; + exports.emulateES6construct = function(o, defaultNewTarget, defaultProto, slots) { + if (Type(o) !== "Object") { + throw new TypeError("Constructor requires `new`: " + defaultNewTarget.name); + } + var proto = defaultNewTarget.prototype; + if (Type(proto) !== "Object") { + proto = defaultProto; + } + var obj = OrdinaryObjectCreate(proto); + forEach(entries(slots), function(entry) { + var key = entry[0]; + var value = entry[1]; + SLOT.set(obj, key, value); + }); + return obj; + }; + var $iterator$ = hasSymbols && Type(Symbol.iterator) === "Symbol" ? Symbol.iterator : "_es6-shim iterator_"; + if (typeof []["@@iterator"] === "function") { + $iterator$ = "@@iterator"; + } + exports.addIterator = function(prototype, impl) { + var implementation = impl || function iterator() { + return this; + }; + DefinePropertyOrThrow(prototype, $iterator$, { + "[[Configurable]]": true, + "[[Enumerable]]": false, + "[[Value]]": implementation, + "[[Writable]]": true + }); + if (!prototype[$iterator$] && Type($iterator$) === "Symbol") { + prototype[$iterator$] = implementation; + } + }; + } +}); + +// node_modules/es-set/lib/set-iterator.js +var require_set_iterator = __commonJS({ + "node_modules/es-set/lib/set-iterator.js"(exports, module2) { + "use strict"; + var define = require_define_properties(); + var setToStringTag = require_es_set_tostringtag(); + var SLOT = require_internal_slot(); + var GetIntrinsic = require_get_intrinsic(); + var OrdinaryObjectCreate = require_OrdinaryObjectCreate(); + var addIterator = require_helpers().addIterator; + var SetIterator = function SetIterator2(it) { + SLOT.set(this, "[[isSetIterator]]", true); + SLOT.set(this, "[[it]]", it); + }; + var IteratorPrototype = GetIntrinsic("%IteratorPrototype%", true); + if (IteratorPrototype) { + SetIterator.prototype = OrdinaryObjectCreate(IteratorPrototype); + } + addIterator(SetIterator.prototype); + define(SetIterator.prototype, { + next: function next() { + if (!SLOT.has(this, "[[isSetIterator]]")) { + throw new TypeError("Not a SetIterator"); + } + return SLOT.get(this, "[[it]]").next(); + } + }); + setToStringTag(SetIterator.prototype, "Set Iterator"); + module2.exports = SetIterator; + } +}); + +// node_modules/es-abstract/2023/Call.js +var require_Call = __commonJS({ + "node_modules/es-abstract/2023/Call.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var $TypeError = require_type(); + var IsArray = require_IsArray2(); + var $apply = GetIntrinsic("%Reflect.apply%", true) || callBound("Function.prototype.apply"); + module2.exports = function Call(F, V) { + var argumentsList = arguments.length > 2 ? arguments[2] : []; + if (!IsArray(argumentsList)) { + throw new $TypeError("Assertion failed: optional `argumentsList`, if provided, must be a List"); + } + return $apply(F, V, argumentsList); + }; + } +}); + +// node_modules/es-abstract/helpers/isLeadingSurrogate.js +var require_isLeadingSurrogate = __commonJS({ + "node_modules/es-abstract/helpers/isLeadingSurrogate.js"(exports, module2) { + "use strict"; + module2.exports = function isLeadingSurrogate(charCode) { + return typeof charCode === "number" && charCode >= 55296 && charCode <= 56319; + }; + } +}); + +// node_modules/es-abstract/helpers/isTrailingSurrogate.js +var require_isTrailingSurrogate = __commonJS({ + "node_modules/es-abstract/helpers/isTrailingSurrogate.js"(exports, module2) { + "use strict"; + module2.exports = function isTrailingSurrogate(charCode) { + return typeof charCode === "number" && charCode >= 56320 && charCode <= 57343; + }; + } +}); + +// node_modules/es-abstract/2023/UTF16SurrogatePairToCodePoint.js +var require_UTF16SurrogatePairToCodePoint = __commonJS({ + "node_modules/es-abstract/2023/UTF16SurrogatePairToCodePoint.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $TypeError = require_type(); + var $fromCharCode = GetIntrinsic("%String.fromCharCode%"); + var isLeadingSurrogate = require_isLeadingSurrogate(); + var isTrailingSurrogate = require_isTrailingSurrogate(); + module2.exports = function UTF16SurrogatePairToCodePoint(lead, trail) { + if (!isLeadingSurrogate(lead) || !isTrailingSurrogate(trail)) { + throw new $TypeError("Assertion failed: `lead` must be a leading surrogate char code, and `trail` must be a trailing surrogate char code"); + } + return $fromCharCode(lead) + $fromCharCode(trail); + }; + } +}); + +// node_modules/es-abstract/2023/CodePointAt.js +var require_CodePointAt = __commonJS({ + "node_modules/es-abstract/2023/CodePointAt.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var callBound = require_callBound(); + var isLeadingSurrogate = require_isLeadingSurrogate(); + var isTrailingSurrogate = require_isTrailingSurrogate(); + var UTF16SurrogatePairToCodePoint = require_UTF16SurrogatePairToCodePoint(); + var $charAt = callBound("String.prototype.charAt"); + var $charCodeAt = callBound("String.prototype.charCodeAt"); + module2.exports = function CodePointAt(string2, position) { + if (typeof string2 !== "string") { + throw new $TypeError("Assertion failed: `string` must be a String"); + } + var size = string2.length; + if (position < 0 || position >= size) { + throw new $TypeError("Assertion failed: `position` must be >= 0, and < the length of `string`"); + } + var first = $charCodeAt(string2, position); + var cp = $charAt(string2, position); + var firstIsLeading = isLeadingSurrogate(first); + var firstIsTrailing = isTrailingSurrogate(first); + if (!firstIsLeading && !firstIsTrailing) { + return { + "[[CodePoint]]": cp, + "[[CodeUnitCount]]": 1, + "[[IsUnpairedSurrogate]]": false + }; + } + if (firstIsTrailing || position + 1 === size) { + return { + "[[CodePoint]]": cp, + "[[CodeUnitCount]]": 1, + "[[IsUnpairedSurrogate]]": true + }; + } + var second = $charCodeAt(string2, position + 1); + if (!isTrailingSurrogate(second)) { + return { + "[[CodePoint]]": cp, + "[[CodeUnitCount]]": 1, + "[[IsUnpairedSurrogate]]": true + }; + } + return { + "[[CodePoint]]": UTF16SurrogatePairToCodePoint(first, second), + "[[CodeUnitCount]]": 2, + "[[IsUnpairedSurrogate]]": false + }; + }; + } +}); + +// node_modules/es-abstract/helpers/isFinite.js +var require_isFinite = __commonJS({ + "node_modules/es-abstract/helpers/isFinite.js"(exports, module2) { + "use strict"; + var $isNaN = require_isNaN(); + module2.exports = function(x) { + return (typeof x === "number" || typeof x === "bigint") && !$isNaN(x) && x !== Infinity && x !== -Infinity; + }; + } +}); + +// node_modules/es-abstract/helpers/isInteger.js +var require_isInteger = __commonJS({ + "node_modules/es-abstract/helpers/isInteger.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $abs = GetIntrinsic("%Math.abs%"); + var $floor = GetIntrinsic("%Math.floor%"); + var $isNaN = require_isNaN(); + var $isFinite = require_isFinite(); + module2.exports = function isInteger(argument) { + if (typeof argument !== "number" || $isNaN(argument) || !$isFinite(argument)) { + return false; + } + var absValue = $abs(argument); + return $floor(absValue) === absValue; + }; + } +}); + +// node_modules/es-abstract/helpers/maxSafeInteger.js +var require_maxSafeInteger = __commonJS({ + "node_modules/es-abstract/helpers/maxSafeInteger.js"(exports, module2) { + "use strict"; + module2.exports = Number.MAX_SAFE_INTEGER || 9007199254740991; + } +}); + +// node_modules/es-abstract/2023/AdvanceStringIndex.js +var require_AdvanceStringIndex = __commonJS({ + "node_modules/es-abstract/2023/AdvanceStringIndex.js"(exports, module2) { + "use strict"; + var CodePointAt = require_CodePointAt(); + var isInteger = require_isInteger(); + var MAX_SAFE_INTEGER = require_maxSafeInteger(); + var $TypeError = require_type(); + module2.exports = function AdvanceStringIndex(S, index, unicode) { + if (typeof S !== "string") { + throw new $TypeError("Assertion failed: `S` must be a String"); + } + if (!isInteger(index) || index < 0 || index > MAX_SAFE_INTEGER) { + throw new $TypeError("Assertion failed: `length` must be an integer >= 0 and <= 2**53"); + } + if (typeof unicode !== "boolean") { + throw new $TypeError("Assertion failed: `unicode` must be a Boolean"); + } + if (!unicode) { + return index + 1; + } + var length = S.length; + if (index + 1 >= length) { + return index + 1; + } + var cp = CodePointAt(S, index); + return index + cp["[[CodeUnitCount]]"]; + }; + } +}); + +// node_modules/es-abstract/2023/CreateIterResultObject.js +var require_CreateIterResultObject = __commonJS({ + "node_modules/es-abstract/2023/CreateIterResultObject.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + module2.exports = function CreateIterResultObject(value, done) { + if (typeof done !== "boolean") { + throw new $TypeError("Assertion failed: Type(done) is not Boolean"); + } + return { + value, + done + }; + }; + } +}); + +// node_modules/es-abstract/2023/Get.js +var require_Get = __commonJS({ + "node_modules/es-abstract/2023/Get.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var inspect = require_object_inspect(); + var IsPropertyKey = require_IsPropertyKey(); + var Type = require_Type2(); + module2.exports = function Get(O, P) { + if (Type(O) !== "Object") { + throw new $TypeError("Assertion failed: Type(O) is not Object"); + } + if (!IsPropertyKey(P)) { + throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true, got " + inspect(P)); + } + return O[P]; + }; + } +}); + +// node_modules/es-abstract/2023/IteratorComplete.js +var require_IteratorComplete = __commonJS({ + "node_modules/es-abstract/2023/IteratorComplete.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Get = require_Get(); + var ToBoolean = require_ToBoolean(); + var Type = require_Type2(); + module2.exports = function IteratorComplete(iterResult) { + if (Type(iterResult) !== "Object") { + throw new $TypeError("Assertion failed: Type(iterResult) is not Object"); + } + return ToBoolean(Get(iterResult, "done")); + }; + } +}); + +// node_modules/es-abstract/2023/IteratorValue.js +var require_IteratorValue = __commonJS({ + "node_modules/es-abstract/2023/IteratorValue.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Get = require_Get(); + var Type = require_Type2(); + module2.exports = function IteratorValue(iterResult) { + if (Type(iterResult) !== "Object") { + throw new $TypeError("Assertion failed: Type(iterResult) is not Object"); + } + return Get(iterResult, "value"); + }; + } +}); + +// node_modules/es-abstract/2023/PromiseResolve.js +var require_PromiseResolve = __commonJS({ + "node_modules/es-abstract/2023/PromiseResolve.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBind = require_call_bind(); + var $SyntaxError = require_syntax(); + var $resolve = GetIntrinsic("%Promise.resolve%", true); + var $PromiseResolve = $resolve && callBind($resolve); + module2.exports = function PromiseResolve(C, x) { + if (!$PromiseResolve) { + throw new $SyntaxError("This environment does not support Promises."); + } + return $PromiseResolve(C, x); + }; + } +}); + +// node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js +var require_AsyncFromSyncIteratorContinuation = __commonJS({ + "node_modules/es-abstract/2023/AsyncFromSyncIteratorContinuation.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $SyntaxError = require_syntax(); + var $TypeError = require_type(); + var $Promise = GetIntrinsic("%Promise%", true); + var callBound = require_callBound(); + var CreateIterResultObject = require_CreateIterResultObject(); + var IteratorComplete = require_IteratorComplete(); + var IteratorValue = require_IteratorValue(); + var PromiseResolve = require_PromiseResolve(); + var Type = require_Type2(); + var $then = callBound("Promise.prototype.then", true); + module2.exports = function AsyncFromSyncIteratorContinuation(result) { + if (Type(result) !== "Object") { + throw new $TypeError("Assertion failed: Type(O) is not Object"); + } + if (arguments.length > 1) { + throw new $SyntaxError("although AsyncFromSyncIteratorContinuation should take a second argument, it is not used in this implementation"); + } + if (!$Promise) { + throw new $SyntaxError("This environment does not support Promises."); + } + return new $Promise(function(resolve) { + var done = IteratorComplete(result); + var value = IteratorValue(result); + var valueWrapper = PromiseResolve($Promise, value); + var onFulfilled = function(value2) { + return CreateIterResultObject(value2, done); + }; + resolve($then(valueWrapper, onFulfilled)); + }); + }; + } +}); + +// node_modules/es-abstract/2023/GetV.js +var require_GetV = __commonJS({ + "node_modules/es-abstract/2023/GetV.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var inspect = require_object_inspect(); + var IsPropertyKey = require_IsPropertyKey(); + module2.exports = function GetV(V, P) { + if (!IsPropertyKey(P)) { + throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true, got " + inspect(P)); + } + return V[P]; + }; + } +}); + +// node_modules/es-abstract/2023/GetMethod.js +var require_GetMethod = __commonJS({ + "node_modules/es-abstract/2023/GetMethod.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var GetV = require_GetV(); + var IsCallable = require_IsCallable(); + var IsPropertyKey = require_IsPropertyKey(); + var inspect = require_object_inspect(); + module2.exports = function GetMethod(O, P) { + if (!IsPropertyKey(P)) { + throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true"); + } + var func = GetV(O, P); + if (func == null) { + return void 0; + } + if (!IsCallable(func)) { + throw new $TypeError(inspect(P) + " is not a function: " + inspect(func)); + } + return func; + }; + } +}); + +// node_modules/es-abstract/helpers/records/iterator-record.js +var require_iterator_record = __commonJS({ + "node_modules/es-abstract/helpers/records/iterator-record.js"(exports, module2) { + "use strict"; + var hasOwn = require_hasown(); + module2.exports = function isIteratorRecord(value) { + return !!value && typeof value === "object" && hasOwn(value, "[[Iterator]]") && hasOwn(value, "[[NextMethod]]") && typeof value["[[NextMethod]]"] === "function" && hasOwn(value, "[[Done]]") && typeof value["[[Done]]"] === "boolean"; + }; + } +}); + +// node_modules/es-abstract/2023/IteratorNext.js +var require_IteratorNext = __commonJS({ + "node_modules/es-abstract/2023/IteratorNext.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Call = require_Call(); + var Type = require_Type2(); + var isIteratorRecord = require_iterator_record(); + module2.exports = function IteratorNext(iteratorRecord) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError("Assertion failed: `iteratorRecord` must be an Iterator Record"); + } + var result; + if (arguments.length < 2) { + result = Call(iteratorRecord["[[NextMethod]]"], iteratorRecord["[[Iterator]]"]); + } else { + result = Call(iteratorRecord["[[NextMethod]]"], iteratorRecord["[[Iterator]]"], [arguments[1]]); + } + if (Type(result) !== "Object") { + throw new $TypeError("iterator next must return an object"); + } + return result; + }; + } +}); + +// node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js +var require_CreateAsyncFromSyncIterator = __commonJS({ + "node_modules/es-abstract/2023/CreateAsyncFromSyncIterator.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $SyntaxError = require_syntax(); + var $TypeError = require_type(); + var $Promise = GetIntrinsic("%Promise%", true); + var AsyncFromSyncIteratorContinuation = require_AsyncFromSyncIteratorContinuation(); + var Call = require_Call(); + var CreateIterResultObject = require_CreateIterResultObject(); + var Get = require_Get(); + var GetMethod = require_GetMethod(); + var IteratorNext = require_IteratorNext(); + var OrdinaryObjectCreate = require_OrdinaryObjectCreate(); + var Type = require_Type2(); + var SLOT = require_internal_slot(); + var isIteratorRecord = require_iterator_record(); + var $AsyncFromSyncIteratorPrototype = GetIntrinsic("%AsyncFromSyncIteratorPrototype%", true) || { + next: function next(value) { + if (!$Promise) { + throw new $SyntaxError("This environment does not support Promises."); + } + var O = this; + SLOT.assert(O, "[[SyncIteratorRecord]]"); + var argsLength = arguments.length; + return new $Promise(function(resolve) { + var syncIteratorRecord = SLOT.get(O, "[[SyncIteratorRecord]]"); + var result; + if (argsLength > 0) { + result = IteratorNext(syncIteratorRecord, value); + } else { + result = IteratorNext(syncIteratorRecord); + } + resolve(AsyncFromSyncIteratorContinuation(result)); + }); + }, + "return": function() { + if (!$Promise) { + throw new $SyntaxError("This environment does not support Promises."); + } + var O = this; + SLOT.assert(O, "[[SyncIteratorRecord]]"); + var valueIsPresent = arguments.length > 0; + var value = valueIsPresent ? arguments[0] : void 0; + return new $Promise(function(resolve, reject) { + var syncIterator = SLOT.get(O, "[[SyncIteratorRecord]]")["[[Iterator]]"]; + var iteratorReturn = GetMethod(syncIterator, "return"); + if (typeof iteratorReturn === "undefined") { + var iterResult = CreateIterResultObject(value, true); + Call(resolve, void 0, [iterResult]); + return; + } + var result; + if (valueIsPresent) { + result = Call(iteratorReturn, syncIterator, [value]); + } else { + result = Call(iteratorReturn, syncIterator); + } + if (Type(result) !== "Object") { + Call(reject, void 0, [new $TypeError("Iterator `return` method returned a non-object value.")]); + return; + } + resolve(AsyncFromSyncIteratorContinuation(result)); + }); + }, + "throw": function() { + if (!$Promise) { + throw new $SyntaxError("This environment does not support Promises."); + } + var O = this; + SLOT.assert(O, "[[SyncIteratorRecord]]"); + var valueIsPresent = arguments.length > 0; + var value = valueIsPresent ? arguments[0] : void 0; + return new $Promise(function(resolve, reject) { + var syncIterator = SLOT.get(O, "[[SyncIteratorRecord]]")["[[Iterator]]"]; + var throwMethod = GetMethod(syncIterator, "throw"); + if (typeof throwMethod === "undefined") { + Call(reject, void 0, [value]); + return; + } + var result; + if (valueIsPresent) { + result = Call(throwMethod, syncIterator, [value]); + } else { + result = Call(throwMethod, syncIterator); + } + if (Type(result) !== "Object") { + Call(reject, void 0, [new $TypeError("Iterator `throw` method returned a non-object value.")]); + return; + } + resolve(AsyncFromSyncIteratorContinuation( + result + /* , promiseCapability */ + )); + }); + } + }; + module2.exports = function CreateAsyncFromSyncIterator(syncIteratorRecord) { + if (!isIteratorRecord(syncIteratorRecord)) { + throw new $TypeError("Assertion failed: `syncIteratorRecord` must be an Iterator Record"); + } + var asyncIterator = OrdinaryObjectCreate($AsyncFromSyncIteratorPrototype); + SLOT.set(asyncIterator, "[[SyncIteratorRecord]]", syncIteratorRecord); + var nextMethod = Get(asyncIterator, "next"); + return { + // steps 3-4 + "[[Iterator]]": asyncIterator, + "[[NextMethod]]": nextMethod, + "[[Done]]": false + }; + }; + } +}); + +// node_modules/es-abstract/2023/GetIteratorFromMethod.js +var require_GetIteratorFromMethod = __commonJS({ + "node_modules/es-abstract/2023/GetIteratorFromMethod.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Call = require_Call(); + var GetV = require_GetV(); + var IsCallable = require_IsCallable(); + var Type = require_Type2(); + module2.exports = function GetIteratorFromMethod(obj, method) { + if (!IsCallable(method)) { + throw new $TypeError("method must be a function"); + } + var iterator = Call(method, obj); + if (Type(iterator) !== "Object") { + throw new $TypeError("iterator must return an object"); + } + var nextMethod = GetV(iterator, "next"); + return { + // steps 4-5 + "[[Iterator]]": iterator, + "[[NextMethod]]": nextMethod, + "[[Done]]": false + }; + }; + } +}); + +// node_modules/is-string/index.js +var require_is_string = __commonJS({ + "node_modules/is-string/index.js"(exports, module2) { + "use strict"; + var strValue = String.prototype.valueOf; + var tryStringObject = function tryStringObject2(value) { + try { + strValue.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var strClass = "[object String]"; + var hasToStringTag = require_shams2()(); + module2.exports = function isString(value) { + if (typeof value === "string") { + return true; + } + if (typeof value !== "object") { + return false; + } + return hasToStringTag ? tryStringObject(value) : toStr.call(value) === strClass; + }; + } +}); + +// node_modules/es-abstract/helpers/getIteratorMethod.js +var require_getIteratorMethod = __commonJS({ + "node_modules/es-abstract/helpers/getIteratorMethod.js"(exports, module2) { + "use strict"; + var hasSymbols = require_has_symbols()(); + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var isString = require_is_string(); + var $iterator = GetIntrinsic("%Symbol.iterator%", true); + var $stringSlice = callBound("String.prototype.slice"); + var $String = GetIntrinsic("%String%"); + module2.exports = function getIteratorMethod(ES, iterable) { + var usingIterator; + if (hasSymbols) { + usingIterator = ES.GetMethod(iterable, $iterator); + } else if (ES.IsArray(iterable)) { + usingIterator = function() { + var i = -1; + var arr = this; + return { + next: function() { + i += 1; + return { + done: i >= arr.length, + value: arr[i] + }; + } + }; + }; + } else if (isString(iterable)) { + usingIterator = function() { + var i = 0; + return { + next: function() { + var nextIndex = ES.AdvanceStringIndex($String(iterable), i, true); + var value = $stringSlice(iterable, i, nextIndex); + i = nextIndex; + return { + done: nextIndex > iterable.length, + value + }; + } + }; + }; + } + return usingIterator; + }; + } +}); + +// node_modules/es-abstract/2023/GetIterator.js +var require_GetIterator = __commonJS({ + "node_modules/es-abstract/2023/GetIterator.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $TypeError = require_type(); + var $asyncIterator = GetIntrinsic("%Symbol.asyncIterator%", true); + var inspect = require_object_inspect(); + var hasSymbols = require_has_symbols()(); + var AdvanceStringIndex = require_AdvanceStringIndex(); + var CreateAsyncFromSyncIterator = require_CreateAsyncFromSyncIterator(); + var GetIteratorFromMethod = require_GetIteratorFromMethod(); + var GetMethod = require_GetMethod(); + var IsArray = require_IsArray2(); + var getIteratorMethod = require_getIteratorMethod(); + module2.exports = function GetIterator(obj, kind) { + if (kind !== "sync" && kind !== "async") { + throw new $TypeError("Assertion failed: `kind` must be one of 'sync' or 'async', got " + inspect(kind)); + } + var method; + if (kind === "async") { + if (hasSymbols && $asyncIterator) { + method = GetMethod(obj, $asyncIterator); + } + } + if (typeof method === "undefined") { + var syncMethod = getIteratorMethod( + { + AdvanceStringIndex, + GetMethod, + IsArray + }, + obj + ); + if (kind === "async") { + if (typeof syncMethod === "undefined") { + throw new $TypeError("iterator method is `undefined`"); + } + var syncIteratorRecord = GetIteratorFromMethod(obj, syncMethod); + return CreateAsyncFromSyncIterator(syncIteratorRecord); + } + method = syncMethod; + } + if (typeof method === "undefined") { + throw new $TypeError("iterator method is `undefined`"); + } + return GetIteratorFromMethod(obj, method); + }; + } +}); + +// node_modules/es-abstract/2023/CompletionRecord.js +var require_CompletionRecord = __commonJS({ + "node_modules/es-abstract/2023/CompletionRecord.js"(exports, module2) { + "use strict"; + var $SyntaxError = require_syntax(); + var SLOT = require_internal_slot(); + var CompletionRecord = function CompletionRecord2(type, value) { + if (!(this instanceof CompletionRecord2)) { + return new CompletionRecord2(type, value); + } + if (type !== "normal" && type !== "break" && type !== "continue" && type !== "return" && type !== "throw") { + throw new $SyntaxError('Assertion failed: `type` must be one of "normal", "break", "continue", "return", or "throw"'); + } + SLOT.set(this, "[[Type]]", type); + SLOT.set(this, "[[Value]]", value); + }; + CompletionRecord.prototype.type = function Type() { + return SLOT.get(this, "[[Type]]"); + }; + CompletionRecord.prototype.value = function Value() { + return SLOT.get(this, "[[Value]]"); + }; + CompletionRecord.prototype["?"] = function ReturnIfAbrupt() { + var type = SLOT.get(this, "[[Type]]"); + var value = SLOT.get(this, "[[Value]]"); + if (type === "normal") { + return value; + } + if (type === "throw") { + throw value; + } + throw new $SyntaxError('Completion Record is not of type "normal" or "throw": other types not supported'); + }; + CompletionRecord.prototype["!"] = function assert() { + var type = SLOT.get(this, "[[Type]]"); + if (type !== "normal") { + throw new $SyntaxError('Assertion failed: Completion Record is not of type "normal"'); + } + return SLOT.get(this, "[[Value]]"); + }; + module2.exports = CompletionRecord; + } +}); + +// node_modules/es-abstract/2023/IteratorClose.js +var require_IteratorClose = __commonJS({ + "node_modules/es-abstract/2023/IteratorClose.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Call = require_Call(); + var CompletionRecord = require_CompletionRecord(); + var GetMethod = require_GetMethod(); + var IsCallable = require_IsCallable(); + var Type = require_Type2(); + var isIteratorRecord = require_iterator_record(); + module2.exports = function IteratorClose(iteratorRecord, completion) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError("Assertion failed: `iteratorRecord` must be an Iterator Record"); + } + if (Type(iteratorRecord["[[Iterator]]"]) !== "Object") { + throw new $TypeError("Assertion failed: iteratorRecord.[[Iterator]] must be an Object"); + } + if (!IsCallable(completion) && !(completion instanceof CompletionRecord)) { + throw new $TypeError("Assertion failed: completion is not a thunk representing a Completion Record, nor a Completion Record instance"); + } + var completionThunk = completion instanceof CompletionRecord ? function() { + return completion["?"](); + } : completion; + var iterator = iteratorRecord["[[Iterator]]"]; + var iteratorReturn; + try { + iteratorReturn = GetMethod(iterator, "return"); + } catch (e) { + completionThunk(); + completionThunk = null; + throw e; + } + if (typeof iteratorReturn === "undefined") { + return completionThunk(); + } + var innerResult; + try { + innerResult = Call(iteratorReturn, iterator, []); + } catch (e) { + completionThunk(); + completionThunk = null; + throw e; + } + var completionRecord = completionThunk(); + completionThunk = null; + if (Type(innerResult) !== "Object") { + throw new $TypeError("iterator .return must return an object"); + } + return completionRecord; + }; + } +}); + +// node_modules/es-abstract/2023/IteratorStep.js +var require_IteratorStep = __commonJS({ + "node_modules/es-abstract/2023/IteratorStep.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var IteratorComplete = require_IteratorComplete(); + var IteratorNext = require_IteratorNext(); + var isIteratorRecord = require_iterator_record(); + module2.exports = function IteratorStep(iteratorRecord) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError("Assertion failed: `iteratorRecord` must be an Iterator Record"); + } + var result = IteratorNext(iteratorRecord); + var done = IteratorComplete(result); + return done === true ? false : result; + }; + } +}); + +// node_modules/es-abstract/2023/ToString.js +var require_ToString = __commonJS({ + "node_modules/es-abstract/2023/ToString.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $String = GetIntrinsic("%String%"); + var $TypeError = require_type(); + module2.exports = function ToString(argument) { + if (typeof argument === "symbol") { + throw new $TypeError("Cannot convert a Symbol value to a string"); + } + return $String(argument); + }; + } +}); + +// node_modules/es-abstract/2023/SameValueZero.js +var require_SameValueZero = __commonJS({ + "node_modules/es-abstract/2023/SameValueZero.js"(exports, module2) { + "use strict"; + var $isNaN = require_isNaN(); + module2.exports = function SameValueZero(x, y) { + return x === y || $isNaN(x) && $isNaN(y); + }; + } +}); + +// node_modules/es-map/lib/map-entry.js +var require_map_entry = __commonJS({ + "node_modules/es-map/lib/map-entry.js"(exports, module2) { + "use strict"; + var MapEntry = function MapEntry2(key, value) { + this.key = key; + this.value = value; + this.next = null; + this.prev = null; + }; + MapEntry.empty = {}; + MapEntry.prototype.isRemoved = function isRemoved() { + return this.key === MapEntry.empty; + }; + module2.exports = MapEntry; + } +}); + +// node_modules/es-abstract/2023/CreateMethodProperty.js +var require_CreateMethodProperty = __commonJS({ + "node_modules/es-abstract/2023/CreateMethodProperty.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var DefineOwnProperty = require_DefineOwnProperty(); + var FromPropertyDescriptor = require_FromPropertyDescriptor(); + var IsDataDescriptor = require_IsDataDescriptor(); + var IsPropertyKey = require_IsPropertyKey(); + var SameValue = require_SameValue(); + var Type = require_Type2(); + module2.exports = function CreateMethodProperty(O, P, V) { + if (Type(O) !== "Object") { + throw new $TypeError("Assertion failed: Type(O) is not Object"); + } + if (!IsPropertyKey(P)) { + throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true"); + } + var newDesc = { + "[[Configurable]]": true, + "[[Enumerable]]": false, + "[[Value]]": V, + "[[Writable]]": true + }; + return DefineOwnProperty( + IsDataDescriptor, + SameValue, + FromPropertyDescriptor, + O, + P, + newDesc + ); + }; + } +}); + +// node_modules/es-map/lib/validation.js +var require_validation = __commonJS({ + "node_modules/es-map/lib/validation.js"(exports) { + "use strict"; + var SLOT = require_internal_slot(); + var ToString = require_ToString(); + var Type = require_Type2(); + var isMap = function isMap2(map) { + return SLOT.has(map, "[[es6map]]"); + }; + exports.isMap = isMap; + exports.requireMapSlot = function requireMapSlot(map, method) { + if (Type(map) !== "Object" || !isMap(map)) { + throw new TypeError("Method Map.prototype." + method + " called on incompatible receiver " + ToString(map)); + } + }; + } +}); + +// node_modules/es-map/lib/helpers.js +var require_helpers2 = __commonJS({ + "node_modules/es-map/lib/helpers.js"(exports) { + "use strict"; + var hasSymbols = require_has_symbols()(); + var GetIntrinsic = require_get_intrinsic(); + var SLOT = require_internal_slot(); + var entries = require_object(); + var forEach = require_for_each(); + var CreateMethodProperty = require_CreateMethodProperty(); + var OrdinaryObjectCreate = require_OrdinaryObjectCreate(); + var Type = require_Type2(); + var $ObjectCreate = GetIntrinsic("%Object.create%", true); + var hasProto = !({ __proto__: null } instanceof Object); + exports.emptyObject = function() { + if ($ObjectCreate) { + return $ObjectCreate(null); + } + if (hasProto) { + return { __proto__: null }; + } + return {}; + }; + exports.emulateES6construct = function(o, defaultNewTarget, defaultProto, slots) { + if (Type(o) !== "Object") { + throw new TypeError("Constructor requires `new`: " + defaultNewTarget.name); + } + var proto = defaultNewTarget.prototype; + if (Type(proto) !== "Object") { + proto = defaultProto; + } + var obj = OrdinaryObjectCreate(proto); + forEach(entries(slots), function(entry) { + var key = entry[0]; + var value = entry[1]; + SLOT.set(obj, key, value); + }); + return obj; + }; + var $iterator$ = hasSymbols && Type(Symbol.iterator) === "Symbol" ? Symbol.iterator : "_es6-shim iterator_"; + if (typeof []["@@iterator"] === "function") { + $iterator$ = "@@iterator"; + } + exports.addIterator = function(prototype, impl) { + var implementation = impl || function iterator() { + return this; + }; + CreateMethodProperty(prototype, $iterator$, implementation); + if (!prototype[$iterator$] && Type($iterator$) === "Symbol") { + prototype[$iterator$] = implementation; + } + }; + } +}); + +// node_modules/es-map/lib/map-iterator.js +var require_map_iterator = __commonJS({ + "node_modules/es-map/lib/map-iterator.js"(exports, module2) { + "use strict"; + var SLOT = require_internal_slot(); + var setToStringTag = require_es_set_tostringtag(); + var GetIntrinsic = require_get_intrinsic(); + var CreateIterResultObject = require_CreateIterResultObject(); + var CreateMethodProperty = require_CreateMethodProperty(); + var OrdinaryObjectCreate = require_OrdinaryObjectCreate(); + var requireMapSlot = require_validation().requireMapSlot; + var addIterator = require_helpers2().addIterator; + var MapIterator = function MapIterator2(map, kind) { + requireMapSlot(map, "[[MapIterator]]"); + SLOT.set(this, "[[isMapIterator]]", true); + var head = SLOT.get(map, "[[head]]"); + SLOT.set(this, "[[i]]", head); + SLOT.set(this, "[[head]]", head); + SLOT.set(this, "[[kind]]", kind); + }; + var IteratorPrototype = GetIntrinsic("%IteratorPrototype%", true); + if (IteratorPrototype) { + MapIterator.prototype = OrdinaryObjectCreate(IteratorPrototype); + } + addIterator(MapIterator.prototype); + CreateMethodProperty( + MapIterator.prototype, + "next", + function next() { + if (!SLOT.has(this, "[[isMapIterator]]")) { + throw new TypeError("Not a MapIterator"); + } + var i = SLOT.get(this, "[[i]]"); + var kind = SLOT.get(this, "[[kind]]"); + var head = SLOT.get(this, "[[head]]"); + if (typeof i === "undefined") { + return CreateIterResultObject(void 0, true); + } + while (i.isRemoved() && i !== head) { + i = i.prev; + } + var result; + while (i.next !== head) { + i = i.next; + if (!i.isRemoved()) { + if (kind === "key") { + result = i.key; + } else if (kind === "value") { + result = i.value; + } else { + result = [i.key, i.value]; + } + SLOT.set(this, "[[i]]", i); + return CreateIterResultObject(result, false); + } + } + SLOT.set(this, "[[i]]", void 0); + return CreateIterResultObject(void 0, true); + } + ); + setToStringTag(MapIterator.prototype, "Map Iterator"); + module2.exports = MapIterator; + } +}); + +// node_modules/is-arguments/index.js +var require_is_arguments = __commonJS({ + "node_modules/is-arguments/index.js"(exports, module2) { + "use strict"; + var hasToStringTag = require_shams2()(); + var callBound = require_callBound(); + var $toString = callBound("Object.prototype.toString"); + var isStandardArguments = function isArguments(value) { + if (hasToStringTag && value && typeof value === "object" && Symbol.toStringTag in value) { + return false; + } + return $toString(value) === "[object Arguments]"; + }; + var isLegacyArguments = function isArguments(value) { + if (isStandardArguments(value)) { + return true; + } + return value !== null && typeof value === "object" && typeof value.length === "number" && value.length >= 0 && $toString(value) !== "[object Array]" && $toString(value.callee) === "[object Function]"; + }; + var supportsStandardArguments = function() { + return isStandardArguments(arguments); + }(); + isStandardArguments.isLegacyArguments = isLegacyArguments; + module2.exports = supportsStandardArguments ? isStandardArguments : isLegacyArguments; + } +}); + +// node_modules/stop-iteration-iterator/index.js +var require_stop_iteration_iterator = __commonJS({ + "node_modules/stop-iteration-iterator/index.js"(exports, module2) { + "use strict"; + var SLOT = require_internal_slot(); + var $SyntaxError = SyntaxError; + var $StopIteration = typeof StopIteration === "object" ? StopIteration : null; + module2.exports = function getStopIterationIterator(origIterator) { + if (!$StopIteration) { + throw new $SyntaxError("this environment lacks StopIteration"); + } + SLOT.set(origIterator, "[[Done]]", false); + var siIterator = { + next: function next() { + var iterator = SLOT.get(this, "[[Iterator]]"); + var done = SLOT.get(iterator, "[[Done]]"); + try { + return { + done, + value: done ? void 0 : iterator.next() + }; + } catch (e) { + SLOT.set(iterator, "[[Done]]", true); + if (e !== $StopIteration) { + throw e; + } + return { + done: true, + value: void 0 + }; + } + } + }; + SLOT.set(siIterator, "[[Iterator]]", origIterator); + return siIterator; + }; + } +}); + +// node_modules/isarray/index.js +var require_isarray = __commonJS({ + "node_modules/isarray/index.js"(exports, module2) { + var toString = {}.toString; + module2.exports = Array.isArray || function(arr) { + return toString.call(arr) == "[object Array]"; + }; + } +}); + +// node_modules/is-map/index.js +var require_is_map = __commonJS({ + "node_modules/is-map/index.js"(exports, module2) { + "use strict"; + var $Map = typeof Map === "function" && Map.prototype ? Map : null; + var $Set = typeof Set === "function" && Set.prototype ? Set : null; + var exported; + if (!$Map) { + exported = function isMap(x) { + return false; + }; + } + var $mapHas = $Map ? Map.prototype.has : null; + var $setHas = $Set ? Set.prototype.has : null; + if (!exported && !$mapHas) { + exported = function isMap(x) { + return false; + }; + } + module2.exports = exported || function isMap(x) { + if (!x || typeof x !== "object") { + return false; + } + try { + $mapHas.call(x); + if ($setHas) { + try { + $setHas.call(x); + } catch (e) { + return true; + } + } + return x instanceof $Map; + } catch (e) { + } + return false; + }; + } +}); + +// node_modules/is-set/index.js +var require_is_set = __commonJS({ + "node_modules/is-set/index.js"(exports, module2) { + "use strict"; + var $Map = typeof Map === "function" && Map.prototype ? Map : null; + var $Set = typeof Set === "function" && Set.prototype ? Set : null; + var exported; + if (!$Set) { + exported = function isSet(x) { + return false; + }; + } + var $mapHas = $Map ? Map.prototype.has : null; + var $setHas = $Set ? Set.prototype.has : null; + if (!exported && !$setHas) { + exported = function isSet(x) { + return false; + }; + } + module2.exports = exported || function isSet(x) { + if (!x || typeof x !== "object") { + return false; + } + try { + $setHas.call(x); + if ($mapHas) { + try { + $mapHas.call(x); + } catch (e) { + return true; + } + } + return x instanceof $Set; + } catch (e) { + } + return false; + }; + } +}); + +// node_modules/es-get-iterator/index.js +var require_es_get_iterator = __commonJS({ + "node_modules/es-get-iterator/index.js"(exports, module2) { + "use strict"; + var isArguments = require_is_arguments(); + var getStopIterationIterator = require_stop_iteration_iterator(); + if (require_has_symbols()() || require_shams()()) { + $iterator = Symbol.iterator; + module2.exports = function getIterator(iterable) { + if (iterable != null && typeof iterable[$iterator] !== "undefined") { + return iterable[$iterator](); + } + if (isArguments(iterable)) { + return Array.prototype[$iterator].call(iterable); + } + }; + } else { + isArray = require_isarray(); + isString = require_is_string(); + GetIntrinsic = require_get_intrinsic(); + $Map = GetIntrinsic("%Map%", true); + $Set = GetIntrinsic("%Set%", true); + callBound = require_callBound(); + $arrayPush = callBound("Array.prototype.push"); + $charCodeAt = callBound("String.prototype.charCodeAt"); + $stringSlice = callBound("String.prototype.slice"); + advanceStringIndex = function advanceStringIndex2(S, index) { + var length = S.length; + if (index + 1 >= length) { + return index + 1; + } + var first = $charCodeAt(S, index); + if (first < 55296 || first > 56319) { + return index + 1; + } + var second = $charCodeAt(S, index + 1); + if (second < 56320 || second > 57343) { + return index + 1; + } + return index + 2; + }; + getArrayIterator = function getArrayIterator2(arraylike) { + var i = 0; + return { + next: function next() { + var done = i >= arraylike.length; + var value; + if (!done) { + value = arraylike[i]; + i += 1; + } + return { + done, + value + }; + } + }; + }; + getNonCollectionIterator = function getNonCollectionIterator2(iterable, noPrimordialCollections) { + if (isArray(iterable) || isArguments(iterable)) { + return getArrayIterator(iterable); + } + if (isString(iterable)) { + var i = 0; + return { + next: function next() { + var nextIndex = advanceStringIndex(iterable, i); + var value = $stringSlice(iterable, i, nextIndex); + i = nextIndex; + return { + done: nextIndex > iterable.length, + value + }; + } + }; + } + if (noPrimordialCollections && typeof iterable["_es6-shim iterator_"] !== "undefined") { + return iterable["_es6-shim iterator_"](); + } + }; + if (!$Map && !$Set) { + module2.exports = function getIterator(iterable) { + if (iterable != null) { + return getNonCollectionIterator(iterable, true); + } + }; + } else { + isMap = require_is_map(); + isSet = require_is_set(); + $mapForEach = callBound("Map.prototype.forEach", true); + $setForEach = callBound("Set.prototype.forEach", true); + if (typeof process === "undefined" || !process.versions || !process.versions.node) { + $mapIterator = callBound("Map.prototype.iterator", true); + $setIterator = callBound("Set.prototype.iterator", true); + } + $mapAtAtIterator = callBound("Map.prototype.@@iterator", true) || callBound("Map.prototype._es6-shim iterator_", true); + $setAtAtIterator = callBound("Set.prototype.@@iterator", true) || callBound("Set.prototype._es6-shim iterator_", true); + getCollectionIterator = function getCollectionIterator2(iterable) { + if (isMap(iterable)) { + if ($mapIterator) { + return getStopIterationIterator($mapIterator(iterable)); + } + if ($mapAtAtIterator) { + return $mapAtAtIterator(iterable); + } + if ($mapForEach) { + var entries = []; + $mapForEach(iterable, function(v, k) { + $arrayPush(entries, [k, v]); + }); + return getArrayIterator(entries); + } + } + if (isSet(iterable)) { + if ($setIterator) { + return getStopIterationIterator($setIterator(iterable)); + } + if ($setAtAtIterator) { + return $setAtAtIterator(iterable); + } + if ($setForEach) { + var values = []; + $setForEach(iterable, function(v) { + $arrayPush(values, v); + }); + return getArrayIterator(values); + } + } + }; + module2.exports = function getIterator(iterable) { + return getCollectionIterator(iterable) || getNonCollectionIterator(iterable); + }; + } + } + var $iterator; + var isArray; + var isString; + var GetIntrinsic; + var $Map; + var $Set; + var callBound; + var $arrayPush; + var $charCodeAt; + var $stringSlice; + var advanceStringIndex; + var getArrayIterator; + var getNonCollectionIterator; + var isMap; + var isSet; + var $mapForEach; + var $setForEach; + var $mapIterator; + var $setIterator; + var $mapAtAtIterator; + var $setAtAtIterator; + var getCollectionIterator; + } +}); + +// node_modules/es-map/lib/map-helpers.js +var require_map_helpers = __commonJS({ + "node_modules/es-map/lib/map-helpers.js"(exports) { + "use strict"; + var Call = require_Call(); + var IsArray = require_IsArray2(); + var IsCallable = require_IsCallable(); + var IteratorClose = require_IteratorClose(); + var IteratorStep = require_IteratorStep(); + var ToString = require_ToString(); + var Type = require_Type2(); + var GetIterator = require_es_get_iterator(); + var MapIterator = require_map_iterator(); + var isMap = require_validation().isMap; + exports.fastkey = function fastkey(key) { + switch (Type(key)) { + case "String": + return "$" + key; + case "Null": + case "Undefined": + case "Boolean": + case "Number": + return ToString(key); + default: + return null; + } + }; + var forEach = function forEach2(map, fn2, context) { + var it = new MapIterator(map, "key+value"); + for (var entry = it.next(); !entry.done; entry = it.next()) { + if (typeof context === "undefined") { + fn2(entry.value[1], entry.value[0], map); + } else { + Call(fn2, context, [entry.value[1], entry.value[0], map]); + } + } + }; + exports.forEach = forEach; + exports.addIterableToMap = function addIterableToMap(map, iterable) { + if (IsArray(iterable) || typeof iterable === "string") { + for (var i = 0; i < iterable.length; i++) { + var entry = iterable[i]; + if (Type(entry) !== "Object") { + throw new TypeError("Iterator value " + entry + " is not an entry object"); + } + map.set(entry[0], entry[1]); + } + } else if (isMap(iterable)) { + forEach(iterable, function(value, key) { + map.set(key, value); + }); + } else { + var adder; + var iterRecord; + if (iterable != null) { + adder = map.set; + if (!IsCallable(adder)) { + throw new TypeError("bad map"); + } + var iter = GetIterator(iterable); + iterRecord = { + "[[Done]]": false, + "[[Iterator]]": iter, + "[[NextMethod]]": iter.next + }; + } + if (typeof iterRecord === "undefined") { + throw new TypeError("Object is not iterable"); + } + var next; + while (next = IteratorStep(iterRecord)) { + var nextItem = next.value; + try { + if (Type(nextItem) !== "Object") { + throw new TypeError("Iterator value " + nextItem + " is not an entry object"); + } + Call(adder, map, [nextItem[0], nextItem[1]]); + } catch (e) { + IteratorClose(iterRecord, true); + throw e; + } + } + } + }; + } +}); + +// node_modules/es-map/implementation.js +var require_implementation4 = __commonJS({ + "node_modules/es-map/implementation.js"(exports, module2) { + "use strict"; + var define = require_define_properties(); + var callBound = require_callBound(); + var GetIntrinsic = require_get_intrinsic(); + var SLOT = require_internal_slot(); + var SameValue = require_SameValue(); + var SameValueZero = require_SameValueZero(); + var MapEntry = require_map_entry(); + var MapIterator = require_map_iterator(); + var mapHelpers = require_map_helpers(); + var helpers = require_helpers2(); + var requireMapSlot = require_validation().requireMapSlot; + var fastkey = mapHelpers.fastkey; + var mapForEach = mapHelpers.forEach; + var addIterableToMap = mapHelpers.addIterableToMap; + var emptyObject = helpers.emptyObject; + var emulateES6construct = helpers.emulateES6construct; + var addIterator = helpers.addIterator; + var OrigMap = GetIntrinsic("%Map%", true); + var origMapDel = callBound("%Map.prototype.delete%", true); + var origMapGet = callBound("%Map.prototype.get%", true); + var origMapHas = callBound("%Map.prototype.has%", true); + var origMapSet = callBound("%Map.prototype.set%", true); + var MapShimPrototype; + var MapShim = function Map2() { + if (!(this instanceof Map2)) { + throw new TypeError('Constructor Map requires "new"'); + } + if (this && SLOT.has(this, "[[es6map]]")) { + throw new TypeError("Bad construction"); + } + var map = emulateES6construct(this, Map2, MapShimPrototype, { + "[[es6map]]": true, + "[[head]]": null, + "[[map]]": OrigMap ? new OrigMap() : null, + "[[size]]": 0, + "[[storage]]": emptyObject() + }); + var head = new MapEntry(null, null); + head.next = head; + head.prev = head; + SLOT.set(map, "[[head]]", head); + if (arguments.length > 0) { + addIterableToMap(map, arguments[0]); + } + return map; + }; + MapShimPrototype = MapShim.prototype; + if (define.supportsDescriptors) { + Object.defineProperty(MapShimPrototype, "size", { + configurable: true, + enumerable: false, + get: function() { + requireMapSlot(this, "size"); + return SLOT.get(this, "[[size]]"); + } + }); + } + define(MapShimPrototype, { + get: function get(key) { + requireMapSlot(this, "get"); + var entry; + var fkey = fastkey(key, true); + if (fkey !== null) { + entry = SLOT.get(this, "[[storage]]")[fkey]; + if (entry) { + return entry.value; + } + return void 0; + } + var map = SLOT.get(this, "[[map]]"); + if (map) { + entry = origMapGet(map, key); + if (entry) { + return entry.value; + } + return void 0; + } + var head = SLOT.get(this, "[[head]]"); + var i = head; + while ((i = i.next) !== head) { + if (SameValueZero(i.key, key)) { + return i.value; + } + } + return void 0; + }, + has: function has(key) { + requireMapSlot(this, "has"); + var fkey = fastkey(key, true); + var storage = SLOT.get(this, "[[storage]]"); + if (fkey !== null) { + return typeof storage[fkey] !== "undefined"; + } + var map = SLOT.get(this, "[[map]]"); + if (map) { + return origMapHas(map, key); + } + var head = SLOT.get(this, "[[head]]"); + var i = head; + while ((i = i.next) !== head) { + if (SameValueZero(i.key, key)) { + return true; + } + } + return false; + }, + set: function set(key, value) { + requireMapSlot(this, "set"); + var head = SLOT.get(this, "[[head]]"); + var i = head; + var entry; + var fkey = fastkey(key, true); + if (fkey !== null) { + var storage = SLOT.get(this, "[[storage]]"); + if (typeof storage[fkey] === "undefined") { + entry = new MapEntry(key, value); + storage[fkey] = entry; + i = head.prev; + } else { + storage[fkey].value = value; + return this; + } + } else { + var map = SLOT.get(this, "[[map]]"); + if (map) { + if (origMapHas(map, key)) { + origMapGet(map, key).value = value; + } else { + entry = new MapEntry(key, value); + origMapSet(map, key, entry); + i = head.prev; + } + } + } + while ((i = i.next) !== head) { + if (SameValueZero(i.key, key)) { + i.value = value; + return this; + } + } + entry = entry || new MapEntry(key, value); + if (SameValue(-0, key)) { + entry.key = 0; + } + entry.next = head; + entry.prev = head.prev; + entry.prev.next = entry; + entry.next.prev = entry; + SLOT.set(this, "[[size]]", SLOT.get(this, "[[size]]") + 1); + return this; + }, + "delete": function(key) { + requireMapSlot(this, "delete"); + var head = SLOT.get(this, "[[head]]"); + var i = head; + var fkey = fastkey(key, true); + if (fkey !== null) { + var storage = SLOT.get(this, "[[storage]]"); + if (typeof storage[fkey] === "undefined") { + return false; + } + i = storage[fkey].prev; + delete storage[fkey]; + } else { + var map = SLOT.get(this, "[[map]]"); + if (map) { + if (!origMapHas(map, key)) { + return false; + } + i = origMapGet(map, key).prev; + origMapDel(map, key); + } + } + while ((i = i.next) !== head) { + if (SameValueZero(i.key, key)) { + i.key = MapEntry.empty; + i.value = MapEntry.empty; + i.prev.next = i.next; + i.next.prev = i.prev; + SLOT.set(this, "[[size]]", SLOT.get(this, "[[size]]") - 1); + return true; + } + } + return false; + }, + clear: function clear() { + requireMapSlot(this, "clear"); + SLOT.set(this, "[[map]]", OrigMap ? new OrigMap() : null); + SLOT.set(this, "[[size]]", 0); + SLOT.set(this, "[[storage]]", emptyObject()); + var head = SLOT.get(this, "[[head]]"); + var i = head; + var p = i.next; + while ((i = p) !== head) { + i.key = MapEntry.empty; + i.value = MapEntry.empty; + p = i.next; + i.next = head; + i.prev = head; + } + head.next = head; + head.prev = head; + }, + keys: function keys() { + requireMapSlot(this, "keys"); + return new MapIterator(this, "key"); + }, + values: function values() { + requireMapSlot(this, "values"); + return new MapIterator(this, "value"); + }, + entries: function entries() { + requireMapSlot(this, "entries"); + return new MapIterator(this, "key+value"); + }, + forEach: function forEach(fn2) { + requireMapSlot(this, "forEach"); + mapForEach(this, fn2, arguments.length > 1 ? arguments[1] : void 0); + } + }); + addIterator(MapShimPrototype, MapShimPrototype.entries); + module2.exports = MapShim; + } +}); + +// node_modules/es-set/lib/validation.js +var require_validation2 = __commonJS({ + "node_modules/es-set/lib/validation.js"(exports) { + "use strict"; + var SLOT = require_internal_slot(); + var ToString = require_ToString(); + var Type = require_Type2(); + var isSet = function isSet2(set) { + return SLOT.has(set, "[[es6set]]"); + }; + exports.isSet = isSet; + exports.requireSetSlot = function requireSetSlot(set, method) { + if (Type(set) !== "Object" || !isSet(set)) { + throw new TypeError("Method Set.prototype." + method + " called on incompatible receiver " + ToString(set)); + } + }; + } +}); + +// node_modules/es-set/lib/set-helpers.js +var require_set_helpers = __commonJS({ + "node_modules/es-set/lib/set-helpers.js"(exports) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var callBind = require_call_bind(); + var SLOT = require_internal_slot(); + var Call = require_Call(); + var GetIterator = require_GetIterator(); + var IsArray = require_IsArray2(); + var IsCallable = require_IsCallable(); + var IteratorClose = require_IteratorClose(); + var IteratorStep = require_IteratorStep(); + var ToString = require_ToString(); + var Type = require_Type2(); + var MapShim = require_implementation4(); + var $mapForEach = callBind(MapShim.prototype.forEach); + var $slice = callBound("%String.prototype.slice%"); + var $Number = GetIntrinsic("%Number%"); + var isSet = require_validation2().isSet; + var SET_ITEM = {}; + exports.SET_ITEM = SET_ITEM; + exports.fastkey = function fastkey(key) { + switch (Type(key)) { + case "String": + return "$" + key; + case "Null": + case "Undefined": + case "Boolean": + return ToString(key); + case "Number": + return "n" + key; + default: + return null; + } + }; + var decodeKey = function decodeKey2(k) { + if (k === "null") { + return null; + } else if (k === "undefined") { + return void 0; + } else if (k === "true") { + return true; + } else if (k === "false") { + return false; + } else if (k[0] === "$") { + return $slice(k, 1); + } + return $Number($slice(k, 1)); + }; + var iterateStorage = function iterateStorage2(storage, fn2) { + for (var fkey in storage) { + if (storage[fkey] === SET_ITEM) { + fn2(fkey); + } + } + }; + exports.iterateStorage = iterateStorage; + var ensureSet = function ensureSet2(set) { + if (!SLOT.get(set, "[[setData]]")) { + var m = new MapShim(); + iterateStorage(SLOT.get(set, "[[storage]]"), function(fkey) { + var k = decodeKey(fkey); + m.set(k, k); + }); + SLOT.set(set, "[[setData]]", m); + } + SLOT.set(set, "[[storage]]", null); + }; + exports.ensureSet = ensureSet; + var forEach = function forEach2(set, fn2, context) { + ensureSet(set); + $mapForEach(SLOT.get(set, "[[setData]]"), function(value, key) { + if (typeof context === "undefined") { + fn2(key, key, set); + } else { + Call(fn2, context, [key, key, set]); + } + }); + }; + exports.forEach = forEach; + exports.addIterableToSet = function addIterableToSet(set, iterable) { + if (IsArray(iterable) || Type(iterable) === "String") { + for (var i = 0; i < iterable.length; i++) { + set.add(iterable[i]); + } + } else if (isSet(iterable)) { + forEach(iterable, function(value) { + set.add(value); + }); + } else { + var iter, adder; + if (Type(iterable) !== "Null" && Type(iterable) !== "Undefined") { + adder = set.add; + if (!IsCallable(adder)) { + throw new TypeError("bad set"); + } + iter = GetIterator(iterable, "sync"); + } + if (typeof iter === "undefined") { + throw new TypeError("Object is not iterable"); + } + var next; + while (next = IteratorStep(iter)) { + try { + Call(adder, set, [next.value]); + } catch (e) { + IteratorClose(iter, true); + throw e; + } + } + } + }; + } +}); + +// node_modules/es-set/implementation.js +var require_implementation5 = __commonJS({ + "node_modules/es-set/implementation.js"(exports, module2) { + "use strict"; + var define = require_define_properties(); + var SLOT = require_internal_slot(); + var setProto = require_setProto(); + var SetIterator = require_set_iterator(); + var setHelpers = require_set_helpers(); + var helpers = require_helpers(); + var requireSetSlot = require_validation2().requireSetSlot; + var fastkey = setHelpers.fastkey; + var setForEach = setHelpers.forEach; + var addIterableToSet = setHelpers.addIterableToSet; + var SET_ITEM = setHelpers.SET_ITEM; + var ensureSet = setHelpers.ensureSet; + var iterateStorage = setHelpers.iterateStorage; + var emptyObject = helpers.emptyObject; + var emulateES6construct = helpers.emulateES6construct; + var addIterator = helpers.addIterator; + var SetShimPrototype; + var SetShim = function Set2() { + if (!(this instanceof Set2)) { + throw new TypeError('Constructor Set requires "new"'); + } + if (this && SLOT.has(this, "[[es6set]]")) { + throw new TypeError("Bad construction"); + } + var set = emulateES6construct(this, Set2, SetShimPrototype, { + "[[es6set]]": true, + "[[setData]]": null, + "[[storage]]": emptyObject() + }); + if (!SLOT.has(set, "[[es6set]]")) { + throw new TypeError("bad set"); + } + if (arguments.length > 0) { + addIterableToSet(set, arguments[0]); + } + return set; + }; + SetShimPrototype = SetShim.prototype; + if (define.supportsDescriptors) { + Object.defineProperty(SetShimPrototype, "size", { + configurable: true, + enumerable: false, + get: function() { + requireSetSlot(this, "size"); + var storage = SLOT.get(this, "[[storage]]"); + if (storage) { + var size = 0; + iterateStorage(storage, function() { + size += 1; + }); + return size; + } + ensureSet(this); + return SLOT.get(this, "[[setData]]").size; + } + }); + } + define(SetShimPrototype, { + add: function add(key) { + requireSetSlot(this, "has"); + var fkey; + var storage = SLOT.get(this, "[[storage]]"); + if (storage && (fkey = fastkey(key)) !== null) { + if (storage[fkey] !== SET_ITEM) { + storage[fkey] = SET_ITEM; + } + } else { + ensureSet(this); + SLOT.get(this, "[[setData]]").set(key, key); + } + return this; + }, + has: function has(key) { + requireSetSlot(this, "has"); + var fkey; + var storage = SLOT.get(this, "[[storage]]"); + if (storage && (fkey = fastkey(key)) !== null) { + return !!storage[fkey]; + } + ensureSet(this); + return SLOT.get(this, "[[setData]]").has(key); + }, + "delete": function(key) { + requireSetSlot(this, "delete"); + var fkey; + var storage = SLOT.get(this, "[[storage]]"); + if (storage && (fkey = fastkey(key)) !== null) { + var hasFKey = !!storage[fkey]; + if (hasFKey) { + delete storage[fkey]; + } + return hasFKey; + } + ensureSet(this); + return SLOT.get(this, "[[setData]]")["delete"](key); + }, + clear: function clear() { + requireSetSlot(this, "clear"); + var storage = SLOT.get(this, "[[storage]]"); + if (storage) { + SLOT.set(this, "[[storage]]", emptyObject()); + } + var setData = SLOT.get(this, "[[setData]]"); + if (setData) { + setData.clear(); + } + }, + values: function values() { + requireSetSlot(this, "values"); + ensureSet(this); + return new SetIterator(SLOT.get(this, "[[setData]]").values()); + }, + entries: function entries() { + requireSetSlot(this, "entries"); + ensureSet(this); + return new SetIterator(SLOT.get(this, "[[setData]]").entries()); + }, + forEach: function forEach(fn2) { + requireSetSlot(this, "forEach"); + setForEach(this, fn2, arguments.length > 1 ? arguments[1] : void 0); + } + }); + define(SetShimPrototype, { keys: SetShimPrototype.values }); + addIterator(SetShimPrototype, SetShimPrototype.values); + if (typeof Set === "function" && setProto) { + setProto(SetShimPrototype, Set.prototype); + } + module2.exports = SetShim; + } +}); + +// node_modules/functions-have-names/index.js +var require_functions_have_names = __commonJS({ + "node_modules/functions-have-names/index.js"(exports, module2) { + "use strict"; + var functionsHaveNames = function functionsHaveNames2() { + return typeof function f() { + }.name === "string"; + }; + var gOPD = Object.getOwnPropertyDescriptor; + if (gOPD) { + try { + gOPD([], "length"); + } catch (e) { + gOPD = null; + } + } + functionsHaveNames.functionsHaveConfigurableNames = function functionsHaveConfigurableNames() { + if (!functionsHaveNames() || !gOPD) { + return false; + } + var desc = gOPD(function() { + }, "name"); + return !!desc && !!desc.configurable; + }; + var $bind = Function.prototype.bind; + functionsHaveNames.boundFunctionsHaveNames = function boundFunctionsHaveNames() { + return functionsHaveNames() && typeof $bind === "function" && function f() { + }.bind().name !== ""; + }; + module2.exports = functionsHaveNames; + } +}); + +// node_modules/es-set/lib/support.js +var require_support = __commonJS({ + "node_modules/es-set/lib/support.js"(exports) { + "use strict"; + var functionsHaveNames = require_functions_have_names(); + var valueOrFalseIfThrows = function(cb) { + return function() { + try { + return cb(); + } catch (_) { + return false; + } + }; + }; + exports.isGoogleTranslate = function() { + return !!Set.prototype["delete"] && Set.prototype.remove && Set.prototype.items && Set.prototype.map && Array.isArray((/* @__PURE__ */ new Set()).keys); + }; + exports.setUsesSameValueZero = function() { + if (!Set.prototype["delete"] || !Set.prototype.add || !Set.prototype.has) { + return false; + } + var s = /* @__PURE__ */ new Set([1, 2, 3, 4]); + s["delete"](0); + s.add(-0); + if (!s.has(0)) { + return false; + } + s = /* @__PURE__ */ new Set([1, 2, 3, 4]); + s["delete"](-0); + s.add(0); + return s.has(-0); + }; + exports.setSupportsChaining = function() { + var testSet = /* @__PURE__ */ new Set(); + return testSet.add(1) === testSet; + }; + var setSupportsSubclassing = valueOrFalseIfThrows(function() { + if (!Object.setPrototypeOf) { + return true; + } + var Sub = function Subclass(arg) { + var o = new Set(arg); + Object.setPrototypeOf(o, Subclass.prototype); + return o; + }; + Object.setPrototypeOf(Sub, Set); + Object.setPrototypeOf(Sub.prototype, Set.prototype); + var s = new Sub([]); + s.add(1, 2); + return s instanceof Sub; + }); + var setRequiresNew = function() { + try { + return !(Set() instanceof Set); + } catch (e) { + return e instanceof TypeError; + } + }; + exports.setCompliantConstructor = function() { + return Set.length === 0 && setSupportsSubclassing() && setRequiresNew(); + }; + exports.setKeysIsValues = function() { + return Set.prototype.keys === Set.prototype.values; + }; + exports.setHasCorrectName = function() { + if (!functionsHaveNames) { + return true; + } + return Set.prototype.has.name === "has"; + }; + exports.setHasOldFirefoxInterface = function() { + return (/* @__PURE__ */ new Set()).size !== 0 || typeof Set.prototype.values !== "function" || typeof Set.prototype.forEach !== "function"; + }; + } +}); + +// node_modules/es-set/polyfill.js +var require_polyfill2 = __commonJS({ + "node_modules/es-set/polyfill.js"(exports, module2) { + "use strict"; + var OrdinarySetPrototypeOf = require_OrdinarySetPrototypeOf(); + var define = require_define_properties(); + var SLOT = require_internal_slot(); + var implementation = require_implementation5(); + var addIterableToSet = require_set_helpers().addIterableToSet; + var support = require_support(); + var SetShim; + module2.exports = function getPolyfill() { + if (typeof Set === "function" && !support.setCompliantConstructor()) { + var OrigSet = Set; + if (!SetShim || !(OrigSet === SetShim || SLOT.get(SetShim, "[[OrigSet]]") === OrigSet)) { + var OrigSet$prototype = OrigSet.prototype; + SetShim = function Set2() { + if (!(this instanceof SetShim)) { + throw new TypeError('Constructor Set requires "new"'); + } + if (this && SLOT.has(this, "[[SetCompliantConstructorShim]]")) { + throw new TypeError("Bad construction"); + } + var s = new OrigSet(); + SLOT.set(s, "[[SetCompliantConstructorShim]]", true); + if (arguments.length > 0) { + addIterableToSet(s, arguments[0]); + } + delete s.constructor; + OrdinarySetPrototypeOf(s, SetShim.prototype); + return s; + }; + SLOT.set(SetShim, "[[OrigSet]]", Set); + SetShim.prototype = OrigSet$prototype; + define( + SetShim.prototype, + { constructor: SetShim }, + { constructor: function() { + return true; + } } + ); + } + return SetShim; + } + if (typeof Set !== "function" || support.isGoogleTranslate() || support.setHasOldFirefoxInterface() || !support.setHasCorrectName() || !support.setKeysIsValues() || !support.setSupportsChaining() || !support.setUsesSameValueZero()) { + return implementation; + } + return Set; + }; + } +}); + +// node_modules/es-abstract/2024/IsArray.js +var require_IsArray3 = __commonJS({ + "node_modules/es-abstract/2024/IsArray.js"(exports, module2) { + "use strict"; + module2.exports = require_IsArray(); + } +}); + +// node_modules/es-abstract/2024/Call.js +var require_Call2 = __commonJS({ + "node_modules/es-abstract/2024/Call.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var callBound = require_callBound(); + var $TypeError = require_type(); + var IsArray = require_IsArray3(); + var $apply = GetIntrinsic("%Reflect.apply%", true) || callBound("Function.prototype.apply"); + module2.exports = function Call(F, V) { + var argumentsList = arguments.length > 2 ? arguments[2] : []; + if (!IsArray(argumentsList)) { + throw new $TypeError("Assertion failed: optional `argumentsList`, if provided, must be a List"); + } + return $apply(F, V, argumentsList); + }; + } +}); + +// node_modules/es-abstract/2024/IsPropertyKey.js +var require_IsPropertyKey2 = __commonJS({ + "node_modules/es-abstract/2024/IsPropertyKey.js"(exports, module2) { + "use strict"; + module2.exports = function IsPropertyKey(argument) { + return typeof argument === "string" || typeof argument === "symbol"; + }; + } +}); + +// node_modules/es-abstract/2024/Type.js +var require_Type3 = __commonJS({ + "node_modules/es-abstract/2024/Type.js"(exports, module2) { + "use strict"; + var ES5Type = require_Type(); + module2.exports = function Type(x) { + if (typeof x === "symbol") { + return "Symbol"; + } + if (typeof x === "bigint") { + return "BigInt"; + } + return ES5Type(x); + }; + } +}); + +// node_modules/es-abstract/2024/Get.js +var require_Get2 = __commonJS({ + "node_modules/es-abstract/2024/Get.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var inspect = require_object_inspect(); + var IsPropertyKey = require_IsPropertyKey2(); + var Type = require_Type3(); + module2.exports = function Get(O, P) { + if (Type(O) !== "Object") { + throw new $TypeError("Assertion failed: Type(O) is not Object"); + } + if (!IsPropertyKey(P)) { + throw new $TypeError("Assertion failed: IsPropertyKey(P) is not true, got " + inspect(P)); + } + return O[P]; + }; + } +}); + +// node_modules/es-abstract/2024/IsCallable.js +var require_IsCallable2 = __commonJS({ + "node_modules/es-abstract/2024/IsCallable.js"(exports, module2) { + "use strict"; + module2.exports = require_is_callable(); + } +}); + +// node_modules/es-abstract/2024/GetIteratorFromMethod.js +var require_GetIteratorFromMethod2 = __commonJS({ + "node_modules/es-abstract/2024/GetIteratorFromMethod.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Call = require_Call2(); + var Get = require_Get2(); + var IsCallable = require_IsCallable2(); + var Type = require_Type3(); + module2.exports = function GetIteratorFromMethod(obj, method) { + if (!IsCallable(method)) { + throw new $TypeError("method must be a function"); + } + var iterator = Call(method, obj); + if (Type(iterator) !== "Object") { + throw new $TypeError("iterator must return an object"); + } + var nextMethod = Get(iterator, "next"); + return { + // steps 4-5 + "[[Iterator]]": iterator, + "[[NextMethod]]": nextMethod, + "[[Done]]": false + }; + }; + } +}); + +// node_modules/es-abstract/helpers/isPrimitive.js +var require_isPrimitive = __commonJS({ + "node_modules/es-abstract/helpers/isPrimitive.js"(exports, module2) { + "use strict"; + module2.exports = function isPrimitive(value) { + return value === null || typeof value !== "function" && typeof value !== "object"; + }; + } +}); + +// node_modules/es-to-primitive/helpers/isPrimitive.js +var require_isPrimitive2 = __commonJS({ + "node_modules/es-to-primitive/helpers/isPrimitive.js"(exports, module2) { + "use strict"; + module2.exports = function isPrimitive(value) { + return value === null || typeof value !== "function" && typeof value !== "object"; + }; + } +}); + +// node_modules/is-date-object/index.js +var require_is_date_object = __commonJS({ + "node_modules/is-date-object/index.js"(exports, module2) { + "use strict"; + var getDay = Date.prototype.getDay; + var tryDateObject = function tryDateGetDayCall(value) { + try { + getDay.call(value); + return true; + } catch (e) { + return false; + } + }; + var toStr = Object.prototype.toString; + var dateClass = "[object Date]"; + var hasToStringTag = require_shams2()(); + module2.exports = function isDateObject(value) { + if (typeof value !== "object" || value === null) { + return false; + } + return hasToStringTag ? tryDateObject(value) : toStr.call(value) === dateClass; + }; + } +}); + +// node_modules/is-symbol/index.js +var require_is_symbol = __commonJS({ + "node_modules/is-symbol/index.js"(exports, module2) { + "use strict"; + var toStr = Object.prototype.toString; + var hasSymbols = require_has_symbols()(); + if (hasSymbols) { + symToStr = Symbol.prototype.toString; + symStringRegex = /^Symbol\(.*\)$/; + isSymbolObject = function isRealSymbolObject(value) { + if (typeof value.valueOf() !== "symbol") { + return false; + } + return symStringRegex.test(symToStr.call(value)); + }; + module2.exports = function isSymbol(value) { + if (typeof value === "symbol") { + return true; + } + if (toStr.call(value) !== "[object Symbol]") { + return false; + } + try { + return isSymbolObject(value); + } catch (e) { + return false; + } + }; + } else { + module2.exports = function isSymbol(value) { + return false; + }; + } + var symToStr; + var symStringRegex; + var isSymbolObject; + } +}); + +// node_modules/es-to-primitive/es2015.js +var require_es2015 = __commonJS({ + "node_modules/es-to-primitive/es2015.js"(exports, module2) { + "use strict"; + var hasSymbols = typeof Symbol === "function" && typeof Symbol.iterator === "symbol"; + var isPrimitive = require_isPrimitive2(); + var isCallable = require_is_callable(); + var isDate = require_is_date_object(); + var isSymbol = require_is_symbol(); + var ordinaryToPrimitive = function OrdinaryToPrimitive(O, hint) { + if (typeof O === "undefined" || O === null) { + throw new TypeError("Cannot call method on " + O); + } + if (typeof hint !== "string" || hint !== "number" && hint !== "string") { + throw new TypeError('hint must be "string" or "number"'); + } + var methodNames = hint === "string" ? ["toString", "valueOf"] : ["valueOf", "toString"]; + var method, result, i; + for (i = 0; i < methodNames.length; ++i) { + method = O[methodNames[i]]; + if (isCallable(method)) { + result = method.call(O); + if (isPrimitive(result)) { + return result; + } + } + } + throw new TypeError("No default value"); + }; + var GetMethod = function GetMethod2(O, P) { + var func = O[P]; + if (func !== null && typeof func !== "undefined") { + if (!isCallable(func)) { + throw new TypeError(func + " returned for property " + P + " of object " + O + " is not a function"); + } + return func; + } + return void 0; + }; + module2.exports = function ToPrimitive(input) { + if (isPrimitive(input)) { + return input; + } + var hint = "default"; + if (arguments.length > 1) { + if (arguments[1] === String) { + hint = "string"; + } else if (arguments[1] === Number) { + hint = "number"; + } + } + var exoticToPrim; + if (hasSymbols) { + if (Symbol.toPrimitive) { + exoticToPrim = GetMethod(input, Symbol.toPrimitive); + } else if (isSymbol(input)) { + exoticToPrim = Symbol.prototype.valueOf; + } + } + if (typeof exoticToPrim !== "undefined") { + var result = exoticToPrim.call(input, hint); + if (isPrimitive(result)) { + return result; + } + throw new TypeError("unable to convert exotic object to primitive"); + } + if (hint === "default" && (isDate(input) || isSymbol(input))) { + hint = "string"; + } + return ordinaryToPrimitive(input, hint === "default" ? "number" : hint); + }; + } +}); + +// node_modules/es-abstract/2024/ToPrimitive.js +var require_ToPrimitive = __commonJS({ + "node_modules/es-abstract/2024/ToPrimitive.js"(exports, module2) { + "use strict"; + var toPrimitive = require_es2015(); + module2.exports = function ToPrimitive(input) { + if (arguments.length > 1) { + return toPrimitive(input, arguments[1]); + } + return toPrimitive(input); + }; + } +}); + +// node_modules/is-regex/index.js +var require_is_regex = __commonJS({ + "node_modules/is-regex/index.js"(exports, module2) { + "use strict"; + var callBound = require_callBound(); + var hasToStringTag = require_shams2()(); + var has; + var $exec; + var isRegexMarker; + var badStringifier; + if (hasToStringTag) { + has = callBound("Object.prototype.hasOwnProperty"); + $exec = callBound("RegExp.prototype.exec"); + isRegexMarker = {}; + throwRegexMarker = function() { + throw isRegexMarker; + }; + badStringifier = { + toString: throwRegexMarker, + valueOf: throwRegexMarker + }; + if (typeof Symbol.toPrimitive === "symbol") { + badStringifier[Symbol.toPrimitive] = throwRegexMarker; + } + } + var throwRegexMarker; + var $toString = callBound("Object.prototype.toString"); + var gOPD = Object.getOwnPropertyDescriptor; + var regexClass = "[object RegExp]"; + module2.exports = hasToStringTag ? function isRegex(value) { + if (!value || typeof value !== "object") { + return false; + } + var descriptor = gOPD(value, "lastIndex"); + var hasLastIndexDataProperty = descriptor && has(descriptor, "value"); + if (!hasLastIndexDataProperty) { + return false; + } + try { + $exec(value, badStringifier); + } catch (e) { + return e === isRegexMarker; + } + } : function isRegex(value) { + if (!value || typeof value !== "object" && typeof value !== "function") { + return false; + } + return $toString(value) === regexClass; + }; + } +}); + +// node_modules/safe-regex-test/index.js +var require_safe_regex_test = __commonJS({ + "node_modules/safe-regex-test/index.js"(exports, module2) { + "use strict"; + var callBound = require_callBound(); + var isRegex = require_is_regex(); + var $exec = callBound("RegExp.prototype.exec"); + var $TypeError = require_type(); + module2.exports = function regexTester(regex) { + if (!isRegex(regex)) { + throw new $TypeError("`regex` must be a RegExp"); + } + return function test(s) { + return $exec(regex, s) !== null; + }; + }; + } +}); + +// node_modules/es-abstract/2024/ToString.js +var require_ToString2 = __commonJS({ + "node_modules/es-abstract/2024/ToString.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $String = GetIntrinsic("%String%"); + var $TypeError = require_type(); + module2.exports = function ToString(argument) { + if (typeof argument === "symbol") { + throw new $TypeError("Cannot convert a Symbol value to a string"); + } + return $String(argument); + }; + } +}); + +// node_modules/string.prototype.trim/implementation.js +var require_implementation6 = __commonJS({ + "node_modules/string.prototype.trim/implementation.js"(exports, module2) { + "use strict"; + var RequireObjectCoercible = require_RequireObjectCoercible(); + var ToString = require_ToString2(); + var callBound = require_callBound(); + var $replace = callBound("String.prototype.replace"); + var mvsIsWS = /^\s$/.test("\u180E"); + var leftWhitespace = mvsIsWS ? /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/ : /^[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+/; + var rightWhitespace = mvsIsWS ? /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/ : /[\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028\u2029\uFEFF]+$/; + module2.exports = function trim() { + var S = ToString(RequireObjectCoercible(this)); + return $replace($replace(S, leftWhitespace, ""), rightWhitespace, ""); + }; + } +}); + +// node_modules/string.prototype.trim/polyfill.js +var require_polyfill3 = __commonJS({ + "node_modules/string.prototype.trim/polyfill.js"(exports, module2) { + "use strict"; + var implementation = require_implementation6(); + var zeroWidthSpace = "\u200B"; + var mongolianVowelSeparator = "\u180E"; + module2.exports = function getPolyfill() { + if (String.prototype.trim && zeroWidthSpace.trim() === zeroWidthSpace && mongolianVowelSeparator.trim() === mongolianVowelSeparator && ("_" + mongolianVowelSeparator).trim() === "_" + mongolianVowelSeparator && (mongolianVowelSeparator + "_").trim() === mongolianVowelSeparator + "_") { + return String.prototype.trim; + } + return implementation; + }; + } +}); + +// node_modules/string.prototype.trim/shim.js +var require_shim2 = __commonJS({ + "node_modules/string.prototype.trim/shim.js"(exports, module2) { + "use strict"; + var define = require_define_properties(); + var getPolyfill = require_polyfill3(); + module2.exports = function shimStringTrim() { + var polyfill = getPolyfill(); + define(String.prototype, { trim: polyfill }, { + trim: function testTrim() { + return String.prototype.trim !== polyfill; + } + }); + return polyfill; + }; + } +}); + +// node_modules/string.prototype.trim/index.js +var require_string_prototype = __commonJS({ + "node_modules/string.prototype.trim/index.js"(exports, module2) { + "use strict"; + var callBind = require_call_bind(); + var define = require_define_properties(); + var RequireObjectCoercible = require_RequireObjectCoercible(); + var implementation = require_implementation6(); + var getPolyfill = require_polyfill3(); + var shim = require_shim2(); + var bound = callBind(getPolyfill()); + var boundMethod = function trim(receiver) { + RequireObjectCoercible(receiver); + return bound(receiver); + }; + define(boundMethod, { + getPolyfill, + implementation, + shim + }); + module2.exports = boundMethod; + } +}); + +// node_modules/es-abstract/2024/StringToNumber.js +var require_StringToNumber = __commonJS({ + "node_modules/es-abstract/2024/StringToNumber.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $Number = GetIntrinsic("%Number%"); + var $RegExp = GetIntrinsic("%RegExp%"); + var $TypeError = require_type(); + var $parseInteger = GetIntrinsic("%parseInt%"); + var callBound = require_callBound(); + var regexTester = require_safe_regex_test(); + var $strSlice = callBound("String.prototype.slice"); + var isBinary = regexTester(/^0b[01]+$/i); + var isOctal = regexTester(/^0o[0-7]+$/i); + var isInvalidHexLiteral = regexTester(/^[-+]0x[0-9a-f]+$/i); + var nonWS = ["\x85", "\u200B", "\uFFFE"].join(""); + var nonWSregex = new $RegExp("[" + nonWS + "]", "g"); + var hasNonWS = regexTester(nonWSregex); + var $trim = require_string_prototype(); + module2.exports = function StringToNumber(argument) { + if (typeof argument !== "string") { + throw new $TypeError("Assertion failed: `argument` is not a String"); + } + if (isBinary(argument)) { + return $Number($parseInteger($strSlice(argument, 2), 2)); + } + if (isOctal(argument)) { + return $Number($parseInteger($strSlice(argument, 2), 8)); + } + if (hasNonWS(argument) || isInvalidHexLiteral(argument)) { + return NaN; + } + var trimmed = $trim(argument); + if (trimmed !== argument) { + return StringToNumber(trimmed); + } + return $Number(argument); + }; + } +}); + +// node_modules/es-abstract/2024/ToNumber.js +var require_ToNumber = __commonJS({ + "node_modules/es-abstract/2024/ToNumber.js"(exports, module2) { + "use strict"; + var GetIntrinsic = require_get_intrinsic(); + var $TypeError = require_type(); + var $Number = GetIntrinsic("%Number%"); + var isPrimitive = require_isPrimitive(); + var ToPrimitive = require_ToPrimitive(); + var StringToNumber = require_StringToNumber(); + module2.exports = function ToNumber(argument) { + var value = isPrimitive(argument) ? argument : ToPrimitive(argument, $Number); + if (typeof value === "symbol") { + throw new $TypeError("Cannot convert a Symbol value to a number"); + } + if (typeof value === "bigint") { + throw new $TypeError("Conversion from 'BigInt' to 'number' is not allowed."); + } + if (typeof value === "string") { + return StringToNumber(value); + } + return $Number(value); + }; + } +}); + +// node_modules/es-abstract/2024/floor.js +var require_floor = __commonJS({ + "node_modules/es-abstract/2024/floor.js"(exports, module2) { + "use strict"; + var $floor = Math.floor; + module2.exports = function floor(x) { + if (typeof x === "bigint") { + return x; + } + return $floor(x); + }; + } +}); + +// node_modules/es-abstract/2024/truncate.js +var require_truncate = __commonJS({ + "node_modules/es-abstract/2024/truncate.js"(exports, module2) { + "use strict"; + var floor = require_floor(); + var $TypeError = require_type(); + module2.exports = function truncate(x) { + if (typeof x !== "number" && typeof x !== "bigint") { + throw new $TypeError("argument must be a Number or a BigInt"); + } + var result = x < 0 ? -floor(-x) : floor(x); + return result === 0 ? 0 : result; + }; + } +}); + +// node_modules/es-abstract/2024/ToIntegerOrInfinity.js +var require_ToIntegerOrInfinity = __commonJS({ + "node_modules/es-abstract/2024/ToIntegerOrInfinity.js"(exports, module2) { + "use strict"; + var ToNumber = require_ToNumber(); + var truncate = require_truncate(); + var $isNaN = require_isNaN(); + var $isFinite = require_isFinite(); + module2.exports = function ToIntegerOrInfinity(value) { + var number2 = ToNumber(value); + if ($isNaN(number2) || number2 === 0) { + return 0; + } + if (!$isFinite(number2)) { + return number2; + } + return truncate(number2); + }; + } +}); + +// node_modules/set.prototype.difference/aos/GetSetRecord.js +var require_GetSetRecord = __commonJS({ + "node_modules/set.prototype.difference/aos/GetSetRecord.js"(exports, module2) { + "use strict"; + var $RangeError = require_range(); + var $TypeError = require_type(); + var Get = require_Get2(); + var IsCallable = require_IsCallable2(); + var ToIntegerOrInfinity = require_ToIntegerOrInfinity(); + var ToNumber = require_ToNumber(); + var Type = require_Type3(); + var isNaN2 = require_isNaN(); + var callBind = require_call_bind(); + var isSet = require_is_set(); + var stopIterationIterator = require_stop_iteration_iterator(); + module2.exports = function GetSetRecord(obj) { + if (Type(obj) !== "Object") { + throw new $TypeError("obj is not an Object"); + } + var rawSize = Get(obj, "size"); + var numSize = ToNumber(rawSize); + if (isNaN2(numSize)) { + throw new $TypeError("size is not a non-NaN Number"); + } + var intSize = ToIntegerOrInfinity(numSize); + if (intSize < 0) { + throw new $RangeError("set size must be non-negative"); + } + var has = Get(obj, "has"); + if (!IsCallable(has)) { + throw new $TypeError("has is not a function"); + } + var keys = Get(obj, "keys"); + if (!IsCallable(keys)) { + throw new $TypeError("keys is not a function"); + } + if (isSet(obj) && typeof StopIteration === "object") { + var boundKeys = callBind(keys); + keys = function keys2() { + return stopIterationIterator(boundKeys(this)); + }; + } + return { "[[Set]]": obj, "[[Size]]": intSize, "[[Has]]": has, "[[Keys]]": keys }; + }; + } +}); + +// node_modules/es-abstract/2024/ToBoolean.js +var require_ToBoolean2 = __commonJS({ + "node_modules/es-abstract/2024/ToBoolean.js"(exports, module2) { + "use strict"; + module2.exports = function ToBoolean(value) { + return !!value; + }; + } +}); + +// node_modules/es-abstract/2024/IteratorComplete.js +var require_IteratorComplete2 = __commonJS({ + "node_modules/es-abstract/2024/IteratorComplete.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Get = require_Get2(); + var ToBoolean = require_ToBoolean2(); + var Type = require_Type3(); + module2.exports = function IteratorComplete(iterResult) { + if (Type(iterResult) !== "Object") { + throw new $TypeError("Assertion failed: Type(iterResult) is not Object"); + } + return ToBoolean(Get(iterResult, "done")); + }; + } +}); + +// node_modules/es-abstract/2024/IteratorNext.js +var require_IteratorNext2 = __commonJS({ + "node_modules/es-abstract/2024/IteratorNext.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Call = require_Call2(); + var Type = require_Type3(); + var isIteratorRecord = require_iterator_record(); + module2.exports = function IteratorNext(iteratorRecord) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError("Assertion failed: `iteratorRecord` must be an Iterator Record"); + } + var result; + if (arguments.length < 2) { + result = Call(iteratorRecord["[[NextMethod]]"], iteratorRecord["[[Iterator]]"]); + } else { + result = Call(iteratorRecord["[[NextMethod]]"], iteratorRecord["[[Iterator]]"], [arguments[1]]); + } + if (Type(result) !== "Object") { + throw new $TypeError("iterator next must return an object"); + } + return result; + }; + } +}); + +// node_modules/es-abstract/2024/IteratorStepValue.js +var require_IteratorStepValue = __commonJS({ + "node_modules/es-abstract/2024/IteratorStepValue.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var Get = require_Get2(); + var IteratorComplete = require_IteratorComplete2(); + var IteratorNext = require_IteratorNext2(); + var isIteratorRecord = require_iterator_record(); + module2.exports = function IteratorStepValue(iteratorRecord) { + if (!isIteratorRecord(iteratorRecord)) { + throw new $TypeError("Assertion failed: `iteratorRecord` must be an Iterator Record"); + } + var result; + try { + result = IteratorNext(iteratorRecord); + } catch (e) { + iteratorRecord["[[Done]]"] = true; + throw e; + } + var done; + try { + done = IteratorComplete(result); + } catch (e) { + iteratorRecord["[[Done]]"] = true; + throw e; + } + if (done) { + iteratorRecord["[[Done]]"] = true; + return "DONE"; + } + var value; + try { + value = Get(result, "value"); + } catch (e) { + iteratorRecord["[[Done]]"] = true; + throw e; + } + return value; + }; + } +}); + +// node_modules/es-abstract/2024/SameValueZero.js +var require_SameValueZero2 = __commonJS({ + "node_modules/es-abstract/2024/SameValueZero.js"(exports, module2) { + "use strict"; + var $isNaN = require_isNaN(); + module2.exports = function SameValueZero(x, y) { + return x === y || $isNaN(x) && $isNaN(y); + }; + } +}); + +// node_modules/iterate-iterator/index.js +var require_iterate_iterator = __commonJS({ + "node_modules/iterate-iterator/index.js"(exports, module2) { + "use strict"; + var $TypeError = TypeError; + module2.exports = function iterateIterator(iterator) { + if (!iterator || typeof iterator.next !== "function") { + throw new $TypeError("iterator must be an object with a `next` method"); + } + if (arguments.length > 1) { + var callback = arguments[1]; + if (typeof callback !== "function") { + throw new $TypeError("`callback`, if provided, must be a function"); + } + } + var values = callback || []; + var result; + while ((result = iterator.next()) && !result.done) { + if (callback) { + callback(result.value); + } else { + values.push(result.value); + } + } + if (!callback) { + return values; + } + }; + } +}); + +// node_modules/iterate-value/index.js +var require_iterate_value = __commonJS({ + "node_modules/iterate-value/index.js"(exports, module2) { + "use strict"; + var getIterator = require_es_get_iterator(); + var $TypeError = TypeError; + var iterate = require_iterate_iterator(); + module2.exports = function iterateValue(iterable) { + var iterator = getIterator(iterable); + if (!iterator) { + throw new $TypeError("non-iterable value provided"); + } + if (arguments.length > 1) { + return iterate(iterator, arguments[1]); + } + return iterate(iterator); + }; + } +}); + +// node_modules/es-set/tools.js +var require_tools = __commonJS({ + "node_modules/es-set/tools.js"(exports, module2) { + "use strict"; + var $Set = require_polyfill2()(); + var callBind = require_call_bind(); + var callBound = require_callBound(); + var gOPD = require_gopd(); + var iterate = require_iterate_value(); + var $nativeSetForEach = callBound("Set.prototype.forEach", true); + var $polyfillSetForEach = callBind($Set.prototype.forEach); + var forEach = function(set, callback) { + if ($nativeSetForEach) { + try { + return $nativeSetForEach(set, callback); + } catch (e) { + } + } + try { + return $polyfillSetForEach(set, callback); + } catch (e) { + } + iterate(set, callback); + return void 0; + }; + var $nativeSetAdd = callBound("Set.prototype.add", true); + var $polyfillSetAdd = $Set.prototype.add && callBind($Set.prototype.add); + var add = function(S, v) { + if ($nativeSetAdd) { + try { + return $nativeSetAdd(S, v); + } catch (e) { + } + } + return $polyfillSetAdd(S, v); + }; + var $nativeSetHas = callBound("Set.prototype.has", true); + var $polyfillSetHas = callBind($Set.prototype.has); + var has = function(set, key) { + if ($nativeSetHas) { + try { + return $nativeSetHas(set, key); + } catch (e) { + } + } + return $polyfillSetHas(set, key); + }; + var $nativeSetDelete = callBound("Set.prototype.delete", true); + var $polyfillSetDelete = callBind($Set.prototype["delete"]); + var setDelete = function(set, key) { + if ($nativeSetDelete) { + try { + return $nativeSetDelete(set, key); + } catch (e) { + } + } + return $polyfillSetDelete(set, key); + }; + var $nativeSetSize = callBound("Set.prototype.size", true); + var $polyfillSetSize = gOPD ? callBind(gOPD($Set.prototype, "size").get) : null; + var legacySetSize = function setSize(set) { + var count = 0; + forEach(set, function() { + count += 1; + }); + return count; + }; + var size = function(S) { + if ($nativeSetSize) { + try { + return $nativeSetSize(S); + } catch (e) { + } + } + if ($polyfillSetSize) { + try { + return $polyfillSetSize(S); + } catch (e) { + } + } + return legacySetSize(S); + }; + module2.exports = { + add, + "delete": setDelete, + forEach, + has, + size + }; + } +}); + +// node_modules/set.prototype.difference/implementation.js +var require_implementation7 = __commonJS({ + "node_modules/set.prototype.difference/implementation.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var $Set = require_polyfill2()(); + var Call = require_Call2(); + var GetIteratorFromMethod = require_GetIteratorFromMethod2(); + var GetSetRecord = require_GetSetRecord(); + var IteratorStepValue = require_IteratorStepValue(); + var SameValueZero = require_SameValueZero2(); + var ToBoolean = require_ToBoolean2(); + var callBound = require_callBound(); + var isSet = require_is_set(); + var forEach = require_forEach(); + var tools = require_tools(); + var $setForEach = tools.forEach; + var $setAdd = tools.add; + var $setSize = tools.size; + var $push = callBound(".Array.prototype.push"); + var deleted = {}; + module2.exports = function difference2(other) { + var O = this; + if (!isSet(O) && !(O instanceof $Set)) { + throw new $TypeError("Method Set.prototype.difference called on incompatible receiver " + O); + } + var otherRec = GetSetRecord(other); + var thisSize = $setSize(O); + var result = new $Set(); + if (thisSize <= otherRec["[[Size]]"]) { + $setForEach(O, function(e) { + var inOther = ToBoolean(Call(otherRec["[[Has]]"], otherRec["[[Set]]"], [e])); + if (!inOther) { + $setAdd(result, e); + } + }); + } else { + var keysIter = GetIteratorFromMethod(otherRec["[[Set]]"], otherRec["[[Keys]]"]); + var resultSetData = []; + $setForEach(O, function(e) { + $push(resultSetData, e); + }); + var next; + while (!keysIter["[[Done]]"]) { + next = IteratorStepValue(keysIter); + if (!keysIter["[[Done]]"]) { + if (next === 0) { + next = 0; + } + for (var i = 0; i < resultSetData.length; i += 1) { + if (SameValueZero(resultSetData[i], next)) { + resultSetData[i] = deleted; + } + } + } + } + forEach(resultSetData, function(e) { + if (e !== deleted) { + $setAdd(result, e); + } + }); + } + return result; + }; + } +}); + +// node_modules/set.prototype.difference/polyfill.js +var require_polyfill4 = __commonJS({ + "node_modules/set.prototype.difference/polyfill.js"(exports, module2) { + "use strict"; + var Set2 = require_polyfill2()(); + var implementation = require_implementation7(); + module2.exports = function getPolyfill() { + return typeof Set2.prototype.difference === "function" ? Set2.prototype.difference : implementation; + }; + } +}); + +// node_modules/globalthis/implementation.browser.js +var require_implementation_browser = __commonJS({ + "node_modules/globalthis/implementation.browser.js"(exports, module2) { + "use strict"; + if (typeof self !== "undefined") { + module2.exports = self; + } else if (typeof window !== "undefined") { + module2.exports = window; + } else { + module2.exports = Function("return this")(); + } + } +}); + +// node_modules/globalthis/polyfill.js +var require_polyfill5 = __commonJS({ + "node_modules/globalthis/polyfill.js"(exports, module2) { + "use strict"; + var implementation = require_implementation_browser(); + module2.exports = function getPolyfill() { + if (typeof global !== "object" || !global || global.Math !== Math || global.Array !== Array) { + return implementation; + } + return global; + }; + } +}); + +// node_modules/globalthis/shim.js +var require_shim3 = __commonJS({ + "node_modules/globalthis/shim.js"(exports, module2) { + "use strict"; + var define = require_define_properties(); + var getPolyfill = require_polyfill5(); + module2.exports = function shimGlobal() { + var polyfill = getPolyfill(); + if (define.supportsDescriptors) { + var descriptor = Object.getOwnPropertyDescriptor(polyfill, "globalThis"); + if (!descriptor || descriptor.configurable && (descriptor.enumerable || !descriptor.writable || globalThis !== polyfill)) { + Object.defineProperty(polyfill, "globalThis", { + configurable: true, + enumerable: false, + value: polyfill, + writable: true + }); + } + } else if (typeof globalThis !== "object" || globalThis !== polyfill) { + polyfill.globalThis = polyfill; + } + return polyfill; + }; + } +}); + +// node_modules/globalthis/index.js +var require_globalthis = __commonJS({ + "node_modules/globalthis/index.js"(exports, module2) { + "use strict"; + var defineProperties = require_define_properties(); + var implementation = require_implementation_browser(); + var getPolyfill = require_polyfill5(); + var shim = require_shim3(); + var polyfill = getPolyfill(); + var getGlobal = function() { + return polyfill; + }; + defineProperties(getGlobal, { + getPolyfill, + implementation, + shim + }); + module2.exports = getGlobal; + } +}); + +// node_modules/es-set/shim.js +var require_shim4 = __commonJS({ + "node_modules/es-set/shim.js"(exports, module2) { + "use strict"; + var callBind = require_call_bind(); + var define = require_define_properties(); + var Call = require_Call(); + var DefinePropertyOrThrow = require_DefinePropertyOrThrow(); + var globalThis2 = require_globalthis()(); + var hasPropertyDescriptors = require_has_property_descriptors(); + var getStopIterationIterator = require_stop_iteration_iterator(); + var getPolyfill = require_polyfill2(); + var support = require_support(); + var addIterator = require_helpers().addIterator; + var force = function() { + return true; + }; + var replaceGlobal = function(SetShim) { + define(globalThis2, { Set: SetShim }, { Set: force }); + return SetShim; + }; + module2.exports = function shimSet() { + if (typeof Set === "function") { + if (support.isGoogleTranslate()) { + delete Set.prototype.remove; + delete Set.prototype.items; + delete Set.prototype.map; + define(Set.prototype, { keys: Set.prototype.values }, { keys: force }); + } + if (support.setHasOldFirefoxInterface()) { + if (typeof (/* @__PURE__ */ new Set()).size === "function" && hasPropertyDescriptors()) { + var $size = callBind(Set.prototype.size); + DefinePropertyOrThrow(Set.prototype, "size", { + "[[Configurable]]": true, + "[[Enumerable]]": false, + "[[Get]]": function size() { + return $size(this); + } + }); + } + var $entries = callBind(Set.prototype.entries); + var $values = callBind(Set.prototype.values); + define(Set.prototype, { + entries: function entries() { + return getStopIterationIterator($entries(this)); + }, + values: function values() { + return getStopIterationIterator($values(this)); + } + }, { + entries: force, + values: force + }); + if (typeof Set.prototype.forEach !== "function") { + var $iterator = callBind(Set.prototype.iterator); + define( + Set.prototype, + { + forEach: function forEach(cb) { + var iterator = getStopIterationIterator($iterator(this)); + var thisArg = arguments.length > 1 ? arguments[1] : void 0; + var cbB = callBind(cb, thisArg); + var result = iterator.next(); + while (!result.done) { + cbB(result.value, result.value, this); + result = iterator.next(); + } + } + }, + { forEach: force } + ); + } + } + } + var OrigSet = typeof Set === "function" ? Set : null; + if (typeof Set !== "function" || !support.setCompliantConstructor()) { + OrigSet = getPolyfill(); + replaceGlobal(OrigSet); + } + var OrigSet$prototype = OrigSet.prototype; + var OrigSet$add = OrigSet$prototype.add; + var OrigSet$has = OrigSet$prototype.has; + var OrigSet$delete = OrigSet$prototype["delete"]; + if (!support.setUsesSameValueZero()) { + define(OrigSet.prototype, { + add: function add(v) { + Call(OrigSet$add, this, [v === 0 ? 0 : v]); + return this; + }, + "delete": function _delete(v) { + return Call(OrigSet$delete, this, [v === 0 ? 0 : v]); + }, + has: function has(v) { + return Call(OrigSet$has, this, [v === 0 ? 0 : v]); + } + }, { + add: force, + "delete": force, + has: force + }); + } else if (!support.setSupportsChaining()) { + define(OrigSet.prototype, { + add: function add(v) { + Call(OrigSet$add, this, [v]); + return this; + } + }, { add: force }); + } + if (!support.setKeysIsValues()) { + define(OrigSet.prototype, { keys: OrigSet.prototype.values }, { keys: force }); + } + if (!support.setHasCorrectName()) { + define(OrigSet.prototype, { + has: function has(v) { + return Call(OrigSet$has, this, v); + } + }, { has: force }); + } + if (Object.getPrototypeOf) { + addIterator(Object.getPrototypeOf(new OrigSet().values())); + } + return OrigSet; + }; + } +}); + +// node_modules/set.prototype.difference/shim.js +var require_shim5 = __commonJS({ + "node_modules/set.prototype.difference/shim.js"(exports, module2) { + "use strict"; + var getPolyfill = require_polyfill4(); + var define = require_define_properties(); + var shimSet = require_shim4(); + module2.exports = function shimSetDifference() { + shimSet(); + var polyfill = getPolyfill(); + define( + Set.prototype, + { difference: polyfill }, + { difference: function() { + return Set.prototype.difference !== polyfill; + } } + ); + return polyfill; + }; + } +}); + +// node_modules/set.prototype.difference/index.js +var require_set_prototype = __commonJS({ + "node_modules/set.prototype.difference/index.js"(exports, module2) { + "use strict"; + var callBind = require_call_bind(); + var define = require_define_properties(); + var implementation = require_implementation7(); + var getPolyfill = require_polyfill4(); + var shim = require_shim5(); + var bound = callBind(getPolyfill()); + define(bound, { + getPolyfill, + implementation, + shim + }); + module2.exports = bound; + } +}); + +// node_modules/set.prototype.intersection/aos/GetSetRecord.js +var require_GetSetRecord2 = __commonJS({ + "node_modules/set.prototype.intersection/aos/GetSetRecord.js"(exports, module2) { + "use strict"; + var $RangeError = require_range(); + var $TypeError = require_type(); + var Get = require_Get2(); + var IsCallable = require_IsCallable2(); + var ToIntegerOrInfinity = require_ToIntegerOrInfinity(); + var ToNumber = require_ToNumber(); + var Type = require_Type3(); + var isNaN2 = require_isNaN(); + var callBind = require_call_bind(); + var isSet = require_is_set(); + var stopIterationIterator = require_stop_iteration_iterator(); + module2.exports = function GetSetRecord(obj) { + if (Type(obj) !== "Object") { + throw new $TypeError("obj is not an Object"); + } + var rawSize = Get(obj, "size"); + var numSize = ToNumber(rawSize); + if (isNaN2(numSize)) { + throw new $TypeError("size is not a non-NaN Number"); + } + var intSize = ToIntegerOrInfinity(numSize); + if (intSize < 0) { + throw new $RangeError("set size must be non-negative"); + } + var has = Get(obj, "has"); + if (!IsCallable(has)) { + throw new $TypeError("has is not a function"); + } + var keys = Get(obj, "keys"); + if (!IsCallable(keys)) { + throw new $TypeError("keys is not a function"); + } + if (isSet(obj) && typeof StopIteration === "object") { + var boundKeys = callBind(keys); + keys = function keys2() { + return stopIterationIterator(boundKeys(this)); + }; + } + return { "[[Set]]": obj, "[[Size]]": intSize, "[[Has]]": has, "[[Keys]]": keys }; + }; + } +}); + +// node_modules/es-abstract/helpers/some.js +var require_some = __commonJS({ + "node_modules/es-abstract/helpers/some.js"(exports, module2) { + "use strict"; + module2.exports = function some(array, predicate) { + for (var i = 0; i < array.length; i += 1) { + if (predicate(array[i], i, array)) { + return true; + } + } + return false; + }; + } +}); + +// node_modules/set.prototype.intersection/aos/SetDataHas.js +var require_SetDataHas = __commonJS({ + "node_modules/set.prototype.intersection/aos/SetDataHas.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var IsArray = require_IsArray3(); + var SameValueZero = require_SameValueZero2(); + var some = require_some(); + module2.exports = function SetDataHas(setData, value) { + if (!IsArray(setData)) { + throw new $TypeError("`setData` must be a List"); + } + return some(setData, function(e) { + return SameValueZero(e, value); + }); + }; + } +}); + +// node_modules/set.prototype.intersection/implementation.js +var require_implementation8 = __commonJS({ + "node_modules/set.prototype.intersection/implementation.js"(exports, module2) { + "use strict"; + var $TypeError = require_type(); + var $Set = require_polyfill2()(); + var Call = require_Call2(); + var GetIteratorFromMethod = require_GetIteratorFromMethod2(); + var GetSetRecord = require_GetSetRecord2(); + var IteratorStepValue = require_IteratorStepValue(); + var SetDataHas = require_SetDataHas(); + var ToBoolean = require_ToBoolean2(); + var forEach = require_forEach(); + var callBind = require_call_bind(); + var callBound = require_callBound(); + var isSet = require_is_set(); + var tools = require_tools(); + var $setForEach = tools.forEach; + var $setAdd = tools.add; + var $setSize = tools.size; + var $push = callBound("Array.prototype.push"); + var $setHas = callBind($Set.prototype.has); + module2.exports = function intersection2(other) { + var O = this; + if (!isSet(O) && !(O instanceof $Set)) { + throw new $TypeError("Method Set.prototype.intersection called on incompatible receiver " + O); + } + var otherRec = GetSetRecord(other); + var resultSetData = []; + var thisSize = $setSize(O); + if (thisSize <= otherRec["[[Size]]"]) { + var index = 0; + $setForEach(O, function(e) { + if (index < thisSize) { + index += 1; + var inOther = ToBoolean(Call(otherRec["[[Has]]"], otherRec["[[Set]]"], [e])); + if (inOther) { + var alreadyInResult2 = SetDataHas(resultSetData, e); + if (!alreadyInResult2) { + $push(resultSetData, e); + thisSize += 1; + } + } + } + }); + } else { + var keysIter = GetIteratorFromMethod(otherRec["[[Set]]"], otherRec["[[Keys]]"]); + var next; + while (!keysIter["[[Done]]"]) { + next = IteratorStepValue(keysIter); + if (!keysIter["[[Done]]"]) { + if (next === 0) { + next = 0; + } + var alreadyInResult = SetDataHas(resultSetData, next); + var inThis = $setHas(O, next); + if (!alreadyInResult && inThis) { + $push(resultSetData, next); + } + } + } + } + var result = new $Set(); + forEach(resultSetData, function(e) { + $setAdd(result, e); + }); + return result; + }; + } +}); + +// node_modules/set.prototype.intersection/polyfill.js +var require_polyfill6 = __commonJS({ + "node_modules/set.prototype.intersection/polyfill.js"(exports, module2) { + "use strict"; + var Set2 = require_polyfill2()(); + var implementation = require_implementation8(); + module2.exports = function getPolyfill() { + return typeof Set2.prototype.intersection === "function" ? Set2.prototype.intersection : implementation; + }; + } +}); + +// node_modules/set.prototype.intersection/shim.js +var require_shim6 = __commonJS({ + "node_modules/set.prototype.intersection/shim.js"(exports, module2) { + "use strict"; + var getPolyfill = require_polyfill6(); + var define = require_define_properties(); + var shimSet = require_shim4(); + module2.exports = function shimSetIntersection() { + shimSet(); + var polyfill = getPolyfill(); + define( + Set.prototype, + { intersection: polyfill }, + { intersection: function() { + return Set.prototype.intersection !== polyfill; + } } + ); + return polyfill; + }; + } +}); + +// node_modules/set.prototype.intersection/index.js +var require_set_prototype2 = __commonJS({ + "node_modules/set.prototype.intersection/index.js"(exports, module2) { + "use strict"; + var callBind = require_call_bind(); + var define = require_define_properties(); + var implementation = require_implementation8(); + var getPolyfill = require_polyfill6(); + var shim = require_shim6(); + var bound = callBind(getPolyfill()); + define(bound, { + getPolyfill, + implementation, + shim + }); + module2.exports = bound; + } +}); + +// src/main.ts +var main_exports = {}; +__export(main_exports, { + default: () => LatexSuitePlugin +}); +module.exports = __toCommonJS(main_exports); +var import_state13 = require("@codemirror/state"); +var import_obsidian8 = require("obsidian"); + +// src/settings/file_watch.ts +var import_obsidian = require("obsidian"); + +// node_modules/valibot/dist/index.js +var ValiError = class extends Error { + /** + * Creates a Valibot error with useful information. + * + * @param issues The error issues. + */ + constructor(issues) { + super(issues[0].message); + __publicField(this, "issues"); + this.name = "ValiError"; + this.issues = issues; + } +}; +var BrandSymbol = Symbol("brand"); +function errorMessage(message) { + return typeof message === "function" ? message() : message; +} +function defaultArgs(arg1, arg2) { + return Array.isArray(arg1) ? [void 0, arg1] : [arg1, arg2]; +} +function parseResult(typed, output, issues) { + return { typed, output, issues }; +} +function restAndDefaultArgs(arg1, arg2, arg3) { + if (!arg1 || typeof arg1 === "object" && !Array.isArray(arg1)) { + const [error2, pipe2] = defaultArgs(arg2, arg3); + return [arg1, error2, pipe2]; + } + const [error, pipe] = defaultArgs( + arg1, + arg2 + ); + return [void 0, error, pipe]; +} +function pipeIssue(info, issue) { + return { + reason: info == null ? void 0 : info.reason, + validation: issue.validation, + origin: (info == null ? void 0 : info.origin) || "value", + message: issue.message, + input: issue.input, + requirement: issue == null ? void 0 : issue.requirement, + path: issue.path, + abortEarly: info == null ? void 0 : info.abortEarly, + abortPipeEarly: info == null ? void 0 : info.abortPipeEarly, + skipPipe: info == null ? void 0 : info.skipPipe + }; +} +function pipeInfo(info, reason) { + return { + reason, + origin: info == null ? void 0 : info.origin, + abortEarly: info == null ? void 0 : info.abortEarly, + abortPipeEarly: info == null ? void 0 : info.abortPipeEarly, + skipPipe: info == null ? void 0 : info.skipPipe + }; +} +function pipeResult(input, pipe, parseInfo, reason, issues) { + let info; + let output = input; + if ((pipe == null ? void 0 : pipe.length) && !(parseInfo == null ? void 0 : parseInfo.skipPipe)) { + for (const action of pipe) { + const result = action._parse(output); + if (result.issues) { + info = info || pipeInfo(parseInfo, reason); + for (const issueInfo of result.issues) { + const issue = pipeIssue(info, issueInfo); + issues ? issues.push(issue) : issues = [issue]; + } + if (info.abortEarly || info.abortPipeEarly) { + break; + } + } else { + output = result.output; + } + } + } + return parseResult(true, output, issues); +} +function schemaIssue(info, reason, validation, message, input, issues) { + return { + typed: false, + output: input, + issues: [ + { + reason, + validation, + origin: (info == null ? void 0 : info.origin) || "value", + message: errorMessage(message), + input, + issues, + abortEarly: info == null ? void 0 : info.abortEarly, + abortPipeEarly: info == null ? void 0 : info.abortPipeEarly, + skipPipe: info == null ? void 0 : info.skipPipe + } + ] + }; +} +function getDefault(schema) { + return typeof schema.default === "function" ? schema.default() : schema.default; +} +function instance(class_, arg2, arg3) { + const [message = "Invalid type", pipe] = defaultArgs(arg2, arg3); + return { + type: "instance", + async: false, + class: class_, + message, + pipe, + _parse(input, info) { + if (!(input instanceof this.class)) { + return schemaIssue(info, "type", "instance", this.message, input); + } + return pipeResult(input, this.pipe, info, "instance"); + } + }; +} +function number(arg1, arg2) { + const [message = "Invalid type", pipe] = defaultArgs(arg1, arg2); + return { + type: "number", + async: false, + message, + pipe, + _parse(input, info) { + if (typeof input !== "number" || isNaN(input)) { + return schemaIssue(info, "type", "number", this.message, input); + } + return pipeResult(input, this.pipe, info, "number"); + } + }; +} +function object(entries, arg2, arg3, arg4) { + const [rest, message = "Invalid type", pipe] = restAndDefaultArgs(arg2, arg3, arg4); + let cachedEntries; + return { + type: "object", + async: false, + entries, + rest, + message, + pipe, + _parse(input, info) { + if (!input || typeof input !== "object") { + return schemaIssue(info, "type", "object", this.message, input); + } + cachedEntries = cachedEntries || Object.entries(this.entries); + let typed = true; + let issues; + const output = {}; + for (const [key, schema] of cachedEntries) { + const value2 = input[key]; + const result = schema._parse(value2, info); + if (result.issues) { + const pathItem = { + type: "object", + input, + key, + value: value2 + }; + for (const issue of result.issues) { + if (issue.path) { + issue.path.unshift(pathItem); + } else { + issue.path = [pathItem]; + } + issues == null ? void 0 : issues.push(issue); + } + if (!issues) { + issues = result.issues; + } + if (info == null ? void 0 : info.abortEarly) { + typed = false; + break; + } + } + if (!result.typed) { + typed = false; + } + if (result.output !== void 0 || key in input) { + output[key] = result.output; + } + } + if (this.rest && !((info == null ? void 0 : info.abortEarly) && issues)) { + for (const key in input) { + if (!(key in this.entries)) { + const value2 = input[key]; + const result = this.rest._parse(value2, info); + if (result.issues) { + const pathItem = { + type: "object", + input, + key, + value: value2 + }; + for (const issue of result.issues) { + if (issue.path) { + issue.path.unshift(pathItem); + } else { + issue.path = [pathItem]; + } + issues == null ? void 0 : issues.push(issue); + } + if (!issues) { + issues = result.issues; + } + if (info == null ? void 0 : info.abortEarly) { + typed = false; + break; + } + } + if (!result.typed) { + typed = false; + } + output[key] = result.output; + } + } + } + if (typed) { + return pipeResult( + output, + this.pipe, + info, + "object", + issues + ); + } + return parseResult(false, output, issues); + } + }; +} +function optional(wrapped, default_) { + return { + type: "optional", + async: false, + wrapped, + default: default_, + _parse(input, info) { + if (input === void 0) { + const override = getDefault(this); + if (override === void 0) { + return parseResult(true, input); + } + input = override; + } + return this.wrapped._parse(input, info); + } + }; +} +function string(arg1, arg2) { + const [message = "Invalid type", pipe] = defaultArgs(arg1, arg2); + return { + type: "string", + async: false, + message, + pipe, + _parse(input, info) { + if (typeof input !== "string") { + return schemaIssue(info, "type", "string", this.message, input); + } + return pipeResult(input, this.pipe, info, "string"); + } + }; +} +function special(check, arg2, arg3) { + const [message = "Invalid type", pipe] = defaultArgs(arg2, arg3); + return { + type: "special", + async: false, + check, + message, + pipe, + _parse(input, info) { + if (!this.check(input)) { + return schemaIssue(info, "type", "special", this.message, input); + } + return pipeResult(input, this.pipe, info, "special"); + } + }; +} +function union(options, message = "Invalid type") { + return { + type: "union", + async: false, + options, + message, + _parse(input, info) { + let issues; + let output; + for (const schema of this.options) { + const result = schema._parse(input, info); + if (result.issues) { + if (issues) { + for (const issue of result.issues) { + issues.push(issue); + } + } else { + issues = result.issues; + } + } else { + output = [result.output]; + break; + } + } + if (output) { + return parseResult(true, output[0]); + } + return schemaIssue(info, "type", "union", this.message, input, issues); + } + }; +} +function parse(schema, input, info) { + const result = schema._parse(input, info); + if (result.issues) { + throw new ValiError(result.issues); + } + return result.output; +} + +// node_modules/js-base64/base64.mjs +var _hasbtoa = typeof btoa === "function"; +var _hasBuffer = typeof Buffer === "function"; +var _TD = typeof TextDecoder === "function" ? new TextDecoder() : void 0; +var _TE = typeof TextEncoder === "function" ? new TextEncoder() : void 0; +var b64ch = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/="; +var b64chs = Array.prototype.slice.call(b64ch); +var b64tab = ((a) => { + let tab = {}; + a.forEach((c, i) => tab[c] = i); + return tab; +})(b64chs); +var _fromCC = String.fromCharCode.bind(String); +var _U8Afrom = typeof Uint8Array.from === "function" ? Uint8Array.from.bind(Uint8Array) : (it) => new Uint8Array(Array.prototype.slice.call(it, 0)); +var _mkUriSafe = (src) => src.replace(/=/g, "").replace(/[+\/]/g, (m0) => m0 == "+" ? "-" : "_"); +var btoaPolyfill = (bin) => { + let u32, c0, c1, c2, asc = ""; + const pad = bin.length % 3; + for (let i = 0; i < bin.length; ) { + if ((c0 = bin.charCodeAt(i++)) > 255 || (c1 = bin.charCodeAt(i++)) > 255 || (c2 = bin.charCodeAt(i++)) > 255) + throw new TypeError("invalid character found"); + u32 = c0 << 16 | c1 << 8 | c2; + asc += b64chs[u32 >> 18 & 63] + b64chs[u32 >> 12 & 63] + b64chs[u32 >> 6 & 63] + b64chs[u32 & 63]; + } + return pad ? asc.slice(0, pad - 3) + "===".substring(pad) : asc; +}; +var _btoa = _hasbtoa ? (bin) => btoa(bin) : _hasBuffer ? (bin) => Buffer.from(bin, "binary").toString("base64") : btoaPolyfill; +var _fromUint8Array = _hasBuffer ? (u8a) => Buffer.from(u8a).toString("base64") : (u8a) => { + const maxargs = 4096; + let strs = []; + for (let i = 0, l = u8a.length; i < l; i += maxargs) { + strs.push(_fromCC.apply(null, u8a.subarray(i, i + maxargs))); + } + return _btoa(strs.join("")); +}; +var cb_utob = (c) => { + if (c.length < 2) { + var cc = c.charCodeAt(0); + return cc < 128 ? c : cc < 2048 ? _fromCC(192 | cc >>> 6) + _fromCC(128 | cc & 63) : _fromCC(224 | cc >>> 12 & 15) + _fromCC(128 | cc >>> 6 & 63) + _fromCC(128 | cc & 63); + } else { + var cc = 65536 + (c.charCodeAt(0) - 55296) * 1024 + (c.charCodeAt(1) - 56320); + return _fromCC(240 | cc >>> 18 & 7) + _fromCC(128 | cc >>> 12 & 63) + _fromCC(128 | cc >>> 6 & 63) + _fromCC(128 | cc & 63); + } +}; +var re_utob = /[\uD800-\uDBFF][\uDC00-\uDFFFF]|[^\x00-\x7F]/g; +var utob = (u) => u.replace(re_utob, cb_utob); +var _encode = _hasBuffer ? (s) => Buffer.from(s, "utf8").toString("base64") : _TE ? (s) => _fromUint8Array(_TE.encode(s)) : (s) => _btoa(utob(s)); +var encode = (src, urlsafe = false) => urlsafe ? _mkUriSafe(_encode(src)) : _encode(src); + +// src/snippets/snippets.ts +var VISUAL_SNIPPET_MAGIC_SELECTION_PLACEHOLDER = "${VISUAL}"; +var Snippet = class { + constructor(type, trigger, replacement, options, priority, description, excludedEnvironments) { + this.type = type; + this.data = { trigger, replacement }; + this.options = options; + this.priority = priority; + this.description = description; + this.excludedEnvironments = excludedEnvironments != null ? excludedEnvironments : []; + } + // we need to explicitly type the return value here so the derived classes, + // have the getter typed properly for the particular the derived class extends + get trigger() { + return this.data.trigger; + } + get replacement() { + return this.data.replacement; + } + toString() { + return serializeSnippetLike({ + type: this.type, + trigger: this.trigger, + replacement: this.replacement, + options: this.options, + priority: this.priority, + description: this.description, + excludedEnvironments: this.excludedEnvironments + }); + } +}; +var VisualSnippet = class extends Snippet { + constructor({ trigger, replacement, options, priority, description, excludedEnvironments }) { + super("visual", trigger, replacement, options, priority, description, excludedEnvironments); + } + process(effectiveLine, range, sel) { + const hasSelection = !!sel; + if (!hasSelection) { + return null; + } + if (!effectiveLine.endsWith(this.trigger)) { + return null; + } + const triggerPos = range.from; + let replacement; + if (typeof this.replacement === "string") { + replacement = this.replacement.replace(VISUAL_SNIPPET_MAGIC_SELECTION_PLACEHOLDER, sel); + } else { + replacement = this.replacement(sel); + if (typeof replacement !== "string") { + return null; + } + } + return { triggerPos, replacement }; + } +}; +var RegexSnippet = class extends Snippet { + constructor({ trigger, replacement, options, priority, description, excludedEnvironments }) { + super("regex", trigger, replacement, options, priority, description, excludedEnvironments); + } + process(effectiveLine, range, sel) { + const hasSelection = !!sel; + if (hasSelection) { + return null; + } + const result = this.trigger.exec(effectiveLine); + if (result === null) { + return null; + } + const triggerPos = result.index; + let replacement; + if (typeof this.replacement === "string") { + const nCaptureGroups = result.length - 1; + replacement = Array.from({ length: nCaptureGroups }).map((_, i) => i + 1).reduce( + (replacement2, i) => replacement2.replaceAll(`[[${i - 1}]]`, result[i]), + this.replacement + ); + } else { + replacement = this.replacement(result); + if (typeof replacement !== "string") { + return null; + } + } + return { triggerPos, replacement }; + } +}; +var StringSnippet = class extends Snippet { + constructor({ trigger, replacement, options, priority, description, excludedEnvironments: excludeIn }) { + super("string", trigger, replacement, options, priority, description, excludeIn); + } + process(effectiveLine, range, sel) { + const hasSelection = !!sel; + if (hasSelection) { + return null; + } + if (!effectiveLine.endsWith(this.trigger)) { + return null; + } + const triggerPos = effectiveLine.length - this.trigger.length; + const replacement = typeof this.replacement === "string" ? this.replacement : this.replacement(this.trigger); + if (typeof replacement !== "string") { + return null; + } + return { triggerPos, replacement }; + } +}; +function replacer(k, v) { + if (typeof v === "function") { + return "[[Function]]"; + } + if (v instanceof RegExp) { + return `[[RegExp]]: ${v.toString()}`; + } + return v; +} +function serializeSnippetLike(snippetLike) { + return JSON.stringify(snippetLike, replacer, 2); +} + +// src/snippets/options.ts +var Options = class _Options { + constructor() { + this.mode = new Mode(); + this.automatic = false; + this.regex = false; + this.onWordBoundary = false; + this.visual = false; + } + static fromSource(source) { + const options = new _Options(); + options.mode = Mode.fromSource(source); + for (const flag_char of source) { + switch (flag_char) { + case "A": + options.automatic = true; + break; + case "r": + options.regex = true; + break; + case "w": + options.onWordBoundary = true; + break; + case "v": + options.visual = true; + break; + } + } + return options; + } +}; +var Mode = class _Mode { + /** + * Whether the state is inside an equation bounded by $ or $$ delimeters. + */ + inEquation() { + return this.inlineMath || this.blockMath; + } + /** + * Whether the state is in any math mode. + * + * The equation may be bounded by $ or $$ delimeters, or it may be an equation inside a `math` codeblock. + */ + inMath() { + return this.inlineMath || this.blockMath || this.codeMath; + } + /** + * Whether the state is strictly in math mode. + * + * Returns false when the state is within math, but inside a text environment, such as \text{}. + */ + strictlyInMath() { + return this.inMath() && !this.textEnv; + } + constructor() { + this.text = false; + this.blockMath = false; + this.inlineMath = false; + this.code = false; + this.textEnv = false; + } + invert() { + this.text = !this.text; + this.blockMath = !this.blockMath; + this.inlineMath = !this.inlineMath; + this.codeMath = !this.codeMath; + this.code = !this.code; + this.textEnv = !this.textEnv; + } + static fromSource(source) { + const mode = new _Mode(); + for (const flag_char of source) { + switch (flag_char) { + case "m": + mode.blockMath = true; + mode.inlineMath = true; + break; + case "n": + mode.inlineMath = true; + break; + case "M": + mode.blockMath = true; + break; + case "t": + mode.text = true; + break; + case "c": + mode.code = true; + break; + } + } + if (!(mode.text || mode.inlineMath || mode.blockMath || mode.codeMath || mode.code || mode.textEnv)) { + mode.invert(); + return mode; + } + return mode; + } +}; + +// src/snippets/sort.ts +function sortSnippets(snippets2) { + return snippets2.map((snippet, i) => [getPriority(snippet), getTriggerLength(snippet), i]).sort(schwartzianSnippetCompare).map(([p, t2, i]) => snippets2[i]); +} +function schwartzianSnippetCompare(a, b) { + return comparePriority(a[0], b[0]) || compareTriggerLength(a[1], b[1]); +} +function compareTriggerLength(a, b) { + if (a < b) { + return 1; + } + if (a > b) { + return -1; + } + return 0; +} +function comparePriority(a, b) { + if (a < b) { + return 1; + } + if (a > b) { + return -1; + } + return 0; +} +function getPriority(snippet) { + return snippet.priority || 0; +} +function getTriggerLength(snippet) { + return typeof snippet.trigger === "string" ? snippet.trigger.length : snippet.trigger.source.length; +} + +// src/snippets/environment.ts +var EXCLUSIONS = { + "([A-Za-z])(\\d)": { openSymbol: "\\pu{", closeSymbol: "}" }, + "->": { openSymbol: "\\ce{", closeSymbol: "}" } +}; + +// src/snippets/parse.ts +function importRaw(maybeJavaScriptCode) { + return __async(this, null, function* () { + let raw; + try { + try { + raw = yield importModuleDefault(`data:text/javascript;base64,${encode(maybeJavaScriptCode)}`); + } catch (e) { + raw = yield importModuleDefault(`data:text/javascript;base64,${encode(`export default ${maybeJavaScriptCode}`)}`); + } + } catch (e) { + throw "Invalid format."; + } + return raw; + }); +} +function parseSnippetVariables(snippetVariablesStr) { + return __async(this, null, function* () { + const rawSnippetVariables = yield importRaw(snippetVariablesStr); + if (Array.isArray(rawSnippetVariables)) + throw "Cannot parse an array as a variables object"; + const snippetVariables = {}; + for (const [variable, value] of Object.entries(rawSnippetVariables)) { + if (variable.startsWith("${")) { + if (!variable.endsWith("}")) { + throw `Invalid snippet variable name '${variable}': Starts with '\${' but does not end with '}'. You need to have both or neither.`; + } + snippetVariables[variable] = value; + } else { + if (variable.endsWith("}")) { + throw `Invalid snippet variable name '${variable}': Ends with '}' but does not start with '\${'. You need to have both or neither.`; + } + snippetVariables["${" + variable + "}"] = value; + } + } + return snippetVariables; + }); +} +function parseSnippets(snippetsStr, snippetVariables) { + return __async(this, null, function* () { + let rawSnippets = yield importRaw(snippetsStr); + let parsedSnippets; + try { + rawSnippets = validateRawSnippets(rawSnippets); + parsedSnippets = rawSnippets.map((raw) => { + try { + return parseSnippet(raw, snippetVariables); + } catch (e) { + throw `${e} +Erroring snippet: +${serializeSnippetLike(raw)}`; + } + }); + } catch (e) { + throw `Invalid snippet format: ${e}`; + } + parsedSnippets = sortSnippets(parsedSnippets); + return parsedSnippets; + }); +} +function importModuleDefault(module2) { + return __async(this, null, function* () { + let data; + try { + data = yield import(module2); + } catch (e) { + throw `failed to import module ${module2}`; + } + if (!("default" in data)) { + throw `No default export provided for module ${module2}`; + } + return data.default; + }); +} +var RawSnippetSchema = object({ + trigger: union([string(), instance(RegExp)]), + replacement: union([string(), special((x) => typeof x === "function")]), + options: string(), + flags: optional(string()), + priority: optional(number()), + description: optional(string()) +}); +function validateRawSnippets(snippets2) { + if (!Array.isArray(snippets2)) { + throw "Expected snippets to be an array"; + } + return snippets2.map((raw) => { + try { + return parse(RawSnippetSchema, raw); + } catch (e) { + throw `Value does not resemble snippet. +Erroring snippet: +${serializeSnippetLike(raw)}`; + } + }); +} +function parseSnippet(raw, snippetVariables) { + var _a; + const { replacement, priority, description } = raw; + const options = Options.fromSource(raw.options); + let trigger; + let excludedEnvironments; + if (options.regex || raw.trigger instanceof RegExp) { + let triggerStr; + let flags = (_a = raw.flags) != null ? _a : ""; + if (raw.trigger instanceof RegExp) { + triggerStr = raw.trigger.source; + flags = `${raw.trigger.flags}${flags}`; + } else { + triggerStr = raw.trigger; + } + flags = filterFlags(flags); + triggerStr = insertSnippetVariables(triggerStr, snippetVariables); + excludedEnvironments = getExcludedEnvironments(triggerStr); + triggerStr = `${triggerStr}$`; + trigger = new RegExp(triggerStr, flags); + options.regex = true; + const normalised = { trigger, replacement, options, priority, description, excludedEnvironments }; + return new RegexSnippet(normalised); + } else { + let trigger2 = raw.trigger; + trigger2 = insertSnippetVariables(trigger2, snippetVariables); + excludedEnvironments = getExcludedEnvironments(trigger2); + if (typeof replacement === "string" && replacement.includes(VISUAL_SNIPPET_MAGIC_SELECTION_PLACEHOLDER)) { + options.visual = true; + } + const normalised = { trigger: trigger2, replacement, options, priority, description, excludedEnvironments }; + if (options.visual) { + return new VisualSnippet(normalised); + } else { + return new StringSnippet(normalised); + } + } +} +function filterFlags(flags) { + const validFlags = [ + // "d", // doesn't affect the search + // "g", // doesn't affect the pattern match and is almost certainly undesired behavior + "i", + "m", + "s", + "u", + "v" + // "y", // almost certainly undesired behavior + ]; + return Array.from(new Set(flags.split(""))).filter((flag) => validFlags.includes(flag)).join(""); +} +function insertSnippetVariables(trigger, variables) { + for (const [variable, replacement] of Object.entries(variables)) { + trigger = trigger.replace(variable, replacement); + } + return trigger; +} +function getExcludedEnvironments(trigger) { + const result = []; + if (EXCLUSIONS.hasOwnProperty(trigger)) { + result.push(EXCLUSIONS[trigger]); + } + return result; +} + +// src/settings/file_watch.ts +var import_set_prototype = __toESM(require_set_prototype()); +var import_set_prototype2 = __toESM(require_set_prototype2()); +var difference = import_set_prototype.default; +var intersection = import_set_prototype2.default; +function isInFolder(file, dir) { + let cur = file.parent; + let cnt = 0; + while (cur && !cur.isRoot() && cnt < 100) { + if (cur.path === dir.path) + return true; + cur = cur.parent; + cnt++; + } + return false; +} +function fileIsInFolder(plugin, folderPath, file) { + const snippetDir = plugin.app.vault.getAbstractFileByPath(folderPath); + const isFolder = snippetDir instanceof import_obsidian.TFolder; + return isFolder && isInFolder(file, snippetDir); +} +var refreshFromFiles = (0, import_obsidian.debounce)((plugin) => __async(void 0, null, function* () { + if (!(plugin.settings.loadSnippetVariablesFromFile || plugin.settings.loadSnippetsFromFile)) { + return; + } + yield plugin.processSettings(false, true); +}), 500, true); +var onFileChange = (plugin, file) => __async(void 0, null, function* () { + if (!(file instanceof import_obsidian.TFile)) + return; + if (plugin.settings.loadSnippetVariablesFromFile && file.path === plugin.settings.snippetVariablesFileLocation || plugin.settings.loadSnippetsFromFile && file.path === plugin.settings.snippetsFileLocation || fileIsInFolder(plugin, plugin.settings.snippetVariablesFileLocation, file) || fileIsInFolder(plugin, plugin.settings.snippetsFileLocation, file)) { + refreshFromFiles(plugin); + } +}); +var onFileCreate = (plugin, file) => { + if (!(file instanceof import_obsidian.TFile)) + return; + if (plugin.settings.loadSnippetVariablesFromFile && fileIsInFolder(plugin, plugin.settings.snippetVariablesFileLocation, file) || plugin.settings.loadSnippetsFromFile && fileIsInFolder(plugin, plugin.settings.snippetsFileLocation, file)) { + refreshFromFiles(plugin); + } +}; +var onFileDelete = (plugin, file) => { + if (!(file instanceof import_obsidian.TFile)) + return; + const snippetVariablesDir = plugin.app.vault.getAbstractFileByPath(plugin.settings.snippetVariablesFileLocation); + const snippetDir = plugin.app.vault.getAbstractFileByPath(plugin.settings.snippetsFileLocation); + if (plugin.settings.loadSnippetVariablesFromFile && snippetVariablesDir instanceof import_obsidian.TFolder && file.path.contains(snippetVariablesDir.path) || plugin.settings.loadSnippetsFromFile && snippetDir instanceof import_obsidian.TFolder && file.path.contains(snippetDir.path)) { + refreshFromFiles(plugin); + } +}; +function* generateFilesWithin(fileOrFolder) { + if (fileOrFolder instanceof import_obsidian.TFile) + yield fileOrFolder; + else if (fileOrFolder instanceof import_obsidian.TFolder) + for (const child of fileOrFolder.children) + yield* __yieldStar(generateFilesWithin(child)); +} +function getFilesWithin(vault, path) { + const fileOrFolder = vault.getAbstractFileByPath(path); + const files = generateFilesWithin(fileOrFolder); + return new Set(files); +} +function getFileSets(plugin) { + const variablesFolder = plugin.settings.loadSnippetVariablesFromFile ? getFilesWithin(plugin.app.vault, plugin.settings.snippetVariablesFileLocation) : /* @__PURE__ */ new Set(); + const snippetsFolder = plugin.settings.loadSnippetsFromFile ? getFilesWithin(plugin.app.vault, plugin.settings.snippetsFileLocation) : /* @__PURE__ */ new Set(); + const definitelyVariableFiles = difference(variablesFolder, snippetsFolder); + const definitelySnippetFiles = difference(snippetsFolder, variablesFolder); + const snippetOrVariableFiles = intersection(variablesFolder, snippetsFolder); + return { definitelyVariableFiles, definitelySnippetFiles, snippetOrVariableFiles }; +} +function getVariablesFromFiles(plugin, files) { + return __async(this, null, function* () { + const snippetVariables = {}; + for (const file of files.definitelyVariableFiles) { + const content = yield plugin.app.vault.cachedRead(file); + try { + Object.assign(snippetVariables, yield parseSnippetVariables(content)); + } catch (e) { + new import_obsidian.Notice(`Failed to parse variable file ${file.name}: ${e}`); + console.log(`Failed to parse variable file ${file.name}: ${e}`); + files.definitelyVariableFiles.delete(file); + } + } + return snippetVariables; + }); +} +function tryGetVariablesFromUnknownFiles(plugin, files) { + return __async(this, null, function* () { + const snippetVariables = {}; + for (const file of files.snippetOrVariableFiles) { + const content = yield plugin.app.vault.cachedRead(file); + try { + Object.assign(snippetVariables, yield parseSnippetVariables(content)); + files.definitelyVariableFiles.add(file); + } catch (e) { + files.definitelySnippetFiles.add(file); + } + files.snippetOrVariableFiles.delete(file); + } + return snippetVariables; + }); +} +function getSnippetsFromFiles(plugin, files, snippetVariables) { + return __async(this, null, function* () { + const snippets2 = []; + for (const file of files.definitelySnippetFiles) { + const content = yield plugin.app.vault.cachedRead(file); + try { + snippets2.push(...yield parseSnippets(content, snippetVariables)); + } catch (e) { + new import_obsidian.Notice(`Failed to parse snippet file ${file.name}: ${e}`); + console.log(`Failed to parse snippet file ${file.name}: ${e}`); + files.definitelySnippetFiles.delete(file); + } + } + return sortSnippets(snippets2); + }); +} + +// _cido53poa:/home/runner/work/obsidian-latex-suite/obsidian-latex-suite/src/default_snippets.js +var default_snippets_default = '[\n // Math mode\n {trigger: "mk", replacement: "$$0$", options: "tA"},\n {trigger: "dm", replacement: "$$\\n$0\\n$$", options: "tAw"},\n {trigger: "beg", replacement: "\\\\begin{$0}\\n$1\\n\\\\end{$0}", options: "mA"},\n\n // Dashes\n // {trigger: "--", replacement: "\u2013", options: "tA"},\n // {trigger: "\u2013-", replacement: "\u2014", options: "tA"},\n // {trigger: "\u2014-", replacement: "---", options: "tA"},\n\n // Greek letters\n {trigger: "@a", replacement: "\\\\alpha", options: "mA"},\n {trigger: "@b", replacement: "\\\\beta", options: "mA"},\n {trigger: "@g", replacement: "\\\\gamma", options: "mA"},\n {trigger: "@G", replacement: "\\\\Gamma", options: "mA"},\n {trigger: "@d", replacement: "\\\\delta", options: "mA"},\n {trigger: "@D", replacement: "\\\\Delta", options: "mA"},\n {trigger: "@e", replacement: "\\\\epsilon", options: "mA"},\n {trigger: ":e", replacement: "\\\\varepsilon", options: "mA"},\n {trigger: "@z", replacement: "\\\\zeta", options: "mA"},\n {trigger: "@t", replacement: "\\\\theta", options: "mA"},\n {trigger: "@T", replacement: "\\\\Theta", options: "mA"},\n {trigger: ":t", replacement: "\\\\vartheta", options: "mA"},\n {trigger: "@i", replacement: "\\\\iota", options: "mA"},\n {trigger: "@k", replacement: "\\\\kappa", options: "mA"},\n {trigger: "@l", replacement: "\\\\lambda", options: "mA"},\n {trigger: "@L", replacement: "\\\\Lambda", options: "mA"},\n {trigger: "@s", replacement: "\\\\sigma", options: "mA"},\n {trigger: "@S", replacement: "\\\\Sigma", options: "mA"},\n {trigger: "@u", replacement: "\\\\upsilon", options: "mA"},\n {trigger: "@U", replacement: "\\\\Upsilon", options: "mA"},\n {trigger: "@o", replacement: "\\\\omega", options: "mA"},\n {trigger: "@O", replacement: "\\\\Omega", options: "mA"},\n {trigger: "ome", replacement: "\\\\omega", options: "mA"},\n {trigger: "Ome", replacement: "\\\\Omega", options: "mA"},\n\n // Text environment\n {trigger: "text", replacement: "\\\\text{$0}$1", options: "mA"},\n {trigger: "\\"", replacement: "\\\\text{$0}$1", options: "mA"},\n\n // Basic operations\n {trigger: "sr", replacement: "^{2}", options: "mA"},\n {trigger: "cb", replacement: "^{3}", options: "mA"},\n {trigger: "rd", replacement: "^{$0}$1", options: "mA"},\n {trigger: "_", replacement: "_{$0}$1", options: "mA"},\n {trigger: "sts", replacement: "_\\\\text{$0}", options: "mA"},\n {trigger: "sq", replacement: "\\\\sqrt{ $0 }$1", options: "mA"},\n {trigger: "//", replacement: "\\\\frac{$0}{$1}$2", options: "mA"},\n {trigger: "ee", replacement: "e^{ $0 }$1", options: "mA"},\n {trigger: "invs", replacement: "^{-1}", options: "mA"},\n {trigger: /([A-Za-z])(\\d)/, replacement: "[[0]]_{[[1]]}", options: "rmA", description: "Auto letter subscript", priority: -1},\n\n {trigger: /([^\\\\])(exp|log|ln)/, replacement: "[[0]]\\\\[[1]]", options: "rmA"},\n {trigger: "conj", replacement: "^{*}", options: "mA"},\n {trigger: "Re", replacement: "\\\\mathrm{Re}", options: "mA"},\n {trigger: "Im", replacement: "\\\\mathrm{Im}", options: "mA"},\n {trigger: "bf", replacement: "\\\\mathbf{$0}", options: "mA"},\n {trigger: "rm", replacement: "\\\\mathrm{$0}$1", options: "mA"},\n\n // Linear algebra\n {trigger: /([^\\\\])(det)/, replacement: "[[0]]\\\\[[1]]", options: "rmA"},\n {trigger: "trace", replacement: "\\\\mathrm{Tr}", options: "mA"},\n\n // More operations\n {trigger: "([a-zA-Z])hat", replacement: "\\\\hat{[[0]]}", options: "rmA"},\n {trigger: "([a-zA-Z])bar", replacement: "\\\\bar{[[0]]}", options: "rmA"},\n {trigger: "([a-zA-Z])dot", replacement: "\\\\dot{[[0]]}", options: "rmA", priority: -1},\n {trigger: "([a-zA-Z])ddot", replacement: "\\\\ddot{[[0]]}", options: "rmA", priority: 1},\n {trigger: "([a-zA-Z])tilde", replacement: "\\\\tilde{[[0]]}", options: "rmA"},\n {trigger: "([a-zA-Z])und", replacement: "\\\\underline{[[0]]}", options: "rmA"},\n {trigger: "([a-zA-Z])vec", replacement: "\\\\vec{[[0]]}", options: "rmA"},\n {trigger: "([a-zA-Z]),\\\\.", replacement: "\\\\mathbf{[[0]]}", options: "rmA"},\n {trigger: "([a-zA-Z])\\\\.,", replacement: "\\\\mathbf{[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}),\\\\.", replacement: "\\\\boldsymbol{\\\\[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK})\\\\.,", replacement: "\\\\boldsymbol{\\\\[[0]]}", options: "rmA"},\n\n {trigger: "hat", replacement: "\\\\hat{$0}$1", options: "mA"},\n {trigger: "bar", replacement: "\\\\bar{$0}$1", options: "mA"},\n {trigger: "dot", replacement: "\\\\dot{$0}$1", options: "mA", priority: -1},\n {trigger: "ddot", replacement: "\\\\ddot{$0}$1", options: "mA"},\n {trigger: "cdot", replacement: "\\\\cdot", options: "mA"},\n {trigger: "tilde", replacement: "\\\\tilde{$0}$1", options: "mA"},\n {trigger: "und", replacement: "\\\\underline{$0}$1", options: "mA"},\n {trigger: "vec", replacement: "\\\\vec{$0}$1", options: "mA"},\n\n // More auto letter subscript\n {trigger: /([A-Za-z])_(\\d\\d)/, replacement: "[[0]]_{[[1]]}", options: "rmA"},\n {trigger: /\\\\hat{([A-Za-z])}(\\d)/, replacement: "\\\\hat{[[0]]}_{[[1]]}", options: "rmA"},\n {trigger: /\\\\vec{([A-Za-z])}(\\d)/, replacement: "\\\\vec{[[0]]}_{[[1]]}", options: "rmA"},\n {trigger: /\\\\mathbf{([A-Za-z])}(\\d)/, replacement: "\\\\mathbf{[[0]]}_{[[1]]}", options: "rmA"},\n\n {trigger: "xnn", replacement: "x_{n}", options: "mA"},\n {trigger: "\\\\xii", replacement: "x_{i}", options: "mA", priority: 1},\n {trigger: "xjj", replacement: "x_{j}", options: "mA"},\n {trigger: "xp1", replacement: "x_{n+1}", options: "mA"},\n {trigger: "ynn", replacement: "y_{n}", options: "mA"},\n {trigger: "yii", replacement: "y_{i}", options: "mA"},\n {trigger: "yjj", replacement: "y_{j}", options: "mA"},\n\n // Symbols\n {trigger: "ooo", replacement: "\\\\infty", options: "mA"},\n {trigger: "sum", replacement: "\\\\sum", options: "mA"},\n {trigger: "prod", replacement: "\\\\prod", options: "mA"},\n {trigger: "\\\\sum", replacement: "\\\\sum_{${0:i}=${1:1}}^{${2:N}} $3", options: "m"},\n {trigger: "\\\\prod", replacement: "\\\\prod_{${0:i}=${1:1}}^{${2:N}} $3", options: "m"},\n {trigger: "lim", replacement: "\\\\lim_{ ${0:n} \\\\to ${1:\\\\infty} } $2", options: "mA"},\n {trigger: "+-", replacement: "\\\\pm", options: "mA"},\n {trigger: "-+", replacement: "\\\\mp", options: "mA"},\n {trigger: "...", replacement: "\\\\dots", options: "mA"},\n {trigger: "nabl", replacement: "\\\\nabla", options: "mA"},\n {trigger: "del", replacement: "\\\\nabla", options: "mA"},\n {trigger: "xx", replacement: "\\\\times", options: "mA"},\n {trigger: "**", replacement: "\\\\cdot", options: "mA"},\n {trigger: "para", replacement: "\\\\parallel", options: "mA"},\n\n {trigger: "===", replacement: "\\\\equiv", options: "mA"},\n {trigger: "!=", replacement: "\\\\neq", options: "mA"},\n {trigger: ">=", replacement: "\\\\geq", options: "mA"},\n {trigger: "<=", replacement: "\\\\leq", options: "mA"},\n {trigger: ">>", replacement: "\\\\gg", options: "mA"},\n {trigger: "<<", replacement: "\\\\ll", options: "mA"},\n {trigger: "simm", replacement: "\\\\sim", options: "mA"},\n {trigger: "sim=", replacement: "\\\\simeq", options: "mA"},\n {trigger: "prop", replacement: "\\\\propto", options: "mA"},\n\n\n {trigger: "<->", replacement: "\\\\leftrightarrow ", options: "mA"},\n {trigger: "->", replacement: "\\\\to", options: "mA"},\n {trigger: "!>", replacement: "\\\\mapsto", options: "mA"},\n {trigger: "=>", replacement: "\\\\implies", options: "mA"},\n {trigger: "=<", replacement: "\\\\impliedby", options: "mA"},\n\n {trigger: "and", replacement: "\\\\cap", options: "mA"},\n {trigger: "orr", replacement: "\\\\cup", options: "mA"},\n {trigger: "inn", replacement: "\\\\in", options: "mA"},\n {trigger: "notin", replacement: "\\\\not\\\\in", options: "mA"},\n {trigger: "\\\\\\\\\\\\", replacement: "\\\\setminus", options: "mA"},\n {trigger: "sub=", replacement: "\\\\subseteq", options: "mA"},\n {trigger: "sup=", replacement: "\\\\supseteq", options: "mA"},\n {trigger: "eset", replacement: "\\\\emptyset", options: "mA"},\n {trigger: "set", replacement: "\\\\{ $0 \\\\}$1", options: "mA"},\n {trigger: "e\\\\xi sts", replacement: "\\\\exists", options: "mA", priority: 1},\n\n {trigger: "LL", replacement: "\\\\mathcal{L}", options: "mA"},\n {trigger: "HH", replacement: "\\\\mathcal{H}", options: "mA"},\n {trigger: "CC", replacement: "\\\\mathbb{C}", options: "mA"},\n {trigger: "RR", replacement: "\\\\mathbb{R}", options: "mA"},\n {trigger: "ZZ", replacement: "\\\\mathbb{Z}", options: "mA"},\n {trigger: "NN", replacement: "\\\\mathbb{N}", options: "mA"},\n\n // Handle spaces and backslashes\n\n // Snippet variables can be used as shortcuts when writing snippets.\n // For example, ${GREEK} below is shorthand for "alpha|beta|gamma|Gamma|delta|..."\n // You can edit snippet variables under the Advanced snippet settings section.\n\n {trigger: "([^\\\\\\\\])(${GREEK})", replacement: "[[0]]\\\\[[1]]", options: "rmA", description: "Add backslash before Greek letters"},\n {trigger: "([^\\\\\\\\])(${SYMBOL})", replacement: "[[0]]\\\\[[1]]", options: "rmA", description: "Add backslash before symbols"},\n\n // Insert space after Greek letters and symbols\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}|${MORE_SYMBOLS})([A-Za-z])", replacement: "\\\\[[0]] [[1]]", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) sr", replacement: "\\\\[[0]]^{2}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) cb", replacement: "\\\\[[0]]^{3}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) rd", replacement: "\\\\[[0]]^{$0}$1", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) hat", replacement: "\\\\hat{\\\\[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) dot", replacement: "\\\\dot{\\\\[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) bar", replacement: "\\\\bar{\\\\[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) vec", replacement: "\\\\vec{\\\\[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) tilde", replacement: "\\\\tilde{\\\\[[0]]}", options: "rmA"},\n {trigger: "\\\\\\\\(${GREEK}|${SYMBOL}) und", replacement: "\\\\underline{\\\\[[0]]}", options: "rmA"},\n\n\n // Derivatives and integrals\n {trigger: "par", replacement: "\\\\frac{ \\\\partial ${0:y} }{ \\\\partial ${1:x} } $2", options: "m"},\n {trigger: /pa([A-Za-z])([A-Za-z])/, replacement: "\\\\frac{ \\\\partial [[0]] }{ \\\\partial [[1]] } ", options: "rm"},\n {trigger: "ddt", replacement: "\\\\frac{d}{dt} ", options: "mA"},\n\n {trigger: /([^\\\\])int/, replacement: "[[0]]\\\\int", options: "mA", priority: -1},\n {trigger: "\\\\int", replacement: "\\\\int $0 \\\\, d${1:x} $2", options: "m"},\n {trigger: "dint", replacement: "\\\\int_{${0:0}}^{${1:1}} $2 \\\\, d${3:x} $4", options: "mA"},\n {trigger: "oint", replacement: "\\\\oint", options: "mA"},\n {trigger: "iint", replacement: "\\\\iint", options: "mA"},\n {trigger: "iiint", replacement: "\\\\iiint", options: "mA"},\n {trigger: "oinf", replacement: "\\\\int_{0}^{\\\\infty} $0 \\\\, d${1:x} $2", options: "mA"},\n {trigger: "infi", replacement: "\\\\int_{-\\\\infty}^{\\\\infty} $0 \\\\, d${1:x} $2", options: "mA"},\n\n\n // Trigonometry\n {trigger: /([^\\\\])(arcsin|sin|arccos|cos|arctan|tan|csc|sec|cot)/, replacement: "[[0]]\\\\[[1]]", options: "rmA", description: "Add backslash before trig funcs"},\n\n {trigger: /\\\\(arcsin|sin|arccos|cos|arctan|tan|csc|sec|cot)([A-Za-gi-z])/,\n replacement: "\\\\[[0]] [[1]]", options: "rmA",\n description: "Add space after trig funcs. Skips letter h to allow sinh, cosh, etc."},\n\n {trigger: /\\\\(sinh|cosh|tanh|coth)([A-Za-z])/,\n replacement: "\\\\[[0]] [[1]]", options: "rmA",\n description: "Add space after hyperbolic trig funcs"},\n\n\n // Visual operations\n {trigger: "U", replacement: "\\\\underbrace{ ${VISUAL} }_{ $0 }", options: "mA"},\n {trigger: "O", replacement: "\\\\overbrace{ ${VISUAL} }^{ $0 }", options: "mA"},\n {trigger: "B", replacement: "\\\\underset{ $0 }{ ${VISUAL} }", options: "mA"},\n {trigger: "C", replacement: "\\\\cancel{ ${VISUAL} }", options: "mA"},\n {trigger: "K", replacement: "\\\\cancelto{ $0 }{ ${VISUAL} }", options: "mA"},\n {trigger: "S", replacement: "\\\\sqrt{ ${VISUAL} }", options: "mA"},\n\n\n // Physics\n {trigger: "kbt", replacement: "k_{B}T", options: "mA"},\n {trigger: "msun", replacement: "M_{\\\\odot}", options: "mA"},\n\n // Quantum mechanics\n {trigger: "dag", replacement: "^{\\\\dagger}", options: "mA"},\n {trigger: "o+", replacement: "\\\\oplus ", options: "mA"},\n {trigger: "ox", replacement: "\\\\otimes ", options: "mA"},\n {trigger: "bra", replacement: "\\\\bra{$0} $1", options: "mA"},\n {trigger: "ket", replacement: "\\\\ket{$0} $1", options: "mA"},\n {trigger: "brk", replacement: "\\\\braket{ $0 | $1 } $2", options: "mA"},\n {trigger: "outer", replacement: "\\\\ket{${0:\\\\psi}} \\\\bra{${0:\\\\psi}} $1", options: "mA"},\n\n // Chemistry\n {trigger: "pu", replacement: "\\\\pu{ $0 }", options: "mA"},\n {trigger: "cee", replacement: "\\\\ce{ $0 }", options: "mA"},\n {trigger: "he4", replacement: "{}^{4}_{2}He ", options: "mA"},\n {trigger: "he3", replacement: "{}^{3}_{2}He ", options: "mA"},\n {trigger: "iso", replacement: "{}^{${0:4}}_{${1:2}}${2:He}", options: "mA"},\n\n\n // Environments\n {trigger: "pmat", replacement: "\\\\begin{pmatrix}\\n$0\\n\\\\end{pmatrix}", options: "MA"},\n {trigger: "bmat", replacement: "\\\\begin{bmatrix}\\n$0\\n\\\\end{bmatrix}", options: "MA"},\n {trigger: "Bmat", replacement: "\\\\begin{Bmatrix}\\n$0\\n\\\\end{Bmatrix}", options: "MA"},\n {trigger: "vmat", replacement: "\\\\begin{vmatrix}\\n$0\\n\\\\end{vmatrix}", options: "MA"},\n {trigger: "Vmat", replacement: "\\\\begin{Vmatrix}\\n$0\\n\\\\end{Vmatrix}", options: "MA"},\n {trigger: "matrix", replacement: "\\\\begin{matrix}\\n$0\\n\\\\end{matrix}", options: "MA"},\n\n {trigger: "pmat", replacement: "\\\\begin{pmatrix}$0\\\\end{pmatrix}", options: "nA"},\n {trigger: "bmat", replacement: "\\\\begin{bmatrix}$0\\\\end{bmatrix}", options: "nA"},\n {trigger: "Bmat", replacement: "\\\\begin{Bmatrix}$0\\\\end{Bmatrix}", options: "nA"},\n {trigger: "vmat", replacement: "\\\\begin{vmatrix}$0\\\\end{vmatrix}", options: "nA"},\n {trigger: "Vmat", replacement: "\\\\begin{Vmatrix}$0\\\\end{Vmatrix}", options: "nA"},\n {trigger: "matrix", replacement: "\\\\begin{matrix}$0\\\\end{matrix}", options: "nA"},\n\n {trigger: "cases", replacement: "\\\\begin{cases}\\n$0\\n\\\\end{cases}", options: "mA"},\n {trigger: "align", replacement: "\\\\begin{align}\\n$0\\n\\\\end{align}", options: "mA"},\n {trigger: "array", replacement: "\\\\begin{array}\\n$0\\n\\\\end{array}", options: "mA"},\n\n\n // Brackets\n {trigger: "avg", replacement: "\\\\langle $0 \\\\rangle $1", options: "mA"},\n {trigger: "norm", replacement: "\\\\lvert $0 \\\\rvert $1", options: "mA", priority: 1},\n {trigger: "Norm", replacement: "\\\\lVert $0 \\\\rVert $1", options: "mA", priority: 1},\n {trigger: "ceil", replacement: "\\\\lceil $0 \\\\rceil $1", options: "mA"},\n {trigger: "floor", replacement: "\\\\lfloor $0 \\\\rfloor $1", options: "mA"},\n {trigger: "mod", replacement: "|$0|$1", options: "mA"},\n {trigger: "(", replacement: "(${VISUAL})", options: "mA"},\n {trigger: "[", replacement: "[${VISUAL}]", options: "mA"},\n {trigger: "{", replacement: "{${VISUAL}}", options: "mA"},\n {trigger: "(", replacement: "($0)$1", options: "mA"},\n {trigger: "{", replacement: "{$0}$1", options: "mA"},\n {trigger: "[", replacement: "[$0]$1", options: "mA"},\n {trigger: "lr(", replacement: "\\\\left( $0 \\\\right) $1", options: "mA"},\n {trigger: "lr{", replacement: "\\\\left\\\\{ $0 \\\\right\\\\} $1", options: "mA"},\n {trigger: "lr[", replacement: "\\\\left[ $0 \\\\right] $1", options: "mA"},\n {trigger: "lr|", replacement: "\\\\left| $0 \\\\right| $1", options: "mA"},\n {trigger: "lra", replacement: "\\\\left< $0 \\\\right> $1", options: "mA"},\n\n\n // Misc\n\n // Automatically convert standalone letters in text to math (except a, A, I).\n // (Un-comment to enable)\n // {trigger: /([^\'])\\b([B-HJ-Zb-z])\\b([\\n\\s.,?!:\'])/, replacement: "[[0]]$[[1]]$[[2]]", options: "tA"},\n\n // Automatically convert Greek letters in text to math.\n // {trigger: "(${GREEK})([\\\\n\\\\s.,?!:\'])", replacement: "$\\\\[[0]]$[[1]]", options: "rtAw"},\n\n // Automatically convert text of the form "x=2" and "x=n+1" to math.\n // {trigger: /([A-Za-z]=\\d+)([\\n\\s.,?!:\'])/, replacement: "$[[0]]$[[1]]", options: "rtAw"},\n // {trigger: /([A-Za-z]=[A-Za-z][+-]\\d+)([\\n\\s.,?!:\'])/, replacement: "$[[0]]$[[1]]", options: "tAw"},\n\n\n // Snippet replacements can have placeholders.\n {trigger: "tayl", replacement: "${0:f}(${1:x} + ${2:h}) = ${0:f}(${1:x}) + ${0:f}\'(${1:x})${2:h} + ${0:f}\'\'(${1:x}) \\\\frac{${2:h}^{2}}{2!} + \\\\dots$3", options: "mA", description: "Taylor expansion"},\n\n // Snippet replacements can also be JavaScript functions.\n // See the documentation for more information.\n {trigger: /iden(\\d)/, replacement: (match) => {\n const n = match[1];\n\n let arr = [];\n for (let j = 0; j < n; j++) {\n arr[j] = [];\n for (let i = 0; i < n; i++) {\n arr[j][i] = (i === j) ? 1 : 0;\n }\n }\n\n let output = arr.map(el => el.join(" & ")).join(" \\\\\\\\\\n");\n output = `\\\\begin{pmatrix}\\n${output}\\n\\\\end{pmatrix}`;\n return output;\n }, options: "mA", description: "N x N identity matrix"},\n]\n'; + +// src/utils/default_snippets.ts +var DEFAULT_SNIPPETS = default_snippets_default; + +// _cido53poa:/home/runner/work/obsidian-latex-suite/obsidian-latex-suite/src/default_snippet_variables.js +var default_snippet_variables_default = '{\n "${GREEK}": "alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|vartheta|Theta|iota|kappa|lambda|Lambda|mu|nu|xi|omicron|pi|rho|varrho|sigma|Sigma|tau|upsilon|Upsilon|phi|varphi|Phi|chi|psi|omega|Omega",\n "${SYMBOL}": "parallel|perp|partial|nabla|hbar|ell|infty|oplus|ominus|otimes|oslash|square|star|dagger|vee|wedge|subseteq|subset|supseteq|supset|emptyset|exists|nexists|forall|implies|impliedby|iff|setminus|neg|lor|land|bigcup|bigcap|cdot|times|simeq|approx",\n "${MORE_SYMBOLS}": "leq|geq|neq|gg|ll|equiv|sim|propto|rightarrow|leftarrow|Rightarrow|Leftarrow|leftrightarrow|to|mapsto|cap|cup|in|sum|prod|exp|ln|log|det|dots|vdots|ddots|pm|mp|int|iint|iiint|oint"\n}\n'; + +// src/utils/default_snippet_variables.ts +var DEFAULT_SNIPPET_VARIABLES = default_snippet_variables_default; + +// src/settings/settings.ts +var DEFAULT_SETTINGS = { + snippets: DEFAULT_SNIPPETS, + snippetVariables: DEFAULT_SNIPPET_VARIABLES, + // Basic settings + snippetsEnabled: true, + snippetsTrigger: "Tab", + suppressSnippetTriggerOnIME: true, + removeSnippetWhitespace: true, + autoDelete$: true, + loadSnippetsFromFile: false, + loadSnippetVariablesFromFile: false, + snippetsFileLocation: "", + snippetVariablesFileLocation: "", + concealEnabled: false, + concealRevealTimeout: 0, + colorPairedBracketsEnabled: true, + highlightCursorBracketsEnabled: true, + mathPreviewEnabled: true, + mathPreviewPositionIsAbove: true, + autofractionEnabled: true, + autofractionSymbol: "\\frac", + autofractionBreakingChars: "+-= ", + matrixShortcutsEnabled: true, + taboutEnabled: true, + autoEnlargeBrackets: true, + wordDelimiters: "., +-\\n :;!?\\/{}[]()=~$", + // Raw settings + autofractionExcludedEnvs: `[ + ["^{", "}"], + ["\\\\pu{", "}"] + ]`, + matrixShortcutsEnvNames: "pmatrix, cases, align, gather, bmatrix, Bmatrix, vmatrix, Vmatrix, array, matrix", + autoEnlargeBracketsTriggers: "sum, int, frac, prod, bigcup, bigcap", + forceMathLanguages: "math" +}; +function processLatexSuiteSettings(snippets2, settings) { + function strToArray(str) { + return str.replace(/\s/g, "").split(","); + } + function getAutofractionExcludedEnvs(envsStr) { + let envs = []; + try { + const envsJSON = JSON.parse(envsStr); + envs = envsJSON.map(function(env) { + return { openSymbol: env[0], closeSymbol: env[1] }; + }); + } catch (e) { + console.log(e); + } + return envs; + } + return __spreadProps(__spreadValues({}, settings), { + // Override raw settings with parsed settings + snippets: snippets2, + autofractionExcludedEnvs: getAutofractionExcludedEnvs(settings.autofractionExcludedEnvs), + matrixShortcutsEnvNames: strToArray(settings.matrixShortcutsEnvNames), + autoEnlargeBracketsTriggers: strToArray(settings.autoEnlargeBracketsTriggers), + forceMathLanguages: strToArray(settings.forceMathLanguages) + }); +} + +// src/settings/settings_tab.ts +var import_state3 = require("@codemirror/state"); +var import_view4 = require("@codemirror/view"); +var import_obsidian4 = require("obsidian"); + +// src/settings/ui/file_suggest.ts +var import_obsidian3 = require("obsidian"); + +// node_modules/@popperjs/core/lib/enums.js +var top = "top"; +var bottom = "bottom"; +var right = "right"; +var left = "left"; +var auto = "auto"; +var basePlacements = [top, bottom, right, left]; +var start = "start"; +var end = "end"; +var clippingParents = "clippingParents"; +var viewport = "viewport"; +var popper = "popper"; +var reference = "reference"; +var variationPlacements = /* @__PURE__ */ basePlacements.reduce(function(acc, placement) { + return acc.concat([placement + "-" + start, placement + "-" + end]); +}, []); +var placements = /* @__PURE__ */ [].concat(basePlacements, [auto]).reduce(function(acc, placement) { + return acc.concat([placement, placement + "-" + start, placement + "-" + end]); +}, []); +var beforeRead = "beforeRead"; +var read = "read"; +var afterRead = "afterRead"; +var beforeMain = "beforeMain"; +var main = "main"; +var afterMain = "afterMain"; +var beforeWrite = "beforeWrite"; +var write = "write"; +var afterWrite = "afterWrite"; +var modifierPhases = [beforeRead, read, afterRead, beforeMain, main, afterMain, beforeWrite, write, afterWrite]; + +// node_modules/@popperjs/core/lib/dom-utils/getNodeName.js +function getNodeName(element) { + return element ? (element.nodeName || "").toLowerCase() : null; +} + +// node_modules/@popperjs/core/lib/dom-utils/getWindow.js +function getWindow(node) { + if (node == null) { + return window; + } + if (node.toString() !== "[object Window]") { + var ownerDocument = node.ownerDocument; + return ownerDocument ? ownerDocument.defaultView || window : window; + } + return node; +} + +// node_modules/@popperjs/core/lib/dom-utils/instanceOf.js +function isElement(node) { + var OwnElement = getWindow(node).Element; + return node instanceof OwnElement || node instanceof Element; +} +function isHTMLElement(node) { + var OwnElement = getWindow(node).HTMLElement; + return node instanceof OwnElement || node instanceof HTMLElement; +} +function isShadowRoot(node) { + if (typeof ShadowRoot === "undefined") { + return false; + } + var OwnElement = getWindow(node).ShadowRoot; + return node instanceof OwnElement || node instanceof ShadowRoot; +} + +// node_modules/@popperjs/core/lib/modifiers/applyStyles.js +function applyStyles(_ref) { + var state = _ref.state; + Object.keys(state.elements).forEach(function(name) { + var style = state.styles[name] || {}; + var attributes = state.attributes[name] || {}; + var element = state.elements[name]; + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function(name2) { + var value = attributes[name2]; + if (value === false) { + element.removeAttribute(name2); + } else { + element.setAttribute(name2, value === true ? "" : value); + } + }); + }); +} +function effect(_ref2) { + var state = _ref2.state; + var initialStyles = { + popper: { + position: state.options.strategy, + left: "0", + top: "0", + margin: "0" + }, + arrow: { + position: "absolute" + }, + reference: {} + }; + Object.assign(state.elements.popper.style, initialStyles.popper); + state.styles = initialStyles; + if (state.elements.arrow) { + Object.assign(state.elements.arrow.style, initialStyles.arrow); + } + return function() { + Object.keys(state.elements).forEach(function(name) { + var element = state.elements[name]; + var attributes = state.attributes[name] || {}; + var styleProperties = Object.keys(state.styles.hasOwnProperty(name) ? state.styles[name] : initialStyles[name]); + var style = styleProperties.reduce(function(style2, property) { + style2[property] = ""; + return style2; + }, {}); + if (!isHTMLElement(element) || !getNodeName(element)) { + return; + } + Object.assign(element.style, style); + Object.keys(attributes).forEach(function(attribute) { + element.removeAttribute(attribute); + }); + }); + }; +} +var applyStyles_default = { + name: "applyStyles", + enabled: true, + phase: "write", + fn: applyStyles, + effect, + requires: ["computeStyles"] +}; + +// node_modules/@popperjs/core/lib/utils/getBasePlacement.js +function getBasePlacement(placement) { + return placement.split("-")[0]; +} + +// node_modules/@popperjs/core/lib/utils/math.js +var max = Math.max; +var min = Math.min; +var round = Math.round; + +// node_modules/@popperjs/core/lib/dom-utils/getBoundingClientRect.js +function getBoundingClientRect(element, includeScale) { + if (includeScale === void 0) { + includeScale = false; + } + var rect = element.getBoundingClientRect(); + var scaleX = 1; + var scaleY = 1; + if (isHTMLElement(element) && includeScale) { + var offsetHeight = element.offsetHeight; + var offsetWidth = element.offsetWidth; + if (offsetWidth > 0) { + scaleX = round(rect.width) / offsetWidth || 1; + } + if (offsetHeight > 0) { + scaleY = round(rect.height) / offsetHeight || 1; + } + } + return { + width: rect.width / scaleX, + height: rect.height / scaleY, + top: rect.top / scaleY, + right: rect.right / scaleX, + bottom: rect.bottom / scaleY, + left: rect.left / scaleX, + x: rect.left / scaleX, + y: rect.top / scaleY + }; +} + +// node_modules/@popperjs/core/lib/dom-utils/getLayoutRect.js +function getLayoutRect(element) { + var clientRect = getBoundingClientRect(element); + var width = element.offsetWidth; + var height = element.offsetHeight; + if (Math.abs(clientRect.width - width) <= 1) { + width = clientRect.width; + } + if (Math.abs(clientRect.height - height) <= 1) { + height = clientRect.height; + } + return { + x: element.offsetLeft, + y: element.offsetTop, + width, + height + }; +} + +// node_modules/@popperjs/core/lib/dom-utils/contains.js +function contains(parent, child) { + var rootNode = child.getRootNode && child.getRootNode(); + if (parent.contains(child)) { + return true; + } else if (rootNode && isShadowRoot(rootNode)) { + var next = child; + do { + if (next && parent.isSameNode(next)) { + return true; + } + next = next.parentNode || next.host; + } while (next); + } + return false; +} + +// node_modules/@popperjs/core/lib/dom-utils/getComputedStyle.js +function getComputedStyle(element) { + return getWindow(element).getComputedStyle(element); +} + +// node_modules/@popperjs/core/lib/dom-utils/isTableElement.js +function isTableElement(element) { + return ["table", "td", "th"].indexOf(getNodeName(element)) >= 0; +} + +// node_modules/@popperjs/core/lib/dom-utils/getDocumentElement.js +function getDocumentElement(element) { + return ((isElement(element) ? element.ownerDocument : ( + // $FlowFixMe[prop-missing] + element.document + )) || window.document).documentElement; +} + +// node_modules/@popperjs/core/lib/dom-utils/getParentNode.js +function getParentNode(element) { + if (getNodeName(element) === "html") { + return element; + } + return ( + // this is a quicker (but less type safe) way to save quite some bytes from the bundle + // $FlowFixMe[incompatible-return] + // $FlowFixMe[prop-missing] + element.assignedSlot || // step into the shadow DOM of the parent of a slotted node + element.parentNode || // DOM Element detected + (isShadowRoot(element) ? element.host : null) || // ShadowRoot detected + // $FlowFixMe[incompatible-call]: HTMLElement is a Node + getDocumentElement(element) + ); +} + +// node_modules/@popperjs/core/lib/dom-utils/getOffsetParent.js +function getTrueOffsetParent(element) { + if (!isHTMLElement(element) || // https://github.com/popperjs/popper-core/issues/837 + getComputedStyle(element).position === "fixed") { + return null; + } + return element.offsetParent; +} +function getContainingBlock(element) { + var isFirefox = navigator.userAgent.toLowerCase().indexOf("firefox") !== -1; + var isIE = navigator.userAgent.indexOf("Trident") !== -1; + if (isIE && isHTMLElement(element)) { + var elementCss = getComputedStyle(element); + if (elementCss.position === "fixed") { + return null; + } + } + var currentNode = getParentNode(element); + if (isShadowRoot(currentNode)) { + currentNode = currentNode.host; + } + while (isHTMLElement(currentNode) && ["html", "body"].indexOf(getNodeName(currentNode)) < 0) { + var css = getComputedStyle(currentNode); + if (css.transform !== "none" || css.perspective !== "none" || css.contain === "paint" || ["transform", "perspective"].indexOf(css.willChange) !== -1 || isFirefox && css.willChange === "filter" || isFirefox && css.filter && css.filter !== "none") { + return currentNode; + } else { + currentNode = currentNode.parentNode; + } + } + return null; +} +function getOffsetParent(element) { + var window2 = getWindow(element); + var offsetParent = getTrueOffsetParent(element); + while (offsetParent && isTableElement(offsetParent) && getComputedStyle(offsetParent).position === "static") { + offsetParent = getTrueOffsetParent(offsetParent); + } + if (offsetParent && (getNodeName(offsetParent) === "html" || getNodeName(offsetParent) === "body" && getComputedStyle(offsetParent).position === "static")) { + return window2; + } + return offsetParent || getContainingBlock(element) || window2; +} + +// node_modules/@popperjs/core/lib/utils/getMainAxisFromPlacement.js +function getMainAxisFromPlacement(placement) { + return ["top", "bottom"].indexOf(placement) >= 0 ? "x" : "y"; +} + +// node_modules/@popperjs/core/lib/utils/within.js +function within(min2, value, max2) { + return max(min2, min(value, max2)); +} +function withinMaxClamp(min2, value, max2) { + var v = within(min2, value, max2); + return v > max2 ? max2 : v; +} + +// node_modules/@popperjs/core/lib/utils/getFreshSideObject.js +function getFreshSideObject() { + return { + top: 0, + right: 0, + bottom: 0, + left: 0 + }; +} + +// node_modules/@popperjs/core/lib/utils/mergePaddingObject.js +function mergePaddingObject(paddingObject) { + return Object.assign({}, getFreshSideObject(), paddingObject); +} + +// node_modules/@popperjs/core/lib/utils/expandToHashMap.js +function expandToHashMap(value, keys) { + return keys.reduce(function(hashMap, key) { + hashMap[key] = value; + return hashMap; + }, {}); +} + +// node_modules/@popperjs/core/lib/modifiers/arrow.js +var toPaddingObject = function toPaddingObject2(padding, state) { + padding = typeof padding === "function" ? padding(Object.assign({}, state.rects, { + placement: state.placement + })) : padding; + return mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); +}; +function arrow(_ref) { + var _state$modifiersData$; + var state = _ref.state, name = _ref.name, options = _ref.options; + var arrowElement = state.elements.arrow; + var popperOffsets2 = state.modifiersData.popperOffsets; + var basePlacement = getBasePlacement(state.placement); + var axis = getMainAxisFromPlacement(basePlacement); + var isVertical = [left, right].indexOf(basePlacement) >= 0; + var len = isVertical ? "height" : "width"; + if (!arrowElement || !popperOffsets2) { + return; + } + var paddingObject = toPaddingObject(options.padding, state); + var arrowRect = getLayoutRect(arrowElement); + var minProp = axis === "y" ? top : left; + var maxProp = axis === "y" ? bottom : right; + var endDiff = state.rects.reference[len] + state.rects.reference[axis] - popperOffsets2[axis] - state.rects.popper[len]; + var startDiff = popperOffsets2[axis] - state.rects.reference[axis]; + var arrowOffsetParent = getOffsetParent(arrowElement); + var clientSize = arrowOffsetParent ? axis === "y" ? arrowOffsetParent.clientHeight || 0 : arrowOffsetParent.clientWidth || 0 : 0; + var centerToReference = endDiff / 2 - startDiff / 2; + var min2 = paddingObject[minProp]; + var max2 = clientSize - arrowRect[len] - paddingObject[maxProp]; + var center = clientSize / 2 - arrowRect[len] / 2 + centerToReference; + var offset2 = within(min2, center, max2); + var axisProp = axis; + state.modifiersData[name] = (_state$modifiersData$ = {}, _state$modifiersData$[axisProp] = offset2, _state$modifiersData$.centerOffset = offset2 - center, _state$modifiersData$); +} +function effect2(_ref2) { + var state = _ref2.state, options = _ref2.options; + var _options$element = options.element, arrowElement = _options$element === void 0 ? "[data-popper-arrow]" : _options$element; + if (arrowElement == null) { + return; + } + if (typeof arrowElement === "string") { + arrowElement = state.elements.popper.querySelector(arrowElement); + if (!arrowElement) { + return; + } + } + if (true) { + if (!isHTMLElement(arrowElement)) { + console.error(['Popper: "arrow" element must be an HTMLElement (not an SVGElement).', "To use an SVG arrow, wrap it in an HTMLElement that will be used as", "the arrow."].join(" ")); + } + } + if (!contains(state.elements.popper, arrowElement)) { + if (true) { + console.error(['Popper: "arrow" modifier\'s `element` must be a child of the popper', "element."].join(" ")); + } + return; + } + state.elements.arrow = arrowElement; +} +var arrow_default = { + name: "arrow", + enabled: true, + phase: "main", + fn: arrow, + effect: effect2, + requires: ["popperOffsets"], + requiresIfExists: ["preventOverflow"] +}; + +// node_modules/@popperjs/core/lib/utils/getVariation.js +function getVariation(placement) { + return placement.split("-")[1]; +} + +// node_modules/@popperjs/core/lib/modifiers/computeStyles.js +var unsetSides = { + top: "auto", + right: "auto", + bottom: "auto", + left: "auto" +}; +function roundOffsetsByDPR(_ref) { + var x = _ref.x, y = _ref.y; + var win = window; + var dpr = win.devicePixelRatio || 1; + return { + x: round(x * dpr) / dpr || 0, + y: round(y * dpr) / dpr || 0 + }; +} +function mapToStyles(_ref2) { + var _Object$assign2; + var popper2 = _ref2.popper, popperRect = _ref2.popperRect, placement = _ref2.placement, variation = _ref2.variation, offsets = _ref2.offsets, position = _ref2.position, gpuAcceleration = _ref2.gpuAcceleration, adaptive = _ref2.adaptive, roundOffsets = _ref2.roundOffsets, isFixed = _ref2.isFixed; + var _offsets$x = offsets.x, x = _offsets$x === void 0 ? 0 : _offsets$x, _offsets$y = offsets.y, y = _offsets$y === void 0 ? 0 : _offsets$y; + var _ref3 = typeof roundOffsets === "function" ? roundOffsets({ + x, + y + }) : { + x, + y + }; + x = _ref3.x; + y = _ref3.y; + var hasX = offsets.hasOwnProperty("x"); + var hasY = offsets.hasOwnProperty("y"); + var sideX = left; + var sideY = top; + var win = window; + if (adaptive) { + var offsetParent = getOffsetParent(popper2); + var heightProp = "clientHeight"; + var widthProp = "clientWidth"; + if (offsetParent === getWindow(popper2)) { + offsetParent = getDocumentElement(popper2); + if (getComputedStyle(offsetParent).position !== "static" && position === "absolute") { + heightProp = "scrollHeight"; + widthProp = "scrollWidth"; + } + } + offsetParent = offsetParent; + if (placement === top || (placement === left || placement === right) && variation === end) { + sideY = bottom; + var offsetY = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.height : ( + // $FlowFixMe[prop-missing] + offsetParent[heightProp] + ); + y -= offsetY - popperRect.height; + y *= gpuAcceleration ? 1 : -1; + } + if (placement === left || (placement === top || placement === bottom) && variation === end) { + sideX = right; + var offsetX = isFixed && offsetParent === win && win.visualViewport ? win.visualViewport.width : ( + // $FlowFixMe[prop-missing] + offsetParent[widthProp] + ); + x -= offsetX - popperRect.width; + x *= gpuAcceleration ? 1 : -1; + } + } + var commonStyles = Object.assign({ + position + }, adaptive && unsetSides); + var _ref4 = roundOffsets === true ? roundOffsetsByDPR({ + x, + y + }) : { + x, + y + }; + x = _ref4.x; + y = _ref4.y; + if (gpuAcceleration) { + var _Object$assign; + return Object.assign({}, commonStyles, (_Object$assign = {}, _Object$assign[sideY] = hasY ? "0" : "", _Object$assign[sideX] = hasX ? "0" : "", _Object$assign.transform = (win.devicePixelRatio || 1) <= 1 ? "translate(" + x + "px, " + y + "px)" : "translate3d(" + x + "px, " + y + "px, 0)", _Object$assign)); + } + return Object.assign({}, commonStyles, (_Object$assign2 = {}, _Object$assign2[sideY] = hasY ? y + "px" : "", _Object$assign2[sideX] = hasX ? x + "px" : "", _Object$assign2.transform = "", _Object$assign2)); +} +function computeStyles(_ref5) { + var state = _ref5.state, options = _ref5.options; + var _options$gpuAccelerat = options.gpuAcceleration, gpuAcceleration = _options$gpuAccelerat === void 0 ? true : _options$gpuAccelerat, _options$adaptive = options.adaptive, adaptive = _options$adaptive === void 0 ? true : _options$adaptive, _options$roundOffsets = options.roundOffsets, roundOffsets = _options$roundOffsets === void 0 ? true : _options$roundOffsets; + if (true) { + var transitionProperty = getComputedStyle(state.elements.popper).transitionProperty || ""; + if (adaptive && ["transform", "top", "right", "bottom", "left"].some(function(property) { + return transitionProperty.indexOf(property) >= 0; + })) { + console.warn(["Popper: Detected CSS transitions on at least one of the following", 'CSS properties: "transform", "top", "right", "bottom", "left".', "\n\n", 'Disable the "computeStyles" modifier\'s `adaptive` option to allow', "for smooth transitions, or remove these properties from the CSS", "transition declaration on the popper element if only transitioning", "opacity or background-color for example.", "\n\n", "We recommend using the popper element as a wrapper around an inner", "element that can have any CSS property transitioned for animations."].join(" ")); + } + } + var commonStyles = { + placement: getBasePlacement(state.placement), + variation: getVariation(state.placement), + popper: state.elements.popper, + popperRect: state.rects.popper, + gpuAcceleration, + isFixed: state.options.strategy === "fixed" + }; + if (state.modifiersData.popperOffsets != null) { + state.styles.popper = Object.assign({}, state.styles.popper, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.popperOffsets, + position: state.options.strategy, + adaptive, + roundOffsets + }))); + } + if (state.modifiersData.arrow != null) { + state.styles.arrow = Object.assign({}, state.styles.arrow, mapToStyles(Object.assign({}, commonStyles, { + offsets: state.modifiersData.arrow, + position: "absolute", + adaptive: false, + roundOffsets + }))); + } + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-placement": state.placement + }); +} +var computeStyles_default = { + name: "computeStyles", + enabled: true, + phase: "beforeWrite", + fn: computeStyles, + data: {} +}; + +// node_modules/@popperjs/core/lib/modifiers/eventListeners.js +var passive = { + passive: true +}; +function effect3(_ref) { + var state = _ref.state, instance2 = _ref.instance, options = _ref.options; + var _options$scroll = options.scroll, scroll = _options$scroll === void 0 ? true : _options$scroll, _options$resize = options.resize, resize = _options$resize === void 0 ? true : _options$resize; + var window2 = getWindow(state.elements.popper); + var scrollParents = [].concat(state.scrollParents.reference, state.scrollParents.popper); + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.addEventListener("scroll", instance2.update, passive); + }); + } + if (resize) { + window2.addEventListener("resize", instance2.update, passive); + } + return function() { + if (scroll) { + scrollParents.forEach(function(scrollParent) { + scrollParent.removeEventListener("scroll", instance2.update, passive); + }); + } + if (resize) { + window2.removeEventListener("resize", instance2.update, passive); + } + }; +} +var eventListeners_default = { + name: "eventListeners", + enabled: true, + phase: "write", + fn: function fn() { + }, + effect: effect3, + data: {} +}; + +// node_modules/@popperjs/core/lib/utils/getOppositePlacement.js +var hash = { + left: "right", + right: "left", + bottom: "top", + top: "bottom" +}; +function getOppositePlacement(placement) { + return placement.replace(/left|right|bottom|top/g, function(matched) { + return hash[matched]; + }); +} + +// node_modules/@popperjs/core/lib/utils/getOppositeVariationPlacement.js +var hash2 = { + start: "end", + end: "start" +}; +function getOppositeVariationPlacement(placement) { + return placement.replace(/start|end/g, function(matched) { + return hash2[matched]; + }); +} + +// node_modules/@popperjs/core/lib/dom-utils/getWindowScroll.js +function getWindowScroll(node) { + var win = getWindow(node); + var scrollLeft = win.pageXOffset; + var scrollTop = win.pageYOffset; + return { + scrollLeft, + scrollTop + }; +} + +// node_modules/@popperjs/core/lib/dom-utils/getWindowScrollBarX.js +function getWindowScrollBarX(element) { + return getBoundingClientRect(getDocumentElement(element)).left + getWindowScroll(element).scrollLeft; +} + +// node_modules/@popperjs/core/lib/dom-utils/getViewportRect.js +function getViewportRect(element) { + var win = getWindow(element); + var html = getDocumentElement(element); + var visualViewport = win.visualViewport; + var width = html.clientWidth; + var height = html.clientHeight; + var x = 0; + var y = 0; + if (visualViewport) { + width = visualViewport.width; + height = visualViewport.height; + if (!/^((?!chrome|android).)*safari/i.test(navigator.userAgent)) { + x = visualViewport.offsetLeft; + y = visualViewport.offsetTop; + } + } + return { + width, + height, + x: x + getWindowScrollBarX(element), + y + }; +} + +// node_modules/@popperjs/core/lib/dom-utils/getDocumentRect.js +function getDocumentRect(element) { + var _element$ownerDocumen; + var html = getDocumentElement(element); + var winScroll = getWindowScroll(element); + var body = (_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body; + var width = max(html.scrollWidth, html.clientWidth, body ? body.scrollWidth : 0, body ? body.clientWidth : 0); + var height = max(html.scrollHeight, html.clientHeight, body ? body.scrollHeight : 0, body ? body.clientHeight : 0); + var x = -winScroll.scrollLeft + getWindowScrollBarX(element); + var y = -winScroll.scrollTop; + if (getComputedStyle(body || html).direction === "rtl") { + x += max(html.clientWidth, body ? body.clientWidth : 0) - width; + } + return { + width, + height, + x, + y + }; +} + +// node_modules/@popperjs/core/lib/dom-utils/isScrollParent.js +function isScrollParent(element) { + var _getComputedStyle = getComputedStyle(element), overflow = _getComputedStyle.overflow, overflowX = _getComputedStyle.overflowX, overflowY = _getComputedStyle.overflowY; + return /auto|scroll|overlay|hidden/.test(overflow + overflowY + overflowX); +} + +// node_modules/@popperjs/core/lib/dom-utils/getScrollParent.js +function getScrollParent(node) { + if (["html", "body", "#document"].indexOf(getNodeName(node)) >= 0) { + return node.ownerDocument.body; + } + if (isHTMLElement(node) && isScrollParent(node)) { + return node; + } + return getScrollParent(getParentNode(node)); +} + +// node_modules/@popperjs/core/lib/dom-utils/listScrollParents.js +function listScrollParents(element, list) { + var _element$ownerDocumen; + if (list === void 0) { + list = []; + } + var scrollParent = getScrollParent(element); + var isBody = scrollParent === ((_element$ownerDocumen = element.ownerDocument) == null ? void 0 : _element$ownerDocumen.body); + var win = getWindow(scrollParent); + var target = isBody ? [win].concat(win.visualViewport || [], isScrollParent(scrollParent) ? scrollParent : []) : scrollParent; + var updatedList = list.concat(target); + return isBody ? updatedList : ( + // $FlowFixMe[incompatible-call]: isBody tells us target will be an HTMLElement here + updatedList.concat(listScrollParents(getParentNode(target))) + ); +} + +// node_modules/@popperjs/core/lib/utils/rectToClientRect.js +function rectToClientRect(rect) { + return Object.assign({}, rect, { + left: rect.x, + top: rect.y, + right: rect.x + rect.width, + bottom: rect.y + rect.height + }); +} + +// node_modules/@popperjs/core/lib/dom-utils/getClippingRect.js +function getInnerBoundingClientRect(element) { + var rect = getBoundingClientRect(element); + rect.top = rect.top + element.clientTop; + rect.left = rect.left + element.clientLeft; + rect.bottom = rect.top + element.clientHeight; + rect.right = rect.left + element.clientWidth; + rect.width = element.clientWidth; + rect.height = element.clientHeight; + rect.x = rect.left; + rect.y = rect.top; + return rect; +} +function getClientRectFromMixedType(element, clippingParent) { + return clippingParent === viewport ? rectToClientRect(getViewportRect(element)) : isElement(clippingParent) ? getInnerBoundingClientRect(clippingParent) : rectToClientRect(getDocumentRect(getDocumentElement(element))); +} +function getClippingParents(element) { + var clippingParents2 = listScrollParents(getParentNode(element)); + var canEscapeClipping = ["absolute", "fixed"].indexOf(getComputedStyle(element).position) >= 0; + var clipperElement = canEscapeClipping && isHTMLElement(element) ? getOffsetParent(element) : element; + if (!isElement(clipperElement)) { + return []; + } + return clippingParents2.filter(function(clippingParent) { + return isElement(clippingParent) && contains(clippingParent, clipperElement) && getNodeName(clippingParent) !== "body"; + }); +} +function getClippingRect(element, boundary, rootBoundary) { + var mainClippingParents = boundary === "clippingParents" ? getClippingParents(element) : [].concat(boundary); + var clippingParents2 = [].concat(mainClippingParents, [rootBoundary]); + var firstClippingParent = clippingParents2[0]; + var clippingRect = clippingParents2.reduce(function(accRect, clippingParent) { + var rect = getClientRectFromMixedType(element, clippingParent); + accRect.top = max(rect.top, accRect.top); + accRect.right = min(rect.right, accRect.right); + accRect.bottom = min(rect.bottom, accRect.bottom); + accRect.left = max(rect.left, accRect.left); + return accRect; + }, getClientRectFromMixedType(element, firstClippingParent)); + clippingRect.width = clippingRect.right - clippingRect.left; + clippingRect.height = clippingRect.bottom - clippingRect.top; + clippingRect.x = clippingRect.left; + clippingRect.y = clippingRect.top; + return clippingRect; +} + +// node_modules/@popperjs/core/lib/utils/computeOffsets.js +function computeOffsets(_ref) { + var reference2 = _ref.reference, element = _ref.element, placement = _ref.placement; + var basePlacement = placement ? getBasePlacement(placement) : null; + var variation = placement ? getVariation(placement) : null; + var commonX = reference2.x + reference2.width / 2 - element.width / 2; + var commonY = reference2.y + reference2.height / 2 - element.height / 2; + var offsets; + switch (basePlacement) { + case top: + offsets = { + x: commonX, + y: reference2.y - element.height + }; + break; + case bottom: + offsets = { + x: commonX, + y: reference2.y + reference2.height + }; + break; + case right: + offsets = { + x: reference2.x + reference2.width, + y: commonY + }; + break; + case left: + offsets = { + x: reference2.x - element.width, + y: commonY + }; + break; + default: + offsets = { + x: reference2.x, + y: reference2.y + }; + } + var mainAxis = basePlacement ? getMainAxisFromPlacement(basePlacement) : null; + if (mainAxis != null) { + var len = mainAxis === "y" ? "height" : "width"; + switch (variation) { + case start: + offsets[mainAxis] = offsets[mainAxis] - (reference2[len] / 2 - element[len] / 2); + break; + case end: + offsets[mainAxis] = offsets[mainAxis] + (reference2[len] / 2 - element[len] / 2); + break; + default: + } + } + return offsets; +} + +// node_modules/@popperjs/core/lib/utils/detectOverflow.js +function detectOverflow(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, _options$placement = _options.placement, placement = _options$placement === void 0 ? state.placement : _options$placement, _options$boundary = _options.boundary, boundary = _options$boundary === void 0 ? clippingParents : _options$boundary, _options$rootBoundary = _options.rootBoundary, rootBoundary = _options$rootBoundary === void 0 ? viewport : _options$rootBoundary, _options$elementConte = _options.elementContext, elementContext = _options$elementConte === void 0 ? popper : _options$elementConte, _options$altBoundary = _options.altBoundary, altBoundary = _options$altBoundary === void 0 ? false : _options$altBoundary, _options$padding = _options.padding, padding = _options$padding === void 0 ? 0 : _options$padding; + var paddingObject = mergePaddingObject(typeof padding !== "number" ? padding : expandToHashMap(padding, basePlacements)); + var altContext = elementContext === popper ? reference : popper; + var popperRect = state.rects.popper; + var element = state.elements[altBoundary ? altContext : elementContext]; + var clippingClientRect = getClippingRect(isElement(element) ? element : element.contextElement || getDocumentElement(state.elements.popper), boundary, rootBoundary); + var referenceClientRect = getBoundingClientRect(state.elements.reference); + var popperOffsets2 = computeOffsets({ + reference: referenceClientRect, + element: popperRect, + strategy: "absolute", + placement + }); + var popperClientRect = rectToClientRect(Object.assign({}, popperRect, popperOffsets2)); + var elementClientRect = elementContext === popper ? popperClientRect : referenceClientRect; + var overflowOffsets = { + top: clippingClientRect.top - elementClientRect.top + paddingObject.top, + bottom: elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom, + left: clippingClientRect.left - elementClientRect.left + paddingObject.left, + right: elementClientRect.right - clippingClientRect.right + paddingObject.right + }; + var offsetData = state.modifiersData.offset; + if (elementContext === popper && offsetData) { + var offset2 = offsetData[placement]; + Object.keys(overflowOffsets).forEach(function(key) { + var multiply = [right, bottom].indexOf(key) >= 0 ? 1 : -1; + var axis = [top, bottom].indexOf(key) >= 0 ? "y" : "x"; + overflowOffsets[key] += offset2[axis] * multiply; + }); + } + return overflowOffsets; +} + +// node_modules/@popperjs/core/lib/utils/computeAutoPlacement.js +function computeAutoPlacement(state, options) { + if (options === void 0) { + options = {}; + } + var _options = options, placement = _options.placement, boundary = _options.boundary, rootBoundary = _options.rootBoundary, padding = _options.padding, flipVariations = _options.flipVariations, _options$allowedAutoP = _options.allowedAutoPlacements, allowedAutoPlacements = _options$allowedAutoP === void 0 ? placements : _options$allowedAutoP; + var variation = getVariation(placement); + var placements2 = variation ? flipVariations ? variationPlacements : variationPlacements.filter(function(placement2) { + return getVariation(placement2) === variation; + }) : basePlacements; + var allowedPlacements = placements2.filter(function(placement2) { + return allowedAutoPlacements.indexOf(placement2) >= 0; + }); + if (allowedPlacements.length === 0) { + allowedPlacements = placements2; + if (true) { + console.error(["Popper: The `allowedAutoPlacements` option did not allow any", "placements. Ensure the `placement` option matches the variation", "of the allowed placements.", 'For example, "auto" cannot be used to allow "bottom-start".', 'Use "auto-start" instead.'].join(" ")); + } + } + var overflows = allowedPlacements.reduce(function(acc, placement2) { + acc[placement2] = detectOverflow(state, { + placement: placement2, + boundary, + rootBoundary, + padding + })[getBasePlacement(placement2)]; + return acc; + }, {}); + return Object.keys(overflows).sort(function(a, b) { + return overflows[a] - overflows[b]; + }); +} + +// node_modules/@popperjs/core/lib/modifiers/flip.js +function getExpandedFallbackPlacements(placement) { + if (getBasePlacement(placement) === auto) { + return []; + } + var oppositePlacement = getOppositePlacement(placement); + return [getOppositeVariationPlacement(placement), oppositePlacement, getOppositeVariationPlacement(oppositePlacement)]; +} +function flip(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + if (state.modifiersData[name]._skip) { + return; + } + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? true : _options$altAxis, specifiedFallbackPlacements = options.fallbackPlacements, padding = options.padding, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, _options$flipVariatio = options.flipVariations, flipVariations = _options$flipVariatio === void 0 ? true : _options$flipVariatio, allowedAutoPlacements = options.allowedAutoPlacements; + var preferredPlacement = state.options.placement; + var basePlacement = getBasePlacement(preferredPlacement); + var isBasePlacement = basePlacement === preferredPlacement; + var fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipVariations ? [getOppositePlacement(preferredPlacement)] : getExpandedFallbackPlacements(preferredPlacement)); + var placements2 = [preferredPlacement].concat(fallbackPlacements).reduce(function(acc, placement2) { + return acc.concat(getBasePlacement(placement2) === auto ? computeAutoPlacement(state, { + placement: placement2, + boundary, + rootBoundary, + padding, + flipVariations, + allowedAutoPlacements + }) : placement2); + }, []); + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var checksMap = /* @__PURE__ */ new Map(); + var makeFallbackChecks = true; + var firstFittingPlacement = placements2[0]; + for (var i = 0; i < placements2.length; i++) { + var placement = placements2[i]; + var _basePlacement = getBasePlacement(placement); + var isStartVariation = getVariation(placement) === start; + var isVertical = [top, bottom].indexOf(_basePlacement) >= 0; + var len = isVertical ? "width" : "height"; + var overflow = detectOverflow(state, { + placement, + boundary, + rootBoundary, + altBoundary, + padding + }); + var mainVariationSide = isVertical ? isStartVariation ? right : left : isStartVariation ? bottom : top; + if (referenceRect[len] > popperRect[len]) { + mainVariationSide = getOppositePlacement(mainVariationSide); + } + var altVariationSide = getOppositePlacement(mainVariationSide); + var checks = []; + if (checkMainAxis) { + checks.push(overflow[_basePlacement] <= 0); + } + if (checkAltAxis) { + checks.push(overflow[mainVariationSide] <= 0, overflow[altVariationSide] <= 0); + } + if (checks.every(function(check) { + return check; + })) { + firstFittingPlacement = placement; + makeFallbackChecks = false; + break; + } + checksMap.set(placement, checks); + } + if (makeFallbackChecks) { + var numberOfChecks = flipVariations ? 3 : 1; + var _loop = function _loop2(_i2) { + var fittingPlacement = placements2.find(function(placement2) { + var checks2 = checksMap.get(placement2); + if (checks2) { + return checks2.slice(0, _i2).every(function(check) { + return check; + }); + } + }); + if (fittingPlacement) { + firstFittingPlacement = fittingPlacement; + return "break"; + } + }; + for (var _i = numberOfChecks; _i > 0; _i--) { + var _ret = _loop(_i); + if (_ret === "break") + break; + } + } + if (state.placement !== firstFittingPlacement) { + state.modifiersData[name]._skip = true; + state.placement = firstFittingPlacement; + state.reset = true; + } +} +var flip_default = { + name: "flip", + enabled: true, + phase: "main", + fn: flip, + requiresIfExists: ["offset"], + data: { + _skip: false + } +}; + +// node_modules/@popperjs/core/lib/modifiers/hide.js +function getSideOffsets(overflow, rect, preventedOffsets) { + if (preventedOffsets === void 0) { + preventedOffsets = { + x: 0, + y: 0 + }; + } + return { + top: overflow.top - rect.height - preventedOffsets.y, + right: overflow.right - rect.width + preventedOffsets.x, + bottom: overflow.bottom - rect.height + preventedOffsets.y, + left: overflow.left - rect.width - preventedOffsets.x + }; +} +function isAnySideFullyClipped(overflow) { + return [top, right, bottom, left].some(function(side) { + return overflow[side] >= 0; + }); +} +function hide(_ref) { + var state = _ref.state, name = _ref.name; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var preventedOffsets = state.modifiersData.preventOverflow; + var referenceOverflow = detectOverflow(state, { + elementContext: "reference" + }); + var popperAltOverflow = detectOverflow(state, { + altBoundary: true + }); + var referenceClippingOffsets = getSideOffsets(referenceOverflow, referenceRect); + var popperEscapeOffsets = getSideOffsets(popperAltOverflow, popperRect, preventedOffsets); + var isReferenceHidden = isAnySideFullyClipped(referenceClippingOffsets); + var hasPopperEscaped = isAnySideFullyClipped(popperEscapeOffsets); + state.modifiersData[name] = { + referenceClippingOffsets, + popperEscapeOffsets, + isReferenceHidden, + hasPopperEscaped + }; + state.attributes.popper = Object.assign({}, state.attributes.popper, { + "data-popper-reference-hidden": isReferenceHidden, + "data-popper-escaped": hasPopperEscaped + }); +} +var hide_default = { + name: "hide", + enabled: true, + phase: "main", + requiresIfExists: ["preventOverflow"], + fn: hide +}; + +// node_modules/@popperjs/core/lib/modifiers/offset.js +function distanceAndSkiddingToXY(placement, rects, offset2) { + var basePlacement = getBasePlacement(placement); + var invertDistance = [left, top].indexOf(basePlacement) >= 0 ? -1 : 1; + var _ref = typeof offset2 === "function" ? offset2(Object.assign({}, rects, { + placement + })) : offset2, skidding = _ref[0], distance = _ref[1]; + skidding = skidding || 0; + distance = (distance || 0) * invertDistance; + return [left, right].indexOf(basePlacement) >= 0 ? { + x: distance, + y: skidding + } : { + x: skidding, + y: distance + }; +} +function offset(_ref2) { + var state = _ref2.state, options = _ref2.options, name = _ref2.name; + var _options$offset = options.offset, offset2 = _options$offset === void 0 ? [0, 0] : _options$offset; + var data = placements.reduce(function(acc, placement) { + acc[placement] = distanceAndSkiddingToXY(placement, state.rects, offset2); + return acc; + }, {}); + var _data$state$placement = data[state.placement], x = _data$state$placement.x, y = _data$state$placement.y; + if (state.modifiersData.popperOffsets != null) { + state.modifiersData.popperOffsets.x += x; + state.modifiersData.popperOffsets.y += y; + } + state.modifiersData[name] = data; +} +var offset_default = { + name: "offset", + enabled: true, + phase: "main", + requires: ["popperOffsets"], + fn: offset +}; + +// node_modules/@popperjs/core/lib/modifiers/popperOffsets.js +function popperOffsets(_ref) { + var state = _ref.state, name = _ref.name; + state.modifiersData[name] = computeOffsets({ + reference: state.rects.reference, + element: state.rects.popper, + strategy: "absolute", + placement: state.placement + }); +} +var popperOffsets_default = { + name: "popperOffsets", + enabled: true, + phase: "read", + fn: popperOffsets, + data: {} +}; + +// node_modules/@popperjs/core/lib/utils/getAltAxis.js +function getAltAxis(axis) { + return axis === "x" ? "y" : "x"; +} + +// node_modules/@popperjs/core/lib/modifiers/preventOverflow.js +function preventOverflow(_ref) { + var state = _ref.state, options = _ref.options, name = _ref.name; + var _options$mainAxis = options.mainAxis, checkMainAxis = _options$mainAxis === void 0 ? true : _options$mainAxis, _options$altAxis = options.altAxis, checkAltAxis = _options$altAxis === void 0 ? false : _options$altAxis, boundary = options.boundary, rootBoundary = options.rootBoundary, altBoundary = options.altBoundary, padding = options.padding, _options$tether = options.tether, tether = _options$tether === void 0 ? true : _options$tether, _options$tetherOffset = options.tetherOffset, tetherOffset = _options$tetherOffset === void 0 ? 0 : _options$tetherOffset; + var overflow = detectOverflow(state, { + boundary, + rootBoundary, + padding, + altBoundary + }); + var basePlacement = getBasePlacement(state.placement); + var variation = getVariation(state.placement); + var isBasePlacement = !variation; + var mainAxis = getMainAxisFromPlacement(basePlacement); + var altAxis = getAltAxis(mainAxis); + var popperOffsets2 = state.modifiersData.popperOffsets; + var referenceRect = state.rects.reference; + var popperRect = state.rects.popper; + var tetherOffsetValue = typeof tetherOffset === "function" ? tetherOffset(Object.assign({}, state.rects, { + placement: state.placement + })) : tetherOffset; + var normalizedTetherOffsetValue = typeof tetherOffsetValue === "number" ? { + mainAxis: tetherOffsetValue, + altAxis: tetherOffsetValue + } : Object.assign({ + mainAxis: 0, + altAxis: 0 + }, tetherOffsetValue); + var offsetModifierState = state.modifiersData.offset ? state.modifiersData.offset[state.placement] : null; + var data = { + x: 0, + y: 0 + }; + if (!popperOffsets2) { + return; + } + if (checkMainAxis) { + var _offsetModifierState$; + var mainSide = mainAxis === "y" ? top : left; + var altSide = mainAxis === "y" ? bottom : right; + var len = mainAxis === "y" ? "height" : "width"; + var offset2 = popperOffsets2[mainAxis]; + var min2 = offset2 + overflow[mainSide]; + var max2 = offset2 - overflow[altSide]; + var additive = tether ? -popperRect[len] / 2 : 0; + var minLen = variation === start ? referenceRect[len] : popperRect[len]; + var maxLen = variation === start ? -popperRect[len] : -referenceRect[len]; + var arrowElement = state.elements.arrow; + var arrowRect = tether && arrowElement ? getLayoutRect(arrowElement) : { + width: 0, + height: 0 + }; + var arrowPaddingObject = state.modifiersData["arrow#persistent"] ? state.modifiersData["arrow#persistent"].padding : getFreshSideObject(); + var arrowPaddingMin = arrowPaddingObject[mainSide]; + var arrowPaddingMax = arrowPaddingObject[altSide]; + var arrowLen = within(0, referenceRect[len], arrowRect[len]); + var minOffset = isBasePlacement ? referenceRect[len] / 2 - additive - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis : minLen - arrowLen - arrowPaddingMin - normalizedTetherOffsetValue.mainAxis; + var maxOffset = isBasePlacement ? -referenceRect[len] / 2 + additive + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis : maxLen + arrowLen + arrowPaddingMax + normalizedTetherOffsetValue.mainAxis; + var arrowOffsetParent = state.elements.arrow && getOffsetParent(state.elements.arrow); + var clientOffset = arrowOffsetParent ? mainAxis === "y" ? arrowOffsetParent.clientTop || 0 : arrowOffsetParent.clientLeft || 0 : 0; + var offsetModifierValue = (_offsetModifierState$ = offsetModifierState == null ? void 0 : offsetModifierState[mainAxis]) != null ? _offsetModifierState$ : 0; + var tetherMin = offset2 + minOffset - offsetModifierValue - clientOffset; + var tetherMax = offset2 + maxOffset - offsetModifierValue; + var preventedOffset = within(tether ? min(min2, tetherMin) : min2, offset2, tether ? max(max2, tetherMax) : max2); + popperOffsets2[mainAxis] = preventedOffset; + data[mainAxis] = preventedOffset - offset2; + } + if (checkAltAxis) { + var _offsetModifierState$2; + var _mainSide = mainAxis === "x" ? top : left; + var _altSide = mainAxis === "x" ? bottom : right; + var _offset = popperOffsets2[altAxis]; + var _len = altAxis === "y" ? "height" : "width"; + var _min = _offset + overflow[_mainSide]; + var _max = _offset - overflow[_altSide]; + var isOriginSide = [top, left].indexOf(basePlacement) !== -1; + var _offsetModifierValue = (_offsetModifierState$2 = offsetModifierState == null ? void 0 : offsetModifierState[altAxis]) != null ? _offsetModifierState$2 : 0; + var _tetherMin = isOriginSide ? _min : _offset - referenceRect[_len] - popperRect[_len] - _offsetModifierValue + normalizedTetherOffsetValue.altAxis; + var _tetherMax = isOriginSide ? _offset + referenceRect[_len] + popperRect[_len] - _offsetModifierValue - normalizedTetherOffsetValue.altAxis : _max; + var _preventedOffset = tether && isOriginSide ? withinMaxClamp(_tetherMin, _offset, _tetherMax) : within(tether ? _tetherMin : _min, _offset, tether ? _tetherMax : _max); + popperOffsets2[altAxis] = _preventedOffset; + data[altAxis] = _preventedOffset - _offset; + } + state.modifiersData[name] = data; +} +var preventOverflow_default = { + name: "preventOverflow", + enabled: true, + phase: "main", + fn: preventOverflow, + requiresIfExists: ["offset"] +}; + +// node_modules/@popperjs/core/lib/dom-utils/getHTMLElementScroll.js +function getHTMLElementScroll(element) { + return { + scrollLeft: element.scrollLeft, + scrollTop: element.scrollTop + }; +} + +// node_modules/@popperjs/core/lib/dom-utils/getNodeScroll.js +function getNodeScroll(node) { + if (node === getWindow(node) || !isHTMLElement(node)) { + return getWindowScroll(node); + } else { + return getHTMLElementScroll(node); + } +} + +// node_modules/@popperjs/core/lib/dom-utils/getCompositeRect.js +function isElementScaled(element) { + var rect = element.getBoundingClientRect(); + var scaleX = round(rect.width) / element.offsetWidth || 1; + var scaleY = round(rect.height) / element.offsetHeight || 1; + return scaleX !== 1 || scaleY !== 1; +} +function getCompositeRect(elementOrVirtualElement, offsetParent, isFixed) { + if (isFixed === void 0) { + isFixed = false; + } + var isOffsetParentAnElement = isHTMLElement(offsetParent); + var offsetParentIsScaled = isHTMLElement(offsetParent) && isElementScaled(offsetParent); + var documentElement = getDocumentElement(offsetParent); + var rect = getBoundingClientRect(elementOrVirtualElement, offsetParentIsScaled); + var scroll = { + scrollLeft: 0, + scrollTop: 0 + }; + var offsets = { + x: 0, + y: 0 + }; + if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) { + if (getNodeName(offsetParent) !== "body" || // https://github.com/popperjs/popper-core/issues/1078 + isScrollParent(documentElement)) { + scroll = getNodeScroll(offsetParent); + } + if (isHTMLElement(offsetParent)) { + offsets = getBoundingClientRect(offsetParent, true); + offsets.x += offsetParent.clientLeft; + offsets.y += offsetParent.clientTop; + } else if (documentElement) { + offsets.x = getWindowScrollBarX(documentElement); + } + } + return { + x: rect.left + scroll.scrollLeft - offsets.x, + y: rect.top + scroll.scrollTop - offsets.y, + width: rect.width, + height: rect.height + }; +} + +// node_modules/@popperjs/core/lib/utils/orderModifiers.js +function order(modifiers) { + var map = /* @__PURE__ */ new Map(); + var visited = /* @__PURE__ */ new Set(); + var result = []; + modifiers.forEach(function(modifier) { + map.set(modifier.name, modifier); + }); + function sort(modifier) { + visited.add(modifier.name); + var requires = [].concat(modifier.requires || [], modifier.requiresIfExists || []); + requires.forEach(function(dep) { + if (!visited.has(dep)) { + var depModifier = map.get(dep); + if (depModifier) { + sort(depModifier); + } + } + }); + result.push(modifier); + } + modifiers.forEach(function(modifier) { + if (!visited.has(modifier.name)) { + sort(modifier); + } + }); + return result; +} +function orderModifiers(modifiers) { + var orderedModifiers = order(modifiers); + return modifierPhases.reduce(function(acc, phase) { + return acc.concat(orderedModifiers.filter(function(modifier) { + return modifier.phase === phase; + })); + }, []); +} + +// node_modules/@popperjs/core/lib/utils/debounce.js +function debounce2(fn2) { + var pending; + return function() { + if (!pending) { + pending = new Promise(function(resolve) { + Promise.resolve().then(function() { + pending = void 0; + resolve(fn2()); + }); + }); + } + return pending; + }; +} + +// node_modules/@popperjs/core/lib/utils/format.js +function format(str) { + for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) { + args[_key - 1] = arguments[_key]; + } + return [].concat(args).reduce(function(p, c) { + return p.replace(/%s/, c); + }, str); +} + +// node_modules/@popperjs/core/lib/utils/validateModifiers.js +var INVALID_MODIFIER_ERROR = 'Popper: modifier "%s" provided an invalid %s property, expected %s but got %s'; +var MISSING_DEPENDENCY_ERROR = 'Popper: modifier "%s" requires "%s", but "%s" modifier is not available'; +var VALID_PROPERTIES = ["name", "enabled", "phase", "fn", "effect", "requires", "options"]; +function validateModifiers(modifiers) { + modifiers.forEach(function(modifier) { + [].concat(Object.keys(modifier), VALID_PROPERTIES).filter(function(value, index, self2) { + return self2.indexOf(value) === index; + }).forEach(function(key) { + switch (key) { + case "name": + if (typeof modifier.name !== "string") { + console.error(format(INVALID_MODIFIER_ERROR, String(modifier.name), '"name"', '"string"', '"' + String(modifier.name) + '"')); + } + break; + case "enabled": + if (typeof modifier.enabled !== "boolean") { + console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"enabled"', '"boolean"', '"' + String(modifier.enabled) + '"')); + } + break; + case "phase": + if (modifierPhases.indexOf(modifier.phase) < 0) { + console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"phase"', "either " + modifierPhases.join(", "), '"' + String(modifier.phase) + '"')); + } + break; + case "fn": + if (typeof modifier.fn !== "function") { + console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"fn"', '"function"', '"' + String(modifier.fn) + '"')); + } + break; + case "effect": + if (modifier.effect != null && typeof modifier.effect !== "function") { + console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"effect"', '"function"', '"' + String(modifier.fn) + '"')); + } + break; + case "requires": + if (modifier.requires != null && !Array.isArray(modifier.requires)) { + console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requires"', '"array"', '"' + String(modifier.requires) + '"')); + } + break; + case "requiresIfExists": + if (!Array.isArray(modifier.requiresIfExists)) { + console.error(format(INVALID_MODIFIER_ERROR, modifier.name, '"requiresIfExists"', '"array"', '"' + String(modifier.requiresIfExists) + '"')); + } + break; + case "options": + case "data": + break; + default: + console.error('PopperJS: an invalid property has been provided to the "' + modifier.name + '" modifier, valid properties are ' + VALID_PROPERTIES.map(function(s) { + return '"' + s + '"'; + }).join(", ") + '; but "' + key + '" was provided.'); + } + modifier.requires && modifier.requires.forEach(function(requirement) { + if (modifiers.find(function(mod) { + return mod.name === requirement; + }) == null) { + console.error(format(MISSING_DEPENDENCY_ERROR, String(modifier.name), requirement, requirement)); + } + }); + }); + }); +} + +// node_modules/@popperjs/core/lib/utils/uniqueBy.js +function uniqueBy(arr, fn2) { + var identifiers = /* @__PURE__ */ new Set(); + return arr.filter(function(item) { + var identifier = fn2(item); + if (!identifiers.has(identifier)) { + identifiers.add(identifier); + return true; + } + }); +} + +// node_modules/@popperjs/core/lib/utils/mergeByName.js +function mergeByName(modifiers) { + var merged = modifiers.reduce(function(merged2, current) { + var existing = merged2[current.name]; + merged2[current.name] = existing ? Object.assign({}, existing, current, { + options: Object.assign({}, existing.options, current.options), + data: Object.assign({}, existing.data, current.data) + }) : current; + return merged2; + }, {}); + return Object.keys(merged).map(function(key) { + return merged[key]; + }); +} + +// node_modules/@popperjs/core/lib/createPopper.js +var INVALID_ELEMENT_ERROR = "Popper: Invalid reference or popper argument provided. They must be either a DOM element or virtual element."; +var INFINITE_LOOP_ERROR = "Popper: An infinite loop in the modifiers cycle has been detected! The cycle has been interrupted to prevent a browser crash."; +var DEFAULT_OPTIONS = { + placement: "bottom", + modifiers: [], + strategy: "absolute" +}; +function areValidElements() { + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return !args.some(function(element) { + return !(element && typeof element.getBoundingClientRect === "function"); + }); +} +function popperGenerator(generatorOptions) { + if (generatorOptions === void 0) { + generatorOptions = {}; + } + var _generatorOptions = generatorOptions, _generatorOptions$def = _generatorOptions.defaultModifiers, defaultModifiers2 = _generatorOptions$def === void 0 ? [] : _generatorOptions$def, _generatorOptions$def2 = _generatorOptions.defaultOptions, defaultOptions = _generatorOptions$def2 === void 0 ? DEFAULT_OPTIONS : _generatorOptions$def2; + return function createPopper2(reference2, popper2, options) { + if (options === void 0) { + options = defaultOptions; + } + var state = { + placement: "bottom", + orderedModifiers: [], + options: Object.assign({}, DEFAULT_OPTIONS, defaultOptions), + modifiersData: {}, + elements: { + reference: reference2, + popper: popper2 + }, + attributes: {}, + styles: {} + }; + var effectCleanupFns = []; + var isDestroyed = false; + var instance2 = { + state, + setOptions: function setOptions(setOptionsAction) { + var options2 = typeof setOptionsAction === "function" ? setOptionsAction(state.options) : setOptionsAction; + cleanupModifierEffects(); + state.options = Object.assign({}, defaultOptions, state.options, options2); + state.scrollParents = { + reference: isElement(reference2) ? listScrollParents(reference2) : reference2.contextElement ? listScrollParents(reference2.contextElement) : [], + popper: listScrollParents(popper2) + }; + var orderedModifiers = orderModifiers(mergeByName([].concat(defaultModifiers2, state.options.modifiers))); + state.orderedModifiers = orderedModifiers.filter(function(m) { + return m.enabled; + }); + if (true) { + var modifiers = uniqueBy([].concat(orderedModifiers, state.options.modifiers), function(_ref) { + var name = _ref.name; + return name; + }); + validateModifiers(modifiers); + if (getBasePlacement(state.options.placement) === auto) { + var flipModifier = state.orderedModifiers.find(function(_ref2) { + var name = _ref2.name; + return name === "flip"; + }); + if (!flipModifier) { + console.error(['Popper: "auto" placements require the "flip" modifier be', "present and enabled to work."].join(" ")); + } + } + var _getComputedStyle = getComputedStyle(popper2), marginTop = _getComputedStyle.marginTop, marginRight = _getComputedStyle.marginRight, marginBottom = _getComputedStyle.marginBottom, marginLeft = _getComputedStyle.marginLeft; + if ([marginTop, marginRight, marginBottom, marginLeft].some(function(margin) { + return parseFloat(margin); + })) { + console.warn(['Popper: CSS "margin" styles cannot be used to apply padding', "between the popper and its reference element or boundary.", "To replicate margin, use the `offset` modifier, as well as", "the `padding` option in the `preventOverflow` and `flip`", "modifiers."].join(" ")); + } + } + runModifierEffects(); + return instance2.update(); + }, + // Sync update – it will always be executed, even if not necessary. This + // is useful for low frequency updates where sync behavior simplifies the + // logic. + // For high frequency updates (e.g. `resize` and `scroll` events), always + // prefer the async Popper#update method + forceUpdate: function forceUpdate() { + if (isDestroyed) { + return; + } + var _state$elements = state.elements, reference3 = _state$elements.reference, popper3 = _state$elements.popper; + if (!areValidElements(reference3, popper3)) { + if (true) { + console.error(INVALID_ELEMENT_ERROR); + } + return; + } + state.rects = { + reference: getCompositeRect(reference3, getOffsetParent(popper3), state.options.strategy === "fixed"), + popper: getLayoutRect(popper3) + }; + state.reset = false; + state.placement = state.options.placement; + state.orderedModifiers.forEach(function(modifier) { + return state.modifiersData[modifier.name] = Object.assign({}, modifier.data); + }); + var __debug_loops__ = 0; + for (var index = 0; index < state.orderedModifiers.length; index++) { + if (true) { + __debug_loops__ += 1; + if (__debug_loops__ > 100) { + console.error(INFINITE_LOOP_ERROR); + break; + } + } + if (state.reset === true) { + state.reset = false; + index = -1; + continue; + } + var _state$orderedModifie = state.orderedModifiers[index], fn2 = _state$orderedModifie.fn, _state$orderedModifie2 = _state$orderedModifie.options, _options = _state$orderedModifie2 === void 0 ? {} : _state$orderedModifie2, name = _state$orderedModifie.name; + if (typeof fn2 === "function") { + state = fn2({ + state, + options: _options, + name, + instance: instance2 + }) || state; + } + } + }, + // Async and optimistically optimized update – it will not be executed if + // not necessary (debounced to run at most once-per-tick) + update: debounce2(function() { + return new Promise(function(resolve) { + instance2.forceUpdate(); + resolve(state); + }); + }), + destroy: function destroy() { + cleanupModifierEffects(); + isDestroyed = true; + } + }; + if (!areValidElements(reference2, popper2)) { + if (true) { + console.error(INVALID_ELEMENT_ERROR); + } + return instance2; + } + instance2.setOptions(options).then(function(state2) { + if (!isDestroyed && options.onFirstUpdate) { + options.onFirstUpdate(state2); + } + }); + function runModifierEffects() { + state.orderedModifiers.forEach(function(_ref3) { + var name = _ref3.name, _ref3$options = _ref3.options, options2 = _ref3$options === void 0 ? {} : _ref3$options, effect4 = _ref3.effect; + if (typeof effect4 === "function") { + var cleanupFn = effect4({ + state, + name, + instance: instance2, + options: options2 + }); + var noopFn = function noopFn2() { + }; + effectCleanupFns.push(cleanupFn || noopFn); + } + }); + } + function cleanupModifierEffects() { + effectCleanupFns.forEach(function(fn2) { + return fn2(); + }); + effectCleanupFns = []; + } + return instance2; + }; +} + +// node_modules/@popperjs/core/lib/popper.js +var defaultModifiers = [eventListeners_default, popperOffsets_default, computeStyles_default, applyStyles_default, offset_default, flip_default, preventOverflow_default, arrow_default, hide_default]; +var createPopper = /* @__PURE__ */ popperGenerator({ + defaultModifiers +}); + +// src/settings/ui/suggest.ts +var import_obsidian2 = require("obsidian"); +var wrapAround = (value, size) => { + return (value % size + size) % size; +}; +var Suggest = class { + constructor(owner, containerEl, scope) { + this.owner = owner; + this.containerEl = containerEl; + containerEl.on("click", ".suggestion-item", this.onSuggestionClick.bind(this)); + containerEl.on( + "mousemove", + ".suggestion-item", + this.onSuggestionMouseover.bind(this) + ); + scope.register([], "ArrowUp", (event) => { + if (!event.isComposing) { + this.setSelectedItem(this.selectedItem - 1, true); + return false; + } + }); + scope.register([], "ArrowDown", (event) => { + if (!event.isComposing) { + this.setSelectedItem(this.selectedItem + 1, true); + return false; + } + }); + scope.register([], "Enter", (event) => { + if (!event.isComposing) { + this.useSelectedItem(event); + return false; + } + }); + } + onSuggestionClick(event, el) { + event.preventDefault(); + const item = this.suggestions.indexOf(el); + this.setSelectedItem(item, false); + this.useSelectedItem(event); + } + onSuggestionMouseover(_event, el) { + const item = this.suggestions.indexOf(el); + this.setSelectedItem(item, false); + } + setSuggestions(values) { + this.containerEl.empty(); + const suggestionEls = []; + values.forEach((value) => { + const suggestionEl = this.containerEl.createDiv("suggestion-item"); + this.owner.renderSuggestion(value, suggestionEl); + suggestionEls.push(suggestionEl); + }); + this.values = values; + this.suggestions = suggestionEls; + this.setSelectedItem(0, false); + } + useSelectedItem(event) { + const currentValue = this.values[this.selectedItem]; + if (currentValue) { + this.owner.selectSuggestion(currentValue, event); + } + } + setSelectedItem(selectedIndex, scrollIntoView) { + const normalizedIndex = wrapAround(selectedIndex, this.suggestions.length); + const prevSelectedSuggestion = this.suggestions[this.selectedItem]; + const selectedSuggestion = this.suggestions[normalizedIndex]; + prevSelectedSuggestion == null ? void 0 : prevSelectedSuggestion.removeClass("is-selected"); + selectedSuggestion == null ? void 0 : selectedSuggestion.addClass("is-selected"); + this.selectedItem = normalizedIndex; + if (scrollIntoView) { + selectedSuggestion.scrollIntoView(false); + } + } +}; +var TextInputSuggest = class { + constructor(app, inputEl) { + this.app = app; + this.inputEl = inputEl; + this.scope = new import_obsidian2.Scope(); + this.suggestEl = createDiv("suggestion-container"); + const suggestion = this.suggestEl.createDiv("suggestion"); + this.suggest = new Suggest(this, suggestion, this.scope); + this.scope.register([], "Escape", this.close.bind(this)); + this.inputEl.addEventListener("input", this.onInputChanged.bind(this)); + this.inputEl.addEventListener("focus", this.onInputChanged.bind(this)); + this.inputEl.addEventListener("blur", this.close.bind(this)); + this.suggestEl.on("mousedown", ".suggestion-container", (event) => { + event.preventDefault(); + }); + } + onInputChanged() { + const inputStr = this.inputEl.value; + const suggestions = this.getSuggestions(inputStr); + if (suggestions.length > 0) { + this.suggest.setSuggestions(suggestions); + this.open(this.app.dom.appContainerEl, this.inputEl); + } + } + open(container, inputEl) { + this.app.keymap.pushScope(this.scope); + container.appendChild(this.suggestEl); + this.popper = createPopper(inputEl, this.suggestEl, { + placement: "bottom-start", + modifiers: [ + { + name: "sameWidth", + enabled: true, + fn: ({ state, instance: instance2 }) => { + const targetWidth = `${state.rects.reference.width}px`; + if (state.styles.popper.width === targetWidth) { + return; + } + state.styles.popper.width = targetWidth; + instance2.update(); + }, + phase: "beforeWrite", + requires: ["computeStyles"] + } + ] + }); + } + close() { + this.app.keymap.popScope(this.scope); + this.suggest.setSuggestions([]); + this.popper.destroy(); + this.suggestEl.detach(); + } +}; + +// src/settings/ui/file_suggest.ts +var FileSuggest = class extends TextInputSuggest { + getSuggestions(inputStr) { + const files = []; + const lowerCaseInputStr = inputStr.toLowerCase(); + import_obsidian3.Vault.recurseChildren(this.app.vault.getRoot(), (file) => { + if (file.path.toLowerCase().contains(lowerCaseInputStr)) { + files.push(file); + } + }); + return files; + } + renderSuggestion(file, el) { + el.setText(file.path); + } + selectSuggestion(file) { + this.inputEl.value = file.path; + this.inputEl.trigger("input"); + this.close(); + } +}; + +// src/settings/ui/snippets_editor/extensions.ts +var import_view3 = require("@codemirror/view"); +var import_state2 = require("@codemirror/state"); + +// node_modules/@lezer/common/dist/index.js +var DefaultBufferLength = 1024; +var nextPropID = 0; +var Range = class { + constructor(from, to) { + this.from = from; + this.to = to; + } +}; +var NodeProp = class { + /** + Create a new node prop type. + */ + constructor(config2 = {}) { + this.id = nextPropID++; + this.perNode = !!config2.perNode; + this.deserialize = config2.deserialize || (() => { + throw new Error("This node type doesn't define a deserialize function"); + }); + } + /** + This is meant to be used with + [`NodeSet.extend`](#common.NodeSet.extend) or + [`LRParser.configure`](#lr.ParserConfig.props) to compute + prop values for each node type in the set. Takes a [match + object](#common.NodeType^match) or function that returns undefined + if the node type doesn't get this prop, and the prop's value if + it does. + */ + add(match) { + if (this.perNode) + throw new RangeError("Can't add per-node props to node types"); + if (typeof match != "function") + match = NodeType.match(match); + return (type) => { + let result = match(type); + return result === void 0 ? null : [this, result]; + }; + } +}; +NodeProp.closedBy = new NodeProp({ deserialize: (str) => str.split(" ") }); +NodeProp.openedBy = new NodeProp({ deserialize: (str) => str.split(" ") }); +NodeProp.group = new NodeProp({ deserialize: (str) => str.split(" ") }); +NodeProp.contextHash = new NodeProp({ perNode: true }); +NodeProp.lookAhead = new NodeProp({ perNode: true }); +NodeProp.mounted = new NodeProp({ perNode: true }); +var MountedTree = class { + constructor(tree, overlay, parser2) { + this.tree = tree; + this.overlay = overlay; + this.parser = parser2; + } + /** + @internal + */ + static get(tree) { + return tree && tree.props && tree.props[NodeProp.mounted.id]; + } +}; +var noProps = /* @__PURE__ */ Object.create(null); +var NodeType = class _NodeType { + /** + @internal + */ + constructor(name, props, id2, flags = 0) { + this.name = name; + this.props = props; + this.id = id2; + this.flags = flags; + } + /** + Define a node type. + */ + static define(spec) { + let props = spec.props && spec.props.length ? /* @__PURE__ */ Object.create(null) : noProps; + let flags = (spec.top ? 1 : 0) | (spec.skipped ? 2 : 0) | (spec.error ? 4 : 0) | (spec.name == null ? 8 : 0); + let type = new _NodeType(spec.name || "", props, spec.id, flags); + if (spec.props) + for (let src of spec.props) { + if (!Array.isArray(src)) + src = src(type); + if (src) { + if (src[0].perNode) + throw new RangeError("Can't store a per-node prop on a node type"); + props[src[0].id] = src[1]; + } + } + return type; + } + /** + Retrieves a node prop for this type. Will return `undefined` if + the prop isn't present on this node. + */ + prop(prop) { + return this.props[prop.id]; + } + /** + True when this is the top node of a grammar. + */ + get isTop() { + return (this.flags & 1) > 0; + } + /** + True when this node is produced by a skip rule. + */ + get isSkipped() { + return (this.flags & 2) > 0; + } + /** + Indicates whether this is an error node. + */ + get isError() { + return (this.flags & 4) > 0; + } + /** + When true, this node type doesn't correspond to a user-declared + named node, for example because it is used to cache repetition. + */ + get isAnonymous() { + return (this.flags & 8) > 0; + } + /** + Returns true when this node's name or one of its + [groups](#common.NodeProp^group) matches the given string. + */ + is(name) { + if (typeof name == "string") { + if (this.name == name) + return true; + let group = this.prop(NodeProp.group); + return group ? group.indexOf(name) > -1 : false; + } + return this.id == name; + } + /** + Create a function from node types to arbitrary values by + specifying an object whose property names are node or + [group](#common.NodeProp^group) names. Often useful with + [`NodeProp.add`](#common.NodeProp.add). You can put multiple + names, separated by spaces, in a single property name to map + multiple node names to a single value. + */ + static match(map) { + let direct = /* @__PURE__ */ Object.create(null); + for (let prop in map) + for (let name of prop.split(" ")) + direct[name] = map[prop]; + return (node) => { + for (let groups = node.prop(NodeProp.group), i = -1; i < (groups ? groups.length : 0); i++) { + let found = direct[i < 0 ? node.name : groups[i]]; + if (found) + return found; + } + }; + } +}; +NodeType.none = new NodeType( + "", + /* @__PURE__ */ Object.create(null), + 0, + 8 + /* NodeFlag.Anonymous */ +); +var NodeSet = class _NodeSet { + /** + Create a set with the given types. The `id` property of each + type should correspond to its position within the array. + */ + constructor(types) { + this.types = types; + for (let i = 0; i < types.length; i++) + if (types[i].id != i) + throw new RangeError("Node type ids should correspond to array positions when creating a node set"); + } + /** + Create a copy of this set with some node properties added. The + arguments to this method can be created with + [`NodeProp.add`](#common.NodeProp.add). + */ + extend(...props) { + let newTypes = []; + for (let type of this.types) { + let newProps = null; + for (let source of props) { + let add = source(type); + if (add) { + if (!newProps) + newProps = Object.assign({}, type.props); + newProps[add[0].id] = add[1]; + } + } + newTypes.push(newProps ? new NodeType(type.name, newProps, type.id, type.flags) : type); + } + return new _NodeSet(newTypes); + } +}; +var CachedNode = /* @__PURE__ */ new WeakMap(); +var CachedInnerNode = /* @__PURE__ */ new WeakMap(); +var IterMode; +(function(IterMode2) { + IterMode2[IterMode2["ExcludeBuffers"] = 1] = "ExcludeBuffers"; + IterMode2[IterMode2["IncludeAnonymous"] = 2] = "IncludeAnonymous"; + IterMode2[IterMode2["IgnoreMounts"] = 4] = "IgnoreMounts"; + IterMode2[IterMode2["IgnoreOverlays"] = 8] = "IgnoreOverlays"; +})(IterMode || (IterMode = {})); +var Tree = class _Tree { + /** + Construct a new tree. See also [`Tree.build`](#common.Tree^build). + */ + constructor(type, children, positions, length, props) { + this.type = type; + this.children = children; + this.positions = positions; + this.length = length; + this.props = null; + if (props && props.length) { + this.props = /* @__PURE__ */ Object.create(null); + for (let [prop, value] of props) + this.props[typeof prop == "number" ? prop : prop.id] = value; + } + } + /** + @internal + */ + toString() { + let mounted = MountedTree.get(this); + if (mounted && !mounted.overlay) + return mounted.tree.toString(); + let children = ""; + for (let ch of this.children) { + let str = ch.toString(); + if (str) { + if (children) + children += ","; + children += str; + } + } + return !this.type.name ? children : (/\W/.test(this.type.name) && !this.type.isError ? JSON.stringify(this.type.name) : this.type.name) + (children.length ? "(" + children + ")" : ""); + } + /** + Get a [tree cursor](#common.TreeCursor) positioned at the top of + the tree. Mode can be used to [control](#common.IterMode) which + nodes the cursor visits. + */ + cursor(mode = 0) { + return new TreeCursor(this.topNode, mode); + } + /** + Get a [tree cursor](#common.TreeCursor) pointing into this tree + at the given position and side (see + [`moveTo`](#common.TreeCursor.moveTo). + */ + cursorAt(pos, side = 0, mode = 0) { + let scope = CachedNode.get(this) || this.topNode; + let cursor = new TreeCursor(scope); + cursor.moveTo(pos, side); + CachedNode.set(this, cursor._tree); + return cursor; + } + /** + Get a [syntax node](#common.SyntaxNode) object for the top of the + tree. + */ + get topNode() { + return new TreeNode(this, 0, 0, null); + } + /** + Get the [syntax node](#common.SyntaxNode) at the given position. + If `side` is -1, this will move into nodes that end at the + position. If 1, it'll move into nodes that start at the + position. With 0, it'll only enter nodes that cover the position + from both sides. + + Note that this will not enter + [overlays](#common.MountedTree.overlay), and you often want + [`resolveInner`](#common.Tree.resolveInner) instead. + */ + resolve(pos, side = 0) { + let node = resolveNode(CachedNode.get(this) || this.topNode, pos, side, false); + CachedNode.set(this, node); + return node; + } + /** + Like [`resolve`](#common.Tree.resolve), but will enter + [overlaid](#common.MountedTree.overlay) nodes, producing a syntax node + pointing into the innermost overlaid tree at the given position + (with parent links going through all parent structure, including + the host trees). + */ + resolveInner(pos, side = 0) { + let node = resolveNode(CachedInnerNode.get(this) || this.topNode, pos, side, true); + CachedInnerNode.set(this, node); + return node; + } + /** + In some situations, it can be useful to iterate through all + nodes around a position, including those in overlays that don't + directly cover the position. This method gives you an iterator + that will produce all nodes, from small to big, around the given + position. + */ + resolveStack(pos, side = 0) { + return stackIterator(this, pos, side); + } + /** + Iterate over the tree and its children, calling `enter` for any + node that touches the `from`/`to` region (if given) before + running over such a node's children, and `leave` (if given) when + leaving the node. When `enter` returns `false`, that node will + not have its children iterated over (or `leave` called). + */ + iterate(spec) { + let { enter, leave, from = 0, to = this.length } = spec; + let mode = spec.mode || 0, anon = (mode & IterMode.IncludeAnonymous) > 0; + for (let c = this.cursor(mode | IterMode.IncludeAnonymous); ; ) { + let entered = false; + if (c.from <= to && c.to >= from && (!anon && c.type.isAnonymous || enter(c) !== false)) { + if (c.firstChild()) + continue; + entered = true; + } + for (; ; ) { + if (entered && leave && (anon || !c.type.isAnonymous)) + leave(c); + if (c.nextSibling()) + break; + if (!c.parent()) + return; + entered = true; + } + } + } + /** + Get the value of the given [node prop](#common.NodeProp) for this + node. Works with both per-node and per-type props. + */ + prop(prop) { + return !prop.perNode ? this.type.prop(prop) : this.props ? this.props[prop.id] : void 0; + } + /** + Returns the node's [per-node props](#common.NodeProp.perNode) in a + format that can be passed to the [`Tree`](#common.Tree) + constructor. + */ + get propValues() { + let result = []; + if (this.props) + for (let id2 in this.props) + result.push([+id2, this.props[id2]]); + return result; + } + /** + Balance the direct children of this tree, producing a copy of + which may have children grouped into subtrees with type + [`NodeType.none`](#common.NodeType^none). + */ + balance(config2 = {}) { + return this.children.length <= 8 ? this : balanceRange(NodeType.none, this.children, this.positions, 0, this.children.length, 0, this.length, (children, positions, length) => new _Tree(this.type, children, positions, length, this.propValues), config2.makeTree || ((children, positions, length) => new _Tree(NodeType.none, children, positions, length))); + } + /** + Build a tree from a postfix-ordered buffer of node information, + or a cursor over such a buffer. + */ + static build(data) { + return buildTree(data); + } +}; +Tree.empty = new Tree(NodeType.none, [], [], 0); +var FlatBufferCursor = class _FlatBufferCursor { + constructor(buffer, index) { + this.buffer = buffer; + this.index = index; + } + get id() { + return this.buffer[this.index - 4]; + } + get start() { + return this.buffer[this.index - 3]; + } + get end() { + return this.buffer[this.index - 2]; + } + get size() { + return this.buffer[this.index - 1]; + } + get pos() { + return this.index; + } + next() { + this.index -= 4; + } + fork() { + return new _FlatBufferCursor(this.buffer, this.index); + } +}; +var TreeBuffer = class _TreeBuffer { + /** + Create a tree buffer. + */ + constructor(buffer, length, set) { + this.buffer = buffer; + this.length = length; + this.set = set; + } + /** + @internal + */ + get type() { + return NodeType.none; + } + /** + @internal + */ + toString() { + let result = []; + for (let index = 0; index < this.buffer.length; ) { + result.push(this.childString(index)); + index = this.buffer[index + 3]; + } + return result.join(","); + } + /** + @internal + */ + childString(index) { + let id2 = this.buffer[index], endIndex = this.buffer[index + 3]; + let type = this.set.types[id2], result = type.name; + if (/\W/.test(result) && !type.isError) + result = JSON.stringify(result); + index += 4; + if (endIndex == index) + return result; + let children = []; + while (index < endIndex) { + children.push(this.childString(index)); + index = this.buffer[index + 3]; + } + return result + "(" + children.join(",") + ")"; + } + /** + @internal + */ + findChild(startIndex, endIndex, dir, pos, side) { + let { buffer } = this, pick = -1; + for (let i = startIndex; i != endIndex; i = buffer[i + 3]) { + if (checkSide(side, pos, buffer[i + 1], buffer[i + 2])) { + pick = i; + if (dir > 0) + break; + } + } + return pick; + } + /** + @internal + */ + slice(startI, endI, from) { + let b = this.buffer; + let copy = new Uint16Array(endI - startI), len = 0; + for (let i = startI, j = 0; i < endI; ) { + copy[j++] = b[i++]; + copy[j++] = b[i++] - from; + let to = copy[j++] = b[i++] - from; + copy[j++] = b[i++] - startI; + len = Math.max(len, to); + } + return new _TreeBuffer(copy, len, this.set); + } +}; +function checkSide(side, pos, from, to) { + switch (side) { + case -2: + return from < pos; + case -1: + return to >= pos && from < pos; + case 0: + return from < pos && to > pos; + case 1: + return from <= pos && to > pos; + case 2: + return to > pos; + case 4: + return true; + } +} +function resolveNode(node, pos, side, overlays) { + var _a; + while (node.from == node.to || (side < 1 ? node.from >= pos : node.from > pos) || (side > -1 ? node.to <= pos : node.to < pos)) { + let parent = !overlays && node instanceof TreeNode && node.index < 0 ? null : node.parent; + if (!parent) + return node; + node = parent; + } + let mode = overlays ? 0 : IterMode.IgnoreOverlays; + if (overlays) + for (let scan = node, parent = scan.parent; parent; scan = parent, parent = scan.parent) { + if (scan instanceof TreeNode && scan.index < 0 && ((_a = parent.enter(pos, side, mode)) === null || _a === void 0 ? void 0 : _a.from) != scan.from) + node = parent; + } + for (; ; ) { + let inner = node.enter(pos, side, mode); + if (!inner) + return node; + node = inner; + } +} +var BaseNode = class { + cursor(mode = 0) { + return new TreeCursor(this, mode); + } + getChild(type, before = null, after = null) { + let r = getChildren(this, type, before, after); + return r.length ? r[0] : null; + } + getChildren(type, before = null, after = null) { + return getChildren(this, type, before, after); + } + resolve(pos, side = 0) { + return resolveNode(this, pos, side, false); + } + resolveInner(pos, side = 0) { + return resolveNode(this, pos, side, true); + } + matchContext(context) { + return matchNodeContext(this, context); + } + enterUnfinishedNodesBefore(pos) { + let scan = this.childBefore(pos), node = this; + while (scan) { + let last = scan.lastChild; + if (!last || last.to != scan.to) + break; + if (last.type.isError && last.from == last.to) { + node = scan; + scan = last.prevSibling; + } else { + scan = last; + } + } + return node; + } + get node() { + return this; + } + get next() { + return this.parent; + } +}; +var TreeNode = class _TreeNode extends BaseNode { + constructor(_tree, from, index, _parent) { + super(); + this._tree = _tree; + this.from = from; + this.index = index; + this._parent = _parent; + } + get type() { + return this._tree.type; + } + get name() { + return this._tree.type.name; + } + get to() { + return this.from + this._tree.length; + } + nextChild(i, dir, pos, side, mode = 0) { + for (let parent = this; ; ) { + for (let { children, positions } = parent._tree, e = dir > 0 ? children.length : -1; i != e; i += dir) { + let next = children[i], start2 = positions[i] + parent.from; + if (!checkSide(side, pos, start2, start2 + next.length)) + continue; + if (next instanceof TreeBuffer) { + if (mode & IterMode.ExcludeBuffers) + continue; + let index = next.findChild(0, next.buffer.length, dir, pos - start2, side); + if (index > -1) + return new BufferNode(new BufferContext(parent, next, i, start2), null, index); + } else if (mode & IterMode.IncludeAnonymous || (!next.type.isAnonymous || hasChild(next))) { + let mounted; + if (!(mode & IterMode.IgnoreMounts) && (mounted = MountedTree.get(next)) && !mounted.overlay) + return new _TreeNode(mounted.tree, start2, i, parent); + let inner = new _TreeNode(next, start2, i, parent); + return mode & IterMode.IncludeAnonymous || !inner.type.isAnonymous ? inner : inner.nextChild(dir < 0 ? next.children.length - 1 : 0, dir, pos, side); + } + } + if (mode & IterMode.IncludeAnonymous || !parent.type.isAnonymous) + return null; + if (parent.index >= 0) + i = parent.index + dir; + else + i = dir < 0 ? -1 : parent._parent._tree.children.length; + parent = parent._parent; + if (!parent) + return null; + } + } + get firstChild() { + return this.nextChild( + 0, + 1, + 0, + 4 + /* Side.DontCare */ + ); + } + get lastChild() { + return this.nextChild( + this._tree.children.length - 1, + -1, + 0, + 4 + /* Side.DontCare */ + ); + } + childAfter(pos) { + return this.nextChild( + 0, + 1, + pos, + 2 + /* Side.After */ + ); + } + childBefore(pos) { + return this.nextChild( + this._tree.children.length - 1, + -1, + pos, + -2 + /* Side.Before */ + ); + } + enter(pos, side, mode = 0) { + let mounted; + if (!(mode & IterMode.IgnoreOverlays) && (mounted = MountedTree.get(this._tree)) && mounted.overlay) { + let rPos = pos - this.from; + for (let { from, to } of mounted.overlay) { + if ((side > 0 ? from <= rPos : from < rPos) && (side < 0 ? to >= rPos : to > rPos)) + return new _TreeNode(mounted.tree, mounted.overlay[0].from + this.from, -1, this); + } + } + return this.nextChild(0, 1, pos, side, mode); + } + nextSignificantParent() { + let val = this; + while (val.type.isAnonymous && val._parent) + val = val._parent; + return val; + } + get parent() { + return this._parent ? this._parent.nextSignificantParent() : null; + } + get nextSibling() { + return this._parent && this.index >= 0 ? this._parent.nextChild( + this.index + 1, + 1, + 0, + 4 + /* Side.DontCare */ + ) : null; + } + get prevSibling() { + return this._parent && this.index >= 0 ? this._parent.nextChild( + this.index - 1, + -1, + 0, + 4 + /* Side.DontCare */ + ) : null; + } + get tree() { + return this._tree; + } + toTree() { + return this._tree; + } + /** + @internal + */ + toString() { + return this._tree.toString(); + } +}; +function getChildren(node, type, before, after) { + let cur = node.cursor(), result = []; + if (!cur.firstChild()) + return result; + if (before != null) { + while (!cur.type.is(before)) + if (!cur.nextSibling()) + return result; + } + for (; ; ) { + if (after != null && cur.type.is(after)) + return result; + if (cur.type.is(type)) + result.push(cur.node); + if (!cur.nextSibling()) + return after == null ? result : []; + } +} +function matchNodeContext(node, context, i = context.length - 1) { + for (let p = node.parent; i >= 0; p = p.parent) { + if (!p) + return false; + if (!p.type.isAnonymous) { + if (context[i] && context[i] != p.name) + return false; + i--; + } + } + return true; +} +var BufferContext = class { + constructor(parent, buffer, index, start2) { + this.parent = parent; + this.buffer = buffer; + this.index = index; + this.start = start2; + } +}; +var BufferNode = class _BufferNode extends BaseNode { + get name() { + return this.type.name; + } + get from() { + return this.context.start + this.context.buffer.buffer[this.index + 1]; + } + get to() { + return this.context.start + this.context.buffer.buffer[this.index + 2]; + } + constructor(context, _parent, index) { + super(); + this.context = context; + this._parent = _parent; + this.index = index; + this.type = context.buffer.set.types[context.buffer.buffer[index]]; + } + child(dir, pos, side) { + let { buffer } = this.context; + let index = buffer.findChild(this.index + 4, buffer.buffer[this.index + 3], dir, pos - this.context.start, side); + return index < 0 ? null : new _BufferNode(this.context, this, index); + } + get firstChild() { + return this.child( + 1, + 0, + 4 + /* Side.DontCare */ + ); + } + get lastChild() { + return this.child( + -1, + 0, + 4 + /* Side.DontCare */ + ); + } + childAfter(pos) { + return this.child( + 1, + pos, + 2 + /* Side.After */ + ); + } + childBefore(pos) { + return this.child( + -1, + pos, + -2 + /* Side.Before */ + ); + } + enter(pos, side, mode = 0) { + if (mode & IterMode.ExcludeBuffers) + return null; + let { buffer } = this.context; + let index = buffer.findChild(this.index + 4, buffer.buffer[this.index + 3], side > 0 ? 1 : -1, pos - this.context.start, side); + return index < 0 ? null : new _BufferNode(this.context, this, index); + } + get parent() { + return this._parent || this.context.parent.nextSignificantParent(); + } + externalSibling(dir) { + return this._parent ? null : this.context.parent.nextChild( + this.context.index + dir, + dir, + 0, + 4 + /* Side.DontCare */ + ); + } + get nextSibling() { + let { buffer } = this.context; + let after = buffer.buffer[this.index + 3]; + if (after < (this._parent ? buffer.buffer[this._parent.index + 3] : buffer.buffer.length)) + return new _BufferNode(this.context, this._parent, after); + return this.externalSibling(1); + } + get prevSibling() { + let { buffer } = this.context; + let parentStart = this._parent ? this._parent.index + 4 : 0; + if (this.index == parentStart) + return this.externalSibling(-1); + return new _BufferNode(this.context, this._parent, buffer.findChild( + parentStart, + this.index, + -1, + 0, + 4 + /* Side.DontCare */ + )); + } + get tree() { + return null; + } + toTree() { + let children = [], positions = []; + let { buffer } = this.context; + let startI = this.index + 4, endI = buffer.buffer[this.index + 3]; + if (endI > startI) { + let from = buffer.buffer[this.index + 1]; + children.push(buffer.slice(startI, endI, from)); + positions.push(0); + } + return new Tree(this.type, children, positions, this.to - this.from); + } + /** + @internal + */ + toString() { + return this.context.buffer.childString(this.index); + } +}; +function iterStack(heads) { + if (!heads.length) + return null; + if (heads.length == 1) + return heads[0]; + let pick = 0, picked = heads[0]; + for (let i = 1; i < heads.length; i++) { + let node = heads[i]; + if (node.from > picked.from || node.to < picked.to) { + picked = node; + pick = i; + } + } + let next = picked instanceof TreeNode && picked.index < 0 ? null : picked.parent; + let newHeads = heads.slice(); + if (next) + newHeads[pick] = next; + else + newHeads.splice(pick, 1); + return new StackIterator(newHeads, picked); +} +var StackIterator = class { + constructor(heads, node) { + this.heads = heads; + this.node = node; + } + get next() { + return iterStack(this.heads); + } +}; +function stackIterator(tree, pos, side) { + let inner = tree.resolveInner(pos, side), layers = null; + for (let scan = inner instanceof TreeNode ? inner : inner.context.parent; scan; scan = scan.parent) { + if (scan.index < 0) { + let parent = scan.parent; + (layers || (layers = [inner])).push(parent.resolve(pos, side)); + scan = parent; + } else { + let mount = MountedTree.get(scan.tree); + if (mount && mount.overlay && mount.overlay[0].from <= pos && mount.overlay[mount.overlay.length - 1].to >= pos) { + let root = new TreeNode(mount.tree, mount.overlay[0].from + scan.from, 0, null); + (layers || (layers = [inner])).push(resolveNode(root, pos, side, false)); + } + } + } + return layers ? iterStack(layers) : inner; +} +var TreeCursor = class { + /** + Shorthand for `.type.name`. + */ + get name() { + return this.type.name; + } + /** + @internal + */ + constructor(node, mode = 0) { + this.mode = mode; + this.buffer = null; + this.stack = []; + this.index = 0; + this.bufferNode = null; + if (node instanceof TreeNode) { + this.yieldNode(node); + } else { + this._tree = node.context.parent; + this.buffer = node.context; + for (let n = node._parent; n; n = n._parent) + this.stack.unshift(n.index); + this.bufferNode = node; + this.yieldBuf(node.index); + } + } + yieldNode(node) { + if (!node) + return false; + this._tree = node; + this.type = node.type; + this.from = node.from; + this.to = node.to; + return true; + } + yieldBuf(index, type) { + this.index = index; + let { start: start2, buffer } = this.buffer; + this.type = type || buffer.set.types[buffer.buffer[index]]; + this.from = start2 + buffer.buffer[index + 1]; + this.to = start2 + buffer.buffer[index + 2]; + return true; + } + yield(node) { + if (!node) + return false; + if (node instanceof TreeNode) { + this.buffer = null; + return this.yieldNode(node); + } + this.buffer = node.context; + return this.yieldBuf(node.index, node.type); + } + /** + @internal + */ + toString() { + return this.buffer ? this.buffer.buffer.childString(this.index) : this._tree.toString(); + } + /** + @internal + */ + enterChild(dir, pos, side) { + if (!this.buffer) + return this.yield(this._tree.nextChild(dir < 0 ? this._tree._tree.children.length - 1 : 0, dir, pos, side, this.mode)); + let { buffer } = this.buffer; + let index = buffer.findChild(this.index + 4, buffer.buffer[this.index + 3], dir, pos - this.buffer.start, side); + if (index < 0) + return false; + this.stack.push(this.index); + return this.yieldBuf(index); + } + /** + Move the cursor to this node's first child. When this returns + false, the node has no child, and the cursor has not been moved. + */ + firstChild() { + return this.enterChild( + 1, + 0, + 4 + /* Side.DontCare */ + ); + } + /** + Move the cursor to this node's last child. + */ + lastChild() { + return this.enterChild( + -1, + 0, + 4 + /* Side.DontCare */ + ); + } + /** + Move the cursor to the first child that ends after `pos`. + */ + childAfter(pos) { + return this.enterChild( + 1, + pos, + 2 + /* Side.After */ + ); + } + /** + Move to the last child that starts before `pos`. + */ + childBefore(pos) { + return this.enterChild( + -1, + pos, + -2 + /* Side.Before */ + ); + } + /** + Move the cursor to the child around `pos`. If side is -1 the + child may end at that position, when 1 it may start there. This + will also enter [overlaid](#common.MountedTree.overlay) + [mounted](#common.NodeProp^mounted) trees unless `overlays` is + set to false. + */ + enter(pos, side, mode = this.mode) { + if (!this.buffer) + return this.yield(this._tree.enter(pos, side, mode)); + return mode & IterMode.ExcludeBuffers ? false : this.enterChild(1, pos, side); + } + /** + Move to the node's parent node, if this isn't the top node. + */ + parent() { + if (!this.buffer) + return this.yieldNode(this.mode & IterMode.IncludeAnonymous ? this._tree._parent : this._tree.parent); + if (this.stack.length) + return this.yieldBuf(this.stack.pop()); + let parent = this.mode & IterMode.IncludeAnonymous ? this.buffer.parent : this.buffer.parent.nextSignificantParent(); + this.buffer = null; + return this.yieldNode(parent); + } + /** + @internal + */ + sibling(dir) { + if (!this.buffer) + return !this._tree._parent ? false : this.yield(this._tree.index < 0 ? null : this._tree._parent.nextChild(this._tree.index + dir, dir, 0, 4, this.mode)); + let { buffer } = this.buffer, d = this.stack.length - 1; + if (dir < 0) { + let parentStart = d < 0 ? 0 : this.stack[d] + 4; + if (this.index != parentStart) + return this.yieldBuf(buffer.findChild( + parentStart, + this.index, + -1, + 0, + 4 + /* Side.DontCare */ + )); + } else { + let after = buffer.buffer[this.index + 3]; + if (after < (d < 0 ? buffer.buffer.length : buffer.buffer[this.stack[d] + 3])) + return this.yieldBuf(after); + } + return d < 0 ? this.yield(this.buffer.parent.nextChild(this.buffer.index + dir, dir, 0, 4, this.mode)) : false; + } + /** + Move to this node's next sibling, if any. + */ + nextSibling() { + return this.sibling(1); + } + /** + Move to this node's previous sibling, if any. + */ + prevSibling() { + return this.sibling(-1); + } + atLastNode(dir) { + let index, parent, { buffer } = this; + if (buffer) { + if (dir > 0) { + if (this.index < buffer.buffer.buffer.length) + return false; + } else { + for (let i = 0; i < this.index; i++) + if (buffer.buffer.buffer[i + 3] < this.index) + return false; + } + ({ index, parent } = buffer); + } else { + ({ index, _parent: parent } = this._tree); + } + for (; parent; { index, _parent: parent } = parent) { + if (index > -1) + for (let i = index + dir, e = dir < 0 ? -1 : parent._tree.children.length; i != e; i += dir) { + let child = parent._tree.children[i]; + if (this.mode & IterMode.IncludeAnonymous || child instanceof TreeBuffer || !child.type.isAnonymous || hasChild(child)) + return false; + } + } + return true; + } + move(dir, enter) { + if (enter && this.enterChild( + dir, + 0, + 4 + /* Side.DontCare */ + )) + return true; + for (; ; ) { + if (this.sibling(dir)) + return true; + if (this.atLastNode(dir) || !this.parent()) + return false; + } + } + /** + Move to the next node in a + [pre-order](https://en.wikipedia.org/wiki/Tree_traversal#Pre-order,_NLR) + traversal, going from a node to its first child or, if the + current node is empty or `enter` is false, its next sibling or + the next sibling of the first parent node that has one. + */ + next(enter = true) { + return this.move(1, enter); + } + /** + Move to the next node in a last-to-first pre-order traveral. A + node is followed by its last child or, if it has none, its + previous sibling or the previous sibling of the first parent + node that has one. + */ + prev(enter = true) { + return this.move(-1, enter); + } + /** + Move the cursor to the innermost node that covers `pos`. If + `side` is -1, it will enter nodes that end at `pos`. If it is 1, + it will enter nodes that start at `pos`. + */ + moveTo(pos, side = 0) { + while (this.from == this.to || (side < 1 ? this.from >= pos : this.from > pos) || (side > -1 ? this.to <= pos : this.to < pos)) + if (!this.parent()) + break; + while (this.enterChild(1, pos, side)) { + } + return this; + } + /** + Get a [syntax node](#common.SyntaxNode) at the cursor's current + position. + */ + get node() { + if (!this.buffer) + return this._tree; + let cache2 = this.bufferNode, result = null, depth = 0; + if (cache2 && cache2.context == this.buffer) { + scan: + for (let index = this.index, d = this.stack.length; d >= 0; ) { + for (let c = cache2; c; c = c._parent) + if (c.index == index) { + if (index == this.index) + return c; + result = c; + depth = d + 1; + break scan; + } + index = this.stack[--d]; + } + } + for (let i = depth; i < this.stack.length; i++) + result = new BufferNode(this.buffer, result, this.stack[i]); + return this.bufferNode = new BufferNode(this.buffer, result, this.index); + } + /** + Get the [tree](#common.Tree) that represents the current node, if + any. Will return null when the node is in a [tree + buffer](#common.TreeBuffer). + */ + get tree() { + return this.buffer ? null : this._tree._tree; + } + /** + Iterate over the current node and all its descendants, calling + `enter` when entering a node and `leave`, if given, when leaving + one. When `enter` returns `false`, any children of that node are + skipped, and `leave` isn't called for it. + */ + iterate(enter, leave) { + for (let depth = 0; ; ) { + let mustLeave = false; + if (this.type.isAnonymous || enter(this) !== false) { + if (this.firstChild()) { + depth++; + continue; + } + if (!this.type.isAnonymous) + mustLeave = true; + } + for (; ; ) { + if (mustLeave && leave) + leave(this); + mustLeave = this.type.isAnonymous; + if (this.nextSibling()) + break; + if (!depth) + return; + this.parent(); + depth--; + mustLeave = true; + } + } + } + /** + Test whether the current node matches a given context—a sequence + of direct parent node names. Empty strings in the context array + are treated as wildcards. + */ + matchContext(context) { + if (!this.buffer) + return matchNodeContext(this.node, context); + let { buffer } = this.buffer, { types } = buffer.set; + for (let i = context.length - 1, d = this.stack.length - 1; i >= 0; d--) { + if (d < 0) + return matchNodeContext(this.node, context, i); + let type = types[buffer.buffer[this.stack[d]]]; + if (!type.isAnonymous) { + if (context[i] && context[i] != type.name) + return false; + i--; + } + } + return true; + } +}; +function hasChild(tree) { + return tree.children.some((ch) => ch instanceof TreeBuffer || !ch.type.isAnonymous || hasChild(ch)); +} +function buildTree(data) { + var _a; + let { buffer, nodeSet, maxBufferLength = DefaultBufferLength, reused = [], minRepeatType = nodeSet.types.length } = data; + let cursor = Array.isArray(buffer) ? new FlatBufferCursor(buffer, buffer.length) : buffer; + let types = nodeSet.types; + let contextHash = 0, lookAhead = 0; + function takeNode(parentStart, minPos, children2, positions2, inRepeat) { + let { id: id2, start: start2, end: end2, size } = cursor; + let lookAheadAtStart = lookAhead; + while (size < 0) { + cursor.next(); + if (size == -1) { + let node2 = reused[id2]; + children2.push(node2); + positions2.push(start2 - parentStart); + return; + } else if (size == -3) { + contextHash = id2; + return; + } else if (size == -4) { + lookAhead = id2; + return; + } else { + throw new RangeError(`Unrecognized record size: ${size}`); + } + } + let type = types[id2], node, buffer2; + let startPos = start2 - parentStart; + if (end2 - start2 <= maxBufferLength && (buffer2 = findBufferSize(cursor.pos - minPos, inRepeat))) { + let data2 = new Uint16Array(buffer2.size - buffer2.skip); + let endPos = cursor.pos - buffer2.size, index = data2.length; + while (cursor.pos > endPos) + index = copyToBuffer(buffer2.start, data2, index); + node = new TreeBuffer(data2, end2 - buffer2.start, nodeSet); + startPos = buffer2.start - parentStart; + } else { + let endPos = cursor.pos - size; + cursor.next(); + let localChildren = [], localPositions = []; + let localInRepeat = id2 >= minRepeatType ? id2 : -1; + let lastGroup = 0, lastEnd = end2; + while (cursor.pos > endPos) { + if (localInRepeat >= 0 && cursor.id == localInRepeat && cursor.size >= 0) { + if (cursor.end <= lastEnd - maxBufferLength) { + makeRepeatLeaf(localChildren, localPositions, start2, lastGroup, cursor.end, lastEnd, localInRepeat, lookAheadAtStart); + lastGroup = localChildren.length; + lastEnd = cursor.end; + } + cursor.next(); + } else { + takeNode(start2, endPos, localChildren, localPositions, localInRepeat); + } + } + if (localInRepeat >= 0 && lastGroup > 0 && lastGroup < localChildren.length) + makeRepeatLeaf(localChildren, localPositions, start2, lastGroup, start2, lastEnd, localInRepeat, lookAheadAtStart); + localChildren.reverse(); + localPositions.reverse(); + if (localInRepeat > -1 && lastGroup > 0) { + let make = makeBalanced(type); + node = balanceRange(type, localChildren, localPositions, 0, localChildren.length, 0, end2 - start2, make, make); + } else { + node = makeTree(type, localChildren, localPositions, end2 - start2, lookAheadAtStart - end2); + } + } + children2.push(node); + positions2.push(startPos); + } + function makeBalanced(type) { + return (children2, positions2, length2) => { + let lookAhead2 = 0, lastI = children2.length - 1, last, lookAheadProp; + if (lastI >= 0 && (last = children2[lastI]) instanceof Tree) { + if (!lastI && last.type == type && last.length == length2) + return last; + if (lookAheadProp = last.prop(NodeProp.lookAhead)) + lookAhead2 = positions2[lastI] + last.length + lookAheadProp; + } + return makeTree(type, children2, positions2, length2, lookAhead2); + }; + } + function makeRepeatLeaf(children2, positions2, base, i, from, to, type, lookAhead2) { + let localChildren = [], localPositions = []; + while (children2.length > i) { + localChildren.push(children2.pop()); + localPositions.push(positions2.pop() + base - from); + } + children2.push(makeTree(nodeSet.types[type], localChildren, localPositions, to - from, lookAhead2 - to)); + positions2.push(from - base); + } + function makeTree(type, children2, positions2, length2, lookAhead2 = 0, props) { + if (contextHash) { + let pair2 = [NodeProp.contextHash, contextHash]; + props = props ? [pair2].concat(props) : [pair2]; + } + if (lookAhead2 > 25) { + let pair2 = [NodeProp.lookAhead, lookAhead2]; + props = props ? [pair2].concat(props) : [pair2]; + } + return new Tree(type, children2, positions2, length2, props); + } + function findBufferSize(maxSize, inRepeat) { + let fork = cursor.fork(); + let size = 0, start2 = 0, skip = 0, minStart = fork.end - maxBufferLength; + let result = { size: 0, start: 0, skip: 0 }; + scan: + for (let minPos = fork.pos - maxSize; fork.pos > minPos; ) { + let nodeSize2 = fork.size; + if (fork.id == inRepeat && nodeSize2 >= 0) { + result.size = size; + result.start = start2; + result.skip = skip; + skip += 4; + size += 4; + fork.next(); + continue; + } + let startPos = fork.pos - nodeSize2; + if (nodeSize2 < 0 || startPos < minPos || fork.start < minStart) + break; + let localSkipped = fork.id >= minRepeatType ? 4 : 0; + let nodeStart = fork.start; + fork.next(); + while (fork.pos > startPos) { + if (fork.size < 0) { + if (fork.size == -3) + localSkipped += 4; + else + break scan; + } else if (fork.id >= minRepeatType) { + localSkipped += 4; + } + fork.next(); + } + start2 = nodeStart; + size += nodeSize2; + skip += localSkipped; + } + if (inRepeat < 0 || size == maxSize) { + result.size = size; + result.start = start2; + result.skip = skip; + } + return result.size > 4 ? result : void 0; + } + function copyToBuffer(bufferStart, buffer2, index) { + let { id: id2, start: start2, end: end2, size } = cursor; + cursor.next(); + if (size >= 0 && id2 < minRepeatType) { + let startIndex = index; + if (size > 4) { + let endPos = cursor.pos - (size - 4); + while (cursor.pos > endPos) + index = copyToBuffer(bufferStart, buffer2, index); + } + buffer2[--index] = startIndex; + buffer2[--index] = end2 - bufferStart; + buffer2[--index] = start2 - bufferStart; + buffer2[--index] = id2; + } else if (size == -3) { + contextHash = id2; + } else if (size == -4) { + lookAhead = id2; + } + return index; + } + let children = [], positions = []; + while (cursor.pos > 0) + takeNode(data.start || 0, data.bufferStart || 0, children, positions, -1); + let length = (_a = data.length) !== null && _a !== void 0 ? _a : children.length ? positions[0] + children[0].length : 0; + return new Tree(types[data.topID], children.reverse(), positions.reverse(), length); +} +var nodeSizeCache = /* @__PURE__ */ new WeakMap(); +function nodeSize(balanceType, node) { + if (!balanceType.isAnonymous || node instanceof TreeBuffer || node.type != balanceType) + return 1; + let size = nodeSizeCache.get(node); + if (size == null) { + size = 1; + for (let child of node.children) { + if (child.type != balanceType || !(child instanceof Tree)) { + size = 1; + break; + } + size += nodeSize(balanceType, child); + } + nodeSizeCache.set(node, size); + } + return size; +} +function balanceRange(balanceType, children, positions, from, to, start2, length, mkTop, mkTree) { + let total = 0; + for (let i = from; i < to; i++) + total += nodeSize(balanceType, children[i]); + let maxChild = Math.ceil( + total * 1.5 / 8 + /* Balance.BranchFactor */ + ); + let localChildren = [], localPositions = []; + function divide(children2, positions2, from2, to2, offset2) { + for (let i = from2; i < to2; ) { + let groupFrom = i, groupStart = positions2[i], groupSize = nodeSize(balanceType, children2[i]); + i++; + for (; i < to2; i++) { + let nextSize = nodeSize(balanceType, children2[i]); + if (groupSize + nextSize >= maxChild) + break; + groupSize += nextSize; + } + if (i == groupFrom + 1) { + if (groupSize > maxChild) { + let only = children2[groupFrom]; + divide(only.children, only.positions, 0, only.children.length, positions2[groupFrom] + offset2); + continue; + } + localChildren.push(children2[groupFrom]); + } else { + let length2 = positions2[i - 1] + children2[i - 1].length - groupStart; + localChildren.push(balanceRange(balanceType, children2, positions2, groupFrom, i, groupStart, length2, null, mkTree)); + } + localPositions.push(groupStart + offset2 - start2); + } + } + divide(children, positions, from, to, 0); + return (mkTop || mkTree)(localChildren, localPositions, length); +} +var NodeWeakMap = class { + constructor() { + this.map = /* @__PURE__ */ new WeakMap(); + } + setBuffer(buffer, index, value) { + let inner = this.map.get(buffer); + if (!inner) + this.map.set(buffer, inner = /* @__PURE__ */ new Map()); + inner.set(index, value); + } + getBuffer(buffer, index) { + let inner = this.map.get(buffer); + return inner && inner.get(index); + } + /** + Set the value for this syntax node. + */ + set(node, value) { + if (node instanceof BufferNode) + this.setBuffer(node.context.buffer, node.index, value); + else if (node instanceof TreeNode) + this.map.set(node.tree, value); + } + /** + Retrieve value for this syntax node, if it exists in the map. + */ + get(node) { + return node instanceof BufferNode ? this.getBuffer(node.context.buffer, node.index) : node instanceof TreeNode ? this.map.get(node.tree) : void 0; + } + /** + Set the value for the node that a cursor currently points to. + */ + cursorSet(cursor, value) { + if (cursor.buffer) + this.setBuffer(cursor.buffer.buffer, cursor.index, value); + else + this.map.set(cursor.tree, value); + } + /** + Retrieve the value for the node that a cursor currently points + to. + */ + cursorGet(cursor) { + return cursor.buffer ? this.getBuffer(cursor.buffer.buffer, cursor.index) : this.map.get(cursor.tree); + } +}; +var Parser = class { + /** + Start a parse, returning a [partial parse](#common.PartialParse) + object. [`fragments`](#common.TreeFragment) can be passed in to + make the parse incremental. + + By default, the entire input is parsed. You can pass `ranges`, + which should be a sorted array of non-empty, non-overlapping + ranges, to parse only those ranges. The tree returned in that + case will start at `ranges[0].from`. + */ + startParse(input, fragments, ranges) { + if (typeof input == "string") + input = new StringInput(input); + ranges = !ranges ? [new Range(0, input.length)] : ranges.length ? ranges.map((r) => new Range(r.from, r.to)) : [new Range(0, 0)]; + return this.createParse(input, fragments || [], ranges); + } + /** + Run a full parse, returning the resulting tree. + */ + parse(input, fragments, ranges) { + let parse2 = this.startParse(input, fragments, ranges); + for (; ; ) { + let done = parse2.advance(); + if (done) + return done; + } + } +}; +var StringInput = class { + constructor(string2) { + this.string = string2; + } + get length() { + return this.string.length; + } + chunk(from) { + return this.string.slice(from); + } + get lineChunks() { + return false; + } + read(from, to) { + return this.string.slice(from, to); + } +}; +var stoppedInner = new NodeProp({ perNode: true }); + +// node_modules/@lezer/lr/dist/index.js +var Stack = class _Stack { + /// @internal + constructor(p, stack, state, reducePos, pos, score, buffer, bufferBase, curContext, lookAhead = 0, parent) { + this.p = p; + this.stack = stack; + this.state = state; + this.reducePos = reducePos; + this.pos = pos; + this.score = score; + this.buffer = buffer; + this.bufferBase = bufferBase; + this.curContext = curContext; + this.lookAhead = lookAhead; + this.parent = parent; + } + /// @internal + toString() { + return `[${this.stack.filter((_, i) => i % 3 == 0).concat(this.state)}]@${this.pos}${this.score ? "!" + this.score : ""}`; + } + // Start an empty stack + /// @internal + static start(p, state, pos = 0) { + let cx = p.parser.context; + return new _Stack(p, [], state, pos, pos, 0, [], 0, cx ? new StackContext(cx, cx.start) : null, 0, null); + } + /// The stack's current [context](#lr.ContextTracker) value, if + /// any. Its type will depend on the context tracker's type + /// parameter, or it will be `null` if there is no context + /// tracker. + get context() { + return this.curContext ? this.curContext.context : null; + } + // Push a state onto the stack, tracking its start position as well + // as the buffer base at that point. + /// @internal + pushState(state, start2) { + this.stack.push(this.state, start2, this.bufferBase + this.buffer.length); + this.state = state; + } + // Apply a reduce action + /// @internal + reduce(action) { + let depth = action >> 19, type = action & 65535; + let { parser: parser2 } = this.p; + let dPrec = parser2.dynamicPrecedence(type); + if (dPrec) + this.score += dPrec; + if (depth == 0) { + this.pushState(parser2.getGoto(this.state, type, true), this.reducePos); + if (type < parser2.minRepeatTerm) + this.storeNode(type, this.reducePos, this.reducePos, 4, true); + this.reduceContext(type, this.reducePos); + return; + } + let base = this.stack.length - (depth - 1) * 3 - (action & 262144 ? 6 : 0); + let start2 = this.stack[base - 2]; + let bufferBase = this.stack[base - 1], count = this.bufferBase + this.buffer.length - bufferBase; + if (type < parser2.minRepeatTerm || action & 131072) { + let pos = parser2.stateFlag( + this.state, + 1 + /* Skipped */ + ) ? this.pos : this.reducePos; + this.storeNode(type, start2, pos, count + 4, true); + } + if (action & 262144) { + this.state = this.stack[base]; + } else { + let baseStateID = this.stack[base - 3]; + this.state = parser2.getGoto(baseStateID, type, true); + } + while (this.stack.length > base) + this.stack.pop(); + this.reduceContext(type, start2); + } + // Shift a value into the buffer + /// @internal + storeNode(term, start2, end2, size = 4, isReduce = false) { + if (term == 0 && (!this.stack.length || this.stack[this.stack.length - 1] < this.buffer.length + this.bufferBase)) { + let cur = this, top2 = this.buffer.length; + if (top2 == 0 && cur.parent) { + top2 = cur.bufferBase - cur.parent.bufferBase; + cur = cur.parent; + } + if (top2 > 0 && cur.buffer[top2 - 4] == 0 && cur.buffer[top2 - 1] > -1) { + if (start2 == end2) + return; + if (cur.buffer[top2 - 2] >= start2) { + cur.buffer[top2 - 2] = end2; + return; + } + } + } + if (!isReduce || this.pos == end2) { + this.buffer.push(term, start2, end2, size); + } else { + let index = this.buffer.length; + if (index > 0 && this.buffer[index - 4] != 0) + while (index > 0 && this.buffer[index - 2] > end2) { + this.buffer[index] = this.buffer[index - 4]; + this.buffer[index + 1] = this.buffer[index - 3]; + this.buffer[index + 2] = this.buffer[index - 2]; + this.buffer[index + 3] = this.buffer[index - 1]; + index -= 4; + if (size > 4) + size -= 4; + } + this.buffer[index] = term; + this.buffer[index + 1] = start2; + this.buffer[index + 2] = end2; + this.buffer[index + 3] = size; + } + } + // Apply a shift action + /// @internal + shift(action, next, nextEnd) { + let start2 = this.pos; + if (action & 131072) { + this.pushState(action & 65535, this.pos); + } else if ((action & 262144) == 0) { + let nextState = action, { parser: parser2 } = this.p; + if (nextEnd > this.pos || next <= parser2.maxNode) { + this.pos = nextEnd; + if (!parser2.stateFlag( + nextState, + 1 + /* Skipped */ + )) + this.reducePos = nextEnd; + } + this.pushState(nextState, start2); + this.shiftContext(next, start2); + if (next <= parser2.maxNode) + this.buffer.push(next, start2, nextEnd, 4); + } else { + this.pos = nextEnd; + this.shiftContext(next, start2); + if (next <= this.p.parser.maxNode) + this.buffer.push(next, start2, nextEnd, 4); + } + } + // Apply an action + /// @internal + apply(action, next, nextEnd) { + if (action & 65536) + this.reduce(action); + else + this.shift(action, next, nextEnd); + } + // Add a prebuilt (reused) node into the buffer. + /// @internal + useNode(value, next) { + let index = this.p.reused.length - 1; + if (index < 0 || this.p.reused[index] != value) { + this.p.reused.push(value); + index++; + } + let start2 = this.pos; + this.reducePos = this.pos = start2 + value.length; + this.pushState(next, start2); + this.buffer.push( + index, + start2, + this.reducePos, + -1 + /* size == -1 means this is a reused value */ + ); + if (this.curContext) + this.updateContext(this.curContext.tracker.reuse(this.curContext.context, value, this, this.p.stream.reset(this.pos - value.length))); + } + // Split the stack. Due to the buffer sharing and the fact + // that `this.stack` tends to stay quite shallow, this isn't very + // expensive. + /// @internal + split() { + let parent = this; + let off = parent.buffer.length; + while (off > 0 && parent.buffer[off - 2] > parent.reducePos) + off -= 4; + let buffer = parent.buffer.slice(off), base = parent.bufferBase + off; + while (parent && base == parent.bufferBase) + parent = parent.parent; + return new _Stack(this.p, this.stack.slice(), this.state, this.reducePos, this.pos, this.score, buffer, base, this.curContext, this.lookAhead, parent); + } + // Try to recover from an error by 'deleting' (ignoring) one token. + /// @internal + recoverByDelete(next, nextEnd) { + let isNode = next <= this.p.parser.maxNode; + if (isNode) + this.storeNode(next, this.pos, nextEnd, 4); + this.storeNode(0, this.pos, nextEnd, isNode ? 8 : 4); + this.pos = this.reducePos = nextEnd; + this.score -= 190; + } + /// Check if the given term would be able to be shifted (optionally + /// after some reductions) on this stack. This can be useful for + /// external tokenizers that want to make sure they only provide a + /// given token when it applies. + canShift(term) { + for (let sim = new SimulatedStack(this); ; ) { + let action = this.p.parser.stateSlot( + sim.state, + 4 + /* DefaultReduce */ + ) || this.p.parser.hasAction(sim.state, term); + if ((action & 65536) == 0) + return true; + if (action == 0) + return false; + sim.reduce(action); + } + } + // Apply up to Recover.MaxNext recovery actions that conceptually + // inserts some missing token or rule. + /// @internal + recoverByInsert(next) { + if (this.stack.length >= 300) + return []; + let nextStates = this.p.parser.nextStates(this.state); + if (nextStates.length > 4 << 1 || this.stack.length >= 120) { + let best = []; + for (let i = 0, s; i < nextStates.length; i += 2) { + if ((s = nextStates[i + 1]) != this.state && this.p.parser.hasAction(s, next)) + best.push(nextStates[i], s); + } + if (this.stack.length < 120) + for (let i = 0; best.length < 4 << 1 && i < nextStates.length; i += 2) { + let s = nextStates[i + 1]; + if (!best.some((v, i2) => i2 & 1 && v == s)) + best.push(nextStates[i], s); + } + nextStates = best; + } + let result = []; + for (let i = 0; i < nextStates.length && result.length < 4; i += 2) { + let s = nextStates[i + 1]; + if (s == this.state) + continue; + let stack = this.split(); + stack.pushState(s, this.pos); + stack.storeNode(0, stack.pos, stack.pos, 4, true); + stack.shiftContext(nextStates[i], this.pos); + stack.score -= 200; + result.push(stack); + } + return result; + } + // Force a reduce, if possible. Return false if that can't + // be done. + /// @internal + forceReduce() { + let reduce = this.p.parser.stateSlot( + this.state, + 5 + /* ForcedReduce */ + ); + if ((reduce & 65536) == 0) + return false; + let { parser: parser2 } = this.p; + if (!parser2.validAction(this.state, reduce)) { + let depth = reduce >> 19, term = reduce & 65535; + let target = this.stack.length - depth * 3; + if (target < 0 || parser2.getGoto(this.stack[target], term, false) < 0) + return false; + this.storeNode(0, this.reducePos, this.reducePos, 4, true); + this.score -= 100; + } + this.reducePos = this.pos; + this.reduce(reduce); + return true; + } + /// @internal + forceAll() { + while (!this.p.parser.stateFlag( + this.state, + 2 + /* Accepting */ + )) { + if (!this.forceReduce()) { + this.storeNode(0, this.pos, this.pos, 4, true); + break; + } + } + return this; + } + /// Check whether this state has no further actions (assumed to be a direct descendant of the + /// top state, since any other states must be able to continue + /// somehow). @internal + get deadEnd() { + if (this.stack.length != 3) + return false; + let { parser: parser2 } = this.p; + return parser2.data[parser2.stateSlot( + this.state, + 1 + /* Actions */ + )] == 65535 && !parser2.stateSlot( + this.state, + 4 + /* DefaultReduce */ + ); + } + /// Restart the stack (put it back in its start state). Only safe + /// when this.stack.length == 3 (state is directly below the top + /// state). @internal + restart() { + this.state = this.stack[0]; + this.stack.length = 0; + } + /// @internal + sameState(other) { + if (this.state != other.state || this.stack.length != other.stack.length) + return false; + for (let i = 0; i < this.stack.length; i += 3) + if (this.stack[i] != other.stack[i]) + return false; + return true; + } + /// Get the parser used by this stack. + get parser() { + return this.p.parser; + } + /// Test whether a given dialect (by numeric ID, as exported from + /// the terms file) is enabled. + dialectEnabled(dialectID) { + return this.p.parser.dialect.flags[dialectID]; + } + shiftContext(term, start2) { + if (this.curContext) + this.updateContext(this.curContext.tracker.shift(this.curContext.context, term, this, this.p.stream.reset(start2))); + } + reduceContext(term, start2) { + if (this.curContext) + this.updateContext(this.curContext.tracker.reduce(this.curContext.context, term, this, this.p.stream.reset(start2))); + } + /// @internal + emitContext() { + let last = this.buffer.length - 1; + if (last < 0 || this.buffer[last] != -3) + this.buffer.push(this.curContext.hash, this.reducePos, this.reducePos, -3); + } + /// @internal + emitLookAhead() { + let last = this.buffer.length - 1; + if (last < 0 || this.buffer[last] != -4) + this.buffer.push(this.lookAhead, this.reducePos, this.reducePos, -4); + } + updateContext(context) { + if (context != this.curContext.context) { + let newCx = new StackContext(this.curContext.tracker, context); + if (newCx.hash != this.curContext.hash) + this.emitContext(); + this.curContext = newCx; + } + } + /// @internal + setLookAhead(lookAhead) { + if (lookAhead > this.lookAhead) { + this.emitLookAhead(); + this.lookAhead = lookAhead; + } + } + /// @internal + close() { + if (this.curContext && this.curContext.tracker.strict) + this.emitContext(); + if (this.lookAhead > 0) + this.emitLookAhead(); + } +}; +var StackContext = class { + constructor(tracker, context) { + this.tracker = tracker; + this.context = context; + this.hash = tracker.strict ? tracker.hash(context) : 0; + } +}; +var Recover; +(function(Recover2) { + Recover2[Recover2["Insert"] = 200] = "Insert"; + Recover2[Recover2["Delete"] = 190] = "Delete"; + Recover2[Recover2["Reduce"] = 100] = "Reduce"; + Recover2[Recover2["MaxNext"] = 4] = "MaxNext"; + Recover2[Recover2["MaxInsertStackDepth"] = 300] = "MaxInsertStackDepth"; + Recover2[Recover2["DampenInsertStackDepth"] = 120] = "DampenInsertStackDepth"; +})(Recover || (Recover = {})); +var SimulatedStack = class { + constructor(start2) { + this.start = start2; + this.state = start2.state; + this.stack = start2.stack; + this.base = this.stack.length; + } + reduce(action) { + let term = action & 65535, depth = action >> 19; + if (depth == 0) { + if (this.stack == this.start.stack) + this.stack = this.stack.slice(); + this.stack.push(this.state, 0, 0); + this.base += 3; + } else { + this.base -= (depth - 1) * 3; + } + let goto = this.start.p.parser.getGoto(this.stack[this.base - 3], term, true); + this.state = goto; + } +}; +var StackBufferCursor = class _StackBufferCursor { + constructor(stack, pos, index) { + this.stack = stack; + this.pos = pos; + this.index = index; + this.buffer = stack.buffer; + if (this.index == 0) + this.maybeNext(); + } + static create(stack, pos = stack.bufferBase + stack.buffer.length) { + return new _StackBufferCursor(stack, pos, pos - stack.bufferBase); + } + maybeNext() { + let next = this.stack.parent; + if (next != null) { + this.index = this.stack.bufferBase - next.bufferBase; + this.stack = next; + this.buffer = next.buffer; + } + } + get id() { + return this.buffer[this.index - 4]; + } + get start() { + return this.buffer[this.index - 3]; + } + get end() { + return this.buffer[this.index - 2]; + } + get size() { + return this.buffer[this.index - 1]; + } + next() { + this.index -= 4; + this.pos -= 4; + if (this.index == 0) + this.maybeNext(); + } + fork() { + return new _StackBufferCursor(this.stack, this.pos, this.index); + } +}; +var CachedToken = class { + constructor() { + this.start = -1; + this.value = -1; + this.end = -1; + this.extended = -1; + this.lookAhead = 0; + this.mask = 0; + this.context = 0; + } +}; +var nullToken = new CachedToken(); +var InputStream = class { + /// @internal + constructor(input, ranges) { + this.input = input; + this.ranges = ranges; + this.chunk = ""; + this.chunkOff = 0; + this.chunk2 = ""; + this.chunk2Pos = 0; + this.next = -1; + this.token = nullToken; + this.rangeIndex = 0; + this.pos = this.chunkPos = ranges[0].from; + this.range = ranges[0]; + this.end = ranges[ranges.length - 1].to; + this.readNext(); + } + /// @internal + resolveOffset(offset2, assoc) { + let range = this.range, index = this.rangeIndex; + let pos = this.pos + offset2; + while (pos < range.from) { + if (!index) + return null; + let next = this.ranges[--index]; + pos -= range.from - next.to; + range = next; + } + while (assoc < 0 ? pos > range.to : pos >= range.to) { + if (index == this.ranges.length - 1) + return null; + let next = this.ranges[++index]; + pos += next.from - range.to; + range = next; + } + return pos; + } + /// Look at a code unit near the stream position. `.peek(0)` equals + /// `.next`, `.peek(-1)` gives you the previous character, and so + /// on. + /// + /// Note that looking around during tokenizing creates dependencies + /// on potentially far-away content, which may reduce the + /// effectiveness incremental parsing—when looking forward—or even + /// cause invalid reparses when looking backward more than 25 code + /// units, since the library does not track lookbehind. + peek(offset2) { + let idx = this.chunkOff + offset2, pos, result; + if (idx >= 0 && idx < this.chunk.length) { + pos = this.pos + offset2; + result = this.chunk.charCodeAt(idx); + } else { + let resolved = this.resolveOffset(offset2, 1); + if (resolved == null) + return -1; + pos = resolved; + if (pos >= this.chunk2Pos && pos < this.chunk2Pos + this.chunk2.length) { + result = this.chunk2.charCodeAt(pos - this.chunk2Pos); + } else { + let i = this.rangeIndex, range = this.range; + while (range.to <= pos) + range = this.ranges[++i]; + this.chunk2 = this.input.chunk(this.chunk2Pos = pos); + if (pos + this.chunk2.length > range.to) + this.chunk2 = this.chunk2.slice(0, range.to - pos); + result = this.chunk2.charCodeAt(0); + } + } + if (pos >= this.token.lookAhead) + this.token.lookAhead = pos + 1; + return result; + } + /// Accept a token. By default, the end of the token is set to the + /// current stream position, but you can pass an offset (relative to + /// the stream position) to change that. + acceptToken(token, endOffset = 0) { + let end2 = endOffset ? this.resolveOffset(endOffset, -1) : this.pos; + if (end2 == null || end2 < this.token.start) + throw new RangeError("Token end out of bounds"); + this.token.value = token; + this.token.end = end2; + } + getChunk() { + if (this.pos >= this.chunk2Pos && this.pos < this.chunk2Pos + this.chunk2.length) { + let { chunk, chunkPos } = this; + this.chunk = this.chunk2; + this.chunkPos = this.chunk2Pos; + this.chunk2 = chunk; + this.chunk2Pos = chunkPos; + this.chunkOff = this.pos - this.chunkPos; + } else { + this.chunk2 = this.chunk; + this.chunk2Pos = this.chunkPos; + let nextChunk = this.input.chunk(this.pos); + let end2 = this.pos + nextChunk.length; + this.chunk = end2 > this.range.to ? nextChunk.slice(0, this.range.to - this.pos) : nextChunk; + this.chunkPos = this.pos; + this.chunkOff = 0; + } + } + readNext() { + if (this.chunkOff >= this.chunk.length) { + this.getChunk(); + if (this.chunkOff == this.chunk.length) + return this.next = -1; + } + return this.next = this.chunk.charCodeAt(this.chunkOff); + } + /// Move the stream forward N (defaults to 1) code units. Returns + /// the new value of [`next`](#lr.InputStream.next). + advance(n = 1) { + this.chunkOff += n; + while (this.pos + n >= this.range.to) { + if (this.rangeIndex == this.ranges.length - 1) + return this.setDone(); + n -= this.range.to - this.pos; + this.range = this.ranges[++this.rangeIndex]; + this.pos = this.range.from; + } + this.pos += n; + if (this.pos >= this.token.lookAhead) + this.token.lookAhead = this.pos + 1; + return this.readNext(); + } + setDone() { + this.pos = this.chunkPos = this.end; + this.range = this.ranges[this.rangeIndex = this.ranges.length - 1]; + this.chunk = ""; + return this.next = -1; + } + /// @internal + reset(pos, token) { + if (token) { + this.token = token; + token.start = pos; + token.lookAhead = pos + 1; + token.value = token.extended = -1; + } else { + this.token = nullToken; + } + if (this.pos != pos) { + this.pos = pos; + if (pos == this.end) { + this.setDone(); + return this; + } + while (pos < this.range.from) + this.range = this.ranges[--this.rangeIndex]; + while (pos >= this.range.to) + this.range = this.ranges[++this.rangeIndex]; + if (pos >= this.chunkPos && pos < this.chunkPos + this.chunk.length) { + this.chunkOff = pos - this.chunkPos; + } else { + this.chunk = ""; + this.chunkOff = 0; + } + this.readNext(); + } + return this; + } + /// @internal + read(from, to) { + if (from >= this.chunkPos && to <= this.chunkPos + this.chunk.length) + return this.chunk.slice(from - this.chunkPos, to - this.chunkPos); + if (from >= this.chunk2Pos && to <= this.chunk2Pos + this.chunk2.length) + return this.chunk2.slice(from - this.chunk2Pos, to - this.chunk2Pos); + if (from >= this.range.from && to <= this.range.to) + return this.input.read(from, to); + let result = ""; + for (let r of this.ranges) { + if (r.from >= to) + break; + if (r.to > from) + result += this.input.read(Math.max(r.from, from), Math.min(r.to, to)); + } + return result; + } +}; +var TokenGroup = class { + constructor(data, id2) { + this.data = data; + this.id = id2; + } + token(input, stack) { + readToken(this.data, input, stack, this.id); + } +}; +TokenGroup.prototype.contextual = TokenGroup.prototype.fallback = TokenGroup.prototype.extend = false; +var ExternalTokenizer = class { + /// Create a tokenizer. The first argument is the function that, + /// given an input stream, scans for the types of tokens it + /// recognizes at the stream's position, and calls + /// [`acceptToken`](#lr.InputStream.acceptToken) when it finds + /// one. + constructor(token, options = {}) { + this.token = token; + this.contextual = !!options.contextual; + this.fallback = !!options.fallback; + this.extend = !!options.extend; + } +}; +function readToken(data, input, stack, group) { + let state = 0, groupMask = 1 << group, { parser: parser2 } = stack.p, { dialect } = parser2; + scan: + for (; ; ) { + if ((groupMask & data[state]) == 0) + break; + let accEnd = data[state + 1]; + for (let i = state + 3; i < accEnd; i += 2) + if ((data[i + 1] & groupMask) > 0) { + let term = data[i]; + if (dialect.allows(term) && (input.token.value == -1 || input.token.value == term || parser2.overrides(term, input.token.value))) { + input.acceptToken(term); + break; + } + } + let next = input.next, low = 0, high = data[state + 2]; + if (input.next < 0 && high > low && data[accEnd + high * 3 - 3] == 65535) { + state = data[accEnd + high * 3 - 1]; + continue scan; + } + for (; low < high; ) { + let mid = low + high >> 1; + let index = accEnd + mid + (mid << 1); + let from = data[index], to = data[index + 1]; + if (next < from) + high = mid; + else if (next >= to) + low = mid + 1; + else { + state = data[index + 2]; + input.advance(); + continue scan; + } + } + break; + } +} +function decodeArray(input, Type = Uint16Array) { + if (typeof input != "string") + return input; + let array = null; + for (let pos = 0, out = 0; pos < input.length; ) { + let value = 0; + for (; ; ) { + let next = input.charCodeAt(pos++), stop = false; + if (next == 126) { + value = 65535; + break; + } + if (next >= 92) + next--; + if (next >= 34) + next--; + let digit = next - 32; + if (digit >= 46) { + digit -= 46; + stop = true; + } + value += digit; + if (stop) + break; + value *= 46; + } + if (array) + array[out++] = value; + else + array = new Type(value); + } + return array; +} +var verbose = typeof process != "undefined" && process.env && /\bparse\b/.test(process.env.LOG); +var stackIDs = null; +var Safety; +(function(Safety2) { + Safety2[Safety2["Margin"] = 25] = "Margin"; +})(Safety || (Safety = {})); +function cutAt(tree, pos, side) { + let cursor = tree.cursor(IterMode.IncludeAnonymous); + cursor.moveTo(pos); + for (; ; ) { + if (!(side < 0 ? cursor.childBefore(pos) : cursor.childAfter(pos))) + for (; ; ) { + if ((side < 0 ? cursor.to < pos : cursor.from > pos) && !cursor.type.isError) + return side < 0 ? Math.max(0, Math.min( + cursor.to - 1, + pos - 25 + /* Margin */ + )) : Math.min(tree.length, Math.max( + cursor.from + 1, + pos + 25 + /* Margin */ + )); + if (side < 0 ? cursor.prevSibling() : cursor.nextSibling()) + break; + if (!cursor.parent()) + return side < 0 ? 0 : tree.length; + } + } +} +var FragmentCursor = class { + constructor(fragments, nodeSet) { + this.fragments = fragments; + this.nodeSet = nodeSet; + this.i = 0; + this.fragment = null; + this.safeFrom = -1; + this.safeTo = -1; + this.trees = []; + this.start = []; + this.index = []; + this.nextFragment(); + } + nextFragment() { + let fr = this.fragment = this.i == this.fragments.length ? null : this.fragments[this.i++]; + if (fr) { + this.safeFrom = fr.openStart ? cutAt(fr.tree, fr.from + fr.offset, 1) - fr.offset : fr.from; + this.safeTo = fr.openEnd ? cutAt(fr.tree, fr.to + fr.offset, -1) - fr.offset : fr.to; + while (this.trees.length) { + this.trees.pop(); + this.start.pop(); + this.index.pop(); + } + this.trees.push(fr.tree); + this.start.push(-fr.offset); + this.index.push(0); + this.nextStart = this.safeFrom; + } else { + this.nextStart = 1e9; + } + } + // `pos` must be >= any previously given `pos` for this cursor + nodeAt(pos) { + if (pos < this.nextStart) + return null; + while (this.fragment && this.safeTo <= pos) + this.nextFragment(); + if (!this.fragment) + return null; + for (; ; ) { + let last = this.trees.length - 1; + if (last < 0) { + this.nextFragment(); + return null; + } + let top2 = this.trees[last], index = this.index[last]; + if (index == top2.children.length) { + this.trees.pop(); + this.start.pop(); + this.index.pop(); + continue; + } + let next = top2.children[index]; + let start2 = this.start[last] + top2.positions[index]; + if (start2 > pos) { + this.nextStart = start2; + return null; + } + if (next instanceof Tree) { + if (start2 == pos) { + if (start2 < this.safeFrom) + return null; + let end2 = start2 + next.length; + if (end2 <= this.safeTo) { + let lookAhead = next.prop(NodeProp.lookAhead); + if (!lookAhead || end2 + lookAhead < this.fragment.to) + return next; + } + } + this.index[last]++; + if (start2 + next.length >= Math.max(this.safeFrom, pos)) { + this.trees.push(next); + this.start.push(start2); + this.index.push(0); + } + } else { + this.index[last]++; + this.nextStart = start2 + next.length; + } + } + } +}; +var TokenCache = class { + constructor(parser2, stream) { + this.stream = stream; + this.tokens = []; + this.mainToken = null; + this.actions = []; + this.tokens = parser2.tokenizers.map((_) => new CachedToken()); + } + getActions(stack) { + let actionIndex = 0; + let main2 = null; + let { parser: parser2 } = stack.p, { tokenizers } = parser2; + let mask = parser2.stateSlot( + stack.state, + 3 + /* TokenizerMask */ + ); + let context = stack.curContext ? stack.curContext.hash : 0; + let lookAhead = 0; + for (let i = 0; i < tokenizers.length; i++) { + if ((1 << i & mask) == 0) + continue; + let tokenizer = tokenizers[i], token = this.tokens[i]; + if (main2 && !tokenizer.fallback) + continue; + if (tokenizer.contextual || token.start != stack.pos || token.mask != mask || token.context != context) { + this.updateCachedToken(token, tokenizer, stack); + token.mask = mask; + token.context = context; + } + if (token.lookAhead > token.end + 25) + lookAhead = Math.max(token.lookAhead, lookAhead); + if (token.value != 0) { + let startIndex = actionIndex; + if (token.extended > -1) + actionIndex = this.addActions(stack, token.extended, token.end, actionIndex); + actionIndex = this.addActions(stack, token.value, token.end, actionIndex); + if (!tokenizer.extend) { + main2 = token; + if (actionIndex > startIndex) + break; + } + } + } + while (this.actions.length > actionIndex) + this.actions.pop(); + if (lookAhead) + stack.setLookAhead(lookAhead); + if (!main2 && stack.pos == this.stream.end) { + main2 = new CachedToken(); + main2.value = stack.p.parser.eofTerm; + main2.start = main2.end = stack.pos; + actionIndex = this.addActions(stack, main2.value, main2.end, actionIndex); + } + this.mainToken = main2; + return this.actions; + } + getMainToken(stack) { + if (this.mainToken) + return this.mainToken; + let main2 = new CachedToken(), { pos, p } = stack; + main2.start = pos; + main2.end = Math.min(pos + 1, p.stream.end); + main2.value = pos == p.stream.end ? p.parser.eofTerm : 0; + return main2; + } + updateCachedToken(token, tokenizer, stack) { + tokenizer.token(this.stream.reset(stack.pos, token), stack); + if (token.value > -1) { + let { parser: parser2 } = stack.p; + for (let i = 0; i < parser2.specialized.length; i++) + if (parser2.specialized[i] == token.value) { + let result = parser2.specializers[i](this.stream.read(token.start, token.end), stack); + if (result >= 0 && stack.p.parser.dialect.allows(result >> 1)) { + if ((result & 1) == 0) + token.value = result >> 1; + else + token.extended = result >> 1; + break; + } + } + } else { + token.value = 0; + token.end = Math.min(stack.p.stream.end, stack.pos + 1); + } + } + putAction(action, token, end2, index) { + for (let i = 0; i < index; i += 3) + if (this.actions[i] == action) + return index; + this.actions[index++] = action; + this.actions[index++] = token; + this.actions[index++] = end2; + return index; + } + addActions(stack, token, end2, index) { + let { state } = stack, { parser: parser2 } = stack.p, { data } = parser2; + for (let set = 0; set < 2; set++) { + for (let i = parser2.stateSlot( + state, + set ? 2 : 1 + /* Actions */ + ); ; i += 3) { + if (data[i] == 65535) { + if (data[i + 1] == 1) { + i = pair(data, i + 2); + } else { + if (index == 0 && data[i + 1] == 2) + index = this.putAction(pair(data, i + 2), token, end2, index); + break; + } + } + if (data[i] == token) + index = this.putAction(pair(data, i + 1), token, end2, index); + } + } + return index; + } +}; +var Rec; +(function(Rec2) { + Rec2[Rec2["Distance"] = 5] = "Distance"; + Rec2[Rec2["MaxRemainingPerStep"] = 3] = "MaxRemainingPerStep"; + Rec2[Rec2["MinBufferLengthPrune"] = 500] = "MinBufferLengthPrune"; + Rec2[Rec2["ForceReduceLimit"] = 10] = "ForceReduceLimit"; + Rec2[Rec2["CutDepth"] = 15e3] = "CutDepth"; + Rec2[Rec2["CutTo"] = 9e3] = "CutTo"; +})(Rec || (Rec = {})); +var Parse = class { + constructor(parser2, input, fragments, ranges) { + this.parser = parser2; + this.input = input; + this.ranges = ranges; + this.recovering = 0; + this.nextStackID = 9812; + this.minStackPos = 0; + this.reused = []; + this.stoppedAt = null; + this.stream = new InputStream(input, ranges); + this.tokens = new TokenCache(parser2, this.stream); + this.topTerm = parser2.top[1]; + let { from } = ranges[0]; + this.stacks = [Stack.start(this, parser2.top[0], from)]; + this.fragments = fragments.length && this.stream.end - from > parser2.bufferLength * 4 ? new FragmentCursor(fragments, parser2.nodeSet) : null; + } + get parsedPos() { + return this.minStackPos; + } + // Move the parser forward. This will process all parse stacks at + // `this.pos` and try to advance them to a further position. If no + // stack for such a position is found, it'll start error-recovery. + // + // When the parse is finished, this will return a syntax tree. When + // not, it returns `null`. + advance() { + let stacks = this.stacks, pos = this.minStackPos; + let newStacks = this.stacks = []; + let stopped, stoppedTokens; + for (let i = 0; i < stacks.length; i++) { + let stack = stacks[i]; + for (; ; ) { + this.tokens.mainToken = null; + if (stack.pos > pos) { + newStacks.push(stack); + } else if (this.advanceStack(stack, newStacks, stacks)) { + continue; + } else { + if (!stopped) { + stopped = []; + stoppedTokens = []; + } + stopped.push(stack); + let tok = this.tokens.getMainToken(stack); + stoppedTokens.push(tok.value, tok.end); + } + break; + } + } + if (!newStacks.length) { + let finished = stopped && findFinished(stopped); + if (finished) + return this.stackToTree(finished); + if (this.parser.strict) { + if (verbose && stopped) + console.log("Stuck with token " + (this.tokens.mainToken ? this.parser.getName(this.tokens.mainToken.value) : "none")); + throw new SyntaxError("No parse at " + pos); + } + if (!this.recovering) + this.recovering = 5; + } + if (this.recovering && stopped) { + let finished = this.stoppedAt != null && stopped[0].pos > this.stoppedAt ? stopped[0] : this.runRecovery(stopped, stoppedTokens, newStacks); + if (finished) + return this.stackToTree(finished.forceAll()); + } + if (this.recovering) { + let maxRemaining = this.recovering == 1 ? 1 : this.recovering * 3; + if (newStacks.length > maxRemaining) { + newStacks.sort((a, b) => b.score - a.score); + while (newStacks.length > maxRemaining) + newStacks.pop(); + } + if (newStacks.some((s) => s.reducePos > pos)) + this.recovering--; + } else if (newStacks.length > 1) { + outer: + for (let i = 0; i < newStacks.length - 1; i++) { + let stack = newStacks[i]; + for (let j = i + 1; j < newStacks.length; j++) { + let other = newStacks[j]; + if (stack.sameState(other) || stack.buffer.length > 500 && other.buffer.length > 500) { + if ((stack.score - other.score || stack.buffer.length - other.buffer.length) > 0) { + newStacks.splice(j--, 1); + } else { + newStacks.splice(i--, 1); + continue outer; + } + } + } + } + } + this.minStackPos = newStacks[0].pos; + for (let i = 1; i < newStacks.length; i++) + if (newStacks[i].pos < this.minStackPos) + this.minStackPos = newStacks[i].pos; + return null; + } + stopAt(pos) { + if (this.stoppedAt != null && this.stoppedAt < pos) + throw new RangeError("Can't move stoppedAt forward"); + this.stoppedAt = pos; + } + // Returns an updated version of the given stack, or null if the + // stack can't advance normally. When `split` and `stacks` are + // given, stacks split off by ambiguous operations will be pushed to + // `split`, or added to `stacks` if they move `pos` forward. + advanceStack(stack, stacks, split) { + let start2 = stack.pos, { parser: parser2 } = this; + let base = verbose ? this.stackID(stack) + " -> " : ""; + if (this.stoppedAt != null && start2 > this.stoppedAt) + return stack.forceReduce() ? stack : null; + if (this.fragments) { + let strictCx = stack.curContext && stack.curContext.tracker.strict, cxHash = strictCx ? stack.curContext.hash : 0; + for (let cached = this.fragments.nodeAt(start2); cached; ) { + let match = this.parser.nodeSet.types[cached.type.id] == cached.type ? parser2.getGoto(stack.state, cached.type.id) : -1; + if (match > -1 && cached.length && (!strictCx || (cached.prop(NodeProp.contextHash) || 0) == cxHash)) { + stack.useNode(cached, match); + if (verbose) + console.log(base + this.stackID(stack) + ` (via reuse of ${parser2.getName(cached.type.id)})`); + return true; + } + if (!(cached instanceof Tree) || cached.children.length == 0 || cached.positions[0] > 0) + break; + let inner = cached.children[0]; + if (inner instanceof Tree && cached.positions[0] == 0) + cached = inner; + else + break; + } + } + let defaultReduce = parser2.stateSlot( + stack.state, + 4 + /* DefaultReduce */ + ); + if (defaultReduce > 0) { + stack.reduce(defaultReduce); + if (verbose) + console.log(base + this.stackID(stack) + ` (via always-reduce ${parser2.getName( + defaultReduce & 65535 + /* ValueMask */ + )})`); + return true; + } + if (stack.stack.length >= 15e3) { + while (stack.stack.length > 9e3 && stack.forceReduce()) { + } + } + let actions = this.tokens.getActions(stack); + for (let i = 0; i < actions.length; ) { + let action = actions[i++], term = actions[i++], end2 = actions[i++]; + let last = i == actions.length || !split; + let localStack = last ? stack : stack.split(); + localStack.apply(action, term, end2); + if (verbose) + console.log(base + this.stackID(localStack) + ` (via ${(action & 65536) == 0 ? "shift" : `reduce of ${parser2.getName( + action & 65535 + /* ValueMask */ + )}`} for ${parser2.getName(term)} @ ${start2}${localStack == stack ? "" : ", split"})`); + if (last) + return true; + else if (localStack.pos > start2) + stacks.push(localStack); + else + split.push(localStack); + } + return false; + } + // Advance a given stack forward as far as it will go. Returns the + // (possibly updated) stack if it got stuck, or null if it moved + // forward and was given to `pushStackDedup`. + advanceFully(stack, newStacks) { + let pos = stack.pos; + for (; ; ) { + if (!this.advanceStack(stack, null, null)) + return false; + if (stack.pos > pos) { + pushStackDedup(stack, newStacks); + return true; + } + } + } + runRecovery(stacks, tokens, newStacks) { + let finished = null, restarted = false; + for (let i = 0; i < stacks.length; i++) { + let stack = stacks[i], token = tokens[i << 1], tokenEnd = tokens[(i << 1) + 1]; + let base = verbose ? this.stackID(stack) + " -> " : ""; + if (stack.deadEnd) { + if (restarted) + continue; + restarted = true; + stack.restart(); + if (verbose) + console.log(base + this.stackID(stack) + " (restarted)"); + let done = this.advanceFully(stack, newStacks); + if (done) + continue; + } + let force = stack.split(), forceBase = base; + for (let j = 0; force.forceReduce() && j < 10; j++) { + if (verbose) + console.log(forceBase + this.stackID(force) + " (via force-reduce)"); + let done = this.advanceFully(force, newStacks); + if (done) + break; + if (verbose) + forceBase = this.stackID(force) + " -> "; + } + for (let insert of stack.recoverByInsert(token)) { + if (verbose) + console.log(base + this.stackID(insert) + " (via recover-insert)"); + this.advanceFully(insert, newStacks); + } + if (this.stream.end > stack.pos) { + if (tokenEnd == stack.pos) { + tokenEnd++; + token = 0; + } + stack.recoverByDelete(token, tokenEnd); + if (verbose) + console.log(base + this.stackID(stack) + ` (via recover-delete ${this.parser.getName(token)})`); + pushStackDedup(stack, newStacks); + } else if (!finished || finished.score < stack.score) { + finished = stack; + } + } + return finished; + } + // Convert the stack's buffer to a syntax tree. + stackToTree(stack) { + stack.close(); + return Tree.build({ + buffer: StackBufferCursor.create(stack), + nodeSet: this.parser.nodeSet, + topID: this.topTerm, + maxBufferLength: this.parser.bufferLength, + reused: this.reused, + start: this.ranges[0].from, + length: stack.pos - this.ranges[0].from, + minRepeatType: this.parser.minRepeatTerm + }); + } + stackID(stack) { + let id2 = (stackIDs || (stackIDs = /* @__PURE__ */ new WeakMap())).get(stack); + if (!id2) + stackIDs.set(stack, id2 = String.fromCodePoint(this.nextStackID++)); + return id2 + stack; + } +}; +function pushStackDedup(stack, newStacks) { + for (let i = 0; i < newStacks.length; i++) { + let other = newStacks[i]; + if (other.pos == stack.pos && other.sameState(stack)) { + if (newStacks[i].score < stack.score) + newStacks[i] = stack; + return; + } + } + newStacks.push(stack); +} +var Dialect = class { + constructor(source, flags, disabled) { + this.source = source; + this.flags = flags; + this.disabled = disabled; + } + allows(term) { + return !this.disabled || this.disabled[term] == 0; + } +}; +var id = (x) => x; +var ContextTracker = class { + /// Define a context tracker. + constructor(spec) { + this.start = spec.start; + this.shift = spec.shift || id; + this.reduce = spec.reduce || id; + this.reuse = spec.reuse || id; + this.hash = spec.hash || (() => 0); + this.strict = spec.strict !== false; + } +}; +var LRParser = class _LRParser extends Parser { + /// @internal + constructor(spec) { + super(); + this.wrappers = []; + if (spec.version != 14) + throw new RangeError(`Parser version (${spec.version}) doesn't match runtime version (${14})`); + let nodeNames = spec.nodeNames.split(" "); + this.minRepeatTerm = nodeNames.length; + for (let i = 0; i < spec.repeatNodeCount; i++) + nodeNames.push(""); + let topTerms = Object.keys(spec.topRules).map((r) => spec.topRules[r][1]); + let nodeProps = []; + for (let i = 0; i < nodeNames.length; i++) + nodeProps.push([]); + function setProp(nodeID, prop, value) { + nodeProps[nodeID].push([prop, prop.deserialize(String(value))]); + } + if (spec.nodeProps) + for (let propSpec of spec.nodeProps) { + let prop = propSpec[0]; + if (typeof prop == "string") + prop = NodeProp[prop]; + for (let i = 1; i < propSpec.length; ) { + let next = propSpec[i++]; + if (next >= 0) { + setProp(next, prop, propSpec[i++]); + } else { + let value = propSpec[i + -next]; + for (let j = -next; j > 0; j--) + setProp(propSpec[i++], prop, value); + i++; + } + } + } + this.nodeSet = new NodeSet(nodeNames.map((name, i) => NodeType.define({ + name: i >= this.minRepeatTerm ? void 0 : name, + id: i, + props: nodeProps[i], + top: topTerms.indexOf(i) > -1, + error: i == 0, + skipped: spec.skippedNodes && spec.skippedNodes.indexOf(i) > -1 + }))); + if (spec.propSources) + this.nodeSet = this.nodeSet.extend(...spec.propSources); + this.strict = false; + this.bufferLength = DefaultBufferLength; + let tokenArray = decodeArray(spec.tokenData); + this.context = spec.context; + this.specializerSpecs = spec.specialized || []; + this.specialized = new Uint16Array(this.specializerSpecs.length); + for (let i = 0; i < this.specializerSpecs.length; i++) + this.specialized[i] = this.specializerSpecs[i].term; + this.specializers = this.specializerSpecs.map(getSpecializer); + this.states = decodeArray(spec.states, Uint32Array); + this.data = decodeArray(spec.stateData); + this.goto = decodeArray(spec.goto); + this.maxTerm = spec.maxTerm; + this.tokenizers = spec.tokenizers.map((value) => typeof value == "number" ? new TokenGroup(tokenArray, value) : value); + this.topRules = spec.topRules; + this.dialects = spec.dialects || {}; + this.dynamicPrecedences = spec.dynamicPrecedences || null; + this.tokenPrecTable = spec.tokenPrec; + this.termNames = spec.termNames || null; + this.maxNode = this.nodeSet.types.length - 1; + this.dialect = this.parseDialect(); + this.top = this.topRules[Object.keys(this.topRules)[0]]; + } + createParse(input, fragments, ranges) { + let parse2 = new Parse(this, input, fragments, ranges); + for (let w of this.wrappers) + parse2 = w(parse2, input, fragments, ranges); + return parse2; + } + /// Get a goto table entry @internal + getGoto(state, term, loose = false) { + let table = this.goto; + if (term >= table[0]) + return -1; + for (let pos = table[term + 1]; ; ) { + let groupTag = table[pos++], last = groupTag & 1; + let target = table[pos++]; + if (last && loose) + return target; + for (let end2 = pos + (groupTag >> 1); pos < end2; pos++) + if (table[pos] == state) + return target; + if (last) + return -1; + } + } + /// Check if this state has an action for a given terminal @internal + hasAction(state, terminal) { + let data = this.data; + for (let set = 0; set < 2; set++) { + for (let i = this.stateSlot( + state, + set ? 2 : 1 + /* Actions */ + ), next; ; i += 3) { + if ((next = data[i]) == 65535) { + if (data[i + 1] == 1) + next = data[i = pair(data, i + 2)]; + else if (data[i + 1] == 2) + return pair(data, i + 2); + else + break; + } + if (next == terminal || next == 0) + return pair(data, i + 1); + } + } + return 0; + } + /// @internal + stateSlot(state, slot) { + return this.states[state * 6 + slot]; + } + /// @internal + stateFlag(state, flag) { + return (this.stateSlot( + state, + 0 + /* Flags */ + ) & flag) > 0; + } + /// @internal + validAction(state, action) { + if (action == this.stateSlot( + state, + 4 + /* DefaultReduce */ + )) + return true; + for (let i = this.stateSlot( + state, + 1 + /* Actions */ + ); ; i += 3) { + if (this.data[i] == 65535) { + if (this.data[i + 1] == 1) + i = pair(this.data, i + 2); + else + return false; + } + if (action == pair(this.data, i + 1)) + return true; + } + } + /// Get the states that can follow this one through shift actions or + /// goto jumps. @internal + nextStates(state) { + let result = []; + for (let i = this.stateSlot( + state, + 1 + /* Actions */ + ); ; i += 3) { + if (this.data[i] == 65535) { + if (this.data[i + 1] == 1) + i = pair(this.data, i + 2); + else + break; + } + if ((this.data[i + 2] & 65536 >> 16) == 0) { + let value = this.data[i + 1]; + if (!result.some((v, i2) => i2 & 1 && v == value)) + result.push(this.data[i], value); + } + } + return result; + } + /// @internal + overrides(token, prev) { + let iPrev = findOffset(this.data, this.tokenPrecTable, prev); + return iPrev < 0 || findOffset(this.data, this.tokenPrecTable, token) < iPrev; + } + /// Configure the parser. Returns a new parser instance that has the + /// given settings modified. Settings not provided in `config` are + /// kept from the original parser. + configure(config2) { + let copy = Object.assign(Object.create(_LRParser.prototype), this); + if (config2.props) + copy.nodeSet = this.nodeSet.extend(...config2.props); + if (config2.top) { + let info = this.topRules[config2.top]; + if (!info) + throw new RangeError(`Invalid top rule name ${config2.top}`); + copy.top = info; + } + if (config2.tokenizers) + copy.tokenizers = this.tokenizers.map((t2) => { + let found = config2.tokenizers.find((r) => r.from == t2); + return found ? found.to : t2; + }); + if (config2.specializers) { + copy.specializers = this.specializers.slice(); + copy.specializerSpecs = this.specializerSpecs.map((s, i) => { + let found = config2.specializers.find((r) => r.from == s.external); + if (!found) + return s; + let spec = Object.assign(Object.assign({}, s), { external: found.to }); + copy.specializers[i] = getSpecializer(spec); + return spec; + }); + } + if (config2.contextTracker) + copy.context = config2.contextTracker; + if (config2.dialect) + copy.dialect = this.parseDialect(config2.dialect); + if (config2.strict != null) + copy.strict = config2.strict; + if (config2.wrap) + copy.wrappers = copy.wrappers.concat(config2.wrap); + if (config2.bufferLength != null) + copy.bufferLength = config2.bufferLength; + return copy; + } + /// Tells you whether any [parse wrappers](#lr.ParserConfig.wrap) + /// are registered for this parser. + hasWrappers() { + return this.wrappers.length > 0; + } + /// Returns the name associated with a given term. This will only + /// work for all terms when the parser was generated with the + /// `--names` option. By default, only the names of tagged terms are + /// stored. + getName(term) { + return this.termNames ? this.termNames[term] : String(term <= this.maxNode && this.nodeSet.types[term].name || term); + } + /// The eof term id is always allocated directly after the node + /// types. @internal + get eofTerm() { + return this.maxNode + 1; + } + /// The type of top node produced by the parser. + get topNode() { + return this.nodeSet.types[this.top[1]]; + } + /// @internal + dynamicPrecedence(term) { + let prec = this.dynamicPrecedences; + return prec == null ? 0 : prec[term] || 0; + } + /// @internal + parseDialect(dialect) { + let values = Object.keys(this.dialects), flags = values.map(() => false); + if (dialect) + for (let part of dialect.split(" ")) { + let id2 = values.indexOf(part); + if (id2 >= 0) + flags[id2] = true; + } + let disabled = null; + for (let i = 0; i < values.length; i++) + if (!flags[i]) { + for (let j = this.dialects[values[i]], id2; (id2 = this.data[j++]) != 65535; ) + (disabled || (disabled = new Uint8Array(this.maxTerm + 1)))[id2] = 1; + } + return new Dialect(dialect, flags, disabled); + } + /// Used by the output of the parser generator. Not available to + /// user code. + static deserialize(spec) { + return new _LRParser(spec); + } +}; +function pair(data, off) { + return data[off] | data[off + 1] << 16; +} +function findOffset(data, start2, term) { + for (let i = start2, next; (next = data[i]) != 65535; i++) + if (next == term) + return i - start2; + return -1; +} +function findFinished(stacks) { + let best = null; + for (let stack of stacks) { + let stopped = stack.p.stoppedAt; + if ((stack.pos == stack.p.stream.end || stopped != null && stack.pos > stopped) && stack.p.parser.stateFlag( + stack.state, + 2 + /* Accepting */ + ) && (!best || best.score < stack.score)) + best = stack; + } + return best; +} +function getSpecializer(spec) { + if (spec.external) { + let mask = spec.extend ? 1 : 0; + return (value, stack) => spec.external(value, stack) << 1 | mask; + } + return spec.get; +} + +// node_modules/@lezer/javascript/dist/index.es.js +var import_highlight = require("@lezer/highlight"); +var TSExtends = 1; +var noSemi = 281; +var incdec = 2; +var incdecPrefix = 3; +var templateContent = 282; +var InterpolationStart = 4; +var templateEnd = 283; +var insertSemi = 284; +var spaces = 286; +var newline = 287; +var LineComment = 5; +var BlockComment = 6; +var Dialect_ts = 1; +var space = [ + 9, + 10, + 11, + 12, + 13, + 32, + 133, + 160, + 5760, + 8192, + 8193, + 8194, + 8195, + 8196, + 8197, + 8198, + 8199, + 8200, + 8201, + 8202, + 8232, + 8233, + 8239, + 8287, + 12288 +]; +var braceR = 125; +var braceL = 123; +var semicolon = 59; +var slash = 47; +var star = 42; +var plus = 43; +var minus = 45; +var dollar = 36; +var backtick = 96; +var backslash = 92; +var trackNewline = new ContextTracker({ + start: false, + shift(context, term) { + return term == LineComment || term == BlockComment || term == spaces ? context : term == newline; + }, + strict: false +}); +var insertSemicolon = new ExternalTokenizer((input, stack) => { + let { next } = input; + if ((next == braceR || next == -1 || stack.context) && stack.canShift(insertSemi)) + input.acceptToken(insertSemi); +}, { contextual: true, fallback: true }); +var noSemicolon = new ExternalTokenizer((input, stack) => { + let { next } = input, after; + if (space.indexOf(next) > -1) + return; + if (next == slash && ((after = input.peek(1)) == slash || after == star)) + return; + if (next != braceR && next != semicolon && next != -1 && !stack.context && stack.canShift(noSemi)) + input.acceptToken(noSemi); +}, { contextual: true }); +var incdecToken = new ExternalTokenizer((input, stack) => { + let { next } = input; + if (next == plus || next == minus) { + input.advance(); + if (next == input.next) { + input.advance(); + let mayPostfix = !stack.context && stack.canShift(incdec); + input.acceptToken(mayPostfix ? incdec : incdecPrefix); + } + } +}, { contextual: true }); +var template = new ExternalTokenizer((input) => { + for (let afterDollar = false, i = 0; ; i++) { + let { next } = input; + if (next < 0) { + if (i) + input.acceptToken(templateContent); + break; + } else if (next == backtick) { + if (i) + input.acceptToken(templateContent); + else + input.acceptToken(templateEnd, 1); + break; + } else if (next == braceL && afterDollar) { + if (i == 1) + input.acceptToken(InterpolationStart, 1); + else + input.acceptToken(templateContent, -1); + break; + } else if (next == 10 && i) { + input.advance(); + input.acceptToken(templateContent); + break; + } else if (next == backslash) { + input.advance(); + } + afterDollar = next == dollar; + input.advance(); + } +}); +var tsExtends = new ExternalTokenizer((input, stack) => { + if (input.next != 101 || !stack.dialectEnabled(Dialect_ts)) + return; + input.advance(); + for (let i = 0; i < 6; i++) { + if (input.next != "xtends".charCodeAt(i)) + return; + input.advance(); + } + if (input.next >= 57 && input.next <= 65 || input.next >= 48 && input.next <= 90 || input.next == 95 || input.next >= 97 && input.next <= 122 || input.next > 160) + return; + input.acceptToken(TSExtends); +}); +var jsHighlight = (0, import_highlight.styleTags)({ + "get set async static": import_highlight.tags.modifier, + "for while do if else switch try catch finally return throw break continue default case": import_highlight.tags.controlKeyword, + "in of await yield void typeof delete instanceof": import_highlight.tags.operatorKeyword, + "let var const function class extends": import_highlight.tags.definitionKeyword, + "import export from": import_highlight.tags.moduleKeyword, + "with debugger as new": import_highlight.tags.keyword, + TemplateString: import_highlight.tags.special(import_highlight.tags.string), + super: import_highlight.tags.atom, + BooleanLiteral: import_highlight.tags.bool, + this: import_highlight.tags.self, + null: import_highlight.tags.null, + Star: import_highlight.tags.modifier, + VariableName: import_highlight.tags.variableName, + "CallExpression/VariableName TaggedTemplateExpression/VariableName": import_highlight.tags.function(import_highlight.tags.variableName), + VariableDefinition: import_highlight.tags.definition(import_highlight.tags.variableName), + Label: import_highlight.tags.labelName, + PropertyName: import_highlight.tags.propertyName, + PrivatePropertyName: import_highlight.tags.special(import_highlight.tags.propertyName), + "CallExpression/MemberExpression/PropertyName": import_highlight.tags.function(import_highlight.tags.propertyName), + "FunctionDeclaration/VariableDefinition": import_highlight.tags.function(import_highlight.tags.definition(import_highlight.tags.variableName)), + "ClassDeclaration/VariableDefinition": import_highlight.tags.definition(import_highlight.tags.className), + PropertyDefinition: import_highlight.tags.definition(import_highlight.tags.propertyName), + PrivatePropertyDefinition: import_highlight.tags.definition(import_highlight.tags.special(import_highlight.tags.propertyName)), + UpdateOp: import_highlight.tags.updateOperator, + LineComment: import_highlight.tags.lineComment, + BlockComment: import_highlight.tags.blockComment, + Number: import_highlight.tags.number, + String: import_highlight.tags.string, + ArithOp: import_highlight.tags.arithmeticOperator, + LogicOp: import_highlight.tags.logicOperator, + BitOp: import_highlight.tags.bitwiseOperator, + CompareOp: import_highlight.tags.compareOperator, + RegExp: import_highlight.tags.regexp, + Equals: import_highlight.tags.definitionOperator, + Arrow: import_highlight.tags.function(import_highlight.tags.punctuation), + ": Spread": import_highlight.tags.punctuation, + "( )": import_highlight.tags.paren, + "[ ]": import_highlight.tags.squareBracket, + "{ }": import_highlight.tags.brace, + "InterpolationStart InterpolationEnd": import_highlight.tags.special(import_highlight.tags.brace), + ".": import_highlight.tags.derefOperator, + ", ;": import_highlight.tags.separator, + TypeName: import_highlight.tags.typeName, + TypeDefinition: import_highlight.tags.definition(import_highlight.tags.typeName), + "type enum interface implements namespace module declare": import_highlight.tags.definitionKeyword, + "abstract global Privacy readonly override": import_highlight.tags.modifier, + "is keyof unique infer": import_highlight.tags.operatorKeyword, + JSXAttributeValue: import_highlight.tags.attributeValue, + JSXText: import_highlight.tags.content, + "JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag": import_highlight.tags.angleBracket, + "JSXIdentifier JSXNameSpacedName": import_highlight.tags.tagName, + "JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName": import_highlight.tags.attributeName +}); +var spec_identifier = { __proto__: null, export: 18, as: 23, from: 29, default: 32, async: 37, function: 38, this: 48, true: 56, false: 56, void: 66, typeof: 70, null: 86, super: 88, new: 122, await: 139, yield: 141, delete: 142, class: 152, extends: 154, public: 197, private: 197, protected: 197, readonly: 199, instanceof: 220, in: 222, const: 224, import: 256, keyof: 307, unique: 311, infer: 317, is: 351, abstract: 371, implements: 373, type: 375, let: 378, var: 380, interface: 387, enum: 391, namespace: 397, module: 399, declare: 403, global: 407, for: 428, of: 437, while: 440, with: 444, do: 448, if: 452, else: 454, switch: 458, case: 464, try: 470, catch: 474, finally: 478, return: 482, throw: 486, break: 490, continue: 494, debugger: 498 }; +var spec_word = { __proto__: null, async: 109, get: 111, set: 113, public: 161, private: 161, protected: 161, static: 163, abstract: 165, override: 167, readonly: 173, new: 355 }; +var spec_LessThan = { __proto__: null, "<": 129 }; +var parser = LRParser.deserialize({ + version: 14, + states: "$8SO`QdOOO'QQ(C|O'#ChO'XOWO'#DVO)dQdO'#D]O)tQdO'#DhO){QdO'#DrO-xQdO'#DxOOQO'#E]'#E]O.]Q`O'#E[O.bQ`O'#E[OOQ(C['#Ef'#EfO0aQ(C|O'#ItO2wQ(C|O'#IuO3eQ`O'#EzO3jQ!bO'#FaOOQ(C['#FS'#FSO3rO#tO'#FSO4QQ&jO'#FhO5bQ`O'#FgOOQ(C['#Iu'#IuOOQ(CW'#It'#ItOOQS'#J^'#J^O5gQ`O'#HpO5lQ(ChO'#HqOOQS'#Ih'#IhOOQS'#Hr'#HrQ`QdOOO){QdO'#DjO5tQ`O'#G[O5yQ&jO'#CmO6XQ`O'#EZO6dQ`O'#EgO6iQ,UO'#FRO7TQ`O'#G[O7YQ`O'#G`O7eQ`O'#G`O7sQ`O'#GcO7sQ`O'#GdO7sQ`O'#GfO5tQ`O'#GiO8dQ`O'#GlO9rQ`O'#CdO:SQ`O'#GyO:[Q`O'#HPO:[Q`O'#HRO`QdO'#HTO:[Q`O'#HVO:[Q`O'#HYO:aQ`O'#H`O:fQ(CjO'#HfO){QdO'#HhO:qQ(CjO'#HjO:|Q(CjO'#HlO5lQ(ChO'#HnO){QdO'#DWOOOW'#Ht'#HtO;XOWO,59qOOQ(C[,59q,59qO=jQtO'#ChO=tQdO'#HuO>XQ`O'#IvO@WQtO'#IvO'dQdO'#IvO@_Q`O,59wO@uQ7[O'#DbOAnQ`O'#E]OA{Q`O'#JROBWQ`O'#JQOBWQ`O'#JQOB`Q`O,5:yOBeQ`O'#JPOBlQaO'#DyO5yQ&jO'#EZOBzQ`O'#EZOCVQpO'#FROOQ(C[,5:S,5:SOC_QdO,5:SOE]Q(C|O,5:^OEyQ`O,5:dOFdQ(ChO'#JOO7YQ`O'#I}OFkQ`O'#I}OFsQ`O,5:xOFxQ`O'#I}OGWQdO,5:vOIWQ&jO'#EWOJeQ`O,5:vOKwQ&jO'#DlOLOQdO'#DqOLYQ7[O,5;PO){QdO,5;POOQS'#Er'#ErOOQS'#Et'#EtO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;RO){QdO,5;ROOQS'#Ex'#ExOLbQdO,5;cOOQ(C[,5;h,5;hOOQ(C[,5;i,5;iONbQ`O,5;iOOQ(C[,5;j,5;jO){QdO'#IPONgQ(ChO,5[OOQS'#Ik'#IkOOQS,5>],5>]OOQS-E;p-E;pO!+kQ(C|O,5:UOOQ(CX'#Cp'#CpO!,[Q&kO,5Q,5>QO){QdO,5>QO5lQ(ChO,5>SOOQS,5>U,5>UO!8cQ`O,5>UOOQS,5>W,5>WO!8cQ`O,5>WOOQS,5>Y,5>YO!8hQpO,59rOOOW-E;r-E;rOOQ(C[1G/]1G/]O!8mQtO,5>aO'dQdO,5>aOOQO,5>f,5>fO!8wQdO'#HuOOQO-E;s-E;sO!9UQ`O,5?bO!9^QtO,5?bO!9eQ`O,5?lOOQ(C[1G/c1G/cO!9mQ!bO'#DTOOQO'#Ix'#IxO){QdO'#IxO!:[Q!bO'#IxO!:yQ!bO'#DcO!;[Q7[O'#DcO!=gQdO'#DcO!=nQ`O'#IwO!=vQ`O,59|O!={Q`O'#EaO!>ZQ`O'#JSO!>cQ`O,5:zO!>yQ7[O'#DcO){QdO,5?mO!?TQ`O'#HzOOQO-E;x-E;xO!9eQ`O,5?lOOQ(CW1G0e1G0eO!@aQ7[O'#D|OOQ(C[,5:e,5:eO){QdO,5:eOIWQ&jO,5:eO!@hQaO,5:eO:aQ`O,5:uO!-OQ!bO,5:uO!-WQ&jO,5:uO5yQ&jO,5:uOOQ(C[1G/n1G/nOOQ(C[1G0O1G0OOOQ(CW'#EV'#EVO){QdO,5?jO!@sQ(ChO,5?jO!AUQ(ChO,5?jO!A]Q`O,5?iO!AeQ`O'#H|O!A]Q`O,5?iOOQ(CW1G0d1G0dO7YQ`O,5?iOOQ(C[1G0b1G0bO!BPQ(C|O1G0bO!CRQ(CyO,5:rOOQ(C]'#Fq'#FqO!CoQ(C}O'#IqOGWQdO1G0bO!EqQ,VO'#IyO!E{Q`O,5:WO!FQQtO'#IzO){QdO'#IzO!F[Q`O,5:]OOQ(C]'#DT'#DTOOQ(C[1G0k1G0kO!FaQ`O1G0kO!HrQ(C|O1G0mO!HyQ(C|O1G0mO!K^Q(C|O1G0mO!KeQ(C|O1G0mO!MlQ(C|O1G0mO!NPQ(C|O1G0mO#!pQ(C|O1G0mO#!wQ(C|O1G0mO#%[Q(C|O1G0mO#%cQ(C|O1G0mO#'WQ(C|O1G0mO#*QQMlO'#ChO#+{QMlO1G0}O#-vQMlO'#IuOOQ(C[1G1T1G1TO#.ZQ(C|O,5>kOOQ(CW-E;}-E;}O#.zQ(C}O1G0mOOQ(C[1G0m1G0mO#1PQ(C|O1G1QO#1pQ!bO,5;sO#1uQ!bO,5;tO#1zQ!bO'#F[O#2`Q`O'#FZOOQO'#JW'#JWOOQO'#H}'#H}O#2eQ!bO1G1]OOQ(C[1G1]1G1]OOOO1G1f1G1fO#2sQMlO'#ItO#2}Q`O,5;}OLbQdO,5;}OOOO-E;|-E;|OOQ(C[1G1Y1G1YOOQ(C[,5PQtO1G1VOOQ(C[1G1X1G1XO5tQ`O1G2}O#>WQ`O1G2}O#>]Q`O1G2}O#>bQ`O1G2}OOQS1G2}1G2}O#>gQ&kO1G2bO7YQ`O'#JQO7YQ`O'#EaO7YQ`O'#IWO#>xQ(ChO,5?yOOQS1G2f1G2fO!0VQ`O1G2lOIWQ&jO1G2iO#?TQ`O1G2iOOQS1G2j1G2jOIWQ&jO1G2jO#?YQaO1G2jO#?bQ7[O'#GhOOQS1G2l1G2lO!'VQ7[O'#IYO!0[QpO1G2oOOQS1G2o1G2oOOQS,5=Y,5=YO#?jQ&kO,5=[O5tQ`O,5=[O#6SQ`O,5=_O5bQ`O,5=_O!-OQ!bO,5=_O!-WQ&jO,5=_O5yQ&jO,5=_O#?{Q`O'#JaO#@WQ`O,5=`OOQS1G.j1G.jO#@]Q(ChO1G.jO#@hQ`O1G.jO#@mQ`O1G.jO5lQ(ChO1G.jO#@uQtO,5@OO#APQ`O,5@OO#A[QdO,5=gO#AcQ`O,5=gO7YQ`O,5@OOOQS1G3P1G3PO`QdO1G3POOQS1G3V1G3VOOQS1G3X1G3XO:[Q`O1G3ZO#AhQdO1G3]O#EcQdO'#H[OOQS1G3`1G3`O#EpQ`O'#HbO:aQ`O'#HdOOQS1G3f1G3fO#ExQdO1G3fO5lQ(ChO1G3lOOQS1G3n1G3nOOQ(CW'#Fx'#FxO5lQ(ChO1G3pO5lQ(ChO1G3rOOOW1G/^1G/^O#IvQpO,5aO#JYQ`O1G4|O#JbQ`O1G5WO#JjQ`O,5?dOLbQdO,5:{O7YQ`O,5:{O:aQ`O,59}OLbQdO,59}O!-OQ!bO,59}O#JoQMlO,59}OOQO,5:{,5:{O#JyQ7[O'#HvO#KaQ`O,5?cOOQ(C[1G/h1G/hO#KiQ7[O'#H{O#K}Q`O,5?nOOQ(CW1G0f1G0fO!;[Q7[O,59}O#LVQtO1G5XO7YQ`O,5>fOOQ(CW'#ES'#ESO#LaQ(DjO'#ETO!@XQ7[O'#D}OOQO'#Hy'#HyO#L{Q7[O,5:hOOQ(C[,5:h,5:hO#MSQ7[O'#D}O#MeQ7[O'#D}O#MlQ7[O'#EYO#MoQ7[O'#ETO#M|Q7[O'#ETO!@XQ7[O'#ETO#NaQ`O1G0PO#NfQqO1G0POOQ(C[1G0P1G0PO){QdO1G0POIWQ&jO1G0POOQ(C[1G0a1G0aO:aQ`O1G0aO!-OQ!bO1G0aO!-WQ&jO1G0aO#NmQ(C|O1G5UO){QdO1G5UO#N}Q(ChO1G5UO$ `Q`O1G5TO7YQ`O,5>hOOQO,5>h,5>hO$ hQ`O,5>hOOQO-E;z-E;zO$ `Q`O1G5TO$ vQ(C}O,59jO$#xQ(C}O,5m,5>mO$-rQ`O,5>mOOQ(C]1G2P1G2PP$-wQ`O'#IRPOQ(C]-Eo,5>oOOQO-Ep,5>pOOQO-Ex,5>xOOQO-E<[-E<[OOQ(C[7+&q7+&qO$6OQ`O7+(iO5lQ(ChO7+(iO5tQ`O7+(iO$6TQ`O7+(iO$6YQaO7+'|OOQ(CW,5>r,5>rOOQ(CW-Et,5>tOOQO-EO,5>OOOQS7+)Q7+)QOOQS7+)W7+)WOOQS7+)[7+)[OOQS7+)^7+)^OOQO1G5O1G5OO$:nQMlO1G0gO$:xQ`O1G0gOOQO1G/i1G/iO$;TQMlO1G/iO:aQ`O1G/iOLbQdO'#DcOOQO,5>b,5>bOOQO-E;t-E;tOOQO,5>g,5>gOOQO-E;y-E;yO!-OQ!bO1G/iO:aQ`O,5:iOOQO,5:o,5:oO){QdO,5:oO$;_Q(ChO,5:oO$;jQ(ChO,5:oO!-OQ!bO,5:iOOQO-E;w-E;wOOQ(C[1G0S1G0SO!@XQ7[O,5:iO$;xQ7[O,5:iO$PQ`O7+*oO$>XQ(C}O1G2[O$@^Q(C}O1G2^O$BcQ(C}O1G1yO$DnQ,VO,5>cOOQO-E;u-E;uO$DxQtO,5>dO){QdO,5>dOOQO-E;v-E;vO$ESQ`O1G5QO$E[QMlO1G0bO$GcQMlO1G0mO$GjQMlO1G0mO$IkQMlO1G0mO$IrQMlO1G0mO$KgQMlO1G0mO$KzQMlO1G0mO$NXQMlO1G0mO$N`QMlO1G0mO%!aQMlO1G0mO%!hQMlO1G0mO%$]QMlO1G0mO%$pQ(C|O<kOOOO7+'T7+'TOOOW1G/R1G/ROOQ(C]1G4X1G4XOJjQ&jO7+'zO%*VQ`O,5>lO5tQ`O,5>lOOQO-EnO%+dQ`O,5>nOIWQ&jO,5>nOOQO-Ew,5>wO%.vQ`O,5>wO%.{Q`O,5>wOOQO-EvOOQO-EqOOQO-EsOOQO-E{AN>{OOQOAN>uAN>uO%3rQ(C|OAN>{O:aQ`OAN>uO){QdOAN>{O!-OQ!bOAN>uO&)wQ(ChOAN>{O&*SQ(C}OG26lOOQ(CWG26bG26bOOQS!$( t!$( tOOQO<QQ`O'#E[O&>YQ`O'#EzO&>_Q`O'#EgO&>dQ`O'#JRO&>oQ`O'#JPO&>zQ`O,5:vO&?PQ,VO,5aO!O&PO~Ox&SO!W&^O!X&VO!Y&VO'^$dO~O]&TOk&TO!Q&WO'g&QO!S'kP!S'vP~P@dO!O'sX!R'sX!]'sX!c'sX'p'sX~O!{'sX#W#PX!S'sX~PA]O!{&_O!O'uX!R'uX~O!R&`O!O'tX~O!O&cO~O!{#eO~PA]OP&gO!T&dO!o&fO']$bO~Oc&lO!d$ZO']$bO~Ou$oO!d$nO~O!S&mO~P`Ou!{Ov!{Ox!|O!b!yO!d!zO'fQOQ!faZ!faj!fa!R!fa!a!fa!j!fa#[!fa#]!fa#^!fa#_!fa#`!fa#a!fa#b!fa#c!fa#e!fa#g!fa#i!fa#j!fa'p!fa'w!fa'x!fa~O_!fa'W!fa!O!fa!c!fan!fa!T!fa%Q!fa!]!fa~PCfO!c&nO~O!]!wO!{&pO'p&oO!R'rX_'rX'W'rX~O!c'rX~PFOO!R&tO!c'qX~O!c&vO~Ox$uO!T$vO#V&wO']$bO~OQTORTO]cOb!kOc!jOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!TSO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!n!iO#t!lO#x^O']9aO'fQO'oYO'|aO~O]#qOh$QOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO']&{O'b$PO'f#sO~O#W&}O~O]#qOh$QOj#rOk#qOl#qOq$ROs$SOx#yO!T#zO!_$XO!d#vO#V$YO#t$VO$_$TO$a$UO$d$WO']&{O'b$PO'f#sO~O'a'mP~PJjO!Q'RO!c'nP~P){O'g'TO'oYO~OQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!T!bO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O']'cO'fQO'oYO'|;^O~O!d!zO~O!R#bO_$]a'W$]a!c$]a!O$]a!T$]a%Q$]a!]$]a~O#d'jO~PIWO!]'lO!T'yX#w'yX#z'yX$R'yX~Ou'mO~P! YOu'mO!T'yX#w'yX#z'yX$R'yX~O!T'oO#w'sO#z'nO$R'tO~O!Q'wO~PLbO#z#fO$R'zO~OP$eXu$eXx$eX!b$eX'w$eX'x$eX~OPfX!RfX!{fX'afX'a$eX~P!!rOk'|O~OS'}O'U(OO'V(QO~OP(ZOu(SOx(TO'w(VO'x(XO~O'a(RO~P!#{O'a([O~O]#qOh$QOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO'b$PO'f#sO~O!Q(`O'](]O!c'}P~P!$jO#W(bO~O!d(cO~O!Q(hO'](eO!O(OP~P!$jOj(uOx(mO!W(sO!X(lO!Y(lO!d(cO!x(tO$w(oO'^$dO'g(jO~O!S(rO~P!&jO!b!yOP'eXu'eXx'eX'w'eX'x'eX!R'eX!{'eX~O'a'eX#m'eX~P!'cOP(xO!{(wO!R'dX'a'dX~O!R(yO'a'cX~O']${O'a'cP~O'](|O~O!d)RO~O']&{O~Ox$uO!Q!rO!T$vO#U!uO#V!rO']$bO!c'qP~O!]!wO#W)VO~OQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO#j#ZO'fQO'p#[O'w!}O'x#OO~O_!^a!R!^a'W!^a!O!^a!c!^an!^a!T!^a%Q!^a!]!^a~P!)wOP)_O!T&dO!o)^O%Q)]O'b$PO~O!])aO!T'`X_'`X!R'`X'W'`X~O!d$ZO'b$PO~O!d$ZO']$bO'b$PO~O!]!wO#W&}O~O])lO%R)mO'])iO!S(VP~O!R)nO^(UX~O'g'TO~OZ)rO~O^)sO~O!T$lO']$bO'^$dO^(UP~Ox$uO!Q)xO!R&`O!T$vO']$bO!O'tP~O]&ZOk&ZO!Q)yO'g'TO!S'vP~O!R)zO_(RX'W(RX~O!{*OO'b$PO~OP*RO!T#zO'b$PO~O!T*TO~Ou*VO!TSO~O!n*[O~Oc*aO~O'](|O!S(TP~Oc$jO~O%RtO']${O~P8wOZ*gO^*fO~OQTORTO]cObnOcmOhcOjTOkcOlcOqTOsTOxRO{cO|cO}cO!_kO!dUO!gTO!hTO!iTO!jTO!kTO!nlO#x^O%PqO'fQO'oYO'|aO~O!T!bO#t!lO']9aO~P!1_O^*fO_$^O'W$^O~O_*kO#d*mO%T*mO%U*mO~P){O!d%`O~O%t*rO~O!T*tO~O&V*vO&X*wOQ&SaR&SaX&Sa]&Sa_&Sab&Sac&Sah&Saj&Sak&Sal&Saq&Sas&Sax&Sa{&Sa|&Sa}&Sa!T&Sa!_&Sa!d&Sa!g&Sa!h&Sa!i&Sa!j&Sa!k&Sa!n&Sa#d&Sa#t&Sa#x&Sa%P&Sa%R&Sa%T&Sa%U&Sa%X&Sa%Z&Sa%^&Sa%_&Sa%a&Sa%n&Sa%t&Sa%v&Sa%x&Sa%z&Sa%}&Sa&T&Sa&Z&Sa&]&Sa&_&Sa&a&Sa&c&Sa'S&Sa']&Sa'f&Sa'o&Sa'|&Sa!S&Sa%{&Sa`&Sa&Q&Sa~O']*|O~On+PO~O!O&ia!R&ia~P!)wO!Q+TO!O&iX!R&iX~P){O!R%zO!O'ja~O!O'ja~P>aO!R&`O!O'ta~O!RwX!R!ZX!SwX!S!ZX!]wX!]!ZX!d!ZX!{wX'b!ZX~O!]+YO!{+XO!R#TX!R'lX!S#TX!S'lX!]'lX!d'lX'b'lX~O!]+[O!d$ZO'b$PO!R!VX!S!VX~O]&ROk&ROx&SO'g(jO~OQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!T!bO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O'fQO'oYO'|;^O~O']:SO~P!;jO!R+`O!S'kX~O!S+bO~O!]+YO!{+XO!R#TX!S#TX~O!R+cO!S'vX~O!S+eO~O]&ROk&ROx&SO'^$dO'g(jO~O!X+fO!Y+fO~P!>hOx$uO!Q+hO!T$vO']$bO!O&nX!R&nX~O_+lO!W+oO!X+kO!Y+kO!r+sO!s+qO!t+rO!u+pO!x+tO'^$dO'g(jO'o+iO~O!S+nO~P!?iOP+yO!T&dO!o+xO~O!{,PO!R'ra!c'ra_'ra'W'ra~O!]!wO~P!@sO!R&tO!c'qa~Ox$uO!Q,SO!T$vO#U,UO#V,SO']$bO!R&pX!c&pX~O_#Oi!R#Oi'W#Oi!O#Oi!c#Oin#Oi!T#Oi%Q#Oi!]#Oi~P!)wOP;tOu(SOx(TO'w(VO'x(XO~O#W!za!R!za!c!za!{!za!T!za_!za'W!za!O!za~P!BpO#W'eXQ'eXZ'eX_'eXj'eXv'eX!a'eX!d'eX!j'eX#['eX#]'eX#^'eX#_'eX#`'eX#a'eX#b'eX#c'eX#e'eX#g'eX#i'eX#j'eX'W'eX'f'eX'p'eX!c'eX!O'eX!T'eXn'eX%Q'eX!]'eX~P!'cO!R,_O'a'mX~P!#{O'a,aO~O!R,bO!c'nX~P!)wO!c,eO~O!O,fO~OQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'fQOZ#Zi_#Zij#Zi!R#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O#[#Zi~P!FfO#[#PO~P!FfOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO'fQOZ#Zi_#Zi!R#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~Oj#Zi~P!IQOj#RO~P!IQOQ#^Oj#ROu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO'fQO_#Zi!R#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'w#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P!KlOZ#dO!a#TO#a#TO#b#TO#c#TO~P!KlOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO'fQO_#Zi!R#Zi#g#Zi#i#Zi#j#Zi'W#Zi'p#Zi'x#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'w#Zi~P!NdO'w!}O~P!NdOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO'fQO'w!}O_#Zi!R#Zi#i#Zi#j#Zi'W#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~O'x#Zi~P##OO'x#OO~P##OOQ#^OZ#dOj#ROu!{Ov!{Ox!|O!a#TO!b!yO!d!zO!j#^O#[#PO#]#QO#^#QO#_#QO#`#SO#a#TO#b#TO#c#TO#e#UO#g#WO#i#YO'fQO'w!}O'x#OO~O_#Zi!R#Zi#j#Zi'W#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P#%jOQ[XZ[Xj[Xu[Xv[Xx[X!a[X!b[X!d[X!j[X!{[X#WdX#[[X#][X#^[X#_[X#`[X#a[X#b[X#c[X#e[X#g[X#i[X#j[X#o[X'f[X'p[X'w[X'x[X!R[X!S[X~O#m[X~P#'}OQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO#i9nO#j9oO'fQO'p#[O'w!}O'x#OO~O#m,hO~P#*XOQ'iXZ'iXj'iXu'iXv'iXx'iX!a'iX!b'iX!d'iX!j'iX#['iX#]'iX#^'iX#_'iX#`'iX#a'iX#b'iX#e'iX#g'iX#i'iX#j'iX'f'iX'p'iX'w'iX'x'iX!R'iX~O!{9sO#o9sO#c'iX#m'iX!S'iX~P#,SO_&sa!R&sa'W&sa!c&san&sa!O&sa!T&sa%Q&sa!]&sa~P!)wOQ#ZiZ#Zi_#Zij#Ziv#Zi!R#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi'W#Zi'f#Zi'p#Zi!O#Zi!c#Zin#Zi!T#Zi%Q#Zi!]#Zi~P!BpO_#ni!R#ni'W#ni!O#ni!c#nin#ni!T#ni%Q#ni!]#ni~P!)wO#z,jO~O#z,kO~O!]'lO!{,lO!T$OX#w$OX#z$OX$R$OX~O!Q,mO~O!T'oO#w,oO#z'nO$R,pO~O!R9pO!S'hX~P#*XO!S,qO~O$R,sO~OS'}O'U(OO'V,vO~O],yOk,yO!O,zO~O!RdX!]dX!cdX!c$eX'pdX~P!!rO!c-QO~P!BpO!R-RO!]!wO'p&oO!c'}X~O!c-WO~O!Q(`O']$bO!c'}P~O#W-YO~O!O$eX!R$eX!]$lX~P!!rO!R-ZO!O(OX~P!BpO!]-]O~O!O-_O~Oj-cO!]!wO!d$ZO'b$PO'p&oO~O!])aO~O_$^O!R-hO'W$^O~O!S-jO~P!&jO!X-kO!Y-kO'^$dO'g(jO~Ox-mO'g(jO~O!x-nO~O']${O!R&xX'a&xX~O!R(yO'a'ca~O'a-sO~Ou-tOv-tOx-uOPra'wra'xra!Rra!{ra~O'ara#mra~P#7pOu(SOx(TOP$^a'w$^a'x$^a!R$^a!{$^a~O'a$^a#m$^a~P#8fOu(SOx(TOP$`a'w$`a'x$`a!R$`a!{$`a~O'a$`a#m$`a~P#9XO]-vO~O#W-wO~O'a$na!R$na!{$na#m$na~P!#{O#W-zO~OP.TO!T&dO!o.SO%Q.RO~O]#qOj#rOk#qOl#qOq$ROs9tOx#yO!T#zO!_;eO!d#vO#V9}O#t$VO$_9wO$a9zO$d$WO'b$PO'f#sO~Oh.VO'].UO~P#:yO!])aO!T'`a_'`a!R'`a'W'`a~O#W.]O~OZ[X!RdX!SdX~O!R.^O!S(VX~O!S.`O~OZ.aO~O].cO'])iO~O!T$lO']$bO^'QX!R'QX~O!R)nO^(Ua~O!c.fO~P!)wO].hO~OZ.iO~O^.jO~OP.TO!T&dO!o.SO%Q.RO'b$PO~O!R)zO_(Ra'W(Ra~O!{.pO~OP.sO!T#zO~O'g'TO!S(SP~OP.}O!T.yO!o.|O%Q.{O'b$PO~OZ/XO!R/VO!S(TX~O!S/YO~O^/[O_$^O'W$^O~O]/]O~O]/^O'](|O~O#c/_O%r/`O~P0zO!{#eO#c/_O%r/`O~O_/aO~P){O_/cO~O%{/gOQ%yiR%yiX%yi]%yi_%yib%yic%yih%yij%yik%yil%yiq%yis%yix%yi{%yi|%yi}%yi!T%yi!_%yi!d%yi!g%yi!h%yi!i%yi!j%yi!k%yi!n%yi#d%yi#t%yi#x%yi%P%yi%R%yi%T%yi%U%yi%X%yi%Z%yi%^%yi%_%yi%a%yi%n%yi%t%yi%v%yi%x%yi%z%yi%}%yi&T%yi&Z%yi&]%yi&_%yi&a%yi&c%yi'S%yi']%yi'f%yi'o%yi'|%yi!S%yi`%yi&Q%yi~O`/mO!S/kO&Q/lO~P`O!TSO!d/oO~O&X*wOQ&SiR&SiX&Si]&Si_&Sib&Sic&Sih&Sij&Sik&Sil&Siq&Sis&Six&Si{&Si|&Si}&Si!T&Si!_&Si!d&Si!g&Si!h&Si!i&Si!j&Si!k&Si!n&Si#d&Si#t&Si#x&Si%P&Si%R&Si%T&Si%U&Si%X&Si%Z&Si%^&Si%_&Si%a&Si%n&Si%t&Si%v&Si%x&Si%z&Si%}&Si&T&Si&Z&Si&]&Si&_&Si&a&Si&c&Si'S&Si']&Si'f&Si'o&Si'|&Si!S&Si%{&Si`&Si&Q&Si~O!R#bOn$]a~O!O&ii!R&ii~P!)wO!R%zO!O'ji~O!R&`O!O'ti~O!O/uO~O!R!Va!S!Va~P#*XO]&ROk&RO!Q/{O'g(jO!R&jX!S&jX~P@dO!R+`O!S'ka~O]&ZOk&ZO!Q)yO'g'TO!R&oX!S&oX~O!R+cO!S'va~O!O'ui!R'ui~P!)wO_$^O!]!wO!d$ZO!j0VO!{0TO'W$^O'b$PO'p&oO~O!S0YO~P!?iO!X0ZO!Y0ZO'^$dO'g(jO'o+iO~O!W0[O~P#MSO!TSO!W0[O!u0^O!x0_O~P#MSO!W0[O!s0aO!t0aO!u0^O!x0_O~P#MSO!T&dO~O!T&dO~P!BpO!R'ri!c'ri_'ri'W'ri~P!)wO!{0jO!R'ri!c'ri_'ri'W'ri~O!R&tO!c'qi~Ox$uO!T$vO#V0lO']$bO~O#WraQraZra_rajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra'Wra'fra'pra!cra!Ora!Tranra%Qra!]ra~P#7pO#W$^aQ$^aZ$^a_$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a'W$^a'f$^a'p$^a!c$^a!O$^a!T$^an$^a%Q$^a!]$^a~P#8fO#W$`aQ$`aZ$`a_$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a'W$`a'f$`a'p$`a!c$`a!O$`a!T$`an$`a%Q$`a!]$`a~P#9XO#W$naQ$naZ$na_$naj$nav$na!R$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na'W$na'f$na'p$na!c$na!O$na!T$na!{$nan$na%Q$na!]$na~P!BpO_#Oq!R#Oq'W#Oq!O#Oq!c#Oqn#Oq!T#Oq%Q#Oq!]#Oq~P!)wO!R&kX'a&kX~PJjO!R,_O'a'ma~O!Q0tO!R&lX!c&lX~P){O!R,bO!c'na~O!R,bO!c'na~P!)wO#m!fa!S!fa~PCfO#m!^a!R!^a!S!^a~P#*XO!T1XO#x^O$P1YO~O!S1^O~On1_O~P!BpO_$Yq!R$Yq'W$Yq!O$Yq!c$Yqn$Yq!T$Yq%Q$Yq!]$Yq~P!)wO!O1`O~O],yOk,yO~Ou(SOx(TO'x(XOP$xi'w$xi!R$xi!{$xi~O'a$xi#m$xi~P$.POu(SOx(TOP$zi'w$zi'x$zi!R$zi!{$zi~O'a$zi#m$zi~P$.rO'p#[O~P!BpO!Q1cO']$bO!R&tX!c&tX~O!R-RO!c'}a~O!R-RO!]!wO!c'}a~O!R-RO!]!wO'p&oO!c'}a~O'a$gi!R$gi!{$gi#m$gi~P!#{O!Q1kO'](eO!O&vX!R&vX~P!$jO!R-ZO!O(Oa~O!R-ZO!O(Oa~P!BpO!]!wO~O!]!wO#c1sO~Oj1vO!]!wO'p&oO~O!R'di'a'di~P!#{O!{1yO!R'di'a'di~P!#{O!c1|O~O_$Zq!R$Zq'W$Zq!O$Zq!c$Zqn$Zq!T$Zq%Q$Zq!]$Zq~P!)wO!R2QO!T(PX~P!BpO!T&dO%Q2TO~O!T&dO%Q2TO~P!BpO!T$eX$u[X_$eX!R$eX'W$eX~P!!rO$u2XOPgXugXxgX!TgX'wgX'xgX_gX!RgX'WgX~O$u2XO~O]2_O%R2`O'])iO!R'PX!S'PX~O!R.^O!S(Va~OZ2dO~O^2eO~O]2hO~OP2jO!T&dO!o2iO%Q2TO~O_$^O'W$^O~P!BpO!T#zO~P!BpO!R2oO!{2qO!S(SX~O!S2rO~Ox;oO!W2{O!X2tO!Y2tO!r2zO!s2yO!t2yO!x2xO'^$dO'g(jO'o+iO~O!S2wO~P$7ZOP3SO!T.yO!o3RO%Q3QO~OP3SO!T.yO!o3RO%Q3QO'b$PO~O'](|O!R'OX!S'OX~O!R/VO!S(Ta~O]3^O'g3]O~O]3_O~O^3aO~O!c3dO~P){O_3fO~O_3fO~P){O#c3hO%r3iO~PFOO`/mO!S3mO&Q/lO~P`O!]3oO~O!R#Ti!S#Ti~P#*XO!{3qO!R#Ti!S#Ti~O!R!Vi!S!Vi~P#*XO_$^O!{3xO'W$^O~O_$^O!]!wO!{3xO'W$^O~O!X3|O!Y3|O'^$dO'g(jO'o+iO~O_$^O!]!wO!d$ZO!j3}O!{3xO'W$^O'b$PO'p&oO~O!W4OO~P$;xO!W4OO!u4RO!x4SO~P$;xO_$^O!]!wO!j3}O!{3xO'W$^O'p&oO~O!R'rq!c'rq_'rq'W'rq~P!)wO!R&tO!c'qq~O#W$xiQ$xiZ$xi_$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi'W$xi'f$xi'p$xi!c$xi!O$xi!T$xin$xi%Q$xi!]$xi~P$.PO#W$ziQ$ziZ$zi_$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi'W$zi'f$zi'p$zi!c$zi!O$zi!T$zin$zi%Q$zi!]$zi~P$.rO#W$giQ$giZ$gi_$gij$giv$gi!R$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi'W$gi'f$gi'p$gi!c$gi!O$gi!T$gi!{$gin$gi%Q$gi!]$gi~P!BpO!R&ka'a&ka~P!#{O!R&la!c&la~P!)wO!R,bO!c'ni~O#m#Oi!R#Oi!S#Oi~P#*XOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O'fQOZ#Zij#Zi!a#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~O#[#Zi~P$EiO#[9eO~P$EiOQ#^Ou!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO'fQOZ#Zi!a#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~Oj#Zi~P$GqOj9gO~P$GqOQ#^Oj9gOu!{Ov!{Ox!|O!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO'fQO#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'w#Zi'x#Zi!R#Zi!S#Zi~OZ#Zi!a#Zi#a#Zi#b#Zi#c#Zi~P$IyOZ9rO!a9iO#a9iO#b9iO#c9iO~P$IyOQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO'fQO#g#Zi#i#Zi#j#Zi#m#Zi'p#Zi'x#Zi!R#Zi!S#Zi~O'w#Zi~P$L_O'w!}O~P$L_OQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO'fQO'w!}O#i#Zi#j#Zi#m#Zi'p#Zi!R#Zi!S#Zi~O'x#Zi~P$NgO'x#OO~P$NgOQ#^OZ9rOj9gOu!{Ov!{Ox!|O!a9iO!b!yO!d!zO!j#^O#[9eO#]9fO#^9fO#_9fO#`9hO#a9iO#b9iO#c9iO#e9jO#g9lO#i9nO'fQO'w!}O'x#OO~O#j#Zi#m#Zi'p#Zi!R#Zi!S#Zi~P%!oO_#ky!R#ky'W#ky!O#ky!c#kyn#ky!T#ky%Q#ky!]#ky~P!)wOP;vOu(SOx(TO'w(VO'x(XO~OQ#ZiZ#Zij#Ziv#Zi!a#Zi!b#Zi!d#Zi!j#Zi#[#Zi#]#Zi#^#Zi#_#Zi#`#Zi#a#Zi#b#Zi#c#Zi#e#Zi#g#Zi#i#Zi#j#Zi#m#Zi'f#Zi'p#Zi!R#Zi!S#Zi~P%%aO!b!yOP'eXu'eXx'eX'w'eX'x'eX!S'eX~OQ'eXZ'eXj'eXv'eX!a'eX!d'eX!j'eX#['eX#]'eX#^'eX#_'eX#`'eX#a'eX#b'eX#c'eX#e'eX#g'eX#i'eX#j'eX#m'eX'f'eX'p'eX!R'eX~P%'eO#m#ni!R#ni!S#ni~P#*XO!S4eO~O!R&sa!S&sa~P#*XO!]!wO'p&oO!R&ta!c&ta~O!R-RO!c'}i~O!R-RO!]!wO!c'}i~O'a$gq!R$gq!{$gq#m$gq~P!#{O!O&va!R&va~P!BpO!]4lO~O!R-ZO!O(Oi~P!BpO!R-ZO!O(Oi~O!O4pO~O!]!wO#c4uO~Oj4vO!]!wO'p&oO~O!O4xO~O'a$iq!R$iq!{$iq#m$iq~P!#{O_$Zy!R$Zy'W$Zy!O$Zy!c$Zyn$Zy!T$Zy%Q$Zy!]$Zy~P!)wO!R2QO!T(Pa~O!T&dO%Q4}O~O!T&dO%Q4}O~P!BpO_#Oy!R#Oy'W#Oy!O#Oy!c#Oyn#Oy!T#Oy%Q#Oy!]#Oy~P!)wOZ5QO~O]5SO'])iO~O!R.^O!S(Vi~O]5VO~O^5WO~O'g'TO!R&{X!S&{X~O!R2oO!S(Sa~O!S5eO~P$7ZOx;sO'g(jO'o+iO~O!W5hO!X5gO!Y5gO!x0_O'^$dO'g(jO'o+iO~O!s5iO!t5iO~P%0^O!X5gO!Y5gO'^$dO'g(jO'o+iO~O!T.yO~O!T.yO%Q5kO~O!T.yO%Q5kO~P!BpOP5pO!T.yO!o5oO%Q5kO~OZ5uO!R'Oa!S'Oa~O!R/VO!S(Ti~O]5xO~O!c5yO~O!c5zO~O!c5{O~O!c5{O~P){O_5}O~O!]6QO~O!c6RO~O!R'ui!S'ui~P#*XO_$^O'W$^O~P!)wO_$^O!{6WO'W$^O~O_$^O!]!wO!{6WO'W$^O~O!X6]O!Y6]O'^$dO'g(jO'o+iO~O_$^O!]!wO!j6^O!{6WO'W$^O'p&oO~O!d$ZO'b$PO~P%4xO!W6_O~P%4gO!R'ry!c'ry_'ry'W'ry~P!)wO#W$gqQ$gqZ$gq_$gqj$gqv$gq!R$gq!a$gq!b$gq!d$gq!j$gq#[$gq#]$gq#^$gq#_$gq#`$gq#a$gq#b$gq#c$gq#e$gq#g$gq#i$gq#j$gq'W$gq'f$gq'p$gq!c$gq!O$gq!T$gq!{$gqn$gq%Q$gq!]$gq~P!BpO#W$iqQ$iqZ$iq_$iqj$iqv$iq!R$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq'W$iq'f$iq'p$iq!c$iq!O$iq!T$iq!{$iqn$iq%Q$iq!]$iq~P!BpO!R&li!c&li~P!)wO#m#Oq!R#Oq!S#Oq~P#*XOu-tOv-tOx-uOPra'wra'xra!Sra~OQraZrajra!ara!bra!dra!jra#[ra#]ra#^ra#_ra#`ra#ara#bra#cra#era#gra#ira#jra#mra'fra'pra!Rra~P%;OOu(SOx(TOP$^a'w$^a'x$^a!S$^a~OQ$^aZ$^aj$^av$^a!a$^a!b$^a!d$^a!j$^a#[$^a#]$^a#^$^a#_$^a#`$^a#a$^a#b$^a#c$^a#e$^a#g$^a#i$^a#j$^a#m$^a'f$^a'p$^a!R$^a~P%=SOu(SOx(TOP$`a'w$`a'x$`a!S$`a~OQ$`aZ$`aj$`av$`a!a$`a!b$`a!d$`a!j$`a#[$`a#]$`a#^$`a#_$`a#`$`a#a$`a#b$`a#c$`a#e$`a#g$`a#i$`a#j$`a#m$`a'f$`a'p$`a!R$`a~P%?WOQ$naZ$naj$nav$na!a$na!b$na!d$na!j$na#[$na#]$na#^$na#_$na#`$na#a$na#b$na#c$na#e$na#g$na#i$na#j$na#m$na'f$na'p$na!R$na!S$na~P%%aO#m$Yq!R$Yq!S$Yq~P#*XO#m$Zq!R$Zq!S$Zq~P#*XO!S6hO~O#m6iO~P!#{O!]!wO!R&ti!c&ti~O!]!wO'p&oO!R&ti!c&ti~O!R-RO!c'}q~O!O&vi!R&vi~P!BpO!R-ZO!O(Oq~O!O6oO~P!BpO!O6oO~O!R'dy'a'dy~P!#{O!R&ya!T&ya~P!BpO!T$tq_$tq!R$tq'W$tq~P!BpOZ6vO~O!R.^O!S(Vq~O]6yO~O!T&dO%Q6zO~O!T&dO%Q6zO~P!BpO!{6{O!R&{a!S&{a~O!R2oO!S(Si~P#*XO!X7RO!Y7RO'^$dO'g(jO'o+iO~O!W7TO!x4SO~P%GXO!T.yO%Q7WO~O!T.yO%Q7WO~P!BpO]7_O'g7^O~O!R/VO!S(Tq~O!c7aO~O!c7aO~P){O!c7cO~O!c7dO~O!R#Ty!S#Ty~P#*XO_$^O!{7jO'W$^O~O_$^O!]!wO!{7jO'W$^O~O!X7mO!Y7mO'^$dO'g(jO'o+iO~O_$^O!]!wO!j7nO!{7jO'W$^O'p&oO~O#m#ky!R#ky!S#ky~P#*XOQ$giZ$gij$giv$gi!a$gi!b$gi!d$gi!j$gi#[$gi#]$gi#^$gi#_$gi#`$gi#a$gi#b$gi#c$gi#e$gi#g$gi#i$gi#j$gi#m$gi'f$gi'p$gi!R$gi!S$gi~P%%aOu(SOx(TO'x(XOP$xi'w$xi!S$xi~OQ$xiZ$xij$xiv$xi!a$xi!b$xi!d$xi!j$xi#[$xi#]$xi#^$xi#_$xi#`$xi#a$xi#b$xi#c$xi#e$xi#g$xi#i$xi#j$xi#m$xi'f$xi'p$xi!R$xi~P%LjOu(SOx(TOP$zi'w$zi'x$zi!S$zi~OQ$ziZ$zij$ziv$zi!a$zi!b$zi!d$zi!j$zi#[$zi#]$zi#^$zi#_$zi#`$zi#a$zi#b$zi#c$zi#e$zi#g$zi#i$zi#j$zi#m$zi'f$zi'p$zi!R$zi~P%NnO#m$Zy!R$Zy!S$Zy~P#*XO#m#Oy!R#Oy!S#Oy~P#*XO!]!wO!R&tq!c&tq~O!R-RO!c'}y~O!O&vq!R&vq~P!BpO!O7tO~P!BpO!R.^O!S(Vy~O!R2oO!S(Sq~O!X8QO!Y8QO'^$dO'g(jO'o+iO~O!T.yO%Q8TO~O!T.yO%Q8TO~P!BpO!c8WO~O_$^O!{8]O'W$^O~O_$^O!]!wO!{8]O'W$^O~OQ$gqZ$gqj$gqv$gq!a$gq!b$gq!d$gq!j$gq#[$gq#]$gq#^$gq#_$gq#`$gq#a$gq#b$gq#c$gq#e$gq#g$gq#i$gq#j$gq#m$gq'f$gq'p$gq!R$gq!S$gq~P%%aOQ$iqZ$iqj$iqv$iq!a$iq!b$iq!d$iq!j$iq#[$iq#]$iq#^$iq#_$iq#`$iq#a$iq#b$iq#c$iq#e$iq#g$iq#i$iq#j$iq#m$iq'f$iq'p$iq!R$iq!S$iq~P%%aO'a$|!Z!R$|!Z!{$|!Z#m$|!Z~P!#{O!R&{q!S&{q~P#*XO_$^O!{8oO'W$^O~O#W$|!ZQ$|!ZZ$|!Z_$|!Zj$|!Zv$|!Z!R$|!Z!a$|!Z!b$|!Z!d$|!Z!j$|!Z#[$|!Z#]$|!Z#^$|!Z#_$|!Z#`$|!Z#a$|!Z#b$|!Z#c$|!Z#e$|!Z#g$|!Z#i$|!Z#j$|!Z'W$|!Z'f$|!Z'p$|!Z!c$|!Z!O$|!Z!T$|!Z!{$|!Zn$|!Z%Q$|!Z!]$|!Z~P!BpOP;uOu(SOx(TO'w(VO'x(XO~O!S!za!W!za!X!za!Y!za!r!za!s!za!t!za!x!za'^!za'g!za'o!za~P&,_O!W'eX!X'eX!Y'eX!r'eX!s'eX!t'eX!x'eX'^'eX'g'eX'o'eX~P%'eOQ$|!ZZ$|!Zj$|!Zv$|!Z!a$|!Z!b$|!Z!d$|!Z!j$|!Z#[$|!Z#]$|!Z#^$|!Z#_$|!Z#`$|!Z#a$|!Z#b$|!Z#c$|!Z#e$|!Z#g$|!Z#i$|!Z#j$|!Z#m$|!Z'f$|!Z'p$|!Z!R$|!Z!S$|!Z~P%%aO!Wra!Xra!Yra!rra!sra!tra!xra'^ra'gra'ora~P%;OO!W$^a!X$^a!Y$^a!r$^a!s$^a!t$^a!x$^a'^$^a'g$^a'o$^a~P%=SO!W$`a!X$`a!Y$`a!r$`a!s$`a!t$`a!x$`a'^$`a'g$`a'o$`a~P%?WO!S$na!W$na!X$na!Y$na!r$na!s$na!t$na!x$na'^$na'g$na'o$na~P&,_O!W$xi!X$xi!Y$xi!r$xi!s$xi!t$xi!x$xi'^$xi'g$xi'o$xi~P%LjO!W$zi!X$zi!Y$zi!r$zi!s$zi!t$zi!x$zi'^$zi'g$zi'o$zi~P%NnO!S$gi!W$gi!X$gi!Y$gi!r$gi!s$gi!t$gi!x$gi'^$gi'g$gi'o$gi~P&,_O!S$gq!W$gq!X$gq!Y$gq!r$gq!s$gq!t$gq!x$gq'^$gq'g$gq'o$gq~P&,_O!S$iq!W$iq!X$iq!Y$iq!r$iq!s$iq!t$iq!x$iq'^$iq'g$iq'o$iq~P&,_O!S$|!Z!W$|!Z!X$|!Z!Y$|!Z!r$|!Z!s$|!Z!t$|!Z!x$|!Z'^$|!Z'g$|!Z'o$|!Z~P&,_On'hX~P.jOn[X!O[X!c[X%r[X!T[X%Q[X!][X~P$zO!]dX!c[X!cdX'pdX~P;dOQ9^OR9^O]cOb;`Oc!jOhcOj9^OkcOlcOq9^Os9^OxRO{cO|cO}cO!TSO!_9`O!dUO!g9^O!h9^O!i9^O!j9^O!k9^O!n!iO#t!lO#x^O']'cO'fQO'oYO'|;^O~O]#qOh$QOj#rOk#qOl#qOq$ROs9uOx#yO!T#zO!_;fO!d#vO#V:OO#t$VO$_9xO$a9{O$d$WO']&{O'b$PO'f#sO~O!R9pO!S$]a~O]#qOh$QOj#rOk#qOl#qOq$ROs9vOx#yO!T#zO!_;gO!d#vO#V:PO#t$VO$_9yO$a9|O$d$WO']&{O'b$PO'f#sO~O#d'jO~P&]P!AQ!AY!A^!A^P!>YP!Ab!AbP!DVP!DZ?Z?Z!Da!GT8SP8SP8S8SP!HW8S8S!Jf8S!M_8S# g8S8S#!T#$c#$c#$g#$c#$oP#$cP8S#%k8S#'X8S8S-zPPP#(yPP#)c#)cP#)cP#)x#)cPP#*OP#)uP#)u#*b!!X#)u#+P#+V#+Y([#+]([P#+d#+d#+dP([P([P([P([PP([P#+j#+mP#+m([P#+qP#+tP([P([P([P([P([P([([#+z#,U#,[#,b#,p#,v#,|#-W#-^#-m#-s#.R#.X#._#.m#/S#0z#1Y#1`#1f#1l#1r#1|#2S#2Y#2d#2v#2|PPPPPPPP#3SPP#3v#7OPP#8f#8m#8uPP#>a#@t#Fp#Fs#Fv#GR#GUPP#GX#G]#Gz#Hq#Hu#IZPP#I_#Ie#IiP#Il#Ip#Is#Jc#Jy#KO#KR#KU#K[#K_#Kc#KgmhOSj}!n$]%c%f%g%i*o*t/g/jQ$imQ$ppQ%ZyS&V!b+`Q&k!jS(l#z(qQ)g$jQ)t$rQ*`%TQ+f&^S+k&d+mQ+}&lQ-k(sQ/U*aY0Z+o+p+q+r+sS2t.y2vU3|0[0^0aU5g2y2z2{S6]4O4RS7R5h5iQ7m6_R8Q7T$p[ORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!j'e#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ(}$SQ)l$lQ*b%WQ*i%`Q,X9tQ.W)aQ.c)mQ/^*gQ2_.^Q3Z/VQ4^9vQ5S2`R8{9upeOSjy}!n$]%Y%c%f%g%i*o*t/g/jR*d%[&WVOSTjkn}!S!W!k!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%z&S&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;`;a[!cRU!]!`%x&WQ$clQ$hmS$mp$rv$wrs!r!u$Z$u&`&t&w)x)y)z*m+Y+h,S,U/o0lQ%PwQ&h!iQ&j!jS(_#v(cS)f$i$jQ)j$lQ)w$tQ*Z%RQ*_%TS+|&k&lQ-V(`Q.[)gQ.b)mQ.d)nQ.g)rQ/P*[S/T*`*aQ0h+}Q1b-RQ2^.^Q2b.aQ2g.iQ3Y/UQ4i1cQ5R2`Q5U2dQ6u5QR7w6vx#xa!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k!Y$fm!j$h$i$j&U&j&k&l(k)f)g+]+j+|+}-d.[0Q0W0]0h1u3{4Q6Z7k8^Q)`$cQ*P$|Q*S$}Q*^%TQ.k)wQ/O*ZU/S*_*`*aQ3T/PS3X/T/UQ5b2sQ5t3YS7P5c5fS8O7Q7SQ8f8PQ8u8g#[;b!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd;c9d9x9{:O:V:Y:]:b:e:ke;d9r9y9|:P:W:Z:^:c:f:lW#}a$P(y;^S$|t%YQ$}uQ%OvR)}$z%P#|a!w!y#d#v#y$T$U$Y&g'}(W(Y(Z(b(h(w(x)])_)a*O*R+y,_-Y-Z-]-w.R.T.p.s.{.}1a1k1s1y2Q2T2X2j3Q3S4l4u4}5k5p6i6z7W8T9d9r9w9x9y9z9{9|9}:O:P:U:V:W:X:Y:Z:[:]:^:a:b:c:d:e:f:j:k:l;^;i;j;k;l;n;t;u;vT(O#s(PX)O$S9t9u9vU&Z!b$v+cQ'U!{Q)q$oQ.t*TQ1z-tR5^2o&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a$]#aZ!_!o$a%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,i,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|T!XQ!Y&_cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ&X!bR/|+`Y&R!b&V&^+`+fS(k#z(qS+j&d+mS-d(l(sQ-e(mQ-l(tQ.v*VU0W+k+o+pU0]+q+r+sS0b+t2xQ1u-kQ1w-mQ1x-nS2s.y2vU3{0Z0[0^Q4P0_Q4Q0aS5c2t2{S5f2y2zU6Z3|4O4RQ6`4SS7Q5g5hQ7S5iS7k6]6_S8P7R7TQ8^7mQ8g8QQ;h;oR;m;slhOSj}!n$]%c%f%g%i*o*t/g/jQ%k!QS&x!v9cQ)d$gQ*X%PQ*Y%QQ+z&iS,]&}:RS-y)V:_Q.Y)eQ.x*WQ/n*vQ/p*wQ/x+ZQ0`+qQ0f+{S2P-z:gQ2Y.ZS2].]:hQ3r/zQ3u0RQ4U0gQ5P2ZQ6T3tQ6X3zQ6a4VQ7e6RQ7h6YQ8Y7iQ8l8[R8x8n$W#`Z!_!o%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|W(v#{&|1V8qT)Z$a,i$W#_Z!_!o%w%}&y'Q'W'X'Y'Z'[']'^'_'`'a'b'd'g'k'u)p+R+^+g,O,^,d,g,w-x/v/y0i0s0w0x0y0z0{0|0}1O1P1Q1R1S1T1W1]2O2[3s3v4W4[4]4b4c5`6S6V6b6f6g7g7z8Z8m8y9_:|Q'f#`S)Y$a,iR-{)Z&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ%f{Q%g|Q%i!OQ%j!PR/f*rQ&e!iQ)[$cQ+w&hS.Q)`)wS0c+u+vW2S-}.O.P.kS4T0d0eU4|2U2V2WU6s4{5Y5ZQ7v6tR8b7yT+l&d+mS+j&d+mU0W+k+o+pU0]+q+r+sS0b+t2xS2s.y2vU3{0Z0[0^Q4P0_Q4Q0aS5c2t2{S5f2y2zU6Z3|4O4RQ6`4SS7Q5g5hQ7S5iS7k6]6_S8P7R7TQ8^7mR8g8QS+l&d+mT2u.y2vS&r!q/dQ-U(_Q-b(kS0V+j2sQ1g-VS1p-c-lU3}0]0b5fQ4h1bS4s1v1xU6^4P4Q7SQ6k4iQ6r4vR7n6`Q!xXS&q!q/dQ)W$[Q)b$eQ)h$kQ,Q&rQ-T(_Q-a(kQ-f(nQ.X)cQ/Q*]S0U+j2sS1f-U-VS1o-b-lQ1r-eQ1t-gQ3V/RW3y0V0]0b5fQ4g1bQ4k1gS4o1p1xQ4t1wQ5r3WW6[3}4P4Q7SS6j4h4iS6n4p:iQ6p4sQ6}5aQ7[5sS7l6^6`Q7r6kS7s6o:mQ7u6rQ7|7OQ8V7]Q8_7nS8a7t:nQ8d7}Q8s8eQ9Q8tQ9X9RQ:u:pQ;T:zQ;U:{Q;V;hR;[;m$rWORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oS!xn!k!j:o#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR:u;`$rXORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oQ$[b!Y$em!j$h$i$j&U&j&k&l(k)f)g+]+j+|+}-d.[0Q0W0]0h1u3{4Q6Z7k8^S$kn!kQ)c$fQ*]%TW/R*^*_*`*aU3W/S/T/UQ5a2sS5s3X3YU7O5b5c5fQ7]5tU7}7P7Q7SS8e8O8PS8t8f8gQ9R8u!j:p#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aQ:z;_R:{;`$f]OSTjk}!S!W!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oY!hRU!]!`%xv$wrs!r!u$Z$u&`&t&w)x)y)z*m+Y+h,S,U/o0lQ*j%`!h:q#]#k'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR:t&WS&[!b$vR0O+c$p[ORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!j'e#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aR*i%`$roORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8oQ'U!{!k:r#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a!h#VZ!_$a%w%}&y'Q'_'`'a'b'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_!R9k'd'u+^,i/v/y0w1P1Q1R1S1W1]3s4]4b4c5`6S6b6f6g7z:|!d#XZ!_$a%w%}&y'Q'a'b'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_}9m'd'u+^,i/v/y0w1R1S1W1]3s4]4b4c5`6S6b6f6g7z:|!`#]Z!_$a%w%}&y'Q'g'k)p+R+g,O,^,d,w-x0i0s1T2O2[3v4W4[6V7g8Z8m8y9_Q1a-Px;a'd'u+^,i/v/y0w1W1]3s4]4b4c5`6S6b6f6g7z:|Q;i;pQ;j;qR;k;r&^cORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aS#l`#mR1Y,l&e_ORSTU`jk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k#m$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,l,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aS#g^#nT'n#i'rT#h^#nT'p#i'r&e`ORSTU`jk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#]#b#e#k#m$]$n%[%_%`%c%e%f%g%i%m%x%z&S&W&_&f&p&}'R'w(R)V)^*k*o*t+T+X+[+x,P,b,h,l,m-u-z.S.].|/_/`/a/c/g/j/l/{0T0j0t1X2i2q3R3f3h3i3q3x5o5}6W6{7j8]8o9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;aT#l`#mQ#o`R'y#m$rbORSTUjk}!S!W!]!`!n!v!z!|#P#Q#R#S#T#U#V#W#X#Y#Z#b#e$]$n%[%_%`%c%e%f%g%i%m%x%z&S&_&f&p&}'R(R)V)^*k*o*t+T+x,P,b,h-u-z.S.].|/_/`/a/c/g/j/l0T0j0t2i3R3f3h3i3x5o5}6W7j8]8o!k;_#]#k&W'w+X+[,m/{1X2q3q6{9^9`9c9e9f9g9h9i9j9k9l9m9n9o9p9s:Q:R:T:_:`:g:h;a#RdOSUj}!S!W!n!|#k$]%[%_%`%c%e%f%g%i%m&S&f'w)^*k*o*t+x,m-u.S.|/_/`/a/c/g/j/l1X2i3R3f3h3i5o5}x#{a!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k#[&|!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vQ)S$WQ,x(Sd1V9r9y9|:P:W:Z:^:c:f:le8q9d9x9{:O:V:Y:]:b:e:kx#wa!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;kQ(d#xS(n#z(qQ)T$XQ-g(o#[:w!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd:x9d9x9{:O:V:Y:]:b:e:kd:y9r9y9|:P:W:Z:^:c:f:lQ:};bQ;O;cQ;P;dQ;Q;eQ;R;fR;S;gx#{a!y$T$U$Y(W(Y(b(w(x,_-Y-w1a1y6i;^;i;j;k#[&|!w#d#v#y&g'}(Z(h)])_)a*O*R+y-Z-].R.T.p.s.{.}1k1s2Q2T2X2j3Q3S4l4u4}5k5p6z7W8T9w9z9}:U:X:[:a:d:j;l;n;t;u;vd1V9r9y9|:P:W:Z:^:c:f:le8q9d9x9{:O:V:Y:]:b:e:klfOSj}!n$]%c%f%g%i*o*t/g/jQ(g#yQ*}%pQ+O%rR1j-Z%O#|a!w!y#d#v#y$T$U$Y&g'}(W(Y(Z(b(h(w(x)])_)a*O*R+y,_-Y-Z-]-w.R.T.p.s.{.}1a1k1s1y2Q2T2X2j3Q3S4l4u4}5k5p6i6z7W8T9d9r9w9x9y9z9{9|9}:O:P:U:V:W:X:Y:Z:[:]:^:a:b:c:d:e:f:j:k:l;^;i;j;k;l;n;t;u;vQ*Q$}Q.r*SQ2m.qR5]2nT(p#z(qS(p#z(qT2u.y2vQ)b$eQ-f(nQ.X)cQ/Q*]Q3V/RQ5r3WQ6}5aQ7[5sQ7|7OQ8V7]Q8d7}Q8s8eQ9Q8tR9X9Rp(W#t'O)U-X-o-p0q1h1}4f4w7q:v;W;X;Y!n:U&z'i(^(f+v,[,t-P-^-|.P.o.q0e0p1i1m2W2l2n3O4Y4Z4m4q4y5O5Z5n6m6q7Y8`;Z;];p;q;r[:V8p9O9V9Y9Z9]]:W1U4a6c7o7p8zr(Y#t'O)U,}-X-o-p0q1h1}4f4w7q:v;W;X;Y!p:X&z'i(^(f+v,[,t-P-^-|.P.o.q0e0n0p1i1m2W2l2n3O4Y4Z4m4q4y5O5Z5n6m6q7Y8`;Z;];p;q;r^:Y8p9O9T9V9Y9Z9]_:Z1U4a6c6d7o7p8zpeOSjy}!n$]%Y%c%f%g%i*o*t/g/jQ%VxR*k%`peOSjy}!n$]%Y%c%f%g%i*o*t/g/jR%VxQ*U%OR.n)}qeOSjy}!n$]%Y%c%f%g%i*o*t/g/jQ.z*ZS3P/O/PW5j2|2}3O3TU7V5l5m5nU8R7U7X7YQ8h8SR8v8iQ%^yR*e%YR3^/XR7_5uS$mp$rR.d)nQ%czR*o%dR*u%jT/h*t/jR*y%kQ*x%kR/q*yQjOQ!nST$`j!nQ(P#sR,u(PQ!YQR%u!YQ!^RU%{!^%|+UQ%|!_R+U%}Q+a&XR/}+aQ,`'OR0r,`Q,c'QS0u,c0vR0v,dQ+m&dR0X+mS!eR$uU&a!e&b+VQ&b!fR+V&OQ+d&[R0P+dQ&u!sQ,R&sU,V&u,R0mR0m,WQ'r#iR,n'rQ#m`R'x#mQ#cZU'h#c+Q9qQ+Q9_R9q'uQ-S(_W1d-S1e4j6lU1e-T-U-VS4j1f1gR6l4k$k(U#t&z'O'i(^(f)P)Q)U+v,Y,Z,[,t,}-O-P-X-^-o-p-|.P.o.q0e0n0o0p0q1U1h1i1m1}2W2l2n3O4Y4Z4_4`4a4f4m4q4w4y5O5Z5n6c6d6e6m6q7Y7o7p7q8`8p8z8|8}9O9T9U9V9Y9Z9]:v;W;X;Y;Z;];p;q;rQ-[(fU1l-[1n4nQ1n-^R4n1mQ(q#zR-i(qQ(z$OR-r(zQ2R-|R4z2RQ){$xR.m){Q2p.tS5_2p6|R6|5`Q*W%PR.w*WQ2v.yR5d2vQ/W*bS3[/W5vR5v3^Q._)jW2a._2c5T6wQ2c.bQ5T2bR6w5UQ)o$mR.e)oQ/j*tR3l/jWiOSj!nQ%h}Q)X$]Q*n%cQ*p%fQ*q%gQ*s%iQ/e*oS/h*t/jR3k/gQ$_gQ%l!RQ%o!TQ%q!UQ%s!VQ)v$sQ)|$yQ*d%^Q*{%nQ-h(pS/Z*e*hQ/r*zQ/s*}Q/t+OS0S+j2sQ2f.hQ2k.oQ3U/QQ3`/]Q3j/fY3w0U0V0]0b5fQ5X2hQ5[2lQ5q3VQ5w3_[6U3v3y3}4P4Q7SQ6x5VQ7Z5rQ7`5xW7f6V6[6^6`Q7x6yQ7{6}Q8U7[U8X7g7l7nQ8c7|Q8j8VS8k8Z8_Q8r8dQ8w8mQ9P8sQ9S8yQ9W9QR9[9XQ$gmQ&i!jU)e$h$i$jQ+Z&UU+{&j&k&lQ-`(kS.Z)f)gQ/z+]Q0R+jS0g+|+}Q1q-dQ2Z.[Q3t0QS3z0W0]Q4V0hQ4r1uS6Y3{4QQ7i6ZQ8[7kR8n8^S#ua;^R({$PU$Oa$P;^R-q(yQ#taS&z!w)aQ'O!yQ'i#dQ(^#vQ(f#yQ)P$TQ)Q$UQ)U$YQ+v&gQ,Y9wQ,Z9zQ,[9}Q,t'}Q,}(WQ-O(YQ-P(ZQ-X(bQ-^(hQ-o(wQ-p(xd-|)].R.{2T3Q4}5k6z7W8TQ.P)_Q.o*OQ.q*RQ0e+yQ0n:UQ0o:XQ0p:[Q0q,_Q1U9rQ1h-YQ1i-ZQ1m-]Q1}-wQ2W.TQ2l.pQ2n.sQ3O.}Q4Y:aQ4Z:dQ4_9yQ4`9|Q4a:PQ4f1aQ4m1kQ4q1sQ4w1yQ4y2QQ5O2XQ5Z2jQ5n3SQ6c:^Q6d:WQ6e:ZQ6m4lQ6q4uQ7Y5pQ7o:cQ7p:fQ7q6iQ8`:jQ8p9dQ8z:lQ8|9xQ8}9{Q9O:OQ9T:VQ9U:YQ9V:]Q9Y:bQ9Z:eQ9]:kQ:v;^Q;W;iQ;X;jQ;Y;kQ;Z;lQ;];nQ;p;tQ;q;uR;r;vlgOSj}!n$]%c%f%g%i*o*t/g/jS!pU%eQ%n!SQ%t!WQ'V!|Q'v#kS*h%[%_Q*l%`Q*z%mQ+W&SQ+u&fQ,r'wQ.O)^Q/b*kQ0d+xQ1[,mQ1{-uQ2V.SQ2}.|Q3b/_Q3c/`Q3e/aQ3g/cQ3n/lQ4d1XQ5Y2iQ5m3RQ5|3fQ6O3hQ6P3iQ7X5oR7b5}!vZOSUj}!S!n!|$]%[%_%`%c%e%f%g%i%m&S&f)^*k*o*t+x-u.S.|/_/`/a/c/g/j/l2i3R3f3h3i5o5}Q!_RQ!oTQ$akS%w!]%zQ%}!`Q&y!vQ'Q!zQ'W#PQ'X#QQ'Y#RQ'Z#SQ'[#TQ']#UQ'^#VQ'_#WQ'`#XQ'a#YQ'b#ZQ'd#]Q'g#bQ'k#eW'u#k'w,m1XQ)p$nS+R%x+TS+^&W/{Q+g&_Q,O&pQ,^&}Q,d'RQ,g9^Q,i9`Q,w(RQ-x)VQ/v+XQ/y+[Q0i,PQ0s,bQ0w9cQ0x9eQ0y9fQ0z9gQ0{9hQ0|9iQ0}9jQ1O9kQ1P9lQ1Q9mQ1R9nQ1S9oQ1T,hQ1W9sQ1]9pQ2O-zQ2[.]Q3s:QQ3v0TQ4W0jQ4[0tQ4]:RQ4b:TQ4c:_Q5`2qQ6S3qQ6V3xQ6b:`Q6f:gQ6g:hQ7g6WQ7z6{Q8Z7jQ8m8]Q8y8oQ9_!WR:|;aR!aRR&Y!bS&U!b+`S+]&V&^R0Q+fR'P!yR'S!zT!tU$ZS!sU$ZU$xrs*mS&s!r!uQ,T&tQ,W&wQ.l)zS0k,S,UR4X0l`!dR!]!`$u%x&`)x+hh!qUrs!r!u$Z&t&w)z,S,U0lQ/d*mQ/w+YQ3p/oT:s&W)yT!gR$uS!fR$uS%y!]&`S&O!`)xS+S%x+hT+_&W)yT&]!b$vQ#i^R'{#nT'q#i'rR1Z,lT(a#v(cR(i#yQ-})]Q2U.RQ2|.{Q4{2TQ5l3QQ6t4}Q7U5kQ7y6zQ8S7WR8i8TlhOSj}!n$]%c%f%g%i*o*t/g/jQ%]yR*d%YV$yrs*mR.u*TR*c%WQ$qpR)u$rR)k$lT%az%dT%bz%dT/i*t/j", + nodeNames: "\u26A0 extends ArithOp ArithOp InterpolationStart LineComment BlockComment Script ExportDeclaration export Star as VariableName String from ; default FunctionDeclaration async function VariableDefinition TypeParamList TypeDefinition ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation VoidType void TypeofType typeof MemberExpression . ?. PropertyName [ TemplateString Interpolation null super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewExpression new TypeArgList CompareOp < ) ( ArgList UnaryExpression await yield delete LogicOp BitOp ParenthesizedExpression ClassExpression class extends ClassBody MethodDeclaration Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression PrivatePropertyName BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof in const CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXStartTag JSXSelfClosingTag JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast ArrowFunction TypeParamList SequenceExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature CallSignature TypePredicate is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody MethodDeclaration AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement", + maxTerm: 332, + context: trackNewline, + nodeProps: [ + ["closedBy", 4, "InterpolationEnd", 40, "]", 51, "}", 66, ")", 132, "JSXSelfCloseEndTag JSXEndTag", 146, "JSXEndTag"], + ["group", -26, 8, 15, 17, 58, 184, 188, 191, 192, 194, 197, 200, 211, 213, 219, 221, 223, 225, 228, 234, 240, 242, 244, 246, 248, 250, 251, "Statement", -30, 12, 13, 24, 27, 28, 41, 43, 44, 45, 47, 52, 60, 68, 74, 75, 91, 92, 101, 103, 119, 122, 124, 125, 126, 127, 129, 130, 148, 149, 151, "Expression", -22, 23, 25, 29, 32, 34, 152, 154, 156, 157, 159, 160, 161, 163, 164, 165, 167, 168, 169, 178, 180, 182, 183, "Type", -3, 79, 85, 90, "ClassItem"], + ["openedBy", 30, "InterpolationStart", 46, "[", 50, "{", 65, "(", 131, "JSXStartTag", 141, "JSXStartTag JSXStartCloseTag"] + ], + propSources: [jsHighlight], + skippedNodes: [0, 5, 6], + repeatNodeCount: 28, + tokenData: "!C}~R!`OX%TXY%cYZ'RZ[%c[]%T]^'R^p%Tpq%cqr'crs(kst0htu2`uv4pvw5ewx6cxyk|}?O}!O>k!O!P?`!P!QCl!Q!R!0[!R![!1q![!]!7s!]!^!8V!^!_!8g!_!`!9d!`!a!:[!a!b!U#R#S2`#S#T!>i#T#o2`#o#p!>y#p#q!?O#q#r!?f#r#s!?x#s$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$I|2`$I|$I}!Bq$I}$JO!Bq$JO$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`W%YR$UWO!^%T!_#o%T#p~%T7Z%jg$UW'Y7ROX%TXY%cYZ%TZ[%c[p%Tpq%cq!^%T!_#o%T#p$f%T$f$g%c$g#BY%T#BY#BZ%c#BZ$IS%T$IS$I_%c$I_$JT%T$JT$JU%c$JU$KV%T$KV$KW%c$KW&FU%T&FU&FV%c&FV?HT%T?HT?HU%c?HU~%T7Z'YR$UW'Z7RO!^%T!_#o%T#p~%T$T'jS$UW!j#{O!^%T!_!`'v!`#o%T#p~%T$O'}S#e#v$UWO!^%T!_!`(Z!`#o%T#p~%T$O(bR#e#v$UWO!^%T!_#o%T#p~%T)X(rZ$UW]#eOY(kYZ)eZr(krs*rs!^(k!^!_+U!_#O(k#O#P-b#P#o(k#o#p+U#p~(k&r)jV$UWOr)ers*Ps!^)e!^!_*a!_#o)e#o#p*a#p~)e&r*WR$P&j$UWO!^%T!_#o%T#p~%T&j*dROr*ars*ms~*a&j*rO$P&j)X*{R$P&j$UW]#eO!^%T!_#o%T#p~%T)P+ZV]#eOY+UYZ*aZr+Urs+ps#O+U#O#P+w#P~+U)P+wO$P&j]#e)P+zROr+Urs,Ts~+U)P,[U$P&j]#eOY,nZr,nrs-Vs#O,n#O#P-[#P~,n#e,sU]#eOY,nZr,nrs-Vs#O,n#O#P-[#P~,n#e-[O]#e#e-_PO~,n)X-gV$UWOr(krs-|s!^(k!^!_+U!_#o(k#o#p+U#p~(k)X.VZ$P&j$UW]#eOY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x#m/PZ$UW]#eOY.xYZ%TZr.xrs/rs!^.x!^!_,n!_#O.x#O#P0S#P#o.x#o#p,n#p~.x#m/yR$UW]#eO!^%T!_#o%T#p~%T#m0XT$UWO!^.x!^!_,n!_#o.x#o#p,n#p~.x3]0mZ$UWOt%Ttu1`u!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`3]1g]$UW'o3TOt%Ttu1`u!Q%T!Q![1`![!^%T!_!c%T!c!}1`!}#R%T#R#S1`#S#T%T#T#o1`#p$g%T$g~1`7Z2k_$UW#zS']$y'g3SOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`[3q_$UW#zSOt%Ttu3ju}%T}!O3j!O!Q%T!Q![3j![!^%T!_!c%T!c!}3j!}#R%T#R#S3j#S#T%T#T#o3j#p$g%T$g~3j$O4wS#^#v$UWO!^%T!_!`5T!`#o%T#p~%T$O5[R$UW#o#vO!^%T!_#o%T#p~%T5b5lU'x5Y$UWOv%Tvw6Ow!^%T!_!`5T!`#o%T#p~%T$O6VS$UW#i#vO!^%T!_!`5T!`#o%T#p~%T)X6jZ$UW]#eOY6cYZ7]Zw6cwx*rx!^6c!^!_8T!_#O6c#O#P:T#P#o6c#o#p8T#p~6c&r7bV$UWOw7]wx*Px!^7]!^!_7w!_#o7]#o#p7w#p~7]&j7zROw7wwx*mx~7w)P8YV]#eOY8TYZ7wZw8Twx+px#O8T#O#P8o#P~8T)P8rROw8Twx8{x~8T)P9SU$P&j]#eOY9fZw9fwx-Vx#O9f#O#P9}#P~9f#e9kU]#eOY9fZw9fwx-Vx#O9f#O#P9}#P~9f#e:QPO~9f)X:YV$UWOw6cwx:ox!^6c!^!_8T!_#o6c#o#p8T#p~6c)X:xZ$P&j$UW]#eOY;kYZ%TZw;kwx/rx!^;k!^!_9f!_#O;k#O#PW{!^%T!_!`5T!`#o%T#p~%T$O>_S#[#v$UWO!^%T!_!`5T!`#o%T#p~%T%w>rSj%o$UWO!^%T!_!`5T!`#o%T#p~%T&i?VR!R&a$UWO!^%T!_#o%T#p~%T7Z?gVu5^$UWO!O%T!O!P?|!P!Q%T!Q![@r![!^%T!_#o%T#p~%T!{@RT$UWO!O%T!O!P@b!P!^%T!_#o%T#p~%T!{@iR!Q!s$UWO!^%T!_#o%T#p~%T!{@yZ$UWk!sO!Q%T!Q![@r![!^%T!_!g%T!g!hAl!h#R%T#R#S@r#S#X%T#X#YAl#Y#o%T#p~%T!{AqZ$UWO{%T{|Bd|}%T}!OBd!O!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T!{BiV$UWO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T!{CVV$UWk!sO!Q%T!Q![CO![!^%T!_#R%T#R#SCO#S#o%T#p~%T7ZCs`$UW#]#vOYDuYZ%TZzDuz{Jl{!PDu!P!Q!-e!Q!^Du!^!_Fx!_!`!.^!`!a!/]!a!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXD|[$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~DuXEy_$UW}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%TPF}V}POYFxZ!PFx!P!QGd!Q!}Fx!}#OG{#O#PHh#P~FxPGiU}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGdPHOTOYG{Z#OG{#O#PH_#P#QFx#Q~G{PHbQOYG{Z~G{PHkQOYFxZ~FxXHvY$UWOYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~HqXIkV$UWOYHqYZ%TZ!^Hq!^!_G{!_#oHq#o#pG{#p~HqXJVV$UWOYDuYZ%TZ!^Du!^!_Fx!_#oDu#o#pFx#p~Du7ZJs^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q!,R!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl7ZKtV$UWOzKoz{LZ{!^Ko!^!_M]!_#oKo#o#pM]#p~Ko7ZL`X$UWOzKoz{LZ{!PKo!P!QL{!Q!^Ko!^!_M]!_#oKo#o#pM]#p~Ko7ZMSR$UWU7RO!^%T!_#o%T#p~%T7RM`ROzM]z{Mi{~M]7RMlTOzM]z{Mi{!PM]!P!QM{!Q~M]7RNQOU7R7ZNX^$UW}POYJlYZKoZzJlz{NQ{!PJl!P!Q! T!Q!^Jl!^!_!!]!_!}Jl!}#O!'|#O#P!+a#P#oJl#o#p!!]#p~Jl7Z! ^_$UWU7R}PO!^%T!_#Z%T#Z#[Er#[#]%T#]#^Er#^#a%T#a#bEr#b#g%T#g#hEr#h#i%T#i#jEr#j#m%T#m#nEr#n#o%T#p~%T7R!!bY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!&x!Q!}!!]!}#O!$`#O#P!&f#P~!!]7R!#VY}POY!!]YZM]Zz!!]z{!#Q{!P!!]!P!Q!#u!Q!}!!]!}#O!$`#O#P!&f#P~!!]7R!#|UU7R}P#Z#[Gd#]#^Gd#a#bGd#g#hGd#i#jGd#m#nGd7R!$cWOY!$`YZM]Zz!$`z{!${{#O!$`#O#P!&S#P#Q!!]#Q~!$`7R!%OYOY!$`YZM]Zz!$`z{!${{!P!$`!P!Q!%n!Q#O!$`#O#P!&S#P#Q!!]#Q~!$`7R!%sTU7ROYG{Z#OG{#O#PH_#P#QFx#Q~G{7R!&VTOY!$`YZM]Zz!$`z{!${{~!$`7R!&iTOY!!]YZM]Zz!!]z{!#Q{~!!]7R!&}_}POzM]z{Mi{#ZM]#Z#[!&x#[#]M]#]#^!&x#^#aM]#a#b!&x#b#gM]#g#h!&x#h#iM]#i#j!&x#j#mM]#m#n!&x#n~M]7Z!(R[$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|7Z!(|^$UWOY!'|YZKoZz!'|z{!(w{!P!'|!P!Q!)x!Q!^!'|!^!_!$`!_#O!'|#O#P!*o#P#QJl#Q#o!'|#o#p!$`#p~!'|7Z!*PY$UWU7ROYHqYZ%TZ!^Hq!^!_G{!_#OHq#O#PIf#P#QDu#Q#oHq#o#pG{#p~Hq7Z!*tX$UWOY!'|YZKoZz!'|z{!(w{!^!'|!^!_!$`!_#o!'|#o#p!$`#p~!'|7Z!+fX$UWOYJlYZKoZzJlz{NQ{!^Jl!^!_!!]!_#oJl#o#p!!]#p~Jl7Z!,Yc$UW}POzKoz{LZ{!^Ko!^!_M]!_#ZKo#Z#[!,R#[#]Ko#]#^!,R#^#aKo#a#b!,R#b#gKo#g#h!,R#h#iKo#i#j!,R#j#mKo#m#n!,R#n#oKo#o#pM]#p~Ko7Z!-lV$UWT7ROY!-eYZ%TZ!^!-e!^!_!.R!_#o!-e#o#p!.R#p~!-e7R!.WQT7ROY!.RZ~!.R$P!.g[$UW#o#v}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du]!/f[#wS$UW}POYDuYZ%TZ!PDu!P!QEr!Q!^Du!^!_Fx!_!}Du!}#OHq#O#PJQ#P#oDu#o#pFx#p~Du!{!0cd$UWk!sO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#U%T#U#V!3X#V#X%T#X#YAl#Y#b%T#b#c!2w#c#d!4m#d#l%T#l#m!5{#m#o%T#p~%T!{!1x_$UWk!sO!O%T!O!P@r!P!Q%T!Q![!1q![!^%T!_!g%T!g!hAl!h#R%T#R#S!1q#S#X%T#X#YAl#Y#b%T#b#c!2w#c#o%T#p~%T!{!3OR$UWk!sO!^%T!_#o%T#p~%T!{!3^W$UWO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#o%T#p~%T!{!3}Y$UWk!sO!Q%T!Q!R!3v!R!S!3v!S!^%T!_#R%T#R#S!3v#S#b%T#b#c!2w#c#o%T#p~%T!{!4rV$UWO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#o%T#p~%T!{!5`X$UWk!sO!Q%T!Q!Y!5X!Y!^%T!_#R%T#R#S!5X#S#b%T#b#c!2w#c#o%T#p~%T!{!6QZ$UWO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#o%T#p~%T!{!6z]$UWk!sO!Q%T!Q![!6s![!^%T!_!c%T!c!i!6s!i#R%T#R#S!6s#S#T%T#T#Z!6s#Z#b%T#b#c!2w#c#o%T#p~%T$u!7|R!]V$UW#m$fO!^%T!_#o%T#p~%T!q!8^R_!i$UWO!^%T!_#o%T#p~%T5w!8rR'bd!a/n#x&s'|P!P!Q!8{!^!_!9Q!_!`!9_W!9QO$WW#v!9VP#`#v!_!`!9Y#v!9_O#o#v#v!9dO#a#v$u!9kT!{$m$UWO!^%T!_!`'v!`!a!9z!a#o%T#p~%T$P!:RR#W#w$UWO!^%T!_#o%T#p~%T%V!:gT'a!R#a#v$RS$UWO!^%T!_!`!:v!`!a!;W!a#o%T#p~%T$O!:}R#a#v$UWO!^%T!_#o%T#p~%T$O!;_T#`#v$UWO!^%T!_!`5T!`!a!;n!a#o%T#p~%T$O!;uS#`#v$UWO!^%T!_!`5T!`#o%T#p~%T*a!]S#g#v$UWO!^%T!_!`5T!`#o%T#p~%T$a!>pR$UW'f$XO!^%T!_#o%T#p~%T~!?OO!T~5b!?VT'w5Y$UWO!^%T!_!`5T!`#o%T#p#q!=P#q~%T6X!?oR!S5}nQ$UWO!^%T!_#o%T#p~%TX!@PR!kP$UWO!^%T!_#o%T#p~%T7Z!@gr$UW'Y7R#zS']$y'g3SOX%TXY%cYZ%TZ[%c[p%Tpq%cqt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$f%T$f$g%c$g#BY2`#BY#BZ!@Y#BZ$IS2`$IS$I_!@Y$I_$JT2`$JT$JU!@Y$JU$KV2`$KV$KW!@Y$KW&FU2`&FU&FV!@Y&FV?HT2`?HT?HU!@Y?HU~2`7Z!CO_$UW'Z7R#zS']$y'g3SOt%Ttu2`u}%T}!O3j!O!Q%T!Q![2`![!^%T!_!c%T!c!}2`!}#R%T#R#S2`#S#T%T#T#o2`#p$g%T$g~2`", + tokenizers: [tsExtends, noSemicolon, incdecToken, template, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, insertSemicolon], + topRules: { "Script": [0, 7] }, + dialects: { jsx: 12107, ts: 12109 }, + dynamicPrecedences: { "149": 1, "176": 1 }, + specialized: [{ term: 289, get: (value) => spec_identifier[value] || -1 }, { term: 299, get: (value) => spec_word[value] || -1 }, { term: 63, get: (value) => spec_LessThan[value] || -1 }], + tokenPrec: 12130 +}); + +// node_modules/@codemirror/lang-javascript/dist/index.js +var import_language = require("@codemirror/language"); +var import_state = require("@codemirror/state"); +var import_view = require("@codemirror/view"); +var import_autocomplete = require("@codemirror/autocomplete"); +var snippets = [ + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("function ${name}(${params}) {\n ${}\n}", { + label: "function", + detail: "definition", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}", { + label: "for", + detail: "loop", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("for (let ${name} of ${collection}) {\n ${}\n}", { + label: "for", + detail: "of loop", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("do {\n ${}\n} while (${})", { + label: "do", + detail: "loop", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("while (${}) {\n ${}\n}", { + label: "while", + detail: "loop", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("try {\n ${}\n} catch (${error}) {\n ${}\n}", { + label: "try", + detail: "/ catch block", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("if (${}) {\n ${}\n}", { + label: "if", + detail: "block", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("if (${}) {\n ${}\n} else {\n ${}\n}", { + label: "if", + detail: "/ else block", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)("class ${name} {\n constructor(${params}) {\n ${}\n }\n}", { + label: "class", + detail: "definition", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)('import {${names}} from "${module}"\n${}', { + label: "import", + detail: "named", + type: "keyword" + }), + /* @__PURE__ */ (0, import_autocomplete.snippetCompletion)('import ${name} from "${module}"\n${}', { + label: "import", + detail: "default", + type: "keyword" + }) +]; +var cache = /* @__PURE__ */ new NodeWeakMap(); +var ScopeNodes = /* @__PURE__ */ new Set([ + "Script", + "Block", + "FunctionExpression", + "FunctionDeclaration", + "ArrowFunction", + "MethodDeclaration", + "ForStatement" +]); +function defID(type) { + return (node, def) => { + let id2 = node.node.getChild("VariableDefinition"); + if (id2) + def(id2, type); + return true; + }; +} +var functionContext = ["FunctionDeclaration"]; +var gatherCompletions = { + FunctionDeclaration: /* @__PURE__ */ defID("function"), + ClassDeclaration: /* @__PURE__ */ defID("class"), + ClassExpression: () => true, + EnumDeclaration: /* @__PURE__ */ defID("constant"), + TypeAliasDeclaration: /* @__PURE__ */ defID("type"), + NamespaceDeclaration: /* @__PURE__ */ defID("namespace"), + VariableDefinition(node, def) { + if (!node.matchContext(functionContext)) + def(node, "variable"); + }, + TypeDefinition(node, def) { + def(node, "type"); + }, + __proto__: null +}; +function getScope(doc, node) { + let cached = cache.get(node); + if (cached) + return cached; + let completions = [], top2 = true; + function def(node2, type) { + let name = doc.sliceString(node2.from, node2.to); + completions.push({ label: name, type }); + } + node.cursor(IterMode.IncludeAnonymous).iterate((node2) => { + if (top2) { + top2 = false; + } else if (node2.name) { + let gather = gatherCompletions[node2.name]; + if (gather && gather(node2, def) || ScopeNodes.has(node2.name)) + return false; + } else if (node2.to - node2.from > 8192) { + for (let c of getScope(doc, node2.node)) + completions.push(c); + return false; + } + }); + cache.set(node, completions); + return completions; +} +var Identifier = /^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/; +var dontComplete = [ + "TemplateString", + "String", + "RegExp", + "LineComment", + "BlockComment", + "VariableDefinition", + "TypeDefinition", + "Label", + "PropertyDefinition", + "PropertyName", + "PrivatePropertyDefinition", + "PrivatePropertyName" +]; +function localCompletionSource(context) { + let inner = (0, import_language.syntaxTree)(context.state).resolveInner(context.pos, -1); + if (dontComplete.indexOf(inner.name) > -1) + return null; + let isWord = inner.to - inner.from < 20 && Identifier.test(context.state.sliceDoc(inner.from, inner.to)); + if (!isWord && !context.explicit) + return null; + let options = []; + for (let pos = inner; pos; pos = pos.parent) { + if (ScopeNodes.has(pos.name)) + options = options.concat(getScope(context.state.doc, pos)); + } + return { + options, + from: isWord ? inner.from : context.pos, + validFor: Identifier + }; +} +var javascriptLanguage = /* @__PURE__ */ import_language.LRLanguage.define({ + parser: /* @__PURE__ */ parser.configure({ + props: [ + /* @__PURE__ */ import_language.indentNodeProp.add({ + IfStatement: /* @__PURE__ */ (0, import_language.continuedIndent)({ except: /^\s*({|else\b)/ }), + TryStatement: /* @__PURE__ */ (0, import_language.continuedIndent)({ except: /^\s*({|catch\b|finally\b)/ }), + LabeledStatement: import_language.flatIndent, + SwitchBody: (context) => { + let after = context.textAfter, closed = /^\s*\}/.test(after), isCase = /^\s*(case|default)\b/.test(after); + return context.baseIndent + (closed ? 0 : isCase ? 1 : 2) * context.unit; + }, + Block: /* @__PURE__ */ (0, import_language.delimitedIndent)({ closing: "}" }), + ArrowFunction: (cx) => cx.baseIndent + cx.unit, + "TemplateString BlockComment": () => null, + "Statement Property": /* @__PURE__ */ (0, import_language.continuedIndent)({ except: /^{/ }), + JSXElement(context) { + let closed = /^\s*<\//.test(context.textAfter); + return context.lineIndent(context.node.from) + (closed ? 0 : context.unit); + }, + JSXEscape(context) { + let closed = /\s*\}/.test(context.textAfter); + return context.lineIndent(context.node.from) + (closed ? 0 : context.unit); + }, + "JSXOpenTag JSXSelfClosingTag"(context) { + return context.column(context.node.from) + context.unit; + } + }), + /* @__PURE__ */ import_language.foldNodeProp.add({ + "Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression": import_language.foldInside, + BlockComment(tree) { + return { from: tree.from + 2, to: tree.to - 2 }; + } + }) + ] + }), + languageData: { + closeBrackets: { brackets: ["(", "[", "{", "'", '"', "`"] }, + commentTokens: { line: "//", block: { open: "/*", close: "*/" } }, + indentOnInput: /^\s*(?:case |default:|\{|\}|<\/)$/, + wordChars: "$" + } +}); +var typescriptLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "ts" }); +var jsxLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "jsx" }); +var tsxLanguage = /* @__PURE__ */ javascriptLanguage.configure({ dialect: "jsx ts" }); +var keywords = /* @__PURE__ */ "break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map((kw) => ({ label: kw, type: "keyword" })); +function javascript(config2 = {}) { + let lang = config2.jsx ? config2.typescript ? tsxLanguage : jsxLanguage : config2.typescript ? typescriptLanguage : javascriptLanguage; + return new import_language.LanguageSupport(lang, [ + javascriptLanguage.data.of({ + autocomplete: (0, import_autocomplete.ifNotIn)(dontComplete, (0, import_autocomplete.completeFromList)(snippets.concat(keywords))) + }), + javascriptLanguage.data.of({ + autocomplete: localCompletionSource + }), + config2.jsx ? autoCloseTags : [] + ]); +} +function elementName(doc, tree, max2 = doc.length) { + if (!tree) + return ""; + let name = tree.getChild("JSXIdentifier"); + return name ? doc.sliceString(name.from, Math.min(name.to, max2)) : ""; +} +var android = typeof navigator == "object" && /* @__PURE__ */ /Android\b/.test(navigator.userAgent); +var autoCloseTags = /* @__PURE__ */ import_view.EditorView.inputHandler.of((view, from, to, text) => { + if ((android ? view.composing : view.compositionStarted) || view.state.readOnly || from != to || text != ">" && text != "/" || !javascriptLanguage.isActiveAt(view.state, from, -1)) + return false; + let { state } = view; + let changes = state.changeByRange((range) => { + var _a, _b, _c; + let { head } = range, around = (0, import_language.syntaxTree)(state).resolveInner(head, -1), name; + if (around.name == "JSXStartTag") + around = around.parent; + if (text == ">" && around.name == "JSXFragmentTag") { + return { range: import_state.EditorSelection.cursor(head + 1), changes: { from: head, insert: `><>` } }; + } else if (text == ">" && around.name == "JSXIdentifier") { + if (((_b = (_a = around.parent) === null || _a === void 0 ? void 0 : _a.lastChild) === null || _b === void 0 ? void 0 : _b.name) != "JSXEndTag" && (name = elementName(state.doc, around.parent, head))) + return { range: import_state.EditorSelection.cursor(head + 1), changes: { from: head, insert: `>` } }; + } else if (text == "/" && around.name == "JSXFragmentTag") { + let empty = around.parent, base = empty === null || empty === void 0 ? void 0 : empty.parent; + if (empty.from == head - 1 && ((_c = base.lastChild) === null || _c === void 0 ? void 0 : _c.name) != "JSXEndTag" && (name = elementName(state.doc, base === null || base === void 0 ? void 0 : base.firstChild, head))) { + let insert = `/${name}>`; + return { range: import_state.EditorSelection.cursor(head + insert.length), changes: { from: head, insert } }; + } + } + return { range }; + }); + if (changes.changes.empty) + return false; + view.dispatch(changes, { userEvent: "input.type", scrollIntoView: true }); + return true; +}); + +// src/settings/ui/snippets_editor/extensions.ts +var import_language3 = require("@codemirror/language"); +var import_commands = require("@codemirror/commands"); +var import_autocomplete2 = require("@codemirror/autocomplete"); +var import_search = require("@codemirror/search"); +var import_lint = require("@codemirror/lint"); + +// src/settings/ui/snippets_editor/obsidian_theme.ts +var import_view2 = require("@codemirror/view"); +var import_language2 = require("@codemirror/language"); +var import_highlight2 = require("@lezer/highlight"); +var config = { + name: "obsidian", + dark: false, + background: "var(--background-primary)", + foreground: "var(--text-normal)", + selection: "var(--text-selection)", + cursor: "var(--text-normal)", + dropdownBackground: "var(--background-primary)", + dropdownBorder: "var(--background-modifier-border)", + activeLine: "var(--background-primary)", + matchingBracket: "var(--background-modifier-accent)", + keyword: "#d73a49", + storage: "#d73a49", + variable: "var(--text-normal)", + parameter: "var(--text-accent-hover)", + function: "var(--text-accent-hover)", + string: "var(--text-accent)", + constant: "var(--text-accent-hover)", + type: "var(--text-accent-hover)", + class: "#6f42c1", + number: "var(--text-accent-hover)", + comment: "var(--text-faint)", + heading: "var(--text-accent-hover)", + invalid: "var(--text-error)", + regexp: "var(--text-accent)" +}; +var obsidianTheme = import_view2.EditorView.theme({ + "&": { + color: config.foreground, + backgroundColor: config.background + }, + ".cm-content": { caretColor: config.cursor }, + "&.cm-focused .cm-cursor": { borderLeftColor: config.cursor }, + "&.cm-focused .cm-selectionBackground, .cm-selectionBackground, & ::selection": { backgroundColor: config.selection }, + ".cm-panels": { backgroundColor: config.dropdownBackground, color: config.foreground }, + ".cm-panels.cm-panels-top": { borderBottom: "2px solid black" }, + ".cm-panels.cm-panels-bottom": { borderTop: "2px solid black" }, + ".cm-searchMatch": { + backgroundColor: config.dropdownBackground, + outline: `1px solid ${config.dropdownBorder}` + }, + ".cm-searchMatch.cm-searchMatch-selected": { + backgroundColor: config.selection + }, + ".cm-activeLine": { backgroundColor: config.activeLine }, + ".cm-activeLineGutter": { backgroundColor: config.background }, + ".cm-selectionMatch": { backgroundColor: config.selection }, + ".cm-matchingBracket, .cm-nonmatchingBracket": { + backgroundColor: config.matchingBracket, + outline: "none" + }, + ".cm-gutters": { + backgroundColor: config.background, + color: config.comment, + borderRight: "1px solid var(--background-modifier-border)" + }, + ".cm-lineNumbers, .cm-gutterElement": { color: "inherit" }, + ".cm-foldPlaceholder": { + backgroundColor: "transparent", + border: "none", + color: config.foreground + }, + ".cm-tooltip": { + border: `1px solid ${config.dropdownBorder}`, + backgroundColor: config.dropdownBackground, + color: config.foreground + }, + ".cm-tooltip.cm-tooltip-autocomplete": { + "& > ul > li[aria-selected]": { + background: config.selection, + color: config.foreground + } + } +}, { dark: config.dark }); +var obsidianHighlightStyle = import_language2.HighlightStyle.define([ + { tag: import_highlight2.tags.keyword, color: config.keyword }, + { tag: [import_highlight2.tags.name, import_highlight2.tags.deleted, import_highlight2.tags.character, import_highlight2.tags.macroName], color: config.variable }, + { tag: [import_highlight2.tags.propertyName], color: config.function }, + { tag: [import_highlight2.tags.processingInstruction, import_highlight2.tags.string, import_highlight2.tags.inserted, import_highlight2.tags.special(import_highlight2.tags.string)], color: config.string }, + { tag: [import_highlight2.tags.function(import_highlight2.tags.variableName), import_highlight2.tags.labelName], color: config.function }, + { tag: [import_highlight2.tags.color, import_highlight2.tags.constant(import_highlight2.tags.name), import_highlight2.tags.standard(import_highlight2.tags.name)], color: config.constant }, + { tag: [import_highlight2.tags.definition(import_highlight2.tags.name), import_highlight2.tags.separator], color: config.variable }, + { tag: [import_highlight2.tags.className], color: config.class }, + { tag: [import_highlight2.tags.number, import_highlight2.tags.changed, import_highlight2.tags.annotation, import_highlight2.tags.modifier, import_highlight2.tags.self, import_highlight2.tags.namespace], color: config.number }, + { tag: [import_highlight2.tags.typeName], color: config.type, fontStyle: config.type }, + { tag: [import_highlight2.tags.operator, import_highlight2.tags.operatorKeyword], color: config.keyword }, + { tag: [import_highlight2.tags.url, import_highlight2.tags.escape, import_highlight2.tags.regexp, import_highlight2.tags.link], color: config.regexp }, + { tag: [import_highlight2.tags.meta, import_highlight2.tags.comment], color: config.comment }, + { tag: import_highlight2.tags.strong, fontWeight: "bold" }, + { tag: import_highlight2.tags.emphasis, fontStyle: "italic" }, + { tag: import_highlight2.tags.link, textDecoration: "underline" }, + { tag: import_highlight2.tags.heading, fontWeight: "bold", color: config.heading }, + { tag: [import_highlight2.tags.atom, import_highlight2.tags.bool, import_highlight2.tags.special(import_highlight2.tags.variableName)], color: config.variable }, + { tag: import_highlight2.tags.invalid, color: config.invalid }, + { tag: import_highlight2.tags.strikethrough, textDecoration: "line-through" } +]); +var obsidian = [ + obsidianTheme, + (0, import_language2.syntaxHighlighting)(obsidianHighlightStyle) +]; + +// src/settings/ui/snippets_editor/extensions.ts +var basicSetup = [ + (0, import_view3.lineNumbers)(), + (0, import_view3.highlightSpecialChars)(), + (0, import_commands.history)(), + javascript(), + (0, import_view3.drawSelection)(), + (0, import_view3.dropCursor)(), + import_state2.EditorState.allowMultipleSelections.of(true), + (0, import_language3.indentOnInput)(), + import_language3.indentUnit.of(" "), + (0, import_language3.syntaxHighlighting)(import_language3.defaultHighlightStyle, { fallback: true }), + import_view3.EditorView.lineWrapping, + (0, import_language3.bracketMatching)(), + (0, import_autocomplete2.closeBrackets)(), + (0, import_view3.rectangularSelection)(), + (0, import_search.highlightSelectionMatches)(), + obsidian, + import_view3.keymap.of([ + ...import_autocomplete2.closeBracketsKeymap, + ...import_commands.defaultKeymap, + ...import_search.searchKeymap, + ...import_commands.historyKeymap, + import_commands.indentWithTab, + ...import_lint.lintKeymap + ]) +].filter((ext) => ext); + +// src/settings/settings_tab.ts +var LatexSuiteSettingTab = class extends import_obsidian4.PluginSettingTab { + constructor(app, plugin) { + super(app, plugin); + this.plugin = plugin; + } + hide() { + var _a; + (_a = this.snippetsEditor) == null ? void 0 : _a.destroy(); + } + addHeading(containerEl, name, icon = "math") { + const heading = new import_obsidian4.Setting(containerEl).setName(name).setHeading(); + const parentEl = heading.settingEl; + const iconEl = parentEl.createDiv(); + (0, import_obsidian4.setIcon)(iconEl, icon); + iconEl.addClass("latex-suite-settings-icon"); + parentEl.prepend(iconEl); + } + display() { + const { containerEl } = this; + containerEl.empty(); + this.displaySnippetSettings(); + this.displayConcealSettings(); + this.displayColorHighlightBracketsSettings(); + this.displayPopupPreviewSettings(); + this.displayAutofractionSettings(); + this.displayMatrixShortcutsSettings(); + this.displayTaboutSettings(); + this.displayAutoEnlargeBracketsSettings(); + this.displayAdvancedSnippetSettings(); + } + displaySnippetSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Snippets", "ballpen"); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc("Whether snippets are enabled.").addToggle((toggle) => toggle.setValue(this.plugin.settings.snippetsEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.snippetsEnabled = value; + yield this.plugin.saveSettings(); + }))); + const snippetsSetting = new import_obsidian4.Setting(containerEl).setName("Snippets").setDesc('Enter snippets here. Remember to add a comma after each snippet, and escape all backslashes with an extra \\. Lines starting with "//" will be treated as comments and ignored.').setClass("snippets-text-area"); + this.createSnippetsEditor(snippetsSetting); + new import_obsidian4.Setting(containerEl).setName("Load snippets from file or folder").setDesc("Whether to load snippets from a specified file, or from all files within a folder (instead of from the plugin settings).").addToggle((toggle) => toggle.setValue(this.plugin.settings.loadSnippetsFromFile).onChange((value) => __async(this, null, function* () { + this.plugin.settings.loadSnippetsFromFile = value; + snippetsSetting.settingEl.toggleClass("hidden", value); + if (this.snippetsFileLocEl != void 0) + this.snippetsFileLocEl.toggleClass("hidden", !value); + yield this.plugin.saveSettings(); + }))); + const snippetsFileLocDesc = new DocumentFragment(); + snippetsFileLocDesc.createDiv({}, (div) => { + div.innerHTML = ` + The file or folder to load snippets from. The file or folder must be within your vault, and not within a hidden folder (such as .obsidian/).`; + }); + const snippetsFileLoc = new import_obsidian4.Setting(containerEl).setName("Snippets file or folder location").setDesc(snippetsFileLocDesc); + let inputEl; + snippetsFileLoc.addSearch((component) => { + component.setPlaceholder(DEFAULT_SETTINGS.snippetsFileLocation).setValue(this.plugin.settings.snippetsFileLocation).onChange((0, import_obsidian4.debounce)((value) => __async(this, null, function* () { + this.plugin.settings.snippetsFileLocation = value; + yield this.plugin.saveSettings(true); + }), 500, true)); + inputEl = component.inputEl; + inputEl.addClass("latex-suite-location-input-el"); + }); + this.snippetsFileLocEl = snippetsFileLoc.settingEl; + new FileSuggest(this.app, inputEl); + const loadSnippetsFromFile = this.plugin.settings.loadSnippetsFromFile; + snippetsSetting.settingEl.toggleClass("hidden", loadSnippetsFromFile); + this.snippetsFileLocEl.toggleClass("hidden", !loadSnippetsFromFile); + new import_obsidian4.Setting(containerEl).setName("Key trigger for non-auto snippets").setDesc("What key to press to expand non-auto snippets.").addDropdown( + (dropdown) => dropdown.addOption("Tab", "Tab").addOption(" ", "Space").setValue(this.plugin.settings.snippetsTrigger).onChange((value) => __async(this, null, function* () { + this.plugin.settings.snippetsTrigger = value; + yield this.plugin.saveSettings(); + })) + ); + } + displayConcealSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Conceal", "math-integral-x"); + const fragment = new DocumentFragment(); + fragment.createDiv({}, (div) => div.setText("Make equations more readable by hiding LaTeX syntax and instead displaying it in a pretty format.")); + fragment.createDiv({}, (div) => div.innerHTML = ` + e.g. \\dot{x}^{2} + \\dot{y}^{2} will display as \u1E8B\xB2 + \u1E8F\xB2, and \\sqrt{ 1-\\beta^{2} } will display as \u221A{ 1-\u03B2\xB2 }. + `); + fragment.createDiv({}, (div) => div.setText("LaTeX beneath the cursor will be revealed.")); + fragment.createEl("br"); + fragment.createDiv({}, (div) => div.setText("Disabled by default to not confuse new users. However, I recommend turning this on once you are comfortable with the plugin!")); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc(fragment).addToggle( + (toggle) => toggle.setValue(this.plugin.settings.concealEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.concealEnabled = value; + yield this.plugin.saveSettings(); + })) + ); + const fragment2 = new DocumentFragment(); + fragment2.createDiv({}, (div) => div.setText("How long to delay the reveal of LaTeX for, in milliseconds, when the cursor moves over LaTeX. Defaults to 0 (LaTeX under the cursor is revealed immediately).")); + fragment2.createEl("br"); + fragment2.createDiv({}, (div) => div.setText("Can be set to a positive number, e.g. 300, to delay the reveal of LaTeX, making it much easier to navigate equations using arrow keys.")); + fragment2.createEl("br"); + fragment2.createDiv({}, (div) => div.setText("Must be an integer \u2265 0.")); + new import_obsidian4.Setting(containerEl).setName("Reveal delay (ms)").setDesc(fragment2).addText( + (text) => text.setPlaceholder(String(DEFAULT_SETTINGS.concealRevealTimeout)).setValue(String(this.plugin.settings.concealRevealTimeout)).onChange((value) => { + const ok = /^\d+$/.test(value); + if (ok) { + this.plugin.settings.concealRevealTimeout = Number(value); + this.plugin.saveSettings(); + } + }) + ); + } + displayColorHighlightBracketsSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Highlight and color brackets", "parentheses"); + new import_obsidian4.Setting(containerEl).setName("Color paired brackets").setDesc("Whether to colorize matching brackets.").addToggle((toggle) => toggle.setValue(this.plugin.settings.colorPairedBracketsEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.colorPairedBracketsEnabled = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Highlight matching bracket beneath cursor").setDesc("When the cursor is adjacent to a bracket, highlight the matching bracket.").addToggle((toggle) => toggle.setValue(this.plugin.settings.highlightCursorBracketsEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.highlightCursorBracketsEnabled = value; + yield this.plugin.saveSettings(); + }))); + } + displayPopupPreviewSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Math popup preview", "superscript"); + const popup_fragment = document.createDocumentFragment(); + const popup_line1 = document.createElement("div"); + popup_line1.setText("When inside an equation, show a popup preview window of the rendered math."); + const popup_space = document.createElement("br"); + const popup_line2 = document.createElement("div"); + popup_line2.setText("The popup preview will be shown for all inline math equations, as well as for block math equations in Source mode."); + popup_fragment.append(popup_line1, popup_space, popup_line2); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc(popup_fragment).addToggle((toggle) => toggle.setValue(this.plugin.settings.mathPreviewEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.mathPreviewEnabled = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Position").setDesc("Where to display the popup preview relative to the equation source.").addDropdown( + (dropdown) => dropdown.addOption("Above", "Above").addOption("Below", "Below").setValue(this.plugin.settings.mathPreviewPositionIsAbove ? "Above" : "Below").onChange((value) => __async(this, null, function* () { + this.plugin.settings.mathPreviewPositionIsAbove = value === "Above"; + yield this.plugin.saveSettings(); + })) + ); + } + displayAutofractionSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Auto-fraction", "math-x-divide-y-2"); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc("Whether auto-fraction is enabled.").addToggle((toggle) => toggle.setValue(this.plugin.settings.autofractionEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autofractionEnabled = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Fraction symbol").setDesc("The fraction symbol to use in the replacement. e.g. \\frac, \\dfrac, \\tfrac").addText((text) => text.setPlaceholder(DEFAULT_SETTINGS.autofractionSymbol).setValue(this.plugin.settings.autofractionSymbol).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autofractionSymbol = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Excluded environments").setDesc('A list of environments to exclude auto-fraction from running in. For example, to exclude auto-fraction from running while inside an exponent, such as e^{...}, use ["^{", "}"]').addTextArea((text) => text.setPlaceholder('[ ["^{", "}] ]').setValue(this.plugin.settings.autofractionExcludedEnvs).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autofractionExcludedEnvs = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Breaking characters").setDesc('A list of characters that denote the start/end of a fraction. e.g. if + is included in the list, "a+b/c" will expand to "a+\\frac{b}{c}". If + is not in the list, it will expand to "\\frac{a+b}{c}".').addText((text) => text.setPlaceholder(DEFAULT_SETTINGS.autofractionBreakingChars).setValue(this.plugin.settings.autofractionBreakingChars).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autofractionBreakingChars = value; + yield this.plugin.saveSettings(); + }))); + } + displayMatrixShortcutsSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Matrix shortcuts", "brackets-contain"); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc("Whether matrix shortcuts are enabled.").addToggle((toggle) => toggle.setValue(this.plugin.settings.matrixShortcutsEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.matrixShortcutsEnabled = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Environments").setDesc("A list of environment names to run the matrix shortcuts in, separated by commas.").addText((text) => text.setPlaceholder(DEFAULT_SETTINGS.matrixShortcutsEnvNames).setValue(this.plugin.settings.matrixShortcutsEnvNames).onChange((value) => __async(this, null, function* () { + this.plugin.settings.matrixShortcutsEnvNames = value; + yield this.plugin.saveSettings(); + }))); + } + displayTaboutSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Tabout", "tabout"); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc("Whether tabout is enabled.").addToggle((toggle) => toggle.setValue(this.plugin.settings.taboutEnabled).onChange((value) => __async(this, null, function* () { + this.plugin.settings.taboutEnabled = value; + yield this.plugin.saveSettings(); + }))); + } + displayAutoEnlargeBracketsSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Auto-enlarge brackets", "parentheses"); + new import_obsidian4.Setting(containerEl).setName("Enabled").setDesc("Whether to automatically enlarge brackets containing e.g. sum, int, frac.").addToggle((toggle) => toggle.setValue(this.plugin.settings.autoEnlargeBrackets).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autoEnlargeBrackets = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Triggers").setDesc("A list of symbols that should trigger auto-enlarge brackets, separated by commas.").addText((text) => text.setPlaceholder(DEFAULT_SETTINGS.autoEnlargeBracketsTriggers).setValue(this.plugin.settings.autoEnlargeBracketsTriggers).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autoEnlargeBracketsTriggers = value; + yield this.plugin.saveSettings(); + }))); + } + displayAdvancedSnippetSettings() { + const containerEl = this.containerEl; + this.addHeading(containerEl, "Advanced snippet settings"); + const snippetVariablesSetting = new import_obsidian4.Setting(containerEl).setName("Snippet variables").setDesc("Assign snippet variables that can be used as shortcuts when writing snippets.").addTextArea((text) => text.setValue(this.plugin.settings.snippetVariables).onChange((value) => __async(this, null, function* () { + this.plugin.settings.snippetVariables = value; + yield this.plugin.saveSettings(); + })).setPlaceholder(DEFAULT_SETTINGS.snippetVariables)).setClass("latex-suite-snippet-variables-setting"); + new import_obsidian4.Setting(containerEl).setName("Load snippet variables from file or folder").setDesc("Whether to load snippet variables from a specified file, or from all files within a folder (instead of from the plugin settings).").addToggle((toggle) => toggle.setValue(this.plugin.settings.loadSnippetVariablesFromFile).onChange((value) => __async(this, null, function* () { + this.plugin.settings.loadSnippetVariablesFromFile = value; + snippetVariablesSetting.settingEl.toggleClass("hidden", value); + if (this.snippetVariablesFileLocEl != void 0) + this.snippetVariablesFileLocEl.toggleClass("hidden", !value); + yield this.plugin.saveSettings(); + }))); + const snippetVariablesFileLocDesc = new DocumentFragment(); + snippetVariablesFileLocDesc.createDiv({}, (div) => { + div.innerHTML = ` + The file or folder to load snippet variables from. The file or folder must be within your vault, and not within a hidden folder (such as .obsidian/).`; + }); + const snippetVariablesFileLoc = new import_obsidian4.Setting(containerEl).setName("Snippet variables file or folder location").setDesc(snippetVariablesFileLocDesc); + let inputVariablesEl; + snippetVariablesFileLoc.addSearch( + (component) => { + component.setPlaceholder(DEFAULT_SETTINGS.snippetVariablesFileLocation).setValue(this.plugin.settings.snippetVariablesFileLocation).onChange((0, import_obsidian4.debounce)((value) => __async(this, null, function* () { + this.plugin.settings.snippetVariablesFileLocation = value; + yield this.plugin.saveSettings(true); + }), 500, true)); + inputVariablesEl = component.inputEl; + inputVariablesEl.addClass("latex-suite-location-input-el"); + } + ); + this.snippetVariablesFileLocEl = snippetVariablesFileLoc.settingEl; + new FileSuggest(this.app, inputVariablesEl); + const loadSnippetVariablesFromFile = this.plugin.settings.loadSnippetVariablesFromFile; + snippetVariablesSetting.settingEl.toggleClass("hidden", loadSnippetVariablesFromFile); + this.snippetVariablesFileLocEl.toggleClass("hidden", !loadSnippetVariablesFromFile); + new import_obsidian4.Setting(containerEl).setName("Word delimiters").setDesc('Symbols that will be treated as word delimiters, for use with the "w" snippet option.').addText((text) => text.setPlaceholder(DEFAULT_SETTINGS.wordDelimiters).setValue(this.plugin.settings.wordDelimiters).onChange((value) => __async(this, null, function* () { + this.plugin.settings.wordDelimiters = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Remove trailing whitespaces in snippets in inline math").setDesc("Whether to remove trailing whitespaces when expanding snippets at the end of inline math blocks.").addToggle((toggle) => toggle.setValue(this.plugin.settings.removeSnippetWhitespace).onChange((value) => __async(this, null, function* () { + this.plugin.settings.removeSnippetWhitespace = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Remove closing $ when backspacing inside blank inline math").setDesc("Whether to also remove the closing $ when you delete the opening $ symbol inside blank inline math.").addToggle((toggle) => toggle.setValue(this.plugin.settings.autoDelete$).onChange((value) => __async(this, null, function* () { + this.plugin.settings.autoDelete$ = value; + yield this.plugin.saveSettings(); + }))); + new import_obsidian4.Setting(containerEl).setName("Don't trigger snippets when IME is active").setDesc("Whether to suppress snippets triggering when an IME is active.").addToggle( + (toggle) => toggle.setValue(this.plugin.settings.suppressSnippetTriggerOnIME).onChange((value) => __async(this, null, function* () { + this.plugin.settings.suppressSnippetTriggerOnIME = value; + yield this.plugin.saveSettings(); + })) + ); + new import_obsidian4.Setting(containerEl).setName("Code languages to interpret as math mode").setDesc("Codeblock languages where the whole code block should be treated like a math block, separated by commas.").addText((text) => text.setPlaceholder(DEFAULT_SETTINGS.forceMathLanguages).setValue(this.plugin.settings.forceMathLanguages).onChange((value) => __async(this, null, function* () { + this.plugin.settings.forceMathLanguages = value; + yield this.plugin.saveSettings(); + }))); + } + createSnippetsEditor(snippetsSetting) { + const customCSSWrapper = snippetsSetting.controlEl.createDiv("snippets-editor-wrapper"); + const snippetsFooter = snippetsSetting.controlEl.createDiv("snippets-footer"); + const validity = snippetsFooter.createDiv("snippets-editor-validity"); + const validityIndicator = new import_obsidian4.ExtraButtonComponent(validity); + validityIndicator.setIcon("checkmark").extraSettingsEl.addClass("snippets-editor-validity-indicator"); + const validityText = validity.createDiv("snippets-editor-validity-text"); + validityText.addClass("setting-item-description"); + validityText.style.padding = "0"; + function updateValidityIndicator(success) { + validityIndicator.setIcon(success ? "checkmark" : "cross"); + validityIndicator.extraSettingsEl.removeClass(success ? "invalid" : "valid"); + validityIndicator.extraSettingsEl.addClass(success ? "valid" : "invalid"); + validityText.setText(success ? "Saved" : "Invalid syntax. Changes not saved"); + } + const extensions = basicSetup; + const change = import_view4.EditorView.updateListener.of((v) => __async(this, null, function* () { + if (v.docChanged) { + const snippets2 = v.state.doc.toString(); + let success = true; + let snippetVariables; + try { + snippetVariables = yield parseSnippetVariables(this.plugin.settings.snippetVariables); + yield parseSnippets(snippets2, snippetVariables); + } catch (e) { + success = false; + } + updateValidityIndicator(success); + if (!success) + return; + this.plugin.settings.snippets = snippets2; + yield this.plugin.saveSettings(); + } + })); + extensions.push(change); + this.snippetsEditor = createCMEditor(this.plugin.settings.snippets, extensions); + customCSSWrapper.appendChild(this.snippetsEditor.dom); + const buttonsDiv = snippetsFooter.createDiv("snippets-editor-buttons"); + const reset = new import_obsidian4.ButtonComponent(buttonsDiv); + reset.setIcon("switch").setTooltip("Reset to default snippets").onClick(() => __async(this, null, function* () { + new ConfirmationModal( + this.plugin.app, + "Are you sure? This will delete any custom snippets you have written.", + (button) => button.setButtonText("Reset to default snippets").setWarning(), + () => __async(this, null, function* () { + this.snippetsEditor.setState(import_state3.EditorState.create({ doc: DEFAULT_SNIPPETS, extensions })); + updateValidityIndicator(true); + this.plugin.settings.snippets = DEFAULT_SNIPPETS; + yield this.plugin.saveSettings(); + }) + ).open(); + })); + const remove = new import_obsidian4.ButtonComponent(buttonsDiv); + remove.setIcon("trash").setTooltip("Remove all snippets").onClick(() => __async(this, null, function* () { + new ConfirmationModal( + this.plugin.app, + "Are you sure? This will delete any custom snippets you have written.", + (button) => button.setButtonText("Remove all snippets").setWarning(), + () => __async(this, null, function* () { + const value = `[ + +]`; + this.snippetsEditor.setState(import_state3.EditorState.create({ doc: value, extensions })); + updateValidityIndicator(true); + this.plugin.settings.snippets = value; + yield this.plugin.saveSettings(); + }) + ).open(); + })); + } +}; +var ConfirmationModal = class extends import_obsidian4.Modal { + constructor(app, body, buttonCallback, clickCallback) { + super(app); + this.contentEl.addClass("latex-suite-confirmation-modal"); + this.contentEl.createEl("p", { text: body }); + new import_obsidian4.Setting(this.contentEl).addButton((button) => { + buttonCallback(button); + button.onClick(() => __async(this, null, function* () { + yield clickCallback(); + this.close(); + })); + }).addButton((button) => button.setButtonText("Cancel").onClick(() => this.close())); + } +}; +function createCMEditor(content, extensions) { + const view = new import_view4.EditorView({ + state: import_state3.EditorState.create({ doc: content, extensions }) + }); + return view; +} + +// src/settings/ui/icons.ts +var ICONS = { + "math": ` + + + + + `, + "math-x-divide-y-2": ` + + + + + + + `, + "parentheses": ` + + + + `, + "math-function": ` + + + + + + `, + "math-integral-x": ` + + + + + `, + "brackets-contain": ` + + + + + + + `, + "code-dots": ` + + + + + + + `, + "ballpen": ` + + + + + `, + "superscript": ` + + + + `, + "tabout": ` + + + + + + + + + + ` +}; + +// src/utils/editor_utils.ts +var import_obsidian5 = require("obsidian"); +var import_view5 = require("@codemirror/view"); +function replaceRange(view, start2, end2, replacement) { + view.dispatch({ + changes: { from: start2, to: end2, insert: replacement } + }); +} +function getCharacterAtPos(viewOrState, pos) { + const state = viewOrState instanceof import_view5.EditorView ? viewOrState.state : viewOrState; + const doc = state.doc; + return doc.slice(pos, pos + 1).toString(); +} +function setCursor(view, pos) { + view.dispatch({ + selection: { anchor: pos, head: pos } + }); + resetCursorBlink(); +} +function setSelection(view, start2, end2) { + view.dispatch({ + selection: { anchor: start2, head: end2 } + }); + resetCursorBlink(); +} +function resetCursorBlink() { + if (import_obsidian5.Platform.isMobile) + return; + const cursorLayer = document.getElementsByClassName("cm-cursorLayer")[0]; + if (cursorLayer) { + const curAnim = cursorLayer.style.animationName; + cursorLayer.style.animationName = curAnim === "cm-blink" ? "cm-blink2" : "cm-blink"; + } +} +function reverse(s) { + return s.split("").reverse().join(""); +} +function findMatchingBracket(text, start2, openBracket, closeBracket, searchBackwards, end2) { + if (searchBackwards) { + const reversedIndex = findMatchingBracket(reverse(text), text.length - (start2 + closeBracket.length), reverse(closeBracket), reverse(openBracket), false); + if (reversedIndex === -1) + return -1; + return text.length - (reversedIndex + openBracket.length); + } + let brackets2 = 0; + const stop = end2 ? end2 : text.length; + for (let i = start2; i < stop; i++) { + if (text.slice(i, i + openBracket.length) === openBracket) { + brackets2++; + } else if (text.slice(i, i + closeBracket.length) === closeBracket) { + brackets2--; + if (brackets2 === 0) { + return i; + } + } + } + return -1; +} +function getOpenBracket(closeBracket) { + const openBrackets = { ")": "(", "]": "[", "}": "{" }; + return openBrackets[closeBracket]; +} +function getCloseBracket(openBracket) { + const closeBrackets2 = { "(": ")", "[": "]", "{": "}" }; + return closeBrackets2[openBracket]; +} +function escalateToToken(cursor, dir, target) { + if (cursor.name.contains(target)) { + return cursor.node; + } + while (cursor.name != "Document" && (dir == 0 /* Backward */ && cursor.prev() || dir == 1 /* Forward */ && cursor.next() || cursor.parent())) { + if (cursor.name.contains(target)) { + return cursor.node; + } + } + return null; +} +function isComposing(view, event) { + return view.composing || event.keyCode === 229; +} + +// src/snippets/codemirror/config.ts +var import_view6 = require("@codemirror/view"); +var import_state4 = require("@codemirror/state"); +var latexSuiteConfig = import_state4.Facet.define({ + combine: (input) => { + const settings = input.length > 0 ? input[0] : processLatexSuiteSettings([], DEFAULT_SETTINGS); + return settings; + } +}); +function getLatexSuiteConfig(viewOrState) { + const state = viewOrState instanceof import_view6.EditorView ? viewOrState.state : viewOrState; + return state.facet(latexSuiteConfig); +} +function getLatexSuiteConfigExtension(pluginSettings) { + return latexSuiteConfig.of(pluginSettings); +} + +// src/utils/context.ts +var import_language4 = require("@codemirror/language"); +var Context = class _Context { + static fromState(state) { + const ctx = new _Context(); + const sel = state.selection; + ctx.state = state; + ctx.pos = sel.main.to; + ctx.ranges = Array.from(sel.ranges).reverse(); + ctx.mode = new Mode(); + ctx.boundsCache = /* @__PURE__ */ new Map(); + const codeblockLanguage = langIfWithinCodeblock(state); + const inCode = codeblockLanguage !== null; + const settings = getLatexSuiteConfig(state); + const forceMath = settings.forceMathLanguages.contains(codeblockLanguage); + ctx.mode.codeMath = forceMath; + ctx.mode.code = inCode && !forceMath; + if (ctx.mode.code) + ctx.codeblockLanguage = codeblockLanguage; + const inMath = forceMath || isWithinEquation(state); + if (inMath && !forceMath) { + const inInlineEquation = isWithinInlineEquation(state); + ctx.mode.blockMath = !inInlineEquation; + ctx.mode.inlineMath = inInlineEquation; + } + if (inMath) { + ctx.mode.textEnv = ctx.inTextEnvironment(); + } + ctx.mode.text = !inCode && !inMath; + return ctx; + } + static fromView(view) { + return _Context.fromState(view.state); + } + isWithinEnvironment(pos, env) { + if (!this.mode.inMath()) + return false; + const bounds = this.getInnerBounds(); + if (!bounds) + return; + const { start: start2, end: end2 } = bounds; + const text = this.state.sliceDoc(start2, end2); + pos -= start2; + const openBracket = env.openSymbol.slice(-1); + const closeBracket = getCloseBracket(openBracket); + let offset2; + let openSearchSymbol; + if (["{", "[", "("].contains(openBracket) && env.closeSymbol === closeBracket) { + offset2 = env.openSymbol.length - 1; + openSearchSymbol = openBracket; + } else { + offset2 = 0; + openSearchSymbol = env.openSymbol; + } + let left2 = text.lastIndexOf(env.openSymbol, pos - 1); + while (left2 != -1) { + const right2 = findMatchingBracket(text, left2 + offset2, openSearchSymbol, env.closeSymbol, false); + if (right2 === -1) + return false; + if (right2 >= pos && pos >= left2 + env.openSymbol.length) { + return true; + } + if (left2 <= 0) + return false; + left2 = text.lastIndexOf(env.openSymbol, left2 - 1); + } + return false; + } + inTextEnvironment() { + return this.isWithinEnvironment(this.pos, { openSymbol: "\\text{", closeSymbol: "}" }) || this.isWithinEnvironment(this.pos, { openSymbol: "\\tag{", closeSymbol: "}" }) || this.isWithinEnvironment(this.pos, { openSymbol: "\\begin{", closeSymbol: "}" }) || this.isWithinEnvironment(this.pos, { openSymbol: "\\end{", closeSymbol: "}" }); + } + getBounds(pos = this.pos) { + if (this.boundsCache.has(pos)) { + return this.boundsCache.get(pos); + } + let bounds; + if (this.mode.codeMath) { + bounds = getCodeblockBounds(this.state, pos); + } else { + bounds = getEquationBounds(this.state); + } + this.boundsCache.set(pos, bounds); + return bounds; + } + // Accounts for equations within text environments, e.g. $$\text{... $...$}$$ + getInnerBounds(pos = this.pos) { + let bounds; + if (this.mode.codeMath) { + bounds = getCodeblockBounds(this.state, pos); + } else { + bounds = getInnerEquationBounds(this.state); + } + return bounds; + } +}; +var isWithinEquation = (state) => { + const pos = state.selection.main.to; + const tree = (0, import_language4.syntaxTree)(state); + let syntaxNode = tree.resolveInner(pos, -1); + if (syntaxNode.name.contains("math-end")) + return false; + if (!syntaxNode.parent) { + syntaxNode = tree.resolveInner(pos, 1); + if (syntaxNode.name.contains("math-begin")) + return false; + } + if (!syntaxNode.parent) { + const left2 = tree.resolveInner(pos - 1, -1); + const right2 = tree.resolveInner(pos + 1, 1); + return left2.name.contains("math") && right2.name.contains("math") && !left2.name.contains("math-end"); + } + return syntaxNode.name.contains("math"); +}; +var isWithinInlineEquation = (state) => { + const pos = state.selection.main.to; + const tree = (0, import_language4.syntaxTree)(state); + let syntaxNode = tree.resolveInner(pos, -1); + if (syntaxNode.name.contains("math-end")) + return false; + if (!syntaxNode.parent) { + syntaxNode = tree.resolveInner(pos, 1); + if (syntaxNode.name.contains("math-begin")) + return false; + } + if (!syntaxNode.parent) + syntaxNode = tree.resolveInner(pos - 1, -1); + const cursor = syntaxNode.cursor(); + const res = escalateToToken(cursor, 0 /* Backward */, "math-begin"); + return !(res == null ? void 0 : res.name.contains("math-block")); +}; +var getEquationBounds = (state, pos) => { + if (!pos) + pos = state.selection.main.to; + const tree = (0, import_language4.syntaxTree)(state); + let syntaxNode = tree.resolveInner(pos, -1); + if (!syntaxNode.parent) { + syntaxNode = tree.resolveInner(pos, 1); + } + if (!syntaxNode.parent) + syntaxNode = tree.resolveInner(pos - 1, -1); + const cursor = syntaxNode.cursor(); + const begin = escalateToToken(cursor, 0 /* Backward */, "math-begin"); + const end2 = escalateToToken(cursor, 1 /* Forward */, "math-end"); + if (begin && end2) { + return { start: begin.to, end: end2.from }; + } else { + return null; + } +}; +var getInnerEquationBounds = (state, pos) => { + if (!pos) + pos = state.selection.main.to; + let text = state.doc.toString(); + text = text.replaceAll("\\$", "\\R"); + const left2 = text.lastIndexOf("$", pos - 1); + const right2 = text.indexOf("$", pos); + if (left2 === -1 || right2 === -1) + return null; + return { start: left2 + 1, end: right2 }; +}; +var getCodeblockBounds = (state, pos = state.selection.main.from) => { + const tree = (0, import_language4.syntaxTree)(state); + let cursor = tree.cursorAt(pos, -1); + const blockBegin = escalateToToken(cursor, 0 /* Backward */, "HyperMD-codeblock-begin"); + cursor = tree.cursorAt(pos, -1); + const blockEnd = escalateToToken(cursor, 1 /* Forward */, "HyperMD-codeblock-end"); + return { start: blockBegin.to + 1, end: blockEnd.from - 1 }; +}; +var langIfWithinCodeblock = (state) => { + const tree = (0, import_language4.syntaxTree)(state); + const pos = state.selection.ranges[0].from; + const cursor = pos === 0 || getCharacterAtPos(state, pos - 1) === "\n" ? tree.cursorAt(pos, 1) : tree.cursorAt(pos, -1); + const inCodeblock = cursor.name.contains("codeblock"); + if (!inCodeblock) { + return null; + } + const codeblockBegin = escalateToToken(cursor, 0 /* Backward */, "HyperMD-codeblock_HyperMD-codeblock-begin"); + if (codeblockBegin == null) { + console.warn("unable to locate start of the codeblock even though inside one"); + return ""; + } + const language = state.sliceDoc(codeblockBegin.from, codeblockBegin.to).replace(/`+/, ""); + return language; +}; + +// src/features/editor_commands.ts +function boxCurrentEquation(view) { + const ctx = Context.fromView(view); + const result = ctx.getBounds(); + if (!result) + return false; + const { start: start2, end: end2 } = result; + let equation = "\\boxed{" + view.state.sliceDoc(start2, end2) + "}"; + const insideBlockEqn = view.state.sliceDoc(start2 - 2, start2) === "$$" && view.state.sliceDoc(end2, end2 + 2) === "$$"; + if (insideBlockEqn) + equation = "\n" + equation + "\n"; + const pos = view.state.selection.main.to; + replaceRange(view, start2, end2, equation); + setCursor(view, pos + "\\boxed{".length + (insideBlockEqn ? 1 : 0)); +} +function getBoxEquationCommand() { + return { + id: "latex-suite-box-equation", + name: "Box current equation", + editorCheckCallback: (checking, editor) => { + const view = editor.cm; + const ctx = Context.fromView(view); + const withinEquation = ctx.mode.inMath(); + if (checking) + return withinEquation; + if (!withinEquation) + return; + boxCurrentEquation(view); + return; + } + }; +} +function getSelectEquationCommand() { + return { + id: "latex-suite-select-equation", + name: "Select current equation", + editorCheckCallback: (checking, editor) => { + const view = editor.cm; + const ctx = Context.fromView(view); + const withinEquation = ctx.mode.inMath(); + if (checking) + return withinEquation; + if (!withinEquation) + return; + const result = ctx.getBounds(); + if (!result) + return false; + let { start: start2, end: end2 } = result; + const doc = view.state.doc.toString(); + if (doc.charAt(start2) === "\n") + start2++; + if (doc.charAt(end2 - 1) === "\n") + end2--; + setSelection(view, start2, end2); + return; + } + }; +} +function getEnableAllFeaturesCommand(plugin) { + return { + id: "latex-suite-enable-all-features", + name: "Enable all features", + callback: () => __async(this, null, function* () { + plugin.settings.snippetsEnabled = true; + plugin.settings.autofractionEnabled = true; + plugin.settings.matrixShortcutsEnabled = true; + plugin.settings.taboutEnabled = true; + plugin.settings.autoEnlargeBrackets = true; + yield plugin.saveSettings(); + }) + }; +} +function getDisableAllFeaturesCommand(plugin) { + return { + id: "latex-suite-disable-all-features", + name: "Disable all features", + callback: () => __async(this, null, function* () { + plugin.settings.snippetsEnabled = false; + plugin.settings.autofractionEnabled = false; + plugin.settings.matrixShortcutsEnabled = false; + plugin.settings.taboutEnabled = false; + plugin.settings.autoEnlargeBrackets = false; + yield plugin.saveSettings(); + }) + }; +} +var getEditorCommands = (plugin) => { + return [ + getBoxEquationCommand(), + getSelectEquationCommand(), + getEnableAllFeaturesCommand(plugin), + getDisableAllFeaturesCommand(plugin) + ]; +}; + +// src/snippets/codemirror/snippet_queue_state_field.ts +var import_state5 = require("@codemirror/state"); + +// src/snippets/codemirror/snippet_change_spec.ts +var SnippetChangeSpec = class { + constructor(from, to, insert, keyPressed) { + this.from = from; + this.to = to; + this.insert = insert; + this.keyPressed = keyPressed; + } + getTabstops(view, start2) { + const tabstops = []; + const text = view.state.doc.toString(); + for (let i = start2; i < start2 + this.insert.length; i++) { + if (!(text.charAt(i) === "$")) { + continue; + } + let number2 = parseInt(text.charAt(i + 1)); + const tabstopStart = i; + let tabstopEnd = tabstopStart + 2; + let tabstopReplacement = ""; + if (isNaN(number2)) { + if (!(text.charAt(i + 1) === "{")) + continue; + const closingIndex = findMatchingBracket(text, i + 1, "{", "}", false, start2 + this.insert.length); + const tabstopString = text.slice(i, closingIndex + 1); + if (!tabstopString.includes(":")) + continue; + const colonIndex = tabstopString.indexOf(":"); + number2 = parseInt(tabstopString.slice(2, colonIndex)); + if (isNaN(number2)) + continue; + if (closingIndex === -1) + continue; + tabstopReplacement = text.slice(i + colonIndex + 1, closingIndex); + tabstopEnd = closingIndex + 1; + i = closingIndex; + } + const tabstop = { number: number2, from: tabstopStart, to: tabstopEnd, replacement: tabstopReplacement }; + tabstops.push(tabstop); + } + return tabstops; + } + toChangeSpec() { + return this; + } +}; + +// src/snippets/codemirror/snippet_queue_state_field.ts +var queueSnippetEffect = import_state5.StateEffect.define(); +var clearSnippetQueueEffect = import_state5.StateEffect.define(); +var snippetQueueStateField = import_state5.StateField.define({ + create() { + return []; + }, + update(oldState, transaction) { + let snippetQueue = oldState; + for (const effect4 of transaction.effects) { + if (effect4.is(queueSnippetEffect)) { + snippetQueue.push(effect4.value); + } else if (effect4.is(clearSnippetQueueEffect)) { + snippetQueue = []; + } + } + return snippetQueue; + } +}); +function queueSnippet(view, from, to, insert, keyPressed) { + const snippet = new SnippetChangeSpec(from, to, insert, keyPressed); + view.dispatch({ + effects: [queueSnippetEffect.of(snippet)] + }); +} +function clearSnippetQueue(view) { + view.dispatch({ + effects: [clearSnippetQueueEffect.of(null)] + }); +} + +// src/snippets/snippet_management.ts +var import_state9 = require("@codemirror/state"); + +// src/snippets/codemirror/history.ts +var import_state7 = require("@codemirror/state"); +var import_commands2 = require("@codemirror/commands"); + +// src/snippets/codemirror/tabstops_state_field.ts +var import_view7 = require("@codemirror/view"); +var import_state6 = require("@codemirror/state"); +var addTabstopsEffect = import_state6.StateEffect.define(); +var removeAllTabstopsEffect = import_state6.StateEffect.define(); +var tabstopsStateField = import_state6.StateField.define({ + create() { + return []; + }, + update(value, transaction) { + let tabstopGroups = value; + tabstopGroups.forEach((grp) => grp.map(transaction.changes)); + for (const effect4 of transaction.effects) { + if (effect4.is(addTabstopsEffect)) { + tabstopGroups.unshift(...effect4.value); + } else if (effect4.is(removeAllTabstopsEffect)) { + tabstopGroups = []; + } + } + if (transaction.selection) { + const currTabstopGroupIndex = getCurrentTabstopGroupIndex( + tabstopGroups, + transaction.selection + ); + tabstopGroups = tabstopGroups.slice(currTabstopGroupIndex); + if (tabstopGroups.length <= 1) { + tabstopGroups = []; + } else { + tabstopGroups[0].hideFromEditor(); + } + } + return tabstopGroups; + }, + provide: (field) => { + return import_view7.EditorView.decorations.of((view) => { + const tabstopGroups = view.state.field(field); + const decos = []; + for (const tabstopGroup of tabstopGroups) { + if (!tabstopGroup.hidden) + decos.push(...tabstopGroup.getRanges()); + } + return import_view7.Decoration.set(decos, true); + }); + } +}); +function getCurrentTabstopGroupIndex(tabstopGroups, sel) { + for (let i = 0; i < tabstopGroups.length; i++) { + const tabstopGroup = tabstopGroups[i]; + if (tabstopGroup.containsSelection(sel)) + return i; + } + return tabstopGroups.length; +} +function getTabstopGroupsFromView(view) { + const currentTabstopGroups = view.state.field(tabstopsStateField); + return currentTabstopGroups; +} +function addTabstops(view, tabstopGroups) { + view.dispatch({ + effects: [addTabstopsEffect.of(tabstopGroups)] + }); +} +function removeAllTabstops(view) { + view.dispatch({ + effects: [removeAllTabstopsEffect.of(null)] + }); +} +var N_COLORS = 3; +function getNextTabstopColor(view) { + const field = view.state.field(tabstopsStateField); + const existingColors = field.map((tabstopGroup) => tabstopGroup.color); + const uniqueExistingColors = new Set(existingColors); + for (let i = 0; i < N_COLORS; i++) { + if (!uniqueExistingColors.has(i)) + return i; + } + return 0; +} + +// src/snippets/codemirror/history.ts +var startSnippet = import_state7.StateEffect.define(); +var endSnippet = import_state7.StateEffect.define(); +var undidStartSnippet = import_state7.StateEffect.define(); +var undidEndSnippet = import_state7.StateEffect.define(); +var snippetInvertedEffects = import_commands2.invertedEffects.of((tr) => { + const effects = []; + for (const effect4 of tr.effects) { + if (effect4.is(startSnippet)) { + effects.push(undidStartSnippet.of(null)); + } else if (effect4.is(undidStartSnippet)) { + effects.push(startSnippet.of(null)); + } else if (effect4.is(endSnippet)) { + effects.push(undidEndSnippet.of(null)); + } else if (effect4.is(undidEndSnippet)) { + effects.push(endSnippet.of(null)); + } + } + return effects; +}); +var handleUndoRedo = (update) => { + const undoTr = update.transactions.find((tr) => tr.isUserEvent("undo")); + const redoTr = update.transactions.find((tr) => tr.isUserEvent("redo")); + for (const tr of update.transactions) { + for (const effect4 of tr.effects) { + if (effect4.is(startSnippet)) { + if (redoTr) { + (0, import_commands2.redo)(update.view); + } + } else if (effect4.is(undidEndSnippet)) { + if (undoTr) { + (0, import_commands2.undo)(update.view); + } + } + } + } + if (undoTr) { + removeAllTabstops(update.view); + } +}; + +// src/snippets/snippet_management.ts +var import_commands3 = require("@codemirror/commands"); + +// src/snippets/tabstop.ts +var import_state8 = require("@codemirror/state"); +var import_view8 = require("@codemirror/view"); +var LATEX_SUITE_TABSTOP_DECO_CLASS = "latex-suite-snippet-placeholder"; +function getMarkerDecoration(from, to, color) { + const className = `${LATEX_SUITE_TABSTOP_DECO_CLASS} ${LATEX_SUITE_TABSTOP_DECO_CLASS}-${color}`; + return import_view8.Decoration.mark({ + inclusive: true, + color, + class: className + }).range(from, to); +} +var TabstopGroup = class { + constructor(tabstopSpecs, color) { + const decos = tabstopSpecs.map((spec) => getMarkerDecoration(spec.from, spec.to, color)); + this.decos = import_view8.Decoration.set(decos, true); + this.color = color; + this.hidden = false; + } + select(view, selectEndpoints, isEndSnippet) { + const sel = this.toEditorSelection(); + const toSelect = selectEndpoints ? getEditorSelectionEndpoints(sel) : sel; + view.dispatch({ + selection: toSelect, + effects: isEndSnippet ? endSnippet.of(null) : null + }); + resetCursorBlink(); + this.hideFromEditor(); + } + toSelectionRanges() { + const ranges = []; + const cur = this.decos.iter(); + while (cur.value != null) { + ranges.push(import_state8.EditorSelection.range(cur.from, cur.to)); + cur.next(); + } + return ranges; + } + toEditorSelection(endpoints = false) { + let sel = import_state8.EditorSelection.create(this.toSelectionRanges()); + if (endpoints) + sel = getEditorSelectionEndpoints(sel); + return sel; + } + containsSelection(selection) { + function rangeLiesWithinSelection(range, sel) { + for (const selRange of sel) { + if (selRange.from <= range.from && selRange.to >= range.to) { + return true; + } + } + return false; + } + const tabstopRanges = this.toSelectionRanges(); + let result = true; + for (const range of selection.ranges) { + if (!rangeLiesWithinSelection(range, tabstopRanges)) { + result = false; + break; + } + } + return result; + } + hideFromEditor() { + this.hidden = true; + } + map(changes) { + this.decos = this.decos.map(changes); + } + getRanges() { + const ranges = []; + const cur = this.decos.iter(); + while (cur.value != null) { + if (cur.from != cur.to) { + ranges.push(cur.value.range(cur.from, cur.to)); + } + cur.next(); + } + return ranges; + } +}; +function tabstopSpecsToTabstopGroups(tabstops, color) { + const tabstopsByNumber = {}; + for (const tabstop of tabstops) { + const n = String(tabstop.number); + if (tabstopsByNumber[n]) { + tabstopsByNumber[n].push(tabstop); + } else { + tabstopsByNumber[n] = [tabstop]; + } + } + const result = []; + const numbers = Object.keys(tabstopsByNumber); + numbers.sort((a, b) => parseInt(a) - parseInt(b)); + for (const number2 of numbers) { + const grp = new TabstopGroup(tabstopsByNumber[number2], color); + result.push(grp); + } + return result; +} +function getEditorSelectionEndpoints(sel) { + const endpoints = sel.ranges.map((range) => import_state8.EditorSelection.range(range.to, range.to)); + return import_state8.EditorSelection.create(endpoints); +} + +// src/snippets/snippet_management.ts +function expandSnippets(view) { + const snippetsToExpand = view.state.field(snippetQueueStateField); + if (snippetsToExpand.length === 0) + return false; + const originalDocLength = view.state.doc.length; + handleUndoKeypresses(view, snippetsToExpand); + const tabstopsToAdd = computeTabstops(view, snippetsToExpand, originalDocLength); + if (tabstopsToAdd.length === 0) { + clearSnippetQueue(view); + return true; + } + markTabstops(view, tabstopsToAdd); + expandTabstops(view, tabstopsToAdd); + clearSnippetQueue(view); + return true; +} +function handleUndoKeypresses(view, snippets2) { + const originalDoc = view.state.doc; + const originalDocLength = originalDoc.length; + const keyPresses = []; + for (const snippet of snippets2) { + if (snippet.keyPressed && snippet.keyPressed.length === 1) { + const prevChar = view.state.doc.sliceString(snippet.to - 1, snippet.to); + const from = snippet.to === 0 ? 0 : snippet.to - 1; + keyPresses.push({ from, to: snippet.to, insert: prevChar + snippet.keyPressed }); + } + } + view.dispatch({ + changes: keyPresses, + annotations: import_commands3.isolateHistory.of("full") + }); + const undoKeyPresses = import_state9.ChangeSet.of(keyPresses, originalDocLength).invert(originalDoc); + const changesAsChangeSet = import_state9.ChangeSet.of(snippets2, originalDocLength); + const combinedChanges = undoKeyPresses.compose(changesAsChangeSet); + view.dispatch({ + changes: combinedChanges, + effects: startSnippet.of(null) + }); +} +function computeTabstops(view, snippets2, originalDocLength) { + const changeSet = import_state9.ChangeSet.of(snippets2, originalDocLength); + const oldPositions = snippets2.map((change) => change.from); + const newPositions = oldPositions.map((pos) => changeSet.mapPos(pos)); + const tabstopsToAdd = []; + for (let i = 0; i < snippets2.length; i++) { + tabstopsToAdd.push(...snippets2[i].getTabstops(view, newPositions[i])); + } + return tabstopsToAdd; +} +function markTabstops(view, tabstops) { + const color = getNextTabstopColor(view); + const tabstopGroups = tabstopSpecsToTabstopGroups(tabstops, color); + addTabstops(view, tabstopGroups); +} +function expandTabstops(view, tabstops) { + const changes = tabstops.map((tabstop) => { + return { from: tabstop.from, to: tabstop.to, insert: tabstop.replacement }; + }); + view.dispatch({ + changes + }); + const firstGrp = getTabstopGroupsFromView(view)[0]; + firstGrp.select(view, false, true); +} +function setSelectionToNextTabstop(view) { + const tabstopGroups = view.state.field(tabstopsStateField); + function aux(nextGrpIndex) { + const nextGrp = tabstopGroups[nextGrpIndex]; + if (!nextGrp) + return false; + const currSel = view.state.selection; + let nextGrpSel = nextGrp.toEditorSelection(); + if (nextGrp.containsSelection(currSel)) { + nextGrpSel = nextGrp.toEditorSelection(true); + } + if (currSel.eq(nextGrpSel)) + return aux(nextGrpIndex + 1); + view.dispatch({ + selection: nextGrpSel + }); + resetCursorBlink(); + return true; + } + return aux(1); +} + +// src/features/auto_enlarge_brackets.ts +var autoEnlargeBrackets = (view) => { + const settings = getLatexSuiteConfig(view); + if (!settings.autoEnlargeBrackets) + return; + const ctx = Context.fromView(view); + const result = ctx.getBounds(); + if (!result) + return false; + const { start: start2, end: end2 } = result; + const text = view.state.doc.toString(); + const left2 = "\\left"; + const right2 = "\\right"; + for (let i = start2; i < end2; i++) { + const brackets2 = { "(": ")", "[": "]", "\\{": "\\}", "\\langle": "\\rangle", "\\lvert": "\\rvert", "\\lVert": "\\rVert", "\\lceil": "\\rceil", "\\lfloor": "\\rfloor" }; + const openBrackets = Object.keys(brackets2); + let found = false; + let open = ""; + for (const openBracket of openBrackets) { + if (text.slice(i, i + openBracket.length) === openBracket) { + found = true; + open = openBracket; + break; + } + } + if (!found) + continue; + const bracketSize = open.length; + const close = brackets2[open]; + const j = findMatchingBracket(text, i, open, close, false, end2); + if (j === -1) + continue; + if (text.slice(i - left2.length, i) === left2 && text.slice(j - right2.length, j) === right2) + continue; + const bracketContents = text.slice(i + 1, j); + const containsTrigger = settings.autoEnlargeBracketsTriggers.some((word) => bracketContents.contains("\\" + word)); + if (!containsTrigger) { + i = j; + continue; + } + queueSnippet(view, i, i + bracketSize, left2 + open + " "); + queueSnippet(view, j, j + bracketSize, " " + right2 + close); + } + expandSnippets(view); +}; + +// src/features/run_snippets.ts +var runSnippets = (view, ctx, key) => { + let shouldAutoEnlargeBrackets = false; + for (const range of ctx.ranges) { + const result = runSnippetCursor(view, ctx, key, range); + if (result.shouldAutoEnlargeBrackets) + shouldAutoEnlargeBrackets = true; + } + const success = expandSnippets(view); + if (shouldAutoEnlargeBrackets) { + autoEnlargeBrackets(view); + } + return success; +}; +var runSnippetCursor = (view, ctx, key, range) => { + const settings = getLatexSuiteConfig(view); + const { from, to } = range; + const sel = view.state.sliceDoc(from, to); + const line = view.state.sliceDoc(0, to); + const updatedLine = line + key; + for (const snippet of settings.snippets) { + let effectiveLine = line; + if (!snippetShouldRunInMode(snippet.options, ctx.mode)) { + continue; + } + if (snippet.options.automatic || snippet.type === "visual") { + if (!(key.length === 1)) + continue; + effectiveLine = updatedLine; + } else if (!(key === settings.snippetsTrigger)) { + continue; + } + let isExcluded = false; + for (const environment of snippet.excludedEnvironments) { + if (ctx.isWithinEnvironment(to, environment)) { + isExcluded = true; + } + } + if (isExcluded) { + continue; + } + const result = snippet.process(effectiveLine, range, sel); + if (result === null) + continue; + const triggerPos = result.triggerPos; + if (snippet.options.onWordBoundary) { + if (!isOnWordBoundary(view.state, triggerPos, to, settings.wordDelimiters)) + continue; + } + let replacement = result.replacement; + if (ctx.mode.inlineMath && settings.removeSnippetWhitespace) { + replacement = trimWhitespace(replacement, ctx); + } + const start2 = triggerPos; + queueSnippet(view, start2, to, replacement, key); + const containsTrigger = settings.autoEnlargeBracketsTriggers.some((word) => replacement.contains("\\" + word)); + return { success: true, shouldAutoEnlargeBrackets: containsTrigger }; + } + return { success: false, shouldAutoEnlargeBrackets: false }; +}; +var snippetShouldRunInMode = (options, mode) => { + if (options.mode.inlineMath && mode.inlineMath || options.mode.blockMath && mode.blockMath || (options.mode.inlineMath || options.mode.blockMath) && mode.codeMath) { + if (!mode.textEnv) { + return true; + } + } + if (mode.inMath() && mode.textEnv && options.mode.text) { + return true; + } + if (options.mode.text && mode.text || options.mode.code && mode.code) { + return true; + } +}; +var isOnWordBoundary = (state, triggerPos, to, wordDelimiters) => { + const prevChar = state.sliceDoc(triggerPos - 1, triggerPos); + const nextChar = state.sliceDoc(to, to + 1); + wordDelimiters = wordDelimiters.replace("\\n", "\n"); + return wordDelimiters.contains(prevChar) && wordDelimiters.contains(nextChar); +}; +var trimWhitespace = (replacement, ctx) => { + let spaceIndex = 0; + if (replacement.endsWith(" ")) { + spaceIndex = -1; + } else { + const lastThreeChars = replacement.slice(-3); + const lastChar = lastThreeChars.slice(-1); + if (lastThreeChars.slice(0, 2) === " $" && !isNaN(parseInt(lastChar))) { + spaceIndex = -3; + } + } + if (spaceIndex != 0) { + if (spaceIndex === -1) { + replacement = replacement.trimEnd(); + } else if (spaceIndex === -3) { + replacement = replacement.slice(0, -3) + replacement.slice(-2); + } + } + return replacement; +}; + +// src/features/autofraction.ts +var runAutoFraction = (view, ctx) => { + for (const range of ctx.ranges) { + runAutoFractionCursor(view, ctx, range); + } + const success = expandSnippets(view); + if (success) { + autoEnlargeBrackets(view); + } + return success; +}; +var runAutoFractionCursor = (view, ctx, range) => { + const settings = getLatexSuiteConfig(view); + const { from, to } = range; + for (const env of settings.autofractionExcludedEnvs) { + if (ctx.isWithinEnvironment(to, env)) { + return false; + } + } + const result = ctx.getBounds(); + if (!result) + return false; + const eqnStart = result.start; + let curLine = view.state.sliceDoc(0, to); + let start2 = eqnStart; + if (from != to) { + start2 = from; + } else { + const greek2 = "alpha|beta|gamma|Gamma|delta|Delta|epsilon|varepsilon|zeta|eta|theta|Theta|iota|kappa|lambda|Lambda|mu|nu|omicron|xi|Xi|pi|Pi|rho|sigma|Sigma|tau|upsilon|Upsilon|varphi|phi|Phi|chi|psi|Psi|omega|Omega"; + const regex = new RegExp("(" + greek2 + ") ([^ ])", "g"); + curLine = curLine.replace(regex, "$1#$2"); + for (let i = curLine.length - 1; i >= eqnStart; i--) { + const curChar = curLine.charAt(i); + if ([")", "]", "}"].contains(curChar)) { + const closeBracket = curChar; + const openBracket = getOpenBracket(closeBracket); + const j = findMatchingBracket(curLine, i, openBracket, closeBracket, true); + if (j === -1) + return false; + i = j; + if (i < eqnStart) { + start2 = eqnStart; + break; + } + } + if (" $([{\n".concat(settings.autofractionBreakingChars).contains(curChar)) { + start2 = i + 1; + break; + } + } + } + if (start2 === to) { + return false; + } + let numerator = view.state.sliceDoc(start2, to); + if (numerator.at(0) === "(" && numerator.at(-1) === ")") { + const closing = findMatchingBracket(numerator, 0, "(", ")", false); + if (closing === numerator.length - 1) { + numerator = numerator.slice(1, -1); + } + } + const replacement = `${settings.autofractionSymbol}{${numerator}}{$0}$1`; + queueSnippet(view, start2, to, replacement, "/"); + return true; +}; + +// src/features/tabout.ts +var tabout = (view, ctx) => { + if (!ctx.mode.inMath()) + return false; + const result = ctx.getBounds(); + if (!result) + return false; + const end2 = result.end; + const pos = view.state.selection.main.to; + const d = view.state.doc; + const text = d.toString(); + const rangle = "\\rangle"; + for (let i = pos; i < end2; i++) { + if (["}", ")", "]", ">", "|", "$"].contains(text.charAt(i))) { + setCursor(view, i + 1); + return true; + } else if (text.slice(i, i + rangle.length) === rangle) { + setCursor(view, i + rangle.length); + return true; + } + } + const textBtwnCursorAndEnd = d.sliceString(pos, end2); + const atEnd = textBtwnCursorAndEnd.trim().length === 0; + if (!atEnd) + return false; + if (ctx.mode.inlineMath || ctx.mode.codeMath) { + setCursor(view, end2 + 1); + } else { + const dollarLine = d.lineAt(end2 + 2); + if (dollarLine.number === d.lines) { + replaceRange(view, dollarLine.to, dollarLine.to, "\n"); + } + setCursor(view, dollarLine.to + 1); + const line = d.lineAt(pos); + replaceRange(view, line.from, line.to, line.text.trim()); + } + return true; +}; +var shouldTaboutByCloseBracket = (view, keyPressed) => { + const sel = view.state.selection.main; + if (!sel.empty) + return; + const pos = sel.from; + const c = getCharacterAtPos(view, pos); + const brackets2 = [")", "]", "}"]; + if (c === keyPressed && brackets2.contains(c)) { + return true; + } else { + return false; + } +}; + +// src/features/matrix_shortcuts.ts +var runMatrixShortcuts = (view, ctx, key, shiftKey) => { + const settings = getLatexSuiteConfig(view); + let isInsideAnEnv = false; + for (const envName of settings.matrixShortcutsEnvNames) { + const env = { openSymbol: "\\begin{" + envName + "}", closeSymbol: "\\end{" + envName + "}" }; + isInsideAnEnv = ctx.isWithinEnvironment(ctx.pos, env); + if (isInsideAnEnv) + break; + } + if (!isInsideAnEnv) + return false; + if (key === "Tab") { + view.dispatch(view.state.replaceSelection(" & ")); + return true; + } else if (key === "Enter") { + if (shiftKey && ctx.mode.blockMath) { + const d = view.state.doc; + const nextLineNo = d.lineAt(ctx.pos).number + 1; + const nextLine = d.line(nextLineNo); + setCursor(view, nextLine.to); + } else if (shiftKey && ctx.mode.inlineMath) { + tabout(view, ctx); + } else { + const lineBreakStr = ctx.mode.inlineMath ? " \\\\ " : " \\\\\n"; + view.dispatch(view.state.replaceSelection(lineBreakStr)); + } + return true; + } else { + return false; + } +}; + +// src/editor_extensions/math_tooltip.ts +var import_view9 = require("@codemirror/view"); +var import_state10 = require("@codemirror/state"); +var import_obsidian6 = require("obsidian"); +var updateTooltipEffect = import_state10.StateEffect.define(); +var cursorTooltipField = import_state10.StateField.define({ + create: () => [], + update(tooltips2, tr) { + for (const effect4 of tr.effects) { + if (effect4.is(updateTooltipEffect)) + return effect4.value; + } + return tooltips2; + }, + provide: (f) => import_view9.showTooltip.computeN([f], (state) => state.field(f)) +}); +function handleMathTooltip(update) { + const shouldUpdate = update.docChanged || update.selectionSet; + if (!shouldUpdate) + return; + const settings = getLatexSuiteConfig(update.state); + const ctx = Context.fromState(update.state); + if (!shouldShowTooltip(update.state, ctx)) { + const currTooltips = update.state.field(cursorTooltipField); + if (currTooltips.length > 0) { + update.view.dispatch({ + effects: [updateTooltipEffect.of([])] + }); + } + return; + } + const eqnBounds = ctx.getBounds(); + const eqn = update.state.sliceDoc(eqnBounds.start, eqnBounds.end); + const above = settings.mathPreviewPositionIsAbove; + const create = () => { + const dom = document.createElement("div"); + dom.addClass("cm-tooltip-cursor"); + const renderedEqn = (0, import_obsidian6.renderMath)(eqn, ctx.mode.blockMath || ctx.mode.codeMath); + dom.appendChild(renderedEqn); + (0, import_obsidian6.finishRenderMath)(); + return { dom }; + }; + let newTooltips = []; + if (ctx.mode.blockMath || ctx.mode.codeMath) { + newTooltips = [{ + pos: above ? eqnBounds.start : eqnBounds.end, + above, + strictSide: true, + arrow: true, + create + }]; + } else if (ctx.mode.inlineMath && above) { + newTooltips = [{ + pos: eqnBounds.start, + above: true, + strictSide: true, + arrow: true, + create + }]; + } else if (ctx.mode.inlineMath && !above) { + const endRange = import_state10.EditorSelection.range(eqnBounds.end, eqnBounds.end); + newTooltips = [{ + pos: Math.max( + eqnBounds.start, + // the beginning position of the visual line where eqnBounds.end is + // located + update.view.moveToLineBoundary(endRange, false).anchor + ), + above: false, + strictSide: true, + arrow: true, + create + }]; + } + update.view.dispatch({ + effects: [updateTooltipEffect.of(newTooltips)] + }); +} +function shouldShowTooltip(state, ctx) { + if (!ctx.mode.inMath()) + return false; + const isLivePreview = state.field(import_obsidian6.editorLivePreviewField); + if (ctx.mode.blockMath && isLivePreview) + return false; + const eqnBounds = ctx.getBounds(); + if (!eqnBounds) + return false; + const eqn = state.sliceDoc(eqnBounds.start, eqnBounds.end).trim(); + if (eqn === "") + return false; + return true; +} +var cursorTooltipBaseTheme = import_view9.EditorView.baseTheme({ + ".cm-tooltip.cm-tooltip-cursor": { + backgroundColor: "var(--background-secondary)", + color: "var(--text-normal)", + border: "1px solid var(--background-modifier-border-hover)", + padding: "4px 6px", + borderRadius: "6px", + "& .cm-tooltip-arrow:before": { + borderTopColor: "var(--background-modifier-border-hover)", + borderBottomColor: "var(--background-modifier-border-hover)" + }, + "& .cm-tooltip-arrow:after": { + borderTopColor: "var(--background-secondary)", + borderBottomColor: "var(--background-secondary)" + }, + "& p": { + margin: "0px" + }, + "& mjx-container": { + padding: "2px !important" + } + } +}); + +// src/latex_suite.ts +var handleUpdate = (update) => { + const settings = getLatexSuiteConfig(update.state); + if (settings.mathPreviewEnabled) { + handleMathTooltip(update); + } + handleUndoRedo(update); +}; +var onKeydown = (event, view) => { + const success = handleKeydown(event.key, event.shiftKey, event.ctrlKey || event.metaKey, isComposing(view, event), view); + if (success) + event.preventDefault(); +}; +var handleKeydown = (key, shiftKey, ctrlKey, isIME, view) => { + const settings = getLatexSuiteConfig(view); + const ctx = Context.fromView(view); + let success = false; + if (settings.autoDelete$ && key === "Backspace" && ctx.mode.inMath()) { + const charAtPos = getCharacterAtPos(view, ctx.pos); + const charAtPrevPos = getCharacterAtPos(view, ctx.pos - 1); + if (charAtPos === "$" && charAtPrevPos === "$") { + replaceRange(view, ctx.pos - 1, ctx.pos + 1, ""); + removeAllTabstops(view); + return true; + } + } + if (settings.snippetsEnabled) { + if (settings.suppressSnippetTriggerOnIME && isIME) + return; + if (!ctrlKey) { + try { + success = runSnippets(view, ctx, key); + if (success) + return true; + } catch (e) { + clearSnippetQueue(view); + console.error(e); + } + } + } + if (key === "Tab") { + success = setSelectionToNextTabstop(view); + if (success) + return true; + } + if (settings.autofractionEnabled && ctx.mode.strictlyInMath()) { + if (key === "/") { + success = runAutoFraction(view, ctx); + if (success) + return true; + } + } + if (settings.matrixShortcutsEnabled && ctx.mode.strictlyInMath()) { + if (["Tab", "Enter"].contains(key)) { + success = runMatrixShortcuts(view, ctx, key, shiftKey); + if (success) + return true; + } + } + if (settings.taboutEnabled) { + if (key === "Tab" || shouldTaboutByCloseBracket(view, key)) { + success = tabout(view, ctx); + if (success) + return true; + } + } + return false; +}; + +// src/main.ts +var import_view12 = require("@codemirror/view"); + +// src/snippets/codemirror/extensions.ts +var snippetExtensions = [ + tabstopsStateField.extension, + snippetQueueStateField.extension, + snippetInvertedEffects +]; + +// src/editor_extensions/conceal.ts +var import_view10 = require("@codemirror/view"); +var import_state11 = require("@codemirror/state"); + +// src/editor_extensions/conceal_fns.ts +var import_language5 = require("@codemirror/language"); + +// src/editor_extensions/conceal_maps.ts +var cmd_symbols = { + "aleph": "\u2135", + "amalg": "\u2210", + "angle": "\u2220", + "approx": "\u2248", + "ast": "\u2217", + "asymp": "\u224D", + "backslash": "\u2216", + "bigcap": "\u2229", + "bigcirc": "\u25CB", + "bigcup": "\u222A", + "bigodot": "\u2299", + "bigoplus": "\u2295", + "bigotimes": "\u2297", + "bigsqcup": "\u2294", + "bigtriangledown": "\u2207", + "bigtriangleup": "\u2206", + "bigvee": "\u22C1", + "bigwedge": "\u22C0", + "bot": "\u22A5", + "bowtie": "\u22C8", + "bullet": "\u2022", + "cap": "\u2229", + "cdots": "\u22EF", + "cdot": "\xB7", + "circ": "\u2218", + "clubsuit": "\u2663", + "cong": "\u2245", + "coprod": "\u2210", + "copyright": "\xA9", + "cup": "\u222A", + "dagger": "\u2020", + "dashv": "\u22A3", + "ddagger": "\u2021", + "ddots": "\u22F1", + "diamond": "\u22C4", + "diamondsuit": "\u2662", + "div": "\xF7", + "doteq": "\u2250", + "dots": "\u2026", + "downarrow": "\u2193", + "Downarrow": "\u21D3", + "ell": "\u2113", + "emptyset": "\xD8", + "equiv": "\u2261", + "exists": "\u2203", + "flat": "\u266D", + "forall": "\u2200", + "frown": "\u2054", + "geqslant": "\u2265", + "geq": "\u2265", + "gets": "\u2190", + "ge": "\u2265", + "gg": "\u27EB", + "hbar": "\u210F", + "heartsuit": "\u2661", + "hookleftarrow": "\u21A9", + "hookrightarrow": "\u21AA", + "iff": "\u21D4", + "Im": "\u2111", + "imath": "\u0269", + "infty": "\u221E", + "iiint": "\u222D", + "iint": "\u222C", + "int": "\u222B", + "in": "\u2208", + "jmath": "\u{1D6A5}", + "land": "\u2227", + "lnot": "\xAC", + "lceil": "\u2308", + "ldots": "\u2026", + // "leftarrow": "←", // Duplicates + // "Leftarrow": "⇐", + "leftharpoondown": "\u21BD", + "leftharpoonup": "\u21BC", + "leftrightarrow": "\u2194", + "Leftrightarrow": "\u21D4", + "lhd": "\u25C1", + "rhd": "\u25B7", + "leftarrow": "\u2190", + "Leftarrow": "\u21D0", + "left": "", + "leq": "\u2264", + "le": "\u2264", + "ll": "\u226A", + "lmoustache": "\u256D", + "lor": "\u2228", + "mapsto": "\u21A6", + "middle": "", + "mid": "\u2223", + "models": "\u22A8", + "mp": "\u2213", + "nabla": "\u2207", + "natural": "\u266E", + "nearrow": "\u2197", + "neg": "\xAC", + "neqslant": "\u2260", + "neq": "\u2260", + "ne": "\u2260", + "ni": "\u220B", + "notin": "\u2209", + "nwarrow": "\u2196", + "odot": "\u2299", + "oint": "\u222E", + "ominus": "\u2296", + "oplus": "\u2295", + "oslash": "\u2298", + "otimes": "\u2297", + "owns": "\u220B", + "P": "\xB6", + "parallel": "\u2551", + "partial": "\u2202", + "perp": "\u22A5", + "pm": "\xB1", + "preceq": "\u2AAF", + "prec": "\u227A", + "prime": "\u2032", + "prod": "\u220F", + "propto": "\u221D", + "rceil": "\u2309", + "Re": "\u211C", + "qquad": "\u2001", + "quad": "\u2000", + "rightarrow": "\u2192", + "Rightarrow": "\u21D2", + "right": "", + "rightleftharpoons": "\u21CC", + "rmoustache": "\u256E", + "S": "\xA7", + "searrow": "\u2198", + "setminus": "\u29F5", + "sharp": "\u266F", + "simeq": "\u22CD", + "sim": "\u223C", + "smile": "\u203F", + "spadesuit": "\u2660", + "sqcap": "\u2293", + "sqcup": "\u2294", + "sqsubseteq": "\u2291", + "sqsubset": "\u228F", + "sqsupseteq": "\u2292", + "sqsupset": "\u2290", + "square": "\u25A1", + // ▢◻ + "star": "\u272B", + "subseteq": "\u2286", + "subset": "\u2282", + "succeq": "\u2AB0", + "succ": "\u227B", + "sum": "\u2211", + "supseteq": "\u2287", + "supset": "\u2283", + "surd": "\u221A", + "swarrow": "\u2199", + "times": "\xD7", + "top": "\u22A4", + "to": "\u2192", + "triangleleft": "\u22B2", + "triangleright": "\u22B3", + "triangle": "\u2206", + "uparrow": "\u2191", + "Uparrow": "\u21D1", + "updownarrow": "\u2195", + "Updownarrow": "\u21D5", + "vdash": "\u22A2", + "vdots": "\u22EE", + "vee": "\u2228", + "wedge": "\u2227", + "wp": "\u2118", + "wr": "\u2240", + "implies": "\u21D2", + "choose": "C", + "sqrt": "\u221A", + "coloneqq": "\u2254", + "colon": ":", + "displaystyle": " ", + ",": " ", + ":": " ", + ";": " " +}; +var operators = ( + // From https://www.overleaf.com/learn/latex/Operators + [ + "arcsin", + "arccos", + "arctan", + "sinh", + "cosh", + "tanh", + "coth", + "sin", + "cos", + "tan", + "sec", + "csc", + "cot", + "exp", + "ker", + "limsup", + "lim", + "sup", + "deg", + "gcd", + "log", + "lg", + "ln", + "Pr", + "det", + "hom", + "arg", + "dim", + "liminf", + "min", + "max" + // "inf" // Fix "\\infty" being concealed as "inf∞" + ] +); +var fractions = { + "{1}{2}": "\xBD", + "{1}{3}": "\u2153", + "{2}{3}": "\u2154", + "{1}{4}": "\xBC", + "{1}{5}": "\u2155", + "{2}{5}": "\u2156", + "{3}{5}": "\u2157", + "{4}{5}": "\u2158", + "{1}{6}": "\u2159", + "{5}{6}": "\u215A", + "{1}{8}": "\u215B", + "{3}{8}": "\u215C", + "{5}{8}": "\u215D", + "{7}{8}": "\u215E" +}; +var greek = { + "alpha": "\u03B1", + "beta": "\u03B2", + "gamma": "\u03B3", + "delta": "\u03B4", + "epsilon": "\u03F5", + "varepsilon": "\u03B5", + "zeta": "\u03B6", + "eta": "\u03B7", + "theta": "\u03B8", + "vartheta": "\u03D1", + "iota": "\u03B9", + "kappa": "\u03BA", + "lambda": "\u03BB", + "mu": "\u03BC", + "nu": "\u03BD", + "xi": "\u03BE", + "pi": "\u03C0", + "varpi": "\u03D6", + "rho": "\u03C1", + "varrho": "\u03F1", + "sigma": "\u03C3", + "varsigma": "\u03C2", + "tau": "\u03C4", + "upsilon": "\u03C5", + "phi": "\u03D5", + "varphi": "\u03C6", + "chi": "\u03C7", + "psi": "\u03C8", + "omega": "\u03C9", + "Gamma": "\u0393", + "Delta": "\u0394", + "Theta": "\u0398", + "Lambda": "\u039B", + "Xi": "\u039E", + "Pi": "\u03A0", + "Sigma": "\u03A3", + "Upsilon": "\u03A5", + "Phi": "\u03A6", + "Chi": "\u03A7", + "Psi": "\u03A8", + "Omega": "\u03A9" +}; +var map_super = { + "(": "\u207D", + ")": "\u207E", + "+": "\u207A", + "-": "\u207B", + "=": "\u207C", + ":": "\uFE13", + ";": "\uFE14", + "<": "\u02C2", + ">": "\u02C3", + "0": "\u2070", + "1": "\xB9", + "2": "\xB2", + "3": "\xB3", + "4": "\u2074", + "5": "\u2075", + "6": "\u2076", + "7": "\u2077", + "8": "\u2078", + "9": "\u2079", + "a": "\u1D43", + "b": "\u1D47", + "c": "\u1D9C", + "d": "\u1D48", + "e": "\u1D49", + "f": "\u1DA0", + "g": "\u1D4D", + "h": "\u02B0", + "i": "\u2071", + "j": "\u02B2", + "k": "\u1D4F", + "l": "\u02E1", + "m": "\u1D50", + "n": "\u207F", + "o": "\u1D52", + "p": "\u1D56", + "r": "\u02B3", + "s": "\u02E2", + "t": "\u1D57", + "u": "\u1D58", + "v": "\u1D5B", + "w": "\u02B7", + "x": "\u02E3", + "y": "\u02B8", + "z": "\u1DBB", + "A": "\u1D2C", + "B": "\u1D2E", + "D": "\u1D30", + "E": "\u1D31", + "G": "\u1D33", + "H": "\u1D34", + "I": "\u1D35", + "J": "\u1D36", + "K": "\u1D37", + "L": "\u1D38", + "M": "\u1D39", + "N": "\u1D3A", + "O": "\u1D3C", + "P": "\u1D3E", + "R": "\u1D3F", + "T": "\u1D40", + "U": "\u1D41", + "V": "\u2C7D", + "W": "\u1D42" +}; +var map_sub = { + // "\\beta": "ᵦ", + // "\\rho": "ᵨ", + // "\\phi": "ᵩ", + // "\\gamma": "ᵧ", + // "\\chi": "ᵪ", + "(": "\u208D", + ")": "\u208E", + "+": "\u208A", + "-": "\u208B", + "=": "\u208C", + "0": "\u2080", + "1": "\u2081", + "2": "\u2082", + "3": "\u2083", + "4": "\u2084", + "5": "\u2085", + "6": "\u2086", + "7": "\u2087", + "8": "\u2088", + "9": "\u2089", + "a": "\u2090", + "e": "\u2091", + "h": "\u2095", + "i": "\u1D62", + "j": "\u2C7C", + "k": "\u2096", + "l": "\u2097", + "m": "\u2098", + "n": "\u2099", + "o": "\u2092", + "p": "\u209A", + "r": "\u1D63", + "s": "\u209B", + "t": "\u209C", + "u": "\u1D64", + "v": "\u1D65", + "x": "\u2093" +}; +var brackets = { + // "left(": "(", + // "left[": "[", + // "left\\{": "\\{", + // "right)": ")", + // "right]": "]", + // "right\\}": "\\}", + // "left\\langle": "〈", + // "right\\rangle": "〉", + "left<": "\u3008", + "right>": "\u3009", + "langle": "\u3008", + "rangle": "\u3009", + "lvert": "|", + "rvert": "|", + "lVert": "||", + "rVert": "||", + "vert": "|" +}; +var mathbb = { + " ": " ", + "0": "\u{1D7D8}", + "1": "\u{1D7D9}", + "2": "\u{1D7DA}", + "3": "\u{1D7DB}", + "4": "\u{1D7DC}", + "5": "\u{1D7DD}", + "6": "\u{1D7DE}", + "7": "\u{1D7DF}", + "8": "\u{1D7E0}", + "9": "\u{1D7E1}", + "A": "\u{1D538}", + "B": "\u{1D539}", + "C": "\u2102", + "D": "\u{1D53B}", + "E": "\u{1D53C}", + "F": "\u{1D53D}", + "G": "\u{1D53E}", + "H": "\u210D", + "I": "\u{1D540}", + "J": "\u{1D541}", + "K": "\u{1D542}", + "L": "\u{1D543}", + "M": "\u{1D544}", + "N": "\u2115", + "O": "\u{1D546}", + "P": "\u2119", + "Q": "\u211A", + "R": "\u211D", + "S": "\u{1D54A}", + "T": "\u{1D54B}", + "U": "\u{1D54C}", + "V": "\u{1D54D}", + "W": "\u{1D54E}", + "X": "\u{1D54F}", + "Y": "\u{1D550}", + "Z": "\u2124", + "a": "\u{1D552}", + "b": "\u{1D553}", + "c": "\u{1D554}", + "d": "\u{1D555}", + "e": "\u{1D556}", + "f": "\u{1D557}", + "g": "\u{1D558}", + "h": "\u{1D559}", + "i": "\u{1D55A}", + "j": "\u{1D55B}", + "k": "\u{1D55C}", + "l": "\u{1D55D}", + "m": "\u{1D55E}", + "n": "\u{1D55F}", + "o": "\u{1D560}", + "p": "\u{1D561}", + "q": "\u{1D562}", + "r": "\u{1D563}", + "s": "\u{1D564}", + "t": "\u{1D565}", + "u": "\u{1D566}", + "v": "\u{1D567}", + "w": "\u{1D568}", + "x": "\u{1D569}", + "y": "\u{1D56A}", + "z": "\u{1D56B}" +}; +var mathscrcal = { + "A": "\u{1D4D0}", + "B": "\u{1D4D1}", + "C": "\u{1D4D2}", + "D": "\u{1D4D3}", + "E": "\u{1D4D4}", + "F": "\u{1D4D5}", + "G": "\u{1D4D6}", + "H": "\u{1D4D7}", + "I": "\u{1D4D8}", + "J": "\u{1D4D9}", + "K": "\u{1D4DA}", + "L": "\u{1D4DB}", + "M": "\u{1D4DC}", + "N": "\u{1D4DD}", + "O": "\u{1D4DE}", + "P": "\u{1D4DF}", + "Q": "\u{1D4E0}", + "R": "\u{1D4E1}", + "S": "\u{1D4E2}", + "T": "\u{1D4E3}", + "U": "\u{1D4E4}", + "V": "\u{1D4E5}", + "W": "\u{1D4E6}", + "X": "\u{1D4E7}", + "Y": "\u{1D4E8}", + "Z": "\u{1D4E9}" +}; + +// src/editor_extensions/conceal_fns.ts +function escapeRegex(regex) { + const escapeChars = ["\\", "(", ")", "+", "-", "[", "]", "{", "}"]; + for (const escapeChar of escapeChars) { + regex = regex.replaceAll(escapeChar, "\\" + escapeChar); + } + return regex; +} +function getEndIncludingLimits(eqn, end2) { + const LIMITS = "\\limits"; + if (eqn.substring(end2, end2 + LIMITS.length) === LIMITS) { + return end2 + LIMITS.length; + } + return end2; +} +function concealSymbols(eqn, prefix, suffix, symbolMap, className, allowSucceedingLetters = true) { + const symbolNames = Object.keys(symbolMap); + const regexStr = prefix + "(" + escapeRegex(symbolNames.join("|")) + ")" + suffix; + const symbolRegex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(symbolRegex)]; + const specs = []; + for (const match of matches) { + const symbol = match[1]; + if (!allowSucceedingLetters) { + const end3 = match.index + match[0].length; + if (eqn.charAt(end3).match(/[a-zA-Z]/)) { + continue; + } + } + const end2 = getEndIncludingLimits(eqn, match.index + match[0].length); + specs.push(mkConcealSpec({ + start: match.index, + end: end2, + text: symbolMap[symbol], + class: className + })); + } + return specs; +} +function concealModifier(eqn, modifier, combiningCharacter) { + const regexStr = "\\\\" + modifier + "{([A-Za-z])}"; + const symbolRegex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(symbolRegex)]; + const specs = []; + for (const match of matches) { + const symbol = match[1]; + specs.push(mkConcealSpec({ + start: match.index, + end: match.index + match[0].length, + text: symbol + combiningCharacter, + class: "latex-suite-unicode" + })); + } + return specs; +} +function concealSupSub(eqn, superscript, symbolMap) { + const prefix = superscript ? "\\^" : "_"; + const regexStr = prefix + "{([A-Za-z0-9\\()\\[\\]/+-=<>':;\\\\ *]+)}"; + const regex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(regex)]; + const specs = []; + for (const match of matches) { + const exponent = match[1]; + const elementType = superscript ? "sup" : "sub"; + const symbolNames = Object.keys(symbolMap); + const symbolRegexStr = "\\\\(" + escapeRegex(symbolNames.join("|")) + ")"; + const symbolRegex = new RegExp(symbolRegexStr, "g"); + const replacement = exponent.replace(symbolRegex, (a, b) => { + return symbolMap[b]; + }); + specs.push(mkConcealSpec({ + start: match.index, + end: match.index + match[0].length, + text: replacement, + class: "cm-number", + elementType + })); + } + return specs; +} +function concealModified_A_to_Z_0_to_9(eqn, mathBBsymbolMap) { + const regexStr = "\\\\(mathbf|boldsymbol|underline|mathrm|text|mathbb){([A-Za-z0-9 ]+)}"; + const regex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(regex)]; + const specs = []; + for (const match of matches) { + const type = match[1]; + const value = match[2]; + const start2 = match.index; + const end2 = start2 + match[0].length; + if (type === "mathbf" || type === "boldsymbol") { + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: value, + class: "cm-concealed-bold" + })); + } else if (type === "underline") { + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: value, + class: "cm-concealed-underline" + })); + } else if (type === "mathrm") { + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: value, + class: "cm-concealed-mathrm" + })); + } else if (type === "text") { + if (start2 > 0 && eqn.charAt(start2 - 1) === "_") { + specs.push(mkConcealSpec({ + start: start2 - 1, + end: end2, + text: value, + class: "cm-concealed-mathrm", + elementType: "sub" + })); + } + } else if (type === "mathbb") { + const letters = Array.from(value); + const replacement = letters.map((el) => mathBBsymbolMap[el]).join(""); + specs.push(mkConcealSpec({ start: start2, end: end2, text: replacement })); + } + } + return specs; +} +function concealModifiedGreekLetters(eqn, greekSymbolMap) { + const greekSymbolNames = Object.keys(greekSymbolMap); + const regexStr = "\\\\(underline|boldsymbol){\\\\(" + escapeRegex(greekSymbolNames.join("|")) + ")}"; + const regex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(regex)]; + const specs = []; + for (const match of matches) { + const type = match[1]; + const value = match[2]; + const start2 = match.index; + const end2 = start2 + match[0].length; + if (type === "underline") { + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: greekSymbolMap[value], + class: "cm-concealed-underline" + })); + } else if (type === "boldsymbol") { + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: greekSymbolMap[value], + class: "cm-concealed-bold" + })); + } + } + return specs; +} +function concealText(eqn) { + const regexStr = "\\\\text{([A-Za-z0-9-.!?() ]+)}"; + const regex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(regex)]; + const specs = []; + for (const match of matches) { + const value = match[1]; + const start2 = match.index; + const end2 = start2 + match[0].length; + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: value, + class: "cm-concealed-mathrm cm-variable-2" + })); + } + return specs; +} +function concealOperators(eqn, symbols) { + const regexStr = "(\\\\(" + symbols.join("|") + "))([^a-zA-Z]|$)"; + const regex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(regex)]; + const specs = []; + for (const match of matches) { + const value = match[2]; + const start2 = match.index; + const end2 = getEndIncludingLimits(eqn, start2 + match[1].length); + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: value, + class: "cm-concealed-mathrm cm-variable-2" + })); + } + return specs; +} +function concealAtoZ(eqn, prefix, suffix, symbolMap, className) { + const regexStr = prefix + "([A-Z]+)" + suffix; + const symbolRegex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(symbolRegex)]; + const specs = []; + for (const match of matches) { + const symbol = match[1]; + const letters = Array.from(symbol); + const replacement = letters.map((el) => symbolMap[el]).join(""); + specs.push(mkConcealSpec({ + start: match.index, + end: match.index + match[0].length, + text: replacement, + class: className + })); + } + return specs; +} +function concealBraKet(eqn) { + const langle = "\u3008"; + const rangle = "\u3009"; + const vert = "|"; + const specs = []; + for (const match of eqn.matchAll(/\\(braket|bra|ket){/g)) { + const contentEnd = findMatchingBracket(eqn, match.index, "{", "}", false); + if (contentEnd === -1) + continue; + const commandStart = match.index; + const contentStart = commandStart + match[0].length - 1; + const type = match[1]; + const left2 = type === "ket" ? vert : langle; + const right2 = type === "bra" ? vert : rangle; + specs.push(mkConcealSpec( + // Hide the command + { start: commandStart, end: contentStart, text: "" }, + // Replace the "{" + { start: contentStart, end: contentStart + 1, text: left2, class: "cm-bracket" }, + // Replace the "}" + { start: contentEnd, end: contentEnd + 1, text: right2, class: "cm-bracket" } + )); + } + return specs; +} +function concealSet(eqn) { + const specs = []; + for (const match of eqn.matchAll(/\\set\{/g)) { + const commandStart = match.index; + const contentStart = commandStart + match[0].length - 1; + const contentEnd = findMatchingBracket(eqn, commandStart, "{", "}", false); + if (contentEnd === -1) + continue; + specs.push(mkConcealSpec( + // Hide "\set" + { start: commandStart, end: contentStart, text: "" }, + // Replace the "{" + { start: contentStart, end: contentStart + 1, text: "{", class: "cm-bracket" }, + // Replace the "}" + { start: contentEnd, end: contentEnd + 1, text: "}", class: "cm-bracket" } + )); + } + return specs; +} +function concealFraction(eqn) { + const concealSpecs = []; + for (const match of eqn.matchAll(/\\(frac|dfrac|tfrac|gfrac){/g)) { + const numeratorEnd = findMatchingBracket(eqn, match.index, "{", "}", false); + if (numeratorEnd === -1) + continue; + if (eqn.charAt(numeratorEnd + 1) !== "{") + continue; + const denominatorEnd = findMatchingBracket(eqn, numeratorEnd + 1, "{", "}", false); + if (denominatorEnd === -1) + continue; + const commandStart = match.index; + const numeratorStart = commandStart + match[0].length - 1; + const denominatorStart = numeratorEnd + 1; + concealSpecs.push(mkConcealSpec( + // Hide "\frac" + { start: commandStart, end: numeratorStart, text: "" }, + // Replace brackets of the numerator + { start: numeratorStart, end: numeratorStart + 1, text: "(", class: "cm-bracket" }, + { start: numeratorEnd, end: numeratorEnd + 1, text: ")", class: "cm-bracket" }, + // Add a slash + { start: numeratorEnd + 1, end: numeratorEnd + 1, text: "/", class: "cm-bracket" }, + // Replace brackets of the denominator + { start: denominatorStart, end: denominatorStart + 1, text: "(", class: "cm-bracket" }, + { start: denominatorEnd, end: denominatorEnd + 1, text: ")", class: "cm-bracket" } + )); + } + return concealSpecs; +} +function concealOperatorname(eqn) { + const regexStr = "\\\\operatorname{([A-Za-z]+)}"; + const regex = new RegExp(regexStr, "g"); + const matches = [...eqn.matchAll(regex)]; + const specs = []; + for (const match of matches) { + const value = match[1]; + const start2 = match.index; + const end2 = start2 + match[0].length; + specs.push(mkConcealSpec({ + start: start2, + end: end2, + text: value, + class: "cm-concealed-mathrm cm-variable-2" + })); + } + return specs; +} +function conceal(view) { + const specs = []; + for (const { from, to } of view.visibleRanges) { + (0, import_language5.syntaxTree)(view.state).iterate({ + from, + to, + enter: (node) => { + const type = node.type; + const to2 = node.to; + if (!(type.name.contains("begin") && type.name.contains("math"))) { + return; + } + const bounds = getEquationBounds(view.state, to2); + if (!bounds) + return; + const eqn = view.state.doc.sliceString(bounds.start, bounds.end); + const ALL_SYMBOLS = __spreadValues(__spreadValues({}, greek), cmd_symbols); + const localSpecs = [ + ...concealSymbols(eqn, "\\^", "", map_super), + ...concealSymbols(eqn, "_", "", map_sub), + ...concealSymbols(eqn, "\\\\frac", "", fractions), + ...concealSymbols(eqn, "\\\\", "", ALL_SYMBOLS, void 0, false), + ...concealSupSub(eqn, true, ALL_SYMBOLS), + ...concealSupSub(eqn, false, ALL_SYMBOLS), + ...concealModifier(eqn, "hat", "\u0302"), + ...concealModifier(eqn, "dot", "\u0307"), + ...concealModifier(eqn, "ddot", "\u0308"), + ...concealModifier(eqn, "overline", "\u0304"), + ...concealModifier(eqn, "bar", "\u0304"), + ...concealModifier(eqn, "tilde", "\u0303"), + ...concealModifier(eqn, "vec", "\u20D7"), + ...concealSymbols(eqn, "\\\\", "", brackets, "cm-bracket"), + ...concealAtoZ(eqn, "\\\\mathcal{", "}", mathscrcal), + ...concealModifiedGreekLetters(eqn, greek), + ...concealModified_A_to_Z_0_to_9(eqn, mathbb), + ...concealText(eqn), + ...concealBraKet(eqn), + ...concealSet(eqn), + ...concealFraction(eqn), + ...concealOperators(eqn, operators), + ...concealOperatorname(eqn) + ]; + for (const spec of localSpecs) { + for (const replace of spec) { + replace.start += bounds.start; + replace.end += bounds.start; + } + } + specs.push(...localSpecs); + } + }); + } + return specs; +} + +// src/editor_extensions/conceal.ts +var import_obsidian7 = require("obsidian"); +function mkConcealSpec(...replacements) { + return replacements; +} +var ConcealWidget = class extends import_view10.WidgetType { + constructor(symbol, className, elementType) { + super(); + this.symbol = symbol; + this.className = className ? className : ""; + this.elementType = elementType ? elementType : "span"; + } + eq(other) { + return other.symbol == this.symbol && other.className === this.className && other.elementType === this.elementType; + } + toDOM() { + const span = document.createElement(this.elementType); + span.className = "cm-math " + this.className; + span.textContent = this.symbol; + return span; + } + ignoreEvent() { + return false; + } +}; +var TextWidget = class extends import_view10.WidgetType { + constructor(symbol) { + super(); + this.symbol = symbol; + } + eq(other) { + return other.symbol == this.symbol; + } + toDOM() { + const span = document.createElement("span"); + span.className = "cm-math"; + span.textContent = this.symbol; + return span; + } + ignoreEvent() { + return false; + } +}; +function atSamePosAfter(update, oldConceal, newConceal) { + if (oldConceal.length !== newConceal.length) + return false; + for (let i = 0; i < oldConceal.length; ++i) { + const oldStartUpdated = update.changes.mapPos(oldConceal[i].start, 1); + const oldEndUpdated = update.changes.mapPos(oldConceal[i].end, -1); + const b = oldStartUpdated == newConceal[i].start && oldEndUpdated == newConceal[i].end; + if (!b) + return false; + } + return true; +} +function determineCursorPosType(sel, concealSpec) { + let cursorPosType = "apart"; + for (const range of sel.ranges) { + for (const replace of concealSpec) { + const overlapRangeFrom = Math.max(range.from, replace.start); + const overlapRangeTo = Math.min(range.to, replace.end); + if (overlapRangeFrom === overlapRangeTo && (overlapRangeFrom === replace.start || overlapRangeFrom === replace.end)) { + cursorPosType = "edge"; + continue; + } + if (overlapRangeFrom <= overlapRangeTo) + return "within"; + } + } + return cursorPosType; +} +function determineAction(oldCursor, newCursor, mousedown, delayEnabled) { + if (mousedown) + return "conceal"; + if (newCursor === "apart") + return "conceal"; + if (newCursor === "within") + return "reveal"; + if (!delayEnabled) + return "reveal"; + if (!oldCursor || oldCursor === "within") + return "reveal"; + else + return "delay"; +} +function buildDecoSet(concealments) { + const decos = []; + for (const conc of concealments) { + if (!conc.enable) + continue; + for (const replace of conc.spec) { + if (replace.start === replace.end) { + decos.push( + import_view10.Decoration.widget({ + widget: new TextWidget(replace.text), + block: false + }).range(replace.start, replace.end) + ); + } else { + const inclusiveStart = replace.text === ""; + const inclusiveEnd = false; + decos.push( + import_view10.Decoration.replace({ + widget: new ConcealWidget( + replace.text, + replace.class, + replace.elementType + ), + inclusiveStart, + inclusiveEnd, + block: false + }).range(replace.start, replace.end) + ); + } + } + } + return import_view10.Decoration.set(decos, true); +} +function buildAtomicRanges(concealments) { + const repls = concealments.filter((c) => c.enable).flatMap((c) => c.spec).sort((a, b) => a.start - b.start); + const fakeval = new class extends import_state11.RangeValue { + }(); + const builder = new import_state11.RangeSetBuilder(); + for (let i = 0; i < repls.length; i++) { + if (repls[i].text === "") { + if (i + 1 != repls.length && repls[i].end == repls[i + 1].start) { + builder.add(repls[i].start, repls[i + 1].end, fakeval); + i++; + } else { + builder.add(repls[i].start, repls[i].end + 1, fakeval); + } + } else { + builder.add(repls[i].start, repls[i].end, fakeval); + } + } + return builder.finish(); +} +var mkConcealPlugin = (revealTimeout) => import_view10.ViewPlugin.fromClass(class { + constructor() { + this.delayedReveal = (0, import_obsidian7.debounce)((delayedConcealments, view) => { + for (const concealment of delayedConcealments) { + concealment.enable = false; + } + this.decorations = buildDecoSet(this.concealments); + this.atomicRanges = buildAtomicRanges(this.concealments); + view.dispatch(); + }, revealTimeout, true); + this.concealments = []; + this.decorations = import_view10.Decoration.none; + this.atomicRanges = import_state11.RangeSet.empty; + this.delayEnabled = revealTimeout > 0; + } + update(update) { + var _a; + if (!(update.docChanged || update.viewportChanged || update.selectionSet)) + return; + this.delayedReveal.cancel(); + const selection = update.state.selection; + const mousedown = (_a = update.view.plugin(import_obsidian7.livePreviewState)) == null ? void 0 : _a.mousedown; + const concealSpecs = conceal(update.view); + const concealments = []; + const delayedConcealments = []; + for (const spec of concealSpecs) { + const cursorPosType = determineCursorPosType(selection, spec); + const oldConcealment = this.concealments.find( + (old) => atSamePosAfter(update, old.spec, spec) + ); + const concealAction = determineAction( + oldConcealment == null ? void 0 : oldConcealment.cursorPosType, + cursorPosType, + mousedown, + this.delayEnabled + ); + const concealment = { + spec, + cursorPosType, + enable: concealAction !== "reveal" + }; + if (concealAction === "delay") { + delayedConcealments.push(concealment); + } + concealments.push(concealment); + } + if (delayedConcealments.length > 0) { + this.delayedReveal(delayedConcealments, update.view); + } + this.concealments = concealments; + this.decorations = buildDecoSet(this.concealments); + this.atomicRanges = buildAtomicRanges(this.concealments); + } +}, { + decorations: (v) => v.decorations, + provide: (plugin) => import_view10.EditorView.atomicRanges.of((view) => view.plugin(plugin).atomicRanges) +}); + +// src/editor_extensions/highlight_brackets.ts +var import_view11 = require("@codemirror/view"); +var import_state12 = require("@codemirror/state"); +var import_language6 = require("@codemirror/language"); +var Ncolors = 3; +function getHighlightBracketMark(pos, className) { + return import_view11.Decoration.mark({ + inclusive: true, + attributes: {}, + class: className + }).range(pos, pos + 1); +} +function colorPairedBrackets(view) { + const widgets = []; + for (const { from, to } of view.visibleRanges) { + (0, import_language6.syntaxTree)(view.state).iterate({ + from, + to, + enter: (node) => { + const type = node.type; + const to2 = node.to; + if (!(type.name.contains("begin") && type.name.contains("math"))) { + return; + } + const bounds = getEquationBounds(view.state, to2); + if (!bounds) + return; + const eqn = view.state.doc.sliceString(bounds.start, bounds.end); + const openBrackets = ["{", "[", "("]; + const closeBrackets2 = ["}", "]", ")"]; + const bracketsStack = []; + const bracketsPosStack = []; + for (let i = 0; i < eqn.length; i++) { + const char = eqn.charAt(i); + if (openBrackets.contains(char)) { + bracketsStack.push(char); + bracketsPosStack.push(i); + } else if (closeBrackets2.contains(char)) { + const lastBracket = bracketsStack.at(-1); + if (getCloseBracket(lastBracket) === char) { + bracketsStack.pop(); + const lastBracketPos = bracketsPosStack.pop(); + const depth = bracketsStack.length % Ncolors; + const className = "latex-suite-color-bracket-" + depth; + const j = lastBracketPos + bounds.start; + const k = i + bounds.start; + widgets.push(getHighlightBracketMark(j, className)); + widgets.push(getHighlightBracketMark(k, className)); + } + } + } + } + }); + } + return import_view11.Decoration.set(widgets, true); +} +function getEnclosingBracketsPos(view, pos) { + const result = getEquationBounds(view.state); + if (!result) + return -1; + const { start: start2, end: end2 } = result; + const text = view.state.doc.sliceString(start2, end2); + for (let i = pos - start2; i > 0; i--) { + let curChar = text.charAt(i); + if ([")", "]", "}"].contains(curChar)) { + const closeBracket = curChar; + const openBracket = getOpenBracket(closeBracket); + const j = findMatchingBracket(text, i, openBracket, closeBracket, true); + if (j === -1) + return -1; + i = j; + curChar = text.charAt(i); + } else { + if (!["{", "(", "["].contains(curChar)) + continue; + const j = findMatchingBracket(text, i, curChar, getCloseBracket(curChar), false); + if (j === -1) + continue; + return { left: i + start2, right: j + start2 }; + } + } + return -1; +} +function highlightCursorBrackets(view) { + const widgets = []; + const selection = view.state.selection; + const ranges = selection.ranges; + const text = view.state.doc.toString(); + const ctx = Context.fromView(view); + if (!ctx.mode.inMath()) { + return import_view11.Decoration.none; + } + const bounds = ctx.getBounds(selection.main.to); + if (!bounds) + return import_view11.Decoration.none; + const eqn = view.state.doc.sliceString(bounds.start, bounds.end); + const openBrackets = ["{", "[", "("]; + const brackets2 = ["{", "[", "(", "}", "]", ")"]; + let done = false; + for (const range of ranges) { + for (let i = range.to; i > range.from - 2; i--) { + const char = text.charAt(i); + if (!brackets2.contains(char)) + continue; + let openBracket, closeBracket; + let backwards = false; + if (openBrackets.contains(char)) { + openBracket = char; + closeBracket = getCloseBracket(openBracket); + } else { + closeBracket = char; + openBracket = getOpenBracket(char); + backwards = true; + } + let j = findMatchingBracket(eqn, i - bounds.start, openBracket, closeBracket, backwards); + if (j === -1) + continue; + j = j + bounds.start; + widgets.push(getHighlightBracketMark(i, "latex-suite-highlighted-bracket")); + widgets.push(getHighlightBracketMark(j, "latex-suite-highlighted-bracket")); + done = true; + break; + } + if (done) + break; + if (range.empty) { + const pos = range.from - 1; + const result = getEnclosingBracketsPos(view, pos); + if (result === -1) + continue; + widgets.push(getHighlightBracketMark(result.left, "latex-suite-highlighted-bracket")); + widgets.push(getHighlightBracketMark(result.right, "latex-suite-highlighted-bracket")); + done = true; + break; + } + if (done) + break; + } + return import_view11.Decoration.set(widgets, true); +} +var colorPairedBracketsPlugin = import_view11.ViewPlugin.fromClass(class { + constructor(view) { + this.decorations = colorPairedBrackets(view); + } + update(update) { + if (update.docChanged || update.viewportChanged) { + this.decorations = colorPairedBrackets(update.view); + } + } +}, { decorations: (v) => v.decorations }); +var colorPairedBracketsPluginLowestPrec = import_state12.Prec.lowest(colorPairedBracketsPlugin.extension); +var highlightCursorBracketsPlugin = import_view11.ViewPlugin.fromClass(class { + constructor(view) { + this.decorations = highlightCursorBrackets(view); + } + update(update) { + if (update.docChanged || update.selectionSet) + this.decorations = highlightCursorBrackets(update.view); + } +}, { decorations: (v) => v.decorations }); + +// src/main.ts +var LatexSuitePlugin = class extends import_obsidian8.Plugin { + constructor() { + super(...arguments); + this.editorExtensions = []; + } + onload() { + return __async(this, null, function* () { + yield this.loadSettings(); + this.loadIcons(); + this.addSettingTab(new LatexSuiteSettingTab(this.app, this)); + (0, import_obsidian8.loadMathJax)(); + this.legacyEditorWarning(); + this.registerEditorExtension(this.editorExtensions); + this.watchFiles(); + this.addEditorCommands(); + }); + } + onunload() { + } + legacyEditorWarning() { + var _a; + if ((_a = this.app.vault.config) == null ? void 0 : _a.legacyEditor) { + const message = "Obsidian Latex Suite: This plugin does not support the legacy editor. Switch to Live Preview mode to use this plugin."; + new import_obsidian8.Notice(message, 1e5); + console.log(message); + return; + } + } + loadSettings() { + return __async(this, null, function* () { + let data = yield this.loadData(); + const shouldMigrateSettings = data ? "basicSettings" in data : false; + function migrateSettings(oldSettings) { + return __spreadProps(__spreadValues(__spreadValues({}, oldSettings.basicSettings), oldSettings.rawSettings), { + snippets: oldSettings.snippets + }); + } + if (shouldMigrateSettings) { + data = migrateSettings(data); + } + this.settings = Object.assign({}, DEFAULT_SETTINGS, data); + if (shouldMigrateSettings) { + this.saveSettings(); + } + if (this.settings.loadSnippetsFromFile || this.settings.loadSnippetVariablesFromFile) { + const tempSnippetVariables = yield this.getSettingsSnippetVariables(); + const tempSnippets = yield this.getSettingsSnippets(tempSnippetVariables); + this.CMSettings = processLatexSuiteSettings(tempSnippets, this.settings); + this.app.workspace.onLayoutReady(() => { + this.processSettings(); + }); + } else { + yield this.processSettings(); + } + }); + } + saveSettings(didFileLocationChange = false) { + return __async(this, null, function* () { + yield this.saveData(this.settings); + this.processSettings(didFileLocationChange); + }); + } + getSettingsSnippetVariables() { + return __async(this, null, function* () { + try { + return yield parseSnippetVariables(this.settings.snippetVariables); + } catch (e) { + new import_obsidian8.Notice(`Failed to load snippet variables from settings: ${e}`); + console.log(`Failed to load snippet variables from settings: ${e}`); + return {}; + } + }); + } + getSettingsSnippets(snippetVariables) { + return __async(this, null, function* () { + try { + return yield parseSnippets(this.settings.snippets, snippetVariables); + } catch (e) { + new import_obsidian8.Notice(`Failed to load snippets from settings: ${e}`); + console.log(`Failed to load snippets from settings: ${e}`); + return []; + } + }); + } + getSnippets(becauseFileLocationUpdated, becauseFileUpdated) { + return __async(this, null, function* () { + const files = getFileSets(this); + const snippetVariables = this.settings.loadSnippetVariablesFromFile ? yield getVariablesFromFiles(this, files) : yield this.getSettingsSnippetVariables(); + const unknownFileVariables = yield tryGetVariablesFromUnknownFiles(this, files); + if (this.settings.loadSnippetVariablesFromFile) { + Object.assign(snippetVariables, unknownFileVariables); + } + const snippets2 = this.settings.loadSnippetsFromFile ? yield getSnippetsFromFiles(this, files, snippetVariables) : yield this.getSettingsSnippets(snippetVariables); + this.showSnippetsLoadedNotice(snippets2.length, Object.keys(snippetVariables).length, becauseFileLocationUpdated, becauseFileUpdated); + return snippets2; + }); + } + processSettings(becauseFileLocationUpdated = false, becauseFileUpdated = false) { + return __async(this, null, function* () { + this.CMSettings = processLatexSuiteSettings(yield this.getSnippets(becauseFileLocationUpdated, becauseFileUpdated), this.settings); + this.setEditorExtensions(); + this.app.workspace.updateOptions(); + }); + } + // Set 'this.editorExtensions' based on the contents of 'this.CMSettings' + setEditorExtensions() { + while (this.editorExtensions.length) + this.editorExtensions.pop(); + this.editorExtensions.push([ + getLatexSuiteConfigExtension(this.CMSettings), + import_state13.Prec.highest(import_view12.EditorView.domEventHandlers({ "keydown": onKeydown })), + import_view12.EditorView.updateListener.of(handleUpdate), + snippetExtensions + ]); + if (this.CMSettings.concealEnabled) { + const timeout = this.CMSettings.concealRevealTimeout; + this.editorExtensions.push(mkConcealPlugin(timeout).extension); + } + if (this.CMSettings.colorPairedBracketsEnabled) + this.editorExtensions.push(colorPairedBracketsPluginLowestPrec); + if (this.CMSettings.highlightCursorBracketsEnabled) + this.editorExtensions.push(highlightCursorBracketsPlugin.extension); + if (this.CMSettings.mathPreviewEnabled) + this.editorExtensions.push([ + cursorTooltipField.extension, + cursorTooltipBaseTheme, + (0, import_view12.tooltips)({ position: "absolute" }) + ]); + } + showSnippetsLoadedNotice(nSnippets, nSnippetVariables, becauseFileLocationUpdated, becauseFileUpdated) { + if (!(becauseFileLocationUpdated || becauseFileUpdated)) + return; + const prefix = becauseFileLocationUpdated ? "Loaded " : "Successfully reloaded "; + const body = []; + if (this.settings.loadSnippetsFromFile) + body.push(`${nSnippets} snippets`); + if (this.settings.loadSnippetVariablesFromFile) + body.push(`${nSnippetVariables} snippet variables`); + const suffix = " from files."; + new import_obsidian8.Notice(prefix + body.join(" and ") + suffix, 5e3); + } + addEditorCommands() { + for (const command of getEditorCommands(this)) { + this.addCommand(command); + } + } + watchFiles() { + this.app.workspace.onLayoutReady(() => { + const eventsAndCallbacks = { + "modify": onFileChange, + "delete": onFileDelete, + "create": onFileCreate + }; + for (const [key, value] of Object.entries(eventsAndCallbacks)) { + this.registerEvent(this.app.vault.on(key, (file) => value(this, file))); + } + }); + } + loadIcons() { + for (const [iconId, svgContent] of Object.entries(ICONS)) { + (0, import_obsidian8.addIcon)(iconId, svgContent); + } + } +}; + +/* nosourcemap */ \ No newline at end of file diff --git a/.obsidian/plugins/obsidian-latex-suite/manifest.json b/.obsidian/plugins/obsidian-latex-suite/manifest.json new file mode 100644 index 0000000..5a4ffd6 --- /dev/null +++ b/.obsidian/plugins/obsidian-latex-suite/manifest.json @@ -0,0 +1,11 @@ +{ + "id": "obsidian-latex-suite", + "name": "Latex Suite", + "version": "1.9.8", + "minAppVersion": "1.0.0", + "description": "Make typesetting LaTeX math as fast as handwriting through snippets, text expansion, and editor enhancements", + "author": "artisticat", + "authorUrl": "https://github.com/artisticat1", + "fundingUrl": "https://ko-fi.com/artisticat", + "isDesktopOnly": false +} diff --git a/.obsidian/plugins/obsidian-latex-suite/styles.css b/.obsidian/plugins/obsidian-latex-suite/styles.css new file mode 100644 index 0000000..d265e5c --- /dev/null +++ b/.obsidian/plugins/obsidian-latex-suite/styles.css @@ -0,0 +1,235 @@ +/* Settings panel */ + +.setting-item.hidden { + display: none; +} + +.setting-item.setting-item-heading .latex-suite-settings-icon { + margin-right: var(--size-4-2); + display: inline-flex; +} + +.setting-item.setting-item-heading:has(.latex-suite-settings-icon) { + border-bottom: 1px solid var(--background-modifier-border); +} + +.setting-item.setting-item-heading:has(.latex-suite-settings-icon) + .setting-item { + border-top: none; +} + +.setting-item.setting-item-heading:has(.latex-suite-settings-icon) ~ .setting-item:not(.setting-item-heading), .latex-suite-snippet-variables-setting + .setting-item-control { + width: calc(100% - 26px); + margin-left: 26px; +} + +.latex-suite-snippet-variables-setting .setting-item-control { + height: 120px; +} + +.latex-suite-snippet-variables-setting .setting-item-control textarea { + width: 100%; + height: 100%; +} + +.snippets-text-area, .latex-suite-snippet-variables-setting { + display: inline-block; +} + +.snippets-text-area .setting-item-info, .latex-suite-snippet-variables-setting .setting-item-info { + margin-bottom: 0.75rem; +} + +.snippets-text-area .setting-item-control { + flex-direction: column; + align-items: flex-end; +} + +.snippets-editor-wrapper { + width: 100%; + margin-bottom: 0.75rem; +} + +.snippets-editor-wrapper .cm-editor { + border: 1px solid var(--background-modifier-border); + border-radius: 4px; + font-size: var(--font-inputs); + height: 20em; + outline: none !important; + text-align: left; +} + +.snippets-editor-wrapper .cm-line, .snippets-editor-wrapper .cm-lineNumbers { + font-family: var(--font-monospace); +} + +.snippets-footer { + width: 100%; + display: flex; + align-items: center; + justify-content: space-between; +} + +.snippets-editor-validity { + display: flex; + align-items: center; +} + +.snippets-editor-validity-indicator { + color: white; + display: inline-block; + border-radius: 1em; + margin-right: 10px; + cursor: default; + visibility: hidden; +} + +.snippets-editor-validity-indicator svg { + width: 16px !important; + height: 16px !important; +} + +.snippets-editor-validity-indicator:hover { + color: white; +} + +.snippets-editor-validity-indicator.valid { + background-color: var(--color-green); + visibility: visible; +} + +.snippets-editor-validity-indicator.invalid { + background-color: var(--color-red); + visibility: visible; +} + +.snippets-editor-buttons { + display: flex; + flex-direction: row; +} + +.latex-suite-confirmation-modal .setting-item { + border: none; +} + +.search-input-container input.latex-suite-location-input-el { + width: initial; +} + +/* +Snippet color classes. +*/ + +/* These extra selectors enforce their color on all children, because CodeMirror does weird nesting of spans when +nesting multiple decorations. */ + +.latex-suite-snippet-placeholder { + border-radius: 2px; + background-color: var(--placeholder-bg); + outline: var(--placeholder-outline) solid 1px; +} + +.latex-suite-snippet-placeholder-0, span.latex-suite-snippet-placeholder-0 span { + --placeholder-bg: #87cefa2e; + --placeholder-outline: #87cefa6e; +} + +.theme-dark .latex-suite-snippet-placeholder-0, span.latex-suite-snippet-placeholder-0 span { + --placeholder-outline: #87cefa43; +} + +.latex-suite-snippet-placeholder-1, span.latex-suite-snippet-placeholder-1 span { + --placeholder-bg: #ffa50033; + --placeholder-outline: #ffa5006b; +} + +.theme-dark .latex-suite-snippet-placeholder-1, span.latex-suite-snippet-placeholder-1 span { + --placeholder-outline: #ffa5004d; +} + +.latex-suite-snippet-placeholder-2, span.latex-suite-snippet-placeholder-2 span { + --placeholder-bg: #00ff0022; + --placeholder-outline: #00ff0060; +} + +.theme-dark .latex-suite-snippet-placeholder-2, span.latex-suite-snippet-placeholder-2 span { + --placeholder-outline: #00ff003d; +} + + +/* Conceal */ + +span.cm-math.cm-concealed-bold { + font-weight: bold; +} + +span.cm-math.cm-concealed-underline { + text-decoration: underline; +} + +span.cm-math.cm-concealed-mathrm, sub.cm-math.cm-concealed-mathrm { + font-style: normal; +} + + +/* Conceal superscripts without changing line height */ +sup.cm-math { + line-height: 0; +} + +sup.cm-math, sub.cm-math { + font-style: italic; +} + + +/* Inline math tooltip styling */ + +.theme-light .cm-tooltip.cm-tooltip-cursor { + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.028), 0px 3.4px 6.7px rgba(0, 0, 0, .042), 0px 5px 20px rgba(0, 0, 0, .07); +} + +.theme-dark .cm-tooltip.cm-tooltip-cursor { + box-shadow: 0px 1px 2px rgba(0, 0, 0, 0.1), + 0px 3.4px 6.7px rgba(0, 0, 0, 0.15), + 0px 0px 30px rgba(0, 0, 0, 0.27); +} + + +/* Highlight brackets */ +.theme-light .latex-suite-highlighted-bracket, .theme-light .latex-suite-highlighted-bracket [class^="latex-suite-color-bracket-"] { + background-color: hsl(var(--accent-h), var(--accent-s), 40%, 0.3); +} + +.theme-dark .latex-suite-highlighted-bracket, .theme-dark .latex-suite-highlighted-bracket [class^="latex-suite-color-bracket-"] { + background-color: hsl(var(--accent-h), var(--accent-s), 70%, 0.6); +} + + +/* Color matching brackets */ + +.theme-light .latex-suite-color-bracket-0, .theme-light .latex-suite-color-bracket-0 .cm-bracket { + color: #527aff; +} + +.theme-dark .latex-suite-color-bracket-0, .theme-dark .latex-suite-color-bracket-0 .cm-bracket { + color: #47b8ff; +} + +.theme-light .latex-suite-color-bracket-1, .theme-light .latex-suite-color-bracket-1 .cm-bracket { + color: #ff50b7; +} + +.theme-dark .latex-suite-color-bracket-1, .theme-dark .latex-suite-color-bracket-1 .cm-bracket { + color: #ff55cd; +} + +.theme-light .latex-suite-color-bracket-2, .theme-light .latex-suite-color-bracket-2 .cm-bracket { + color: #69ba00; +} + +.theme-dark .latex-suite-color-bracket-2, .theme-dark .latex-suite-color-bracket-2 .cm-bracket { + color: #73ff63; +} + +/* .latex-suite-color-bracket-3 { + color: #8de15c; +} */ diff --git a/.obsidian/themes/Cupertino/manifest.json b/.obsidian/themes/Cupertino/manifest.json new file mode 100644 index 0000000..a0a9959 --- /dev/null +++ b/.obsidian/themes/Cupertino/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "Cupertino", + "version": "3.2.5", + "minAppVersion": "1.11.6", + "author": "Alexis C", + "authorUrl": "https://github.com/aaaaalexis", + "fundingUrl": "https://www.buymeacoffee.com/sevenaxis" +} diff --git a/.obsidian/themes/Cupertino/theme.css b/.obsidian/themes/Cupertino/theme.css new file mode 100644 index 0000000..30df8b1 --- /dev/null +++ b/.obsidian/themes/Cupertino/theme.css @@ -0,0 +1,147 @@ +body,.theme-light,.theme-dark{--font-interface-theme: "SF Pro";--font-text-theme: "SF Pro";--font-ui-modifier: 0px;--font-ui-smaller: calc(12px + var(--font-ui-modifier));--font-ui-small: calc(13px + var(--font-ui-modifier));--font-ui-medium: calc(15px + var(--font-ui-modifier));--font-ui-large: calc(20px + var(--font-ui-modifier));--bold-modifier: 300;--icon-size-modifier: 0px;--icon-opacity: 1;--titlebar-background: transparent;--titlebar-background-focused: transparent;--divider-color-hover: var(--color-base-50);--corner-smoothing: system-ui;--shadow-s: rgba(0, 0, 0, 0.08) 0px 12px 24px -4px, rgba(0, 0, 0, 0.04) 0px 8px 16px -4px;--shadow-l: 0 14px 62px #00000040;--shadow-tactile: rgba(0, 0, 0, 0.04) 0px 2px 8px -2px, rgba(var(--mono-rgb-100), 0.04) 0px 2px 4px -2px;--anim-speed-modifier: 1;--anim-motion-baseline: cubic-bezier(0.32, 0.72, 0, 1);--anim-duration-superfast: calc(80ms * var(--anim-speed-modifier));--anim-duration-fast: calc(160ms * var(--anim-speed-modifier));--anim-duration-moderate: calc(320ms * var(--anim-speed-modifier));--anim-duration-slow: calc(480ms * var(--anim-speed-modifier));--icon-stroke-modifier: 1;--icon-xs-stroke-width: calc(2.25px * var(--icon-stroke-modifier));--icon-s-stroke-width: calc(2px * var(--icon-stroke-modifier));--icon-m-stroke-width: calc(2px * var(--icon-stroke-modifier));--icon-l-stroke-width: calc(2px * var(--icon-stroke-modifier));--icon-xl-stroke-width: calc(1.25px * var(--icon-stroke-modifier));--density-modifier: 1;--translucent-light-opacity: 50%;--translucent-dark-opacity: 50%;--color-red: rgb(var(--color-red-rgb));--color-orange: rgb(var(--color-orange-rgb));--color-yellow: rgb(var(--color-yellow-rgb));--color-green: rgb(var(--color-green-rgb));--color-cyan: rgb(var(--color-cyan-rgb));--color-blue: rgb(var(--color-blue-rgb));--color-purple: rgb(var(--color-purple-rgb));--color-pink: rgb(var(--color-pink-rgb));--background-modifier-cover: rgba(0, 0, 0, 0.35)}.theme-light{--workspace-background-translucent: rgb(from var(--background-secondary) r g b / var(--translucent-light-opacity));--color-red-rgb: 254, 112, 112;--color-orange-rgb: 242, 154, 100;--color-yellow-rgb: 224, 205, 99;--color-green-rgb: 74, 213, 95;--color-cyan-rgb: 56, 219, 214;--color-blue-rgb: 106, 173, 250;--color-purple-rgb: 187, 158, 245;--color-pink-rgb: 243, 125, 183;--code-normal: #383a42;--code-comment: #b6b9c5;--code-function: #b76b02;--code-important: #b76b02;--code-keyword: #e45749;--code-property: #62afef;--code-punctuation: #383a42;--code-string: #0d97b3;--code-tag: #e45749;--code-value: #a626a4}.theme-dark{--workspace-background-translucent: rgb(from var(--background-secondary) r g b / var(--translucent-dark-opacity));--color-red-rgb: 217, 90, 95;--color-orange-rgb: 219, 134, 80;--color-yellow-rgb: 196, 180, 94;--color-green-rgb: 72, 196, 90;--color-cyan-rgb: 63, 186, 182;--color-blue-rgb: 86, 148, 218;--color-purple-rgb: 142, 125, 194;--color-pink-rgb: 222, 103, 147;--code-normal: #abb2bf;--code-comment: #5c6370;--code-function: #d19a66;--code-important: #d19a66;--code-keyword: #e16d76;--code-property: #62afef;--code-punctuation: #abb2bf;--code-string: #58b6c2;--code-tag: #e16d76;--code-value: #c678de}body:not(.is-mobile){--icon-xs: calc(14px + var(--icon-size-modifier));--icon-s: calc(16px + var(--icon-size-modifier));--icon-m: calc(16px + var(--icon-size-modifier));--icon-l: calc(16px + var(--icon-size-modifier));--icon-xl: calc(32px + var(--icon-size-modifier))}body:not(.is-mobile) .app-container{transition:var(--anim-duration-moderate);align-items:center}body:not(.is-mobile):not(.is-translucent) .workspace{background:var(--background-secondary)}body:not(.is-mobile) .workspace{transition:var(--anim-duration-moderate)}body:not(.is-mobile) .workspace-split{transition:var(--anim-duration-moderate);background-color:rgba(0,0,0,0)}@media(prefers-color-scheme: light){.theme-dark{--workspace-background-translucent: var(--background-secondary)}}@media(prefers-color-scheme: dark){.theme-light{--workspace-background-translucent: var(--background-secondary)}}.is-translucent{--blur-s: none !important;--blur-m: none !important;--blur-l: none !important;--divider-color: var(--background-modifier-border) !important;--tab-outline-color: var(--background-modifier-border)}.is-popout-window{--workspace-background-translucent: var(--background-secondary);background-color:rgb(var(--mono-rgb-100))}body.is-frameless:not(.is-translucent,.is-hidden-frameless,.is-fullscreen) .titlebar{background-color:var(--background-secondary)}body.titlebar-text-off .titlebar-text{display:none}body:not(.mod-macos):not(.is-mobile){--frame-right-space: 144px}body:not(.mod-macos):not(.is-mobile).is-hidden-frameless .titlebar{height:var(--header-height)}body:not(.mod-macos):not(.is-mobile) .titlebar-button-container.mod-right{width:var(--frame-right-space)}body:not(.mod-macos):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button{justify-content:center;flex:1}body:not(.mod-macos):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button path,body:not(.mod-macos):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button rect,body:not(.mod-macos):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button circle{visibility:hidden}body:not(.mod-macos):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button svg{-webkit-mask-size:100% 100%;background-color:currentcolor;width:auto;height:10px}body:not(.mod-macos):not(.is-mobile) .titlebar-button.mod-minimize svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='2' fill='none' viewBox='0 0 12 2'%3e%3cpath fill='black' d='M.598 1.201A.604.604 0 0 1 0 .604.61.61 0 0 1 .598 0h10.804c.324 0 .598.281.598.604a.605.605 0 0 1-.598.597H.598Z'/%3e%3c/svg%3e")}body:not(.mod-macos):not(.is-mobile) .titlebar-button.mod-maximize svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3e%3cpath fill='black' d='M1.77 12C.825 12 0 11.175 0 10.23V1.77C0 .83.828 0 1.77 0h8.46C11.167 0 12 .833 12 1.77v8.46c0 .942-.83 1.77-1.77 1.77H1.77Zm8.431-1.201a.605.605 0 0 0 .598-.598V1.8a.606.606 0 0 0-.599-.6H1.8a.605.605 0 0 0-.6.6v8.4c0 .325.273.598.598.598H10.2Z'/%3e%3c/svg%3e")}body:not(.mod-macos):not(.is-mobile) .titlebar-button.mod-close svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3e%3cpath fill='black' d='m6 6.848-4.975 4.974a.618.618 0 0 1-.856.006.618.618 0 0 1 .006-.855L5.15 5.998.175 1.024c-.226-.227-.24-.628 0-.85a.606.606 0 0 1 .85 0l4.974 4.975L10.974.174a.606.606 0 0 1 .85 0 .606.606 0 0 1 0 .85L6.848 5.998l4.974 4.975a.606.606 0 0 1 0 .85c-.222.239-.623.225-.85 0L6 6.847Z'/%3e%3c/svg%3e")}body:not(.mod-macos):not(.is-mobile).is-maximized .titlebar-button.mod-maximize svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' viewBox='0 0 12 12'%3e%3cpath fill='black' d='M10.799 3.557C10.799 2.27 9.67 1.2 8.396 1.2H2.502a1.808 1.808 0 0 1 1.7-1.2h4.194C10.352 0 12 1.641 12 3.598v4.2c0 .758-.484 1.45-1.201 1.7V3.557ZM1.769 12C.826 12 0 11.175 0 10.23V4.172c0-.941.828-1.77 1.77-1.77h6.058c.945 0 1.77.825 1.77 1.77v6.058c0 .942-.829 1.77-1.77 1.77H1.77Zm6.03-1.201a.61.61 0 0 0 .603-.598v-6a.607.607 0 0 0-.603-.603h-6A.61.61 0 0 0 1.2 4.2v6c0 .325.273.598.598.598h6Z'/%3e%3c/svg%3e")}body.styled-scrollbars div:not(:hover)::-webkit-scrollbar-thumb{background-color:rgba(0,0,0,0)}body.reduce-motion{--anim-speed-modifier: 0 !important}body.reduce-motion.is-mobile{--mobile-sidebar-width: 90vw}body.reduce-motion.is-mobile .workspace-drawer,body.reduce-motion.is-mobile .workspace-split,body.reduce-motion.is-mobile .mobile-tab-switcher,body.reduce-motion.is-mobile .menu,body.reduce-motion.is-mobile .suggestion-bg,body.reduce-motion.is-mobile .modal,body.reduce-motion.is-mobile .modal-bg,body.reduce-motion.is-mobile .mobile-navbar{transform:none !important;transition:none !important}@starting-style{body.reduce-motion.is-mobile .workspace-drawer,body.reduce-motion.is-mobile .workspace-split,body.reduce-motion.is-mobile .mobile-tab-switcher,body.reduce-motion.is-mobile .menu,body.reduce-motion.is-mobile .suggestion-bg,body.reduce-motion.is-mobile .modal,body.reduce-motion.is-mobile .modal-bg,body.reduce-motion.is-mobile .mobile-navbar{opacity:0 !important}}.lucide-folder-closed path[d="M2 10h20"]{display:none}.lucide-arrow-left path[d="M19 12H5"]{display:none}.lucide-arrow-left path[d="m12 19-7-7 7-7"]{transform:translateX(2px)}.lucide-arrow-right path[d="M5 12h14"]{display:none}.lucide-arrow-right path[d="m12 5 7 7-7 7"]{transform:translateX(-2px)}.lucide-edit-3 path[d="M13 21h8"]{display:none}body:not(.reduce-motion,.is-mobile) .workspace svg.svg-icon{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}@starting-style{body:not(.reduce-motion,.is-mobile) .workspace .clickable-icon:not(.workspace-ribbon>.sidebar-toggle-button>.clickable-icon) svg.svg-icon{filter:blur(4px);scale:.75;opacity:0}}body:not(.reduce-motion,.is-mobile) .workspace .clickable-icon:not([aria-disabled=true]):active svg.svg-icon,body:not(.reduce-motion,.is-mobile) .workspace .mod-sidedock .workspace-tab-header.tappable:active svg.svg-icon{scale:.75;opacity:.75}body:not(.reduce-motion,.is-mobile) .workspace .workspace-tab-header-tab-list .clickable-icon:is(:hover,.has-active-menu) svg.svg-icon{transform:translateY(1px)}body:not(.reduce-motion,.is-mobile) .workspace .view-header-nav-buttons .clickable-icon:not([aria-disabled=true]):first-child:hover svg.svg-icon{transform:translateX(-1px)}body:not(.reduce-motion,.is-mobile) .workspace .view-header-nav-buttons .clickable-icon:not([aria-disabled=true]):last-child:hover svg.svg-icon{transform:translateX(1px)}body{--header-height: 48px;--tab-max-width: var(--tab-width);--tab-radius: var(--radius-s);--tab-radius-active: var(--tab-radius) var(--tab-radius) 0 0;--tab-curve: calc(var(--tab-radius) + 4px);--tab-outline-width: 0px;--tab-divider-color: var(--background-modifier-border);--tab-text-align: left;--tab-text-color-focused-active: var(--text-normal);--tab-text-color-focused-active-current: unset}body.mod-macos{--header-height: 52px}body:not(.is-mobile){--tab-action-width: 32px}body.is-mobile{--header-height: 44px !important;--tab-text-color-focused: var(--text-normal)}body.is-tablet{--header-height: 52px !important;--tab-action-width: 44px}body:not(.is-phone) .workspace-tab-header-container{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);background-color:rgba(0,0,0,0);border-bottom:none}.sidebar-toggle-button{height:100%;padding-bottom:8px;align-items:center}.sidebar-toggle-button .clickable-icon{width:fit-content;height:fit-content}.workspace-tab-header-inner-icon{color:inherit !important}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-container-inner{padding:8px var(--tab-curve) 0;margin:0 -4px 0 0;gap:8px}body:not(.is-phone) .workspace .mod-root .workspace-tab-header{--tab-outline-width: 0px;padding:0}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-inner{padding-inline-start:12px;padding-inline-end:8px;margin-bottom:8px;height:auto}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-inner-title{line-height:normal;text-align:var(--tab-text-align)}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-new-tab,body:not(.is-phone) .workspace .mod-root .workspace-tab-header-tab-list{display:block;align-content:center;padding:4px 0;margin:0}body:not(.is-phone) .workspace .mod-root .workspace-tab-header-new-tab .clickable-icon,body:not(.is-phone) .workspace .mod-root .workspace-tab-header-tab-list .clickable-icon{height:auto;padding:8px}body:not(.is-phone) .workspace .mod-root .workspace-tabs:not(.mod-stacked){--tab-radius-active: var(--tab-radius);--tab-curve: 0}body:not(.is-phone) .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner{padding-bottom:8px;gap:4px;margin:0}body:not(.is-phone) .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{padding:0;background-color:var(--background-modifier-hover)}body:not(.is-phone) .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(.is-active):not(:hover){opacity:.5}body:not(.is-phone) .workspace .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner{padding-inline-start:12px;padding-inline-end:8px;margin-bottom:0}body.is-tablet{--header-height: 60px !important}body.is-tablet .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner{padding-block:0 !important}body.is-tablet .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{margin-block:8px}body:not(.is-phone):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked){container-type:inline-size}@container (min-width: 560px){body:not(.is-phone):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner{flex:1;justify-content:safe center;transition:padding-left var(--anim-duration-moderate) var(--anim-motion-baseline),padding-right var(--anim-duration-moderate) var(--anim-motion-baseline)}body:not(.is-phone):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-spacer{display:none}}@container (min-width: 560px){body.mod-macos:not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space).mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*3)}body.mod-macos:not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space):not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}}@container (min-width: 560px){body.mod-macos:not(.is-mobile):not(.tab-floating):not(.is-fullscreen) .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space.mod-top-right-space .workspace-tab-header-container-inner{padding-right:calc(var(--frame-left-space) + --tab-action-width*2)}body.mod-macos:not(.is-mobile):not(.tab-floating):not(.is-fullscreen) .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space:not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-right:calc(var(--frame-left-space) - var(--tab-action-width))}}@container (min-width: 560px){body.mod-macos:not(.is-mobile):not(.tab-floating).is-fullscreen .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space.mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}body.mod-macos:not(.is-mobile):not(.tab-floating).is-fullscreen .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space:not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:var(--tab-action-width)}}@container (min-width: 560px){body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space.mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--frame-right-space) + var(--tab-action-width)*2)}body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space:not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space).mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--frame-right-space) + var(--tab-action-width)*3)}body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space):not(.mod-top-right-space).mod-top .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*3)}body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):is(.mod-root>.workspace-tabs):not(:only-of-type).mod-top-left-space:not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:var(--tab-action-width)}body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):is(.mod-root>.workspace-tabs):not(:only-of-type):first-of-type:not(.mod-top-left-space):not(.mod-top-right-space) .workspace-tab-header-container-inner,body:not(.mod-macos):not(.is-mobile):not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top) .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}}@container (min-width: 560px){body.is-tablet:not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space.mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}body.is-tablet:not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space:not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:var(--tab-action-width)}body.is-tablet:not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space).mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*3)}body.is-tablet:not(.tab-floating) .mod-root .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space):not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}}@container (min-width: 560px){body.is-tablet:not(.tab-floating) .workspace-drawer.is-pinned.mod-left+.mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space.mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*3)}body.is-tablet:not(.tab-floating) .workspace-drawer.is-pinned.mod-left+.mod-root .workspace-tabs:not(.mod-stacked).mod-top-left-space:not(.mod-top-right-space) .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}}@container (min-width: 560px){body.is-tablet:not(.tab-floating) .mod-root:has(+.workspace-drawer.is-pinned.mod-right) .workspace-tabs:not(.mod-stacked).mod-top-left-space.mod-top-right-space .workspace-tab-header-container-inner{padding-left:var(--tab-action-width)}body.is-tablet:not(.tab-floating) .mod-root:has(+.workspace-drawer.is-pinned.mod-right) .workspace-tabs:not(.mod-stacked):not(.mod-top-left-space).mod-top-right-space .workspace-tab-header-container-inner{padding-left:calc(var(--tab-action-width)*2)}}.mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner::after{content:none}.mod-root .workspace-tabs.mod-stacked .workspace-tab-header-container-inner{display:none}body.is-tablet .workspace .mod-root .sidebar-toggle-button{padding-left:0}body.is-tablet .workspace .mod-root .sidebar-toggle-button .clickable-icon{margin:auto 0}body.is-tablet .workspace .mod-root .workspace-tab-header-tab-list .clickable-icon,body.is-tablet .workspace .mod-root .workspace-tab-header-new-tab .clickable-icon{--icon-size: var(--icon-l);--icon-stroke: var(--icon-l-stroke-width)}.workspace .mod-sidedock .workspace-tab-header-container,.workspace .mod-sidedock .workspace-tab-header,.workspace .mod-sidedock .workspace-tab-header div{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.workspace .mod-sidedock .workspace-tab-header-container{padding-block:8px;align-items:center}.workspace .mod-sidedock .workspace-tab-header-container-inner{-webkit-app-region:no-drag;padding:0 8px 0 0;margin:0;gap:calc(8px*var(--density-modifier));height:100%}.workspace .mod-sidedock .sidebar-toggle-button{position:relative !important;padding:0 !important;height:fit-content}.workspace .mod-sidedock .workspace-tab-header{height:calc-size(auto,size);line-height:normal}.workspace .mod-sidedock .workspace-tab-header.is-active{background-color:inherit;box-shadow:none}.workspace .mod-sidedock .workspace-tab-header.is-active:hover{background-color:inherit}.workspace .mod-sidedock .workspace-tab-header:not(.is-active):not(:hover){opacity:.5}.workspace .mod-sidedock .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:inherit}.workspace .mod-sidedock .workspace-tab-header-inner{gap:8px}body:not(.tab-icon) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover){height:calc-size(auto,size)}body:not(.tab-icon) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header{background-color:var(--background-modifier-hover);height:4px}body:not(.tab-icon) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header-inner-icon,body:not(.tab-icon) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header-inner-title{opacity:0}body:not(.mod-macos).is-hidden-frameless .mod-sidedock .workspace-tabs.mod-top-right-space .workspace-tab-header-container{padding-right:var(--frame-right-space)}body.mod-macos.is-frameless:not(.is-popout-window) .workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container{padding-right:8px}body.mod-macos.is-frameless:not(.is-popout-window) .workspace .mod-root .sidebar-toggle-button.mod-right{position:relative;padding-right:0}body{--nav-item-padding: calc(8px * var(--density-modifier)) 16px calc(8px * var(--density-modifier)) 32px;--nav-indentation-guide-width: 0px;--ribbon-background: transparent;--ribbon-background-collapsed: var(--ribbon-background);--divider-vertical-height: 100% !important}body.is-mobile{--nav-item-padding: calc(10px * var(--density-modifier)) 24px;--nav-item-color: var(--text-muted);--nav-item-size: var(--font-ui-small);--nav-item-weight-active: var(--font-medium);--nav-item-children-margin-start: 12px}@keyframes workspaceLeafIn{from{opacity:0;transform:scale(0.95);filter:blur(4px)}}.sidebar-toggle-icon-inner{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.sidebar-toggle-button .clickable-icon:hover .sidebar-toggle-icon-inner{width:24%}.workspace.is-left-sidedock-open .sidebar-toggle-button.mod-left .clickable-icon:hover .sidebar-toggle-icon-inner,.workspace.is-right-sidedock-open .sidebar-toggle-button.mod-right .clickable-icon:hover .sidebar-toggle-icon-inner{width:revert-layer}body.full-item-name{--nav-item-white-space: none}body.bold-folders .nav-folder-title{--nav-item-weight: calc(var(--font-weight) + var(--bold-modifier));--nav-item-weight-hover: calc(var(--font-weight) + var(--bold-modifier))}.tree-item-self,.tree-item-inner{align-items:center}.nav-header{display:flex;justify-content:center;flex-direction:column;align-items:center;padding:8px 16px}.nav-header .nav-buttons-container{flex-wrap:nowrap}.nav-header .search-input-container{margin:8px 0;width:100%}.nav-action-button,.nav-action-button[aria-disabled=true]{position:relative;height:100%}body.mod-macos.is-hidden-frameless .workspace-ribbon.mod-left{padding-top:0}.workspace-ribbon.mod-left{border-right:none;z-index:11;transition:var(--anim-duration-moderate) !important;position:relative}.workspace-ribbon.mod-left:not(.is-collapsed){padding-left:12px}.workspace-ribbon.mod-left:before{content:none}.workspace-ribbon.mod-left .sidebar-toggle-button{position:relative;display:flex;height:var(--header-height);padding:8px;width:unset;align-items:center;justify-content:center}.workspace-ribbon.mod-left .sidebar-toggle-button .clickable-icon{pointer-events:auto;z-index:1}.workspace-ribbon.mod-left .side-dock-actions{gap:4px;transition:var(--anim-duration-moderate);z-index:1;color:var(--icon-color)}.workspace-ribbon.mod-left .sidebar-toggle-button .clickable-icon,.workspace-ribbon.mod-left .side-dock-actions .side-dock-ribbon-action{width:var(--tab-action-width)}body:not(.mod-macos):not(.is-mobile) .workspace-ribbon.mod-left,body.mod-macos:not(.is-hidden-frameless):not(.is-mobile) .workspace-ribbon.mod-left{margin-top:0}body:not(.mod-macos):not(.is-mobile) .workspace-ribbon.mod-left .sidebar-toggle-button,body.mod-macos:not(.is-hidden-frameless):not(.is-mobile) .workspace-ribbon.mod-left .sidebar-toggle-button{height:auto;padding:0;margin:0 auto}body:not(.mod-macos):not(.is-mobile) .workspace-ribbon.mod-left .sidebar-toggle-button{height:calc(var(--header-height) - 16px)}body:not(.is-mobile) .mod-sidedock>.workspace-leaf-resize-handle:not(:hover){border-color:rgba(0,0,0,0)}body:not(.is-mobile) .mod-sidedock .workspace-leaf{background-color:rgba(0,0,0,0)}body:not(.is-mobile) .mod-sidedock .workspace-leaf:not([style*="display: none"]){animation:workspaceLeafIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.node-insert-event,body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content{padding:2px 8px}body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.node-insert-event>.node-insert-event,body:not(.is-mobile) .mod-sidedock .workspace-leaf-content>.view-content>.node-insert-event{padding:0}.nav-header,.nav-buttons-container,.nav-action-button,.nav-action-button::after,.nav-header svg{transition:var(--anim-duration-moderate) var(--anim-motion-baseline),background-color var(--anim-duration-fast)}body:not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child:not(:hover) .nav-buttons-container{gap:4px !important;padding:0 !important;background-color:rgba(0,0,0,0) !important;box-shadow:none !important}body:not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child:not(:hover) .nav-buttons-container .nav-action-button{padding:2px !important;width:0 !important;flex:0;background-color:var(--background-modifier-hover);box-shadow:none !important;min-width:0}body:not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child:not(:hover) .nav-buttons-container .nav-action-button::after{font-size:0;opacity:0}body:not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child:not(:hover) .nav-buttons-container .nav-action-button.is-active{background-color:var(--background-modifier-hover) !important}body:not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child:not(:hover) .nav-buttons-container .nav-action-button.clickable-icon[aria-disabled=true]{opacity:var(--icon-opacity)}body:not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child:not(:hover) .nav-buttons-container svg{width:0px;height:0px}body:not(.is-mobile) .workspace-split.mod-left-split .workspace-drawer-vault-actions .clickable-icon:first-child{display:none}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile{background-color:rgba(0,0,0,0)}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile{border-top:none;position:absolute;inset:auto 0 0;z-index:1;align-items:unset;width:auto}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile:hover~.workspace-tabs:last-child{mask:linear-gradient(to top, transparent, black 64px)}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher.has-active-menu{background-color:var(--interactive-normal)}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile:not(:hover){pointer-events:none}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-sidedock-vault-profile:not(:hover) .workspace-drawer-vault-switcher:not(.has-active-menu){opacity:0;filter:blur(4px);pointer-events:none;transform:scale(0.95)}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-drawer-vault-switcher,body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-drawer-vault-actions .clickable-icon{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);pointer-events:visible}body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-leaf-content>.node-insert-event,body:not(.is-mobile) .mod-sidedock.mod-left-split .workspace-leaf-content>.view-content{padding-bottom:64px}@keyframes menuIn{from{opacity:0;filter:blur(4px);transform:translateY(-8px)}}.menu,.suggestion-container{-electron-corner-smoothing:var(--corner-smoothing);border-radius:var(--menu-radius);padding:0}.menu .menu-item,.menu .suggestion-item,.suggestion-container .menu-item,.suggestion-container .suggestion-item{-electron-corner-smoothing:var(--corner-smoothing);padding:calc(6px*var(--density-modifier)) 8px;border-radius:calc(var(--menu-radius) - var(--menu-padding));margin-bottom:0}.menu .menu-item-icon,.suggestion-container .menu-item-icon{order:unset !important;color:var(--text-normal)}.menu .menu-item-icon .svg-icon,.suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-xs);--icon-stroke: var(--icon-xs-stroke-width)}.menu .menu-separator,.suggestion-container .menu-separator{margin:4px 0}body:not(.is-phone){--menu-padding: 4px}body:not(.is-phone)>.menu,body:not(.is-phone)>.suggestion-container{animation:menuIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:not(.is-phone) .menu,body:not(.is-phone) .suggestion-container div:is(.suggestion-item,.suggestion-empty){font-size:var(--font-ui-small);align-items:center}body.is-mobile .menu .menu-item-icon .svg-icon,body.is-mobile .suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-s);--icon-stroke: var(--icon-s-stroke-width)}body.is-phone{--menu-padding: 32px 16px}body.is-phone .menu{border-radius:var(--radius-l) var(--radius-l) 0 0;overflow:hidden}body.is-phone .menu .menu-grabber{margin:8px auto;position:absolute;inset:0}body.is-phone .menu .menu-scroll{max-height:80vh}body.is-phone .menu .menu-item{padding:calc(16px*var(--density-modifier)) 20px;font-size:var(--nav-item-size);gap:16px;border-radius:0}body.is-phone .menu .menu-item:only-child{border-radius:var(--radius-s)}body.is-phone .menu .menu-separator{margin:calc(12px*var(--density-modifier)) 16px}body.is-phone .suggestion-container{border-radius:var(--radius-l)}body.is-phone .suggestion-container .suggestion-item{border-radius:var(--radius-m);padding:calc(8px*var(--density-modifier)) 16px}body.is-tablet .menu,body.is-tablet .suggestion-container{border:1px solid var(--background-modifier-border-hover);border-radius:var(--menu-radius);overflow:auto;max-height:80vh}body.is-tablet .menu .menu-scroll,body.is-tablet .suggestion-container .menu-scroll{overflow:visible}body.is-tablet .menu .menu-item,body.is-tablet .suggestion-container .menu-item{padding:calc(8px*var(--density-modifier)) 12px;font-size:var(--font-ui-small)}body.is-tablet .menu .menu-item-title,body.is-tablet .suggestion-container .menu-item-title{max-width:240px}body{--modal-background: var(--background-secondary);--modal-border-color: var(--background-modifier-border-hover)}body .modal{-electron-corner-smoothing:var(--corner-smoothing)}body .modal .modal-title{font-family:var(--h1-font);transition:var(--anim-duration-moderate) var(--anim-motion-baseline);overflow:visible;text-align:left}body .modal-close-button{border-radius:100vh;position:absolute;top:8px;inset-inline-end:8px !important;height:unset;width:unset;padding:8px;line-height:12px;z-index:1}body .modal-close-button:empty::before{content:"✕";line-height:1;display:block;text-align:center;width:var(--icon-l);height:var(--icon-l);font-size:var(--icon-m);font-weight:bold}@keyframes modalIn{from{opacity:0;filter:blur(4px);transform:scale(0.975)}}body:not(.is-mobile) .modal{animation:modalIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:not(.is-mobile) .modal-title{margin-left:0}body.is-phone .modal-container.mod-confirmation .modal:not(.mod-sidebar-layout){--modal-radius: var(--radius-l) var(--radius-l) 0 0}body.is-phone .modal:not(.mod-sidebar-layout) .modal-header{border-bottom:none;padding-top:24px}body.is-phone .modal:not(.mod-sidebar-layout) .modal-content{padding:var(--safe-area-inset-side)}body.is-phone .modal:not(.mod-sidebar-layout) .modal-nav-action{position:relative;background-color:var(--interactive-normal);margin:0 var(--safe-area-inset-side) 8px}body.is-phone .modal:not(.mod-sidebar-layout)>button:last-child{margin-bottom:var(--safe-area-inset-bottom) !important}body.is-tablet{--modal-radius: var(--radius-l)}.notice-container{display:flex;flex-direction:column;gap:8px;overflow:visible}.notice{padding:calc(12px*var(--density-modifier)) 16px;margin-bottom:0;border:none !important}body{--prompt-border-color: var(--background-modifier-border-hover);--prompt-input-height: 64px}body .prompt{-electron-corner-smoothing:var(--corner-smoothing);background-color:var(--background-secondary);animation:modalIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body .prompt .prompt-input,body .prompt .prompt-input:hover,body .prompt .prompt-input:focus,body .prompt .prompt-input:focus-visible{background-color:rgba(0,0,0,0);border-bottom-color:var(--divider-color)}body .prompt .prompt-results{flex:1}body .prompt .suggestion-item{padding:12px}body.is-phone .prompt{animation:none;border-radius:var(--radius-l) var(--radius-l) 0 0}body.is-phone .prompt .prompt-results{padding:var(--safe-area-inset-side)}body.is-phone .prompt .prompt-input-container{width:auto;margin:auto var(--keyboard-spacing) var(--keyboard-spacing)}body.is-phone .prompt .prompt-input{background-color:var(--background-primary)}body.is-phone .prompt .suggestion-item{padding:calc(16px*var(--density-modifier)) 16px}body.is-tablet{--prompt-input-height: 64px}body.is-tablet .prompt{border:var(--prompt-border-width) solid var(--prompt-border-color);border-radius:var(--modal-radius)}body.is-tablet .prompt-input{background-color:rgba(0,0,0,0)}body:not(.is-phone){--setting-items-radius: var(--radius-m);--setting-items-padding: calc(16px * var(--density-modifier)) 16px;--setting-group-heading-color: var(--text-faint);--setting-group-heading-size: var(--font-ui-small)}body:not(.is-phone) .modal-sidebar{--background-modifier-form-field: var(--interactive-normal)}body:not(.is-phone) .modal.mod-sidebar-layout .vertical-tab-header{border-inline-end:none}body:not(.is-phone) .modal.mod-sidebar-layout .vertical-tab-header-group-title,body:not(.is-phone) .modal.mod-sidebar-layout .vertical-tab-nav-item{padding:calc(8px*var(--density-modifier)) 12px;align-items:center;font-size:var(--font-ui-small)}body:not(.is-phone) .modal.mod-sidebar-layout .vertical-tab-content{background-color:var(--modal-sidebar-background)}body:not(.is-phone) .modal.mod-sidebar-layout .setting-group-search{padding:0 0 8px;background-color:rgba(0,0,0,0)}body:not(.is-phone) .modal.mod-sidebar-layout .setting-item-name{overflow:visible}body:not(.is-phone) .installed-plugins-container .setting-item .setting-item-description div:last-child{color:var(--text-muted);margin-top:4px}body:not(.is-phone) .installed-plugins-container .setting-items{display:grid;grid-template-columns:repeat(auto-fill, minmax(200px, 1fr));grid-auto-rows:1fr;gap:8px;padding:0;background-color:rgba(0,0,0,0)}body:not(.is-phone) .installed-plugins-container .setting-items .setting-item{display:flex;flex-direction:column;margin:0px !important;border:none;border-radius:var(--setting-items-radius) !important;background-color:var(--setting-items-background);padding:calc(16px*var(--density-modifier)) !important;overflow:hidden}body:not(.is-phone) .installed-plugins-container .setting-items .setting-item-info{margin-inline-end:0;width:100%}body:not(.is-phone) .installed-plugins-container .setting-items .setting-item-description>div:last-child{display:-webkit-box;overflow:hidden;-webkit-line-clamp:5;-webkit-box-orient:vertical}body:not(.is-phone) .installed-plugins-container .setting-items .setting-item-control{flex:none;flex-wrap:wrap;align-self:flex-end;width:100%}body:not(.is-phone) .installed-plugins-container .setting-items .setting-item-control button.mod-cta{flex-grow:1;flex-basis:100%}body:not(.is-phone) .installed-plugins-container .setting-items .setting-item:has(button){order:-1}body:not(.is-phone) .modal.mod-community-modal .modal-sidebar{padding:0}body:not(.is-phone) .modal.mod-community-modal .community-modal-controls{display:flex;height:auto;align-items:center;padding:0 8px;width:100%;flex-wrap:wrap}body:not(.is-phone) .modal.mod-community-modal .modal-sidebar:not(:only-child) .community-modal-controls .setting-item{width:100%;margin-right:0}body:not(.is-phone) .modal.mod-community-modal .community-modal-controls .setting-item{margin:0;padding:8px 0;display:flex;align-items:center}body:not(.is-phone) .modal.mod-community-modal .community-modal-controls .setting-item:first-child{margin-right:auto}body:not(.is-phone) .modal.mod-community-modal .community-modal-controls .setting-item.mod-toggle{margin-right:48px}body:not(.is-phone) .modal.mod-community-modal .community-modal-controls .setting-item:first-child .setting-item-info,body:not(.is-phone) .modal.mod-community-modal .community-modal-search-summary{display:none}body:not(.is-phone) .modal.mod-community-modal .community-modal-search-results{gap:8px;padding:8px}body:not(.is-phone) .modal.mod-community-modal .community-item:not(.is-selected){background-color:var(--setting-items-background)}body.is-phone .modal.mod-sidebar-layout{box-shadow:none}body.is-phone .modal.mod-sidebar-layout .modal-header{padding:0;align-items:center;display:inline;z-index:1}body.is-phone .modal.mod-sidebar-layout .modal-title{display:flex;align-items:center;min-width:fit-content;max-width:0}body.is-phone .modal.mod-sidebar-layout .modal-title:not(:has(.modal-setting-back-button)){font-size:1.5rem;font-weight:calc(var(--font-weight) + var(--bold-modifier));max-width:100%;padding-left:20px}body.is-phone .modal.mod-sidebar-layout .modal-setting-back-button{inset-inline-start:8px;bottom:unset}body.is-phone .modal.mod-sidebar-layout .vertical-tab-header-group-title{display:none}body.is-phone .modal.mod-settings .modal-title{margin-top:var(--safe-area-inset-top);height:var(--touch-size-m)}body.is-phone .modal.mod-community-modal .modal-title{height:calc(var(--touch-size-m) + 16px)}body.is-tablet.theme-dark{--settings-background: var(--background-secondary);--setting-items-background: var(--background-primary)}body.is-tablet .modal.mod-sidebar-layout .vertical-tab-header-group-title,body.is-tablet .modal.mod-sidebar-layout .vertical-tab-nav-item{padding:calc(12px*var(--density-modifier)) 16px}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=editor] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-blue)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=mobile] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-blue)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=file] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-orange)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=appearance] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-accent)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=hotkeys] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-pink)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=keychain] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-green)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=plugins] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-cyan)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=community-plugins] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-purple)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=backlink] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-purple)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=canvas] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-red)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=daily-notes] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-red)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=file-recovery] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-green)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=note-composer] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-cyan)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=page-preview] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-blue)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=switcher] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-purple)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=sync] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-green)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=templates] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-blue)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=zk-prefixer] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-orange)}body:is(.mod-macos,.adaptive-mode-off,.is-android:not(.adaptive-mode-off)) .modal.mod-settings .vertical-tab-nav-item[data-setting-id=webviewer] .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--color-blue)}body.status-bar-baseline .status-bar{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);border:none;transform-origin:bottom right;background-color:rgba(0,0,0,0);min-height:8px;height:calc-size(auto,size)}body.status-bar-baseline .status-bar::before{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);content:"";position:absolute;bottom:0;right:0;width:150%;height:200%;z-index:-1;pointer-events:none;background:radial-gradient(farthest-side at right bottom, var(--background-primary), rgba(var(--mono-rgb-0), 0))}body.status-bar-baseline .status-bar:not(:hover){transform:scale(0.8);opacity:.5}body.status-bar-baseline .status-bar:not(:hover)::before{opacity:0}body:not(.status-bar-baseline) .status-bar{--status-bar-border-width: var(--border-width);right:unset;justify-content:center;transition:var(--anim-duration-moderate) var(--anim-motion-baseline),background-color var(--anim-duration-moderate) ease;border:none;border-radius:100vh;max-width:100%;min-height:unset}body:not(.status-bar-baseline) .status-bar>div{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}body:not(.status-bar-baseline) .status-bar:not(:hover){bottom:2px;border-width:0;background-color:rgba(var(--mono-rgb-100), 0.2);padding-block:0;max-width:160px;height:4px}body:not(.status-bar-baseline) .status-bar:not(:hover)>div{transform:scale(0.9);opacity:0;filter:blur(16px);white-space:nowrap}body:not(.status-bar-baseline) .status-bar:hover{bottom:4px;box-shadow:var(--shadow-s);border-color:var(--background-modifier-border);padding:8px;height:40px}body:not(.status-bar-baseline) .status-bar:hover::before{transform:scaleY(1)}body:not(.status-bar-baseline) .status-bar::before{position:absolute;transform:scaleY(10);z-index:-1;transition:var(--anim-duration-fast) var(--anim-duration-fast);width:100%;height:100%;content:""}body:not(.status-bar-baseline):not(.is-grabbing) .app-container.no-transition .status-bar{bottom:4px;border-color:rgba(0,0,0,0);background-color:var(--color-accent);color:var(--text-on-accent);max-width:100% !important;height:40px !important}body:not(.status-bar-baseline):not(.is-grabbing) .app-container.no-transition .status-bar>div{transform:none !important;opacity:1 !important;filter:none !important}.workspace-leaf-content[data-type=empty] .empty-state-container{max-height:unset}.workspace-leaf-content[data-type=empty] .empty-state-title{display:none}.workspace-leaf-content[data-type=empty] .empty-state-action-list{margin-top:0}.workspace-leaf-content[data-type=empty] .empty-state-action-list::before{-webkit-mask-size:contain;-webkit-mask-position:center;-webkit-mask-repeat:no-repeat;-webkit-mask-image:url('data:image/svg+xml,');background-color:var(--background-modifier-hover);height:80px;content:"";display:flex;margin-bottom:20px;pointer-events:none}body:not(.is-phone) .workspace-leaf-content[data-type=empty] .view-header{justify-content:flex-end}body:not(.is-phone) .workspace-leaf-content[data-type=empty] .view-header .view-header-left,body:not(.is-phone) .workspace-leaf-content[data-type=empty] .view-header .view-header-title-container{display:none}body:not(.is-phone) .workspace-leaf-content[data-type=empty] .empty-state-action.mod-close{visibility:hidden}body.is-mobile{--touch-radius-xxs: var(--radius-s);--touch-radius-xs: var(--radius-s);--touch-radius-s: var(--radius-s);--touch-radius-m: var(--radius-m);--touch-radius-l: var(--radius-l);--touch-radius-xl: var(--radius-xl);--radius-s: calc(16px * var(--radius-modifier));--radius-m: calc(16px * var(--radius-modifier));--radius-l: calc(24px * var(--radius-modifier));--radius-xl: calc(32px * var(--radius-modifier));--tab-radius: var(--radius-s);--tab-curve: var(--tab-radius);--font-ui-smaller: calc(var(--font-text-size) * 0.8 + var(--font-ui-modifier));--font-ui-small: calc(var(--font-text-size) * 0.937 + var(--font-ui-modifier));--font-ui-medium: calc(var(--font-text-size) + var(--font-ui-modifier));--font-ui-large: calc(var(--font-text-size) * 1.2 + var(--font-ui-modifier));--interactive-normal: var(--background-primary);--mobile-sidebar-width: 100%;--view-header-height: var(--header-height);--keyboard-spacing: 8px;--touch-size-l: 48px;--touch-size-xl: 52px;--border-width: 1pt;--divider-width: 1pt;--tab-outline-width: 1pt;--file-margins-y: 8px;--file-margins-x: 24px;--view-top-fade-opacity: 0;--view-bottom-fade-opacity: 0;--mobile-sidebar-background: var(--background-secondary);--tab-switcher-menubar-background: transparent;--tab-switcher-preview-radius: var(--radius-m);--icon-opacity-hover: var(--icon-opacity);--input-border-width-focus: 0;--navbar-width: 100%;--navbar-max-width: unset;--navbar-bottom-offset: max(var(--safe-area-inset-bottom), var(--safe-area-inset-side));--navbar-side-offset: min(var(--navbar-bottom-offset), 32px);--safe-area-inset-side: 16px;--mobile-left-sidebar-width: 360px;--mobile-right-sidebar-width: 360px;--mobile-left-sidebar-width-pinned: 300px;--mobile-right-sidebar-width-pinned: 300px}body.is-mobile.theme-dark{--color-base-00: #1e1e1e;--color-base-10: #242424;--color-base-20: #262626}body.is-mobile:not(.mod-macos):not(.dynamic-type-off){--font-ui-smaller: calc(12px + var(--font-ui-modifier));--font-ui-small: calc(14px + var(--font-ui-modifier));--font-ui-medium: calc(16px + var(--font-ui-modifier));--font-ui-large: calc(24px + var(--font-ui-modifier))}body.is-mobile:not(.mod-macos):not(.dynamic-type-off) .markdown-preview-view,body.is-mobile:not(.mod-macos):not(.dynamic-type-off) .markdown-source-view{font-size:calc(var(--font-text-size)*1.0625)}body.is-mobile.mod-macos:not(.dynamic-type-off){--font-ui-smaller: calc(13px + var(--font-ui-modifier));--font-ui-small: calc(15px + var(--font-ui-modifier));--font-ui-medium: calc(17px + var(--font-ui-modifier));--font-ui-large: calc(20px + var(--font-ui-modifier))}body.is-mobile:not(.mod-macos,.adaptive-mode-off) .mod-raised{backdrop-filter:none;box-shadow:none;background-color:rgba(0,0,0,0);background-image:none;border:none}body.is-mobile:not(.mod-macos,.adaptive-mode-off) .mod-raised::after{content:none !important}body.is-mobile:not(.mod-macos,.adaptive-mode-off) .mobile-navbar{background-color:var(--background-secondary) !important;border:var(--border-width) solid var(--background-modifier-border) !important}body.is-mobile:not(.mod-macos,.adaptive-mode-off) .mobile-tab-preview:before{content:none}body.is-mobile:not(.mod-macos,.adaptive-mode-off).is-mobile .prompt{background-color:var(--prompt-background)}body.is-mobile .workspace-drawer .workspace-leaf-content>.node-insert-event,body.is-mobile .workspace-drawer .workspace-leaf-content>.view-content>.node-insert-event{padding-inline:var(--safe-area-inset-side)}body.is-mobile .workspace-drawer .workspace-leaf-content:after{content:none !important}body.is-mobile .workspace-drawer .workspace-drawer-inner{background-color:rgba(0,0,0,0)}body.is-mobile .workspace-drawer .workspace-drawer-header{padding-top:8px;padding-inline:var(--safe-area-inset-side);z-index:1;min-height:var(--touch-size-m);box-sizing:content-box}body.is-mobile .workspace-drawer .workspace-drawer-header-name-text{font-family:var(--h1-font)}body.is-mobile .workspace-drawer .workspace-drawer-active-tab-chevron{margin-inline-start:0}body.is-mobile .workspace-drawer .workspace-drawer-tab-options.is-collapsed::before{background-color:rgba(0,0,0,0);pointer-events:none}body.is-mobile .workspace-drawer .workspace-drawer-tab-options::before{position:fixed;z-index:1;transition:var(--anim-duration-fast);inset:0;background-color:var(--mobile-sidebar-background);content:""}body.is-mobile .workspace-drawer .workspace-drawer-tab-options-list{background-color:rgba(0,0,0,0);padding:0}body.is-mobile .workspace-drawer .workspace-drawer-tab-options .workspace-tab-header-inner{padding:calc(12px*var(--density-modifier)) 16px;font-weight:var(--font-normal)}body.is-mobile .workspace-drawer .workspace-drawer-tab-options .workspace-drawer-tab-select .workspace-tab-header-inner{background-color:rgba(0,0,0,0)}body.is-mobile .workspace-drawer .nav-header{padding:0}body.is-mobile .workspace-drawer .search-row,body.is-mobile .workspace-drawer .nav-header .search-input-container{margin:8px var(--safe-area-inset-side) 0;width:-webkit-fill-available;width:stretch}body.is-mobile .workspace-drawer .nav-buttons-container{padding:0 var(--safe-area-inset-side)}body.is-mobile .workspace-drawer .nav-buttons-container::after{content:none !important}body.is-mobile .workspace-drawer .nav-action-button{background-color:rgba(0,0,0,0);min-width:0}body.is-mobile .workspace-drawer .nav-action-button svg.svg-icon{flex-shrink:0}body.is-mobile .workspace-drawer .nav-action-button.is-active{color:var(--interactive-accent)}body.is-mobile.horizontal-tab-options .workspace-drawer-tab-options-list{flex-direction:row;overflow:visible}body.is-mobile.horizontal-tab-options .workspace-drawer-tab-options-list .workspace-tab-header{flex:1;animation:none !important}body.is-mobile.horizontal-tab-options .workspace-drawer-tab-options-list .workspace-tab-header-inner{padding-inline:0 !important}body.is-mobile.horizontal-tab-options .workspace-drawer-tab-options-list .workspace-tab-header:not(.is-swiping) .workspace-tab-header-inner-title{opacity:0}body.is-mobile.horizontal-tab-options .workspace-drawer-tab-options-list .workspace-tab-header-inner-title{position:fixed;align-self:center;inset:0;width:100%;color:var(--text-muted);text-align:center}body.is-mobile .mobile-toolbar-spacer{background-color:rgba(0,0,0,0)}body.is-mobile .mobile-toolbar{box-shadow:none}body.is-mobile .pull-action{border-radius:100vh;background-color:var(--background-secondary);background-image:none;border:var(--border-width) solid var(--background-modifier-border);padding:16px;width:auto;color:var(--text-normal);font-size:var(--font-ui-small);transition:var(--anim-duration-fast),opacity var(--anim-duration-slow),transform 0s !important}@starting-style{body.is-mobile .pull-action{opacity:0}}body.is-mobile .pull-action.pull-action.mod-activated{font-weight:calc(var(--font-weight) + var(--bold-modifier));background-color:var(--interactive-accent);color:var(--text-on-accent);border-color:rgba(0,0,0,0)}body.is-mobile .pull-down-action{inset:calc(var(--safe-area-inset-top) + 8px) 8px auto;max-width:480px}body.is-phone{--mobile-sidebar-radius: 0}body.is-phone .workspace-drawer{width:var(--mobile-sidebar-width-override, var(--mobile-sidebar-width))}body.is-phone .workspace-drawer-header{z-index:1;justify-content:flex-end}body.is-phone .workspace-drawer-header-left{position:absolute;flex-direction:row;align-items:center;margin:8px;inset:var(--safe-area-inset-top) var(--safe-area-inset-side) auto;gap:8px}body.is-phone .workspace-drawer-header-name{white-space:nowrap;min-width:0}body.is-phone .workspace-drawer-header-info{margin-top:0;margin-left:auto;color:var(--text-faint);white-space:nowrap}body.is-phone .workspace-drawer-tab-options{position:fixed;bottom:var(--navbar-bottom-offset);z-index:2;width:-webkit-fill-available;width:stretch;margin-inline:var(--safe-area-inset-side);height:var(--touch-size-m)}body.is-phone .workspace-drawer-tab-options.is-collapsed{margin-right:calc(var(--safe-area-inset-side) + var(--touch-size-m))}body.is-phone .workspace-drawer-tab-select{height:100%}body.is-phone .workspace-drawer-tab-select .workspace-tab-header-inner{justify-content:flex-start}body.is-phone .workspace-drawer-tab-select .workspace-tab-header-inner-title{flex:unset;width:auto}body.is-phone .workspace-drawer-tab-options-list{margin:0 0 var(--touch-size-m)}body.is-phone .workspace-drawer .workspace-leaf-content .nav-header~div:last-child{padding-top:16px !important;mask:linear-gradient(to top, hsla(0, 0%, 0%, 0) 0px, hsla(0, 0%, 0%, 0.013) 5px, hsla(0, 0%, 0%, 0.049) 10px, hsla(0, 0%, 0%, 0.104) 14px, hsla(0, 0%, 0%, 0.175) 18px, hsla(0, 0%, 0%, 0.259) 22px, hsla(0, 0%, 0%, 0.352) 26px, hsla(0, 0%, 0%, 0.45) 30px, hsla(0, 0%, 0%, 0.55) 34px, hsla(0, 0%, 0%, 0.648) 38px, hsla(0, 0%, 0%, 0.741) 42px, hsla(0, 0%, 0%, 0.825) 46px, hsla(0, 0%, 0%, 0.896) 50px, hsla(0, 0%, 0%, 0.951) 54px, hsla(0, 0%, 0%, 0.987) 59px, hsl(0, 0%, 0%) 64px, black calc(100% - 16px), transparent)}body.is-phone .workspace-drawer-inner{padding-top:calc(var(--safe-area-inset-top) + 32px)}body.is-phone .mod-root{mask-image:none !important}body.is-phone .mod-root .view-header{top:0;transition:var(--anim-duration-moderate) var(--anim-motion-baseline);will-change:top;z-index:3;padding-inline:var(--safe-area-inset-side)}body.is-phone .mod-root .view-actions{padding:0}body.is-phone .mod-root .workspace-leaf-content[data-type=markdown]>.view-content>div{mask-image:var(--view-bottom-fade-mask)}body.is-phone:not(.mode-switcher-off) .mod-root .view-action,body.is-phone:not(.mode-switcher-off) .mod-root .view-actions{backdrop-filter:none}body.is-phone.auto-full-screen.is-hidden-nav .mod-root .view-header{transform:none;top:-32px}body.is-phone.auto-full-screen.is-hidden-nav .mobile-navbar,body.is-phone.auto-full-screen.is-hidden-nav:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-header .view-actions button:nth-last-child(2){transform:none;bottom:calc(-1*var(--navbar-bottom-offset))}body.is-phone.auto-full-screen.is-hidden-nav .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::before,body.is-phone.auto-full-screen.is-hidden-nav .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::after{opacity:0}body.is-phone.is-hidden-nav{--view-top-fade-mask: linear-gradient(to bottom, rgba(0, 0, 0, var(--view-top-fade-opacity)) 0%, black calc(var(--safe-area-inset-top) + var(--view-header-height) + 12px))}body.is-phone.is-floating-nav:not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::before,body.is-phone.is-floating-nav:not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::after{position:absolute;z-index:1;backdrop-filter:blur(2px);inset-inline:0;pointer-events:none;content:"";transition:var(--anim-duration-moderate)}body.is-phone.is-floating-nav:not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::before{top:0;mask:linear-gradient(to bottom, black calc(var(--safe-area-inset-top) + var(--view-header-height) / 2), transparent);height:var(--view-top-spacing-markdown)}body.is-phone.is-floating-nav:not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::after{bottom:0;mask:linear-gradient(to top, black var(--navbar-bottom-offset), transparent);height:var(--view-bottom-spacing)}body.is-phone:not(html:where([style*="--keyboard-height: 0px"],:not([style*="--keyboard-height"])) body):not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){opacity:0;pointer-events:none}body.is-phone:not(html:where([style*="--keyboard-height: 0px"],:not([style*="--keyboard-height"])) body):not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown]>.view-content>div{mask-image:none}body.is-phone:not(html:where([style*="--keyboard-height: 0px"],:not([style*="--keyboard-height"])) body):not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::after{content:none !important}body.is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){position:fixed;transition:var(--anim-duration-moderate) var(--anim-motion-baseline),height 0s,opacity 0s !important;right:var(--navbar-side-offset);bottom:var(--navbar-bottom-offset);margin-bottom:0;border-radius:100%;width:var(--touch-size-l);height:var(--touch-size-l);background-color:var(--background-secondary);border:var(--border-width) solid var(--background-modifier-border)}body.is-phone.mod-toolbar-open:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){width:var(--touch-size-m);height:var(--touch-size-m);right:var(--keyboard-spacing);bottom:var(--keyboard-spacing)}body.is-phone:not(.is-floating-nav):not(.mode-switcher-off):not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){right:16px;bottom:16px}body.is-phone:not(.is-floating-nav).auto-full-screen:not(.mode-switcher-off):not(.mod-toolbar-open) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){bottom:calc(var(--navbar-height) + 16px)}body.is-phone>.app-container>.horizontal-main-container:has(.workspace>.mod-root>.workspace-tabs.mod-visible>.workspace-tab-container>.workspace-leaf.mod-active>.workspace-leaf-content:not([data-type=markdown])) .view-actions button:nth-last-child(2){opacity:0;pointer-events:none}body.is-phone.is-floating-nav.mode-switcher-off .mobile-navbar,body.is-phone.is-floating-nav>.app-container>.horizontal-main-container:has(.workspace>.mod-root>.workspace-tabs.mod-visible>.workspace-tab-container>.workspace-leaf.mod-active>.workspace-leaf-content:not([data-type=markdown]))~.mobile-navbar{max-width:calc(100% - var(--navbar-side-offset)*2)}body.is-phone .mobile-navbar{width:100%;max-width:calc(100% - 8px - var(--touch-size-l) - var(--navbar-side-offset)*2);inset:auto var(--navbar-side-offset) var(--navbar-bottom-offset);overflow:hidden;padding:8px;margin:0;transition:var(--anim-duration-moderate) var(--anim-motion-baseline),background-color var(--anim-duration-moderate);will-change:bottom}body.is-phone .mobile-navbar-action{min-width:0;margin-inline-start:0}body.is-phone .mobile-navbar-actions{--icon-size: var(--icon-l);--icon-stroke: var(--icon-l-stroke-width)}body.is-phone .mobile-navbar-tabs-action{font-family:"Inter"}body.is-phone:not(.is-floating-nav) .mobile-navbar{margin:0 auto;inset:auto 0 0;box-shadow:none !important;border:none !important;background-color:var(--background-primary) !important;padding:0 8px var(--navbar-bottom-offset);max-width:var(--navbar-max-width)}body.is-phone.mode-switcher-off .mobile-toolbar{right:var(--keyboard-spacing)}body.is-phone.mod-toolbar-open .mod-root .view-content{margin-bottom:calc(var(--mobile-toolbar-height) + var(--keyboard-spacing))}body.is-phone .mobile-toolbar-spacer{display:none}body.is-phone .mobile-toolbar{box-shadow:none;top:auto;bottom:var(--keyboard-spacing);left:var(--keyboard-spacing);right:calc(var(--keyboard-spacing) + var(--touch-size-m) + 4px);width:auto}body.is-phone .mobile-toolbar-options-container{gap:4px;width:100%;margin:0;border-radius:0}body.is-tablet{--titlebar-background: var(--background-secondary) !important;--titlebar-background-focused: var(--background-secondary) !important;--mobile-sidebar-min-width: unset}body.is-tablet .workspace{background-color:var(--mobile-sidebar-background)}body.is-tablet .workspace-tab-header{padding-bottom:0 !important}body.is-tablet .workspace-tab-header-new-tab,body.is-tablet .workspace-tab-header-tab-list,body.is-tablet .sidebar-toggle-button,body.is-tablet .view-header-left,body.is-tablet .view-actions{padding:4px 0}body.is-tablet .workspace .mod-root .workspace-tab-header-container .clickable-icon,body.is-tablet .view-header .clickable-icon,body.is-tablet .workspace-drawer-header-icon{border-radius:100vh;padding:10px;position:relative;margin-left:0}body.is-tablet .workspace-drawer.is-pinned,body.is-tablet .workspace-split.mod-root,body.is-tablet .workspace-split.mod-root .workspace-split{background-color:rgba(0,0,0,0);border-width:0}body.is-tablet .workspace-drawer .workspace-drawer-ribbon .side-dock-actions{padding-block:12px}body.is-tablet .workspace-drawer .workspace-drawer-header-left{margin-left:12px}body.is-tablet .workspace-drawer .workspace-leaf-content .nav-header~div:last-child{mask:linear-gradient(to bottom, transparent, black 16px, black calc(100% - 16px), transparent)}body.is-tablet .workspace-drawer .workspace-drawer-tab-options-list{margin:var(--touch-size-l) 0 0}body.is-tablet .workspace-drawer:not(.is-pinned).mod-left{max-width:var(--mobile-left-sidebar-width, var(--mobile-sidebar-max-width))}body.is-tablet .workspace-drawer:not(.is-pinned).mod-right{max-width:var(--mobile-right-sidebar-width, var(--mobile-sidebar-max-width))}body.is-tablet .workspace-drawer.is-pinned.mod-left{width:var(--mobile-left-sidebar-width-pinned, var(--mobile-sidebar-width-pinned))}body.is-tablet .workspace-drawer.is-pinned.mod-right{width:var(--mobile-right-sidebar-width-pinned, var(--mobile-sidebar-width-pinned))}body.is-tablet .workspace-drawer:not(.is-pinned){margin:var(--safe-area-inset-top) 8px calc(var(--keyboard-height) + 8px);padding-top:0;border-radius:var(--mobile-sidebar-radius);height:auto}body.is-tablet .workspace-drawer:not(.is-pinned) .workspace-drawer-inner{padding-top:0px}body.is-tablet .workspace-drawer.is-pinned{flex-shrink:0;max-width:35%}body.is-tablet .workspace-drawer .workspace-drawer-tab-options{margin:8px}body.is-tablet .workspace-drawer .workspace-drawer-active-tab-container{background-color:rgba(0,0,0,0)}body.is-tablet .workspace-drawer-header-icon.mod-raised{backdrop-filter:none;box-shadow:none;background-color:rgba(0,0,0,0);border:none}body.is-tablet .workspace-drawer-header-icon::after{content:none !important}/*! +/* @settings + +name: Cupertino +id: cupertino +settings: + - + id: cupertino-desc + description: "Cupertino offers simplified, native-style UI. For granular controls, try [Baseline](obsidian://show-theme?name=Baseline)." + type: info-text + markdown: true + - + id: colorful-frame + title: Tinted sidebar + description: Apply a subtle tint to the sidebar based on accent color. + type: class-toggle + - + id: material-color + title: Dynamic color + description: Apply dynamic theming based on accent color. + type: class-toggle + - + id: adaptive-mode-off + title: Disable adaptive mode + description: Prevent automatic styling based on operating system. + type: class-toggle + - + id: tab-floating + title: Disable centered tabs + type: class-toggle + - + id: desktop-header + title: Desktop + type: heading + level: 1 + collapsed: true + - + id: hover-ribbon + title: Hover ribbon + description: Reveal ribbon by hovering over left window edge. + type: class-toggle + addCommand: true + - + id: hover-sidedock + title: Hover sidebar + description: Reveal collapsed sidebars by hovering over window edges. + type: class-toggle + addCommand: true + - + id: focus-view + title: Focus view + description: Hide tabs and table title bar when both sidebars are collapsed. + type: class-toggle + addCommand: true + - + id: nav-action-center + title: Disable compact panel actions + type: class-toggle + - + id: tab-icon + title: Disable compact sidebar tabs + type: class-toggle + - + id: status-bar-baseline + title: Disable compact status bar + type: class-toggle + - + id: zoom-off + title: Disable media zoom + type: class-toggle + - + id: editor + title: Editor + type: heading + level: 1 + collapsed: true + - + id: active-line-off + title: Disable active line highlight + type: class-toggle + - + id: banner-off + title: Disable banner + type: class-toggle + - + id: block-width-off + title: Disable block width + type: class-toggle + - + id: font-variant-off + title: Disable font variants + type: class-toggle + - + id: full-width-media-off + title: Disable full-width elements + type: class-toggle + - + id: mode-switcher-off + title: Disable quick mode switcher + type: class-toggle + - + id: accessibility + title: Accessibility + type: heading + level: 1 + collapsed: true + - + id: reduce-contrast-change + title: Reduce contrast change + description: Minimize contrast shifts when window loses focus. + type: class-toggle + - + id: reduce-motion + title: Reduce motion + description: Minimize animation effects. + type: class-toggle + - + id: dynamic-type-off + title: Standard font size + description: Disable operating system-based dynamic font sizes. + type: class-toggle + - + id: font-ui-modifier + title: Interface font size + description: Fine-tune interface text size. + type: variable-number-slider + default: 0 + min: -8 + max: 8 + step: 1 + format: px + - + id: icon-size-modifier + title: Icon size + description: Fine-tune icon size. + type: variable-number-slider + default: 0 + min: -4 + max: 4 + step: 1 + format: px + - + id: clean-link-off + title: Underlined links + description: Always underline links for improved visibility. + type: class-toggle +*/.view-content .style-settings-container .style-settings-container .setting-item{align-items:center;padding:16px}.view-content .style-settings-container .style-settings-container .setting-item:not(.setting-item-heading){flex-direction:row}.view-content .style-settings-container .style-settings-container .setting-item .setting-item-control{padding-top:0}.style-settings-heading:not(.is-collapsed){border-bottom:none}.style-settings-heading,.style-settings-container{margin-block:0 !important;padding-left:32px}.style-settings-heading{border-radius:0;padding:16px !important}.style-settings-heading .setting-item-name{color:var(--text-normal) !important}.style-settings-container .setting-item{margin-bottom:0;border-radius:0;gap:4px !important}.style-settings-container .setting-item-description>div:last-child{display:none}.style-settings-container .setting-item:not(.style-settings-heading)>.setting-item-control{min-height:var(--input-height)}.style-settings-container .setting-item:nth-child(1 of .setting-item:not(.setting-item-heading)){border-top-right-radius:var(--setting-items-radius);border-top-left-radius:var(--setting-items-radius)}.style-settings-container .setting-item:nth-last-child(1 of .setting-item:not(.setting-item-heading)){border-bottom-right-radius:var(--setting-items-radius);border-bottom-left-radius:var(--setting-items-radius)}body:not(.mod-macos,.adaptive-mode-off) .setting-item[data-id=colorful-frame],body:not(.is-android:not(.adaptive-mode-off)) .setting-item[data-id=material-color]{display:none}@media screen,print{body{--inline-title-color: inherit;--inline-title-margin-bottom: calc(0.5em * var(--readable-spacing-modifier, 1));--heading-spacing: 2em;--p-spacing: 1.75rem;--line-height-normal: 1.6;--list-spacing: 0.175em;--h1-size: 1.5em;--h2-size: 1.25em;--h3-size: 1.125em;--h4-size: 1em;--h5-size: 1em;--h6-size: 0.875em;--file-margins-y: 32px;--file-margins-x: 32px;--file-margins: var(--file-margins-y) var(--file-margins-x);--code-border-width: 1px;--code-size: var(--font-smallest);--embed-padding: 16px;--embed-max-height: none;--embed-background: var(--background-primary-alt);--embed-border-start: var(--embed-border-thickness, 2px) solid var(--embed-border-color, var(--color-base-50));--media-radius: var(--radius-s);--checkbox-radius: 100px;--metadata-gap: 8px;--tag-padding-x: 8px;--tag-padding-y: 4px;--tag-radius: 8px;--tag-weight: var(--font-medium);--indentation-guide-width: 0px;--file-header-border: none}body:is(.mod-macos,.adaptive-mode-off):not(.font-variant-off) .markdown-reading-view,body:is(.mod-macos,.adaptive-mode-off):not(.font-variant-off) .markdown-source-view{font-feature-settings:"ss01" 1,"ss07" 1,"cv07" 1}.workspace-split.mod-root .workspace-tab-container{border-radius:var(--tab-radius);transition:var(--anim-duration-moderate);overflow:hidden}body:not(.mod-macos,.adaptive-mode-off):not(.is-phone) .workspace-split.mod-vertical{gap:8px}body:not(.mod-macos,.adaptive-mode-off):not(.is-phone) .workspace-split:not(.mod-sidedock)>*>.workspace-leaf-resize-handle:not(:hover){border-color:rgba(0,0,0,0)}.markdown-preview-view,.markdown-source-view{color:var(--text-normal-editor, var(--text-normal))}.view-header{padding:0 8px;flex-shrink:0}.view-header-nav-buttons,.view-actions{--icon-size: var(--icon-m);--icon-stroke: var(--icon-m-stroke-width);gap:0 !important}.view-header-title-container{height:auto !important}.view-header-title-container>div{transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.view-header-title-parent{color:var(--text-faint)}.view-header-title{font-weight:max(var(--file-header-font-weight),var(--font-medium))}.view-header:not(.view-header-always-show):not(:hover) .view-header-title-container>div:not(:focus-within){opacity:0 !important}.document-search-buttons,.document-replace-buttons{flex-grow:0 !important}body:not(.active-line-off) .markdown-source-view .cm-line.cm-active:not(:has(.cm-fold-indicator):hover)::after{position:absolute;top:4px;bottom:4px;inset-inline-start:-16px;border-left:4px solid var(--background-modifier-border-hover);border-radius:var(--input-radius);content:""}.markdown-rendered pre{-electron-corner-smoothing:var(--corner-smoothing)}.markdown-rendered code{-electron-corner-smoothing:var(--corner-smoothing);padding:2px 4px}.markdown-rendered pre code{white-space:var(--code-white-space)}body:is(.mod-macos,.adaptive-mode-off) .markdown-rendered pre{background:linear-gradient(var(--background-primary-alt), var(--background-secondary));box-shadow:var(--shadow-tactile)}kbd{box-shadow:var(--shadow-tactile);border:1px solid var(--background-modifier-border);background-color:var(--background-secondary);padding:var(--tag-padding-y) var(--tag-padding-x);font-family:var(--font-text);color:var(--text-muted)}.dataview .inline-field-standalone-value,.dataview.inline-field-key,.dataview.inline-field-value{font-family:var(--font-text);font-size:var(--font-smaller);background:rgba(0,0,0,0);color:var(--text-faint);padding-inline:2px}.embed-strict{--embed-border-start: none;--embed-background: transparent;--embed-padding: 0}.embed-hide-title .embed-title,.embed-title:empty{display:none}.markdown-embed{-electron-corner-smoothing:var(--corner-smoothing)}.markdown-embed:not(.image-embed,.canvas-node-content){display:flex;flex-direction:column;max-height:var(--embed-max-height);overflow:hidden;border-start-end-radius:var(--media-radius);border-end-end-radius:var(--media-radius)}.inline-embed>.markdown-embed-title{padding-bottom:var(--inline-title-margin-bottom)}.inline-embed>.markdown-embed-content{max-height:100%}.block-language-chart{width:100% !important}body:not(.is-mobile) .inline-title:not([data-level]){position:relative}body:not(.is-mobile) .inline-title:not([data-level])::before{content:"";position:absolute;inset:-8px;border-radius:var(--radius-s);pointer-events:none;transition:var(--anim-duration-fast);border:var(--border-width) solid rgba(0,0,0,0)}body:not(.is-mobile) .inline-title:not([data-level]):focus-within::before{border-color:var(--background-modifier-border)}body:not(.is-mobile) .inline-title:not([data-level]):hover:not(:focus-within)::before{background-color:var(--background-modifier-hover)}body:not(.is-mobile) .inline-title:not([data-level]):not(:focus-within){cursor:pointer}.inline-title:not([data-level]),.markdown-rendered :is(h1,h2,h3,h4,h5,h6),.HyperMD-header{letter-spacing:normal !important;text-wrap:pretty}.markdown-reading-view mark,.markdown-source-view mark,.markdown-rendered mark{-webkit-box-decoration-break:clone;box-decoration-break:clone;border-radius:var(--radius-s);padding:2px 4px;color:var(--text-highlight, var(--text-normal));font-weight:var(--font-medium)}.cm-s-obsidian span.cm-highlight{-webkit-box-decoration-break:clone;box-decoration-break:clone;padding-block:2px}.cm-line .cm-highlight:nth-child(1 of .cm-highlight){border-top-left-radius:var(--radius-s);border-bottom-left-radius:var(--radius-s);padding-left:4px}.cm-line .cm-highlight:nth-last-child(1 of .cm-highlight){border-top-right-radius:var(--radius-s);border-bottom-right-radius:var(--radius-s);padding-right:4px}img:not(.link-favicon),iframe,video,.file-embed{-electron-corner-smoothing:var(--corner-smoothing);border-radius:var(--media-radius)}.image-embed{padding-bottom:0px;padding-inline-end:0px}body:not(.full-width-media-off) .workspace-leaf-content[data-type=markdown] img:not([width],.cm-widgetBuffer,.link-favicon,.emoji,[alt=banner]),body:not(.full-width-media-off) .workspace-leaf-content[data-type=markdown] iframe,body:not(.full-width-media-off) .workspace-leaf-content[data-type=markdown] video{width:100%;border-radius:var(--media-radius)}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed):has(span:last-child),.img-grid .markdown-preview-section .el-p>p:has(>img):not(:has(>:not(img))){--p-spacing: 4px;display:flex;gap:var(--img-grid-gap, 4px);line-height:0}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed):has(span:last-child) br,.img-grid .markdown-preview-section .el-p>p:has(>img):not(:has(>:not(img))) br{display:none}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed):has(span:last-child)>img,.img-grid .markdown-preview-section .el-p>p:has(>.image-embed):has(span:last-child)>.image-embed,.img-grid .markdown-preview-section .el-p>p:has(>img):not(:has(>:not(img)))>img,.img-grid .markdown-preview-section .el-p>p:has(>img):not(:has(>:not(img)))>.image-embed{flex:1;object-fit:cover}.img-grid .markdown-preview-section .el-p>p:has(>.image-embed):has(span:last-child) img,.img-grid .markdown-preview-section .el-p>p:has(>img):not(:has(>:not(img))) img{height:-webkit-fill-available;overflow:auto;object-fit:cover}body.unstyled-tags{--tag-background: transparent;--tag-background-hover: transparent;--tag-border-width: 0px;--tag-padding-x: 0;--tag-padding-y: 0;--tag-size: inherit;--tag-color-hover: var(--text-accent-hover)}.task-list-item{--indentation-guide-reading-indent: -1.05em}.theme-dark.pdf-invert-dark .pdf-container .pdfViewer .page{filter:invert(1) hue-rotate(180deg) contrast(0.75)}.pdf-container .pdfViewer .page{transition-duration:var(--anim-duration-moderate);transition-property:filter,opacity}.pdf-container .pdfViewer .page:not(:hover){opacity:var(--pdf-muted, 1)}body:not(.clean-link-off){--link-decoration: none;--link-external-decoration: none}}@media screen,print{body{--metadata-label-width: calc(9em * var(--metadata-label-width-multiplier, 1))}body.is-phone{--metadata-label-width: calc(7.5em * var(--metadata-label-width-multiplier, 1))}body.is-mobile .metadata-content{background-color:rgba(0,0,0,0);padding:0}.metadata-container{--metadata-divider-width: 0 !important}.metadata-properties-heading{padding-inline:0;width:100%}.metadata-property-icon::before{display:none}.metadata-property-key{padding-inline:8px}.metadata-property-key-input,.metadata-input{box-shadow:none !important;border-bottom:none !important}.metadata-input-longtext:not(:focus){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.metadata-link{width:100%}.metadata-property-value[data-property-type=tags] .multi-select-container{padding-block:0}.multi-select-pill{line-height:var(--line-height-tight) !important}.workspace>.workspace-split:not(.mod-root) .metadata-container .metadata-properties{--metadata-divider-width: 0px;--metadata-gap: 8px}.mod-root .metadata-container .text-icon-button{gap:8px;transition:var(--anim-duration-moderate) var(--anim-motion-baseline);margin-top:4px;background-color:rgba(0,0,0,0);padding-inline:8px;color:var(--text-faint);font-weight:normal;text-transform:lowercase}.mod-root .metadata-container .text-icon-button:hover{color:var(--text-muted)}.mod-root .metadata-content{transform:translateX(-8px) !important;width:calc(100% + 16px) !important}.markdown-source-view .metadata-container,.markdown-preview-view .metadata-container{transform:none}body .workspace-split{--metadata-gap: 0;--metadata-padding: 0;--metadata-property-radius: var(--radius-m);--metadata-property-radius-hover: var(--radius-m);--metadata-property-radius-focus: var(--radius-m)}body .workspace-split .metadata-container{--input-padding: 8px}body .workspace-split .metadata-container .metadata-properties-heading{padding-inline:0px}body .workspace-split .metadata-container .metadata-properties{border-radius:var(--radius-m);background-color:var(--background-primary-alt)}body .workspace-split .metadata-container .metadata-property{min-height:44px}body .workspace-split .metadata-container .metadata-property-icon,body .workspace-split .metadata-container .text-icon-button{--icon-size: var(--icon-s);--icon-stroke: var(--icon-s-stroke-width)}body .workspace-split .metadata-container .metadata-property-key,body .workspace-split .metadata-container .text-icon-button{padding:8px 16px}body .workspace-split.is-mobile .metadata-container .metadata-property-key,body .workspace-split.is-mobile .metadata-container .text-icon-button{padding-inline-end:4px}body .workspace-split .workspace-split:not(.mod-root) .metadata-container{padding:8px !important}body .workspace-split .markdown-reading-view .metadata-container:not(:hover) .text-icon-button{opacity:0;padding-block:0;height:0}}@media screen,print{body{--blockquote-background-color: var(--background-primary-alt);--blockquote-border-color: var(--color-base-50);--blockquote-border-thickness: 2px;--blockquote-size: var(--font-text-size)}.markdown-rendered blockquote,.HyperMD-quote{-electron-corner-smoothing:var(--corner-smoothing);font-size:var(--blockquote-size)}.cm-formatting-quote{margin-left:8px}.markdown-rendered blockquote{position:relative;border-radius:var(--radius-s);border-inline-start:none;padding-inline:calc(32px + var(--blockquote-border-thickness)) 16px;padding-block:16px}.markdown-rendered blockquote>blockquote{padding-inline-start:calc(16px + var(--blockquote-border-thickness));padding-block:0 !important}.markdown-rendered blockquote>blockquote::before{top:0;bottom:0;inset-inline-start:0}.markdown-rendered blockquote::before{position:absolute;top:16px;bottom:16px;inset-inline-start:16px;border-radius:var(--radius-s);background-color:var(--blockquote-border-color);width:var(--blockquote-border-thickness);pointer-events:none;content:""}.HyperMD-quote{border:solid var(--blockquote-background-color);border-width:0 16px 0 16px;background-color:var(--blockquote-background-color)}.HyperMD-quote::before{width:0 !important}.HyperMD-quote:first-child,.cm-sizer>div>div>*:not(.HyperMD-quote)+.HyperMD-quote{border-top-width:16px;border-start-start-radius:var(--radius-s);border-start-end-radius:var(--radius-s)}.HyperMD-quote:first-child::before,.cm-sizer>div>div>*:not(.HyperMD-quote)+.HyperMD-quote::before{border-start-start-radius:var(--radius-s);border-start-end-radius:var(--radius-s)}.HyperMD-quote:last-child,.cm-sizer>div>div>.HyperMD-quote:has(+*:not(.HyperMD-quote)){border-bottom-width:16px;border-end-start-radius:var(--radius-s);border-end-end-radius:var(--radius-s)}.HyperMD-quote:last-child::before,.cm-sizer>div>div>.HyperMD-quote:has(+*:not(.HyperMD-quote))::before{border-end-start-radius:var(--radius-s);border-end-end-radius:var(--radius-s)}}@media screen,print{body{--callout-blend-mode: normal;--callout-border-width: var(--divider-width);--callout-padding: 16px;--callout-size: var(--font-text-size)}.callout:not([data-callout=note-toolbar]){-electron-corner-smoothing:var(--corner-smoothing);font-size:var(--callout-size)}.callout:not([data-callout=note-toolbar]) .callout-content>*:first-child{margin-top:8px}.callout:not([data-callout=note-toolbar]) .callout-content>*:last-child{margin-bottom:0 !important}.callout:not([data-callout=note-toolbar]) pre{box-shadow:none;border:var(--border-width) solid var(--background-modifier-border)}.callout:not([data-callout=note-toolbar]) .callout-title{align-items:center;gap:8px}.callout:not([data-callout=note-toolbar]).is-collapsible .callout-title{cursor:pointer}.callout:not([data-callout=note-toolbar]) .callout-title-inner{--p-spacing: 0;color:color-mix(in srgb, rgb(var(--callout-color)), var(--text-normal) 15%)}.callout:not([data-callout=note-toolbar]) .callout-fold{padding-inline-end:0}.callout:not([data-callout=note-toolbar]) .callout-content{margin-left:calc(var(--icon-size) + 8px)}.callout:not([data-callout]){--callout-color: var(--color-accent);background-color:hsla(var(--color-accent-hsl), 0.15);border-color:hsla(var(--color-accent-hsl), var(--callout-border-opacity))}.callout:not([data-callout]) .callout-title{color:var(--callout-color)}body:is(.mod-macos,.adaptive-mode-off) .callout:not([data-callout=note-toolbar]){box-shadow:var(--shadow-tactile);background:linear-gradient(rgba(var(--callout-color), 0.1), rgba(var(--callout-color), 0.15))}}@media screen,print{body{--table-text-size: var(--font-small);--table-add-button-border-width: 0;--table-header-border-color: transparent;--embed-block-shadow-hover: none}body:not(.full-width-media-off) table,body:not(.full-width-media-off) .markdown-source-view.mod-cm6 .cm-table-widget .table-wrapper{min-width:100%}:root table{border-collapse:separate;border-spacing:0}blockquote,.callout,.el-table,.cm-table-widget,.block-language-dataview,.block-language-dataviewjs,.block-language-datacorejsx{--table-border-color: var(--background-modifier-border)}blockquote table,.callout table,.el-table table,.cm-table-widget table,.block-language-dataview table,.block-language-dataviewjs table,.block-language-datacorejsx table{position:relative}blockquote table .table-cell-wrapper:active,blockquote table .table-cell-wrapper:focus,blockquote table .table-cell-wrapper:focus-within,.callout table .table-cell-wrapper:active,.callout table .table-cell-wrapper:focus,.callout table .table-cell-wrapper:focus-within,.el-table table .table-cell-wrapper:active,.el-table table .table-cell-wrapper:focus,.el-table table .table-cell-wrapper:focus-within,.cm-table-widget table .table-cell-wrapper:active,.cm-table-widget table .table-cell-wrapper:focus,.cm-table-widget table .table-cell-wrapper:focus-within,.block-language-dataview table .table-cell-wrapper:active,.block-language-dataview table .table-cell-wrapper:focus,.block-language-dataview table .table-cell-wrapper:focus-within,.block-language-dataviewjs table .table-cell-wrapper:active,.block-language-dataviewjs table .table-cell-wrapper:focus,.block-language-dataviewjs table .table-cell-wrapper:focus-within,.block-language-datacorejsx table .table-cell-wrapper:active,.block-language-datacorejsx table .table-cell-wrapper:focus,.block-language-datacorejsx table .table-cell-wrapper:focus-within{background-color:var(--background-modifier-hover)}blockquote table th,blockquote table td,.callout table th,.callout table td,.el-table table th,.el-table table td,.cm-table-widget table th,.cm-table-widget table td,.block-language-dataview table th,.block-language-dataview table td,.block-language-dataviewjs table th,.block-language-dataviewjs table td,.block-language-datacorejsx table th,.block-language-datacorejsx table td{-electron-corner-smoothing:var(--corner-smoothing)}blockquote table>thead:only-child,blockquote table>tbody,.callout table>thead:only-child,.callout table>tbody,.el-table table>thead:only-child,.el-table table>tbody,.cm-table-widget table>thead:only-child,.cm-table-widget table>tbody,.block-language-dataview table>thead:only-child,.block-language-dataview table>tbody,.block-language-dataviewjs table>thead:only-child,.block-language-dataviewjs table>tbody,.block-language-datacorejsx table>thead:only-child,.block-language-datacorejsx table>tbody{--table-header-border-color: var(--table-border-color);background-color:var(--background-primary-alt);position:relative}blockquote table>thead:not(:only-child)>tr>th,blockquote table>thead:not(:only-child)>tr>th .table-cell-wrapper,.callout table>thead:not(:only-child)>tr>th,.callout table>thead:not(:only-child)>tr>th .table-cell-wrapper,.el-table table>thead:not(:only-child)>tr>th,.el-table table>thead:not(:only-child)>tr>th .table-cell-wrapper,.cm-table-widget table>thead:not(:only-child)>tr>th,.cm-table-widget table>thead:not(:only-child)>tr>th .table-cell-wrapper,.block-language-dataview table>thead:not(:only-child)>tr>th,.block-language-dataview table>thead:not(:only-child)>tr>th .table-cell-wrapper,.block-language-dataviewjs table>thead:not(:only-child)>tr>th,.block-language-dataviewjs table>thead:not(:only-child)>tr>th .table-cell-wrapper,.block-language-datacorejsx table>thead:not(:only-child)>tr>th,.block-language-datacorejsx table>thead:not(:only-child)>tr>th .table-cell-wrapper{border-radius:var(--radius-s)}blockquote table>tbody>tr:not(:last-child)>td,.callout table>tbody>tr:not(:last-child)>td,.el-table table>tbody>tr:not(:last-child)>td,.cm-table-widget table>tbody>tr:not(:last-child)>td,.block-language-dataview table>tbody>tr:not(:last-child)>td,.block-language-dataviewjs table>tbody>tr:not(:last-child)>td,.block-language-datacorejsx table>tbody>tr:not(:last-child)>td{border-bottom:none}blockquote table>thead>tr>th:not(:last-child),blockquote table>tbody>tr>td:not(:last-child),.callout table>thead>tr>th:not(:last-child),.callout table>tbody>tr>td:not(:last-child),.el-table table>thead>tr>th:not(:last-child),.el-table table>tbody>tr>td:not(:last-child),.cm-table-widget table>thead>tr>th:not(:last-child),.cm-table-widget table>tbody>tr>td:not(:last-child),.block-language-dataview table>thead>tr>th:not(:last-child),.block-language-dataview table>tbody>tr>td:not(:last-child),.block-language-dataviewjs table>thead>tr>th:not(:last-child),.block-language-dataviewjs table>tbody>tr>td:not(:last-child),.block-language-datacorejsx table>thead>tr>th:not(:last-child),.block-language-datacorejsx table>tbody>tr>td:not(:last-child){border-right:none}blockquote table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,blockquote table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.callout table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.callout table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.el-table table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.el-table table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.cm-table-widget table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.cm-table-widget table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataview table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.block-language-dataview table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataviewjs table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.block-language-dataviewjs table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.block-language-datacorejsx table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.block-language-datacorejsx table>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper{border-top-left-radius:var(--radius-s)}blockquote table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,blockquote table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.callout table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.callout table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.el-table table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.el-table table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.cm-table-widget table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.cm-table-widget table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataview table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.block-language-dataview table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataviewjs table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.block-language-dataviewjs table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.block-language-datacorejsx table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.block-language-datacorejsx table>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper{border-top-right-radius:var(--radius-s)}blockquote table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,blockquote table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.callout table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.callout table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.el-table table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.el-table table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.cm-table-widget table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.cm-table-widget table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataview table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.block-language-dataview table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataviewjs table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.block-language-dataviewjs table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.block-language-datacorejsx table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.block-language-datacorejsx table>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper{border-bottom-left-radius:var(--radius-s)}blockquote table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,blockquote table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.callout table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.callout table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.el-table table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.el-table table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.cm-table-widget table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.cm-table-widget table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataview table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.block-language-dataview table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataviewjs table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.block-language-dataviewjs table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.block-language-datacorejsx table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.block-language-datacorejsx table>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper{border-bottom-right-radius:var(--radius-s)}blockquote table[dir=rtl]>thead>tr>th:not(:last-child),blockquote table[dir=rtl]>tbody>tr>td:not(:last-child),.callout table[dir=rtl]>thead>tr>th:not(:last-child),.callout table[dir=rtl]>tbody>tr>td:not(:last-child),.el-table table[dir=rtl]>thead>tr>th:not(:last-child),.el-table table[dir=rtl]>tbody>tr>td:not(:last-child),.cm-table-widget table[dir=rtl]>thead>tr>th:not(:last-child),.cm-table-widget table[dir=rtl]>tbody>tr>td:not(:last-child),.block-language-dataview table[dir=rtl]>thead>tr>th:not(:last-child),.block-language-dataview table[dir=rtl]>tbody>tr>td:not(:last-child),.block-language-dataviewjs table[dir=rtl]>thead>tr>th:not(:last-child),.block-language-dataviewjs table[dir=rtl]>tbody>tr>td:not(:last-child),.block-language-datacorejsx table[dir=rtl]>thead>tr>th:not(:last-child),.block-language-datacorejsx table[dir=rtl]>tbody>tr>td:not(:last-child){border-left:none}blockquote table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,blockquote table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.callout table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.callout table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.el-table table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.el-table table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):first-child .table-cell-wrapper{border-top-right-radius:var(--radius-s)}blockquote table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,blockquote table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.callout table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.callout table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.el-table table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.el-table table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:first-child>:is(th,td):last-child .table-cell-wrapper{border-top-left-radius:var(--radius-s)}blockquote table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,blockquote table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.callout table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.callout table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.el-table table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.el-table table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):first-child .table-cell-wrapper{border-bottom-right-radius:var(--radius-s)}blockquote table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,blockquote table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.callout table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.callout table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.el-table table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.el-table table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.cm-table-widget table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.block-language-dataview table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.block-language-dataviewjs table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child,.block-language-datacorejsx table[dir=rtl]>:is(thead,tbody)>tr:last-child>:is(th,td):last-child .table-cell-wrapper{border-bottom-left-radius:var(--radius-s)}.cm-html-embed th,.markdown-rendered th,.cm-html-embed td,.markdown-rendered td,.markdown-source-view.mod-cm6 .cm-table-widget .table-cell-wrapper{padding:8px}.cm-html-embed th,.markdown-rendered th{text-align:var(--table-text-align-header)}.cm-html-embed td,.markdown-rendered td{text-align:var(--table-text-align-body)}.dataview.table-view-table::before,.block-language-datacorejsx.table-view-table::before{border:none}.dataview.table-view-table tr:first-child>td,.block-language-datacorejsx.table-view-table tr:first-child>td{border-top:none}.dataview.table-view-table>thead>tr>th,.dataview .datacore-table-header-cell,.block-language-datacorejsx.table-view-table>thead>tr>th,.block-language-datacorejsx .datacore-table-header-cell{border-bottom:none;font-weight:var(--table-header-weight);font-size:var(--table-header-size)}.dataview.table-view-table>tbody>tr:not(:only-child)>td,.block-language-datacorejsx.table-view-table>tbody>tr:not(:only-child)>td{max-width:20em}.dataview.dataview-error-box,.block-language-datacorejsx.dataview-error-box{border:none;border-radius:var(--radius-s);background-color:var(--background-secondary);min-height:80px}.dataview .dc-paging-control-page,.block-language-datacorejsx .dc-paging-control-page{padding:0 !important}}body{--bases-header-border-width: 0;--bases-table-header-color: var(--text-faint)}.bases-view{border-radius:var(--radius-s)}.mod-sidedock .bases-table-container,.mod-sidedock .bases-tbody{background-color:rgba(0,0,0,0)}.bases-table-container.mod-multiline .bases-table-cell{align-items:var(--bases-table-align-items, start)}.bases-thead .bases-table-header{overflow:hidden}.bases-thead .bases-td{box-shadow:none;border-radius:var(--radius-s);overflow:visible}.bases-thead .bases-td:hover{--bases-table-header-color: var(--text-normal)}.bases-table-header-resizer{border-radius:var(--radius-s)}.bases-table-cell>*{text-overflow:ellipsis;overflow:hidden}body.bases-row-alt .bases-tbody .bases-tr:nth-child(odd){background-color:var(--background-secondary)}body.bases-col-alt .bases-tbody .bases-tr>.bases-td:nth-child(2n+2){background-color:var(--background-secondary)}.bases-cards-item{gap:2px}.bases-cards-label{color:var(--text-faint)}.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view{border:none;border-radius:0}.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-thead,.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody,.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody>.bases-tr:first-child,.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody>.bases-tr>.bases-td:first-child{box-shadow:none}.workspace-leaf-content[data-type=markdown] .bases-embed .bases-view .bases-tbody{border:var(--bases-embed-border-width) solid var(--bases-embed-border-color);border-radius:var(--bases-embed-border-radius);overflow:hidden}.query-toolbar-menu,.bases-toolbar-menu,.cm-tooltip{animation:none !important;min-width:unset}.text-icon-button{border-radius:var(--clickable-icon-radius)}body:not(.is-phone) .menu.bases-toolbar-menu{align-items:unset}body:not(.is-phone) .menu.bases-toolbar-menu .bases-toolbar-menu-form{padding:var(--menu-padding);overflow:visible}body:not(.is-phone) .menu.bases-toolbar-menu .search-input-container{margin:var(--menu-padding) var(--menu-padding) 0;padding-bottom:0;background:var(--background-modifier-form-field);border:var(--input-border-width) solid var(--background-modifier-border);border-radius:var(--input-radius)}body:not(.is-phone) .menu.mod-filters{padding:4px}body:not(.is-phone) .menu.mod-filters .query-toolbar-section-header{padding:8px}body.is-phone{--bases-embed-width: unset;--bases-embed-transform: none}body.is-phone .markdown-preview-sizer>.el-pre .bases-embed,body.is-phone .markdown-preview-sizer>.el-p .bases-embed,body.is-phone .cm-content>.bases-embed,body.is-phone .cm-content>.cm-lang-base{max-width:100cqw !important;width:100cqw !important;justify-self:center;margin-inline:calc(-1*var(--file-margins-x)) !important}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .workspace-split.mod-root .workspace-tab-container{border-radius:0}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile){--titlebar-border-width: 1px;--tab-outline-width: 1px}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .workspace-tab-header-container{border-bottom:var(--tab-outline-width) solid var(--tab-outline-color)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .mod-sidedock>.workspace-leaf-resize-handle{border-color:var(--divider-color)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split>.workspace-leaf-resize-handle{border-color:var(--divider-color-alt)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile):not(.hover-ribbon) .workspace-ribbon.mod-left.is-collapsed{border-right:var(--divider-width) solid var(--divider-color)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .workspace-ribbon.mod-left::before{content:"";height:var(--tab-outline-width);background-color:var(--tab-outline-color);position:absolute;inset:calc(var(--header-height) - 1px) 0 auto}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .workspace-ribbon.mod-left .side-dock-actions{margin-top:12px}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-tablet .workspace-drawer.is-pinned{border-width:var(--divider-width)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-translucent) .workspace{background-color:var(--background-primary)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).show-ribbon:not(.is-translucent):not(.is-mobile) .workspace-ribbon:not(.is-collapsed){background-color:var(--background-secondary);box-shadow:0 calc(-1*var(--header-height)) var(--background-secondary)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container{border-bottom:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .mod-sidedock.mod-left-split,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .workspace-drawer.mod-left{background-color:var(--background-secondary)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-tablet .workspace{background-color:rgba(0,0,0,0)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--radius-window: 8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open){background-color:var(--background-primary)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--ribbon-background: transparent;--ribbon-background-collapsed: var(--ribbon-background)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{height:32px;margin:auto 0}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display]{box-shadow:var(--shadow-s);border-radius:var(--radius-window, var(--radius-m));background-color:var(--modal-background) !important;backdrop-filter:var(--blur-m);height:-webkit-fill-available}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-left-split{margin:8px 0 8px 8px;overflow:visible}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-right-split{margin:8px 8px 8px 0}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display]::before{background:none;margin-inline:-8px;pointer-events:auto;width:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root{padding-bottom:0}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.show-ribbon:not(.hover-ribbon)) .workspace:not(.is-left-sidedock-open).is-right-sidedock-open .mod-root{margin-left:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .workspace.is-left-sidedock-open:not(.is-right-sidedock-open) .mod-root{margin-right:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-root{padding-bottom:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.mod-macos).is-hidden-frameless .workspace.is-left-sidedock-open:not(.is-right-sidedock-open) .mod-root .workspace-tabs.mod-top-right-space .workspace-tab-header-container{padding-right:var(--frame-right-space)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .workspace:is(.is-left-sidedock-open,.is-right-sidedock-open) .workspace-split.mod-vertical{gap:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .workspace:is(.is-left-sidedock-open,.is-right-sidedock-open) .workspace-split:not(.mod-sidedock)>*>.workspace-leaf-resize-handle:not(:hover){border-color:rgba(0,0,0,0)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer.mod-left.is-pinned+.mod-root:has(+.workspace-drawer.mod-right:not(.is-pinned)) .workspace-tabs:last-of-type .workspace-tab-container{margin-right:8px}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer.mod-left:not(.is-pinned)+.mod-root:has(+.workspace-drawer.mod-right.is-pinned) .workspace-tabs:first-of-type .workspace-tab-container{margin-left:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--shadow-sidedock-spread: -32px 0 0 32px var(--background-primary);--shadow-surface: 0 0 0 1px var(--background-modifier-hover);--tab-outline-width: 1px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change){--workspace-background-translucent: var(--background-secondary);--tab-outline-color: transparent}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change) .modal.mod-settings .vertical-tab-header>div,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change) .workspace-ribbon,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change) .mod-sidedock>div{opacity:.5}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change) .modal.mod-settings .vertical-tab-header,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change) .mod-sidedock.mod-left-split,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-focused):not(.reduce-contrast-change) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{background-color:var(--background-modifier-hover) !important;box-shadow:none !important;transition:none}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).is-fullscreen .mod-sidedock.mod-left-split{border-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).is-fullscreen .mod-sidedock.mod-left-split .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{height:calc(var(--header-height) - 8px);padding-left:var(--frame-left-space)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).show-ribbon:not(.mod-macos) .workspace-ribbon.mod-left:not(.is-collapsed),body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).show-ribbon.mod-macos.is-frameless:not(.is-hidden-frameless) .workspace-ribbon.mod-left:not(.is-collapsed){margin-block:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).show-ribbon:not(.mod-macos) .workspace-ribbon.mod-left:not(.is-collapsed) .sidebar-toggle-button{height:calc(var(--header-height) - 24px)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).show-ribbon:not(.hover-ribbon) .workspace-ribbon.mod-left:not(.is-collapsed){padding-left:16px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).show-ribbon:not(.hover-ribbon) .mod-sidedock.mod-left-split:not(.is-sidedock-collapsed){margin-left:calc(-1*var(--ribbon-width) + 8px);padding-left:var(--ribbon-width)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-translucent).theme-dark .mod-sidedock{background-color:hsl(from var(--background-primary) h s calc(l - 2))}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile).is-translucent .mod-sidedock.mod-left-split{background-color:rgba(from var(--background-primary) r g b/50%) !important}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock{transition:var(--anim-duration-moderate),background-color 0s,box-shadow 0s}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split{-electron-corner-smoothing:var(--corner-smoothing);z-index:var(--layer-sidedock);margin:8px 0 8px 8px;box-shadow:var(--shadow-surface),var(--shadow-sidedock-spread);border-radius:var(--radius-window, var(--radius-m));height:-webkit-fill-available;overflow:hidden}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-block:0px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container .sidebar-toggle-button{min-height:calc(var(--header-height) - 16px);max-height:calc(var(--header-height) - 16px)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container div:is(.workspace-tab-header-inner,.clickable-icon),body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container .sidebar-toggle-button div:is(.workspace-tab-header-inner,.clickable-icon){padding-block:4px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-right-split>.workspace-leaf-resize-handle{border-color:var(--divider-color)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .vertical-tab-header{margin:8px 0 8px 8px;box-shadow:var(--shadow-surface);border-radius:max(var(--modal-radius) - 8px,var(--radius-s));background-color:rgba(from var(--background-primary) r g b/75%)}body:is(.mod-macos,.adaptive-mode-off).is-tablet.theme-light{--shadow-surface: inset 1px 1px 2px rgba(255, 255, 255, 0.5), inset -1px -1px 2px rgba(255, 255, 255, 0.5), inset 0 4px 16px rgba(255, 255, 255, 0.025), 0 0 1px rgba(0, 0, 0, 0.25), 0 8px 16px 0 rgba(0, 0, 0, 0.05)}body:is(.mod-macos,.adaptive-mode-off).is-tablet.theme-dark{--shadow-surface: 0 0 1px rgba(255, 255, 255, 0.3), 0 0 1px rgba(255, 255, 255, 0.5)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace{background-color:var(--background-primary)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer .workspace-drawer-header-name-text{font-size:var(--font-ui-small)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer .workspace-drawer-header-info{color:var(--text-faint)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer:not(.is-pinned){background-color:var(--modal-background);box-shadow:var(--shadow-xs);backdrop-filter:var(--blur-l)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer.is-pinned.mod-left{background-color:var(--raised-background);box-shadow:var(--shadow-surface);border:none;margin:calc(var(--safe-area-inset-top) + 8px) 0 8px 8px;border-radius:calc(env(safe-area-inset-bottom) - 8px);height:auto}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer.is-pinned.mod-left .workspace-drawer-ribbon,body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer.is-pinned.mod-left .workspace-drawer-inner{padding-block:0px 16px}body:is(.mod-macos,.adaptive-mode-off).is-tablet .modal.mod-settings .vertical-tab-header{margin:8px 0 8px 8px;border-radius:var(--radius-m);border:none;z-index:1;background-color:var(--raised-background);box-shadow:var(--shadow-surface)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-root{z-index:5}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .workspace-tabs{overflow:visible}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--shadow-sidedock-spread: 0 0 transparent}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-left-split{margin-right:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-right-split{background-color:rgba(0,0,0,0) !important}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock.mod-right-split>.workspace-leaf-resize-handle{border-color:rgba(0,0,0,0)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone).theme-light{--shadow-tab: var(--shadow-base), 0 0 1px rgba(0, 0, 0, 0.2), inset 0 -8px 48px rgba(0, 0, 0, 0.02), 0 2px 4px rgba(0, 0, 0, 0.025), 0 2px 4px rgba(0, 0, 0, 0.025)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone).theme-dark{--shadow-tab: var(--shadow-base), 0 4px 8px rgba(0, 0, 0, 0.1)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .mod-root .workspace-tab-container{background-color:rgba(from var(--background-primary) r g b/75%)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .mod-root .view-header,body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .mod-root .view-content,body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .mod-root .document-search-container{background-color:rgba(0,0,0,0)}@starting-style{body:is(.mod-macos,.adaptive-mode-off):not(.is-phone):is(.mod-macos,.adaptive-mode-off) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{filter:blur(4px);scale:.75;opacity:0}}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone):is(.mod-macos,.adaptive-mode-off) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{-electron-corner-smoothing:var(--corner-smoothing);border-radius:100vh;transition:opacity var(--anim-duration-moderate),filter var(--anim-duration-moderate),background-color 0s}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone):is(.mod-macos,.adaptive-mode-off) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(.is-active){background-color:rgba(0,0,0,0)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone):is(.mod-macos,.adaptive-mode-off) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner{border-radius:inherit}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone):is(.mod-macos,.adaptive-mode-off) .workspace:is(.is-left-sidedock-open,.is-right-sidedock-open) .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active{background-color:rgba(from var(--background-primary) r g b/75%);box-shadow:var(--shadow-tab)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .workspace-drawer.mod-left.is-pinned{margin-right:8px}body:is(.mod-macos,.adaptive-mode-off).is-tablet .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active{background-color:var(--raised-background) !important;box-shadow:var(--shadow-tab)}body{--input-height: 32px;--radius-modifier: 1;--input-radius: var(--radius-s);--radius-s: calc(8px * var(--radius-modifier));--radius-m: calc(12px * var(--radius-modifier));--radius-l: calc(20px * var(--radius-modifier));--radius-xl: calc(28px * var(--radius-modifier));--background-modifier-form-field: var(--interactive-normal);--button-radius: calc(8px * var(--radius-modifier))}.theme-light{--input-shadow: inset 0 0 0 var(--input-border-width) var(--background-modifier-border);--input-shadow-hover: inset 0 0 0 var(--input-border-width) var(--background-modifier-border-hover)}.theme-dark{--input-shadow: inset 0 0 0 var(--input-border-width) var(--background-modifier-border-hover);--input-shadow-hover: inset 0 0 0 var(--input-border-width) var(--background-modifier-border-hover);--background-modifier-form-field: var(--interactive-normal)}button,.clickable-icon,select,.dropdown{-electron-corner-smoothing:var(--corner-smoothing);transition:var(--anim-duration-moderate) var(--anim-motion-baseline),background-color var(--anim-duration-fast)}button:where(:not(.clickable-icon,.ant-switch,.workspace-leaf-content:not([data-type=markdown]) button,.copy-code-button)){padding:16px;display:inline-flex}.clickable-icon{padding:8px;max-height:100%}body.obsidian-app .checkbox-container{-electron-corner-smoothing:var(--corner-smoothing);transition:var(--anim-duration-moderate);box-shadow:none}body.obsidian-app .checkbox-container:focus-within{outline:none}body.obsidian-app .checkbox-container::after{transition:var(--anim-duration-moderate) var(--anim-motion-baseline),background-color 0s}body.obsidian-app .checkbox-container:active:after{-electron-corner-smoothing:var(--corner-smoothing);box-shadow:none;width:calc(var(--toggle-thumb-width) + var(--toggle-border-width));height:var(--toggle-thumb-height);margin-top:var(--toggle-border-width)}body.obsidian-app .checkbox-container.is-enabled:active:after{left:calc(var(--toggle-border-width)*-1)}input[type=range]::-webkit-slider-thumb{-electron-corner-smoothing:var(--corner-smoothing);box-shadow:none}body:is(.mod-macos,.adaptive-mode-off){--side-padding: 20px;--p-spacing: 1rem;--input-shadow: none;--input-shadow-hover: none;--blur-s: blur(2px) saturate(1.5) brightness(1.025);--blur-m: blur(4px) saturate(1.5) brightness(1.025);--blur-l: blur(8px) saturate(1.5) brightness(1.025);--clickable-icon-radius: 100vh;--button-radius: var(--input-radius);--input-radius: var(--radius-s);--input-height: 24px;--interactive-hover: var(--interactive-normal);--divider-color: color-mix(in srgb, var(--background-secondary), rgb(var(--mono-rgb-100)) 7.5%);--background-modifier-border: rgba(var(--mono-rgb-100), 0.075);--background-modifier-border-hover: var(--background-modifier-border);--background-modifier-border-focus: hsla(var(--interactive-accent-hsl), 0.5)}body:is(.mod-macos,.adaptive-mode-off).is-mobile{--titlebar-background: transparent;--titlebar-background-focused: transparent;--background-modifier-form-field: var(--interactive-normal);--radius-s: calc(16px * var(--radius-modifier));--radius-m: calc(24px * var(--radius-modifier));--radius-l: calc(32px * var(--radius-modifier));--radius-xl: calc(40px * var(--radius-modifier));--input-radius: var(--radius-l);--input-height: 48px;--input-padding: 0 var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-phone{--nav-item-padding: calc(16px * var(--density-modifier)) var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-mobile.theme-light{--background-modifier-form-field: var(--interactive-normal);--interactive-normal: var(--background-secondary)}body:is(.mod-macos,.adaptive-mode-off).is-mobile.theme-dark{--settings-background: var(--background-secondary);--setting-items-background: var(--background-secondary-alt)}body:is(.mod-macos,.adaptive-mode-off).is-mobile.theme-dark .modal.mod-sidebar-layout{--background-modifier-border: color-mix(in srgb, var(--background-secondary), white 15%)}body:is(.mod-macos,.adaptive-mode-off).is-phone.theme-dark{--modal-sidebar-background: var(--background-secondary);--mobile-sidebar-background: var(--background-primary)}body:is(.mod-macos,.adaptive-mode-off).theme-light{--blur-background: rgba(255, 255, 255, 0.5);--shadow-base: inset 1px 1px 2px rgba(255, 255, 255, 0.5), inset -1px -1px 2px rgba(255, 255, 255, 0.5), inset 0 4px 16px rgba(255, 255, 255, 0.025);--shadow-edges: 0 0 1px rgba(0, 0, 0, 0.4);--shadow-surface: 0 0 1px rgba(0, 0, 0, 0.4), inset 0 0 1px 1px rgba(255, 255, 255, 0.8), 0 4px 24px rgba(0, 0, 0, 0.075);--shadow-xs: var(--shadow-base), inset 0 -8px 48px rgba(0, 0, 0, 0.02), 0 0 8px rgba(0, 0, 0, 0.025), 0 4px 24px rgba(0, 0, 0, 0.075);--shadow-s: var(--shadow-base), inset 0 0 1px 1px white, var(--shadow-edges), 0 8px 16px rgba(0, 0, 0, 0.2);--shadow-l: var(--shadow-edges), inset 0 0 1px 1px white, 0 16px 64px rgba(0, 0, 0, 0.15)}body:is(.mod-macos,.adaptive-mode-off).theme-dark{--blur-background: rgba(255, 255, 255, 0.075);--shadow-base: inset 1px 1.5px 1px -1px rgba(255, 255, 255, 0.2), inset -1px -1.5px 1px -1px rgba(255, 255, 255, 0.15), inset 0 4px 16px rgba(255, 255, 255, 0.025);--shadow-edges: 0 0 1px rgba(255, 255, 255, 0.3);--shadow-surface: 0 0 1px rgba(255, 255, 255, 0.5), 0 0 1px rgba(0, 0, 0, 0.4), 0 8px 16px rgba(0, 0, 0, 0.2);--shadow-xs: var(--shadow-base), 0 4px 8px rgba(0, 0, 0, 0.1);--shadow-s: var(--shadow-edges), 0 0 1px rgba(255, 255, 255, 0.5), 0 0 1px rgba(0, 0, 0, 0.4), 0 8px 16px rgba(0, 0, 0, 0.2);--shadow-l: var(--shadow-edges), 0 0 1px rgba(255, 255, 255, 0.5), 0 0 1px rgba(0, 0, 0, 0.7), 0 16px 64px rgba(0, 0, 0, 0.3)}body:is(.mod-macos,.adaptive-mode-off) button:where(:not(.clickable-icon,.ant-switch,.workspace-leaf-content:not([data-type=markdown]) button,.copy-code-button)){padding:4px 12px}body:is(.mod-macos,.adaptive-mode-off).is-phone button:where(:not(.clickable-icon,.ant-switch,.workspace-leaf-content:not([data-type=markdown]) button,.copy-code-button)){padding:0 var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-tablet button:where(:not(.clickable-icon,.ant-switch,.workspace-leaf-content:not([data-type=markdown]) button,.copy-code-button)){padding:4px var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--tab-action-width: 40px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .clickable-icon{min-width:var(--tab-action-width)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .clickable-icon:not([aria-disabled=true]):hover,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .clickable-icon.has-active-menu,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal-close-button:hover{box-shadow:var(--shadow-xs);background-color:var(--raised-background)}body:is(.mod-macos,.adaptive-mode-off){--slider-thumb-border-width: 0;--slider-thumb-y: -5px;--slider-thumb-height: 16px;--slider-thumb-width: 20px;--slider-thumb-radius: var(--toggle-thumb-radius);--slider-track-height: 6px;--slider-track-background: var(--background-modifier-border-hover)}body:is(.mod-macos,.adaptive-mode-off).is-mobile{--slider-thumb-y: -9px;--slider-thumb-height: 24px;--slider-thumb-width: 37px}body:is(.mod-macos,.adaptive-mode-off).is-mobile input[type=range]::-webkit-slider-thumb:active{scale:1.4}body:is(.mod-macos,.adaptive-mode-off) input[type=range]::-webkit-slider-thumb{-webkit-transition:var(--anim-duration-moderate) var(--anim-motion-baseline) !important;transition:var(--anim-duration-moderate) var(--anim-motion-baseline) !important;box-shadow:0 1px 4px rgba(0,0,0,.075),0 1px 16px rgba(0,0,0,.1) !important}body:is(.mod-macos,.adaptive-mode-off) input[type=range]::-webkit-slider-thumb:active{scale:1.2;box-shadow:inset 1px 1px 2px -2px rgba(var(--mono-rgb-100), 1),inset -1px -1px 2px -2px rgba(var(--mono-rgb-100), 1),var(--shadow-xs) !important;background-color:var(--raised-background)}body:is(.mod-macos,.adaptive-mode-off){--toggle-border-width: 1.5px;--toggle-thumb-height: 13px;--toggle-thumb-width: 21px;--toggle-width: 36px;--toggle-s-border-width: var(--toggle-border-width);--toggle-s-thumb-height: var(--toggle-thumb-height);--toggle-s-thumb-width: var(--toggle-thumb-width);--toggle-s-width: var(--toggle-width)}body:is(.mod-macos,.adaptive-mode-off).is-mobile{--toggle-border-width: 2px;--toggle-thumb-height: 24px;--toggle-thumb-width: 37px;--toggle-width: 68px}body:is(.mod-macos,.adaptive-mode-off).is-mobile .checkbox-container{--interactive-accent: var(--color-green)}body:is(.mod-macos,.adaptive-mode-off) .checkbox-container{box-shadow:none}body:is(.mod-macos,.adaptive-mode-off) .checkbox-container:not(:active){overflow:hidden}body:is(.mod-macos,.adaptive-mode-off) .checkbox-container::after{transition:var(--anim-duration-moderate) var(--anim-motion-baseline) !important;box-shadow:0 1px 4px rgba(0,0,0,.075),0 1px 16px rgba(0,0,0,.1)}body:is(.mod-macos,.adaptive-mode-off) .checkbox-container:active:after{--toggle-border-width: -2.5px;--toggle-thumb-height: 21px;--toggle-thumb-width: 35.5px;--toggle-s-border-width: var(--toggle-border-width);--toggle-s-thumb-height: var(--toggle-thumb-height);--toggle-s-thumb-width: var(--toggle-thumb-width);box-shadow:inset 1px 1px 2px -2px rgba(var(--mono-rgb-100), 1),inset -1px -1px 2px -2px rgba(var(--mono-rgb-100), 1),var(--shadow-xs);background-color:var(--raised-background)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .checkbox-container:active:after{--toggle-border-width: -6px;--toggle-thumb-height: 40px;--toggle-thumb-width: 59px;--toggle-s-border-width: var(--toggle-border-width);--toggle-s-thumb-height: var(--toggle-thumb-height);--toggle-s-thumb-width: var(--toggle-thumb-width)}body:is(.mod-macos,.adaptive-mode-off).is-mobile{--dropdown-padding-start: var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off) select:focus,body:is(.mod-macos,.adaptive-mode-off) .combobox-button:focus,body:is(.mod-macos,.adaptive-mode-off) .dropdown:focus{box-shadow:none}body:is(.mod-macos,.adaptive-mode-off) .search-input-container{display:flex;align-items:center;overflow:visible}body:is(.mod-macos,.adaptive-mode-off) .search-input-container:before{top:unset !important;inset-inline-start:calc((var(--input-height) - var(--icon-s))/2);height:var(--icon-s);width:var(--icon-s)}body:is(.mod-macos,.adaptive-mode-off) .search-input-container input{padding-inline-start:var(--input-height) !important}body:is(.mod-macos,.adaptive-mode-off) .mod-sidedock .search-input-container,body:is(.mod-macos,.adaptive-mode-off) .mod-sidedock input[type=search],body:is(.mod-macos,.adaptive-mode-off) .vertical-tab-header .search-input-container,body:is(.mod-macos,.adaptive-mode-off) .vertical-tab-header input[type=search],body:is(.mod-macos,.adaptive-mode-off) .community-modal-controls .search-input-container,body:is(.mod-macos,.adaptive-mode-off) .community-modal-controls input[type=search]{--input-height: 32px}body:is(.mod-macos,.adaptive-mode-off) .mod-sidedock .search-input-container input[type=search],body:is(.mod-macos,.adaptive-mode-off) .vertical-tab-header .search-input-container input[type=search],body:is(.mod-macos,.adaptive-mode-off) .community-modal-controls .search-input-container input[type=search]{border:none;border-radius:100vh;background-color:var(--background-modifier-hover)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .search-input-container::before{inset-inline-start:12px}body:is(.mod-macos,.adaptive-mode-off) .workspace-ribbon.mod-left .sidebar-toggle-button .clickable-icon:hover,body:is(.mod-macos,.adaptive-mode-off) .workspace-ribbon.mod-left .side-dock-actions .side-dock-ribbon-action:hover{box-shadow:none !important;background-color:rgba(0,0,0,0) !important;color:var(--text-normal)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header-container-inner{-webkit-app-region:no-drag;gap:0px;transition:var(--anim-duration-moderate);border-radius:var(--clickable-icon-radius);padding:0;outline:2px solid rgba(0,0,0,0);background-clip:content-box;height:auto;z-index:1}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header-container-inner:hover{background-color:var(--background-modifier-hover);outline-color:var(--background-modifier-hover)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header-container-inner:hover .workspace-tab-header.is-active{background-color:var(--background-primary);box-shadow:var(--shadow-xs)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header-container-inner:hover .workspace-tab-header.is-active .workspace-tab-header-inner-icon{color:var(--text-normal) !important}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header{border-radius:var(--clickable-icon-radius)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header-inner{padding:8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:var(--background-modifier-hover)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .sidebar-toggle-button,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-tabs .workspace-tab-header-inner{border-radius:var(--clickable-icon-radius);width:var(--tab-action-width);height:fit-content;z-index:1}body:is(.mod-macos,.adaptive-mode-off):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container{border-radius:var(--clickable-icon-radius);background-color:var(--background-modifier-hover);padding:2px;gap:0}body:is(.mod-macos,.adaptive-mode-off):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container .nav-action-button{position:relative;padding:8px;border-radius:var(--clickable-icon-radius)}body:is(.mod-macos,.adaptive-mode-off):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container .nav-action-button:hover:not([aria-disabled=true]){background-color:var(--background-modifier-hover);box-shadow:none}body:is(.mod-macos,.adaptive-mode-off) .mod-sidedock .workspace-tab-container,body:is(.mod-macos,.adaptive-mode-off) .mod-sidedock .workspace-leaf,body:is(.mod-macos,.adaptive-mode-off) .mod-sidedock .workspace-leaf-content{contain:size !important;overflow:visible}body:is(.mod-macos,.adaptive-mode-off) .markdown-source-view,body:is(.mod-macos,.adaptive-mode-off) .markdown-preview-view{transition:transform var(--anim-duration-slow) var(--anim-motion-baseline)}body:is(.mod-macos,.adaptive-mode-off) .workspace-leaf-content[data-mode=source]>.view-content>.markdown-reading-view>.markdown-preview-view{transform:scale(0.995);opacity:0}body:is(.mod-macos,.adaptive-mode-off) .workspace-leaf-content[data-mode=preview]>.view-content>.markdown-source-view{transform:scale(0.995);opacity:0}body:is(.mod-macos,.adaptive-mode-off):not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown][data-mode=source] .view-header .view-actions button:nth-last-child(2){background-color:var(--interactive-accent);color:var(--text-on-accent);box-shadow:var(--shadow-xs)}body:is(.mod-macos,.adaptive-mode-off):not(.tab-icon) .mod-sidedock .workspace-tabs:not(.mod-top) .workspace-tab-header-container:not(:hover) .workspace-tab-header-container-inner{gap:calc(8px*var(--density-modifier))}body:is(.mod-macos,.adaptive-mode-off){--background-modifier-message: var(--modal-background);--modal-background: rgb(from var(--background-secondary) r g b / 75%)}body:is(.mod-macos,.adaptive-mode-off).is-translucent{--modal-background: var(--background-primary)}body:is(.mod-macos,.adaptive-mode-off) .menu,body:is(.mod-macos,.adaptive-mode-off) .prompt,body:is(.mod-macos,.adaptive-mode-off) .modal:not(.mod-sidebar-layout){backdrop-filter:var(--blur-l);border:none;background-color:var(--modal-background)}body:is(.mod-macos,.adaptive-mode-off) .suggestion-container,body:is(.mod-macos,.adaptive-mode-off) .popover{backdrop-filter:var(--blur-m);border:none;background-color:var(--modal-background)}body:is(.mod-macos,.adaptive-mode-off) .cm-tooltip,body:is(.mod-macos,.adaptive-mode-off) .notice{backdrop-filter:var(--raised-blur);border:none;background-color:var(--modal-background)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container{animation:none}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu svg.svg-icon,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container svg.svg-icon{transition:none}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu .menu-item,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu .suggestion-item,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-item,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container .suggestion-item{padding:calc(4px*var(--density-modifier)) 12px;align-items:center;display:flex}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu .suggestion-item,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container .suggestion-item{min-height:32px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu .menu-separator,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-separator{margin:6px 8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu:hover,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container:hover{backdrop-filter:var(--blur-m)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu:hover .menu-item.selected:not(.is-label):not(.is-disabled),body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container:hover .menu-item.selected:not(.is-label):not(.is-disabled){background-color:var(--interactive-accent);color:var(--text-on-accent)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .menu:hover .menu-item.selected:not(.is-label):not(.is-disabled) .menu-item-icon,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .suggestion-container:hover .menu-item.selected:not(.is-label):not(.is-disabled) .menu-item-icon{color:var(--text-on-accent)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .menu-scroll,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .menu-scroll{background-color:rgba(0,0,0,0)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .menu-item,body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .suggestion-item,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .menu-item,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .suggestion-item{padding:calc(8px*var(--density-modifier)) var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .menu-item:not([class*=is-]) .menu-item-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .suggestion-item:not([class*=is-]) .menu-item-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .menu-item:not([class*=is-]) .menu-item-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .suggestion-item:not([class*=is-]) .menu-item-icon{color:var(--text-normal)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .menu-item .menu-item-icon .svg-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .menu .suggestion-item .menu-item-icon .svg-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .menu-item .menu-item-icon .svg-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .suggestion-container .suggestion-item .menu-item-icon .svg-icon{--icon-size: var(--icon-m);--icon-stroke: var(--icon-m-stroke-width)}body:is(.mod-macos,.adaptive-mode-off).is-phone{--menu-shadow: var(--shadow-s);--menu-padding: 32px var(--safe-area-inset-side)}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu{margin:8px;border-radius:var(--modal-radius) var(--modal-radius) calc(var(--safe-area-inset-top) - 8px) calc(var(--safe-area-inset-top) - 8px)}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu .menu-item{min-height:48px;font-size:var(--font-ui-medium)}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu .menu-item::after{content:none}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu .menu-item:not(:last-child){border-bottom:none}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu .menu-item:not(:last-child) .menu-item-title{position:relative;overflow:visible}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu .menu-item:not(:last-child) .menu-item-title::after{position:absolute;inset:auto 0 -14px;background-color:rgba(var(--mono-rgb-100), 0.1);height:var(--border-width);content:""}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu-group .menu-item.is-label+.menu-item:not(.is-label),body:is(.mod-macos,.adaptive-mode-off).is-phone .menu-group .menu-item:first-child{border-top-left-radius:var(--radius-m);border-top-right-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off).is-phone .menu-group .menu-item:last-child{border-bottom-left-radius:var(--radius-m);border-bottom-right-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off).is-phone .suggestion-container{border-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off).is-tablet{--menu-shadow: var(--shadow-l)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .menu .menu-separator,body:is(.mod-macos,.adaptive-mode-off).is-tablet .suggestion-container .menu-separator{margin:4px 16px}body:is(.mod-macos,.adaptive-mode-off).is-tablet .menu .menu-item,body:is(.mod-macos,.adaptive-mode-off).is-tablet .menu .suggestion-item,body:is(.mod-macos,.adaptive-mode-off).is-tablet .suggestion-container .menu-item,body:is(.mod-macos,.adaptive-mode-off).is-tablet .suggestion-container .suggestion-item{gap:16px;padding:calc(12px*var(--density-modifier)) var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .suggestion-container{border-radius:var(--radius-m)}@keyframes modalInCupertino{from{opacity:1;filter:none;transform:scale(0.99)}}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal{animation:modalInCupertino var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-title{width:100%}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-button-container button{flex:1;margin:0;border-radius:100vh;min-height:32px}body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal-setting-back-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal-close-button{--icon-size: var(--icon-xl);padding:6px}body:is(.mod-macos,.adaptive-mode-off).is-phone{--modal-radius: var(--radius-xl)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal-container.mod-confirmation .modal{border-radius:var(--radius-xl) var(--radius-xl) calc(var(--safe-area-inset-top) - 8px) calc(var(--safe-area-inset-top) - 8px)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal:not(.mod-sidebar-layout){--modal-radius: var(--radius-xl);margin:0 8px 8px;width:calc(100vw - 16px) !important;left:0 !important}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal:not(.mod-sidebar-layout) .modal-close-button{top:16px !important;inset-inline-end:16px !important}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal:not(.mod-sidebar-layout) .modal-content{padding:0 var(--safe-area-inset-side)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal:not(.mod-sidebar-layout) .modal-button-container{gap:8px;padding:16px var(--safe-area-inset-side) 0}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal:not(.mod-sidebar-layout) .modal-button-container button{margin-top:0}body:is(.mod-macos,.adaptive-mode-off) .notice{box-shadow:var(--shadow-l);border-radius:var(--radius-m);padding:calc(16px*var(--density-modifier)) var(--side-padding);color:var(--text-muted)}body:is(.mod-macos,.adaptive-mode-off) .tooltip{--background-modifier-message: var(--background-primary);filter:drop-shadow(0 0 16px var(--background-modifier-box-shadow));animation:none;box-shadow:none;border-radius:var(--radius-l);padding:8px 16px;color:var(--text-muted);font-weight:var(--font-normal)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .notice{transition:var(--anim-duration-moderate) !important}body:is(.mod-macos,.adaptive-mode-off).is-mobile .notice{box-shadow:var(--shadow-xs)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .notice:last-child{transition:var(--anim-duration-slow) var(--anim-motion-baseline) !important}@starting-style{body:is(.mod-macos,.adaptive-mode-off).is-mobile .notice:last-child{transform:translateY(-50%) scaleX(0.5) !important;filter:blur(4px);opacity:0}}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--drag-ghost-background: var(--background-primary);--drag-ghost-text-color: var(--text-normal)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .drag-ghost{box-shadow:var(--shadow-l);padding:8px 12px;border-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off){--setting-nav-icon-background: var(--color-base-50)}body:is(.mod-macos,.adaptive-mode-off) .modal.mod-sidebar-layout.mod-settings .vertical-tab-nav-item .vertical-tab-nav-item-icon{--icon-size: var(--icon-xs);--icon-stroke: var(--icon-xs-stroke-width);box-shadow:inset .5px .5px .5px hsla(0,0%,100%,.25),inset -0.5px -0.5px .5px hsla(0,0%,100%,.25),0 0 2px rgba(0,0,0,.25),0 1px 4px rgba(0,0,0,.15);border-radius:6px;background-image:linear-gradient(oklch(from var(--setting-nav-icon-background) calc(l * 1.125) c h), oklch(from var(--setting-nav-icon-background) calc(l * 0.975) c h));background-color:var(--setting-nav-icon-background);padding:4px;color:var(--setting-nav-icon-color, white)}body:is(.mod-macos,.adaptive-mode-off) .modal.mod-sidebar-layout.mod-settings .vertical-tab-nav-item[data-setting-id=canvas] .vertical-tab-nav-item-icon{--setting-nav-icon-color: var(--color-red);--setting-nav-icon-background: var(--color-base-10)}body:is(.mod-macos,.adaptive-mode-off) .modal.mod-sidebar-layout.mod-settings .vertical-tab-nav-item[data-setting-id=command-palette] .vertical-tab-nav-item-icon{--setting-nav-icon-background: #242424}body:is(.mod-macos,.adaptive-mode-off) .modal.mod-sidebar-layout.mod-settings .vertical-tab-nav-item[data-setting-id=sync] .vertical-tab-nav-item-icon{--setting-nav-icon-color: var(--color-green);--setting-nav-icon-background: var(--color-base-10)}body:is(.mod-macos,.adaptive-mode-off) .modal.mod-sidebar-layout.mod-settings .vertical-tab-nav-item[data-setting-id=webviewer] .vertical-tab-nav-item-icon{--setting-nav-icon-color: var(--color-blue);--setting-nav-icon-background: var(--color-base-10)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--setting-items-padding: calc(12px * var(--density-modifier)) var(--side-padding);--setting-group-heading-color: var(--text-normal)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-sidebar-layout{background-color:var(--background-primary);border:none}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .vertical-tab-nav-item.is-active{--text-normal: var(--text-on-accent);color:var(--text-on-accent);background-color:var(--interactive-accent)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .vertical-tab-nav-item:not(.is-active):hover{background-color:rgba(0,0,0,0)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .vertical-tab-header-group-title,body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .vertical-tab-nav-item{padding:6px 8px}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .setting-group-search+.setting-items{border-radius:var(--setting-items-radius)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .setting-items .setting-item{padding:12px 0}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .setting-items .setting-item:first-child{padding-top:0}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .setting-items .setting-item:last-child{padding-bottom:0}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .setting-item:not(.setting-item-heading,.setting-items .setting-item){padding:var(--setting-items-padding)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .modal.mod-settings .installed-plugins-container .extra-setting-button{min-width:unset}body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal.mod-settings .vertical-tab-nav-item .vertical-tab-nav-item-icon{padding:5px;border-radius:8px;box-shadow:0 0 0 .5px var(--background-modifier-border);margin-left:-4px}body:is(.mod-macos,.adaptive-mode-off).is-phone{--setting-items-radius: var(--radius-m);--setting-group-heading-size: var(--font-ui-medium)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-sidebar-layout{--modal-radius: var(--radius-xl) var(--radius-xl) 0 0;max-height:calc(100% - var(--safe-area-inset-top))}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-sidebar-layout .modal-setting-back-button{inset-inline-start:var(--safe-area-inset-side)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-sidebar-layout .modal-close-button{top:var(--safe-area-inset-side);inset-inline-end:var(--safe-area-inset-side) !important}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-sidebar-layout .vertical-tab-header,body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-sidebar-layout .vertical-tab-content{padding-top:var(--modal-header-height)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-sidebar-layout .vertical-tab-nav-item{height:var(--touch-size-xl)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-settings{--modal-header-height: 76px}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-settings .modal-title{margin-top:16px}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-community-modal .modal-header{position:absolute}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-community-modal .modal-title{height:calc(var(--touch-size-m) + 32px)}body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-community-modal .modal-content .modal-sidebar,body:is(.mod-macos,.adaptive-mode-off).is-phone .modal.mod-community-modal .modal-content .community-modal-info{padding-top:calc(var(--touch-size-m) + 32px);border-radius:var(--modal-radius)}body:is(.mod-macos,.adaptive-mode-off).is-tablet{--setting-items-padding: calc(16px * var(--density-modifier)) var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .modal.mod-settings .vertical-tab-header-group-title{display:none}body:is(.mod-macos,.adaptive-mode-off).is-tablet .modal.mod-settings .vertical-tab-nav-item{padding:calc(12px*var(--density-modifier)) var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-tablet .modal.mod-settings .vertical-tab-nav-item.is-active{color:var(--interactive-accent);background-color:var(--background-modifier-hover)}body:is(.mod-macos,.adaptive-mode-off) .prompt-input-container{align-items:center}body:is(.mod-macos,.adaptive-mode-off) .prompt-input-container::before,body:is(.mod-macos,.adaptive-mode-off) .omnisearch-input-field::before{position:absolute;left:var(--side-padding);-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%;-webkit-mask-repeat:no-repeat;background-color:var(--search-icon-color);width:var(--search-icon-size);height:var(--search-icon-size);content:"";-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M0 7.793c0 4.297 3.496 7.793 7.793 7.793 1.7 0 3.252-.547 4.531-1.465l4.805 4.815c.224.224.517.332.83.332.664 0 1.123-.498 1.123-1.153a1.118 1.118 0 0 0-.322-.8l-4.776-4.805a7.703 7.703 0 0 0 1.602-4.717C15.586 3.496 12.09 0 7.793 0 3.496 0 0 3.496 0 7.793Zm1.67 0A6.127 6.127 0 0 1 7.793 1.67a6.127 6.127 0 0 1 6.123 6.123 6.127 6.127 0 0 1-6.123 6.123A6.127 6.127 0 0 1 1.67 7.793Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h20v20H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e");z-index:1}body:is(.mod-macos,.adaptive-mode-off) .prompt-input{border-bottom:none;padding-inline-start:calc(var(--search-icon-size) + var(--side-padding) + 12px) !important}body:is(.mod-macos,.adaptive-mode-off) .prompt .suggestion-item{border-radius:var(--radius-m);padding:calc(12px*var(--density-modifier)) var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off) .prompt-instructions{border-top:none}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone){--prompt-input-height: 56px}@keyframes bounceInScale{from{transform:scale(1.15);opacity:0}50%{transform:scale(0.99)}}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .prompt{animation:var(--anim-duration-moderate) bounceInScale var(--anim-motion-baseline) forwards;border-radius:var(--radius-xl)}body:is(.mod-macos,.adaptive-mode-off):not(.is-phone) .prompt-input-container::after{content:"";position:absolute;inset:auto var(--side-padding) 0;height:var(--border-width);background-color:var(--background-modifier-border);pointer-events:none}body:is(.mod-macos,.adaptive-mode-off).is-phone{--prompt-input-height: 48px}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt{--prompt-top: 0;border-radius:0;height:100vh;padding-bottom:0}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-input-container{width:calc(100% - var(--safe-area-inset-side)*2)}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-input-container,body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .suggester-input{border:none;gap:8px;position:absolute;inset:auto var(--safe-area-inset-side) calc(var(--safe-area-inset-side) + var(--safe-area-inset-bottom));z-index:1;background-color:rgba(0,0,0,0);box-shadow:none;backdrop-filter:none;margin:0}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-input{border-radius:100vh}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-input-container .prompt-input-cta:not(:empty),body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-input-container .search-input-clear-button{border-radius:100vh;position:relative;inset-inline-end:0;width:var(--prompt-input-height);height:var(--prompt-input-height);flex-shrink:0;margin:0}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-input-container .search-input-clear-button:after{-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%;-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='black' d='M13.993.26.253 14a.875.875 0 0 0 0 1.23.896.896 0 0 0 1.24 0l13.74-13.74a.875.875 0 0 0 0-1.23.87.87 0 0 0-1.24 0ZM15.233 14 1.493.26a.87.87 0 0 0-1.24 0 .884.884 0 0 0 0 1.23l13.74 13.74c.332.333.908.342 1.24 0a.884.884 0 0 0 0-1.23Z'/%3e%3c/svg%3e")}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .prompt-results{mask:linear-gradient(to bottom, transparent, black calc(var(--safe-area-inset-top) + 16px), black calc(100vh - var(--side-padding) - var(--safe-area-inset-bottom) - 96px), transparent calc(100vh - var(--side-padding) - var(--safe-area-inset-bottom)));padding:calc(var(--safe-area-inset-top) + 16px) var(--side-padding) 128px}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt .suggestion-item{padding:var(--nav-item-padding)}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt{transition:var(--anim-duration-moderate) !important;transform:none !important;overflow:visible;box-shadow:none}@starting-style{body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt{opacity:0}}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt-results{transition:var(--anim-duration-slow) var(--anim-motion-baseline)}@starting-style{body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt-results{transform:translateY(var(--safe-area-inset-top))}}body:is(.mod-macos,.adaptive-mode-off).is-phone .prompt[style*="transform: translateY"]{opacity:0}body:is(.mod-macos,.adaptive-mode-off).is-tablet .prompt{border-radius:var(--radius-l)}body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone):not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2),body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .prompt-input,body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .prompt-input-container .prompt-input-cta:not(:empty),body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .prompt-input-container .search-input-clear-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .workspace-drawer-header-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .mobile-tab-switcher-menu-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .mobile-tab-switcher-menu-spacer .clickable-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal-setting-back-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal-close-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .pull-action{backdrop-filter:var(--raised-blur);box-shadow:var(--shadow-xs);border:none;background-color:var(--raised-background);color:var(--text-normal);transition:var(--anim-duration-moderate)}@starting-style{body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone):not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2),body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .prompt-input,body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .prompt-input-container .prompt-input-cta:not(:empty),body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .prompt-input-container .search-input-clear-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile:where(.is-phone) .workspace-drawer-header-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .mobile-tab-switcher-menu-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .mobile-tab-switcher-menu-spacer .clickable-icon,body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal-setting-back-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .modal-close-button,body:is(.mod-macos,.adaptive-mode-off).is-mobile .pull-action{opacity:0;filter:blur(4px);transform:scale(0.75)}}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-leaf-content:not([data-type=empty]) .mod-left-split-toggle svg.svg-icon{--icon-size: var(--icon-l);background-color:currentColor;content:"";-webkit-mask-position:25% 50%;-webkit-mask-size:80% 80%;-webkit-mask-repeat:no-repeat;-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='21' fill='none' viewBox='0 0 12 21'%3e%3cpath fill='white' d='M0 10.372c0 .397.141.732.459 1.046l9.137 8.934c.256.266.575.395.953.395a1.35 1.35 0 0 0 1.372-1.354c0-.382-.163-.718-.422-.983l-8.24-8.04 8.24-8.036c.261-.266.422-.61.422-.98A1.349 1.349 0 0 0 10.549 0c-.38 0-.697.129-.953.385L.459 9.327A1.397 1.397 0 0 0 0 10.372Z'/%3e%3c/svg%3e")}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .nav-buttons-container{justify-self:center;gap:0;backdrop-filter:blur(4px);border-radius:100vh;background-color:var(--background-modifier-hover);padding-inline:8px;width:fit-content;margin-bottom:8px}body:is(.mod-macos,.adaptive-mode-off).is-mobile:not(.is-floating-nav) .workspace-drawer .nav-buttons-container{margin-bottom:0}body:is(.mod-macos,.adaptive-mode-off).is-mobile.theme-dark .mod-raised::after{content:none !important}body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light .mod-raised::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2)::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-phone .prompt-input-container::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-phone .prompt-input-container .prompt-input-cta:not(:empty)::before,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-phone .prompt-input-container .search-input-clear-button::before,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-tablet .menu::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-tablet .workspace-drawer:not(.is-pinned)::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light .mobile-tab-switcher-menu-button::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light .mobile-tab-switcher-menu-spacer .clickable-icon::before,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light .modal-setting-back-button::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light .modal-close-button::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light .notice::after{position:absolute;z-index:1;backdrop-filter:brightness(var(--blur-brightness));mask:var(--raised-mask);mask-composite:var(--raised-mask-composite);filter:blur(1px);inset:0;border:var(--raised-mask-border-width) solid rgba(0,0,0,0);border-radius:inherit;background:var(--raised-mask-background);pointer-events:none;content:""}body:is(.mod-macos,.adaptive-mode-off).is-mobile.mod-macos.theme-light.is-phone .prompt-input-container::after{height:auto;border-radius:100vh;margin-right:56px}body:is(.mod-macos,.adaptive-mode-off).is-mobile .bases-cards-item{padding:var(--side-padding)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .bases-cards-line,body:is(.mod-macos,.adaptive-mode-off).is-mobile .bases-cards-label{padding:0}body:is(.mod-macos,.adaptive-mode-off).is-mobile .nav-files-container>div{--nav-item-color: var(--text-normal)}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header-left,body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-actions{flex:0;position:relative}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header{padding-inline:var(--safe-area-inset-side)}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header-title-parent{font-size:var(--font-ui-smaller);opacity:1}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header-title{font-weight:var(--font-medium);opacity:1;height:1lh}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header-breadcrumb{padding:0}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header-breadcrumb-separator{padding:0 4px}body:is(.mod-macos,.adaptive-mode-off).is-phone .mod-root .view-header-breadcrumb-separator:last-child{display:none}body:is(.mod-macos,.adaptive-mode-off).is-phone.theme-light .nav-files-container>div{background-color:var(--background-primary)}body:is(.mod-macos,.adaptive-mode-off).is-phone.theme-dark .nav-files-container>div{background-color:var(--background-secondary)}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div{--nav-item-size: var(--font-ui-medium);--nav-item-color: var(--text-normal);--nav-item-color-hover: var(--text-normal);--nav-item-color-active: var(--text-normal);--nav-item-background-hover: transparent;--nav-item-background-active: var(--background-modifier-hover);--nav-item-weight-hover: var(--font-normal);--nav-item-weight-active: var(--font-normal);border-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item{position:relative}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item .tree-item-self{padding-inline-end:var(--side-padding);margin-bottom:0;border-radius:0}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item .tree-item-self .tree-item-icon{position:relative;order:1;margin-inline-start:unset}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item .tree-item-inner{flex:1}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item-self.has-active-menu,body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item-self.is-being-renamed{box-shadow:none;color:var(--text-accent)}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item:has(>.tree-item-self.is-active)::before,body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item:has(>.tree-item-self.is-active)+.tree-item::before{content:none !important}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item:not(.nav-files-container>div>div:nth-child(2)):not(:last-child:only-child):before{position:absolute;inset:calc(-1*var(--border-width)/2) var(--side-padding) auto;background:var(--background-modifier-border);height:var(--border-width);content:""}body:is(.mod-macos,.adaptive-mode-off).is-phone .nav-files-container>div .tree-item-self.is-active::before{content:none}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-navbar{border:none !important;background-color:var(--raised-background) !important}body:is(.mod-macos,.adaptive-mode-off).is-phone{--tab-switcher-background: transparent;--tab-switcher-preview-background-shadow: 0 4px 16px rgba(0, 0, 0, 0.2)}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab-switcher{background:linear-gradient(rgba(var(--mono-rgb-0), 0.5), var(--mobile-sidebar-background)) !important;backdrop-filter:var(--blur-l)}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab-switcher-menubar{padding:0 var(--navbar-side-offset) var(--navbar-bottom-offset)}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab-switcher-menu-button{flex:1;height:var(--input-height);border-radius:var(--clickable-icon-radius);justify-content:center}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab-switcher-menu-spacer .clickable-icon{position:relative}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab-switcher-menu-spacer:first-child .clickable-icon{width:var(--input-height);height:var(--input-height)}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab-switcher-menu-spacer:last-child .clickable-icon{padding:var(--input-padding);height:var(--input-height);backdrop-filter:none}body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab .mobile-tab-pin,body:is(.mod-macos,.adaptive-mode-off).is-phone .mobile-tab .close-button{width:32px;height:32px}body.mod-windows:not(.adaptive-mode-off){--font-interface-theme: "Segoe UI Variable Display", "Segoe UI Variable";--font-text-theme: "Segoe UI Variable Text", "Segoe UI Variable";--h1-size: 1.75rem;--h2-size: 1.5rem;--h3-size: 1.25rem;--radius-s: calc(4px * var(--radius-modifier));--radius-m: calc(4px * var(--radius-modifier));--radius-l: calc(8px * var(--radius-modifier));--radius-xl: calc(8px * var(--radius-modifier));--input-radius: var(--radius-m);--button-radius: var(--input-radius);--clickable-icon-radius: var(--radius-m);--checkbox-radius: var(--radius-m);--tab-radius: var(--radius-l);--toggle-thumb-height: 12px;--toggle-thumb-width: 12px;--toggle-width: 40px;--toggle-border-width: 4px;--slider-thumb-border-width: 4px;--slider-thumb-width: 18px;--slider-thumb-height: 18px;--slider-track-background: var(--color-base-50);--slider-track-height: 4px;--blur-s: blur(8px) saturate(0.75);--blur-m: blur(16px) saturate(0.75);--blur-l: blur(32px) saturate(0.75)}body.mod-windows:not(.adaptive-mode-off).is-mobile{--input-border-width: var(--border-width);--slider-thumb-width: 24px;--slider-thumb-height: 24px}body.mod-windows:not(.adaptive-mode-off).theme-light{--input-shadow: 0px 0px 0px var(--input-border-width) rgba(0, 0, 0, 0.05), 0 -0.5px 0 0 rgba(0, 0, 0, 0.25) inset !important;--input-shadow-hover: var(--input-shadow) !important;--input-shadow-active: inset 0 0 0 1px var(--background-modifier-border);--slider-thumb-border-color: var(--color-base-00);--shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.028), 0px 3.4px 6.7px rgba(0, 0, 0, 0.042), 0px 15px 30px rgba(0, 0, 0, 0.07);--shadow-l: 0px 32px 64px 0px rgba(0, 0, 0, 0.19), 0px 2px 21px 0px rgba(0, 0, 0, 0.15);--modal-background: rgb(from white r g b / 85%);--setting-items-background: var(--background-primary)}body.mod-windows:not(.adaptive-mode-off).theme-dark{--input-shadow: 0px 0px 0px var(--input-border-width) rgba(0, 0, 0, 0.1), 0 0.5px 0 rgba(255, 255, 255, 0.1) inset !important;--input-shadow-hover: var(--input-shadow) !important;--input-shadow-active: inset 0 0 1px var(--background-modifier-border);--slider-thumb-border-color: var(--color-base-35);--shadow-s: 0px 1px 2px rgba(0, 0, 0, 0.028), 0px 3.4px 6.7px rgba(0, 0, 0, 0.042), 0px 15px 30px rgba(0, 0, 0, 0.07);--shadow-l: 0px 32px 64px 0px rgba(0, 0, 0, 0.37), 0px 2px 21px 0px rgba(0, 0, 0, 0.37);--modal-background: rgb(from var(--color-base-20) r g b / 65%);--setting-items-background: var(--background-secondary)}body.mod-windows:not(.adaptive-mode-off).is-translucent{--modal-background: var(--background-secondary)}body.mod-windows:not(.adaptive-mode-off) button:active,body.mod-windows:not(.adaptive-mode-off) select:focus,body.mod-windows:not(.adaptive-mode-off) .combobox-button:focus,body.mod-windows:not(.adaptive-mode-off) .dropdown:focus{opacity:.75;box-shadow:var(--input-shadow-active)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .clickable-icon.is-active{color:var(--icon-color-focused);background-color:var(--background-primary)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .clickable-icon:not([aria-disabled=true],.modal-close-button):hover,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .clickable-icon.has-active-menu{background-color:var(--background-modifier-hover)}body.mod-windows:not(.adaptive-mode-off) input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(.prompt-input){box-shadow:0 -0.5px 0 var(--color-base-50) inset}body.mod-windows:not(.adaptive-mode-off) input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(.prompt-input):active,body.mod-windows:not(.adaptive-mode-off) input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(.prompt-input):focus,body.mod-windows:not(.adaptive-mode-off) input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(.prompt-input):focus-visible{box-shadow:0 -2px 0 var(--interactive-accent) inset;border-color:var(--background-modifier-border)}body.mod-windows:not(.adaptive-mode-off) input[type=range]::-webkit-slider-thumb{-webkit-transition:var(--anim-duration-fast);transition:var(--anim-duration-fast);box-shadow:0 .5px 1px 1px rgba(0,0,0,.1);background-color:var(--interactive-accent)}body.mod-windows:not(.adaptive-mode-off) input[type=range]::-webkit-slider-thumb:hover,body.mod-windows:not(.adaptive-mode-off) input[type=range]::-webkit-slider-thumb:active{--slider-thumb-border-width: 3px;border-color:var(--slider-thumb-border-color)}body.mod-windows:not(.adaptive-mode-off) .checkbox-container:not(.is-enabled){--toggle-thumb-color: var(--text-muted);outline:1px solid var(--text-faint);background-color:var(--color-base-10)}body.mod-windows:not(.adaptive-mode-off) .checkbox-container:hover{--toggle-thumb-height: 16px;--toggle-thumb-width: 16px;--toggle-border-width: 2px}body.mod-windows:not(.adaptive-mode-off) .menu,body.mod-windows:not(.adaptive-mode-off) .suggestion-container,body.mod-windows:not(.adaptive-mode-off) .popover,body.mod-windows:not(.adaptive-mode-off) .prompt,body.mod-windows:not(.adaptive-mode-off) .modal,body.mod-windows:not(.adaptive-mode-off) .cm-tooltip,body.mod-windows:not(.adaptive-mode-off) .notice{background-color:var(--modal-background) !important;backdrop-filter:var(--blur-l)}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings{--setting-items-padding: 0px}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group-title,body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item{padding:calc(8px*var(--density-modifier)) 16px;position:relative;border-radius:var(--setting-items-radius)}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item.is-active{background-color:var(--background-modifier-hover);color:var(--text-normal)}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item.is-active::before{position:absolute;top:8px;bottom:8px;left:0;border-radius:var(--button-radius);background-color:var(--interactive-accent);width:4px;content:"";margin-left:unset;height:unset}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .setting-items{background-color:rgba(0,0,0,0);padding-block:0}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .setting-item:not(.setting-item-heading){border:var(--border-width) solid rgba(0,0,0,.1);border-radius:var(--radius-m);padding:calc(16px*var(--density-modifier));background-color:var(--setting-items-background)}body.mod-windows:not(.adaptive-mode-off) .modal.mod-settings .setting-item:not(.setting-item-heading):not(:first-child){margin-top:4px}body.mod-windows:not(.adaptive-mode-off) .notice{color:var(--text-muted)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile){--menu-padding: 4px;--prompt-input-height: 64px;--tab-outline-color: rgba(var(--mono-rgb-100), 0.05)}@keyframes workspaceLeafInFluent{from{transform:translateY(16px);opacity:0}}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .mod-sidedock .workspace-leaf{animation:workspaceLeafInFluent var(--anim-duration-moderate)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container{padding:0}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container .nav-action-button{flex:1;padding:12px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container .nav-action-button.is-active{background-color:var(--interactive-normal);color:var(--icon-color);box-shadow:inset 0 0 0 1px var(--background-modifier-hover)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content .nav-header:first-child .nav-buttons-container .nav-action-button.is-active::after{position:absolute;bottom:0;border-radius:var(--button-radius);background-color:var(--interactive-accent);width:24px;height:3px;content:""}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal-bg{background-color:#000;opacity:.3 !important}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .menu,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .suggestion-container{animation:none;border-radius:var(--radius-l);border:var(--border-width) solid var(--background-modifier-border)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .menu .menu-separator,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-separator{margin:var(--menu-padding) calc(-1*var(--menu-padding))}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .menu .menu-item,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .menu .suggestion-item,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-item,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .suggestion-item{border-radius:var(--radius-m);padding:8px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .menu .menu-item-icon .svg-icon,body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-s);--icon-stroke: var(--icon-s-stroke-width)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .prompt{animation:none}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .prompt .prompt-results{position:relative}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .prompt .prompt-results .suggestion-item{position:relative;padding:calc(12px*var(--density-modifier)) 20px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .prompt .prompt-results .suggestion-item.is-selected::after{position:absolute;top:12px;bottom:12px;left:0;border-radius:var(--button-radius);background-color:var(--interactive-accent);width:4px;content:""}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal{animation:none}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal-close-button{top:0;inset-inline-end:0 !important;padding-inline:16px;border-radius:0}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal-close-button:empty::before{margin:0;width:var(--icon-s);height:var(--icon-s);font-size:var(--icon-xs);font-weight:100}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal-close-button:hover{background-color:var(--color-red);color:#fff}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout){padding:0;min-width:480px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-title{padding:24px 24px 4px;font-size:var(--font-ui-large)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-content{padding:4px 24px 16px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-button-container{margin:0;border-top:var(--border-width) solid var(--background-modifier-border);background-color:rgba(0,0,0,.05);padding:24px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-button-container button{border-radius:var(--button-radius)}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal:not(.mod-sidebar-layout) .modal-content>.modal-button-container{margin:0 -24px -16px}body.mod-windows:not(.adaptive-mode-off):not(.is-mobile) .modal.mod-sidebar-layout .vertical-tab-content{animation:workspaceLeafInFluent var(--anim-duration-moderate)}body.mod-windows:not(.adaptive-mode-off).is-phone .mobile-navbar,body.mod-windows:not(.adaptive-mode-off).is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){backdrop-filter:var(--blur-l);box-shadow:var(--shadow-s);border-radius:var(--radius-l);background-color:var(--modal-background) !important}body.mod-windows:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-header-group-items{background-color:rgba(0,0,0,0)}body.mod-windows:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item-chevron,body.mod-windows:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item-title{border-bottom:none}body.mod-windows:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-content{background-color:var(--settings-background)}@font-face{font-family:"Google Sans System";font-style:normal;font-weight:1 1000;src:local("GoogleSansFlex-Regular"),local("Google Sans Flex")}@font-face{font-family:"Google Sans System";font-style:italic;font-weight:1 1000;src:local("GoogleSans-Italic"),local("Google Sans Italic")}body.is-android:not(.adaptive-mode-off){--font-interface-theme: "Google Sans System", "Google Sans Flex", "Google Sans";--font-text-theme: "Google Sans System", "Google Sans Flex", "Google Sans";--h1-size: 2.25rem;--h1-weight: 400;--h2-size: 1.75rem;--h2-weight: 400;--h3-size: 1.375rem;--h3-weight: 400;--h4-weight: 500;--h5-weight: 500;--h6-weight: 500;--input-font-weight: var(--font-medium);--input-border-width: 1px;--input-height: 40px;--radius-xs: calc(4px * var(--radius-modifier));--radius-s: calc(8px * var(--radius-modifier));--radius-m: calc(12px * var(--radius-modifier));--radius-l: calc(16px * var(--radius-modifier));--radius-xl: calc(28px * var(--radius-modifier));--input-radius: var(--radius-s);--button-radius: 100vh;--clickable-icon-radius: 100vh;--tab-radius: var(--radius-m);--toggle-border-width: 4px;--toggle-thumb-height: 24px;--toggle-thumb-width: 24px;--toggle-width: 52px;--toggle-s-border-width: var(--toggle-border-width);--toggle-s-thumb-height: var(--toggle-thumb-height);--toggle-s-thumb-width: var(--toggle-thumb-width);--toggle-s-width: var(--toggle-width);--slider-thumb-border-width: 0;--slider-thumb-height: 44px;--slider-thumb-width: 4px;--slider-thumb-y: -19px;--slider-thumb-radius: 100vh;--slider-track-height: 16px;--tab-font-weight: var(--font-medium);--nav-item-weight: var(--font-medium);--nav-item-weight-hover: var(--font-medium);--nav-item-weight-active: var(--font-medium);--nav-item-radius: 100vh;--background-modifier-border: var(--color-base-30);--background-modifier-form-field: var(--background-modifier-hover);--interactive-hover: var(--color-base-25);--interactive-normal: var(--background-primary);--dropdown-background: var(--background-modifier-form-field);--dropdown-background-hover: var(--background-modifier-form-field);--menu-radius: var(--radius-l);--shadow-s: rgba(0, 0, 0, 0.2) 0px 3px 3px -2px, rgba(0, 0, 0, 0.14) 0px 3px 4px 0px, rgba(0, 0, 0, 0.12) 0px 1px 8px 0px !important;--shadow-l: rgba(0, 0, 0, 0.2) 0px 3px 5px -1px, rgba(0, 0, 0, 0.14) 0px 6px 10px 0px, rgba(0, 0, 0, 0.12) 0px 1px 18px 0px !important}body.is-android:not(.adaptive-mode-off).theme-light{--setting-items-background: var(--background-primary)}body.is-android:not(.adaptive-mode-off).theme-dark{--setting-items-background: var(--background-secondary)}body.is-android:not(.adaptive-mode-off) button:not([aria-disabled=true]),body.is-android:not(.adaptive-mode-off) .clickable-icon:not([aria-disabled=true]),body.is-android:not(.adaptive-mode-off) .tappable,body.is-android:not(.adaptive-mode-off) .is-clickable{cursor:pointer}body.is-android:not(.adaptive-mode-off) textarea,body.is-android:not(.adaptive-mode-off) input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(.prompt-input),body.is-android:not(.adaptive-mode-off) select,body.is-android:not(.adaptive-mode-off) .combobox-button,body.is-android:not(.adaptive-mode-off) .dropdown{transition:var(--anim-duration-fast);box-shadow:inset 0 0 var(--interactive-accent);border-width:0 0 var(--border-width);border-style:solid;border-color:var(--background-modifier-border-focus);border-bottom-right-radius:0;border-bottom-left-radius:0}body.is-android:not(.adaptive-mode-off) textarea:focus,body.is-android:not(.adaptive-mode-off) input:is([type=text],[type=search],[type=email],[type=password],[type=number]):not(.prompt-input):focus,body.is-android:not(.adaptive-mode-off) select:focus,body.is-android:not(.adaptive-mode-off) .combobox-button:focus,body.is-android:not(.adaptive-mode-off) .dropdown:focus{box-shadow:inset 0 -2px var(--interactive-accent);border-color:rgba(0,0,0,0);border-bottom-right-radius:0;border-bottom-left-radius:0}body.is-android:not(.adaptive-mode-off) input[type=range]::-webkit-slider-thumb{outline:6px solid var(--setting-items-background);background-color:var(--interactive-accent)}body.is-android:not(.adaptive-mode-off) input[type=range]:active{--slider-thumb-y: -23px;--slider-thumb-height: 52px}body.is-android:not(.adaptive-mode-off) .checkbox-container{cursor:pointer}body.is-android:not(.adaptive-mode-off) .checkbox-container:not(.is-enabled){--toggle-thumb-color: var(--text-muted);box-shadow:inset 0 0 0 2px var(--text-muted)}body.is-android:not(.adaptive-mode-off) .checkbox-container:not(.is-enabled):not(:hover,:active){--toggle-s-border-width: 8px;--toggle-s-thumb-height: 16px;--toggle-s-thumb-width: 16px;--toggle-border-width: 8px;--toggle-thumb-height: 16px;--toggle-thumb-width: 16px}body.is-android:not(.adaptive-mode-off) .menu,body.is-android:not(.adaptive-mode-off) .suggestion-container,body.is-android:not(.adaptive-mode-off) .popover,body.is-android:not(.adaptive-mode-off) .prompt,body.is-android:not(.adaptive-mode-off) .modal,body.is-android:not(.adaptive-mode-off) .cm-tooltip{border:none}body.is-android:not(.adaptive-mode-off) .menu .menu-item-icon .svg-icon,body.is-android:not(.adaptive-mode-off) .suggestion-container .menu-item-icon .svg-icon{--icon-size: var(--icon-m);--icon-stroke: var(--icon-m-stroke-width)}body.is-android:not(.adaptive-mode-off){--setting-items-radius: var(--radius-l)}body.is-android:not(.adaptive-mode-off).theme-light .modal.mod-sidebar-layout{background-color:var(--background-secondary)}body.is-android:not(.adaptive-mode-off).theme-dark .modal.mod-sidebar-layout{background-color:var(--background-primary)}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group-title{display:none}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group-items{gap:0}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item{border-radius:var(--button-radius);padding:calc(12px*var(--density-modifier)) 16px;width:fit-content;font-weight:var(--font-medium);border-bottom:0;cursor:pointer;align-items:center}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item.is-active{background-color:var(--setting-items-background)}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item .vertical-tab-nav-item-icon{--icon-size: 20px;--setting-nav-icon-background: var(--color-base-50);padding:10px;border-radius:var(--clickable-icon-radius);color:hsl(from var(--setting-nav-icon-background) h calc(s * 1.05) calc(l * 0.35));background-color:hsl(from var(--setting-nav-icon-background) h calc(s * 0.9) calc(l * 1.15));margin-top:-4px;margin-left:-8px;margin-bottom:-4px}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-items{padding:0;background-color:rgba(0,0,0,0)}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item:not(.setting-item-heading){border-top:none;border-radius:var(--radius-xs);background-color:var(--setting-items-background);padding:var(--setting-items-padding);margin-bottom:2px}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item:nth-child(1 of .setting-item:not(.setting-item-heading)),body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item-heading+.setting-item{border-top-left-radius:var(--setting-items-radius);border-top-right-radius:var(--setting-items-radius)}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item:nth-last-child(1 of .setting-item:not(.setting-item-heading)),body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item:has(+.setting-item-heading){border-bottom-left-radius:var(--setting-items-radius);border-bottom-right-radius:var(--setting-items-radius)}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item-name{font-weight:var(--font-medium)}body.is-android:not(.adaptive-mode-off) .modal.mod-settings .setting-item-description{font-size:var(--font-ui-small)}body.is-android:not(.adaptive-mode-off).is-mobile .modal.mod-settings .setting-group .setting-item:not(:last-child):not(.setting-item-heading){margin-bottom:2px}body.is-android:not(.adaptive-mode-off).is-mobile .modal.mod-settings .setting-item-control button:not(.clickable-icon){width:fit-content;padding:16px}@keyframes menuInMaterial{from{opacity:0;transform:translateY(-4px) scaleY(95%)}}body.is-android:not(.adaptive-mode-off):not(.is-phone) .menu,body.is-android:not(.adaptive-mode-off):not(.is-phone) .suggestion-container{transform-origin:top center;animation:menuInMaterial var(--anim-duration-fast) forwards}body.is-android:not(.adaptive-mode-off):not(.is-phone) .menu .menu-item,body.is-android:not(.adaptive-mode-off):not(.is-phone) .menu .suggestion-item,body.is-android:not(.adaptive-mode-off):not(.is-phone) .suggestion-container .menu-item,body.is-android:not(.adaptive-mode-off):not(.is-phone) .suggestion-container .suggestion-item{padding:calc(8px*var(--density-modifier)) 12px;font-weight:var(--font-medium);cursor:pointer;gap:12px}body.is-android:not(.adaptive-mode-off):not(.is-phone) .prompt{border-radius:var(--radius-l)}body.is-android:not(.adaptive-mode-off):not(.is-phone) .prompt .prompt-input-container{margin:16px 16px 0}body.is-android:not(.adaptive-mode-off):not(.is-phone) .prompt .prompt-input{border:none;border-radius:100vh;background-color:var(--interactive-normal);font-size:var(--font-ui-large)}body.is-android:not(.adaptive-mode-off):not(.is-phone) .prompt .suggestion-item{border-radius:100vh}body.is-android:not(.adaptive-mode-off).is-phone .mobile-navbar,body.is-android:not(.adaptive-mode-off).is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){border:none !important;box-shadow:var(--shadow-s)}body.is-android:not(.adaptive-mode-off).is-phone.is-floating-nav .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::before,body.is-android:not(.adaptive-mode-off).is-phone.is-floating-nav .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::after{content:none}body.is-android:not(.adaptive-mode-off).is-phone .menu .menu-item:not(.is-label){border-radius:var(--radius-xs)}body.is-android:not(.adaptive-mode-off).is-phone .menu .menu-item.is-label+.menu-item:not(.is-label),body.is-android:not(.adaptive-mode-off).is-phone .menu .menu-item:first-child{border-top-left-radius:var(--setting-items-radius);border-top-right-radius:var(--setting-items-radius)}body.is-android:not(.adaptive-mode-off).is-phone .menu .menu-item:last-child{border-bottom-left-radius:var(--setting-items-radius);border-bottom-right-radius:var(--setting-items-radius)}body.is-android:not(.adaptive-mode-off).is-phone .menu .menu-item:not(:last-child){margin-bottom:2px}body.is-android:not(.adaptive-mode-off).is-phone .menu .menu-item::after{content:none}body.is-android:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-header-group-items{gap:2px;background-color:rgba(0,0,0,0)}body.is-android:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item{width:100%;border-radius:var(--radius-xs);padding:calc(16px*var(--density-modifier)) 20px;height:auto;background-color:var(--setting-items-background)}body.is-android:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item-title,body.is-android:not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item-chevron{border-bottom:none}body.is-android:not(.adaptive-mode-off).is-phone .prompt .prompt-input{box-shadow:none;border:none;border-radius:100vh}body.is-android:not(.adaptive-mode-off).is-phone .prompt .prompt-input-container{margin:auto var(--safe-area-inset-side) var(--safe-area-inset-side)}body.is-android:not(.adaptive-mode-off).is-phone .prompt .suggestion-item{border-radius:100vh}body.mod-linux:not(.is-android):not(.adaptive-mode-off){--font-interface-theme: "Adwaita Sans", "Adwaita Sans Text";--font-text-theme: "Adwaita Sans", "Adwaita Sans Text";--shadow-s: 0 0 0 1px rgba(0, 0, 6, 3%), 0 1px 3px 1px rgba(0, 0, 6, 7%), 0 2px 6px 2px rgba(0, 0, 6, 3%);--shadow-l: 0 0 14px 5px rgba(0, 0, 0, 15%), 0 0 5px 2px rgba(0, 0, 0, 10%), 0 0 0 1px rgba(0, 0, 0, 5%);--input-border-width: 0;--input-shadow: none;--input-shadow-hover: none;--input-font-weight: calc(var(--font-weight) + var(--bold-modifier));--radius-s: calc(9px * var(--radius-modifier));--radius-m: calc(12px * var(--radius-modifier));--radius-l: calc(15px * var(--radius-modifier));--radius-xl: calc(18px * var(--radius-modifier));--button-radius: var(--radius-s)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.dynamic-type-off){--font-ui-smaller: calc(var(--font-ui-medium) * 0.82 + var(--font-ui-modifier));--font-ui-small: calc(11px + var(--font-ui-modifier));--font-ui-medium: calc(11px + var(--font-ui-modifier));--font-ui-large: calc(var(--font-ui-medium) * 1.36 + var(--font-ui-modifier));--icon-m: calc(18px * var(--radius-modifier));--icon-l: calc(18px * var(--radius-modifier))}body.mod-linux:not(.is-android):not(.adaptive-mode-off) button:where(:not(.clickable-icon,.ant-switch,.workspace-leaf-content:not([data-type=markdown]) button,.copy-code-button)){padding:5px 17px}body.mod-linux:not(.is-android):not(.adaptive-mode-off){--toggle-border-width: 3px;--toggle-thumb-height: 20px;--toggle-thumb-width: 20px;--toggle-thumb-color: color-mix(in srgb, white 80%, var(--background-primary));--toggle-width: 46px;--toggle-s-border-width: var(--toggle-border-width);--toggle-s-thumb-height: var(--toggle-thumb-height);--toggle-s-thumb-width: var(--toggle-thumb-width);--toggle-s-width: var(--toggle-width);--slider-thumb-border-width: 0;--slider-thumb-y: -8px;--slider-thumb-height: var(--toggle-thumb-height);--slider-thumb-width: var(--toggle-thumb-width);--slider-thumb-radius: var(--toggle-thumb-radius);--slider-track-height: 4px;--slider-track-background: rgb(from var(--text-normal) r g b / 15%);--slider-track-background-hover: rgb(from var(--text-normal) r g b / 20%);--slider-track-background-active: rgb(from var(--text-normal) r g b / 25%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container::after{box-shadow:0 2px 4px rgba(0,0,6,.2)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) input[type=range]::-webkit-slider-thumb{box-shadow:0 0 0 1px rgba(0,0,6,.1),0 2px 4px rgba(0,0,6,.2) !important;background-color:var(--toggle-thumb-color);-webkit-transition:none;transition:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container:not(.is-enabled){background-color:var(--slider-track-background)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container:not(.is-enabled):hover,body.mod-linux:not(.is-android):not(.adaptive-mode-off) input[type=range]:hover{background-color:var(--slider-track-background-hover)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container:not(.is-enabled):active,body.mod-linux:not(.is-android):not(.adaptive-mode-off) input[type=range]:active{background-color:var(--slider-track-background-active)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container.is-enabled::after,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container:hover::after,body.mod-linux:not(.is-android):not(.adaptive-mode-off) input[type=range]:hover::-webkit-slider-thumb,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .checkbox-container:active::after,body.mod-linux:not(.is-android):not(.adaptive-mode-off) input[type=range]:active::-webkit-slider-thumb{opacity:1;background-color:#fff}body.mod-linux:not(.is-android):not(.adaptive-mode-off){--dropdown-padding-end: 2.4em}body.mod-linux:not(.is-android):not(.adaptive-mode-off) select,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .dropdown{background-color:rgba(0,0,0,0);field-sizing:content;font-weight:var(--font-normal)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) select:focus-visible,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .dropdown:focus-visible{box-shadow:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .dropdown{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='black' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='m4 8 8 8 8-8'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-dark .dropdown{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' viewBox='0 0 24 24'%3e%3cpath stroke='white' stroke-linecap='round' stroke-linejoin='round' stroke-width='4' d='m4 8 8 8 8-8'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .menu,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .suggestion-container,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .popover,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .prompt,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .cm-tooltip{border:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off){--modal-background: var(--background-primary);--setting-group-heading-color: var(--text-normal);--setting-group-heading-size: var(--font-ui-medium);--setting-group-heading-weight: calc(var(--font-weight) + var(--bold-modifier));--setting-items-padding: 0px;--setting-items-shadow: 0 0 0 1px rgba(0, 0, 6, 3%), 0 1px 3px 1px rgba(0, 0, 6, 7%), 0 2px 6px 2px rgba(0, 0, 6, 3%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-light{--divider-color-alt: rgba(0, 0, 6, 7%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-dark{--divider-color-alt: rgba(0, 0, 6, 36%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header{background-color:var(--background-secondary);border-right:var(--border-width) solid var(--divider-color-alt);padding:6px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group{padding-block:6px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group:first-child{padding-top:0px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group:not(:last-child){border-bottom:var(--border-width) solid rgb(from var(--text-normal) r g b/15%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-header-group-title{display:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item{padding:calc(12px*var(--density-modifier)) 14px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .vertical-tab-nav-item-icon{color:var(--text-normal);margin-inline-end:12px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .setting-group .setting-items,body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings div:not(.setting-items,.hotkey-list-container,.style-settings-container)>.setting-item:not(.setting-item-heading),body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .installed-plugins-container .setting-item:not(.setting-item-heading){box-shadow:var(--setting-items-shadow)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .setting-item-heading{padding-left:0}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .setting-item:not(.setting-item-heading){border-color:var(--divider-color-alt);padding:calc(12px*var(--density-modifier)) 14px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .setting-item-description{color:var(--text-faint)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .setting-group-search+.setting-items{border-radius:var(--setting-items-radius)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-settings .setting-items .mobile-option-setting-item{padding-inline:16px}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .installed-plugins-container .setting-items{box-shadow:none !important;background-color:rgba(0,0,0,0)}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-community-modal .community-item{box-shadow:var(--setting-items-shadow);border:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off) .modal.mod-community-modal .modal-setting-nav-bar{padding:4px}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile){--frame-right-space: 124px}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button-container.mod-right{align-items:center;justify-content:space-evenly}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button{width:fit-content;height:fit-content;background-color:rgb(from var(--text-normal) r g b/10%);border-radius:100vh !important;padding:4px;flex:0}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button svg{height:16px}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button-container.mod-right .titlebar-button:hover{background-color:rgb(from var(--text-normal) r g b/15%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button.mod-minimize svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='%232E3436' d='M4 10.008h8v1.988H4v-1.988Z'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button.mod-maximize svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='%232E3436' d='M3.988 3.992v8.012H12V3.992H3.988Zm2 2H10v4.012H5.988V5.992Z'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .titlebar-button.mod-close svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='%232E3436' d='M4 4h1.031c.254.012.512.129.688.313L8 6.592l2.313-2.28c.265-.231.445-.305.687-.313h1v1c0 .285-.035.55-.25.75L9.469 8.031l2.25 2.25c.187.188.281.453.281.719v1h-1c-.266 0-.531-.094-.719-.281L8 9.438l-2.281 2.28A1.016 1.016 0 0 1 5 12H4v-1c0-.266.094-.531.281-.719l2.282-2.25L4.28 5.75A.904.904 0 0 1 4 5V4Z'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile).is-maximized .titlebar-button.mod-maximize svg{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='%232E3434' d='M4.988 4.992v6.012H11V4.992H4.988Zm2 2H9v2.012H6.988V6.992Z'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile){--menu-padding: 6px}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .menu,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .suggestion-container{animation:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .menu .menu-item,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .menu .suggestion-item,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-item,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .suggestion-item{padding:calc(8px*var(--density-modifier)) 12px}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .menu .menu-separator,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .suggestion-container .menu-separator{border-bottom-color:rgb(from var(--text-normal) r g b/15%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .prompt{border-radius:var(--radius-xl)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .modal .modal-close-button{--icon-stroke: 4px;color:var(--text-normal);width:24px;height:24px;padding:4px;background-color:rgb(from var(--text-normal) r g b/10%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .modal .modal-close-button path,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .modal .modal-close-button rect,body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .modal .modal-close-button circle{visibility:hidden}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .modal .modal-close-button svg{background-color:currentcolor;margin:0;-webkit-mask-size:100% 100%;-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='%232E3436' d='M4 4h1.031c.254.012.512.129.688.313L8 6.592l2.313-2.28c.265-.231.445-.305.687-.313h1v1c0 .285-.035.55-.25.75L9.469 8.031l2.25 2.25c.187.188.281.453.281.719v1h-1c-.266 0-.531-.094-.719-.281L8 9.438l-2.281 2.28A1.016 1.016 0 0 1 5 12H4v-1c0-.266.094-.531.281-.719l2.282-2.25L4.28 5.75A.904.904 0 0 1 4 5V4Z'/%3e%3c/svg%3e")}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-mobile) .modal .modal-close-button:hover{background-color:rgb(from var(--text-normal) r g b/15%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-phone) .prompt .prompt-input{box-shadow:none;border:none;font-size:var(--font-ui-large);font-weight:calc(var(--font-weight) + var(--bold-modifier))}body.mod-linux:not(.is-android):not(.adaptive-mode-off):not(.is-phone) .prompt .prompt-results{padding:8px;margin-inline:8px;border-radius:var(--radius-l);background:var(--background-secondary-alt)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-mobile{--dropdown-padding-start: 0}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone{--mobile-sidebar-background: var(--modal-background)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .mobile-navbar,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){border:none !important}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::before,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .mod-root .workspace-leaf-content[data-type=markdown]>.view-content::after{content:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .menu,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .suggestion-container{--interactive-normal: transparent;background-color:var(--menu-background)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .menu .menu-group .menu-item:not(.is-label):after,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .suggestion-container .menu-group .menu-item:not(.is-label):after{content:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .menu .menu-item,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .suggestion-container .menu-item{padding:calc(12px*var(--density-modifier)) 14px}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .menu .menu-separator,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .suggestion-container .menu-separator{margin:calc(12px*var(--density-modifier)) 0;border-bottom:var(--border-width) solid var(--background-modifier-border)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone{--prompt-background: var(--modal-background);--settings-background: var(--modal-background)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-header{background-color:var(--settings-background);padding-inline:16px}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-header-group{padding-inline:0}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-header-group-items{background-color:rgba(0,0,0,0)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item{border-radius:var(--radius-s)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item-title,body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .vertical-tab-nav-item-chevron{border-bottom:none}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .setting-item{gap:calc(12px*var(--density-modifier))}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .setting-item-heading{padding-left:8px}body.mod-linux:not(.is-android):not(.adaptive-mode-off).is-phone .modal.mod-settings .setting-item:not(.setting-item-heading){padding:calc(16px*var(--density-modifier)) 16px}input[type=checkbox]:checked{border:none}input[type=checkbox]:checked::after,.checklist-plugin-main .checked:after{top:0;inset-inline-start:0;-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%}input[type=checkbox][data-indeterminate=true]:not(:checked){--checkbox-color: var(--checkbox-border-color) !important;background-color:var(--checkbox-color)}input[type=checkbox][data-indeterminate=true]:not(:checked):after{top:0;inset-inline-start:0;-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%;background-color:var(--checkbox-marker-color);width:var(--checkbox-size);height:var(--checkbox-size)}li[data-task][data-task=">"],li[data-task][data-task=">"] input[type=checkbox]:checked,li[data-task][data-task="<"],li[data-task][data-task="<"] input[type=checkbox]:checked,li[data-task][data-task="*"],li[data-task][data-task="*"] input[type=checkbox]:checked,li[data-task][data-task='"'],li[data-task][data-task='"'] input[type=checkbox]:checked,li[data-task][data-task=“],li[data-task][data-task=“] input[type=checkbox]:checked,li[data-task][data-task=l],li[data-task][data-task=l] input[type=checkbox]:checked,li[data-task][data-task=b],li[data-task][data-task=b] input[type=checkbox]:checked,li[data-task][data-task=S],li[data-task][data-task=S] input[type=checkbox]:checked,li[data-task][data-task=I],li[data-task][data-task=I] input[type=checkbox]:checked,li[data-task][data-task=p],li[data-task][data-task=p] input[type=checkbox]:checked,li[data-task][data-task=c],li[data-task][data-task=c] input[type=checkbox]:checked,li[data-task][data-task=f],li[data-task][data-task=f] input[type=checkbox]:checked,li[data-task][data-task=k],li[data-task][data-task=k] input[type=checkbox]:checked,li[data-task][data-task=w],li[data-task][data-task=w] input[type=checkbox]:checked,li[data-task][data-task=u],li[data-task][data-task=u] input[type=checkbox]:checked,li[data-task][data-task=d],li[data-task][data-task=d] input[type=checkbox]:checked,li[data-task][data-task=B],li[data-task][data-task=B] input[type=checkbox]:checked,li[data-task][data-task=a],li[data-task][data-task=a] input[type=checkbox]:checked,li[data-task][data-task=n],li[data-task][data-task=n] input[type=checkbox]:checked,li[data-task][data-task=R],li[data-task][data-task=R] input[type=checkbox]:checked,li[data-task][data-task=t],li[data-task][data-task=t] input[type=checkbox]:checked,li[data-task][data-task=P],li[data-task][data-task=P] input[type=checkbox]:checked,li[data-task][data-task=L],li[data-task][data-task=L] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=">"],input[type=checkbox][data-task]:checked[data-task=">"] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task="<"],input[type=checkbox][data-task]:checked[data-task="<"] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task="*"],input[type=checkbox][data-task]:checked[data-task="*"] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task='"'],input[type=checkbox][data-task]:checked[data-task='"'] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=“],input[type=checkbox][data-task]:checked[data-task=“] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=l],input[type=checkbox][data-task]:checked[data-task=l] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=b],input[type=checkbox][data-task]:checked[data-task=b] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=S],input[type=checkbox][data-task]:checked[data-task=S] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=I],input[type=checkbox][data-task]:checked[data-task=I] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=p],input[type=checkbox][data-task]:checked[data-task=p] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=c],input[type=checkbox][data-task]:checked[data-task=c] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=f],input[type=checkbox][data-task]:checked[data-task=f] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=k],input[type=checkbox][data-task]:checked[data-task=k] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=w],input[type=checkbox][data-task]:checked[data-task=w] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=u],input[type=checkbox][data-task]:checked[data-task=u] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=d],input[type=checkbox][data-task]:checked[data-task=d] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=B],input[type=checkbox][data-task]:checked[data-task=B] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=a],input[type=checkbox][data-task]:checked[data-task=a] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=n],input[type=checkbox][data-task]:checked[data-task=n] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=R],input[type=checkbox][data-task]:checked[data-task=R] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=t],input[type=checkbox][data-task]:checked[data-task=t] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=P],input[type=checkbox][data-task]:checked[data-task=P] input[type=checkbox]:checked,input[type=checkbox][data-task]:checked[data-task=L],input[type=checkbox][data-task]:checked[data-task=L] input[type=checkbox]:checked{--checkbox-color: transparent}li[data-task][data-task=">"]:hover,li[data-task][data-task=">"] input[type=checkbox]:checked:hover,li[data-task][data-task="<"]:hover,li[data-task][data-task="<"] input[type=checkbox]:checked:hover,li[data-task][data-task="*"]:hover,li[data-task][data-task="*"] input[type=checkbox]:checked:hover,li[data-task][data-task='"']:hover,li[data-task][data-task='"'] input[type=checkbox]:checked:hover,li[data-task][data-task=“]:hover,li[data-task][data-task=“] input[type=checkbox]:checked:hover,li[data-task][data-task=l]:hover,li[data-task][data-task=l] input[type=checkbox]:checked:hover,li[data-task][data-task=b]:hover,li[data-task][data-task=b] input[type=checkbox]:checked:hover,li[data-task][data-task=S]:hover,li[data-task][data-task=S] input[type=checkbox]:checked:hover,li[data-task][data-task=I]:hover,li[data-task][data-task=I] input[type=checkbox]:checked:hover,li[data-task][data-task=p]:hover,li[data-task][data-task=p] input[type=checkbox]:checked:hover,li[data-task][data-task=c]:hover,li[data-task][data-task=c] input[type=checkbox]:checked:hover,li[data-task][data-task=f]:hover,li[data-task][data-task=f] input[type=checkbox]:checked:hover,li[data-task][data-task=k]:hover,li[data-task][data-task=k] input[type=checkbox]:checked:hover,li[data-task][data-task=w]:hover,li[data-task][data-task=w] input[type=checkbox]:checked:hover,li[data-task][data-task=u]:hover,li[data-task][data-task=u] input[type=checkbox]:checked:hover,li[data-task][data-task=d]:hover,li[data-task][data-task=d] input[type=checkbox]:checked:hover,li[data-task][data-task=B]:hover,li[data-task][data-task=B] input[type=checkbox]:checked:hover,li[data-task][data-task=a]:hover,li[data-task][data-task=a] input[type=checkbox]:checked:hover,li[data-task][data-task=n]:hover,li[data-task][data-task=n] input[type=checkbox]:checked:hover,li[data-task][data-task=R]:hover,li[data-task][data-task=R] input[type=checkbox]:checked:hover,li[data-task][data-task=t]:hover,li[data-task][data-task=t] input[type=checkbox]:checked:hover,li[data-task][data-task=P]:hover,li[data-task][data-task=P] input[type=checkbox]:checked:hover,li[data-task][data-task=L]:hover,li[data-task][data-task=L] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=">"]:hover,input[type=checkbox][data-task]:checked[data-task=">"] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task="<"]:hover,input[type=checkbox][data-task]:checked[data-task="<"] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task="*"]:hover,input[type=checkbox][data-task]:checked[data-task="*"] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task='"']:hover,input[type=checkbox][data-task]:checked[data-task='"'] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=“]:hover,input[type=checkbox][data-task]:checked[data-task=“] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=l]:hover,input[type=checkbox][data-task]:checked[data-task=l] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=b]:hover,input[type=checkbox][data-task]:checked[data-task=b] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=S]:hover,input[type=checkbox][data-task]:checked[data-task=S] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=I]:hover,input[type=checkbox][data-task]:checked[data-task=I] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=p]:hover,input[type=checkbox][data-task]:checked[data-task=p] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=c]:hover,input[type=checkbox][data-task]:checked[data-task=c] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=f]:hover,input[type=checkbox][data-task]:checked[data-task=f] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=k]:hover,input[type=checkbox][data-task]:checked[data-task=k] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=w]:hover,input[type=checkbox][data-task]:checked[data-task=w] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=u]:hover,input[type=checkbox][data-task]:checked[data-task=u] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=d]:hover,input[type=checkbox][data-task]:checked[data-task=d] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=B]:hover,input[type=checkbox][data-task]:checked[data-task=B] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=a]:hover,input[type=checkbox][data-task]:checked[data-task=a] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=n]:hover,input[type=checkbox][data-task]:checked[data-task=n] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=R]:hover,input[type=checkbox][data-task]:checked[data-task=R] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=t]:hover,input[type=checkbox][data-task]:checked[data-task=t] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=P]:hover,input[type=checkbox][data-task]:checked[data-task=P] input[type=checkbox]:checked:hover,input[type=checkbox][data-task]:checked[data-task=L]:hover,input[type=checkbox][data-task]:checked[data-task=L] input[type=checkbox]:checked:hover{background-color:rgba(0,0,0,0)}li[data-task][data-task=">"]:hover::after,li[data-task][data-task=">"] input[type=checkbox]:checked:hover::after,li[data-task][data-task="<"]:hover::after,li[data-task][data-task="<"] input[type=checkbox]:checked:hover::after,li[data-task][data-task="*"]:hover::after,li[data-task][data-task="*"] input[type=checkbox]:checked:hover::after,li[data-task][data-task='"']:hover::after,li[data-task][data-task='"'] input[type=checkbox]:checked:hover::after,li[data-task][data-task=“]:hover::after,li[data-task][data-task=“] input[type=checkbox]:checked:hover::after,li[data-task][data-task=l]:hover::after,li[data-task][data-task=l] input[type=checkbox]:checked:hover::after,li[data-task][data-task=b]:hover::after,li[data-task][data-task=b] input[type=checkbox]:checked:hover::after,li[data-task][data-task=S]:hover::after,li[data-task][data-task=S] input[type=checkbox]:checked:hover::after,li[data-task][data-task=I]:hover::after,li[data-task][data-task=I] input[type=checkbox]:checked:hover::after,li[data-task][data-task=p]:hover::after,li[data-task][data-task=p] input[type=checkbox]:checked:hover::after,li[data-task][data-task=c]:hover::after,li[data-task][data-task=c] input[type=checkbox]:checked:hover::after,li[data-task][data-task=f]:hover::after,li[data-task][data-task=f] input[type=checkbox]:checked:hover::after,li[data-task][data-task=k]:hover::after,li[data-task][data-task=k] input[type=checkbox]:checked:hover::after,li[data-task][data-task=w]:hover::after,li[data-task][data-task=w] input[type=checkbox]:checked:hover::after,li[data-task][data-task=u]:hover::after,li[data-task][data-task=u] input[type=checkbox]:checked:hover::after,li[data-task][data-task=d]:hover::after,li[data-task][data-task=d] input[type=checkbox]:checked:hover::after,li[data-task][data-task=B]:hover::after,li[data-task][data-task=B] input[type=checkbox]:checked:hover::after,li[data-task][data-task=a]:hover::after,li[data-task][data-task=a] input[type=checkbox]:checked:hover::after,li[data-task][data-task=n]:hover::after,li[data-task][data-task=n] input[type=checkbox]:checked:hover::after,li[data-task][data-task=R]:hover::after,li[data-task][data-task=R] input[type=checkbox]:checked:hover::after,li[data-task][data-task=t]:hover::after,li[data-task][data-task=t] input[type=checkbox]:checked:hover::after,li[data-task][data-task=P]:hover::after,li[data-task][data-task=P] input[type=checkbox]:checked:hover::after,li[data-task][data-task=L]:hover::after,li[data-task][data-task=L] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=">"]:hover::after,input[type=checkbox][data-task]:checked[data-task=">"] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task="<"]:hover::after,input[type=checkbox][data-task]:checked[data-task="<"] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task="*"]:hover::after,input[type=checkbox][data-task]:checked[data-task="*"] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task='"']:hover::after,input[type=checkbox][data-task]:checked[data-task='"'] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=“]:hover::after,input[type=checkbox][data-task]:checked[data-task=“] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=l]:hover::after,input[type=checkbox][data-task]:checked[data-task=l] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=b]:hover::after,input[type=checkbox][data-task]:checked[data-task=b] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=S]:hover::after,input[type=checkbox][data-task]:checked[data-task=S] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=I]:hover::after,input[type=checkbox][data-task]:checked[data-task=I] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=p]:hover::after,input[type=checkbox][data-task]:checked[data-task=p] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=c]:hover::after,input[type=checkbox][data-task]:checked[data-task=c] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=f]:hover::after,input[type=checkbox][data-task]:checked[data-task=f] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=k]:hover::after,input[type=checkbox][data-task]:checked[data-task=k] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=w]:hover::after,input[type=checkbox][data-task]:checked[data-task=w] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=u]:hover::after,input[type=checkbox][data-task]:checked[data-task=u] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=d]:hover::after,input[type=checkbox][data-task]:checked[data-task=d] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=B]:hover::after,input[type=checkbox][data-task]:checked[data-task=B] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=a]:hover::after,input[type=checkbox][data-task]:checked[data-task=a] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=n]:hover::after,input[type=checkbox][data-task]:checked[data-task=n] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=R]:hover::after,input[type=checkbox][data-task]:checked[data-task=R] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=t]:hover::after,input[type=checkbox][data-task]:checked[data-task=t] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=P]:hover::after,input[type=checkbox][data-task]:checked[data-task=P] input[type=checkbox]:checked:hover::after,input[type=checkbox][data-task]:checked[data-task=L]:hover::after,input[type=checkbox][data-task]:checked[data-task=L] input[type=checkbox]:checked:hover::after{background-color:var(--checkbox-color-hover)}input[data-task="/"]:checked,li[data-task="/"]>input:checked,li[data-task="/"]>p>input:checked{border:1px solid var(--interactive-accent);background:linear-gradient(to right, var(--interactive-accent) 50%, transparent 50%)}input[data-task="/"]:checked::after,li[data-task="/"]>input:checked::after,li[data-task="/"]>p>input:checked::after{display:none}.task-list-item:not([data-task]) input[type=checkbox],.checked:after,div:checked::after,input[type=checkbox]:checked::after,.tasks-modal-checkbox:checked::after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='m12.998 6.084-4.17 6.7-1.982-2.56c-.244-.322-.46-.41-.742-.41a.788.788 0 0 0-.782.801c0 .225.088.44.235.635l2.45 3.008c.255.342.528.478.86.478.332 0 .615-.156.82-.478l4.59-7.227c.118-.205.245-.43.245-.644 0-.46-.4-.752-.83-.752-.255 0-.508.156-.694.449Z'/%3e%3c/svg%3e")}input[data-task="-"]:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked{--checkbox-color: var(--checkbox-border-color)}input[data-task="-"]:checked:after,li[data-task="-"]>input:checked:after,li[data-task="-"]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M6.025 9.121c-.595 0-.966.313-.966.86 0 .537.39.84.966.84h7.891c.566 0 .947-.303.947-.84 0-.547-.361-.86-.947-.86h-7.89Z'/%3e%3c/svg%3e")}input[data-task="-"],li[data-task="-"],.HyperMD-list-line[data-task="-"] .cm-list-1{-webkit-text-decoration:var(--checklist-done-decoration);text-decoration:var(--checklist-done-decoration);color:var(--text-faint)}input[data-task=">"]:checked::after,li[data-task=">"]>input:checked::after,li[data-task=">"]>p>input:checked::after{background-color:var(--color-cyan);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' fill='none' viewBox='0 0 22 18'%3e%3cpath fill='black' d='M11.533 0c.479 0 .801.205 1.319.693L20.557 7.9c.38.362.498.723.498 1.055 0 .322-.127.693-.498 1.045l-7.705 7.275c-.47.44-.86.635-1.338.635-.664 0-1.153-.488-1.153-1.142v-3.73h-.283c-3.78 0-6.172.956-7.871 4.15-.342.625-.791.722-1.201.722C.479 17.91 0 17.441 0 16.602c0-7.217 3.057-11.72 10.078-11.72h.283v-3.69C10.361.536 10.85 0 11.533 0Z'/%3e%3c/svg%3e")}input[data-task="<"]:checked::after,li[data-task="<"]>input:checked::after,li[data-task="<"]>p>input:checked::after{background-color:var(--color-blue);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='18' fill='none' viewBox='0 0 20 18'%3e%3cpath fill='black' d='M3.066 17.979h13.34c2.041 0 3.057-1.016 3.057-3.028V3.027C19.463 1.016 18.447 0 16.406 0H3.066C1.026 0 0 1.006 0 3.027v11.924c0 2.022 1.025 3.027 3.066 3.027Zm-.146-1.573c-.87 0-1.348-.459-1.348-1.367V5.83c0-.898.479-1.367 1.348-1.367h13.613c.87 0 1.358.469 1.358 1.367v9.21c0 .907-.489 1.366-1.358 1.366H2.92ZM7.832 7.97h.576c.342 0 .45-.098.45-.44v-.576c0-.342-.108-.45-.45-.45h-.576c-.342 0-.459.108-.459.45v.576c0 .342.117.44.459.44Zm3.242 0h.576c.342 0 .46-.098.46-.44v-.576c0-.342-.118-.45-.46-.45h-.576c-.342 0-.459.108-.459.45v.576c0 .342.117.44.46.44Zm3.242 0h.577c.341 0 .459-.098.459-.44v-.576c0-.342-.118-.45-.46-.45h-.576c-.341 0-.449.108-.449.45v.576c0 .342.108.44.45.44ZM4.59 11.162h.566c.352 0 .46-.098.46-.44v-.575c0-.342-.108-.44-.46-.44H4.59c-.352 0-.46.098-.46.44v.576c0 .341.108.44.46.44Zm3.242 0h.576c.342 0 .45-.098.45-.44v-.575c0-.342-.108-.44-.45-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .341.117.44.459.44Zm3.242 0h.576c.342 0 .46-.098.46-.44v-.575c0-.342-.118-.44-.46-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .341.117.44.46.44Zm3.242 0h.577c.341 0 .459-.098.459-.44v-.575c0-.342-.118-.44-.46-.44h-.576c-.341 0-.449.098-.449.44v.576c0 .341.108.44.45.44ZM4.59 14.365h.566c.352 0 .46-.107.46-.449v-.576c0-.342-.108-.44-.46-.44H4.59c-.352 0-.46.098-.46.44v.576c0 .342.108.45.46.45Zm3.242 0h.576c.342 0 .45-.107.45-.449v-.576c0-.342-.108-.44-.45-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .342.117.45.459.45Zm3.242 0h.576c.342 0 .46-.107.46-.449v-.576c0-.342-.118-.44-.46-.44h-.576c-.342 0-.459.098-.459.44v.576c0 .342.117.45.46.45Z'/%3e%3c/svg%3e")}input[data-task="?"]:checked,li[data-task="?"]>input:checked,li[data-task="?"]>p>input:checked,input[type=checkbox][data-indeterminate=true]:not(:checked){--checkbox-color: var(--color-pink);border:none}input[data-task="?"]:checked:hover,li[data-task="?"]>input:checked:hover,li[data-task="?"]>p>input:checked:hover,input[type=checkbox][data-indeterminate=true]:not(:checked):hover{background-color:var(--checkbox-color-hover)}input[data-task="?"]:checked:after,li[data-task="?"]>input:checked:after,li[data-task="?"]>p>input:checked:after,input[type=checkbox][data-indeterminate=true]:not(:checked):after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M8.643 14.004c0 .576.507 1.045 1.093 1.045s1.094-.46 1.094-1.045c0-.586-.498-1.055-1.094-1.055-.595 0-1.093.479-1.093 1.055ZM6.924 6.553a1.665 1.665 0 0 0-.088.498c0 .449.361.693.693.693.342 0 .567-.166.752-.4l.176-.244c.361-.586.879-.918 1.553-.918.908 0 1.504.517 1.504 1.279 0 .684-.42 1.016-1.3 1.63-.722.509-1.269 1.036-1.269 2.032v.127c0 .527.293.8.81.8.509 0 .821-.322.821-.722v-.117c0-.566.322-.928 1.026-1.387.976-.644 1.68-1.23 1.68-2.441 0-1.68-1.495-2.569-3.214-2.569-1.738 0-2.87.811-3.144 1.739Z'/%3e%3c/svg%3e")}input[data-task="!"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked{--checkbox-color: var(--color-orange)}input[data-task="!"]:checked:after,li[data-task="!"]>input:checked:after,li[data-task="!"]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M8.867 14.004c0 .576.508 1.045 1.094 1.045.586 0 1.094-.46 1.094-1.045 0-.586-.498-1.055-1.094-1.055-.596 0-1.094.479-1.094 1.055Zm.166-8.35.127 5.323c.01.517.293.8.8.8.49 0 .772-.273.782-.8l.137-5.313c.01-.518-.39-.898-.928-.898-.547 0-.928.37-.918.888Z'/%3e%3c/svg%3e")}input[data-task="*"]:checked::after,li[data-task="*"]>input:checked::after,li[data-task="*"]>p>input:checked::after{background-color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='21' fill='none' viewBox='0 0 22 21'%3e%3cpath fill='black' d='M4.161 20.547c.4.312.908.205 1.514-.235l5.166-3.798 5.176 3.799c.605.439 1.103.546 1.513.234.4-.303.488-.8.244-1.514l-2.04-6.074 5.214-3.75c.606-.43.85-.879.694-1.367-.157-.469-.616-.694-1.368-.694h-6.396l-1.944-6.064C11.7.361 11.35 0 10.841 0c-.498 0-.85.361-1.084 1.084L7.813 7.148H1.417c-.752 0-1.211.225-1.367.694-.166.488.088.937.693 1.367l5.215 3.75-2.041 6.074c-.244.713-.156 1.211.244 1.514Z'/%3e%3c/svg%3e")}input[data-task='"']:checked::after,li[data-task='"']>input:checked::after,li[data-task='"']>p>input:checked::after,input[data-task=“]:checked::after,li[data-task=“]>input:checked::after,li[data-task=“]>p>input:checked::after{background-color:var(--color-purple);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='21' fill='none' viewBox='0 0 22 21'%3e%3cpath fill='black' d='M21.523 4.473v7.48c0 2.861-1.562 4.463-4.472 4.463h-6.602l-3.525 3.223c-.46.43-.742.625-1.123.625-.557 0-.87-.4-.87-1.006v-2.842h-.458C1.563 16.416 0 14.824 0 11.953v-7.48C0 1.602 1.563 0 4.473 0H17.05c2.91 0 4.472 1.611 4.472 4.473ZM5.898 7.148c0 1.143.713 2.032 1.856 2.032.42 0 .84-.069 1.103-.4h.079a2.863 2.863 0 0 1-1.797 1.542c-.381.098-.489.254-.489.498 0 .254.215.47.498.47 1.016 0 3.057-1.212 3.057-3.77 0-1.368-.879-2.413-2.187-2.413-1.211 0-2.12.84-2.12 2.041Zm5.44 0c0 1.143.713 2.032 1.846 2.032.43 0 .85-.069 1.113-.4h.078a2.855 2.855 0 0 1-1.807 1.542c-.361.098-.478.254-.478.498 0 .254.215.47.498.47 1.016 0 3.057-1.212 3.057-3.77 0-1.368-.89-2.413-2.198-2.413-1.21 0-2.11.84-2.11 2.041Z'/%3e%3c/svg%3e")}input[data-task=l]:checked::after,li[data-task=l]>input:checked::after,li[data-task=l]>p>input:checked::after{background-color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='21' fill='none' viewBox='0 0 8 21'%3e%3cpath fill='black' d='M7.334 3.682A3.65 3.65 0 0 1 4.57 7.236V16.3c0 2.89-.508 4.453-.908 4.453-.39 0-.908-1.572-.908-4.453V7.236A3.65 3.65 0 0 1 0 3.682C0 1.66 1.63 0 3.662 0a3.676 3.676 0 0 1 3.672 3.682ZM1.357 2.617c0 .684.586 1.27 1.26 1.27.684 0 1.25-.586 1.25-1.27 0-.674-.566-1.25-1.25-1.25-.674 0-1.26.576-1.26 1.25Z'/%3e%3c/svg%3e")}input[data-task=b]:checked::after,li[data-task=b]>input:checked::after,li[data-task=b]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='21' fill='none' viewBox='0 0 14 21'%3e%3cpath fill='black' d='M1.035 20.947c.479 0 .762-.273 1.64-1.123l3.82-3.76c.048-.048.136-.048.175 0l3.818 3.76c.88.85 1.162 1.123 1.64 1.123.655 0 1.036-.43 1.036-1.191V2.803C13.164.947 12.236 0 10.4 0H2.764C.928 0 0 .947 0 2.803v16.953c0 .762.38 1.191 1.035 1.191Z'/%3e%3c/svg%3e")}input[data-task=i]:checked,li[data-task=i]>input:checked,li[data-task=i]>p>input:checked{--checkbox-color: var(--color-blue)}input[data-task=i]:checked:after,li[data-task=i]>input:checked:after,li[data-task=i]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M8.37 8.154a.721.721 0 0 0-.733.713c0 .42.322.723.732.723h1.074v4.59h-1.24a.724.724 0 0 0-.742.713c0 .42.322.722.742.722h4.092c.42 0 .742-.303.742-.722a.724.724 0 0 0-.742-.713h-1.24V9.072c0-.547-.274-.918-.791-.918H8.369Zm.185-2.988c0 .742.586 1.328 1.318 1.328.732 0 1.309-.586 1.309-1.328 0-.742-.577-1.328-1.309-1.328s-1.318.586-1.318 1.328Z'/%3e%3c/svg%3e")}input[data-task=S]:checked::after,li[data-task=S]>input:checked::after,li[data-task=S]>p>input:checked::after{background-color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='13' height='23' fill='none' viewBox='0 0 13 23'%3e%3cpath fill='black' d='M6.24 19.639c3.301 0 6.143-1.66 6.143-4.824 0-2.93-2.295-3.975-5.02-4.63l-1.875-.458c-1.777-.43-3.252-1.202-3.252-2.891 0-1.895 2.022-2.861 3.994-2.861 2.022 0 3.487.947 4.024 2.685.156.46.459.772.967.772s.879-.352.879-.87c0-.78-.518-1.835-1.192-2.51-1.191-1.19-2.9-1.747-4.678-1.747-3.056 0-5.869 1.62-5.869 4.677 0 2.705 2.305 3.926 4.815 4.502l1.885.44c1.875.44 3.457 1.123 3.457 3.037 0 2.148-1.973 3.018-4.258 3.018-2.158 0-3.906-.87-4.424-2.813-.147-.479-.43-.752-.928-.752-.547 0-.908.371-.908.86 0 .908.596 1.962 1.27 2.607 1.318 1.24 3.173 1.758 4.97 1.758Zm-.049 2.373a.642.642 0 0 0 .635-.645V.635A.64.64 0 0 0 6.191 0a.64.64 0 0 0-.634.635v20.732c0 .352.283.645.634.645Z'/%3e%3c/svg%3e")}input[data-task=I]:checked::after,li[data-task=I]>input:checked::after,li[data-task=I]>p>input:checked::after{background-color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='22' fill='none' viewBox='0 0 21 22'%3e%3cpath fill='black' d='M4.346 12.48c-.215 0-.362.137-.381.362-.371 3.017-.518 3.095-3.574 3.594-.254.029-.391.156-.391.38 0 .215.137.342.342.372 3.086.595 3.252.576 3.623 3.584.02.234.166.37.38.37.206 0 .362-.136.382-.36.39-3.057.507-3.145 3.613-3.595.195-.019.342-.156.342-.37 0-.215-.147-.352-.342-.381-3.106-.596-3.213-.596-3.613-3.614a.367.367 0 0 0-.381-.341ZM11.982 0c-.283 0-.507.205-.546.508-.85 6.181-1.7 7.002-7.793 7.812-.313.03-.538.254-.538.547 0 .303.225.537.538.567 6.113.664 6.992 1.62 7.792 7.793.04.302.264.517.547.517.293 0 .508-.215.557-.517.81-6.172 1.68-7.13 7.793-7.793a.552.552 0 0 0 .527-.567c0-.293-.205-.517-.527-.547-6.113-.683-6.982-1.63-7.793-7.812C12.49.205 12.275 0 11.982 0Z'/%3e%3c/svg%3e")}input[data-task=p]:checked::after,li[data-task=p]>input:checked::after,li[data-task=p]>p>input:checked::after{background-color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M0 13.74c0 2.89 1.807 5.313 4.229 5.313h1.718c-1.758-1.28-2.48-3.213-2.48-5.41.01-2.442.957-4.19 1.797-5.245H3.867C1.69 8.398 0 10.742 0 13.74Zm4.814-.078c0 3.565 2.784 6.318 7.325 6.318h1.328c1.26 0 2.197-.087 2.724-.234.762-.185 1.495-.654 1.495-1.572 0-.381-.098-.654-.215-.86-.078-.127-.059-.224.058-.273.606-.254 1.104-.82 1.104-1.592 0-.44-.127-.83-.342-1.094-.107-.146-.098-.283.088-.38.43-.254.742-.801.742-1.436 0-.459-.146-.937-.4-1.172-.157-.137-.127-.234.029-.38.303-.255.498-.694.498-1.25a1.69 1.69 0 0 0-1.7-1.71h-3.437c-.869 0-1.445-.449-1.445-1.172 0-1.298 1.63-3.7 1.63-5.42C14.297.528 13.712 0 12.95 0c-.703 0-1.045.479-1.416 1.21-1.455 2.823-3.388 5.108-4.863 7.061-1.25 1.66-1.856 3.096-1.856 5.391Z'/%3e%3c/svg%3e")}input[data-task=c]:checked::after,li[data-task=c]>input:checked::after,li[data-task=c]>p>input:checked::after{background-color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cpath fill='black' d='M19.238 6.24c0-2.89-1.816-5.312-4.228-5.312h-1.72c1.758 1.28 2.54 3.213 2.5 5.41-.03 2.442-.976 4.19-1.826 5.245h1.406c2.178 0 3.867-2.344 3.867-5.342Zm-4.756.07C14.541 2.744 11.65.05 7.11.01L5.791 0c-1.27-.01-2.207.09-2.734.236-.762.185-1.494.644-1.494 1.571 0 .371.097.655.214.86.078.117.069.224-.058.273-.596.244-1.104.82-1.104 1.582 0 .45.127.83.352 1.104.107.146.088.273-.088.38-.44.254-.752.801-.752 1.436 0 .46.146.938.4 1.172.166.137.137.234-.029.38C.195 9.25 0 9.689 0 10.245a1.69 1.69 0 0 0 1.7 1.71h3.437c.869 0 1.445.449 1.445 1.172 0 1.299-1.621 3.691-1.621 5.41 0 .918.576 1.445 1.348 1.445.693 0 1.035-.478 1.406-1.21 1.455-2.823 3.389-5.108 4.863-7.071 1.25-1.66 1.865-3.086 1.904-5.39Z'/%3e%3c/svg%3e")}input[data-task=f]:checked::after,li[data-task=f]>input:checked::after,li[data-task=f]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='22' fill='none' viewBox='0 0 17 22'%3e%3cpath fill='black' d='M7.676 21.123c5.156 0 8.594-3.486 8.594-8.74C16.27 3.643 8.828 0 3.662 0c-.918 0-1.504.322-1.504.947 0 .244.108.498.313.733 1.162 1.386 2.324 3.037 2.343 4.96 0 .44-.048.83-.36 1.378l.487-.098c-.439-1.436-1.62-2.451-2.656-2.451-.4 0-.674.293-.674.732 0 .254.069.85.069 1.28C1.68 9.667 0 10.946 0 14.472c0 3.994 3.057 6.65 7.676 6.65Zm.224-2.744c-1.826 0-3.037-1.104-3.037-2.744 0-1.719 1.221-2.334 1.377-3.438.02-.088.078-.117.147-.058.449.4.742.888.986 1.455.518-.703.762-2.188.596-3.79-.01-.087.049-.136.136-.107 2.14 1.006 3.252 3.135 3.252 5.04 0 1.933-1.132 3.642-3.457 3.642Z'/%3e%3c/svg%3e")}input[data-task=k]:checked::after,li[data-task=k]>input:checked::after,li[data-task=k]>p>input:checked::after{background-color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='13' height='25' fill='none' viewBox='0 0 13 25'%3e%3cpath fill='black' d='M6.24 0C2.764 0 0 2.764 0 6.22c0 2.608 1.563 4.913 4.004 5.84v9.64a.83.83 0 0 0 .254.614l1.63 1.641c.167.166.499.215.704.01l3.096-3.096a.487.487 0 0 0 0-.703l-1.924-1.895 2.636-2.627c.186-.195.186-.478-.02-.693l-2.607-2.627c3.018-1.201 4.698-3.428 4.698-6.103A6.22 6.22 0 0 0 6.24 0Zm0 5.723c-.908 0-1.63-.733-1.63-1.631 0-.908.712-1.631 1.63-1.631.899 0 1.631.723 1.631 1.63 0 .9-.732 1.632-1.63 1.632Z'/%3e%3c/svg%3e")}input[data-task=w]:checked::after,li[data-task=w]>input:checked::after,li[data-task=w]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='22' fill='none' viewBox='0 0 20 22'%3e%3cpath fill='black' d='M0 3.223c0 4.033 1.934 6.552 5.791 7.734a8.289 8.289 0 0 0 1.953 1.758v4.248H6.211c-1.377 0-2.09.79-2.09 2.09v1.611c0 .44.342.742.752.742h9.356c.41 0 .752-.302.752-.742v-1.611c0-1.3-.723-2.09-2.1-2.09h-1.524v-4.248a8.07 8.07 0 0 0 1.944-1.758c3.867-1.182 5.8-3.701 5.8-7.734 0-1.006-.624-1.621-1.67-1.621h-1.894C15.381.605 14.677 0 13.497 0H5.604C4.433 0 3.72.596 3.564 1.602H1.67C.625 1.602 0 2.217 0 3.222Zm1.396.136c0-.156.118-.283.284-.283h1.836V4.99c0 1.494.39 2.881.996 4.082C2.47 8.037 1.396 6.142 1.396 3.36ZM14.58 9.072a8.947 8.947 0 0 0 1.006-4.082V3.076h1.836c.166 0 .283.127.283.283 0 2.784-1.074 4.678-3.125 5.713Z'/%3e%3c/svg%3e")}input[data-task=u]:checked::after,li[data-task=u]>input:checked::after,li[data-task=u]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='15' height='19' fill='none' viewBox='0 0 15 19'%3e%3cpath fill='black' d='M.84 8.271c.234 0 .469-.078.615-.234L3.682 5.85l3.71-4.082 3.731 4.082 2.227 2.187c.156.156.38.234.615.234.488 0 .84-.37.84-.85a.879.879 0 0 0-.264-.634L8.057.293A.885.885 0 0 0 7.402 0a.885.885 0 0 0-.654.293L.273 6.787c-.185.195-.273.4-.273.635 0 .478.352.85.84.85Zm6.562 10.176c.508 0 .87-.351.87-.86V4.728l-.098-2.91c0-.46-.313-.772-.772-.772s-.771.312-.771.771l-.098 2.91v12.862c0 .508.362.86.87.86Z'/%3e%3c/svg%3e")}input[data-task=d]:checked::after,li[data-task=d]>input:checked::after,li[data-task=d]>p>input:checked::after{background-color:var(--color-blue);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='15' height='19' fill='none' viewBox='0 0 15 19'%3e%3cpath fill='black' d='M7.402 18.447a.885.885 0 0 0 .655-.293l6.484-6.494a.879.879 0 0 0 .264-.635c0-.478-.352-.85-.84-.85a.863.863 0 0 0-.615.235l-2.227 2.188-3.73 4.082-3.711-4.082-2.227-2.188c-.146-.156-.38-.234-.615-.234-.488 0-.84.37-.84.85 0 .234.088.439.273.634l6.475 6.494c.186.196.41.293.654.293Zm0-1.045c.46 0 .772-.312.772-.771l.097-2.91V.859c0-.507-.36-.859-.869-.859-.507 0-.869.352-.869.86v12.86l.098 2.91c0 .46.312.772.771.772Z'/%3e%3c/svg%3e")}input[data-task="+"]:checked,li[data-task="+"]>input:checked,li[data-task="+"]>p>input:checked{--checkbox-color: var(--color-orange)}input[data-task="+"]:checked:after,li[data-task="+"]>input:checked:after,li[data-task="+"]>p>input:checked:after{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' viewBox='0 0 18 18'%3e%3cpath fill='black' d='M8.154 5.172v2.963H5.192c-.509 0-.86.352-.86.86 0 .499.351.831.86.831h2.962V12.8c0 .498.342.86.841.86.509 0 .86-.352.86-.86V9.826h2.973c.498 0 .86-.332.86-.83 0-.51-.362-.861-.86-.861H9.856V5.172c0-.508-.352-.87-.86-.87-.5 0-.842.362-.842.87Z'/%3e%3c/svg%3e")}input[data-task=B]:checked::after,li[data-task=B]>input:checked::after,li[data-task=B]>p>input:checked::after{background-color:var(--color-pink);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='20' fill='none' viewBox='0 0 22 20'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M14.023 19.365a3.261 3.261 0 0 0 3.262-3.261 3.263 3.263 0 0 0-3.262-3.272 3.263 3.263 0 0 0-3.261 3.271 3.261 3.261 0 0 0 3.261 3.262Zm-7.177 0a3.261 3.261 0 0 0 3.261-3.261 3.263 3.263 0 0 0-3.261-3.272 3.263 3.263 0 0 0-3.262 3.271 3.261 3.261 0 0 0 3.262 3.262Zm10.761-6.425a3.255 3.255 0 0 0 3.262-3.262 3.255 3.255 0 0 0-3.262-3.262 3.263 3.263 0 0 0-3.271 3.262 3.263 3.263 0 0 0 3.271 3.261Zm-14.345 0a3.263 3.263 0 0 0 3.271-3.262 3.263 3.263 0 0 0-3.271-3.262 3.261 3.261 0 1 0 0 6.524Zm10.761-6.417a3.255 3.255 0 0 0 3.262-3.261A3.255 3.255 0 0 0 14.023 0a3.255 3.255 0 0 0-3.261 3.262 3.255 3.255 0 0 0 3.261 3.261Zm-7.177 0a3.255 3.255 0 0 0 3.261-3.261A3.255 3.255 0 0 0 6.846 0a3.255 3.255 0 0 0-3.262 3.262 3.255 3.255 0 0 0 3.262 3.261Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h21.23v19.365H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=a]:checked::after,li[data-task=a]>input:checked::after,li[data-task=a]>p>input:checked::after{background-color:var(--color-pink);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='22' fill='none' viewBox='0 0 20 22'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M9.336 20.254a9.336 9.336 0 0 0 9.336-9.336c0-5.156-4.18-9.346-9.336-9.346C4.18 1.572 0 5.762 0 10.918a9.336 9.336 0 0 0 9.336 9.336Zm-4.443-8.262a.663.663 0 0 1-.674-.674c0-.38.293-.683.674-.683h3.76V5.4a.68.68 0 1 1 1.357 0v5.918a.672.672 0 0 1-.684.674H4.893Zm-3.575-7.91c.147 0 .254-.02.391-.127l3.271-2.47c.157-.118.245-.274.245-.44 0-.205-.098-.371-.264-.527C4.59.186 3.926 0 3.34 0A2.734 2.734 0 0 0 .596 2.744c0 .361.058.723.166.947.107.245.312.391.556.391Zm16.035 0c.245 0 .45-.156.567-.39.098-.215.156-.587.156-.948A2.728 2.728 0 0 0 15.332 0c-.586 0-1.25.186-1.621.518-.166.156-.264.322-.264.527 0 .166.088.322.254.44l3.262 2.47a.568.568 0 0 0 .39.127ZM1.172 19.971a.74.74 0 0 0 1.074-.01l1.846-1.836-1.055-1.045-1.855 1.836a.743.743 0 0 0-.01 1.055Zm16.328 0a.734.734 0 0 0-.01-1.055l-1.855-1.836-1.045 1.045 1.836 1.836a.74.74 0 0 0 1.074.01Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h19.033v21.924H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=n]:checked::after,li[data-task=n]>input:checked::after,li[data-task=n]>p>input:checked::after{background-color:var(--color-blue);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M2.668 14.63 13.322 3.985l-1.709-1.719L.95 12.911l-.928 2.178c-.097.234.157.508.391.41l2.256-.87ZM14.182 3.145l.986-.966c.498-.499.527-1.036.078-1.485l-.332-.332c-.44-.44-.976-.4-1.475.088l-.986.977 1.729 1.718Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h15.932v15.52H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=R]:checked::after,li[data-task=R]>input:checked::after,li[data-task=R]>p>input:checked::after{background-color:var(--color-cyan);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='18' fill='none' viewBox='0 0 22 18'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='black' d='M8.652 16.777v-6.181c0-.4-.224-.616-.625-.616a.803.803 0 0 0-.507.176l-3.692 3.057c-.303.264-.322.664 0 .928l3.692 3.066a.812.812 0 0 0 .507.186c.4 0 .625-.225.625-.616ZM20.02 8.36a.81.81 0 0 0-.82.83v.928c0 1.67-1.163 2.764-2.93 2.764H7.216c-.45 0-.82.371-.82.81 0 .45.37.82.82.82h8.896c2.91 0 4.727-1.65 4.727-4.277V9.19a.81.81 0 0 0-.82-.83ZM12.188.635v6.181c0 .391.224.616.624.616a.812.812 0 0 0 .508-.186l3.692-3.057c.312-.253.332-.654 0-.927L13.32.195a.803.803 0 0 0-.508-.175c-.4 0-.624.214-.624.615ZM.82 9.053c.47 0 .83-.362.83-.83v-.928c0-1.67 1.153-2.774 2.92-2.774h9.063c.44 0 .81-.36.81-.81a.82.82 0 0 0-.81-.81H4.727C1.827 2.9 0 4.54 0 7.177v1.045c0 .468.361.83.82.83Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h21.201v17.393H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=t]:checked::after,li[data-task=t]>input:checked::after,li[data-task=t]>p>input:checked::after{background-color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='20' fill='none' viewBox='0 0 21 20'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M4.854 11.016a.667.667 0 0 1-.684-.684c0-.38.293-.674.684-.674h4.423V3.75c0-.38.293-.674.674-.674.381 0 .684.293.684.674v6.582c0 .39-.303.684-.684.684H4.854Zm5.107 8.906c5.498 0 9.96-4.473 9.96-9.961C19.922 4.463 15.46 0 9.962 0 4.473 0 0 4.463 0 9.96c0 5.49 4.473 9.962 9.96 9.962Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h20.283v19.932H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=P]:checked::after,li[data-task=P]>input:checked::after,li[data-task=P]>p>input:checked::after{background-color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='19' height='19' fill='none' viewBox='0 0 19 19'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M5 13.154c2.871 2.881 6.309 5.069 9.072 5.069 1.3 0 2.432-.518 3.174-1.348.713-.8.957-1.396.957-1.924 0-.41-.254-.79-.898-1.24l-2.383-1.709c-.596-.42-.86-.498-1.211-.498-.303 0-.557.059-1.065.332l-1.562.86c-.186.107-.264.126-.4.126-.186 0-.313-.049-.498-.127-.743-.341-1.788-1.162-2.715-2.09-.928-.927-1.65-1.875-2.022-2.607a.971.971 0 0 1-.107-.41c0-.127.068-.234.146-.371l.918-1.572c.254-.43.323-.665.323-.997 0-.38-.127-.79-.489-1.308L4.6 1.055C4.13.4 3.78 0 3.252 0 2.598 0 1.807.498 1.24 1.045.43 1.826 0 2.92 0 4.15c0 2.784 2.139 6.153 5 9.004Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h18.564v18.232H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}input[data-task=L]:checked::after,li[data-task=L]>input:checked::after,li[data-task=L]>p>input:checked::after{background-color:var(--color-pink);-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='19' fill='none' viewBox='0 0 20 19'%3e%3cg clip-path='url(%23a)'%3e%3cpath fill='white' d='M9.697 18.525c.205 0 .498-.136.713-.263 5.498-3.516 8.985-7.608 8.985-11.768 0-3.457-2.373-5.898-5.44-5.898-1.904 0-3.37 1.054-4.258 2.666C8.828 1.66 7.344.596 5.44.596 2.373.596 0 3.037 0 6.494c0 4.16 3.486 8.252 8.994 11.768.205.127.498.263.703.263Z'/%3e%3c/g%3e%3cdefs%3e%3cclipPath id='a'%3e%3cpath fill='white' d='M0 0h19.756v18.525H0z'/%3e%3c/clipPath%3e%3c/defs%3e%3c/svg%3e")}body:not(.banner-off){--banner-image-object-fit: cover;--banner-image-inset: 8px;--banner-image-height: 320px;--banner-image-height-s: 240px;--banner-fade-height: 80px;--banner-icon-size: 3rem;--banner-mobile-offset: 0px}body:not(.banner-off):where(.is-mobile){--banner-image-height: var(--banner-image-height-s)}body:not(.banner-off):where(.is-mobile) .markdown-preview-view:not(.banner),body:not(.banner-off):where(.is-mobile) .is-live-preview:not(.banner){--banner-mobile-offset: 0px}body:not(.banner-off):not(.is-phone){--view-top-spacing-markdown: 0px}body:not(.banner-off).is-mobile .banner:not(.banner-icon){--banner-mobile-offset: 0.5rem}body:not(.banner-off).is-mobile .banner.banner-icon{--banner-mobile-offset: 1.5rem}body:not(.banner-off):not(.is-phone) .banner-icon.banner-title .inline-title~.metadata-container{padding-top:0px}body:not(.banner-off).is-mobile .banner-icon .inline-title{padding-top:0px}body:not(.banner-off).is-phone .banner-icon.banner-title .inline-title~.metadata-container{padding-top:8px}body:not(.banner-off) .banner.y0 img[alt=banner]{object-position:center 0%}body:not(.banner-off) .banner.y5 img[alt=banner]{object-position:center 5%}body:not(.banner-off) .banner.y10 img[alt=banner]{object-position:center 10%}body:not(.banner-off) .banner.y15 img[alt=banner]{object-position:center 15%}body:not(.banner-off) .banner.y20 img[alt=banner]{object-position:center 20%}body:not(.banner-off) .banner.y25 img[alt=banner]{object-position:center 25%}body:not(.banner-off) .banner.y30 img[alt=banner]{object-position:center 30%}body:not(.banner-off) .banner.y35 img[alt=banner]{object-position:center 35%}body:not(.banner-off) .banner.y40 img[alt=banner]{object-position:center 40%}body:not(.banner-off) .banner.y45 img[alt=banner]{object-position:center 45%}body:not(.banner-off) .banner.y50 img[alt=banner]{object-position:center 50%}body:not(.banner-off) .banner.y55 img[alt=banner]{object-position:center 55%}body:not(.banner-off) .banner.y60 img[alt=banner]{object-position:center 60%}body:not(.banner-off) .banner.y65 img[alt=banner]{object-position:center 65%}body:not(.banner-off) .banner.y70 img[alt=banner]{object-position:center 70%}body:not(.banner-off) .banner.y75 img[alt=banner]{object-position:center 75%}body:not(.banner-off) .banner.y80 img[alt=banner]{object-position:center 80%}body:not(.banner-off) .banner.y85 img[alt=banner]{object-position:center 85%}body:not(.banner-off) .banner.y90 img[alt=banner]{object-position:center 90%}body:not(.banner-off) .banner.y95 img[alt=banner]{object-position:center 95%}body:not(.banner-off) .banner.y100 img[alt=banner]{object-position:center 100%}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview) .markdown-preview-sizer,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview) .cm-editor>.cm-scroller>.cm-sizer{margin-top:calc(var(--banner-image-height) + var(--banner-icon-size) - var(--banner-fade-height) + var(--banner-mobile-offset))}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview):not(.banner){--banner-image-height: 0px}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview):not(.banner.banner-fade){--banner-fade-height: 0px}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview):not(.banner-icon){--banner-icon-size: 0px}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon:not(.banner){--banner-image-height: var(--banner-icon-size)}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon:not(.banner.banner-fade){--banner-fade-height: var(--banner-icon-size)}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner.banner-icon.banner-title:not(.banner-fade){--banner-fade-height: 0px}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-image-contain{--banner-image-object-fit: contain}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-image-cover{--banner-image-object-fit: cover}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-image-fill{--banner-image-object-fit: fill}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner img[alt=banner]:not([contenteditable]){position:absolute;inset:var(--view-top-spacing-markdown) var(--banner-image-inset) auto;border-radius:var(--banner-image-radius, var(--media-radius));width:-webkit-fill-available;width:stretch;height:var(--banner-image-height);overflow:hidden;object-fit:var(--banner-image-object-fit);line-height:0;max-width:calc(100% - var(--banner-image-inset)*2)}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner],body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-wrapper,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-resize-container{display:contents !important}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]::before,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]::after,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner] .image-resize-corner,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner] .image-resize-handle,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-wrapper::before,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-wrapper::after,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-wrapper .image-resize-corner,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-wrapper .image-resize-handle,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-resize-container::before,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-resize-container::after,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-resize-container .image-resize-corner,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner .image-embed[alt=banner]>.image-resize-container .image-resize-handle{display:none !important}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner div:is(.mod-header,.inline-title,.metadata-container){z-index:1}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner.banner-fade img[alt=banner]{mask:linear-gradient(to bottom, hsl(0, 0%, 0%) 0%, hsla(0, 0%, 0%, 0.987) 14%, hsla(0, 0%, 0%, 0.951) 26.2%, hsla(0, 0%, 0%, 0.896) 36.8%, hsla(0, 0%, 0%, 0.825) 45.9%, hsla(0, 0%, 0%, 0.741) 53.7%, hsla(0, 0%, 0%, 0.648) 60.4%, hsla(0, 0%, 0%, 0.55) 66.2%, hsla(0, 0%, 0%, 0.45) 71.2%, hsla(0, 0%, 0%, 0.352) 75.6%, hsla(0, 0%, 0%, 0.259) 79.6%, hsla(0, 0%, 0%, 0.175) 83.4%, hsla(0, 0%, 0%, 0.104) 87.2%, hsla(0, 0%, 0%, 0.049) 91.1%, hsla(0, 0%, 0%, 0.013) 95.3%, hsla(0, 0%, 0%, 0) 100%)}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon .cm-callout:has(.callout[data-callout=banner-icon]){display:contents !important}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon .callout[data-callout=banner-icon]{z-index:1;position:absolute;top:calc(var(--view-top-spacing-markdown) + var(--banner-image-height) - var(--banner-fade-height) + 1rem);margin:0 !important;border:none !important;background:none !important;padding:0 !important;width:var(--banner-icon-size);height:var(--banner-icon-size);font-size:var(--banner-icon-size);display:flex;justify-content:center;overflow:visible;box-shadow:none}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon .callout[data-callout=banner-icon] .callout-title-inner{line-height:1}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon .callout[data-callout=banner-icon] .callout-icon,body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon .callout[data-callout=banner-icon] .callout-content{display:none}@keyframes bannerTitleEditIn{from{transform:translateY(-0.5rem);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bannerTitleEditOut{from{transform:translateY(0.5rem);opacity:0}to{transform:translateY(0);opacity:1}}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon.banner-title .inline-title{transition:var(--anim-duration-moderate) var(--anim-motion-baseline),margin-left 0s}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon.banner-title .inline-title:focus-within{animation:bannerTitleEditIn var(--anim-duration-moderate) var(--anim-motion-baseline) forwards}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon.banner-title .inline-title:not(:focus-within){position:absolute;top:calc(var(--view-top-spacing-markdown) + var(--banner-image-height) - var(--banner-fade-height) + 1rem);align-items:center;animation:bannerTitleEditOut var(--anim-duration-moderate) var(--anim-motion-baseline) forwards;margin-bottom:0;margin-left:calc(var(--banner-icon-size) + 1rem);width:calc(var(--file-line-width) - var(--banner-icon-size) - 1rem);max-width:calc(100% - var(--file-margins-x)*2 - var(--banner-icon-size) - 1rem);height:var(--banner-icon-size);overflow:hidden;line-height:var(--banner-icon-size);text-overflow:ellipsis;white-space:nowrap}body:not(.banner-off) .mod-root .view-content:not(.pixel-banner) div:is(.markdown-preview-view,.is-live-preview).banner-icon.banner-title .inline-title:not(:focus-within)::before{content:none}body{--file-line-width: var(--line-width);--line-width: 700px}body:not(.block-width-off){--line-width-wide: 50rem}body:not(.block-width-off) .wide{--file-line-width: min(100cqw, var(--line-width-wide))}body:not(.block-width-off) .max{--file-line-width: 100%}body:not(.block-width-off){--block-width-wide: min(100cqw, var(--line-width-wide));--block-width-max: calc(100cqw - (var(--file-margins-x) * 2));--block-width-offset: calc(-1 * var(--file-margins-x))}body:not(.block-width-off) .mod-root .workspace-tab-container{container-type:inline-size}body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .markdown-preview-sizer>.el-table,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .markdown-preview-sizer>.el-pre .block-language-dataview,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .markdown-preview-sizer>.el-pre .block-language-dataviewjs,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .markdown-preview-sizer>.el-pre .block-language-datacorejsx,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .cm-content>.cm-table-widget,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .cm-content>.cm-lang-dataview,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .cm-content>.cm-lang-dataviewjs,body:not(.block-width-off) div:is(.table-wide,.table-max,.table-100) .cm-content>.cm-lang-datacorejsx{max-width:var(--table-line-max-width);width:var(--table-line-width) !important;justify-self:center;margin-inline:var(--table-line-width-offset) !important}body:not(.block-width-off) .table-wide{--table-line-max-width: var(--block-width-max);--table-line-width: var(--block-width-wide)}body:not(.block-width-off) .table-max{--table-line-max-width: var(--block-width-max);--table-line-width: var(--block-width-max)}body:not(.block-width-off) .table-100{--table-line-max-width: 100cqw;--table-line-width: 100cqw;--table-line-width-offset: var(--block-width-offset)}body:not(.block-width-off) .table-100 .markdown-preview-sizer>.el-table tbody>tr>td,body:not(.block-width-off) .table-100 .cm-content>.cm-table-widget tbody>tr>td{border-radius:0}body:not(.block-width-off) .table-100 .markdown-preview-sizer>.el-table tbody tr:first-child>td,body:not(.block-width-off) .table-100 .cm-content>.cm-table-widget tbody tr:first-child>td{border-block-start-width:0}body:not(.block-width-off) .table-100 .markdown-preview-sizer>.el-table tbody tr>td:last-child,body:not(.block-width-off) .table-100 .cm-content>.cm-table-widget tbody tr>td:last-child{border-inline-end-width:0}body:not(.block-width-off) .table-100 .markdown-preview-sizer>.el-table tbody tr>td:first-child,body:not(.block-width-off) .table-100 .cm-content>.cm-table-widget tbody tr>td:first-child{border-inline-start-width:0}body:not(.block-width-off) .table-100 .markdown-preview-sizer>.el-table tbody tr:last-child>td,body:not(.block-width-off) .table-100 .cm-content>.cm-table-widget tbody tr:last-child>td{border-block-end-width:0}body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .markdown-preview-sizer>.el-pre .bases-embed,body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .markdown-preview-sizer>.el-p .bases-embed,body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .cm-content>.bases-embed,body:not(.block-width-off) div:is(.bases-wide,.bases-max,.bases-100) .cm-content>.cm-lang-base{max-width:var(--bases-line-max-width);width:var(--bases-line-width) !important;justify-self:center;margin-inline:var(--bases-line-width-offset) !important}body:not(.block-width-off) .bases-wide{--bases-line-max-width: var(--block-width-max);--bases-line-width: var(--block-width-wide)}body:not(.block-width-off) .bases-max{--bases-line-max-width: var(--block-width-max);--bases-line-width: var(--block-width-max)}body:not(.block-width-off) .bases-100{--bases-line-max-width: 100cqw;--bases-line-width: 100cqw;--bases-line-width-offset: var(--block-width-offset)}body:not(.block-width-off) div:is(.img-wide,.img-max,.img-100) .markdown-preview-sizer>.el-p p:has(img),body:not(.block-width-off) div:is(.img-wide,.img-max,.img-100) .markdown-preview-sizer>.el-iframe,body:not(.block-width-off) div:is(.img-wide,.img-max,.img-100) .cm-content .image-embed{max-width:var(--img-line-max-width);width:var(--img-line-width) !important;justify-self:center;margin-inline:var(--img-line-width-offset) !important}body:not(.block-width-off) .cm-content .image-embed{display:block}body:not(.block-width-off) .img-wide{--img-line-max-width: var(--block-width-max);--img-line-width: var(--block-width-wide)}body:not(.block-width-off) .img-max{--img-line-max-width: var(--block-width-max);--img-line-width: var(--block-width-max)}body:not(.block-width-off) .img-100{--img-line-max-width: 100cqw;--img-line-width: 100cqw;--img-line-width-offset: var(--block-width-offset)}body:not(.block-width-off) .img-100 .markdown-preview-sizer img:not([alt=banner]),body:not(.block-width-off) .img-100 .cm-content img:not([alt=banner]){border-radius:0 !important}.callout-icon .lucide-pencil,.callout-icon .lucide-clipboard-list,.callout-icon .lucide-info,.callout-icon .lucide-check-circle-2,.callout-icon .lucide-flame,.callout-icon .lucide-check,.callout-icon .lucide-help-circle,.callout-icon .lucide-alert-triangle,.callout-icon .lucide-x,.callout-icon .lucide-zap,.callout-icon .lucide-bug,.callout-icon .lucide-list,.callout-icon .lucide-quote{-webkit-mask-position:50% 50%;-webkit-mask-size:100% 100%;background-color:rgb(var(--callout-color))}.callout-icon .lucide-pencil path,.callout-icon .lucide-pencil rect,.callout-icon .lucide-pencil circle,.callout-icon .lucide-clipboard-list path,.callout-icon .lucide-clipboard-list rect,.callout-icon .lucide-clipboard-list circle,.callout-icon .lucide-info path,.callout-icon .lucide-info rect,.callout-icon .lucide-info circle,.callout-icon .lucide-check-circle-2 path,.callout-icon .lucide-check-circle-2 rect,.callout-icon .lucide-check-circle-2 circle,.callout-icon .lucide-flame path,.callout-icon .lucide-flame rect,.callout-icon .lucide-flame circle,.callout-icon .lucide-check path,.callout-icon .lucide-check rect,.callout-icon .lucide-check circle,.callout-icon .lucide-help-circle path,.callout-icon .lucide-help-circle rect,.callout-icon .lucide-help-circle circle,.callout-icon .lucide-alert-triangle path,.callout-icon .lucide-alert-triangle rect,.callout-icon .lucide-alert-triangle circle,.callout-icon .lucide-x path,.callout-icon .lucide-x rect,.callout-icon .lucide-x circle,.callout-icon .lucide-zap path,.callout-icon .lucide-zap rect,.callout-icon .lucide-zap circle,.callout-icon .lucide-bug path,.callout-icon .lucide-bug rect,.callout-icon .lucide-bug circle,.callout-icon .lucide-list path,.callout-icon .lucide-list rect,.callout-icon .lucide-list circle,.callout-icon .lucide-quote path,.callout-icon .lucide-quote rect,.callout-icon .lucide-quote circle{visibility:hidden}.callout-icon .lucide-pencil{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='black' d='M2.668 14.573 13.322 3.93l-1.709-1.72L.95 12.856l-.928 2.177c-.097.235.157.508.391.41l2.256-.869ZM14.182 3.09l.986-.967c.498-.498.527-1.035.078-1.484l-.332-.332c-.44-.44-.976-.4-1.475.087l-.986.977 1.729 1.719Z'/%3e%3c/svg%3e")}.callout-icon .lucide-clipboard-list{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='21' fill='none' viewBox='0 0 17 21'%3e%3cg fill='black'%3e%3cpath d='M0 17.88c0 2.042 1.006 3.058 3.027 3.058h10.371c2.022 0 3.028-1.016 3.028-3.057V3.066C16.426 1.036 15.42 0 13.398 0H3.028C1.005 0 0 1.035 0 3.066v14.815Zm1.572-.028V3.096c0-.977.518-1.524 1.533-1.524H13.32c1.016 0 1.534.547 1.534 1.524v14.756c0 .976-.518 1.513-1.534 1.513H3.105c-1.015 0-1.533-.537-1.533-1.513Z'/%3e%3cpath d='M4.512 5.654h7.412a.588.588 0 0 0 .596-.605.586.586 0 0 0-.596-.596H4.512a.588.588 0 0 0-.606.596.59.59 0 0 0 .606.605Zm0 3.409h7.412a.588.588 0 0 0 .596-.606.586.586 0 0 0-.596-.596H4.512a.588.588 0 0 0-.606.596.59.59 0 0 0 .606.605Zm0 3.407h3.506c.351 0 .605-.253.605-.585a.593.593 0 0 0-.605-.615H4.512a.593.593 0 0 0-.606.615c0 .332.254.586.606.586Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-info{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M8.252 15.43h3.975c.4 0 .713-.293.713-.694 0-.38-.313-.683-.713-.683h-1.211V9.082c0-.527-.264-.879-.762-.879H8.418c-.4 0-.713.303-.713.684 0 .4.313.693.713.693h1.045v4.473H8.252c-.4 0-.713.302-.713.683 0 .4.313.694.713.694Zm1.621-8.848c.713 0 1.27-.566 1.27-1.28 0-.712-.557-1.279-1.27-1.279a1.27 1.27 0 0 0-1.27 1.28 1.27 1.27 0 0 0 1.27 1.279Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-check-circle-2{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M8.887 14.6c.322 0 .595-.157.79-.46l4.464-7.02c.107-.196.234-.411.234-.626 0-.44-.39-.723-.8-.723-.245 0-.49.157-.675.44l-4.052 6.504-1.924-2.49c-.235-.313-.45-.391-.723-.391a.757.757 0 0 0-.752.771c0 .215.088.42.225.606l2.383 2.93c.244.322.507.459.83.459Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-flame{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='14' height='23' fill='none' viewBox='0 0 14 23'%3e%3cpath fill='black' d='M0 6.016c0 3.75 2.246 4.677 2.871 11.191.04.352.234.576.606.576H9.59c.38 0 .576-.224.615-.576.625-6.514 2.861-7.441 2.861-11.191 0-3.37-2.88-6.016-6.533-6.016C2.881 0 0 2.646 0 6.016Zm1.475 0c0-2.637 2.314-4.541 5.058-4.541 2.744 0 5.059 1.904 5.059 4.54 0 2.803-1.856 3.467-2.735 10.294H4.22c-.89-6.827-2.745-7.49-2.745-10.293Zm1.972 13.877H9.63a.563.563 0 0 0 .566-.577.56.56 0 0 0-.566-.566H3.447a.571.571 0 1 0 0 1.143Zm3.086 2.832c1.514 0 2.774-.743 2.871-1.866H3.672c.068 1.123 1.338 1.866 2.861 1.866Z'/%3e%3c/svg%3e")}.callout-icon .lucide-check{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='17' height='17' fill='none' viewBox='0 0 17 17'%3e%3cpath fill='black' d='M6.367 16.69c.42 0 .752-.186.987-.547L16.582 1.61c.176-.283.244-.498.244-.722 0-.537-.351-.889-.889-.889-.39 0-.605.127-.84.498L6.329 14.473l-4.55-5.957c-.245-.342-.489-.479-.84-.479-.557 0-.938.381-.938.918 0 .225.098.479.283.713l5.069 6.455c.293.38.595.566 1.015.566Z'/%3e%3c/svg%3e")}.callout-icon .lucide-help-circle{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M9.756 11.982c.488 0 .79-.312.79-.693v-.117c0-.547.313-.899.997-1.348.947-.625 1.621-1.191 1.621-2.363 0-1.621-1.445-2.5-3.105-2.5-1.68 0-2.784.8-3.047 1.7a1.584 1.584 0 0 0-.078.478c0 .44.341.673.664.673.332 0 .547-.156.722-.39l.176-.234c.342-.567.85-.899 1.504-.899.889 0 1.465.508 1.465 1.25 0 .664-.41.986-1.26 1.582-.703.488-1.23 1.006-1.23 1.963v.127c0 .508.283.771.78.771Zm-.02 2.91c.567 0 1.055-.449 1.055-1.015 0-.567-.479-1.016-1.055-1.016s-1.054.46-1.054 1.016c0 .557.488 1.016 1.054 1.016Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-alert-triangle{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' fill='none' viewBox='0 0 20 20'%3e%3cg fill='black'%3e%3cpath d='M9.96 19.922c5.499 0 9.962-4.463 9.962-9.961S15.459 0 9.96 0 0 4.463 0 9.96c0 5.499 4.463 9.962 9.96 9.962Zm0-1.66c-4.589 0-8.3-3.711-8.3-8.301s3.711-8.3 8.3-8.3c4.59 0 8.302 3.71 8.302 8.3 0 4.59-3.711 8.3-8.301 8.3Z'/%3e%3cpath d='M9.951 11.719c.46 0 .733-.264.742-.772l.147-5.156c.01-.498-.381-.87-.899-.87-.527 0-.898.362-.888.86l.127 5.166c.01.498.283.772.771.772Zm0 3.174c.557 0 1.045-.45 1.045-1.016 0-.567-.478-1.016-1.045-1.016-.576 0-1.055.46-1.055 1.016 0 .557.489 1.016 1.055 1.016Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-x{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3e%3cpath fill='black' d='M13.993.26.253 14a.875.875 0 0 0 0 1.23.896.896 0 0 0 1.24 0l13.74-13.74a.875.875 0 0 0 0-1.23.87.87 0 0 0-1.24 0ZM15.233 14 1.493.26a.87.87 0 0 0-1.24 0 .884.884 0 0 0 0 1.23l13.74 13.74c.332.333.908.342 1.24 0a.884.884 0 0 0 0-1.23Z'/%3e%3c/svg%3e")}.callout-icon .lucide-zap{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='21' height='19' fill='none' viewBox='0 0 21 19'%3e%3cg fill='black'%3e%3cpath d='M2.666 18.555h15.137c1.66 0 2.666-1.153 2.666-2.647 0-.459-.137-.937-.381-1.367L12.51 1.338A2.588 2.588 0 0 0 10.234 0C9.336 0 8.457.45 7.96 1.338L.381 14.54c-.264.44-.381.908-.381 1.367 0 1.494 1.006 2.647 2.666 2.647Zm.01-1.534c-.684 0-1.094-.527-1.094-1.123 0-.185.04-.42.147-.625L9.297 2.08c.205-.361.576-.518.937-.518.362 0 .723.157.928.518l7.568 13.203c.108.205.157.43.157.615 0 .596-.43 1.123-1.104 1.123H2.676Z'/%3e%3cpath d='M10.234 11.973c.47 0 .743-.274.752-.782l.137-5.146c.01-.498-.38-.87-.898-.87-.528 0-.899.362-.89.86l.128 5.156c.01.498.283.782.771.782Zm0 3.173c.567 0 1.055-.449 1.055-1.015 0-.576-.479-1.016-1.055-1.016s-1.054.45-1.054 1.016c0 .556.488 1.015 1.054 1.015Z'/%3e%3c/g%3e%3c/svg%3e")}.callout-icon .lucide-bug{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='23' height='23' fill='none' viewBox='0 0 23 23'%3e%3cpath fill='black' d='M11.065 22.94c5.156 0 8.583-3.515 8.583-8.818 0-2.93-1.298-5.927-3.369-7.744-.02-2.705-2.08-4.336-5.214-4.336-3.135 0-5.186 1.641-5.206 4.346-2.07 1.816-3.369 4.766-3.369 7.734 0 5.303 3.428 8.819 8.575 8.819Zm0-14.237c1.728 0 3.437-.333 4.55-.83 1.211 1.26 2.5 3.476 2.5 6.25 0 4.374-2.822 7.294-7.05 7.294-4.23 0-7.051-2.92-7.051-7.295 0-2.763 1.279-4.97 2.51-6.25 1.113.498 2.822.83 4.54.83Zm-.674 13.144h1.279V10.538a.642.642 0 0 0-.645-.634.634.634 0 0 0-.634.635v11.308ZM7.949 12.12a1.24 1.24 0 0 0 1.23-1.24 1.23 1.23 0 0 0-1.23-1.23 1.23 1.23 0 0 0-1.22 1.23c0 .674.546 1.24 1.22 1.24Zm-1.162 3.868a1.436 1.436 0 0 0 0-2.871c-.8 0-1.445.644-1.445 1.435a1.44 1.44 0 0 0 1.445 1.436Zm1.162 3.34a1.138 1.138 0 1 0 .01-2.275 1.138 1.138 0 0 0-.01 2.274Zm6.24-7.207c.674 0 1.221-.567 1.221-1.24a1.23 1.23 0 0 0-1.22-1.231c-.684 0-1.231.556-1.231 1.23 0 .674.547 1.24 1.23 1.24Zm1.163 3.867c.79 0 1.445-.645 1.445-1.436 0-.79-.654-1.435-1.445-1.435-.782 0-1.436.644-1.436 1.435s.654 1.436 1.436 1.436Zm-1.162 3.34c.625 0 1.132-.508 1.132-1.133a1.138 1.138 0 1 0-1.133 1.133ZM6.768 1.407l.664.244c.42.146.586.37.507.722l-.117.489 1.436-.01.068-.498c.108-.947-.332-1.65-1.299-1.992L7.256.05c-.967-.332-1.426 1.084-.488 1.358Zm8.603 0c.938-.274.479-1.69-.488-1.358l-.772.313c-.966.341-1.406 1.045-1.299 1.992l.069.498 1.435.01-.117-.489c-.078-.351.088-.576.508-.722l.664-.244ZM4.981 8.195 3.163 6.652c-.361-.303-.83-.342-1.133.02-.293.35-.185.83.176 1.122l1.846 1.553.927-1.152Zm-1.778 4.61-2.402.009c-.489 0-.801.303-.801.742 0 .45.313.752.81.752l2.393-.01v-1.494Zm.791 5.712L2.168 20.05c-.352.293-.459.762-.166 1.123.303.362.762.323 1.133.02l1.797-1.524-.938-1.152ZM17.148 8.195l.938 1.152 1.846-1.553c.351-.293.468-.771.175-1.123-.302-.361-.771-.322-1.132-.02l-1.827 1.544Zm1.788 4.61v1.493l2.392.01c.488 0 .81-.303.81-.752 0-.44-.322-.742-.8-.742l-2.402-.01Zm-.801 5.712-.938 1.143 1.807 1.533c.361.302.83.341 1.133-.02.293-.361.185-.83-.176-1.123l-1.826-1.533Z'/%3e%3c/svg%3e")}.callout-icon .lucide-list{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='19' height='23' fill='none' viewBox='0 0 19 23'%3e%3cpath fill='black' d='M8.486 4.756c.127 0 .196-.078.215-.195.293-1.582.264-1.66 1.963-1.963.117-.03.195-.098.195-.225 0-.117-.078-.195-.195-.215-1.7-.303-1.67-.38-1.963-1.963C8.681.078 8.613 0 8.486 0s-.195.078-.215.195c-.292 1.582-.263 1.66-1.962 1.963-.127.02-.196.098-.196.215 0 .127.069.195.196.225 1.699.302 1.67.38 1.962 1.963.02.117.088.195.215.195ZM3.76 11.475a.324.324 0 0 0 .332-.303c.351-2.608.44-2.608 3.135-3.125.166-.03.293-.147.293-.332a.32.32 0 0 0-.293-.322c-2.696-.381-2.793-.47-3.135-3.116-.02-.185-.147-.312-.332-.312-.176 0-.303.127-.332.322-.313 2.608-.46 2.598-3.135 3.106-.166.029-.293.146-.293.322 0 .195.127.303.332.332 2.656.43 2.783.498 3.096 3.105.029.196.156.323.332.323Zm6.62 10.8c.255 0 .44-.185.49-.449.693-5.342 1.445-6.162 6.737-6.748.274-.03.46-.224.46-.488 0-.254-.186-.45-.46-.479-5.292-.586-6.044-1.406-6.738-6.757-.049-.264-.234-.44-.488-.44s-.44.176-.479.44c-.693 5.351-1.455 6.171-6.738 6.757-.283.03-.469.225-.469.479 0 .264.186.459.47.488 5.272.694 6.005 1.406 6.737 6.748.04.264.225.45.479.45Z'/%3e%3c/svg%3e")}.callout-icon .lucide-quote{-webkit-mask-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='22' height='14' fill='none' viewBox='0 0 22 14'%3e%3cpath fill='black' d='M0 4.697c0 2.598 1.934 4.668 4.404 4.668A4.09 4.09 0 0 0 7.48 8.008h.264C7.178 9.854 5.46 11.396 3.33 12.03c-.312.098-.537.186-.674.303a.604.604 0 0 0-.234.508c0 .41.303.693.752.693.322 0 .547-.059.976-.195a8.532 8.532 0 0 0 3.496-2.197c1.31-1.368 2.12-3.194 2.12-5.362C9.766 2.12 7.44 0 4.716 0 2.032 0 0 2.05 0 4.697Zm11.729 0c0 2.598 1.923 4.668 4.404 4.668a4.105 4.105 0 0 0 3.076-1.357h.254c-.557 1.846-2.276 3.388-4.414 4.023-.313.098-.527.186-.664.303a.612.612 0 0 0-.244.508c0 .41.312.693.771.693.303 0 .537-.059.957-.195a8.372 8.372 0 0 0 3.486-2.197c1.329-1.368 2.14-3.194 2.14-5.362C21.494 2.12 19.17 0 16.444 0 13.76 0 11.73 2.05 11.73 4.697Z'/%3e%3c/svg%3e")}body:not(.is-mobile):not(.zoom-off) .markdown-preview-view .image-embed:not(.canvas-node-content,[alt=banner]) img,body:not(.is-mobile):not(.zoom-off) .markdown-preview-view img[referrerpolicy=no-referrer]:not([alt=banner]){cursor:zoom-in}body:not(.is-mobile):not(.zoom-off) .markdown-preview-view .image-embed:not(.canvas-node-content,[alt=banner]):active img,body:not(.is-mobile):not(.zoom-off) .markdown-preview-view img[referrerpolicy=no-referrer]:not([alt=banner]):active{position:fixed;z-index:1000;cursor:zoom-out;inset:0;background-color:var(--background-primary);width:100%;height:100%;max-height:unset;object-fit:contain;mask:none;padding:0;border-radius:0 !important;border:none}body{--cards-min-width: 160px;--cards-max-width: 1fr;--cards-mobile-width: 120px;--cards-image-height: 400px;--cards-image-fit: contain;--cards-background: transparent;--cards-background-hover: transparent;--cards-padding: 4px;--cards-aspect-ratio: auto;--cards-columns: repeat(auto-fit, minmax(var(--cards-min-width), var(--cards-max-width)))}@media(max-width: 400pt){body{--cards-min-width: var(--cards-mobile-width)}}.cards.table-100 table.dataview tbody,.table-100 .cards table.dataview tbody{padding:0 8px}.cards table.dataview.table-view-table tbody{clear:both;display:grid;grid-template-columns:var(--cards-columns);grid-column-gap:8px;grid-row-gap:8px;background-color:rgba(0,0,0,0)}.cards table.dataview.table-view-table>tbody>tr{background-color:var(--cards-background);border:var(--table-border-width) solid var(--background-modifier-border);display:flex;flex-direction:column;margin:0;padding:var(--cards-padding);border-radius:var(--radius-s);overflow:hidden;transition:var(--anim-duration-moderate) var(--anim-motion-baseline);max-width:var(--cards-max-width);height:auto}.cards table.dataview.table-view-table>tbody>tr:hover{background-color:var(--cards-background-hover)}.cards table.dataview.table-view-table tbody>tr>td{text-wrap:wrap}.cards table.dataview.table-view-table tbody>tr>td:first-child{font-weight:calc(var(--font-weight) + var(--bold-modifier))}.cards table.dataview.table-view-table tbody>tr>td:not(:first-child){font-size:var(--font-small);color:var(--text-muted)}.cards table.dataview.table-view-table tbody>tr>td>ul{width:100%;margin:0 auto !important}.cards table.dataview.table-view-table tbody>tr>td img{aspect-ratio:var(--cards-aspect-ratio);width:100%;object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.trim-cols .cards table.dataview tbody>tr>td{white-space:normal}.links-int-on .cards table{--link-decoration: none}.cards.table-100 table.dataview thead>tr,.table-100 .cards table.dataview thead>tr{right:8px}.table-100 .cards table.dataview thead:before,.cards.table-100 table.dataview thead:before{margin-right:8px}.cards table.dataview thead{-webkit-user-select:none;user-select:none;width:160px;height:24px;float:right;position:relative}.cards table.dataview thead:after,.cards table.dataview thead:before{content:"";position:absolute;right:0;top:0;width:var(--icon-size);height:var(--icon-size)}.cards table.dataview thead:before{background-color:var(--text-faint);-webkit-mask-repeat:no-repeat;-webkit-mask-size:16px;-webkit-mask-position:center center;-webkit-mask-image:url('data:image/svg+xml;utf8,')}.cards table.dataview thead>tr{transition:var(--anim-duration-moderate) var(--anim-motion-baseline);position:absolute;z-index:1;border:1px solid var(--background-modifier-border-hover);background-color:var(--background-secondary);box-shadow:var(--shadow-s);padding:4px;border-radius:var(--radius-s);flex-direction:column;margin-top:24px;width:100%}.cards table.dataview thead:not(:hover)>tr{opacity:0;filter:blur(4px);transform:translateY(-8px);pointer-events:none}.cards table.dataview thead:hover>tr{display:flex}.cards table.dataview thead>tr>th{display:block;padding:6px 8px;border-radius:var(--radius-s);font-weight:var(--font-normal);color:var(--text-normal);font-size:var(--font-ui-small)}.list-cards.markdown-preview-view .list-bullet,.list-cards.markdown-preview-view .list-collapse-indicator,.list-cards.markdown-preview-view.markdown-rendered.show-indentation-guide li>ul::before{display:none}.list-cards.markdown-preview-view div>ul{display:grid;gap:8px;grid-template-columns:var(--cards-columns);padding:0;line-height:var(--line-height-tight)}.list-cards.markdown-preview-view div>ul>li.task-list-item>.task-list-item-checkbox{margin-inline-start:4px}.list-cards.markdown-preview-view div>ul>li{background-color:var(--cards-background);border-radius:var(--radius-s);border:var(--table-border-width) solid var(--background-modifier-border);overflow:hidden;padding:8px;margin-inline-start:0;transition:var(--anim-duration-moderate) var(--anim-motion-baseline)}.list-cards.markdown-preview-view div>ul>li:hover{background-color:var(--cards-background-hover)}.list-cards.markdown-preview-view div>ul .image-embed{padding:0;display:block}.list-cards.markdown-preview-view div>ul .image-embed img{aspect-ratio:var(--cards-aspect-ratio);object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.list-cards.markdown-preview-view div>ul>li>a{--link-decoration: none;--link-external-decoration: none;font-weight:calc(var(--font-weight) + var(--bold-modifier))}.list-cards.markdown-preview-view div ul ul{display:block;width:100%;color:var(--text-muted);font-size:var(--font-smallest)}.list-cards.markdown-preview-view div ul ul>li{display:block;margin-inline-start:0}.cards.cards-16-9,.list-cards.cards-16-9{--cards-aspect-ratio: 16/9}.cards.cards-1-1,.list-cards.cards-1-1{--cards-aspect-ratio: 1/1}.cards.cards-2-1,.list-cards.cards-2-1{--cards-aspect-ratio: 2/1}.cards.cards-2-3,.list-cards.cards-2-3{--cards-aspect-ratio: 2/3}.cards.cards-cols-1,.list-cards.cards-cols-1{--cards-columns: repeat(1, minmax(0, 1fr))}.cards.cards-cols-2,.list-cards.cards-cols-2{--cards-columns: repeat(2, minmax(0, 1fr))}.cards.cards-cover,.list-cards.cards-cover{--cards-image-fit: cover}.cards.cards-cover tbody>tr>td:first-child,.list-cards.cards-cover tbody>tr>td:first-child{padding:0 !important;background-color:var(--background-secondary);display:block;margin:calc(var(--cards-padding)*-1) calc(var(--cards-padding)*-1) 0;width:calc(100% + var(--cards-padding)*2)}.cards.cards-cover tbody>tr>td:first-child img,.list-cards.cards-cover tbody>tr>td:first-child img{border-radius:0}.cards.cards-align-bottom table.dataview tbody>tr>td:last-child,.list-cards.cards-align-bottom table.dataview tbody>tr>td:last-child{margin-top:auto}@media(max-width: 400pt){.cards table.dataview tbody>tr>td:not(:first-child){font-size:80%}}@media(min-width: 400pt){.cards-cols-3{--cards-columns: repeat(3, minmax(0, 1fr))}.cards-cols-4{--cards-columns: repeat(4, minmax(0, 1fr))}.cards-cols-5{--cards-columns: repeat(5, minmax(0, 1fr))}.cards-cols-6{--cards-columns: repeat(6, minmax(0, 1fr))}.cards-cols-7{--cards-columns: repeat(7, minmax(0, 1fr))}.cards-cols-8{--cards-columns: repeat(8, minmax(0, 1fr))}}.table-small{--table-text-size: var(--font-smaller)}.table-tiny{--table-text-size: var(--font-smallest)}.row-hover{--table-row-background-hover: var(--background-modifier-hover);--table-row-alt-background-hover: var(--background-modifier-hover)}.row-alt{--table-row-alt-background: var(--background-primary);--table-row-alt-background-hover: var(--background-primary)}.col-alt .markdown-rendered:not(.cards){--table-column-alt-background: var(--background-primary)}.table-tabular table:not(.calendar){font-variant-numeric:tabular-nums}.table-center .markdown-preview-sizer table,.table-center .table-wrapper{margin:0 auto}.table-nowrap{--table-white-space: nowrap}.table-nowrap-first table thead>tr>th:first-child,.table-nowrap-first table tbody>tr>td:first-child{--table-white-space: nowrap}.trim-cols,.table-nowrap .table-wrap{--table-white-space: normal}.table-numbers table{counter-reset:section}.table-numbers table:not(.table-editor)>:is(thead,tbody)>tr>:is(th,td):first-child,.table-numbers table.table-editor>:is(thead,tbody)>tr>:is(th,td):first-child .table-cell-wrapper{position:relative;padding-left:3em}.table-numbers table:not(.table-editor) tbody>tr>td:first-child::before,.table-numbers table.table-editor tbody>tr>td:first-child .table-cell-wrapper::before{display:inline-block;position:absolute;top:.5em;left:.5em;counter-increment:section;min-width:2em;content:counter(section);color:var(--text-faint);font-variant-numeric:tabular-nums;text-align:center}.row-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td{border-bottom:var(--table-border-width) solid var(--table-border-color)}.row-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr:last-child>td{border-bottom:none}.col-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td{border-right:var(--table-border-width) solid var(--table-border-color)}.col-lines div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td:last-child{border-right:none}.table-lines .workspace-leaf-content[data-type=markdown] div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td{border:var(--table-border-width) solid var(--table-border-color)}.table-lines .workspace-leaf-content[data-type=markdown] div:not(.el-table):not(.table-wrapper)>table>tbody>tr:not(:first-child)>td{border-top:none}.table-lines .workspace-leaf-content[data-type=markdown] div:not(.el-table):not(.table-wrapper)>table>tbody>tr:not(:last-child)>td{border-bottom:none}.table-lines .workspace-leaf-content[data-type=markdown] div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td:not(:first-child){border-left:none}.table-lines .workspace-leaf-content[data-type=markdown] div:not(.el-table):not(.table-wrapper)>table>tbody>tr>td:not(:last-child){border-right:none}.theme-light img[src$="#blend"],.theme-light div[src$="#blend"] img,.theme-light span[src$="#blend"] img{mix-blend-mode:multiply}.theme-light img[src$="#invertW"],.theme-light div[src$="#invertW"] img,.theme-light span[src$=invertW] img{filter:invert(1) hue-rotate(180deg)}.theme-light .img-blend{mix-blend-mode:multiply}.theme-dark div[src$="#invert"],.theme-dark div[src$="#blend"]{background-color:var(--background-primary)}.theme-dark img[src$="#invert"],.theme-dark div[src$="#invert"] img,.theme-dark span[src$="#invert"] img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.theme-dark img[src$="#blend"],.theme-dark div[src$="#blend"] img,.theme-dark span[src$="#blend"] img{mix-blend-mode:screen}.theme-dark .img-blend{mix-blend-mode:screen}img[alt=left]:not(.emoji),span[alt=left] img:not(.emoji),span[alt=left] img:not(.emoji){display:block;justify-self:left}img[alt=center]:not(.emoji),span[alt=center] img:not(.emoji),span[alt=center] img:not(.emoji){display:block;justify-self:center}img[alt=right]:not(.emoji),span[alt=right] img:not(.emoji),span[alt=right] img:not(.emoji){display:block;justify-self:right}img[src$="#circle"]:not(.emoji),span[src$="#circle"] img:not(.emoji),span[src$="#round"] img:not(.emoji){border-radius:50% !important;aspect-ratio:1/1;object-fit:cover}img[src$="#outline"],div[src$="#outline"] img,span[src$="#outline"] img{border:1px solid var(--background-modifier-border)}img[src$="#interface"],span[src$="#interface"] img{border:1px solid var(--background-modifier-border);box-shadow:var(--shadow-l);border-radius:var(--radius-m)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-translucent).colorful-frame.theme-light .mod-sidedock.mod-left-split{background-color:color-mix(in srgb, #fff, var(--color-accent) 2%)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile):not(.is-translucent).colorful-frame.theme-dark .mod-sidedock.mod-left-split{background-color:color-mix(in srgb, var(--background-modifier-cover), var(--color-accent) 2%)}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root{--view-top-spacing-markdown: var(--header-height);--file-margins: calc(var(--file-margins-y) + var(--header-height)) var(--file-margins-y)}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-header-container{height:0;border-width:0px}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-tab-header-container>div:not(.sidebar-toggle-button){opacity:0}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .view-header{-webkit-app-region:drag;position:absolute;left:calc(var(--frame-left-space) + var(--tab-action-width));right:calc(var(--frame-right-space) + var(--tab-action-width));background-color:rgba(0,0,0,0);transition:var(--anim-duration-fast)}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .view-header:not(:hover){opacity:.5}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .workspace-leaf-content:not([data-type=markdown])>.view-content{margin-top:var(--header-height)}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .sidebar-toggle-button{position:absolute;height:var(--header-height);z-index:1}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .sidebar-toggle-button.mod-left{left:calc(var(--frame-left-space) + 8px)}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .sidebar-toggle-button.mod-right{right:calc(var(--frame-right-space) + 8px)}body.focus-view:not(.is-mobile):not(.is-popout-window) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root .sidebar-toggle-button:not(:hover){opacity:.5}body.focus-view.mod-macos:not(.is-mobile):not(.is-popout-window):not(.is-hidden-frameless) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root{--frame-left-space: 0px}body.focus-view:not(.mod-macos):not(.is-mobile):not(.is-popout-window):not(.is-hidden-frameless) .workspace:not(.is-left-sidedock-open):not(.is-right-sidedock-open) .mod-root{--frame-right-space: 0px}body:not(.is-mobile){--hover-sidedock-width: 320px;--hover-sidedock-delay: 160ms;--hover-sidedock-trigger-area: 1px}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed.mod-left-split:hover+.mod-root div:is(.workspace-tab-header-container,.workspace-tab-header-container-inner),body:not(.is-mobile).hover-sidedock .mod-root:has(+.mod-sidedock.is-sidedock-collapsed.mod-right-split:hover) div:is(.workspace-tab-header-container,.workspace-tab-header-container-inner),body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed div:is(.workspace-tab-header-container,.workspace-tab-header-container-inner),body:not(.is-mobile).hover-ribbon .workspace-ribbon.mod-left:hover~.mod-root div:is(.workspace-tab-header-container,.workspace-tab-header-container-inner){-webkit-app-region:no-drag}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display]{display:flex !important;position:absolute;opacity:0;z-index:11;background-color:rgba(0,0,0,0);width:var(--hover-sidedock-width) !important}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display] .workspace-tabs{visibility:visible}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-left-split{transform:translateX(calc(-1 * (var(--hover-sidedock-width) - var(--hover-sidedock-trigger-area))))}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-right-split{transform:translateX(calc(var(--hover-sidedock-width) - var(--hover-sidedock-trigger-area)))}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-left-split,body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-left-split::before{right:auto;left:0}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-right-split,body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-right-split::before{right:0;left:auto}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display]::before{position:absolute;z-index:0;transition:var(--anim-duration-moderate);inset-block:0;width:150%;content:"";pointer-events:none}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-left-split::before{background:linear-gradient(to right, var(--background-primary) 50%, transparent)}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display].mod-right-split::before{background:linear-gradient(to left, var(--background-primary) 50%, transparent)}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display]:hover,body:not(.is-mobile).hover-sidedock.hover-ribbon .workspace-ribbon.mod-left.is-collapsed:hover+.mod-sidedock,body:not(.is-mobile).hover-sidedock:not(.hover-sidedock-active-off)>.app-container>.horizontal-main-container>.workspace>.mod-sidedock:has(>.workspace-tabs.mod-active){transition-delay:var(--hover-sidedock-delay);transform:none;opacity:1}body:not(.is-mobile).hover-sidedock .mod-sidedock.is-sidedock-collapsed[style*=display]:hover::before,body:not(.is-mobile).hover-sidedock.hover-ribbon .workspace-ribbon.mod-left.is-collapsed:hover+.mod-sidedock::before,body:not(.is-mobile).hover-sidedock:not(.hover-sidedock-active-off)>.app-container>.horizontal-main-container>.workspace>.mod-sidedock:has(>.workspace-tabs.mod-active)::before{opacity:1}body:not(.is-mobile).hover-ribbon.show-ribbon .workspace-ribbon.mod-left{position:absolute;z-index:12;height:-webkit-fill-available;opacity:0;transform:translateX(calc(-1 * var(--ribbon-width) + 1px));background-color:rgba(0,0,0,0)}body:not(.is-mobile).hover-ribbon.show-ribbon .workspace-ribbon.mod-left:hover{opacity:1;transform:none}body:not(.is-mobile).hover-ribbon.show-ribbon .workspace-ribbon.mod-left:hover+.mod-sidedock{padding-left:calc(var(--ribbon-width) - 8px)}body:not(.is-mobile).hover-ribbon.show-ribbon .workspace-ribbon.mod-left.is-collapsed:hover,body:not(.is-mobile).hover-ribbon.show-ribbon .workspace-ribbon.mod-left.is-collapsed:hover+.mod-sidedock{transition-delay:var(--hover-sidedock-delay) !important}body:not(.is-mobile).hover-ribbon.show-ribbon.hover-sidedock .workspace-ribbon.mod-left.is-collapsed{z-index:13}body:not(.is-mobile).hover-ribbon.show-ribbon.mod-macos:not(.is-fullscreen).is-hidden-frameless .mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{transition-timing-function:ease}body:not(.is-mobile).hover-ribbon.show-ribbon.mod-macos:not(.is-fullscreen).is-hidden-frameless .workspace-ribbon.mod-left:not(.is-collapsed):hover~.mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container{padding-left:52px}body:not(.is-mobile).hover-ribbon.show-ribbon.mod-macos:not(.is-fullscreen).is-hidden-frameless .workspace-ribbon.mod-left:not(.is-collapsed):not(:hover)~.mod-sidedock.mod-left-split .mod-top-left-space .workspace-tab-header-container,body:not(.is-mobile).hover-ribbon.show-ribbon.mod-macos:not(.is-fullscreen).is-hidden-frameless .workspace-ribbon.mod-left.is-collapsed~.mod-root>div:first-of-type .workspace-tab-header-container{padding-left:88px}body.mod-windows:not(.adaptive-mode-off) .nav-files-container>div{--nav-item-background-active: var(--background-modifier-hover);--nav-item-color-active: var(--nav-item-color)}body.mod-windows:not(.adaptive-mode-off) .nav-files-container>div .tree-item-self.is-active::before{position:absolute;top:8px;bottom:8px;left:0;margin-left:0;border-radius:var(--button-radius);background-color:var(--interactive-accent);width:4px;height:auto;content:""}body.is-android:not(.adaptive-mode-off) .nav-files-container>div{--nav-item-background-active: var(--background-primary);--nav-item-background-selected: var(--background-primary);--nav-item-color-active: var(--text-normal)}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile) .nav-files-container>div{--nav-item-background-hover: transparent;--nav-item-background-active: var(--background-modifier-hover);--nav-item-color: var(--text-normal);--nav-item-color-hover: var(--text-normal);--nav-item-color-active: var(--text-accent)}body.mod-linux:not(.is-android):not(.adaptive-mode-off){--background-modifier-border: color-mix(in srgb, var(--background-secondary), var(--text-normal) 15%);--interactive-normal: color-mix(in srgb, var(--background-secondary), var(--text-normal) 10%);--interactive-hover: color-mix(in srgb, var(--background-secondary), var(--text-normal) 15%);--menu-border-color: color-mix(in srgb, var(--background-secondary), var(--text-normal) 10%);--modal-border-color: color-mix(in srgb, var(--background-secondary), var(--text-normal) 10%);--prompt-border-color: color-mix(in srgb, var(--background-secondary), var(--text-normal) 10%)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-light{--color-red-rgb: 237, 51, 59;--color-orange-rgb: 255, 120, 0;--color-yellow-rgb: 246, 211, 45;--color-green-rgb: 46, 194, 126;--color-cyan-rgb: 35, 164, 173;--color-blue-rgb: 98, 160, 234;--color-purple-rgb: 192, 97, 203;--color-pink-rgb: 224, 97, 178;--color-base-00: #ffffff;--color-base-05: #fdfdfc;--color-base-10: #fbfafa;--color-base-20: #f6f5f4;--color-base-25: #eeedeb;--color-base-30: #e6e5e3;--color-base-35: #deddda;--color-base-40: #c0bfbc;--color-base-50: #9a9996;--color-base-60: #77767b;--color-base-70: #5e5c64;--color-base-100: #000000;--mono-rgb-adwaita: 0, 0, 6;--background-primary: #fff;--background-primary-alt: #fff;--background-secondary: #ebebed;--background-secondary-alt: #f3f3f5;--text-normal: #333338;--text-muted: #5c5c60;--text-faint: #858587;--menu-background: #fff;--modal-background: #fafafb;--code-background: var(--background-secondary-alt);--blockquote-background-color: var(--background-secondary-alt);--embed-background-color: var(--background-secondary-alt)}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-light:not(.is-focused){--background-secondary: #f2f2f4}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-dark{--color-red-rgb: 224, 27, 36;--color-orange-rgb: 230, 97, 0;--color-yellow-rgb: 245, 194, 17;--color-green-rgb: 38, 162, 105;--color-cyan-rgb: 33, 144, 164;--color-blue-rgb: 53, 132, 228;--color-purple-rgb: 145, 65, 172;--color-pink-rgb: 213, 97, 170;--color-base-00: #000000;--color-base-05: #121019;--color-base-10: #241f31;--color-base-20: #3d3846;--color-base-25: #4e4a55;--color-base-30: #5e5c64;--color-base-35: #6b6970;--color-base-40: #77767b;--color-base-50: #9a9996;--color-base-60: #c0bfbc;--color-base-70: #e6e5e3;--color-base-100: #ffffff;--mono-rgb-adwaita: 255, 255, 255;--background-primary: #1d1d20;--background-primary-alt: #2e2e32;--background-secondary: #2e2e32;--background-secondary-alt: #28282c;--text-normal: #fff;--text-muted: #d2d2d2;--text-faint: #99999b;--menu-background: #36363a;--modal-background: #222226}body.mod-linux:not(.is-android):not(.adaptive-mode-off).theme-dark:not(.is-focused){--background-secondary: #28282c}body:is(.mod-macos,.adaptive-mode-off):not(.is-mobile){--background-primary-alt: color-mix(in srgb, var(--background-primary), rgb(var(--mono-rgb-100)) 3%);--background-secondary: color-mix(in srgb, var(--background-primary), rgb(var(--mono-rgb-100)) 5%);--background-secondary-alt: color-mix(in srgb, var(--background-primary), rgb(var(--mono-rgb-100)) 8%);--interactive-normal: rgba(var(--mono-rgb-100), 5%);--interactive-hover: rgba(var(--mono-rgb-100), 5%)}body:is(.mod-macos,.adaptive-mode-off).theme-light{--color-red-rgb: 255, 56, 60;--color-orange-rgb: 255, 141, 40;--color-yellow-rgb: 255, 204, 0;--color-green-rgb: 52, 199, 89;--color-cyan-rgb: 0, 192, 232;--color-blue-rgb: 0, 136, 255;--color-purple-rgb: 203, 48, 224;--color-pink-rgb: 255, 45, 85}body:is(.mod-macos,.adaptive-mode-off).theme-light:not(.is-mobile){--background-primary: #fff;--text-normal: #262626;--text-muted: #737373;--text-faint: #bfbfbf}body:is(.mod-macos,.adaptive-mode-off).theme-light.is-mobile{--background-primary: #fff;--background-primary-alt: #f2f2f7;--background-secondary: #f2f2f7;--background-secondary-alt: #fff;--interactive-normal: rgba(118, 118, 128, 12%);--interactive-hover: rgba(120, 120, 120, 20%);--text-normal: #000;--text-muted: #8a8a8e;--text-faint: #c4c4c7}body:is(.mod-macos,.adaptive-mode-off).theme-dark{--color-red-rgb: 255, 66, 69;--color-orange-rgb: 255, 146, 48;--color-yellow-rgb: 255, 214, 0;--color-green-rgb: 48, 209, 88;--color-cyan-rgb: 60, 211, 254;--color-blue-rgb: 0, 145, 255;--color-purple-rgb: 107, 52, 242;--color-pink-rgb: 255, 55, 95}body:is(.mod-macos,.adaptive-mode-off).theme-dark:not(.is-mobile){--background-primary: #1e1e1e;--text-normal: #dddddd;--text-muted: #9a9a9a;--text-faint: #565656}body:is(.mod-macos,.adaptive-mode-off).theme-dark.is-mobile{--background-primary: #000;--background-primary-alt: #1c1c1e;--background-secondary: #1c1c1e;--background-secondary-alt: #2c2c2e;--interactive-normal: rgba(118, 118, 128, 24%);--interactive-hover: rgba(120, 120, 120, 36%);--text-normal: #fff;--text-muted: #8d8d93;--text-faint: #47474a}body.is-android:not(.adaptive-mode-off).material-color .modal:where(.mod-settings) .vertical-tab-nav-item .vertical-tab-nav-item-icon{--setting-nav-icon-background: var(--neutral-60);background-color:var(--setting-nav-icon-background)}body.is-android:not(.adaptive-mode-off).material-color{--secondary-0: oklch(from hsl(var(--color-accent-hsl)) 0 0.07 h);--secondary-10: oklch(from hsl(var(--color-accent-hsl)) 0.17 0.07 h);--secondary-20: oklch(from hsl(var(--color-accent-hsl)) 0.29 0.07 h);--secondary-30: oklch(from hsl(var(--color-accent-hsl)) 0.41 0.07 h);--secondary-40: oklch(from hsl(var(--color-accent-hsl)) 0.53 0.07 h);--secondary-50: oklch(from hsl(var(--color-accent-hsl)) 0.64 0.07 h);--secondary-60: oklch(from hsl(var(--color-accent-hsl)) 0.73 0.07 h);--secondary-70: oklch(from hsl(var(--color-accent-hsl)) 0.81 0.07 h);--secondary-80: oklch(from hsl(var(--color-accent-hsl)) 0.87 0.07 h);--secondary-90: oklch(from hsl(var(--color-accent-hsl)) 0.93 0.07 h);--secondary-95: oklch(from hsl(var(--color-accent-hsl)) 0.96 0.06 h);--secondary-99: oklch(from hsl(var(--color-accent-hsl)) 0.99 0.04 h);--secondary-100: oklch(from hsl(var(--color-accent-hsl)) 1 0.02 h);--tertiary-0: oklch(from hsl(var(--color-accent-hsl)) 0 0.1 calc(h + 60));--tertiary-10: oklch(from hsl(var(--color-accent-hsl)) 0.17 0.1 calc(h + 60));--tertiary-20: oklch(from hsl(var(--color-accent-hsl)) 0.29 0.1 calc(h + 60));--tertiary-30: oklch(from hsl(var(--color-accent-hsl)) 0.41 0.1 calc(h + 60));--tertiary-40: oklch(from hsl(var(--color-accent-hsl)) 0.53 0.1 calc(h + 60));--tertiary-50: oklch(from hsl(var(--color-accent-hsl)) 0.64 0.1 calc(h + 60));--tertiary-60: oklch(from hsl(var(--color-accent-hsl)) 0.73 0.1 calc(h + 60));--tertiary-70: oklch(from hsl(var(--color-accent-hsl)) 0.81 0.1 calc(h + 60));--tertiary-80: oklch(from hsl(var(--color-accent-hsl)) 0.87 0.1 calc(h + 60));--tertiary-90: oklch(from hsl(var(--color-accent-hsl)) 0.93 0.1 calc(h + 60));--tertiary-95: oklch(from hsl(var(--color-accent-hsl)) 0.96 0.06 calc(h + 60));--tertiary-99: oklch(from hsl(var(--color-accent-hsl)) 0.99 0.04 calc(h + 60));--tertiary-100: oklch(from hsl(var(--color-accent-hsl)) 1 0.02 calc(h + 60));--neutral-0: oklch(from hsl(var(--color-accent-hsl)) 0 0.035 h);--neutral-4: oklch(from hsl(var(--color-accent-hsl)) 0.06 0.035 h);--neutral-6: oklch(from hsl(var(--color-accent-hsl)) 0.1 0.035 h);--neutral-10: oklch(from hsl(var(--color-accent-hsl)) 0.17 0.035 h);--neutral-12: oklch(from hsl(var(--color-accent-hsl)) 0.19 0.035 h);--neutral-17: oklch(from hsl(var(--color-accent-hsl)) 0.25 0.035 h);--neutral-20: oklch(from hsl(var(--color-accent-hsl)) 0.29 0.035 h);--neutral-22: oklch(from hsl(var(--color-accent-hsl)) 0.31 0.035 h);--neutral-24: oklch(from hsl(var(--color-accent-hsl)) 0.33 0.035 h);--neutral-30: oklch(from hsl(var(--color-accent-hsl)) 0.41 0.035 h);--neutral-40: oklch(from hsl(var(--color-accent-hsl)) 0.53 0.035 h);--neutral-50: oklch(from hsl(var(--color-accent-hsl)) 0.64 0.035 h);--neutral-60: oklch(from hsl(var(--color-accent-hsl)) 0.73 0.035 h);--neutral-70: oklch(from hsl(var(--color-accent-hsl)) 0.81 0.035 h);--neutral-80: oklch(from hsl(var(--color-accent-hsl)) 0.87 0.035 h);--neutral-87: oklch(from hsl(var(--color-accent-hsl)) 0.89 0.035 h);--neutral-90: oklch(from hsl(var(--color-accent-hsl)) 0.93 0.035 h);--neutral-92: oklch(from hsl(var(--color-accent-hsl)) 0.94 0.035 h);--neutral-94: oklch(from hsl(var(--color-accent-hsl)) 0.95 0.035 h);--neutral-95: oklch(from hsl(var(--color-accent-hsl)) 0.96 0.035 h);--neutral-96: oklch(from hsl(var(--color-accent-hsl)) 0.97 0.035 h);--neutral-98: oklch(from hsl(var(--color-accent-hsl)) 0.98 0.026 h);--neutral-99: oklch(from hsl(var(--color-accent-hsl)) 0.99 0.016 h);--neutral-100: oklch(from hsl(var(--color-accent-hsl)) 1 0.012 h);--neutral-variant-0: oklch(from hsl(var(--color-accent-hsl)) 0 0.04 h);--neutral-variant-10: oklch(from hsl(var(--color-accent-hsl)) 0.17 0.037 h);--neutral-variant-20: oklch(from hsl(var(--color-accent-hsl)) 0.29 0.037 h);--neutral-variant-30: oklch(from hsl(var(--color-accent-hsl)) 0.41 0.037 h);--neutral-variant-40: oklch(from hsl(var(--color-accent-hsl)) 0.53 0.037 h);--neutral-variant-50: oklch(from hsl(var(--color-accent-hsl)) 0.64 0.037 h);--neutral-variant-60: oklch(from hsl(var(--color-accent-hsl)) 0.73 0.037 h);--neutral-variant-70: oklch(from hsl(var(--color-accent-hsl)) 0.81 0.037 h);--neutral-variant-80: oklch(from hsl(var(--color-accent-hsl)) 0.87 0.037 h);--neutral-variant-90: oklch(from hsl(var(--color-accent-hsl)) 0.93 0.037 h);--neutral-variant-95: oklch(from hsl(var(--color-accent-hsl)) 0.96 0.026 h);--neutral-variant-99: oklch(from hsl(var(--color-accent-hsl)) 0.99 0.02 h);--neutral-variant-100: oklch(from hsl(var(--color-accent-hsl)) 1 0.01 h)}body.is-android:not(.adaptive-mode-off).theme-light.material-color .checkbox-container{--interactive-accent: var(--color-base-50);--text-muted: var(--neutral-30)}body.is-android:not(.adaptive-mode-off).theme-light.material-color.is-phone .mobile-navbar{background-color:var(--secondary-95) !important}body.is-android:not(.adaptive-mode-off).theme-light.material-color.is-phone .mobile-navbar-action{--icon-color: var(--secondary-30)}body.is-android:not(.adaptive-mode-off).theme-light.material-color.is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){background-color:var(--tertiary-95);color:var(--tertiary-30)}body.is-android:not(.adaptive-mode-off).theme-light.material-color{--color-red: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-red-rgb))) max(l, 0.82) min(c, 0.12) h);--color-orange: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-orange-rgb))) max(l, 0.82) min(c, 0.12) h);--color-yellow: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-yellow-rgb))) max(l, 0.82) min(c, 0.12) h);--color-green: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-green-rgb))) max(l, 0.82) min(c, 0.12) h);--color-cyan: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-cyan-rgb))) max(l, 0.82) min(c, 0.12) h);--color-blue: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-blue-rgb))) max(l, 0.82) min(c, 0.12) h);--color-purple: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-purple-rgb))) max(l, 0.82) min(c, 0.12) h);--color-pink: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-pink-rgb))) max(l, 0.82) min(c, 0.12) h);--color-base-00: oklch(from hsl(var(--color-accent-hsl)) 1 0.04 h);--color-base-05: oklch(from hsl(var(--color-accent-hsl)) 0.99 0.08 h);--color-base-10: oklch(from hsl(var(--color-accent-hsl)) 0.96 0.12 h);--color-base-20: oklch(from hsl(var(--color-accent-hsl)) 0.93 0.14 h);--color-base-25: oklch(from hsl(var(--color-accent-hsl)) 0.87 0.14 h);--color-base-30: oklch(from hsl(var(--color-accent-hsl)) 0.81 0.14 h);--color-base-35: oklch(from hsl(var(--color-accent-hsl)) 0.73 0.14 h);--color-base-40: oklch(from hsl(var(--color-accent-hsl)) 0.64 0.14 h);--color-base-50: oklch(from hsl(var(--color-accent-hsl)) 0.53 0.14 h);--color-base-60: oklch(from hsl(var(--color-accent-hsl)) 0.41 0.14 h);--color-base-70: oklch(from hsl(var(--color-accent-hsl)) 0.29 0.14 h);--color-base-100: oklch(from hsl(var(--color-accent-hsl)) 0.17 0.14 h);--text-muted: var(--neutral-40);--text-faint: var(--neutral-60);--text-accent: var(--color-base-50);--background-primary: var(--neutral-98);--background-primary-alt: var(--neutral-100);--background-secondary: var(--neutral-94);--background-secondary-alt: var(--neutral-96);--interactive-normal: var(--background-primary);--interactive-hover: var(--background-secondary);--interactive-accent: var(--tertiary-40);--interactive-accent-hover: oklch(from var(--tertiary-40) calc(l + 0.05) c h);--text-on-accent: var(--tertiary-100);--text-on-accent-inverted: var(--tertiary-100);--background-modifier-form-field: var(--neutral-90);--background-modifier-border: var(--neutral-variant-80);--background-modifier-border-hover: var(--neutral-variant-70);--background-modifier-border-focus: var(--neutral-variant-50);--tag-background: var(--secondary-95);--tag-color: var(--secondary-30)}body.is-android:not(.adaptive-mode-off).theme-dark.material-color .checkbox-container{--interactive-accent: var(--color-base-30);--text-muted: var(--neutral-60)}body.is-android:not(.adaptive-mode-off).theme-dark.material-color.is-phone .mobile-navbar{background-color:var(--secondary-20) !important}body.is-android:not(.adaptive-mode-off).theme-dark.material-color.is-phone .mobile-navbar-action{--icon-color: var(--secondary-80)}body.is-android:not(.adaptive-mode-off).theme-dark.material-color.is-phone:not(.mode-switcher-off) .mod-root .workspace-leaf-content[data-type=markdown] .view-actions button:nth-last-child(2){background-color:var(--tertiary-20);color:var(--tertiary-80)}body.is-android:not(.adaptive-mode-off).theme-dark.material-color{--color-accent: oklch(from hsl(var(--color-accent-hsl)) min(l, 0.82) min(c, 0.12) h);--color-accent-1: oklch(from hsl(calc(var(--accent-h) - 3), calc(var(--accent-s) * 1.02), calc(var(--accent-l) * 1.15)) min(l, 0.82) min(c, 0.12) h);--color-accent-2: oklch(from hsl(calc(var(--accent-h) - 5), calc(var(--accent-s) * 1.05), calc(var(--accent-l) * 1.29)) min(l, 0.82) min(c, 0.12) h);--color-red: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-red-rgb))) min(l, 0.82) min(c, 0.12) h);--color-orange: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-orange-rgb))) min(l, 0.82) min(c, 0.12) h);--color-yellow: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-yellow-rgb))) min(l, 0.82) min(c, 0.12) h);--color-green: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-green-rgb))) min(l, 0.82) min(c, 0.12) h);--color-cyan: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-cyan-rgb))) min(l, 0.82) min(c, 0.12) h);--color-blue: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-blue-rgb))) min(l, 0.82) min(c, 0.12) h);--color-purple: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-purple-rgb))) min(l, 0.82) min(c, 0.12) h);--color-pink: oklch(from color-mix(in oklch, hsl(var(--color-accent-hsl)) 10%, rgb(var(--color-pink-rgb))) min(l, 0.82) min(c, 0.12) h);--color-base-00: oklch(from hsl(var(--color-accent-hsl)) 0 0.11 h);--color-base-05: oklch(from hsl(var(--color-accent-hsl)) 0.17 0.11 h);--color-base-10: oklch(from hsl(var(--color-accent-hsl)) 0.29 0.11 h);--color-base-20: oklch(from hsl(var(--color-accent-hsl)) 0.41 0.11 h);--color-base-25: oklch(from hsl(var(--color-accent-hsl)) 0.53 0.11 h);--color-base-30: oklch(from hsl(var(--color-accent-hsl)) 0.64 0.11 h);--color-base-35: oklch(from hsl(var(--color-accent-hsl)) 0.73 0.11 h);--color-base-40: oklch(from hsl(var(--color-accent-hsl)) 0.81 0.11 h);--color-base-50: oklch(from hsl(var(--color-accent-hsl)) 0.87 0.11 h);--color-base-60: oklch(from hsl(var(--color-accent-hsl)) 0.93 0.11 h);--color-base-70: oklch(from hsl(var(--color-accent-hsl)) 0.96 0.09 h);--color-base-100: oklch(from hsl(var(--color-accent-hsl)) 0.99 0.06 h);--text-muted: var(--neutral-60);--text-faint: var(--neutral-40);--background-primary: var(--neutral-10);--background-primary-alt: var(--neutral-17);--background-secondary: var(--neutral-17);--background-secondary-alt: var(--neutral-20);--interactive-normal: var(--background-primary);--interactive-hover: var(--background-secondary);--interactive-accent: var(--tertiary-60);--interactive-accent-hover: oklch(from var(--tertiary-80) calc(l + 0.05) c h);--text-on-accent: var(--tertiary-20);--text-on-accent-inverted: var(--tertiary-20);--background-modifier-form-field: var(--neutral-22);--background-modifier-border: var(--neutral-variant-30);--background-modifier-border-hover: var(--neutral-variant-40);--background-modifier-border-focus: var(--neutral-variant-60);--tag-background: var(--secondary-20);--tag-color: var(--secondary-80)}body:not(.is-mobile) .backlink-pane .search-result-file-match:not(:hover) .search-result-file-match-replace-button{display:none}body:not(.is-mobile) .backlink-pane .search-result-file-match-replace-button{padding:4px 8px}.embedded-backlinks .nav-header>.search-input-container{width:100%;margin:48px 0 16px;align-self:start}.markdown-embed[data-type=footnote]{background-color:rgba(0,0,0,0);overflow:visible}.workspace-leaf-content[data-type=webviewer] .view-header{gap:0}.workspace-leaf-content[data-type=webviewer] .view-header-left,.workspace-leaf-content[data-type=webviewer] .view-actions{flex:0}.workspace-leaf-content[data-type=webviewer] .webviewer-content{border-top:none}body:not(.is-mobile) .canvas-control-group:not(:hover),body:not(.is-mobile) .canvas-card-menu:not(:hover){opacity:.5}.canvas-control-group{border:none;transition:var(--anim-duration-fast)}.canvas-card-menu{transition:var(--anim-duration-fast);padding:8px;gap:4px}.canvas-card-menu .canvas-card-menu-button{--icon-size: 24px}.canvas-card-menu .canvas-card-menu-button svg{transition:var(--anim-duration-moderate) var(--anim-motion-baseline) !important}@media only screen and (max-width: 600px){.omnisearch-input-container__buttons{padding:0 8px}.omnisearch-input-field{padding:8px}}@media only screen and (min-width: 600px){.omnisearch-input-container__buttons{margin-inline-end:4px}}.omnisearch-input-field{display:flex;align-items:center;width:100%}.omnisearch-input-container__buttons button{box-shadow:none;border:var(--input-border-width) solid var(--background-modifier-border)}.omnisearch-result>div{gap:4px;width:100%}.omnisearch-result>div .omnisearch-result__title,.omnisearch-result>div .omnisearch-result__icon+span{flex:1}.omnisearch-result>div .omnisearch-result__title-container,.omnisearch-result>div .omnisearch-result__folder-path{margin-bottom:4px}.omnisearch-result>div .omnisearch-result__body{margin-inline:0}body:not(.is-mobile) .omnisearch-input-container__buttons{display:none}@media only screen and (max-width: 600px){body:is(.mod-macos,.adaptive-mode-off).is-phone .omnisearch-modal{--prompt-top: calc(var(--safe-area-inset-top) + var(--header-height)) !important;backdrop-filter:none !important;background-color:rgba(0,0,0,0) !important;height:calc(100vh - var(--prompt-top)) !important}body:is(.mod-macos,.adaptive-mode-off).is-phone .omnisearch-modal::before{position:fixed;z-index:-1;backdrop-filter:var(--blur-l);inset:0;pointer-events:none;content:""}body:is(.mod-macos,.adaptive-mode-off).is-phone .omnisearch-modal .prompt-results{backdrop-filter:var(--blur-l);mask:none !important;border-radius:var(--modal-radius) var(--modal-radius) 0 0;background-color:var(--modal-background);padding-top:var(--safe-area-inset-side) !important;padding-bottom:var(--safe-area-inset-bottom)}body:is(.mod-macos,.adaptive-mode-off).is-phone .omnisearch-modal .omnisearch-input-container{gap:8px;margin-bottom:var(--safe-area-inset-side);padding-inline:var(--safe-area-inset-side)}body:is(.mod-macos,.adaptive-mode-off).is-phone .omnisearch-modal .prompt-input{width:100%}body:is(.mod-macos,.adaptive-mode-off).is-phone .omnisearch-modal .omnisearch-input-container__buttons{padding:0}}body{--nn-theme-mobile-nav-bg: transparent;--nn-theme-nav-header-bg: transparent;--nn-theme-nav-bg: transparent;--nn-theme-list-header-bg: transparent;--nn-theme-list-bg: transparent;--nn-theme-navitem-selected-bg: var(--background-modifier-hover);--nn-theme-navitem-selected-inactive-bg: var(--background-modifier-hover);--nn-theme-file-tag-bg: var(--tag-background);--nn-theme-file-tag-color: var(--tag-color);--nn-theme-mobile-list-header-link-color: var(--text-normal);--nn-theme-mobile-toolbar-button-icon-color: var(--text-normal);--nn-theme-mobile-toolbar-button-active-icon-color: var(--text-on-accent);--nn-theme-mobile-toolbar-button-active-bg: var(--interactive-accent);--nn-theme-navitem-border-radius: var(--radius-m);--nn-theme-file-border-radius: var(--radius-m)}.notebook-navigator{background-color:rgba(0,0,0,0)}body:not(.is-mobile) .view-content.notebook-navigator{padding:0 !important}body:not(.is-mobile) .view-content.notebook-navigator .nn-single-pane .nn-navigation-pane{border-right:none}body:not(.is-mobile) .view-content.notebook-navigator .nn-pane-header{padding:8px 12px}body:not(.is-mobile) .view-content.notebook-navigator .nn-header-actions button.nn-icon-button{padding:8px;min-width:unset;height:auto}body.is-mobile .view-content.notebook-navigator-mobile .nn-pane-header,body.is-mobile .view-content.notebook-navigator-mobile .nn-mobile-title{padding:0}.hider-sidebar-buttons.mod-macos{--frame-left-space: calc(80px - var(--ribbon-width))}.hider-sidebar-buttons .sidebar-toggle-button.mod-left,.hider-sidebar-buttons .sidebar-toggle-button.mod-right{display:flex;visibility:hidden;width:0 !important;opacity:0}body.is-phone.hider-sidebar-buttons .view-header-left{display:none}body.is-phone.hider-sidebar-buttons .view-header-title-container{margin-left:8px !important}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs){--status-bar-radius: 0;--status-bar-border-width: 0;--status-bar-background: transparent}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs) #quick-explorer .explorable{color:var(--text-faint);transition:var(--anim-duration-fast)}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs) #quick-explorer .explorable.selected,.obsidian-themepocalypse:not(.qe-hide-breadcrumbs) #quick-explorer .explorable:hover{background-color:rgba(0,0,0,0);color:var(--text-normal)}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs) .status-bar{width:100%;transform:none !important;opacity:1 !important}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs) .status-bar::before{content:none !important}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs):not(.status-bar-baseline) .status-bar{margin:4px 0}.obsidian-themepocalypse:not(.qe-hide-breadcrumbs):not(.status-bar-baseline) .status-bar:hover{margin:0;box-shadow:none;backdrop-filter:none;border:none}body:not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content.novel-word-count--active>.nav-header:not(:hover) .nav-buttons-container .nav-action-button{opacity:0}body:not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content.novel-word-count--active>.nav-header:not(:hover) .nav-buttons-container::after{opacity:1}body:not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content.novel-word-count--active>.nav-header .nav-buttons-container{flex-wrap:nowrap !important}body:not(.is-mobile):not(.nav-action-center) .mod-sidedock .workspace-leaf-content.novel-word-count--active>.nav-header .nav-buttons-container::after{position:absolute;overflow:visible;opacity:0;transition:var(--anim-duration-moderate);color:var(--text-faint)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active .nav-buttons-container{overflow:visible}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active .nav-buttons-container::after{position:absolute;transform:translateY(-24px)}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--note-right .nav-files-container .nav-folder-title::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--note-right .nav-files-container .nav-file-title::after{flex:unset;order:0}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--note-inline .nav-files-container .tree-item .tree-item-inner{flex:unset;padding:0 8px}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--note-inline .nav-files-container .nav-folder-title::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--note-inline .nav-files-container .nav-file-title::after{order:0}body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--folder-below .nav-files-container .nav-folder-title::after,body:is(.mod-macos,.adaptive-mode-off).is-mobile .workspace-drawer .novel-word-count--active.novel-word-count--folder-below .nav-files-container .nav-file-title::after{flex-basis:100%}.field-btn-container{margin-inline-start:8px}.field-btn-container button.property-metadata-menu,.plugin-metadata-menu .status-item-bt{padding:0 !important;background-color:rgba(0,0,0,0);align-self:center}.metadata-menu .suggester-input{margin-top:0}.metadata-menu .prompt-input-container{height:var(--prompt-input-height);position:absolute;inset:0 0 auto;pointer-events:none}.metadata-menu .search-input-clear-button{display:none}.metadata-menu .value-container.value-checked.is-selected{color:var(--text-on-accent)}.relative-line-numbers-mono{position:absolute;width:100%}body:not(.is-phone) .pixel-banner>.markdown-source-view>.cm-editor:first-child .pixel-banner-image,body:not(.is-phone) .pixel-banner>.markdown-reading-view>.markdown-preview-view:first-child>.pixel-banner-image{top:var(--view-header-height, var(--header-height))}body.is-phone.is-mobile .pixel-banner .select-image-icon{display:none}body.is-phone.is-mobile .pixel-banner .pixel-banner-image{top:var(--view-top-spacing-markdown)}body.is-mobile .kanban-plugin__item,body.is-mobile .kanban-plugin__item-input-wrapper{border-radius:var(--radius-s)}body.minimal-theme .workspace::before{content:"Community plugin “Minimal Theme Settings” conflicts with Cupertino.\aPlease disable the plugin to avoid visual bugs and instability.";text-align:center;white-space:pre-wrap;position:fixed;inset:0;color:var(--text-muted);font-size:var(--font-smaller);z-index:49;pointer-events:none;background-color:var(--background-primary);align-self:center;justify-self:center;padding:32px;border-radius:100vh;box-shadow:var(--shadow-l)} \ No newline at end of file diff --git a/.obsidian/themes/Material 3/manifest.json b/.obsidian/themes/Material 3/manifest.json new file mode 100644 index 0000000..715b09b --- /dev/null +++ b/.obsidian/themes/Material 3/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "Material 3", + "version": "1.9.1", + "minAppVersion": "1.0.0", + "author": "HarmfulBreeze", + "authorUrl": "https://github.com/HarmfulBreeze" +} \ No newline at end of file diff --git a/.obsidian/themes/Material 3/theme.css b/.obsidian/themes/Material 3/theme.css new file mode 100644 index 0000000..5ca5a6a --- /dev/null +++ b/.obsidian/themes/Material 3/theme.css @@ -0,0 +1 @@ +/*! Sass Fairy v1 | (c) roydukkey | https://sass-fairy.com/license */.theme-dark{--md-sys-color-background: #14121b;--md-sys-color-error: #ffb4ab;--md-sys-color-error-container: #93000a;--md-sys-color-inverse-on-surface: #322f39;--md-sys-color-inverse-primary: #6b36e2;--md-sys-color-inverse-surface: #e7e0ee;--md-sys-color-on-background: #e7e0ee;--md-sys-color-on-error: #690005;--md-sys-color-on-error-container: #ffdad6;--md-sys-color-on-primary: #390093;--md-sys-color-on-primary-container: #e8ddff;--md-sys-color-on-primary-fixed: #21005d;--md-sys-color-on-primary-fixed-variant: #5208ca;--md-sys-color-on-secondary: #36226b;--md-sys-color-on-secondary-container: #e8ddff;--md-sys-color-on-secondary-fixed: #210656;--md-sys-color-on-secondary-fixed-variant: #4d3a83;--md-sys-color-on-surface: #e7e0ee;--md-sys-color-on-surface-variant: #cbc3d8;--md-sys-color-on-tertiary: #4c2700;--md-sys-color-on-tertiary-container: #ffdcc1;--md-sys-color-on-tertiary-fixed: #2e1500;--md-sys-color-on-tertiary-fixed-variant: #6c3a00;--md-sys-color-outline: #948ea1;--md-sys-color-outline-variant: #494455;--md-sys-color-primary: #cebdff;--md-sys-color-primary-container: #5208ca;--md-sys-color-primary-fixed: #e8ddff;--md-sys-color-primary-fixed-dim: #cebdff;--md-sys-color-scrim: #000000;--md-sys-color-secondary: #cebdff;--md-sys-color-secondary-container: #4d3a83;--md-sys-color-secondary-fixed: #e8ddff;--md-sys-color-secondary-fixed-dim: #cebdff;--md-sys-color-shadow: #000000;--md-sys-color-surface: #14121b;--md-sys-color-surface-bright: #3b3742;--md-sys-color-surface-container: #211e28;--md-sys-color-surface-container-high: #2b2833;--md-sys-color-surface-container-highest: #36333e;--md-sys-color-surface-container-low: #1d1a24;--md-sys-color-surface-container-lowest: #0f0d16;--md-sys-color-surface-dim: #14121b;--md-sys-color-surface-tint: #cebdff;--md-sys-color-surface-variant: #494455;--md-sys-color-tertiary: #ffb779;--md-sys-color-tertiary-container: #6c3a00;--md-sys-color-tertiary-fixed: #ffdcc1;--md-sys-color-tertiary-fixed-dim: #ffb779;--md-extended-green-color-rgb: 77, 223, 162;--md-extended-green-color: rgb(var(--md-extended-green-color-rgb));--md-extended-green-on-color: rgb(0, 56, 36);--md-extended-green-color-container: rgb(0, 173, 119);--md-extended-green-on-color-container: rgb(0, 7, 3);--md-extended-red-color: rgb(255, 177, 196);--md-extended-red-on-color: rgb(101, 0, 46);--md-extended-red-color-container: rgb(220, 31, 111);--md-extended-red-on-color-container: rgb(255, 255, 255);--md-extended-orange-color: rgb(255, 181, 156);--md-extended-orange-on-color: rgb(92, 25, 0);--md-extended-orange-color-container: rgb(199, 77, 30);--md-extended-orange-on-color-container: rgb(255, 255, 255);--md-extended-yellow-color: rgb(255, 207, 146);--md-extended-yellow-on-color: rgb(69, 43, 0);--md-extended-yellow-color-container: rgb(237, 157, 12);--md-extended-yellow-on-color-container: rgb(51, 30, 0);--md-extended-cyan-color: rgb(77, 223, 242);--md-extended-cyan-on-color: rgb(0, 54, 61);--md-extended-cyan-color-container: rgb(0, 180, 199);--md-extended-cyan-on-color-container: rgb(0, 28, 32);--md-extended-blue-color: rgb(187, 195, 255);--md-extended-blue-on-color: rgb(0, 27, 150);--md-extended-blue-color-container: rgb(71, 91, 214);--md-extended-blue-on-color-container: rgb(255, 255, 255);--md-extended-purple-color: rgb(205, 189, 255);--md-extended-purple-on-color: rgb(55, 0, 149);--md-extended-purple-color-container: rgb(113, 71, 228);--md-extended-purple-on-color-container: rgb(255, 255, 255);--md-extended-pink-color: rgb(255, 173, 227);--md-extended-pink-on-color: rgb(95, 0, 79);--md-extended-pink-color-container: rgb(193, 49, 163);--md-extended-pink-on-color-container: rgb(255, 255, 255)}.theme-light{--md-sys-color-background: #fdf7ff;--md-sys-color-error: #ba1a1a;--md-sys-color-error-container: #ffdad6;--md-sys-color-inverse-on-surface: #f5eefc;--md-sys-color-inverse-primary: #cebdff;--md-sys-color-inverse-surface: #322f39;--md-sys-color-on-background: #1d1a24;--md-sys-color-on-error: #ffffff;--md-sys-color-on-error-container: #410002;--md-sys-color-on-primary: #ffffff;--md-sys-color-on-primary-container: #21005d;--md-sys-color-on-primary-fixed: #21005d;--md-sys-color-on-primary-fixed-variant: #5208ca;--md-sys-color-on-secondary: #ffffff;--md-sys-color-on-secondary-container: #210656;--md-sys-color-on-secondary-fixed: #210656;--md-sys-color-on-secondary-fixed-variant: #4d3a83;--md-sys-color-on-surface: #1d1a24;--md-sys-color-on-surface-variant: #494455;--md-sys-color-on-tertiary: #ffffff;--md-sys-color-on-tertiary-container: #2e1500;--md-sys-color-on-tertiary-fixed: #2e1500;--md-sys-color-on-tertiary-fixed-variant: #6c3a00;--md-sys-color-outline: #7a7487;--md-sys-color-outline-variant: #cbc3d8;--md-sys-color-primary: #6b36e2;--md-sys-color-primary-container: #e8ddff;--md-sys-color-primary-fixed: #e8ddff;--md-sys-color-primary-fixed-dim: #cebdff;--md-sys-color-scrim: #000000;--md-sys-color-secondary: #65529d;--md-sys-color-secondary-container: #e8ddff;--md-sys-color-secondary-fixed: #e8ddff;--md-sys-color-secondary-fixed-dim: #cebdff;--md-sys-color-shadow: #000000;--md-sys-color-surface: #fdf7ff;--md-sys-color-surface-bright: #fdf7ff;--md-sys-color-surface-container: #f2ebf9;--md-sys-color-surface-container-high: #ece5f4;--md-sys-color-surface-container-highest: #e7e0ee;--md-sys-color-surface-container-low: #f8f1ff;--md-sys-color-surface-container-lowest: #ffffff;--md-sys-color-surface-dim: #ded7e5;--md-sys-color-surface-tint: #6b36e2;--md-sys-color-surface-variant: #e7dff4;--md-sys-color-tertiary: #8f4e00;--md-sys-color-tertiary-container: #ffdcc1;--md-sys-color-tertiary-fixed: #ffdcc1;--md-sys-color-tertiary-fixed-dim: #ffb779;--md-extended-green-color-rgb: 0, 108, 73;--md-extended-green-color: rgb(var(--md-extended-green-color-rgb));--md-extended-green-on-color: rgb(255, 255, 255);--md-extended-green-color-container: rgb(37, 195, 137);--md-extended-green-on-color-container: rgb(0, 40, 24);--md-extended-red-color: rgb(160, 0, 76);--md-extended-red-on-color: rgb(255, 255, 255);--md-extended-red-color-container: rgb(221, 32, 112);--md-extended-red-on-color-container: rgb(255, 255, 255);--md-extended-orange-color: rgb(169, 56, 6);--md-extended-orange-on-color: rgb(255, 255, 255);--md-extended-orange-color-container: rgb(255, 123, 76);--md-extended-orange-on-color-container: rgb(48, 9, 0);--md-extended-yellow-color: rgb(131, 85, 0);--md-extended-yellow-on-color: rgb(255, 255, 255);--md-extended-yellow-color-container: rgb(255, 172, 35);--md-extended-yellow-on-color-container: rgb(68, 42, 0);--md-extended-cyan-color: rgb(0, 104, 116);--md-extended-cyan-on-color: rgb(255, 255, 255);--md-extended-cyan-color-container: rgb(40, 200, 219);--md-extended-cyan-on-color-container: rgb(0, 47, 53);--md-extended-blue-color: rgb(40, 60, 186);--md-extended-blue-on-color: rgb(255, 255, 255);--md-extended-blue-color-container: rgb(81, 100, 224);--md-extended-blue-on-color-container: rgb(255, 255, 255);--md-extended-purple-color: rgb(85, 34, 199);--md-extended-purple-on-color: rgb(255, 255, 255);--md-extended-purple-color-container: rgb(122, 81, 237);--md-extended-purple-on-color-container: rgb(255, 255, 255);--md-extended-pink-color: rgb(150, 0, 126);--md-extended-pink-on-color: rgb(255, 255, 255);--md-extended-pink-color-container: rgb(198, 55, 168);--md-extended-pink-on-color-container: rgb(255, 255, 255)}:root{--md-key-colors-primary: rgb(134, 88, 255);--md-source-seed: rgb(134, 88, 255);--md-extended-green-seed: rgb(8, 185, 78);--md-extended-green-value: rgb(0, 183, 126);--md-extended-red-seed: rgb(233, 49, 71);--md-extended-red-value: rgb(231, 42, 119);--md-extended-orange-seed: rgb(236, 117, 0);--md-extended-orange-value: rgb(244, 109, 60);--md-extended-yellow-seed: rgb(224, 172, 0);--md-extended-yellow-value: rgb(244, 163, 23);--md-extended-cyan-seed: rgb(0, 191, 188);--md-extended-cyan-value: rgb(5, 189, 208);--md-extended-blue-seed: rgb(8, 109, 221);--md-extended-blue-value: rgb(81, 100, 224);--md-extended-purple-seed: rgb(120, 82, 238);--md-extended-purple-value: rgb(122, 81, 237);--md-extended-pink-seed: rgb(213, 57, 132);--md-extended-pink-value: rgb(203, 59, 172)}:root{--md-sys-shape-corner-extra-large: 28px;--md-sys-shape-corner-extra-small: 4px;--md-sys-shape-corner-full: 9999px;--md-sys-shape-corner-large: 16px;--md-sys-shape-corner-medium: 12px;--md-sys-shape-corner-none: 0px;--md-sys-shape-corner-small: 8px}:root{--md-sys-state-dragged-state-layer-opacity: 0.16;--md-sys-state-focus-state-layer-opacity: 0.12;--md-sys-state-hover-state-layer-opacity: 0.08;--md-sys-state-pressed-state-layer-opacity: 0.12}:root{--md-sys-motion-duration-extra-long1: 700ms;--md-sys-motion-duration-extra-long2: 800ms;--md-sys-motion-duration-extra-long3: 900ms;--md-sys-motion-duration-extra-long4: 1000ms;--md-sys-motion-duration-long1: 450ms;--md-sys-motion-duration-long2: 500ms;--md-sys-motion-duration-long3: 550ms;--md-sys-motion-duration-long4: 600ms;--md-sys-motion-duration-medium1: 250ms;--md-sys-motion-duration-medium2: 300ms;--md-sys-motion-duration-medium3: 350ms;--md-sys-motion-duration-medium4: 400ms;--md-sys-motion-duration-short1: 50ms;--md-sys-motion-duration-short2: 100ms;--md-sys-motion-duration-short3: 150ms;--md-sys-motion-duration-short4: 200ms;--md-sys-motion-easing-emphasized: cubic-bezier(0.2, 0, 0, 1);--md-sys-motion-easing-emphasized-accelerate: cubic-bezier(0.3, 0, 0.8, 0.15);--md-sys-motion-easing-emphasized-decelerate: cubic-bezier(0.05, 0.7, 0.1, 1);--md-sys-motion-easing-legacy: cubic-bezier(0.4, 0, 0.2, 1);--md-sys-motion-easing-legacy-accelerate: cubic-bezier(0.4, 0, 1, 1);--md-sys-motion-easing-legacy-decelerate: cubic-bezier(0, 0, 0.2, 1);--md-sys-motion-easing-linear: cubic-bezier(0, 0, 1, 1);--md-sys-motion-easing-standard: cubic-bezier(0.2, 0, 0, 1);--md-sys-motion-easing-standard-accelerate: cubic-bezier(0.3, 0, 1, 1);--md-sys-motion-easing-standard-decelerate: cubic-bezier(0, 0, 0, 1)}@font-face{font-family:"Roboto";font-style:normal;src:url("data:font/ttf;base64,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PR8gOBgWXB8YLR8eF/8fHRb/HxwWBx8bMxkcWxg0FhxbGjMZHFsXNBYcWxUZPhamWhMxElURMRBVElkQWQ00DFUFNARVDFkEWR8EXwQCDwR/BO8EAw9eDlULNApVBzQGVQExAFUOWQpZBll/BgEvBk8GbwYDPwZfBn8GAwBZLwABLwBvAO8AAwk0CFUDNAJVCFkCWR8CXwICDwJ/Au8CAwNAQAUBuAGQsFQrS7gH/1JLsAlQW7ABiLAlU7ABiLBAUVqwBoiwAFVaW1ixAQGOWYWNjQAdQkuwkFNYsgMAAB1CWbECAkNRWLEEA45Zc3QAKwArKytzdAArc3R1ACsAKwArKysrK3N0ACsAKysrACsAKysrASsBKwErASsBKwErKwArKwErKwErACsAKwErKysrKwErKwArKysrKysrASsrACsrKysrKysBKwArKysrKysrKysrKysrASsrACsrKysrKysrKysBKysrKysrKwArKysrKysrKysrKysrKysrKysrKysYAAAAAQADABIAAAAAAAACLAAAAlwAAgBZACUAPgABAEQAXgABAGoAagABAHAAcAABAHUAdQABAIEAgQABAIMAgwABAIYAhgABAIkAiQABAIsAlgABAJgAnwABAKEAowABAKUApgABAKgArQADALEAsQABALoAuwABAL8AvwABAMEAwQABAMMAxAABAMcAxwABAMsAywABAM0AzgABANAA0QABANMA0wABANoA3gABAOEA4QABAOUA5QABAOcA6QABAOsA+wABAP0A/QABAP8BAQABAQMBAwABAQgBCQABARYBGgABARwBHAABASABIgABASQBJwADASoBKwABATMBNAABATYBNgABATsBPAABAUEBRAABAUcBSAABAUsBTQABAVEBUQABAVQBWAABAV0BXgABAWIBYgABAWQBZAABAWgBaAABAWoBbAABAW4BbgABAXABcAABAdUB2wACAewCAAABAgQCBAABAg0CDQABAg8CDwABAhYCGAABAhoCGwABAh0CHQABAiECIQABAiMCJQABAisCKwABAjACMgABAjQCNAABAkICQgABAkUCRQABAkcCRwABAkoCTQABAnkCfQABAo0CkgABApUC/QABAwADvwABA8EDwQABA8MDzQABA88D2AABA9oD9QABA/kD+QABA/sEAgABBAQEBgAB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AG8AYgBvAHQAbwAtAFQAaABpAG4AUgBvAG0AYQBuAE4AbwByAG0AYQBsAEMAbwBuAGQAZQBuAHMAZQBkAEMAbwBuAGQAZQBuAHMAZQBkACAAQgBsAGEAYwBrAEMAbwBuAGQAZQBuAHMAZQBkACAARQB4AHQAcgBhAEIAbwBsAGQAQwBvAG4AZABlAG4AcwBlAGQAIABCAG8AbABkAEMAbwBuAGQAZQBuAHMAZQBkACAAUwBlAG0AaQBCAG8AbABkAEMAbwBuAGQAZQBuAHMAZQBkACAATQBlAGQAaQB1AG0AQwBvAG4AZABlAG4AcwBlAGQAIABSAGUAZwB1AGwAYQByAEMAbwBuAGQAZQBuAHMAZQBkACAATABpAGcAaAB0AEMAbwBuAGQAZQBuAHMAZQBkACAARQB4AHQAcgBhAEwAaQBnAGgAdABDAG8AbgBkAGUAbgBzAGUAZAAgAFQAaABpAG4AQgBsAGEAYwBrAEUAeAB0AHIAYQBCAG8AbABkAEIAbwBsAGQAUwBlAG0AaQBCAG8AbABkAE0AZQBkAGkAdQBtAEwAaQBnAGgAdABFAHgAdAByAGEATABpAGcAaAB0AFQAaABpAG4ASQB0AGEAbABpAGMAVwBpAGQAdABoAFcAZQBpAGcAaAB0AGgAdAB0AHAAcwA6AC8ALwBvAHAAZQBuAGYAbwBuAHQAbABpAGMAZQBuAHMAZQAuAG8AcgBnAFQAaABpAHMAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAaQBzACAAbABpAGMAZQBuAHMAZQBkACAAdQBuAGQAZQByACAAdABoAGUAIABTAEkATAAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxAC4AIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGEAdgBhAGkAbABhAGIAbABlACAAdwBpAHQAaAAgAGEAIABGAEEAUQAgAGEAdAA6ACAAaAB0AHQAcABzADoALwAvAG8AcABlAG4AZgBvAG4AdABsAGkAYwBlAG4AcwBlAC4AbwByAGcARwBvAG8AZwBsAGUALgBjAG8AbQBDAGgAcgBpAHMAdABpAGEAbgAgAFIAbwBiAGUAcgB0AHMAbwBuAEcAbwBv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BYEAbgTuAKkEwABRBMYAMgUwAIwFGAAdBxkAPQUEADoEzgAPBMsAVwIfAJMDSQApAh8ACgNYAEADnAAEAnkAOQRaAG0EfgCMBDAAXQSDAF8EPgBdAsgAPQR+AGEEaACNAfIAjgHq/74EDgCNAfIAnAcEAIsEawCNBJAAXAR+AIwEjABfArYAjQQhAF8CngAJBGkAiQPgACEGAwArA/gAKgPJABYD+ABZArUAQAH0ALACtQAUBXEAgwH0AIsEYQBpBKcAWwW1AGkENAAPAewAlAToAFsDWQBlBkkAXAOUAJMDwQBlBG4AfwZKAFsDqwCPAv0AgwRHAGEC7wBCAu8APwKCAHsEiQCbA+oARAIXAJQB/AB0Au8AewOkAHsDwABnBdwAVQY1AFAGOQBwA8oARAd6//EERQBZBYEAdwS6AKcEwgCMBsIATwSxAH4EkgBHBIkAXAScAJUEyABfBZsAHgH7AJwEdACbBE8AIwIqACMFiwCiBIkAkgehAGkHRABhAfwAoQWHAF4Cuv/jBX8AZgSTAFwFkACMBPMAiQIE/7QEOABjA8QAqgOOAI4DqwCPA2sAggHyAI4CrgB5AisAMgPGAHsC/ABfAloAfwAA/KcAAP1uAAD8igAA/V0AAPwnAAD9OAIOALgEDAByAhcAlARzALIFpAAgBXIAZwU/ADIEkgB4BbUAsgSSAEYFuwBOBYkAWgVSAHIEhgBkBL0AoQQDAC8EiQBhBFEAZAQlAG0EiQCSBI8AewKYAMMEbwAmA+wAZgTFACkEiQCSBE4AZQSIAGEELABRBF4AkAWjAFgFmgBgBpcAegSiAHoEQ//aBkgASwYAACsFZQB7CJIAMgilALIGgwA+BbQAsAULAKMGBAAzB0MAGwTAAFAFtQCyBaoAMAUIAE0GLQBUBdoArwV6AJcHhwCwB8AAsAYSABEG6wCyBQUAowVlAJQHJwC3BRgAWgRtAGIEkwCeA1wAmwTUAC4GIQAWBBAAWASeAJ0EUwCdBKAALAXvAJ4EnQCdBJ4AnQPZACgFzgBkBL4AnQRaAGgGeQCdBp8AkgT3AB4GNgCeBFgAngROAGQGiACeBGQALwRo/+cETgBnBskAJwbkAJ0Eif/9BJ4AnQcJAJwGLACBBFf/2wcsALgF+QCaBNMAKARHAA8HDADKBgwAvQbSAJMF4gCXCQUAtwfRAJwEJABQA9sATAVyAGcEjABcBQsAFgQEAC8FcgBnBIkAXAcBAJwGJAB+BwkAnAYsAIEFMgB2BEgAZAT+AHQAAPxmAAD8cAAA/WUAAP2kAAD6GgAA+isGCQCyBO0AnQRX/9sFGwCpBIoAjARkAKIDkQCSBNsAsgQGAJIHogAbBmEAFgWaALIEuACdBQoApAR+AJsGjABFBYQAPwX/AKkE2QCdB88AqQW0AJIIMQCwBvQAkgXvAHEE1ABuBRgAOgQqACoHLQA0BV0AHwW8AJcElgBoBXAAlwRrAIQFcACJBjAAPwS+/90FCgCkBFoAmwX+ADAE7wAsBbMAsgSJAJIGEgCpBOwAnQdPAKkGPgCeBYcAXgSoAGgEqABqBLgAOQOrADoFLgA6BEAAKgT3AFcGlQBaBuUAZAZXADYFLAAxBEoAUwQIAHkHwgBFBnYAPwf7AKoGogCQBPcAdgQeAGYFrgAkBSEARgVlAJcGAgAwBPMALAMhAHAEFAAACCkAAAQUAAAIKQAAArkAAAIKAAABXAAABH8AAAIwAAABogAAAQAAAADRAAAAAAAAAjQAJgI0ACYFQACiBj8AkAOmAA0BmgBhAZoAMAGYACQBmgBPAtQAaQLcADwCwgAkBGoARgSQAFcCswCLA8QAlAVaAJQBfwBSB6oARAJnAGwCZwBaA6MAPALvAFEC7wA2Au8AXALvAFYC7wA7Au8ATwLvAEoDOABQAvgAUAL4AFAB8QBUAfEAUANhAHoC7wBRAu8AewLvAEIC7wA/Au8ANgLvAFwC7wBWAu8AOwLvAE8C7wBKAzgAUAL4AFAC+ABQAfEAVAHxAFAEpwBbBlYAHwaRAKcIdgCpBesAHwYrAIwEfwBfBdoAHwQjACsEdAAhBUgAXQVPAB8F6AB7A84AaAg6AKIFAQBoBRgAmAYmAFQG1wBlBs8AZAZqAFoEkABqBY8AqQSvAEYEkwCoBMUAPwg6AGMCDf+vBIIAZQRkAJgEEQA9BC8AhAQIACwCTAC1ApAAbwIEAF0E8wA9BG8AIASLAD0G1AA9BtQAPQTuAD0GmwBfAAAAAAg0AFsINQBcAu8AQgLvAHsC7wBRBBAAVgQQAGEEEABCBA8AcgQQAIEEEAAxBBAATwQQAE8EEACZBBAAYwQjAEgEKwAOBFQAJwYVADEEaAAUBH0AdQQnACkEIABEBEoAigS8AFoEXQCLBLwAYATjAIsGAgCLA7UAiwRVAIsDzwAsAekAmATkAIsErABkA8wAiwQgAEQENAAxA6EADgOvAIsEaAAUBLwAYARoABQDiQA+BM8AiwPwAEAFZwBhBRcAYQTzAHYFcwAnBHwAYQdCACgHUACLBXQAKQTOAIsEWgCLBSUALgYLAB8EQABIBOwAiwROAIwEwQAoBCAAIwUpAIsEagA9BlEAiwasAIsFHQAJBfEAiwRPAIsEfABLBncAiwSHAFAEEgALBkgAHwR5AIwFCgCMBTcAJAXDAGAEXwAOBKgAJwZiACcEagA9BGoAiwXEAAIEywBeBEAASAS8AGAENAAxA+QAQwgiAIsEqwAoAu8APwLvADYC7wBcAu8AVgLvADsC7wBPAu8ASgOXAI8CtQCfA+YAiwQ6AB8ExABkBUwAsgUkALIEFACTBT0AsgQPAJMEgACLBHwAYQRRAIsEhgAUAf4AnwOlAIIAAPyjA/AAbwP0/10EDwBpA/UAaQOvAIsDoACCA58AggLvAFEC7wA2Au8AXALvAFYC7wA7Au8ATwLvAEoFggB+Ba8AfgWTALIF4AB+BeMAfgPVAKAEggCDBFgADwTPAD4EawBlBC4ASgOlAIQBkgBoBqQAYAS6AIIB/P+2BH8AOwR/AHMEfwAiBH8AdgR/AHYEfwA2BH8AfgR/AF4EfwBxBH8A9AIG/7QCBP+0AfsAnAH7//kB+wCcBFEAiwUAAHgEIQA7BH4AjAQzAF0EkwBbBIwAWwSfAFoEjgCMBJwAWwQ+AF0EfgBhBHAAWgN5AFcE1gBoA7UAAQY6AAkD+QCLBLwAYATjADAE4wCLAfwAAAI2ACYFXgAlBV4AJQSGAAEExgAyAp7/9AU4AB0FOAAdBTgAHQU4AB0FOAAdBTgAHQU4AB0FNQB4BIwAqQSMAKkEjACpBIwAqQIt/98CLQCxAi3/6gIt/9UFtQCpBYEAdwWBAHcFgQB3BYEAdwWBAHcFMACMBTAAjAUwAIwFMACMBM4ADwRaAG0EWgBtBFoAbQRaAG0EWgBtBFoAbQRaAG0EMABdBD4AXQQ+AF0EPgBdBD4AXQH7/8QB+wCWAfv/zwH7/7oEawCNBJAAXASQAFwEkABcBJAAXASQAFwEaQCJBGkAiQRpAIkEaQCJA8kAFgPJABYFOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FNQB4BDAAXQU1AHgEMABdBTUAeAQwAF0FNQB4BDAAXQVAAKkFGQBfBIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQVzAHoEfgBhBXMAegR+AGEFcwB6BH4AYQVzAHoEfgBhBbUAqQRoAI0CLf+2Afv/mwIt/80B+/+yAi3/7AH7/9ECLQAXAfL/+gItAKoGlwC3A9wAjgRqADUCBP+0BQUAqQQOAI0ETwCiAfIAkwRPAKkB8gBWBE8AqQKIAJwETwCpAs4AnAW1AKkEawCNBbUAqQRrAI0FtQCpBGsAjQRr/7sFgQB3BJAAXAWBAHcEkABcBYEAdwSQAFwE7gCpArYAjQTuAKkCtgBTBO4AqQK2AGQEwABRBCEAXwTAAFEEIQBfBMAAUQQhAF8EwABRBCEAXwTAAFEEIQBfBMYAMgKeAAkExgAyAp4ACQTGADICxgAJBTAAjARpAIkFMACMBGkAiQUwAIwEaQCJBTAAjARpAIkFMACMBGkAiQUwAIwEaQCJBxkAPQYDACsEzgAPA8kAFgTOAA8EywBXA/gAWQTLAFcD+ABZBMsAVwP4AFkHev/xBsIATwWBAHcEiQBcBID/vQSA/70EJwApBIYAFASGABQEhgAUBIYAFASGABQEhgAUBIYAFAR8AGED5gCLA+YAiwPmAIsD5gCLAen/vAHpAI4B6f/HAen/sgTjAIsEvABgBLwAYAS8AGAEvABgBLwAYAR9AHUEfQB1BH0AdQR9AHUEKwAOBIYAFASGABQEhgAUBHwAYQR8AGEEfABhBHwAYQSAAIsD5gCLA+YAiwPmAIsD5gCLA+YAiwSsAGQErABkBKwAZASsAGQE5ACLAen/kwHp/6oB6f/JAekABQHpAIcDzwAsBFUAiwO1AIMDtQCLA7UAiwO1AIsE4wCLBOMAiwTjAIsEvABgBLwAYAS8AGAESgCKBEoAigRKAIoEIABEBCAARAQgAEQEIABEBCcAKQQnACkEJwApBH0AdQR9AHUEfQB1BH0AdQR9AHUEfQB1BhUAMQQrAA4EKwAOBCMASAQjAEgEIwBIBTgAHQTw/4wGGf+aApH/oAWV//oFMv92BWb//AKY/5sFOAAdBPwAqQSMAKkEywBXBbUAqQItALcFBQCpBvwAqQW1AKkFgQB3BQwAqQTGADIEzgAPBQQAOgIt/9UEzgAPBIYAZARRAGQEiQCSApgAwwReAJAEdACbBJAAXASJAJsD4AAhBHAAWgKY/+QEXgCQBJAAXAReAJAGlwB6BIwAqQRzALIEwABRAi0AtwIt/9UEagA1BSQAsgUFAKkFCABNBTgAHQT8AKkEcwCyBIwAqQW1ALIG/ACpBbUAqQWBAHcFtQCyBQwAqQU1AHgExgAyBQQAOgRaAG0EPgBdBJ4AnQSQAFwEfgCMBDAAXQPJABYD+AAqBD4AXQNcAJsEIQBfAfIAjgH7/7oB6v++BFMAnQPJABYHGQA9BgMAKwcZAD0GAwArBxkAPQYDACsEzgAPA8kAFgFmAGgCkACJBCAAoQIE/7QBmgAwBvwAqQcEAIsFOAAdBFoAbQSMAKkFtQCyBD4AXQSeAJ0FiQBaBZoAYAULABYEBP/7CFkAXAlKAHcEwABQBBAAWAU1AHgEMABdBM4ADwQDAC8CLQC3B0MAGwYhABYCLQC3BTgAHQRaAG0FOAAdBFoAbQd6//EGwgBPBIwAqQQ+AF0FhwBeBDgAYwQ4AGMHQwAbBiEAFgTAAFAEEABYBbUAsgSeAJ0FtQCyBJ4AnQWBAHcEkABcBXIAZwSMAFwFcgBnBIwAXAVlAJQETgBkBQgATQPJABYFCABNA8kAFgUIAE0DyQAWBXoAlwRaAGgG6wCyBjYAngSDAF8FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFr/yQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0FOAAdBFoAbQU4AB0EWgBtBTgAHQRaAG0EjACpBD4AXQSMAKkEPgBdBIwAqQQ+AF0EjACpBD4AXQSM/+4EPv+4BIwAqQQ+AF0EjACpBD4AXQSMAKkEPgBdAi0AtwH7AJwCLQCkAfIAhgWBAHcEkABcBYEAdwSQAFwFgQB3BJAAXAWBAEYEkP/CBYEAdwSQAFwFgQB3BJAAXAWBAHcEkABcBX8AZgSTAFwFfwBmBJMAXAV/AGYEkwBcBX8AZgSTAFwFfwBmBJMAXAUwAIwEaQCJBTAAjARpAIkFkACMBPMAiQWQAIwE8wCJBZAAjATzAIkFkACMBPMAiQWQAIwE8wCJBM4ADwPJABYEzgAPA8kAFgTOAA8DyQAWBKEAXwTGADID2QAoBXoAlwRaAGgEcwCyA1wAmwYwAD8Evv/d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A20DbgNvA3ADcQNyA3MDdAN1A3YDdwN4A3kDegN7A3wDfQUaA38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQBR0DkQOSA5QDkwOVA5YDlwOYA5kDmgObA5wDngOfA6AFGwUcBOYE5wToBOkE8wT2BPQE9QT6BPsE/ATqBOsE7AUFBQgFCQUMBQ4FDwIbBREE/QT+BP8FAAUBBQIFAwUEBR4FHwUgBSEFEgUUBRUCMgUXAjQFGAUWAjACJgIsBSYFJwABAOsACgBFAEYARwBIAEkASgBLAEwATQBOAE8AUABRAFIAUwBUAFUAVgBXAFgAWQBaAFsAXABdAF4AhQCGAIcAiQCKAIsAjQCQAJIAlAC7ALwAvQC+AL8AwADBAMIAwwDEAMUAxgDHAMgAyQDKAMsAzADNAM4A6gDrAOwA7QDuAO8A8ADxAPIA8wD0APUA9gD3APgA+QD6APsA/AD9AP4A/wEAAQEBAgEDAQQBBQEGAQcBMAE0ATYBOAE6ATwBQgFEAUYBSgFNAVoClwKZArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0gLUAtYC2ALaAtwC3gLgAuIC5ALmAugC6gLsAu4C8ALyAvQC9gL4AvoC/AL/AwEDAwMFAwcDCQMLAw0DDwMRAxQDFgMYAxoDHAMeAyADIgMkAyYDKAMqAywDLgMwAzIDNAM2AzgDOgM8Az4DQQNDA0UDRwNJA7kDugO7A7wDvgO/A8ADwQPCA8MDxAPFA8YDxwPeA98D4APhA+ID4wPkA+UD5gPnA+gD6QPqA+sD7APtA+8D8QPzA/UECgQMBA4EHAQjBCkELwSZBJoEngSiBSMFJQABAAAAAQAIAAIB+gD6AgECjAHrAeoB6QHoAecB5gHlAeQB4wHiAk0CTAJLAkoCQgIAAf8B/gH9AfwB+wH6AfkB+AH3AfYB9QH0AfMB8gHxAfAB7wHuAe0B7AICAgMCjgKQAo8CkQKNApICbAIEAgUCBgIHAggCCQIKAgsCDAINAg4CDwIQAhECEgITAhQCFQIWAhcCGAIaAhsFGQIcAh0CHgIfAiACIQIiAiMCJAIlAlUCJwIoAikCKgUTAisCLQIuAi8CMAIxAjICMwI1AjYCOAI3A0oDSwNMA00DTgNPA1ADUQNSA1MDVANVA1YDVwNYA1kDWgNbA1wDXQNeA18DYANhA2IDYwNkA2UDZgNnA2gDaQNqA2sDbANtA24DbwNwA3EDcgNzA3QDdQN2A3cDeAN5A3oDewN8A30DfgUaA38DgAOBA4IDgwOEA4UDhgOHA4gDiQOKA4sDjAONA44DjwOQBR0DkQOSA5QDkwOVA5YDlwOYA5kDmgObA5wDnQOeA58DoAUbBRwE5gTnBOgE6QTqBOsE7ATtBO4E7wTwBPEE8gTzBPQE9QT2BPcE+AT5BPoE+wT8BP0E/gT/BQAFAQUCAhkFAwUEBQUFBgUHBQgFCQUKBQsFDAUNBQ4FDwUQBREFHgUfBSAFIQUSBRQFFQUXAjQFGAUWAiYCLAUmBScAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGxAbcBvAG/ApUClgKYApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0AtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QL+AwADAgMEAwYDCAMKAwwDDgMQAxMDFQMXAxkDGwMdAx8DIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNAA0IDRANGA0gDoQOiA6MDpAOlA6YDpwOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D7gPwA/ID9AQJBAsEDQQiBCgELgSYBJ0EoQUiBSQAAAABAAAAAApqAAAAFAAAAAAAAAAAABcFKQAHAA4ADgNRA1EFJAUfBRsCFgTBBHcDTgMQAxgDSASSBicGQAMLAzACFgIWAhYCFgIWAhYCFgIWAhYCFgUjBhkDZgS8A08BAQTSBAgCEASnBKwEsATMBLcEegNJAjQEugRQBGsEkQRTBC8EUwTXBKgEsQTHBBkCQAQ1BKQErQMIAy4DCANcAyIDDwRmBHEDRARkAQoDLQR2AjADJAENAQMDJATKBJ8EWgRxBFQDWwM9A0wEogNWBLYDPwNlAz8DQwMRA0MEvQMVBJwCDwNrAz4DEgRoBkEDbANQAzYEZwNtAwADZwSEARUBFQUlBiEDMwEHA1MBFQEWAQYEZQQYBKUBCQQNBFsEUgS0BGMCOgSDBJkEXgQ5BAoCCwMJAggEVwM5BMMEXgQbBNQDHwTFAQsEzgRMBDoFIQMTAzsFFQUaAwEDUgMmAwwDIQUZA2gDagAOAA4ADgAOAA4ADgYqBgcBCAIiBGkEcARvBEsEfARLBjAEuAIOBKAErgM4BF4EuwMHBF4EuQMNBIoDYAYxBF4EjQRVAzwEUQQcBhoCOAIeBjgGNAR9BEAEKwSpBiIEagIqBAcGBQSyBJAEfwIzBgICAgQdAgcGCQTTBAEELgQ+BkIGCwSaBEgBIAQABjUDXgQyAxYELQINBDcEMgNKAjUEEgROBCwGDgTIBgwEbASOBI8CGwIwBI4EwgABBF4EMgY+Bw0EbgImAi0GLwRyBi0GKwUYBAYFCwUGARcDZARwBJgEPANBBHAEXgY8BkQGPgcNBCUDOgQ9AA4ADgAOAA4ADgAOBRMFEARuBHgCKwI2ARIEAwNNBwgGEwcMBgACBAIBAgwEBAUUBRYFJgTPBIUEJAY2BiMCBQMFBAUEJgcDBwoEJwIvBCgEHwIsBCkBBQURBQ4EbQReBQkFDwUKBwcExQR5AhgEFwMsBhQHCwUIBwYEkwSVAikGLAYuBJQEngQQAicCLgNZBJYElwQ/BwUHBAUEAAYAAAAGAAAACAAKAAwAAwAJAAsADQAPAA4GOgY6BIIEXwNXAxwDGgYIAxkHAgcABwEEqwIXAzUGGAYEBhcE1QEbARoDRwEVARUBFQEVARUBFQEVA0IDKgMnA18DXwEdARUBFQEVARUBFQEVARUBFQEVARUDQgMrAygDXwNfAg8EEwSdBE8GQwYlAhYFDAMCBRIEiwIAAigBDwRiAhMBGQSIBLUEgAYyAjkFFwYmBKoFBQTYA1oErwS8A2YDTwNhBR0FHgMyBA8GHAYRBgoGCgQRBDEADgEZAA4BFQEVARUBEwETARMBFAETARMBEwETARMBEwNdA1QERQI+BCMEvwSbA1UE0QRgBEIEYAIyAhkDQASzARwDRgSJAjsBIQNVBhIBHgNiBCIEYAQiA2kCIANFBikGFgR+AgYEowIcAh8ERgIhAgoGHQY7Ah0EoQIaAhIDSwYeBDgGAwcJBiAFBwEMAiQEFARJBMAGPQRYBQ0GHwYoBHUCAwYVBDgEOAYPBCoEgQRgBhIDKQUcBiQBFQEVARUBFQEVARUBFQMGAREBHwIxBEoEhgIjAQAEWQMDAjcEowRdBAsDBAEYAA4FAAUCA1gFAwNiAzEDLwEVARUBFQEVARUBFQEVBCEEdAREBBYEFQYzAAICPASmAAQABQEYA2MEvgQ7AyACFgIWAhYCFgIWAhYCFgIWAhYCFgECAxQDCgMKAwoEXQSHAyMCFQIlBEcEVgRBBE0ENAM3BHYDHQY5BjcBEARcAzQEYASMAjIDUQY/BKwErAIwBLEDTAQJBAkECQQJBAkECQQJBKcEsASwBLAEsANJA0kDSQNJBJEEUwRTBFMEUwRTBMYExgTGBMYEpARmBGYEZgRmBGYEZgRmA0QBCgEKAQoBCgMKAwoDCgMKBJ8EWgRaBFoEWgRaBKIEogSiBKIDZQNlBAkEZgQJBGYECARmBKcDRASnA0QEpwNEBKcDRASsBGQEsAEKBLABCgSwAQoEsAEKBLABCgS3BHYEtwR2BLcEdgS3BHYEewIwA0kDCgNJAwoDSQMKA0kDJQNJBHMGAQI0AxQEugEEBFADJQRQAyUEUAMlBFADJQSRBJ8EkQSfBJEEnwSfBFMEWgRTBFoEUwRaBNYDWwTWA1sE1gNbBKgDPQSoAz0EqAM9BKgDPQSoAz0EsQNMBLEDTASxA0wExgSiBMYEogTGBKIExgSiBMYEogTHBKICPwS2BKQDZQSkBK0DPwStAz8ErQM/BA4COgRSBF4CNwI3BJsEDAQMBAwEDAQMBAwEDASjAR8BHwEfAR8DRgNGA0YDRgIyBGAEYARgBGAEYAS/BL8EvwS/A1QEDAQMBAsEowSjBKMEowI3AR8BHwEfAR8BHwI7AjsCOwI7BIkDRgNGA0YDRgNGARwEswNAA0ADQANAAjICMgIyBGAEYARgBNAE0ATQA1UDVQNVA1UEmwSbBJsEvwS/BL8EvwS/BL8CPQNUA1QDXQNdA10ECQSwBHsDSQRTBKQCDgMOBAkCEASwBK0EewNJBLoEawSRBFMEMASxBKQENgNJBKQEoAS7BF4DDgRRAgkEWgYhA1YDHgMOBFEEWgRRAjgEsAIiBKgDSQNJAjQCIwS6AjMECQIQAiIEsASQBGsEewRTBHwEMASnBLEENgRmAQoEMwRaBHEDRANlAz8BCgEgAz0DJQMKAQ4DFwNlAj8EtgI/BLYCPwS2BKQDZQNOBSAFAQMUAxsEawTJBAkEZgSwBJABCgQzBLgGGwQ8A0ECFARhBLIDXgSnA0QEpAM4A0kGBgY1A0kECQRmBAkEZgQOAjoEsAEKBMQDOwM7BgYGNQSyA14EkAQzBJAEMwRTBFoEcASYBHAEmAQ+BI4CMwNlAjMDZQIzA2UEHgROBAIGDQRkBAkEZgQJBGYECQRmBAkEZgQJBGYECQRmBAkEZgQJBGYECQRmBAkEZgQJBGYECQRmBLABCgSwAQoEsAEKBLABCgSwAQoEsAEKBLABCgSwAQoDSQMKA0kDJQRTBFoEUwRaBFMEWgRTBFoEUwRaBFMEWgRTBFoEzQRMBM0ETATNBEwEzQRMBM0ETATGBKIExgSiBDoFIgQ6BSIEOgUiBDoFIgQ6BSIEpANlBKQDZQSkA2UEZASxA0oEHgROAiIBIAQgAiwCMAQuBC4CIgEgAiMBAASkAzgENQM/BLsEywRfAhYCFgIWAhYCFgIWAhYCFgS3BHYEkQSfBAkEZgSwAQoDSQMKBFMEWgTWA1sExgSiBjgCEARxBKwEZASsBGQEewIwBLoBBAS6AQQEUAMlBGsEyQSRBJ8EUwQwBHEE1gNbBKgDPQSxA0wExgQaA1YEGgNWAj8EtgStAz8EUwQMAR8EiQNGBGADVAR+BAwEXQEfA10EiQNGBLMCGQIyBGAEQwSbA1QERQNGA1QBHwNiA1UDRgNGARwEswNLBAwEXQNiAR8EoQIZBIkEYAIgBEMEowSbBEUCHQSJBKMDVAYQBKEDSwYpAhEEXARgA1UCPQI9Aj0DVAQJBGYEsAEKBAwBHwMKAAEAAA9/AAgAAA8zAAAOeQAADOMAAAo9AAAEPAAAAvIAAAC4AAAAKAAOAAMABgAAAAEAAgADAAQABf8aAJX/1xD4Bf8fAKr/2w76BP8gAJf/2BD4BP8pAJT/YBX1A/9HAMT/ehP3Av9LALj/TxP2Af9VAQD/NhL2//9fAJL/QhX2A/9fAWD/CRj0/f9oAQv/LxL3//9tAL7/gxD5Af98AIX/jw75Av9+AIH/VxH3AQDWAKj/CQL/8wBFAAIABgABAAIAAAADAAQABQC2/3uDDvj/AIH/xYcK+wEAh/8+iQ/4AACK/ziMEPgAANn/X40Q+P4BFf8RjhL3/QEV/xGOE/b9AID/lJQL+wAAlP/4lAb9AACf/vyVEvYAAOb/IZcS9/7/fP9omA35CACc/zuYDvj/AJz/O5gP9/8A4P8pmRH4/gCj/0ydDfn/AKP/TJ0O+P8AiP9+oAr6AACN/4qmC/r/AVn/MacR+PoAof9iqQ35/gCR/zCuD/j+ALL/ZLIM+v4A2v/2uAT+/QCb/5m5C/v+AJ3/7rsE/v4Ah/9OvAz6/gCH/068Dfn+AKj/fbwK+/4Am/9exw36/QCc/13JDfr+AKX/W8wM+v0Auv9e1gn6/ACZ/3TYCvv+/3n/I9oO+QUAg/9o2gr7/gDG/2/dCfv7ATL/Md4N+fkAgf9u3wn7/QCVAADsAQD9AI//P+0K+v0ArP9N8Ar7/QD9AAD0AQD5AIb/MvUK+v0AnP969Qf8/QCs/wn1Dvn8AK7/hPUI/PwAtv9k9Qr7/ACo/z77C/v7AJf/Zf4I/PsAtf8hAAv6+wDj/4sABv36AIX/JgQL+v0BFv8sBQr6+ADD/zQHCfv6AJT/YAkJ/PsAuf93DwX9+wCO/5cSBP77AWX/yRwB//UAnv8sHQn7+gDh/wUfC/r4APf/IR8L+/kA1/8CIw36+QFj/8YpAQD2AWP/xikC//YAnAAAMf0B+gCg/vlBCvr5ANr/KVEG/PcAiP8Yfwf9+AAnAAIABgAAAAIAAQADAAQABf7d/7UTE/cK/vr/0EwU9wf/A/+uDxL4Cv8K/60OEPgI/yz/yfEP+gj/M/+GkhD4Cv8z/wlPFvUF/z3/VGYU9gT/Pv97BRH4CP8//05CFvYF/0D/G2gY9AX/Qv7VZBnzBP9H/1YsE/cF/0j/dwkQ+Af/Sv97ZhL3BP9M/3tmEvcE/0z/e2gS9wT/Tv9PWxT2BP9O/45rD/kE/1P/TD8V9gX/U/9OWhP2BP9Y/6lGDfoD/2D/e34R9wP/Z/9d8g/4Bv9n/yk0E/cE/2v/phYL+gT/bv+uTAv7A/90/3W5DvkH/3T+8h8U9QP/d//gDgn7BP95/9X6CPwE/3kAAPoH/QX/eQAA+gn8Bf96/3PcD/gG/3r/c9wQ+Ab/fP/udwn8Af99/+gmCP0E/30AADIH/QMAgf7UJQn7+QDZAAEABgACAAAAAQADAAQABf92hFIO+QL/IYUOEfcD/yGFDhL2A/91hSoN+QT/WYdLEPgD/xWL8xH3Bf9Ki/MP+AX/RI3sEfgF/2WPOw35Av9ljzsO+AL/dJliDfoB/3+cNgz6Av9/nDYN+QL/Bp4MEPcD/waeDBH2A/9tn2cN+QH+8aDwE/YD/26hWwv6Af90oi8O+gP/M6NAEPgC/y6kQQ/4Av9Fp+gP+QX/RqrsDPkD/3SqHQ35A/83r8wO+AT/ZK8yDfoB/2SvMg75Af78sCoR9wL/TrJ9Dfn//1SzHQ75A/9Usx0P+QP/NrXID/kF/za1yBD4Bf9SttgN+QT/f7gtCvsC/3+4Lgr7Av8XufIO+AP/XryjDPoG/1e8MQz6Af9Uvf8L+gP/VL06C/oB/2S9Owz6Af9uvggL+gL+07/SFPYE/ynBNg74Af91wt8K+wL/ZML3C/oD/2PCKgv6Af9jwioM+gH/FcJMF/gL/3XD3wn7A/91w98K+gP/dcP7C/sC/2XDGAr6Af9lwxgL+gH/dcTgCvsC/33EXwn7//91xeEJ+wP/TsUzDPkB/2/G4Qr7BP9ixiQO+gL/ZMf5DPoD/1TIsgz6BP9UyMEM+gT/VMjPDPoD/3PI+g36Av9+yCcJ+wH/fsgnCvsB/0zLyg36A/9/yxYL+wL/UctmDfr//3XMBQr7Av90zusK+wP/d873CvsC/2zP2gz6A/90z/EL+wL/dM8cC/sB/3XRCgn7Af990R0L+wH+1dFUEff//3/SBwn7Af980/4K+wL/TtMBC/oB/07TBQv6Av911fMJ+wL/ddUQC/sC/3XWDQr7Af9/1joH+///eNZqCvv+/1jX6gz6Av901+8F+wP/f9f3CvsC/y/XIA75Af991ykK+wL/dNj3CvsC/y7axg35A/9s3AQK+wH+2txhEPf//t3d0xD3Av9r3XAJ+/7/dd79CfsB/z7f0Av6Av973+YK+wL/eN/3CPsB/2XfLgn7//9H31EL+v7/RODXDPoC/w/gBw75Af984C4H+///Q+HvDfoC/3vhLwj7//9W4uUL+gL/TeIWDfoC/3TjAwr7Av995EwI/P//R+RTC/r//0Tl0wr6Af955egK+wL/dOUdCvsB/2Dlawv7/v9b5uIK+wL/bubzB/sB/0Hp6gv7Av9B6eoM+gL/QuntDPoB/zXp+A36Av9g6swL+wP/Q+r6C/oB/xTqAg35Av996xIJ/AH/VOyyCvsD/2vu3Qn7Af987ggI/P/+2+5BEPj//1Lw4wr7Af9e8bkI+wL/L/EtC/r//2Hy7Av7Av908u4I/AH/UvJGCvv+/2Lydgn7/f9587YJ/AP/efPHCfwD/x7z8Q36Af9A9NYL+gL/QPTpC/oB/3D1vAf8Av8P9eYO+QH+7PXxDvgB/yb18Qv6Af9B9fEL+wH/V/X0CvsB/2/19An8Af9u9f0J/AH/dPUzCfz//3/1QQj8//929VkJ/P7/HfV8C/r9/yH1fQ36/f919hkI/P//cPf6CfwB/2D45Qn7Af91+BsI/P//cvkLB/z//2X5OAf8/v8q+WAM+v3/ZPrKCPwB/1T6Cwn7//9m+0IH/P7+xvy7EPgD/238zQj8Av9z/NYJ/AL/UfztCfsB/2T9Fwn8//9mAB4I/P//bwAqB/z//24C7gf8//9kAkYI/P7/ZAVJCfz+/3UHGAj8//9lCTgH/P7/DgoUDPr//zALzAv7Af9HCwEK+/T/RAtuCPv9/2sOQAf8/v9YDxkH/P//dBE2B/3//3ESTAb9/f9GE54K+wL/FRbgDPr//2wWHgb9/v99FjwH/f7/NBsVCfv9/w4bIwv6/v9AHyIK+/7/QCUPB/z+/0AlDwj7/v9OJSEG/P3/TiUhB/z9/1cmcgf8+/8CKOAL+v//AijgDPr//20o9AX9/v9tKPQG/f7/QCwwB/z9/0AsMAj8/f83Le4J/P7/cTFIA/77/3ExSAT9+/74P/sK+v3/JT8pCfz+/vRA8Qv6/v7jSAoL+v3/UU5KBP78/1FOSgX9/P7EdUEM+voAbgAAAAYAAAABAAIAAwAEAAWAf6YM+gGAf6YN+gGLG5EN+gOORZQM+gOS/+gH/QSSP48N+gKUVaYK+wKVxI8M+waYI+IH/QObTecG/QKbTecH/AKbUAAE/gGc9QAF/gSdI84H/AKdI84I/AKgPwAF/gKiFsYK/ASiGAAF/gKiIQAF/gKiWeQG/QGiWeQH/QGidOcG/QGlQ4UM+gOlQ4UN+gOmCcQI/ASmGPUF/gKmWPUF/gGmWPUG/QGmZfUF/gGqwYAL+gWqwYAM+gWqH+UG/QKqK+UG/QGsWtwG/QKx7aEI+wO0KosK+wK0QeQF/gK0QeQG/QK0QQAE/gG28roH/AO28roI/AO2LJQJ+wG38roI/AO38roJ/AO4/J0K+wO9H8AH/QK9IawH/AG++p4I/ALBgqsG/AXF+ZwJ/APHtt4F/gTI/5AK/APIJ44I/AHIQwAC/wHIXZcJ+//KHoMK+wHPGosK+wLPbdcF/v7Q/IAK+wLQBIMJ+wHX+4QI+wHa+YUJ+wHaIIIJ+wHaJ4sI/AHbBpYJ/ALbGYkJ/ALcBKoH/AHf5b8E/QHf+YII+wHhfosJ/P7jOd4E/v/m5JcH/AHmRwAC///pPtMD/v/pWY4G/P7peIIJ/P7qIsAF/f/rUYYI/P/u1gABAALu7IAI/AHu9ZgG/QHuAtoD/gHuNQABAP/uPtoD/v7xNYAH/P7xP4IG/P7yQowH/P7135QH/QL19IMI/AH1LoEI/P/1ZtYC/v33UroF/v75PaAG/f/6FYAH/P/7E4MG/P/8MNkC//8CfocG/f0EEIME/f8EI5EF/f8GbuYD//4JRokF/f0JXIwE/f0MBIAG/f8SMQD/AP4TeKsC/vwVNpQD/v4oQ8IA//0pwQD+AAA5AAD+Af5A/wD9Af4AQQABAAUAAgAAAAEAAwAE/12nfwz5/36pfAz6/0S4Ug35/3W5TAr6/2S9YQz6/2K/Wgv6/1PBVAv6/v7DNBD3/3rIZwn7/3rIZwr7/33QQQr7/0rSOgz6/yPUFQ75/zzVNQz5/1XXFAr6/3DXJwn7/2LXLgz6/2vbTQv7/2vdGwn7/2HeEgr7/wDgSwr4/3XhHAj7/3TiJAn7/3HlGgr7/27m9gf7/zbmCAz6/3zmKQj8/3jpIAn8/wLqNg75/33rEAn8/23rMgr7/v/sFRD5/2bsGgn7/2btGwr7/3XvAwf8/1jwCgr7/3LyCwj8/37zHgf8/wT19A35/xr19Az5/zj19Ar6/1b19An7/1v19Ar7/3D19Af8/2f1EAn8/zX1GQz6/171KAr7/3T3GQn8/3X5HAf8/3z6AQf8/2H77Aj7/1r7CAr7/3T7FQj8/zr+EQr7/3T+FAf8/3AA7wf8/xoD+Av6/2wEBwf8/xIFAA36/2cM8gf8/3QM/wb9/ykk3gn7/ykk3gr7/v8m2wv6/v8m2wz6ACIAAAAFAAAAAQACAAMABLVMjQn7tUyZCPu3V+EF/btSjQr7u1KNC/u8UYEK+8FemAr7wXvcBv7Be9wH/cZKlgj8yh6CE/vKPMEG/cpCgAr700DhAv/TQOED/tY4kwj82yiWCfzf7r8E/eAwmwf84iSGCPzjJYYJ/OkRtAT97geWB/z19IAI/PX0lAf99fQAAAD1BscF/vUkxwX++BSNBv38854F/QMKkwb9BO+IBv0H/p0G/SH1hwb9ABAAAQADAAIAAwAE/toP+P8ODPr/bwf8/3AH/P9zB/z/fQf8/4EH/P+XBf3/uAT+/84D/v/UAv//5QH///AB////AAAAAAAAAAcAAAACAAbAAMAAAAAAAAAAAAAAAEAAQAAAAAAAAAAAAAAAAADAAMAAAADAAMAAAADAAMAAAADAAOAAAADAAMAAAAAAACxoQADAAMAAAAAAAAAAAQAAAAoAXACgAARERkxUAERjeXJsADZncmVrAChsYXRuABoABAAAAAD//wACAAAAAQAEAAAAAP//AAIAAAAEAAQAAAAA//8AAgAAAAMABAAAAAD//wACAAAAAgAFY3BzcAA+a2VybgA2a2VybgAwa2VybgAoa2VybgAgAAAAAgAEAAIAAAACAAQAAQAAAAEABAAAAAIABAADAAAAAQAAAAV/3EW2NKwBsAAMAAIACAACATYACgACAGAARAAAAP4AmgAEAAUAAAAA/5VhoAAAAAAAAAAA/4gAlAAAAAD/VgCOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACIAAAAAAAAAAAAAAAA/4gAlAAAAAAAAAAAAAAAAAABABIABgALABAAEgCWALIBhAGFAYYBhwGIAYkBigGOAY8D9gP3A/oAAAABgAAAAQABgAAAAAAxgAAAAgAQAAYABgABAAsACwABABAAEAACABEAEQADABIAEgACALIAsgAEAYEBggADAYQBhQABAYYBhgACAYcBiQABAYoBigACAY4BjwACApQClAADA/YD9wABA/oD+gABBKcEpwADAAIABwAQABAAAQASABIAAQCWAJYAAgCyALIAAwGGAYYAAQGKAYoAAQGOAY8AAQABABAARAAAAAMAZgAoABoAAQADABMAnQCyAAEAI//DAAgAAwAHgAAACgAGAAAuEAALAAAuEAGEAAAuEAGFAAAuEAGHAAAuEAGIAAAuEAGJAAAuEAP2AAAuEAP3AAAuEAP6AAAuEAABABP/ICoCAAIACAACINQACgACEqgARAAAGz4VBAAjACIAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/tAAAAAAAAAAAAAP/VAAAAAAAAAAAAAAAAAAD/mn4c/+Vl2P/pAAAAAAAAAAAAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAP/qAAD/9QAA/+1V4v/rVdwAAAAAAAAAAAAAAAAAAAAAABIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5AAAAAAAAAAAAAAAAAAAAAAAAP/jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAElYqAAAAAAAAAAD/9WcgAAAAAAAAAAAAAAAA//UAAP/1AAD/9AAA/+8AAAAAVfT/8QAAAAAAAP/OAAD/iAAA/6JV6AAAAAAAAAAA/7tpCgAAAAD/f1XuAAAAAAAAAAAAAAAAAAwAAP/EAAD/qWjyAAAAAP/dAAD/xwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAA/71V1gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7QAAAAAAAAAAAAAAAAAA/+8AAP/tAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAUAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAA/+0AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAA/3hiGgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/rVdz/6lUuAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/mFWyAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6gAAAAAAAAAAAAAAAAAA/+4AAAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8gAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/78AAAAAAAAAAAAA/9gAAP/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//MAAAAAAAD/8QAAAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADwAAAAAAAAAAAAAAAAAAAAAAAP+VViQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/FAAD/iAAA/84AAAAAAAAAAAAA/8NmuAAAAAD/7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sGukAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/jAAD/vwAA/6JV6P+3aPL/ywAA/9kAAP+/AAD/oAAA/9gAAAAAAAD/qwAA/+wAAAAAAAAAEgAA/8YAAP/wAAAAEQAA/y1+HAARAAAAAAAA/8xjOAAAAAD/4gAAAAAAAAASAAD/oAAA//MAAP/zAAAADQAA/+8AAP+rVaD/olWa/+kAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/794ygAAAAAAEwAAAAAAAP/yAAD/1GkKAAAAAP/KaQoAAAAA/9pjPgATAAD/e2jyAAAAAP8RZr4AAAAAAAAAAP9xVdYAAAAA/u1f/AAAAAAAAAAAAAAAAAAAAAD/PxT+/1F2rAAAAAD/kV/8/zsU+AAAAAAAAAAAABN9YgATfWIAAAAAAAAAAP/kAAD/nWjy/7FV0P+PVcT/uQAA/6FpCv+dVcoAAAAA/5NjPgAAAAD/rwAA/7hnIAAAAAAAEAAA/4xpBP/wAAAADwAA/yZmvgAQAAAAAAAA/xhmvv+8AAD/xAAAAAAAAAAQAAD/EFWy//EAAP/xAAAAAAAA/+0AAP+vVb7/sVW4/7MAAAAAAAAAAAAA/+EAAP/VAAD/3wAA/+cAAP/tAAD/4QAAAAAAAAAAAAAAAAAA/8sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+FfhwADgAAAAAAAP/EAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/yxTy/9UU7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7QAAAAAAAP/YaPIAAAAAAAAAAP/sZyYAAAAAAAAAAAAAAAAAAAAAABIAAAAQAAAAAAAAAAAAAAAAAAAAAAAA/4VlNAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/5gAA/+sAAAANAAAAAAAA/+wAAP/tAAD/6wAAAAAAAAAAAAAAAAAAAA0AAP/lAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADX2gAA19oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9QAA/+MAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/xAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/7wAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7QAAAAAAAAAAAAA/9UAAP+7AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+EAAP/mAAAAAAAAAAAAAP/nAAD/6QAA/+UAAAAAAAD/6WXGAAAAAAAAAAD/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/wGM4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/zAAD/1AAA/7UAAP/SAAD/2QAA/+QAAP/SAAAAAAAAAAAAAAAAAAD/tAAA//UAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/x9o8gAAAAAAAAAA/9tg3AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+0Vaz/tVWmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA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AAsACwANABAAEAASABEAEQAVABIAEgASACUAJQADACcAJwABACsAKwABAC4ALgAaADMAMwABADUANQABADcANwAQADgAOAATADkAOQAIADoAOgAZADsAOwARADwAPAAdAD0APQAOAD4APgAUAEUARQAEAEcASQACAEsASwACAFEAUgAJAFMAUwAHAFQAVAAJAFUAVQACAFcAVwAPAFkAWQAGAFoAWgAMAFwAXAAhAF0AXQAMAF4AXgAXAIMAgwABAJMAkwABAJQAlAACAJgAmAABAJkAmQACAJsAmwAGALIAsgAgAYEBggAVAYQBhQANAYYBhgASAYcBiQANAYoBigASAY4BjwASAdsB2wAPAe0B7QAYAe4B7gAeAe8B7wAbAfEB8QAKAfIB8gAcAfMB8wAWAfUB9QAFAfcB9wAFAf8B/wAFAgUCBQAfAksCSwAFAk0CTQALAl8CYAABAmICYwABApQClAAVApoCoAADAqECoQABAqsCrwABArACswAIArQCtAAOArUCuwAEArwCwAACAsUCxQAJAsYCygAHAssCzgAGAs8C0AAMAtEC0QADAtIC0gAEAtMC0wADAtQC1AAEAtUC1QADAtYC1gAEAtcC1wABAtgC2AACAtkC2QABAtoC2gACAtsC2wABAtwC3AACAt0C3QABAt4C3gACAuAC4AACAuIC4gACAuQC5AACAuYC5gACAugC6AACAuoC6gACAusC6wABAuwC7AACAu0C7QABAu4C7gACAu8C7wABAvAC8AACAvEC8QABAvIC8gACAwADAAAaAw0DDQAJAw8DDwAJAxEDEgAJAxMDEwABAxQDFAAHAxUDFQABAxYDFgAHAxcDFwABAxgDGAAHAx8DHwAQAyADIAAPAyEDIQAQAyIDIgAPAyMDIwAQAyQDJAAPAyUDJQAQAyYDJgAPAycDJwAQAygDKAAPAykDKQATAysDKwATAy0DLQATAy8DLwAIAzADMAAGAzEDMQAIAzIDMgAGAzMDMwAIAzQDNAAGAzUDNQAIAzYDNgAGAzcDNwAIAzgDOAAGAzkDOQAIAzoDOgAGAzsDOwARAz0DPQAOAz4DPgAMAz8DPwAOA0ADQAAUA0EDQQAXA0IDQgAUA0MDQwAXA0QDRAAUA0UDRQAXA0gDSAABA00DUwALA1QDVAAFA14DYgAFA2MDZgAKA2cDZwAY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AUIA9v/jAAAA9wAMANoA+f/3GD4A/AAAANQA/gAAAM4BAwAMANoBBAAYAUIBHgAMANoBIgAMANoBOv/iAOABQgAMANoBSP/3GD4BSv/jAUIBUQAYAUIBYAAMANoBYQAMANoBawAMANoBbf/jAAABcAAYAUID3wAMANoD4wAMANoD5gAMANoEAQAMANoEBwAMANoEDAAMANoEGgAMANoEHAAMANoEHQAMANoEKQAMANoENf/3GD4EOAAMANoElf/3GD4AAQAhgAAAAQALgAAAAQAggAAAAQAbgAAADwDtABQAAADyABAAAAD2//AAAAD5//AAAAD+AAAAYgEBAAwCLgEEABAAAAE6//AAXAFI//AAAAFK/+YAXAFRABAAAAFt//AAAAFwABAAAAQ1//AAAASV//AAAAABADCAAAABACuAAAAFAO3/7gAAAPb/sBGMAP4AAAAgATr/7AAAAW3/7AAAAAEAKIAAAEQABgANAAAACwANAAAA7f+qAbgA8v+vAbIA9/+wAawBA/+wAawBBP+vAbIBGP/WAaYBGgALAAABHP/iAaABHv+wAawBIAAMAAABIv+wAawBQv+wAawBUf+vAbIBYP+wAawBYf+wAawBYwALAAABZQALAAABa/+wAawBcP+vAbIBhAANAAABhQANAAABhwANAAABiAANAAABiQANAAACBf+/AZoCDgAOAAACD//tAAACEgAOAAACKgAOAAACK//tAAACLAANAAACLgAOAAACNP/tAAAD3v/wAAAD3/+wAawD4f/WAaYD4/+wAawD5AALAAAD5v+wAawD7QALAAAD9gANAAAD9wANAAAD+gANAAAEAf+wAawEBgALAAAEB/+wAawEDP+wAawEDgALAAAEFP/wAAAEFv/wAAAEGv+wAawEHP+wAawEHf+wAawEJ//WAaYEKf+wAawEK//WAaYELwALAAAEMQALAAAEMwALAAAEOP+wAawFBf+/AAAFDP/tAAAFD//tAAAFEAAOAAAFFP/tAAAFFQANAAAAAAArgAAAAQA+gAAAAQBAgAAAAQBCgAAAAQBPgAAAAQBLgAAAHgD3//AAAAED//AAAAEY/+sAtgEc/+sAAAEe//AAAAEi//AAAAFC//AAAAFg//AAAAFh//AAAAFr//AAAAIP/+sAAAIr/+sAAAI0/+sAAAPf//AAAAPh/+sAtgPj//AAAAPm//AAAAQB//AAAAQH//AAAAQM//AAAAQa//AAAAQc//AAAAQd//AAAAQn/+sAtgQp//AAAAQr/+sAtgQ4//AAAAUM/+sAAAUP/+sAAAUU/+sAAAABAB2AAAAKAAb/9QAAAAv/9QAAAYT/9QAAAYX/9QAAAYf/9QAAAYj/9QAAAYn/9QAAA/b/9QAAA/f/9QAAA/r/9QAAAAEBHP/xAAAAJwDsAAAA7ADtABQAAADwAAAA7ADxAAAA7ADzAAAA7AD0AAAA7AD1AAAA7AD2/+0AAAD4AAAA7AD5/+0AAAD6AAAA7AD7AAAA7AD8/+IA7AD+AAAA7AEAAAAA7AEFAAAA7AErAAAA7AE2AAAA7AE6/+0AAAE8AAAA7AE+AAAA7AFI/+0AAAFK/+0AAAFTAAAA7AFVAAAA7AFXAAAA7AFcAAAA7AFt/+0AAAPgAAAA7APiAAAA7APnAAAA7APsAAAA7AQCAAAA7AQjAAAA7AQlAAAA7AQ1/+0AAAQ3AAAA7ASV/+0AAASXAAAA7AABACmAAAACAO3/yQAOARz/7gAAAAEABoAAABcABv/yAAAAC//yAAAA9v/0AAAA/gAAAIwBCf/1AAABGv/1AAABOv/1AAABbf/1AAABhP/yAAABhf/yAAABh//yAAABiP/yAAABif/yAAAD5P/1AAAD7f/1AAAD9v/yAAAD9//yAAAD+v/yAAAEBv/1AAAEDv/1AAAEL//1AAAEMf/1AAAEM//1AAAAAQAugAAAKgDs/+8AAADt/+4AAADu//AAAADw/+8AAADx/+8AAADz/+8AAAD0/+8AAAD1/+8AAAD2/+4AAAD4/+8AAAD6/+8AAAD7/+8AAAD+/+8AAAEA/+8AAAEF/+8AAAEJ//QAAAEg//EAAAEr/+8AAAE0//AAAAE2/+8AAAE6/+8AAAE8/+8AAAE+/+8AAAFE//AAAAFT/+8AAAFV/+8AAAFX/+8AAAFc/+8AAAFe//AAAAFt/+8AAAPg/+8AAAPi/+8AAAPl//AAAAPn/+8AAAPs/+8AAAQC/+8AAAQR//AAAAQf//AAAAQj/+8AAAQl/+8AAAQ3/+8AAASX/+8AAAAIANL/6wAAANb/6wAAATn/6wAAAUX/6wAAA9z/6wAABA3/8wAABJL/6wAABKH/8wAAAB0A0v/iAAAA1P/kAAAA1v/iAAAA2f/hAAAA2v/kAAAA3f/kAAAA3v/pAAAA7f/kAAAA8v/rAAABBP/rAAABM//kAAABOf/iAAABQ//kAAABRf/iAAABUP/kAAABUf/rAAABXf/kAAABZv/kAAABb//kAAABcP/rAAAD0P/pAAAD3P/iAAAD3f/kAAAEEP/kAAAEHv/kAAAELv/pAAAEMP/pAAAEMv/pAAAEkv/iAAAAHwDS/+MAAADU/+UAAADW/+MAAADZ/+IAAADa/+UAAADd/+UAAADe/+kAAADy/+oAAAEE/+oAAAEz/+UAAAE5/+MAAAFD/+UAAAFF/+MAAAFQ/+UAAAFR/+oAAAFd/+UAAAFm/+UAAAFs/+QAAAFv/+UAAAFw/+oAAAPQ/+kAAAPc/+MAAAPd/+UAAAQN/+QAAAQQ/+UAAAQe/+UAAAQu/+kAAAQw/+kAAAQy/+kAAASS/+MAAASh/+QAAAAKAOb/wwAAAPb/zwAAAP4AAAA+ATr/zgAAAUn/5wAAAUz/3wAAAWL/0QAAAWT/7AAAAWz/oAAAAW3/0QAAAAEAF4AAAB8ABv/ADAoAC//ADAoA3v/rCkAA4f/nDAoA5v/DCkAA9v/PDAQA/gAAALwBGf/ICkABOv/ODAQBR//nDAoBSf/nDAoBTP/fAAABYv/RAAABZP/sAAABbP+gCkABbf/RDAQBhP/ADAoBhf/ADAoBh//ADAoBiP/ADAoBif/ADAoD0P/rCkAD9v/ADAoD9//ADAoD+v/ADAoEBf/ICkAELv/rCkAEMP/rCkAEMv/rCkAENP/nDAoElP/nDAoAAQAYgAAAOgCyAA8BZADS/+YAAADUAA4AAADW/+YAAADZABMAAADaAA4AAADdAA4AAADeAAsAAADh/+UAAADm/+YAAADn//QAAADtABIAAADyAA8AAAD2/+cAAAD5/+gAAAD+AAABXgEEAA8AAAENAA8AAAEZ/+YAAAEzAA4AAAE5/+YAAAE6/+cAAAFDAA4AAAFF/+YAAAFH/+UAAAFI/+gAAAFJ/+UAAAFK/+gAAAFM/+QAAAFQAA4AAAFRAA8AAAFdAA4AAAFi/+YAAAFk/+YAAAFmAA4AAAFs/+YAAAFt/+cAAAFvAA4AAAFwAA8AAAPQAAsAAAPRAA8AAAPc/+YAAAPdAA4AAAQF/+YAAAQN/+YAAAQQAA4AAAQTAA8AAAQVAA8AAAQeAA4AAAQuAAsAAAQwAAsAAAQyAAsAAAQ0/+UAAAQ1/+gAAASS/+YAAASU/+UAAASV/+gAAASh/+YAAAABACKAAAAAAA+AAAASANn/rgAAAOYAEgAAAOv/4AAAAO3/rQAAAO//1gAAAP3/3wAAAQH/0gAAAQf/4AAAARz/zgAAAS7/3QAAATD/4gAAATj/4AAAAUD/4AAAAUr/6QAAAU3/2gAAAV//vQAAAWn/3wAAAWwAEQAAACAAG//yAAAA0v/xAAAA1P/1AAAA1v/xAAAA2v/0AAAA3f/1AAAA3v/zAAAA5v/xAAABGf/0AAABM//0AAABOf/xAAABQ//0AAABRf/xAAABUP/1AAABXf/0AAABYv/yAAABZP/yAAABZv/1AAABbP/yAAABb//1AAAD0P/zAAAD3P/xAAAD3f/0AAAEBf/0AAAEDf/wAAAEEP/0AAAEHv/0AAAELv/zAAAEMP/zAAAEMv/zAAAEkv/xAAAEof/wAAAADADZABIAAADq/+kAAAD2/9cAAAE6/9cAAAFK/9MAAAFM/9YAAAFN/8UAAAFY/+cAAAFiAA0AAAFkAAwAAAFt/9YAAAFu//IAAAA7ALIAEAFkANL/4AAAANP/6AAAANQAEAAAANb/4AAAANkAFAAAAN0AEAAAAOH/4QAAAOb/4AAAAO0AEwAAAPIAEAAAAPn/4AAAAQQAEAAAAQj/6AAAAQ0AEAAAARf/6AAAARn/4AAAARv/6AAAAR3/6AAAAR//6AAAASH/6AAAATn/4AAAAUH/6AAAAUX/4AAAAUf/4QAAAUj/4AAAAUn/4QAAAUr/4AAAAU3/4QAAAVAAEAAAAVEAEAAAAVj/6QAAAWL/3wAAAWT/3gAAAWYAEAAAAWr/6AAAAWz/3wAAAW7/8gAAAW8AEAAAAXAAEAAAA9EAEAAAA9j/6AAAA9v/6AAAA9z/4AAABAX/4AAABAj/6AAABAv/6AAABA3/3wAABBMAEAAABBUAEAAABCb/6AAABCj/6AAABCr/6AAABDT/4QAABDX/4AAABJL/4AAABJT/4QAABJX/4AAABKH/3wAAAAAADoAAAEYA0v/mAAAA1v/mAAAA2v/yAAAA3v/uAAAA4f/oAAAA5v/mAAAA7AAAAaYA7v/xAAAA8AAAAaYA8QAAAaYA8wAAAaYA9AAAAaYA9QAAAaYA9v/QAAAA+AAAAaYA+gAAAaYA+wAAAaYA/gAAAaYBAAAAAaYBBQAAAaYBGf/nAAABKwAAAaYBM//yAAABNP/xAAABNgAAAaYBOf/mAAABOv/OAAABPAAAAaYBPgAAAaYBQ//yAAABRP/xAAABRf/mAAABR//oAAABSf/oAAABUwAAAaYBVQAAAaYBVwAAAaYBXAAAAaYBXf/yAAABXv/xAAABYv/nAAABZP/tAAABbP/mAAABbf/QAAAD0P/uAAAD3P/mAAAD3f/yAAAD4AAAAaYD4gAAAaYD5f/xAAAD5wAAAaYD7AAAAaYEAgAAAaYEBf/nAAAEDf/nAAAEEP/yAAAEEf/xAAAEHv/yAAAEH//xAAAEIwAAAaYEJQAAAaYELv/uAAAEMP/uAAAEMv/uAAAENP/oAAAENwAAAaYEkv/mAAAElP/oAAAElwAAAaYEof/nAAAAAQAZgAAACADZABUAAADtABUAAAFJ/+QAAAFK/+UAAAFM/+QAAAFi/+MAAAFk/+IAAAFs/+QAAAAzANL/vgAAANb/vgAAAOb/yQAAAOwAAAE0APAAAAE0APEAAAE0APMAAAE0APQAAAE0APUAAAE0APb/3wAAAPgAAAE0APoAAAE0APsAAAE0AP4AAAE0AQAAAAE0AQUAAAE0AQn/7QAAARr/7wAAASD/6wAAASsAAAE0ATYAAAE0ATn/vgAAATr/3wAAATwAAAE0AT4AAAE0AUX/vgAAAUz/6QAAAVMAAAE0AVUAAAE0AVcAAAE0AVwAAAE0AWP/9QAAAW3/4AAAA9z/vgAAA+AAAAE0A+IAAAE0A+T/7wAAA+cAAAE0A+wAAAE0A+3/7wAABAIAAAE0BAb/7wAABA7/7wAABCMAAAE0BCUAAAE0BC//7wAABDH/7wAABDP/7wAABDcAAAE0BJL/vgAABJcAAAE0AAEAH4AAAFEABv/AAioAC//AAioA0v71AiQA1v71AiQA2v/wAh4A3v/rAhgA4f/nAhIA5v/DA+IA7AAAAgwA7v/JAgYA8AAAAgwA8QAAAgwA8wAAAgwA9AAAAgwA9QAAAgwA9v/PAgAA+AAAAgwA+gAAAgwA+wAAAgwA/gAAAgwBAAAAAgwBBQAAAgwBGf/IA9ABKwAAAgwBM//wAh4BNP/JAgYBNgAAAgwBOf71AiQBOv/OAfoBPAAAAgwBPgAAAgwBQ//wAh4BRP/JAgYBRf71AiQBR//nAhIBSf/nAhIBTP/fAAABUwAAAgwBVQAAAgwBVwAAAgwBXAAAAgwBXf/wAh4BXv/JAgYBYv/RAfQBZP/sAfQBbP+gA+IBbf/RAe4BhP/AAioBhf/AAioBh//AAioBiP/AAioBif/AAioD0P/rAhgD3P71AiQD3f/wAh4D4AAAAgwD4gAAAgwD5f/JAgYD5wAAAgwD7AAAAgwD9v/AAioD9//AAioD+v/AAioEAgAAAgwEBf/IA9AEDf+tAegEEP/wAh4EEf/JAgYEHv/wAh4EH//JAgYEIwAAAgwEJQAAAgwELv/rAhgEMP/rAhgEMv/rAhgENP/nAhIENwAAAgwEkv71AiQElP/nAhIElwAAAgwEof+tAegAAQA1gAAAAQAvgAAAAQA2gAAAAQAtgAAAAQAxgAAAAQBOgAAAAQATgAAAAQA0gAAAAQA6gAAAAQA7gAAAAgAEgAAAAQAsgAAARQDS/vUBuADU//UAAADW/vUBuADa//AAAADd//UAAADe/+sBsgDh/+cBrADm/8MBrADsAAABpgDwAAABpgDxAAABpgDzAAABpgD0AAABpgD1AAABpgD2/88BrAD4AAABpgD6AAABpgD7AAABpgD+AAABpgEAAAABpgEFAAABpgEZ/8gBsgErAAABpgEz//AAAAE2AAABpgE5/vUBuAE6/84BrAE8AAABpgE+AAABpgFD//AAAAFF/vUBuAFH/+cBrAFJ/+cBrAFM/98AAAFQ//UAAAFTAAABpgFVAAABpgFXAAABpgFcAAABpgFd//AAAAFi/9EBoAFk/+wBrAFm//UAAAFs/6ABrAFt/9EBoAFv//UAAAPQ/+sBsgPc/vUBuAPd//AAAAPgAAABpgPiAAABpgPnAAABpgPsAAABpgQCAAABpgQF/8gBsgQN/60BrAQQ//AAAAQe//AAAAQjAAABpgQlAAABpgQu/+sBsgQw/+sBsgQy/+sBsgQ0/+cBrAQ3AAABpgSS/vUBuASU/+cBrASXAAABpgSh/60BrAABADeAAAABABWAAAABADiAAAABADmAAAACAAOAAABbAAb/ygAAAAv/ygAAANL/0gAAANb/0gAAANr/9AAAAN7/7QAAAOH/4QAAAOb/1AAAAOz/0QIqAO7/7wAAAPD/0QIqAPH/0QIqAPP/0QIqAPT/0QIqAPX/0QIqAPb/yQAAAPj/0QIqAPr/0QIqAPv/0QIqAP7/0QAAAQD/0QIqAQX/0QIqAQn/5QAAARn/1AAAARr/5gAAASD/4wAAASv/0QIqATP/9AAAATT/7wAAATb/0QIqATn/0gAAATr/xAAAATz/0QIqAT7/0QIqAUP/9AAAAUT/7wAAAUX/0gAAAUf/4QAAAUn/4QAAAVP/0QIqAVX/0QIqAVf/0QIqAVz/0QIqAV3/9AAAAV7/7wAAAWL/1AAAAWP/9QAAAWT/5wAAAWz/0gIkAW3/yQAAAYT/ygAAAYX/ygAAAYf/ygAAAYj/ygAAAYn/ygAAA9D/7QAAA9z/0gAAA93/9AAAA+D/0QIqA+L/0QIqA+T/5gAAA+X/7wAAA+f/0QIqA+z/0QIqA+3/5gAAA/b/ygAAA/f/ygAAA/r/ygAABAL/0QIqBAX/1AAABAb/5gAABA3/0wAABA7/5gAABBD/9AAABBH/7wAABB7/9AAABB//7wAABCP/0QIqBCX/0QIqBC7/7QAABC//5gAABDD/7QAABDH/5gAABDL/7QAABDP/5gAABDT/4QAABDf/0QIqBJL/0gAABJT/4QAABJf/0QIqBKH/0wAAAAEAA4AAAAEAUIAAAA0A2QATAJIA5v/FAIwA9v/KAIYBOv+fAIABSf9RAHoBSv97AHQBTP/KAG4BTf/dAGgBWP/yAGIBYv91AFwBZP/KAIYBbP9PAFYBbf+MAFAAAwAQgAAAAwATgAAAAwARgAAAAAAWgAAAAAAfgAAAAwAAgAAAAwANgAAAAwAOgAAAAwAFgAAAAAAlgAAAAAAogAAAAAALgAAACQD2AAAAPgEaAAAAOAPkAAAAOAPtAAAAOAQGAAAAOAQOAAAAOAQvAAAAOAQxAAAAOAQzAAAAOAAAABGAAAAAABOAAAADANkAAAAaAOYAAAAUAWwAAAAUAAAABYAAAAAABIAAAAEDzf/sAAAAAQPN/+4AAAAEARkAFAAABAUAFAAABA0AFgAABKEAFgAAAAYA0v/YACYA1v/YACYBOf/YACYBRf/YACYD3P/YACYEkv/YACYAAQAngAAAAQAAAAEACAABAAoABQAkAEgAAQD6AAgACgAUABUAFgAXABgAGQAaABsAHAAdACUAJgAnACgAKQAqACsALAAtAC4ALwAwADEAMgAzADQANQA2ADcAOAA5ADoAOwA8AD0APgBlAGcAgQCDAIQAjACPAJEAkwCxALIAswC0ALUAtgC3ALgAuQC6ANIA0wDUANUA1gDXANgA2QDaANsA3ADdAN4A3wDgAOEA4gDjAOQA5QDmAOcA6ADpAS8BMwE1ATcBOQE7AUEBQwFFAUkBSwFMAVgBWQGxAbcBvAG/ApUClgKYApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0AtEC0wLVAtcC2QLbAt0C3wLhAuMC5QLnAukC6wLtAu8C8QLzAvUC9wL5AvsC/QL+AwADAgMEAwYDCAMKAwwDDgMQAxMDFQMXAxkDGwMdAx8DIQMjAyUDJwMpAysDLQMvAzEDMwM1AzcDOQM7Az0DPwNAA0IDRANGA0gDoQOiA6MDpAOlA6YDpwOpA6oDqwOsA60DrgOvA7ADsQOyA7MDtAO1A7YDtwO4A8gDyQPKA8sDzAPNA84DzwPQA9ED0gPTA9QD1QPWA9cD2APZA9oD2wPcA90D7gPwA/ID9AQJBAsEDQQiBCgELgSYBJ0EoQUiBSQAAAAGAGQAAAMoBbAAAwAHAAsADwATABcAAAEVITUzESMRIREjERMVITUBASMBEQEzAQMJ/XYbNgLENhf9dgKK/a86AlH9rzoCUQWwNjb6UAWw+lAFsPqGNjYFXPqMBXT6jAV0+owAAgCh//QBfAWwAAMADwATQAkCAgcNC3IAAnIAKyvdzi8wMQEDIwMDNDYzMhYVFAYjIiYBaQ2nDgY3NjU5OTU2NwWw++sEFfqtLT4+LSs+PgACAIkEEwIkBgAABQALAAyzCQMLBQAvM80yMDEBFQMjETUhFQMjETUBFh5vAZsebwYAiP6bAVyRiP6bAWOKAAQAdwAABNMFsAADAAcACwAPACNAEQQABQ0ODgAKCQkAAgJyABJyACsrETkvMxE5LzMyETMwMSEBMwEhATMBASE1IQMhNSEBFwEbkP7kAQgBHI/+5AGW+/AEEEv77wQRBbD6UAWw+lADhYv9iooAAwBu/zAEEgacAAMABwA9ADZAHAQHOjoIKxAjBBQvNTUGLw1yAQIfHxQaGgMUBXIAK80zLxEzEjk5K80zLxESFzkzEjk5MDEBESMRExEjEQE0JiYnLgI1NDY2MzIeAhUjNC4CIyIGBhUUFhYXHgIVFAYGIyIuAjUzFB4CMzI2NgKiloSVAV02fGh+t2NqwoNmoG87uCBAXDxUbTQ0fW6BtF500o1VpoZQujFSYzFafUIGnP7PATH5n/71AQsBPDxgUCIncKZ2e7JgPXiuckNwUy06aUVAYE0lKW+hd4GxXC5prX5Vb0EbOWoABQBp/+sFgwXFABEAIwA1AEcASwAjQBFJMksFO0QpMhcOIAUFcjINcgArKzLEMhDEMjMRMxEzMDETNTQ2NjMyFhYVFRQGBiMiJiY3FRQWFjMyNjY1NTQmJiMiBgYBNTQ2NjMyFhYVFRQGBiMiJiY3FRQWFjMyNjY1NTQmJiMiBgYTAScBaUiGXF6FSEeFXV2HSIsjSDY2RiIjRzY1RyMCOkiGXF6FSEeFXV2GSYsjSDY2RyIjRzc1RyPN/TloAscES01TiFJSiFNNUYhSUoieTS5SMzNSLk0vUzMzU/xQTlKIUlKIUk5SiFJSiKBOLlMzM1IvTi9SMzNSA037jkIEcgAAAQBm/+wE8wXEAEIAJEAUIxIADyIBBhowMCsRETsTcgcaA3IAKzIrMi8yMi8RFzkwMQE3NjY1NCYjIgYGFRQWFhcBIwEuAjU0NjYzMhYWFRQGBgcFDgIVFBYWMzI+AjUzFAYGBwYGBwYGIyImJjU0NjYBmto/RVxUOlAoLE4yArHe/ctLdkNbpG5rm1QyWTv+30hCEz5/YFSffkumJk89CQoJS9tukdNyT4sDKJsrV0w7YTZZNS1gaDr8xgKkWJOKSnKdUlWLU0ZvXCzXNWBKFkd2R02Px3ljsJc+CRgJUVFqunhcjHoAAAEAaAQiAP4GAAAFAAixAwUAL8YwMRMVAyMTNf4VgQEGAG7+kAFffwABAIb+KgKWBmsAFwAIsQYTAC8vMDETNTQSEjY3Fw4CAhUVFBIWFhcHJiYCAoZimKhHJzt5ZT4+ZXk7J0eomGICRgraAWEBCq8nei2e5v7Qvg6+/s/oozBwJ68BCQFiAAABACf+KgI3BmsAFwAIsRMGAC8vMDEBFRQCAgYHJz4CEjU1NAImJic3FhYSEgI3YpioRyc7eGY+Qml3NSdHqJhiAlAK2/6e/vevJ3AtoesBM74OvgEz6qEscSev/vb+nwABABwCYgNWBbEADgAUQAoNAQcEBA4MBgJyACvEMhc5MDETEyU3BQMzAyUXBRMHAwOByf7SLwEuCZgKASou/s3FfLm1AsQBFFqWbwFY/qJvmVv+8V0BIP7nAAACAE4AkgQ0BLYAAwAHABC1BwcDAwYCAC/GMxDGLzAxARUhNQERIxEENPwaAlC5Aw2urgGp+9wEJAAAAQAd/t0BNQDcAAoACLEEAAAvzTAxJRUUBgcnPgI1NQE1XFNpICwX3JVby0RJLFthNpgAAAEAJgIfAg4CtwADAAixAwIALzMwMQEVITUCDv4YAreYmAABAJD/9AF2ANIACwAKswMJC3IAKzIwMTc0NjMyFhUUBiMiJpA7ODg7Ozg4O2IvQUEvLkBAAAABABP/gwMRBbAAAwAJsgACAQAvPzAxAQEjAQMR/aGfAmAFsPnTBi0AAgBz/+wECwXEABcALwATQAkrBh8SBXIGDXIAKysyETMwMQEVFA4CIyIuAzU1ND4CMzIeAwMRNC4DIyIOAhURFB4DMzI+AgQLQHipalSOcVAqQXipaVWPcE8quhcsQ1c2QmZFJBcuQlc1RGZFIgNM3rP2lkMqXZbWj96z8pNAKVmT1P51ARtilWpCHzFqrHv+5WKWbUYhNG+vAAEAqwAAAtkFuAAGAAy1BgRyAQxyACsrMDEBESMRBTUlAtm5/osCEQW4+kgE0YinyAAAAQBeAAAEMwXEAB8AGUAMEBAMFQVyAx8fAgxyACsyETMrMjIvMDElFSE1AT4CNTQmJiMiBgYVIzQ2NjMyFhYVFA4CBwEEM/xHAd1YYSc7clFhgUC5bNSbisRpK0tjOP56mJiFAhNiiW05SHVGS4ZXe8x5Ya91QIOCfj3+WQAAAgBf/+wD+gXEABwAOwAqQBYbHB4fBAAAHR0SMy8vKQ1yDQ0JEgVyACsyMi8rMi8yETkvMxIXOTAxATMyNjY1NCYmIyIGBhUjNDY2MzIWFhUUDgIjIxU1MzIeAhUUDgIjIi4CNTMUFhYzMjY2NTQmJiMBh4Rhfz84cFZOd0O5cMuGhMZuM2uqd56ei7ZpK0V9qGNfp4BIuUN9VVV7Q0yLXgMzQXFHVHI6PXBMb7ZsXbeIN31sRShvQm6DQWaebjg2Z5dhTHI/O3hbW3U5AAACADUAAARRBbAABwALAB1ADgMHBwYCAgUJDHILBQRyACsyKxI5LzkzEjkwMQEVITUBMwMBAREjEQRR++QCjJei/lECf7kB6phtA/H+3P1eA8b6UAWwAAEAmv/sBC4FsAApAB1ADicJCQIdGRkTDXIFAgRyACsyKzIvMhE5LzMwMQEnEyEVIQM2NjMyHgIVFA4CIyIuAiczHgIzMj4CNTQuAiMiBgFjlEkC6/2yLCh7UGWgcTw5cq11WJ17TQqwDEh1TkJmRiUmS2xGXV8CtSYC1av+dBcoRYC0b2mwg0gxZZdmUnA5LlZ6TEV2WDEyAAABAIX/7AQdBbIANgAbQA0OLBgiIiwDAARyLA1yACsrMhE5LzMRMzAxATMVIyIOAhUVFB4CMzI+AjU0LgIjIgYGByc+AzMyHgIVFA4CIyIuAjU1NBI2JAM/EBCTxnQzLlBlN0BkRSQgQmNETYVVBmIOTXOPUG2eZjE6c6hvdrB0Oj6ZARAFsp1fn8Zm1mGVZjQxWXpJQXlfN0t5RwFwn2UvUomrWme0iExhosZmV5oBKPCOAAABAE4AAAQmBbAABgATQAkBBQUGBHIDDHIAKysyETMwMQEVASMBITUEJv2lwwJa/OwFsGj6uAUYmAAABABx/+wEDwXEABAAIAAwAEAAIUAQDT09JS0VFQQ1LQVyHQQNcgArMisyEjkvEjkzEjkwMQEUBgYjIiYmNTQ+AjMyFhYHNCYmIyIGBhUUFhYzMjY2ExQGBiMiJiY1NDY2MzIWFgc0JiYjIgYGFRQWFjMyNjYED3vRg4PSekN7qWaG0nm6Rn5TVXtEQ31WVnxDmHDCe33Dbm/CfH3Cb7k+bklJbT09bklJbT4BioW5YGC5hVeRbDtntHBRfUZGfVFUdz8/dwL7aqpiYqpqf7JeXrKCSXBBPXBNS3A+PnAAAQBk//4D+AXEADgAG0ANADgWISE4DCsFcjgMcgArKzIROS8zETMwMSUzMj4CNTU0LgIjIg4CFRQeAjMyPgI3MxQOAiMiLgI1ND4CMzIeAhUVFA4DIyMBMROgyGwoLU9kOEBlRSQgQmNDPm1VMwRYQXScXGyeZTE6cqlvfbBvNB1Rmve1E5tamL9l32OaaDYzXHxJQXpiOTFVbDtToYRPVIytWWi2i05kqNJvQ3Hp1Kdh//8Ahf/0AWwERQAmABL1AAAHABL/9gNz//8AKf7dAVQERQAnABL/3gNzAAYAEAwAAAIASADEA3oESgAEAAkAFkAMAQMHBgAECAUIAgkCAC8vEhc5MDETARUBNSUBBzUBxwKz/M4DMv1OgAMyAqD+6MQBe3PU/uQOdAF6AAACAJgBjwPaA88AAwAHAA61BgcSAwIQAD8zPzMwMQEVITUBFSE1A9r8vgNC/L4Dz6Gh/mGhoQACAIcAxQPdBEwABAAJABVACwUIBAAGAwEHAgkCAC8vEhc5MDEBATUBFQUBNxUBA079OQNW/KoCyY38qgJ4ARW//oZ12QEbFXT+hQAAAgBL//QDdwXEACAALAAbQA0BASQkKgtyERENFgNyACsyMi8rMhEzLzAxASM+Ajc+AjU0JiYjIgYGByM+AjMyFhYVFAYGBwYGAzQ2MzIWFRQGIyImAh+6ASFMPy5NMDFfRjpoQAG5Am26c3+zXklyQDcmwjg1Njg4NjU4AZpge2ZBL1NhREVkNipXRnGiVlyrdVqXhDwzgP55LT4+LSs+PgAAAgBt/jsGzwWXAEEAaAAnQBISBQVHUhNyYWRkC11dHR08KTAALzMvMxEzLzMzETMrMjIRMzAxAQ4DIyIuAjcTMwMGHgIzMj4CNzYuAyMiDgMHBh4DMzI2NxcGBiMiLgICNzYSNjYkMzIeAhIFBh4CMzI+AjcXDgMjIi4CNz4EMzIWFwcmJiMiDgIGyAQwYJlsRWdBGQgzkzMGEygzGDxeQSQEBylhnNiLftWpeUUGBy5nntCAWLU9JkbRXZj7wYA8BwdVlM0BAZea+r18Ofv2Bw4oQSwdQD42EkIXSVplNEluRBsJCThTaXY+bHw4VR1eQDdgTTQB91y5ml0xXIJQAir91klcMRI/b5NUlfrChkZNkMr9kpb7xYlHKiRyLSxTn+MBIqykASLsq1xUnuT+4P9GbkwnHT5kRkhSfFQrP3ShY2myjGIzPytjHDA4cKUAAwAdAAAFHgWwAAQACQANAClAFAQHBwoNDQYACwwMAggDAnIFAghyACsyKzIROS8zOTkzETMyETMwMQEBIwEzAQEnMwEDFSE1AsT+HsUCK38Bkf4dA38CLd/8zgUv+tEFsPpQBS+B+lACG56eAAACAKkAAASIBbAAGQAwAClAFBkpJgInJwEmJg4MDwJyHBsbDghyACsyETMrMhE5LzMzETMSOTkwMQEhJyEyNjY1NCYmIyERIxEhMh4CFRQGBgcDITchMjY2NTQmJiMhNyEXHgIVFAYGArD+jwIBT1N8RT19YP7kwQHdcLB7QFyjbU7+TG0BR1yBRDp8Yv7tAgF4KWmSTXfYAqmbOGlJUGUv+u4FsC1fkmZakVwN/SidQHVQUXZAmzgJZZxeiLthAAABAHj/7ATYBcQAJwAVQAoZFRADciQABQlyACvMMyvMMzAxATMOAiMiLgI1NTQ+AjMyFhYXIy4CIyIOAhUVFB4CMzI2NgQYwA+A6q+A0ZZRUZnYh6Xkfw/ADkyMcWGTYzItXI5he5JLAc+K2n9gsfmZkZn5smB825Bmk1BKiL50k2u8jlFOkgAAAgCpAAAExwWwABoAHgAbQA0CAQEdDg8PHgJyHQhyACsrMhEzETMRMzAxISE3ITI2NjU1NC4CIyE1ITIeAhUVFA4CAREjEQIz/tACAS6c0Gk8dKds/rgBSI/sq1xcrfP+n8Gdg+2fWX3Dh0aeX7P9nlee/bJfBbD6UAWwAAQAqQAABEYFsAADAAcACwAPAB1ADgsKCgYPDgcCcgMCBghyACsyMisyMhE5LzMwMSUVITUTESMRARUhNQEVITUERvz9J8EDN/1jAvn9B52dnQUT+lAFsP2OnZ0Ccp6eAAMAqQAABC8FsAADAAcACwAbQA0HBgYCCgsLAwJyAghyACsrMhEzETkvMzAxAREjEQEVITUBFSE1AWrBAyP9dALv/REFsPpQBbD9cZ6eAo+engABAHr/7ATdBcQAKwAbQA0rKioFGRUQA3IkBQlyACsyK8wzEjkvMzAxAREOAiMiJiYCNTU0EjY2MzIWFhcjLgIjIg4CFRUUHgIzMjY2NxEhNQTdG3bPo4Xfo1lNltqNp+F/EsENTY5wZZRgLztumV1ngEgT/q8C1f3rKGNJXbMBAaNxowEAs11zyoFPgk9KisR7c37Gi0gjMRYBRpwAAAMAqQAABQgFsAADAAcACwAbQA0JBggDAgIGBwJyBghyACsrETkvMzIRMzAxARUhNRMRIxEhESMRBGD87B7BBF/AAz6dnQJy+lAFsPpQBbAAAQC3AAABeAWwAAMADLUAAnIBCHIAKyswMQERIxEBeMEFsPpQBbAAAAEANf/sA8wFsAATABNACRAMDAcJcgICcgArKzIvMjAxAREzERQGBiMiJiY1MxQWFjMyNjYDDMB2z4aG0HbBRHlOTHlGAakEB/v5kMZnXLyPXHY4QYEAAwCpAAAFBQWwAAMACQANABxAEAYHCwUMCAYCBAMCcgoCCHIAKzIrMhIXOTAxAREjESEBAScBARMBNwEBasEEMP2j/qwgAQAB6S795XMCjgWw+lAFsP1Z/p/OARoCIPpQAsaZ/KEAAgCpAAAEHAWwAAMABwAVQAoDAgIGBwJyBghyACsrETMRMzAxJRUhNRMRIxEEHP0oJsGdnZ0FE/pQBbAAAwCpAAAGUgWwAAYACwAQABtADQIHDgULCHIMBAAHAnIAKzIyMisyMhE5MDETMwEBMwEjATMTESMBMxEjEea7Ad0B3Lz9sJL9daUbwAUEpcAFsPtdBKP6UAWw/Ij9yAWw+lACOAAAAQCpAAAFCQWwAAkAF0ALAwgFCQcCcgIFCHIAKzIrMhI5OTAxAREjAREjETMBEQUJwv0jwcEC4AWw+lAEY/udBbD7mgRmAAIAd//sBQoFxAAVACsAE0AJJwYcEQNyBglyACsrMhEzMDEBFRQCBgYjIiYmAjU1NBI2NjMyFhYSAzU0LgIjIg4CFRUUHgIzMj4CBQpSmteFgdedVlWc14GF15tTvzVmk11akWc4OGmRWl6SZTQDBlyk/vy2YGC2AQSkXKQBA7dgYLf+/f8AXoLIiEZGiMiCXoPJiUZGickAAQCpAAAEwQWwABcAF0ALAgEBDgwPAnIOCHIAKysyETkvMzAxASE1ITI2NjU0JiYjIREjESEyFhYVFAYGAsL+ewGFcYxBQYxx/qjBAhml5HZ25AI7nUiAUkuEUfruBbByyYGMxmcAAwBu/woFBgXEAAMAGQAvABlADCAVA3IAKysDCglyAgAvKzIyETMrMjAxJQEHAQEVFAIGBiMiJiYCNTU0EjY2MzIWFhIDNTQuAiMiDgIVFRQeAjMyPgIDlAFygv6UAelSmteFgdedVlWc14GF2JpTvzVmkl5ZkWg4OGmSWV6SZTSn/tt4ASEC21yk/vy2YGC2AQSkXKQBA7dgYLf+/f8AXoLIiEZGiMiCXoPJiUZGickAAAIAqQAABMoFsAAYAB0AI0ASGxoJAwwMCwsAHBkYCHIWAAJyACsyKzIyEjkvMxIXOTAxEyEyFhYVFAYGBwchJyEyNjY1NCYmIyERIyEBNwEVqQHipON3UZdpNv47AgFWaIpGQo1v/t/BA1P+nskBZwWwZMOOZKVzHBWdSXxLVH5F+u4ClAH9dwwAAAEAUf/sBHMFxAA5AB9ADwomDzYxMSsJchgUFA8DcgArMi8yKzIvMhE5OTAxATQuAicuAzU0PgIzMhYWFSM0JiYjIgYGFRQeAhceAxUUDgIjIi4CNTMUHgIzMjY2A7EfTYdnbK58QkaDtnCk5XjARo5tZ4ZBJ1OBWny0dTlIhrtzZcOfX8A6ZYFGZYxJAXAzT0A6HiBPZoRVVZBrPH3JclJ/ST5qRC5LQDYZI1Zrh1VZkGY3OHClbUtrRiE4aAACADIAAASXBbAAAwAHABVACgADAwYHAnIBCHIAKysyMhEzMDEBESMRIRUhNQLDvgKS+5sFsPpQBbCengABAIz/7ASqBbAAFQATQAkBEQYLAnIGCXIAKysRMzIwMQEzERQGBiMiJiY1ETMRFBYWMzI2NjUD6sCS8Y2U74u/VJdkZZdUBbD8J6TabW3apAPZ/CdylEhIlHIAAAIAHQAABP0FsAAEAAkAF0ALAAYIAQkCcgMICHIAKzIrMhI5OTAxJQEzASMBARcjAQJ/Aa3R/eWV/qEBqTWV/ebdBNP6UAWw+y3dBbAAAAQAPQAABu0FsAAFAAoADwAVABtADRAMAQoCchMSDgQJCHIAKzIyMjIrMjIyMDEBATMDASMDExMjAQETMwEjAQETIwEDAigBIYxR/smLxeZFiv6fBQ7hwf6giv7nARlmi/7UUgG4A/j+dfvbBbD8HP40BbD8HQPj+lAFsPwI/kgEJQGLAAEAOgAABM4FsAALABpADgcECgEECQMLAnIGCQhyACsyKzISFzkwMQkCMwEBIwEBIwEBASYBXgFe4f40Adfj/pn+meMB1/40BbD90gIu/S/9IQI5/ccC3wLRAAEADwAABLwFsAAIABdADAQHAQMGAwgCcgYIcgArKzISFzkwMRMBATMBESMRAewBegF72/4Kwf4KBbD9JQLb/HD94AIgA5AAAAMAVwAABHoFsAADAAkADQAfQA8EDAwJDQJyBwMDAgIGCHIAKzIRMxEzKzIyETMwMSUVITUBASM1ATMjFSE1BHr8JgO6/HR3A4t4UvxcnZ2dBIf63JAFIJ6eAAEAk/7IAgsGgAAHAA60AwYCBwYALy8zETMwMQEVIxEzFSERAgu/v/6IBoCY+XiYB7gAAQAp/4MDOQWwAAMACbIBAgAALz8wMQUBMwECif2gsAJgfQYt+dMAAAEACv7IAYQGgAAHAA60BQQAAQQALy8zETMwMRM1IREhNTMRCgF6/obABeiY+EiYBogAAgBAAtkDFQWwAAQACQAWQAkIBwcGAAUCAwIAP80yOTkzETMwMQEDIwEzEwMnMwEBt8usAStwjsolcQEqBNr9/wLX/SkCAdb9KQABAAT/aAOZAAAAAwAIsQIDAC8zMDEhFSE1A5n8a5iYAAEAOQTaAdoGAAADAAqyA4ACAC8azTAxARMjAQEZwZ/+/gYA/toBJgACAG3/7APqBE4AGwA6AClAFSssHiceOjoPJzELchgZCnIJBQ8HcgArMjIrMisyEjkvMxESOTkwMSURNCYmIyIGBhUjND4CMzIWFhURFBYXFSMmJhMXIyIOAhUUFhYzMjY2NxcOAyMiJiY1ND4CMwMLM2ZLRmk7uTxxn2J2tWcTE8EOECACu098VCwuXURVgk0DTwc+Z41YbqVbRIC0b7kCLUBfNDBOLTpyXTdQoXn+CDZ6LBAgawIFghkySzIzVDFIaDFZKmZdPVaRWleFWS4AAwCM/+wEIQYAAAQAGgAvABlADiEWB3IrCwtyBApyAAByACsrKzIrMjAxEzMRByMBFRQOAiMiLgInNT4DMzIeAgc1NC4CIyIOAgcVHgIzMj4CjLoQqgOVOGycZWebaj8MDD9qmmZmnms4uh5CbE9GZ0gtCxBJe1tLa0MgBgD60tICJhV2yZRSR4a+d1x4vodHT5LLkRVRj20/MFFnN/FGgVI9bI4AAAEAXf/sA+0ETgAnABlADB0ZGRQHcgQEAAkLcgArMjIvKzIvMjAxJTI2NjczDgIjIi4CNTU0PgIzMhYWFyMuAiMiDgIVFRQeAgI+QnBIBbAFd8BzerV3Ozt3tXp/vm0FsAVBb0pVc0MdHENzhDZfPWClZVaWw20qbcOWVmexcENsQUNxiUcqR4pwQwAAAwBf/+wD8QYAAAQAGgAvABlADSEEBBYLcisLB3IBAHIAKysyKzIvMjAxJREzESMBNTQ+AjMyHgIXFQ4DIyIuAjcVFB4CMzI2Njc1LgMjIg4CAze6qv0YPXGdYWaZaz4MCz9rmmdfnXE9uiFGbEtcd0gUDC1HZ0ZMbUYh0gUu+gACERV8y5JPR4e+eFx3voZHUpTJixVRjmw9ToBL8TdnUTA/bY8AAAEAXf/sA/METgArAB9AEGcTAQYTEhIAGQsHciQAC3IAKzIrMhE5LzNfXTAxBSIuAjU1ND4CMzIeAhUVITUhNS4CIyIOAhUVFB4CMzI2NxcOAgJOcbeDRk6Gqlt0qWw0/NgCbwQzbl8/akwqK1N3TGKIM3AjbJ0UTYzAciqEz5BKUI/BclOXDkiIWDVolmIqTYdmOlBDWTVgPAACAD0AAALLBhUAEQAVABVACxQVBnINBgFyAQpyACsrMisyMDEhIxE0NjYzMhYXByYmIyIGBhUXFSE1AaG5VaBuIEEfChU1GjtVLOb9tgSsdaFTCAiXBQQvWkJyjo4AAwBh/lUD8gROABMAKQA+ABtADzAlC3I6GgdyDgYPcgAGcgArKzIrMisyMDEBMxEUBgYjIiYmJzcWFjMyNjY1EQE1ND4CMzIeAhcVDgMjIi4CNxUUHgIzMjY2NzUuAyMiDgIDSqh0z4c4l5ExYUSVSViAR/0oO2+eY2aZaz4MCz9rmmdhnXA7uSFFbEtceEcUCy1HaEZMbUUhBDr73Y/KaSNTRm5SQEKBXgM+/sUVfMuST0eHvnhcd76GR1KUyYsVUY5sPU6AS/E3Z1EwP22PAAIAjQAAA+AGAAADABoAF0AMEQIWCgdyAwByAgpyACsrKzIRMzAxAREjERMnPgMzMh4CFREjETQmJiMiDgIBRrmNTQFAdKFiUIBbMLoyYEZFcVEtBgD6AAYA/EYDb72MTStelWv9OwLHVWcvOmaDAAACAI4AAAFpBcQAAwAPABC3Bw0DBnICCnIAKyvOMjAxAREjEQM0NjMyFhUUBiMiJgFWug43NjU5OTU2NwQ6+8YEOgEfLT4+LSs9PQAAAv++/ksBWgXEABEAHQATQAkNBg9yFRsABnIAK84yKzIwMRMzERQGBiMiJic3FhYzMjY2NQM0NjMyFhUUBiMiJpK6P31fGUMXARMwEik4HRM4NTY4ODY1OAQ6+0VjikcKB5UEBR5CNwXaLT4+LSs9PQAAAwCNAAAEDQYAAAMACQANAB1AEQYHCwUMCAYCCQYDAHIKAgpyACsyKz8SFzkwMQERIxEJAic3ARMBNwEBR7oDT/4o/vgPvQFQOf5+YAH8BgD6AAYA/jr+B/7uxeIBZPvGAgSl/VcAAQCcAAABVgYAAAMADLUDAHICCnIAKyswMQERIxEBVroGAPoABgAAAAMAiwAABnkETgAEABsAMgAhQBEpEgIuIiIXCwMGcgsHcgIKcgArKysRMzMRMxEzMzAxAREjETMDJz4DMzIeAhURIxE0JiYjIg4CJQc+AzMyHgIVESMRNCYmIyIOAgFFurAcVgE4bqRsTIBeNLk5aEZSbkIdAr18ATltoGdXh10wujlnRz1eQCEDY/ydBDr+DANvvYxNK1yQZv0vAshVZi86ZoMdJlmkgEsuX5Rm/TkCyVtlKSpJXgACAI0AAAPgBE4ABAAbABlADRICFwsDBnILB3ICCnIAKysrETMRMzAxAREjETMDJz4DMzIeAhURIxE0JiYjIg4CAUa5ryJNAUB0oWJQgFswujJgRkVxUS0DU/ytBDr+DANvvYxNK16Va/07AsdVZy86ZoMAAAIAXP/sBDUETgAVACsAELccEQtyJwYHcgArMisyMDETNTQ+AjMyHgIVFRQOAiMiLgI3FRQeAjMyPgI1NTQuAiMiDgJcRIC2cXK3gUREgbVycraBRLkmTXRNTHNMJydNc01Mc00mAhEXdcmVU1OVyXUXdciVU1OVyIwXUY9uPz9uj1EXUI9vQEBvjwAAAwCM/mAEHwROAAQAGgAvABlADiEWB3IrCwtyAwZyAg5yACsrKzIrMjAxAREjETMBFRQOAiMiLgInNT4DMzIeAgc1NC4CIyIOAgcRHgIzMj4CAUa6qgLpOGucZWeebkEMDEJtnGZmnmw3uiJHbkxGZ0gtCxRIeFtLbUciA2r69gXa/ewVdsmUUkSCtnJweL6HR0+Sy5EVUY9tPzBRZzf+/UZ7Sz9ujwAAAwBf/mAD8AROAAQAGgAvABlADiEWC3IrCwdyBA5yAwZyACsrKzIrMjAxARE3MxEBNTQ+AjMyHgIXFQ4DIyIuAjcVFB4CMzI2Njc1LgMjIg4CAzYQqvxvOnCfZmabbUAMC0BtnWdkn287uiJHbUtce0oUCy9KaUZMbkci/mAFCtD6JgOxFXzLkk9Hh754XHe+hkdSlMmLFVGPbj9Qg0vxN2hTMUBvkAAAAgCNAAACmAROAAQAFgAZQA0GCQkFFAdyAwZyAgpyACsrKzIyETMwMQERIxEzJQcmJiMiDgIHBzQ+AjMyFgFGubQBVwEXKRpAYkQnBjQnUn9YFDQDkPxwBDoGrAUDKEhjOx5irIVLCQABAF//7AO8BE4ANQAXQAsbAA4yKQtyFw4HcgArMisyETk5MDEBNCYmJy4DNTQ+AjMyFhYVIzQmJiMiBgYVFB4CFx4CFRQOAiMiJiY1Mx4CMzI2NgMDI2trWpFlNjlplFuCuGK5NWVJTV8rFTZiTIWsVDtvmV+Pxma6BFB0OUxnNgEfKEU5FRM0SmRDQHJYMlyZXS1VOC9IKB4vJyIRHlR6V0d2VS9molpMWSUoRgACAAn/7AJXBUEAAwAVABNACQoRC3IEAgMGcgArMi8rMjAxARUhNRMzERQWFjMyNjcXBgYjIiYmNQJS/bfGuSI2HxczDQEWRzJEckMEOo6OAQf7yzc4EgkDlwcNNn9sAAACAIn/7APdBDoABAAbABVACgERBnIYAwMLC3IAKzIvMisyMDElETMRIxM3FA4CIyIuAjURMxEUHgIzMjY2AyO6sRpNLWSidE+DXjO5ITlHJnaKPfoDQPvGAd4CbLeGSy5gmmwCuv1ESV83FlubAAIAIQAAA7sEOgAEAAkAF0ALAAYIAQkGcgMICnIAKzIrMhI5OTAxJQEzASMDARcjAQHWASi9/nt82wExFXz+eKcDk/vGBDr8aKIEOgAEACsAAAXTBDoABQAKAA8AFQAkQBQHCwARAxQGCRAMAQoGchIOBAkKcgArMjIyKzIyMhIXOTAxJQEzBwEjAxMXIwEBEzMBIwMBFyMBJwGfARZ6GP7ld6HtEX3+xgQO4rj+xnzTARAfdv7dGMADerH8dwQ6/Hy2BDr8gwN9+8YEOvyVzwOLrwAAAQAqAAADywQ6AAsAGkAOBwQKAQQJAwsGcgYJCnIAKzIrMhIXOTAxARMTMwEBIwMDIwEBAQrt8Nn+ngFt1vr61wFs/p8EOv52AYr96v3cAZb+agIkAhYAAAIAFv5LA7AEOgATABgAGUANFxYVAwgCGAZyDwgPcgArMisyEhc5MDElATMBDgMjIiYnJxYWMzI2NjcDARcHAQG9AS3G/k4PMUxrShZEDgEIIwc/WD0WkAEZMIX+cnADyvsfKF1UNQwElgEDIU1DBJz8uMNEBE8AAAMAWQAAA7MEOgADAAkADQAcQA0EDAwJDQZyBwMDBgISAD8zMxEzKzIyETMwMSUVITUBASM1ATMjFSE1A7P87QL2/TRxAsd2Uv0dmJiYAx/8SYgDspmZAAACAED+kgKfBj0AEQAlABlACh0JCgocHBITAQAALzIvMzkvMxI5OTAxARcGBhUVFAYGIzUyNjU1NDY2EwcuAjU1NCYmIzUyFhYVFRQWFgJ4J3daUa+OcWNBm68niJtBLF1Ljq9RJ1sGPXIlv3vPZKNgeoBtz2m3i/jucyeKt2nOSWo7emCjZc5SjGcAAAEAsP7yAUUFsAADAAmyAAIBAC8/MDEBESMRAUWVBbD5Qga+AAIAFP6SAnMGPQATACYAG0ALHgsKCh8fARUUAAEALzMvMxI5LzMSOTkwMRM3HgIVFRQWFjMVIiYmNTU0JiYDJz4CNTU0NjYzFSIGFRUUBgYUJ4mbQCxdS42wUSZbKSdPWydRsI1wZECbBctyJou3ac9IazpxW59kz1KNZ/jgcxlnjFLOZZ5bcIFtzmm3igABAIMBkwTvAyMAHwAbQAsMAAAWBoAcBhAQBgAvMy8RMxoQzTIvMjAxATcUDgIjIiYnJiYjIgYGFQc0PgIzMhYXFhYzMjY2BFeYL1d3R1eFTjNWMjNIJ6EvVndHWIlJN1MxNE0rAwkBTYhnO0ZELzQxWj8CToZkN0pBMjE2YAACAIv+lwFmBE0AAwAPAAyzAQcNAAAvL93OMDETEzMTExQGIyImNTQ2MzIWnQ6nDgY3NjU5OTU2N/6XBBX76wVNLD4+LCw9PQADAGn/CwP6BSYAAwAHAC8AJUASAgElJSEDHAdyBwQICAwGEQ1yACvNzDMSOTkrzcwzEjk5MDEBESMRExEjETcyNjY3Mw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgICnrq6umdCcEgFsAV4v3N6tnc7O3i1en++bQWwBUFvSlVzQx0cQ3MFJv7gASD7BP7hAR9aNl89YKVlVpbDbSptw5ZWZ7FwQ2xBQ3GJRypHinBDAAADAFsAAARoBcQAAwAHACIAIUAQBgUFAR8WBXIMDQ0CAgEMcgArMhEzETMrMhE5LzMwMSEhNSEBITUhARMWBgcnPgI1AzQ2NjMyFhYVIzQmJiMiBgYEaPv3BAn+k/1gAqD+uBYBODiuIykRFnTJf4O4YsBDbD5Caz+dAdKdAQP9g16jKTUJU2wsAn6Kw2hir3RUZi5BfQAGAGn/5QVbBPEAEwAnACsALwAzADcADrUPGQUjDXIAKzIvMzAxARQeAjMyPgI1NC4CIyIOAgc0PgIzMh4CFRQOAiMiLgIBByc3AQcnNwEnNxcBJzcXAThCdJlYWJl0QUF0mVhYmXRCrF2j2Ht72KRcXKTYe3vYo10Ez8qEyvzfyoPKA6TKhMr72MqDygJgXqZ9R0d9pl5fpH1GRn2kX4Xkql9fquSFheSrYGCr5AKNzonO+8POiM3+qs6IzQMszojOAAUADwAABCQFsAADAAcADAARABUALUAWCxAQBgcSFRUIDgMDAgIRFAxyCREEcgArMisSOS8zEjk5MhEzzjIzETMwMQEVITUBFSE1JQEzASMBAQcjAQERIxEDu/y9A0P8vQFoAW/V/k97/vABcR16/k0CZ8AC4X19/t18fNwDFvysA1T84zcDVP1W/PoDBgACAJT+8gFNBbAAAwAHAA20AQIGBwIAP93ezTAxASMRMxERIxEBTbm5uf7yAxgDpv0KAvYAAgBb/hEEeQXFAC8AYQAeQBNTPwABBStdNTEwDyEMT0QdFBFyACsyLzMXOTAxJTUyNjY1NC4CJy4DNTQ+AjMyFhYVIzQmJiMiBgYVFB4CFx4DFRQOAgEVIgYGFRQeAhceAxUUDgIjIi4CNTcUHgIzMjY2NTQuAicuAzU0PgICu1N0PiNSimZtq3c+RYC0cJncdrlHiGNphkEfTIlpcK54Pz91pf7tU2w0H06La2+sdj5FgLNvYLqXWbk8Y3c7YIdHIlCIZW2ueEA8cJ5sdjRcOi9HOzcfHkVfhV1Th2A0ZMCLTX9LOmA6Mkg4Mx0fR1+GXUx4UywC/nk0WjoySTo0Hh9GXYRdV4heMSxkpnkCT21AHThgPC9FOTYeHkdgh11Kd1QuAAIAZQTxAu8FxgALABcADrQDCQkPFQAvMzMvMzAxEzQ2MzIWFRQGIyImJTQ2MzIWFRQGIyImZTg1Njg4NjU4Aa83NjU5OTU2NwVbLT4+LSs9PSktPj4tKz09AAMAXP/rBecFxAAfADMARwAfQA4dBAQlJUMUDQ0vLzkDcgArMhEzETMvMxEzETMwMQEzFAYjIiYmNTU0NjYzMhYVIzQmIyIGBhUVFBYWMzI2JRQeAjMyPgI1NC4CIyIOAgc0EjYkMzIEFhIVFAIGBCMiJCYCA86Ss5lqm1VVm2qZtJJfXEJaLi5aQlxe/QFcpNh7e9ejXFyj13t72KRcc27EAQGTkwEBw25uw/7/k5P+/8RuAladnWKuc3NzrmKcnWNWQnVLdEx1QlbnheasYGCs5oWG5KtfX6vkhp8BEMtxccv+8J+f/vDNcnLNARAAAAIAkwK0AxAFxQAXADEAGrUxGhoNFiq4AQCyCA0DAD8zGtzEEjkvMzAxARE0JiYjIgYVJzQ2NjMyFhYVERQWFyMmExcjIgYGFRQWMzI2NjUXDgIjIiY1NDY2MwJTGzcqRU+hTYtdVoFIDA6lGCgBlTxPJj1AK1c6Eg8/Y0R4gUuXcQNeAVQrPB81NA1EaTw+elz+xjFYLEsBcG8gNCArMic4GXAgRC17Z0pnNv//AGUAlgNlA7IAJgGS+f0ABwGSAUT//QACAH8BeAO+AyEAAwAHABK2BgcDBgICAwAvMxEzEjkvMDEBFSE1BREjEQO+/MEDP7kDIaKiS/6iAV4ABABb/+sF5gXEAB4ALwBDAFcANUAbHxsYIAQCAgEBDykNDTU1UwwPD0lTE3I/SQNyACsyKxI5LzMRMxEzLzMSOX0vMxIXOTAxASMnMz4CNTQmJiMjESMRITIWFhUUBgYHIgYjDgIjNzIWFRUUFhcVIyYmNTU0JiUUHgIzMj4CNTQuAiMiDgIHNBI2JDMyBBYSFRQCBgQjIiQmAgM72gLLKkktIk9EiI0BFWOQTjJgRQMHAxEJCR4Um3EICZEKA0P9TVyk2Ht716NcXKPXe3vYpFxzbsQBAZOTAQHDbm7D/v+Tk/7/xG4Cj4ABHDUnMjoa/S8DUDhxVjZWPhMNCgkCWoNkNiVDFxAaYBY0SUVKheasYGCs5oWG5KtfX6vkhp8BEMtxccv+8J+f/vDNcnLNARAAAQCPBRcDLgWlAAMACLEDAgAvMzAxARUhNQMu/WEFpY6OAAIAgwPAAn0FxQAPABsAD7UTDMAZBAMAPzMazDIwMRM0NjYzMhYWFRQGBiMiJiY3FBYzMjY1NCYjIgaDRnRFRXJERHJFRXRGfE02NklJNjZNBMFHdkdHdkdHdUVFdUc3Sko3OExMAAMAYQABA/UE8wADAAcACwAStwsCAwMEChJyACsvOS8zMjAxARUhNQERIxEBFSE1A/X8bAIppwHo/L0DV5iYAZz8LgPS+6WXlwAAAQBCApsCqwW7ABwAE7EcArgBALMLEwNyACsyGswyMDEBFSE1AT4CNTQmIyIGFSM0NjYzMhYWFRQGBgcHAqv9qgEgLTQXQDtLR55Ihl5agEQvVjuvAxuAbAEPKkI1FjA+TDlIdkc6aUk1XFw1kgACAD8CkAKbBbsAGQAzACxADBwYAAAaGhAsKSkkELgBALULCwgQA3IAKzIyLxoQzDIvMhE5LzMSOTkwMQEzMjY2NTQmIyIGFSM0NjYzMhYWFRQGBiMjFTUzMhYWFRQGBiMiJiY1MxQWMzI2NTQmJiMBClQxQCFARTlLnUyCUFeESkF7WG9vZIA+UItXS4lWnVBCRkknRzEEZhwxICw8MitEYzYzZEk1WTUlTjBaQEloNjFoUS09PjEqMxcAAAEAewTaAhwGAAADAAqyAYAAAC8azTAxExMzAXvC3/70BNoBJv7aAAADAJv+YAPuBDoABAAaAB4AGUAMHQUAFgsTcgMSchwAAC8yKysyETkvMDEBMxEjJzc3FA4CIyImJicDMxQeAjMyPgIBMxEjAzW5pxIhRSlWhl5Md1UcJXQiPVAuWXNAGv1FuLgEOvvG+v0CcsCOTidVRAEhZ4JGGjdkiAKU+iYAAAEARAAAA0EFsAAMAA62AwsCcgAScgArK80wMSEjESMiJiY1NDY2MyEDQbpXn9xxcdyfARECCHnUh4bUegAAAQCUAmwBeQNJAAsACLEDCQAvMzAxEzQ2MzIWFRQGIyImlDo4ODs7ODg6AtkvQUEvLj8/AAEAdP5NAaoAAAATABG2CwqAEwIAEgA/MjIazDIwMTMzBxYWFRQOAiMnMjY2NTQmJieYhQw6XydMcUsHLkstIkc4NQpMVy9NNx5rFCwjISYTBAABAHsCmwHvBbAABgAKswYCcgEALyswMQERIxEHNSUB75zYAWIFsPzrAlk5gXQAAgB7ArMDJwXFABEAIwAQthcOIAUDcg4ALysyETMwMRM1NDY2MzIWFhUVFAYGIyImJjcVFBYWMzI2NjU1NCYmIyIGBntUmWlqmVNTmGlqmlSjJ1E9PE8nKE89PFAnBBNRZ59bW59nUWefWlqfuFE9YDg4YD1RPGA4OGAA//8AZwCZA3kDtQAmAZMNAAAHAZMBagAA//8AVQAABZIFrQAnAeD/2gKYACcBlAEYAAgABwI6AtYAAP//AFAAAAXJBa0AJwGUAOwACAAnAeD/1QKYAAcB3wMeAAD//wBwAAAF7gW7ACcBlAGXAAgAJwI6AzIAAAAHAjkAMQKbAAIARP5+A3kETgAhAC0AGEAKAAAlJSsQERENFgAvMzMvPzMvMy8wMQEzDgIHDgIVFBYWMzI2NjUzDgIjIiYmNTQ2Njc+AhMUBiMiJjU0NjMyFgGTugEhST4qTDA0ZEg7ZkG5AW25dIK3YUlwPCQnD8I4NTY4ODY1OAKoYHdkQy1UZEVJZDMsW0VxpVhaqnhbm4U6I01YAW4sPj4sLD09AAAG//EAAAdYBbAABAAIAAwAEAAUABgAMUAYABcXCAcUEwcTBxMCDQMYAnIMCwsOAghyACsyMhEzKzIyETk5Ly8RMxEzMhEzMDEBASMBMxMVITUBFSE1AxMjAwEVITUBFSE1A8r9CuMDcXeC/RkF5P0jGj26PQMi/YoCx/0kBRv65QWw/GCvr/6ImJgFGPpQBbD9kpiYAm6YmAAAAgBZAM4D3gRkAAMABwAMswQGAgAALy8zMjAxNycBFwMBNwHQdwMLd3T89XcDC857Axt8/OYDGnz85QAAAwB3/6MFHQXsAAMAGwAzABdACwEALwojFgNyCglyACsrMhEzMjMwMQEBIwETFRQCBgYjIi4DNTU0EjY2MzIeAwc1NC4DIyIOAhUVFB4DMzI+AgUd/BaPA+15UprXhWe0kWg3VZzXgWq1kGU2vyJCYHxLWpFnOCRFYXpIXpJlNAXs+bcGSf0aXKT+/LZgPner24NcpAEDt2A+d6vb315oqYJYLUaIyIJeaaqDWC1GickAAAIApwAABF0FsAADABkAHUAODw4OAxkEBAMAAnIDCHIAKysROS8zETkvMzAxEzMRIxMhMhYWFRQGBiMhNSEyNjY1NCYmIyGnubldAXKe2XBw2Z7+wQE/bIU9PYVs/ugFsPpQBItuwHt6wG6XT3xERn5QAAEAjP/sBGoGEgA5ABlADSMbNggCCnIIAXIbC3IAKysrETMRMzAxAREjETQ+AjMyFhYVFA4CFRQeAxUUBgYjIiYmJzcWFjMyNjY1NC4DNTQ+AjU0JiYjIgYGAUS4OWiQWG2pYicyJ0ZoaUZjrnA2eGMaKiOFRk5hLEZoaUYqNioyVjdFYjQEWPuoBFhupW84SJV0UGtRTjM3V1Back1ylkkVIRKbFjYwUDE5V1FadlE8XFFZOUNZLj6BAAMAT//rBn0ETwAUADIAXgA3QBxXMzMyF0ZFFCUAAykXRRdFDx8pC3JMPj4FDwdyACsyMhEzKzISOTkvLxIXOREzETMyETMwMSURNCYmIyIGBhUnND4CMzIWFhURAxUhIgYGFRQWFjMyPgI3Fw4CIyImJjU0PgIzASIuAjU1ND4CFzIeAhUVITUhNTQmJiMiDgIVFRQeAjMyNjcXDgIC7TFgRUpuPLg+cZ1gdrFji/77V3Y8LVtGNnFfOwFgG3W3f3KfUjlxqG4C4Hu8gEJFfahjbKVwOfzcAmoycF5FakkmJlB9V3eSMkEWYZq3AhlIZzc0VjQSRnZYMFaqgP4MAaKMN1k0ME0tKUFIH5AxZENQk2JPe1Ut/W9QkcZ2LHfFkE8BQ3+0cHaOH0x+TTxqjFAsUY1rPEkiiBE7LwACAH7/7AQuBi0ANAA4ABlACzYgFhYBKgwLcjgBAC8zKzISOS8zMzAxEzcWBBYSFRUUDgIjIi4CNTQ+AjMyFhYVJzQuAiMiDgIVFB4CMzI+AjU1NAImJiUBJwH/OakBFsptRX6rZmmvf0VDeaNhcbVqRSRHbEhJck4pJ0ttR0FmSSZjr+MCXf3nSQIZBY2gJqTz/sa9YnvMlFBLhrFmdLuHSGunWwEhSkEoMl2EUz53YTo9bZNWZLABCL57Hf6SZAFtAAMARwCsBC0EugADAA8AGwATtxkTAgcNAwISAD/dxjIQxjIwMQEVITUBNDYzMhYVFAYjIiYRNDYzMhYVFAYjIiYELfwaAYc6ODg7Ozg4Ojo4ODs7ODg6AxC4uAE6MEBAMC4/P/z+L0FBLy5AQAAAAwBc/3kENAS5AAMAGQAvABlADCABARULcisAAAoHcgArMi8yKzIvMjAxAQEjAQE1ND4CMzIeAhUVFA4CIyIuAjcVFB4CMzI+AjU1NC4CIyIOAgPX/Wl7Apf9AESAtnFyt4BERIC1cnK2gUS5Jk10TUxzTCcnTXNNTHNNJgS5+sAFQP1YF3XJlVNTlcl1F3XIlVNTlciMF1GPbj8/bo9RF1CPb0BAb48AAwCV/mAEKAYAAAMAGQAvABtADysKIBUHcgoLcgMAcgIOcgArKysrMhEzMDEBESMRARUUDgIjIi4CJzU+AzMyHgIHNTQuAiMiDgIHER4DMzI+AgFPugOTOGucZWeebkEMDEJtnGZmnmw3uiJHbkxGZ0gtCw8vR2VFS21HIgYA+GAHoPwmFXbJlFJEgrZycHi+h0dPksuRFVGPbT8wUWc3/v01YEssP26PAAAEAF//7AStBgAABAAaAC8AMwAdQA8hBAQWC3IzMisLB3IBAHIAKysyzjIrMi8yMDElETMRIwE1ND4CMzIeAhcVDgMjIi4CNxUUHgIzMjY2NzUuAyMiDgIBFSE1Aze6qv0YPXGdYWaZaz4MCz9rmmdfnXE9uiFGbEtcd0gUDC1HZ0ZMbUYhA5T9g9IFLvoAAhEVfMuST0eHvnhcd76GR1KUyYsVUY5sPU6AS/E3Z1EwP22PAvKYmAAABAAeAAAFiQWwAAMABwALAA8AH0APAwKABwYGCgwLAnINCghyACsyKzIROS8zGswyMDEBFSE1ARUhNRMRIxEhESMRBYn6lQQ8/OwewARfwQSPj4/+r52dAnL6UAWw+lAFsAABAJwAAAFVBDoAAwAMtQMGcgIKcgArKzAxAREjEQFVuQQ6+8YEOgAAAwCbAAAEQAQ6AAMACQANAB9ADwwHBwsGBgIJAwZyCgIKcgArMisyETkvMzMRMzAxAREjESEBIyczARMBNwEBVLkDgf3p7xy2AYwa/lF3AiIEOvvGBDr9lKIByvvGAeqG/ZAAAAMAIwAABBwFsAADAAcACwAbQA0CCgAHBgYKCwJyCghyACsrETMRMzIRMzAxARUFNQEVITUTESMRAnD9swP5/ScmwAOgfbt9/bidnQUT+lAFsAACACMAAAILBgAAAwAHABNACQIGAAcAcgYKcgArKzIRMzAxARUFNQERIxECC/4YAUm5A6J6u3oDGfoABgAAAAMAov5LBPEFsAADAAcAGQAdQA4VDgYHBwMIcgkFBAACcgArMjIyKzIRMy8zMDETMxEjEzcBBxEzERQGBiMiJic3FhYzMjY2NaLBwTqHA1SHwU+SZh82Hg4RQg8sPSAFsPpQBT5y+sJyBbD5/HKdUgcKmgYHL1c9AAIAkv5LA/EETgAEACoAGUAOHBUPciYLB3IDBnICCnIAKysrMisyMDEBESMRMwMHND4CMzIeAhURFAYGIyImJzcWFjMyNjY1ETQuAiMiDgIBS7mmJio4aplgVIhfM02RZR81Hg4QRg4sPSEfPVc5U3dMJANT/K0EOv4GAnPBjk4wZaBv/P1wnFAHCp0GBipTPQMAS2c9HDpmhgAFAGn/6wcJBcUAIwAnACsALwAzADNAGi8uLiYyKDMCciknJghyFRISFhkJBAcHAwADAD8yMhEzPzMzETMrMjIrMjIROS8zMDEBMhYXFSYmIyIOAhURFB4CMzI2NxUGBiMiLgI1ETQ+AgEVITUTESMRARUhNQEVITUClE2WQ0KVT1WJYTM0YolVTpVBQ5RNfM2UUFCTzATx/P0nwQM3/WMC+f0HBcUNCJ4MDzlwpW3+zm2mcTkPDJ4HDlef24QBMITbn1f62J2dBRP6UAWw/Y6dnQJynp4AAwBh/+sHAARPACoAQABWACdAEyQAAEc8ExISPFIZCwsxB3I8C3IAKysyETMyETkvMxEzMxEzMDEFIi4CNTU0PgIXMh4CFRUhNSE1NCYmIyIOAhUVFB4CMzI2NxcGBgE1ND4CMzIeAhUVFA4CIyIuAjcVFB4CMzI+AjU1NC4CIyIOAgVjcLWARUuBp1twpm02/OcCYDZxWT1lSigmTXJLbpUySTG6+mtCfbJxc7R9QUF9s3Jys31CuiRJcE1NcEkkJEpxTUxwSSMVUJHGdix3xZBPAUeBsGp6lxpJfU08aoxQLFGNazw/LX4wVgImF3XJlVNTlcl1F3XJlVNTlcmMF1GPbz8/b49RF1CPb0BAb48AAAEAoQAAAoMGFQARAA62DQYBcgEKcgArKzIwMSEjETQ2NjMyFhcHJiYjIgYGFQFauVKXaSVGJRgRLR07USoErHWhUwwJjgUGMl1CAAABAF7/7AUSBcQALAAbQA0PAAYJCQAaIgNyAAlyACsrMhE5LzMRMzAxBSIuAjU1IRUhFRQeAjMyPgI1NTQuAiMiBgcnPgIzMhYWEhUVFAIGBgK5lOKYTQQ+/IMrYJ1yYphpNjVwsHyCsDsvGGqnc5/1p1ZdpdoUXK71mHyVIl2ieUVUlcRwXnHElVQ4HI8QMCVnu/7/m16b/v+7ZQAB/+P+SwK9BhUAJwApQBUUAgIVJwZyHyIiHhsBcgsODgoHD3IAKzIyETMrMjIRMysyMhEzMDEBFSMRFAYGIyImJzcWFjMyNjY1ESM1MzU0NjYzMhYXByYmIyIGBhUVAmDLTZBlHzQdDg9FDis9IaurUZhpJEckFhMzHTtOJgQ6jvv7cJxQBwqUBgcvWD0EBY5ydaFTDAmSBQUvW0JyAAMAZv/sBZ0GOAAJACEAOQAdQA4FBgYpKQAAHANyNRAJcgArMisyLzIROREzMDEBMxQGBiM1MjY2ExUUAgYGIyIuAzU1NBI2NjMyHgMHNTQuAyMiDgIVFRQeAzMyPgIE9qdUqX9PXSkDUprXhWe0kWg3VZzXgWq2j2Y1vyJCYHxLWZFoOCRFYXtHXpJlNAY4gbZfh0B6/SNcpP78tmA+d6vbg1ykAQO3YD53q9vfXmipglgtRojIgl5pqoNYLUaJyQAAAwBc/+wEugSxAAkAHwA1ABVACiYbC3IxAAAQB3IAKzIvMisyMDEBMxQGBiM1MjY2ATU0PgIzMh4CFRUUDgIjIi4CNxUUHgIzMj4CNTU0LgIjIg4CBCWVPIx4S0kX/DdEgLZxcreARESAtXJytoFEuSZNdE1Mc0wnJ01zTUxzTSYEsW6fVnQ8bP2nF3XJlVNTlcl1F3XIlVNTlciMF1GPbj8/bo9RF1CPb0BAb48AAgCM/+wGHQYCAAkAHwAZQAwFCgoAABUCchsQCXIAKzIrMi8yETMwMQEzFAYGIzUyNjYlMxEUBgYjIiYmNREzERQWFjMyNjY1BX+eU7eXZnEs/mvAkvGNlO+Lv1SXZGWXVAYCjcBih0OED/wnpNptbdqkA9n8J3KUSEiUcgAAAwCJ/+wFEASRAAkADgAlAB1ADgULCwAAGwZyIg4OFQtyACsyLzIrMi8yETMwMQEzFAYGIzUyNjYBETMRIxM3FA4CIyIuAjURMxEUHgIzMjY2BIKOOY6BWk4S/qG6sRpNLWSidE+DXjO5ITlHJnaKPQSRbZRKci1g/LUDQPvGAd4CbLeGSy5gmmwCuv1ESV83FlubAAH/tP5LAWYEOgARAA62DQYPcgEGcgArKzIwMRMzERQGBiMiJic3FhYzMjY2Na25TZBlHzQdDg9FDis9IQQ6+21wnFAHCpQGBy9YPQABAGP/7APqBFAAKgAZQAwRFBQAGQsLciQAB3IAKzIrMhI5LzMwMQEyHgIVFRQOAiciLgI1NSEVIRUUFhYzMj4CNTU0LgIjIgYHJzY2AgBwtYBFS4KmW3CmbTYDGf2gNnJYPGVKKSdMckttljJJMrkEUFCRxnYsdsaQTwFHgbBqepgZSH5OPGqNUCxQjWs9Py1+MFYAAQCqBOUDBwYAAAgAFLcHBQUEAQOACAAvGs0yOTIRMzAxARMVIycHIzUTAg/4mpaVmPUGAP7vCqmpCwEQAAABAI4E4wL4Bf8ACAAStgEGgAcEAgAALzIyMhrNOTAxARc3MxUDIwM1ASqXl6D+cvoF/6qqCv7uARIKAP//AI8FFwMuBaUCBgBwAAAAAQCCBMwC2AXXAA4AELUBAQmADAUALzMazDIvMDEBMxQGBiMiJjUzFBYzMjYCQpZIhlyLoZZEUlBEBddOeUSVdjtaWgABAI4E7wFpBcIACwAJsgMJEAA/MzAxEzQ2MzIWFRQGIyImjjc2NTk5NTY3BVgsPj4sLD09AAACAHkEtQInBlEADQAZAA60FwSAEQsALzMazDIwMRM0NjYzMhYVFAYGIyImNxQWMzI2NTQmIyIGeTlhPVt8OWE9W3xjQTMzQUEzM0EFgTpeOHpWOl01dFgsR0UuL0dHAAABADL+TgGTADkAFQAOtAgPgAEAAC8yGswyMDElFw4CFRQWMzI2NxcGBiMiJjU0NjYBNEorTjIjKyE0Dw4ZTTtRbzVyOTkgRU0sISgTCHoPHWFeNmpiAAEAewTaAz8F6AAZACdAEwAAAQEKEkAPGkgSBYANDQ4OFwUALzMzLzMvGhDNKzIyLzMvMDEBFxQGBiMiLgIjIgYVJzQ2NjMyHgIzMjYCwn06YT0zQjQ5Kio5fTliPCtBOj4oKjoF6AtJbjwdJR1ALwZJbz8dJR1BAAIAXwTQAywF/wADAAcADrQBBYAABAAvMxrNMjAxARMzASETMwMBd+bP/vT+P6rG2gTQAS/+0QEv/tEAAAIAf/5qAdb/tAALABcADrQPCYAVAwAvMxrMMjAxFzQ2MzIWFRQGIyImNxQWMzI2NTQmIyIGf2dHRWRkRUdnVzMkIjExIiQz80leXklJWlpJIjEwIyUyMgAB/KcE2v5HBgAAAwAKsgOAAgAvGs0wMQETIwH9hsGe/v4GAP7aASYAAf1uBNr/DwYAAAMACrIBgAAALxrNMDEBEzMB/W7C3/70BNoBJv7a///8igTa/04F6AAHAKX8DwAAAAH9XQTa/pMGdAAUABC1FAIAgAsMAC8zGswyMjAxASMnPgI1NC4CIzcyHgIVFAYH/fiFATNAHhouPCIHSnFNJ2A6BNqYAw8fGhUdEwhqGjJFKkxFCAAAAvwnBOT/BgXuAAMABwAOtAcDgAQAAC8yGs0yMDEBIwEzASMDM/4Bqf7P4QH+lvbPBOQBCv72AQoAAAH9OP6i/hP/dQALAAixAwkALzMwMQU0NjMyFhUUBiMiJv04NzY1OTk1Njf2LT4+LSs9PQABALgE7wGcBj8AAwAKsgCAAQAvGs0wMRMTMwO4Nq50BO8BUP6wAAMAcgTxA4MGiQADAA8AGwAZQAoTGRkNAYAAAAcNAC8zMy8azREzETMwMQETMwMFNDYzMhYVFAYjIiYlNDYzMhYVFAYjIiYBsTC8ZP45NzY1OTk1NjcCNjg1Njg4NjU4BYEBCP74Ji0+Pi0rPT0pLT4+LSs9Pf//AJQCbAF5A0kCBgB4AAAAAQCyAAAEMAWwAAUADrYCBQJyBAhyACsrMjAxARUhESMRBDD9QsAFsJ767gWwAAMAIAAABXQFsAAEAAkADQAbQA0GAgcDAnINDAwFAhJyACsyMhEzKzISOTAxAQEjATMBATczAScVITUDAv3kxgJmeQGv/gIGegJEmPvWBSj62AWw+lAFMID6UJ2dnQADAGf/7AT6BcQAAwAbADMAG0ANLwoDAgIKIxYDcgoJcgArKzIROS8zETMwMQEVITUFFRQCBgYjIi4DNTU0EjY2MzIeAwc1NC4DIyIOAhUVFB4DMzI+AgPA/fwDPlKa14VntJFoN1Wc14Fqto9mNb8iQmB8S1mRaDgkRWF7R16SZTQDK5eXJVyk/vy2YD53q9uDXKQBA7dgPner299eaKmCWC1GiMiCXmmqg1gtRonJAAIAMgAABQMFsAAEAAkAF0ALBgACBwMCcgUCCHIAKzIrMhI5OTAxAQEjATMBATczAQLK/jfPAhN+AXL+Mwp/AhIFEfrvBbD6UAUXmfpQAAMAeAAABCIFsAADAAcACwAbQA0BAAUEBAAICQJyAAhyACsrMhE5LzMRMzAxMzUhFQE1IRUBNSEVeAOq/K0C8vy7A5WdnQKinZ0CcJ6eAAEAsgAABQEFsAAHABNACQIGBAcCcgYIcgArKzIRMzAxAREjESERIxEFAcD9MsEFsPpQBRL67gWwAAADAEYAAAREBbAAAwAHABAAIUAQDgYGBwcPAnIMAwMCAgsIcgArMhEzETMrMhEzETMwMSUVITUBFSE1ARUBIzUBATUzBET8TQOD/GACf/3HdAHh/h90np6eBRKenv02GP0yjwJLAkePAAMATgAABXQFsAATACcAKwAhQBAUFRUBACkIch8eHgoLKAJyACvNMjIRMyvNMjIRMzAxJSMiLgI1NDYkMzMyHgIVFAYEJTMyNjY1NC4CIyMiBgYVFB4CAREjEQMyo4LUmVKSAQGprH/SmVSQ/vz+r6WDqlQwX49frn+qVS9gkgEVwbBPkcl5oviMT5PIeqL3i59gr3ZZj2Y3Ya93WI9mNgRh+lAFsAACAFoAAAUiBbAAGQAdABlADBQHBw0cCHIdAQ0CcgArMjIrETkRMzAxATMRFAYEIyMiLgI1ETMRFB4CMzMyNjY1AREjEQRgwp3+7q8df9ieWMA7apJXHXu5Z/63wQWw/fK3/4VLktWJAg798mOaajZguYQCDvpQBbAAAAMAcgAABMwFxAAtADEANQAlQBIoEhIvKSk0EREzLjIScgYdA3IAKzIrMjIyETMzETMyETMwMQE1NC4CIyIOAhUVFB4CFxUuAzU1ND4CMzIeAhUVFA4CBzU+AwE1IRUhNSEVBAkyYIZUU4VeMitQb0NstYVKUJTLfH3NlFFJhLNqQm1OKv7ZAeP7sQHsAtZ0dbJ5PT15snV0gMaNUw2NDX/F8H9yjumpXFyp6Y5yfvDFfw6NDlONxv2pnZ2dnQADAGT/6wR4BE4AFgAsAEEAGkANLgY0OzsdEgtyKAYHcgArMisyMhEzPzAxEzU0PgIzMh4DFxUOAyMiLgI3FRQeAjMyPgI3NS4DIyIOAgEzERQeAjMyNjcXBgYjIi4CNRFkOGueZk59YEQqCQs8ZpRjZJ1sOLogQ2tLSWhHLxAMLUlqSUxrRCACNJ0MFx0QChEHFx88IC9KNBsB9RWA1JtVLll/omFTeL+ISE2Mv4cVTYZmOTxnhEdCSYpvQUR2mwHZ/O0uOiENBAKKFgwjS3lVAigAAAIAof6ABE4FxAAcADoAHkAONQAmJyccHDAdAxMJC3IAKzI/MzkvMxI5OS8wMQEzMhYWFRQGBiMiLgI1NxQWFjMyNjY1NCYmIyMTMhYWFRQGBiMjNTMyNjY1NCYmIyIGBhURIxE0NjYCBZOLw2h1zYROmX5LSVaZZVyAQztyU49ZgsBpasCBWVVYbDI2a1FJdkW5esoDOGm0co7HaCxbkGMpSXpJS4NURoNUAwJksXNfnV54O2hDPGxEQXJI+k8FsW+3bQADAC/+XwPgBDoAAwAIAA0AGUAOCAwDBAoFAQUNBnIBDnIAKysyEhc5MDElESMRNwEzASMDARcjAQJkuVcBIL7+b3voASgpe/5thP3bAiV3Az/7xgQ6/MD6BDoAAAIAYf/sBCgGHQAsAEIAGUANFCg+AwQzHgtyCwQBcgArMisyEhc5MDETNDY2MzIWFwcmJiMiBgYVFB4CFx4CFRUUDgIjIi4CNTU0NjY3Jy4CExUUHgIzMj4CNTU0LgInIg4C3Vypdk9+QwEuk1I5VC4UMlpHj7xdQX2zcXO0fUFcl1gBQV0wPiRJcU1Mb0kjKk5rQkxySiUE9VuFSBsdnxEqIT0pFC4wMRgxndeHFnHBj1BQj8FxFnfCghUFGlBo/VkWTYhpPDxpiE0WQHxqSQ09aokAAgBk/+wD7ARNAB8APwAfQA8AIT4+AwMWNSsHcgwWC3IAKzIrMhI5LzMSOTkwMQEzFSMiBgYVFB4CMzI2NjUzFA4CIyIuAjU0PgIFIyIuAjU0PgIzMh4CFSM0JiYjIgYGFRQeAjMzAg3czVNxOiNFYz9ReEO4ToKhU2KlekM5bZ4BQdxclms5PXKgYlmceUS4Q3FGVW41GzhaP80CS2wlTT0jPzAcNlcxWIFTKCxUeUxEaUglRipLYjdNdU8pLFR2SjBNLS9LKiM7KxgAAgBt/oADxAWwACgALAAVQAkVAiwsKSkAAnIAKzIvMxEzLzAxATMVAQ4CFRQeAhcXHgIVFAYGByc+AjU0JiYnJy4DNTQ2NjcBIRUhA3BU/qFNazcSJj0qgkp1QztRJGIfKxcgQzZaV3dKITh7ZP6aAx384wWweP5WXKKoZjBGMyIMJhUnT1I1c2MdVSM8OR4XJiAOGBc+VnVPSsDedwHUlwAAAgCS/mED8QROAAQAHAAXQAwYCwMGcgIKcgsHchEALysrKxEzMDEBESMRMwMHND4CMzIeAhURIxE0LgIjIg4CAUu5phNOOm+fZFSIXzO5Hz1XOU9wRyEDU/ytBDr+BgJzwY5OKF6ddfurBFJKZDsaO2iHAAADAHv/7AQSBcQAGQAnADYAHUAQDShqMCBqMDANABpqAA0LcgArLysSOS8rKzAxATIeAxUVFA4DIyIuAzU1ND4DFyIOAhUVITU0LgMDMj4DNTUhFRQeAwJGVY5xTykpTnCOVVSOcVAqKk9wjlRCZ0UkAiUXLENXNDZXQiwW/dsXLkNXBcQxZZvTh7mH1J5oMzNontSHuYfTm2Uxlz54rnE3N1qUck0o+1cqUHWWWicnWpZ1UCoAAAEAw//zAkwEOgARAA62Bg0LcgAGcgArKzIwMRMzERQWFjMyNjcXBgYjIiYmNcO6IjYfFzMNARZHMkRyRAQ6/No3OBMJA5YHDjd/bAACACb/7wQ7Be4ABAAmAB5AEAAbBAMEAiAFAHIPFhYCCnIAKzIvMysyEhc5MDEBASMBFwEyHgIXAR4CMzI2NxcGBiMiJiYnAQMuAiMiBgcnNjYCG/7YzQGlgv65OFI7KA4Bqw4cIhgJFQcGCysXPVdCIf7Odg8hKx4IHgkBDzwDJ/zZBE4MAawYLkAo+6ohJxEBAZgECB1XVwMYAR8mLBMBAY4FBwAAAgBm/nYDqgXEAB4ARgAZQAsfEQ8PISEzBRsDcgArMi85LzMSOTkwMQEHLgIjIgYGFRQeAjMzFSMiLgI1ND4CMzIWFgMzFSMiBgYVFBYWFxceAhUOAgcnPgI1NCYmJycuAzU0PgIDjRolS00oaYY/JU58V42Rc7qGSESAsm8vXlXMkY18r1xQgElvUnM+ATtRI2seMBwfQzg6Y6R3QVSZ0QWdlAoQCjVVMjFROh90M1p4RlJ/WC4KEv3GcEWPbll6SRIaFC5QRzVxYh1VIzY6JxojGw0OF0JlmnBqoG03AAADACn/8wSlBDoAAwAHABkAGUANDhULcgYKcgkHAgMGcgArMjIyKysyMDEBFSE1IREjESEzERQWFjMyNjcXBgYjIiYmNQRx+7gBY7oCSroiNh8XMw0BFkcyRHJEBDqZmfvGBDr82jc4EwkDlgcON39sAAABAJL+YAQgBE4ALwAXQAweKQYRC3IGB3IADnIAKysrETMyMDETETQ+AjMyHgIVFRQOAiMiLgInHgIxHgIzMj4CNTU0LgIjIg4CFQOSRnyhW3StdTo2aptkaJ5uQQsCLCwUR3hbS2xFIR5CakxGYz4dAf5gA+OBw4RDVZvUgBVyv4xMRIG2cwElJEZ7Szllhk0VV5t2REVwgz38HwABAGX+igPiBE4ALQAOtRsJBQAHcgArzDMvMDEBMhYWFSM0JiYjIg4CFRUUFhYXHgIVDgIHJz4CNTQmJicuAjU1ND4CAj55vm2wNm1RTG1FIU+edk99SQE6USNiHyoWIEQ3ndhwP3mwBE5cr31DbUBDcYlHKlqPaCAVLVVSNHJhHVQjNjgnHiYaDCOJ0IwqbcOWVgAAAwBh/+wEfAQ6ABgALgAyABNACSoGMgZyHxQLcgArMisyMjAxEzU0PgIzHgIXHgIVFRQOAiMiLgI3FRQeAjMyPgI1NTQuAiMiDgIBFSE1YUF9s3EfMj8zXIJEQX2zcnKzfkG5JElxTU1wSCQkSXFNTHFIJANi/cYCERdxwZBQAyUtDiuLtGsWZLiQVFOVyIwXUY9uPz9uj1EXS4hqPDxqiAHHmZkAAAIAUf/sA9oEOgADABUAFUAKBQoRAgMGchELcgArKzIRMzIwMQEVITUhMxEUFhYzMjY3FwYGIyImJjUD2vx3AVy5HTAcHDARKS5YL0xtOgQ6lpb81DY6FRAKgyETPIRsAAEAkP/rA/cEOgAeABNACRAHGQAGchkLcgArKxEzMjAxEzMRFB4CMzI+AjUmAiczHgIVFA4CIyIuAjWQuR43SitKb0smAkYzwx40IDl2snpbk2c3BDr9cFBxRiBLfplNiAEFez6cvXBz06NfNW2qdQABAFj+IgVMBDoALwAZQAwrBQUZGAZyIg8LcgAALysyKzIyETMwMQERNDY2MzIeAhUUDgIjIi4CNTQ2NjcXDgIHFB4CMzI2NjUuAyMiBhURAm0/cUtjr4ZMRpn1r6vulEQ6clRkO0ojAy5mqXupyFkBKEtuSSAi/iIFNUZlOFCRxXRvy59cX6TTc3DAnTmENICKRE6Zfkx9vmJJim5BKhr6xAACAGD+JwVDBDoAHgAiABVACiEHGQtyIBAABnIAKzIyKzIvMDETMxEUHgIzMj4CNSYCJzMeAhUUDgIjIi4CNQEzESNguUBzmlqAsGowA0c1wx81IUOU87CN5KJWAgS5uQQ6/hh/sW0yTICbToYBAno9m7tvddSlX0iW6qEB5vntAAIAev/rBhoEOgAeAD8AGUAMARcKCik2HwZyNgtyACsrETMzETMyMDEBMx4CFRQOAiMiLgI1ETMRFB4CMzI+AjUmAiUzBgIHFB4DMzI+AjURMxEUDgIjIi4DNTQ2NgTQwiQ+JitdmGxWhl0wgiE8US88VDQYA1H79sI8UQMPIDNJMDBRPCGCMF2GVleDXTobJj4EOj+cvXFz0qNeQX64dwEp/tVdgVElRHebWIgBBXx8/vuIRoBrUSwlUYFdASv+13e4fkE9bpOsXHG9nAAAAQB6/+sEegXHADgAHUANHR4XNgQEDSMXC3ItDQAvMysyETkvMxDMMjAxARcGBiMiJCY1NTQ2NjMyHgIVERQGBiMiLgI1ETcRFBYWMzI2NjURNC4CIyIGBhUVFBYWMzI2BHIIK201uf7ulleWYE59WC5swYJlpXdAuUB2Uk5uOxMnOSYqQydhvYozZwMJlRAUiu6UEG6bUjFgi1n9YpTMaUB4qGkBTQL+sV6GR0CFZgKeOFE1GSVTRRJhpmUQAAP/2gAABG8FvQADABYAKQAeQA4QCQkfJgNyGhgWAwMCEgA/MxEzMzMrMjIRMzAxAREjETcTPgIzMhYXByYmIyIGBgcBJwMTFwcBLgIjIgYHJzY2MzIWFgKEwFvmIUVTNCM7HyUEHxAVJiAP/smGqeYrhv7KDiIlFRAgBSMfOyIyVEoCr/1RAq9KAghKUSEMD5gEBQ4jHv1aAgLi/fDSAgKmHiMOBQSXDw0eUQADAEv/6wYbBDoAAwAkAEUAIUAQJgUDHA8vPAtyPA8CAwZyDwAvKzIROSsyETMRMzMwMQEVITUhMx4CFRQOAyMiLgI1NTMVFB4CMzI+AzUmAiUzBgIHFB4DMzI+AjU1MxUUDgIjIi4DNTQ2NgYb+jAEPsMkPSYZNFV2T1aGXDCCITxQMCg8KxsNBFH8QcM8UgMNGys8KDBQPCGCMF2GVk53VDUZJj8EOpiYP5y9cVysk249QX64d/n7XYFRJSxQbIBGiAEFfHz++4hGgGtRLCVRgV37+Xe4fkE9bpOsXHG9nAAAAwAr//QFsgWwABsAHwAjACFAER8jGAUFDiIjHghyIwJyDglyACsrKxEzEjkvMxEzMDEBNT4CMzIWFhUUDgIjJzI+AjU0JiYjIgYGExEjESEVITUCPTaEgjKi6H0/fLt8AlZ2RyBKkWw/fnkWwALL+5YCiqcVIhRrzZNopXM9lypObEFfgkQSIQMO+lAFsJ6eAAACAHv/7ATdBcQAAwAsAB1ADgMCAgkdGRQDcikECQlyACvMMyvMMxI5LzMwMQEVITUBMw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgMzMjY2A3b9qwL6wg+B6q6B0pZRUZnZiKXjgA/BDkyMcGGTYzIdOlp5TnqSSwMunZ3+oYraf2Cx+ZmQmfqyYHzbkGaTUEqJvnSSVpuCXzRNkgAAAwAyAAAIOwWwABEAFQAuACdAEyQhIQkuFhYACgkIchQVFSMAAnIAKzIyETMrMhI5LzMRMxEzMDEBMwMOBCMjNTc+BDcBFSE1ASEyFhYVFA4CIyERMxEhMjY2NTQmJiMhAXfAIQchPGCLYTQoOFE5JBUGAu79cAMIAY2g23JAfrd4/eDBAV9rhT4+hWv+cwWw/Tea8bFzOJ0DBCtYjMuIAqqenv3MdMqBYKJ5QgWw+u1UhUlJg1MAAAMAsgAACE0FsAADAAcAIAAjQBEIICADAgIGFQcCchYTEwYIcgArMhEzKzIROS8zMy8zMDEBFSE1ExEjEQEhMhYWFRQOAiMhETMRITI2NjU0JiYjIQRb/PkfwQQhAY2g23JAfrd4/eDBAV9rhT4+hWv+cwM5nZ0Cd/pQBbD9n2u8fF2cc0AFsPr2SnlFRXZJAAMAPgAABdQFsAAVABkAHQAdQA4ZARgGEREYHB0CchgIcgArKzIROS8zETMyMDEhIxE0JiYjIg4CBzU+AzMyFhYVAREjESEVITUF1MBDhmU8cWxpMzJgZ3ZGm912/MPBAtH7lwHIcX80ChIZEJ8PGRIKWcWkA+j6UAWwnp4AAAIAsP6ZBQAFsAAHAAsAF0ALCQYBAnILAwMACHIAKzISOSsyLzAxMxEzESERMxElESMRsMICzcH+P8AFsPrtBRP6UIr+DwHxAAIAowAABLEFsAAFAB4AIUAQBh4eBAITEwUCchQREQQIcgArMhEzKzIRMxE5LzMwMQEVIREjERMhMhYWFRQOAiMhETMRITI2NjU0JiYjIQQh/ULAkwGNoNxyQH64eP3gwQFfa4U+PoVr/nMFsJ767gWw/a9rwIFgn3U/BbD67U+ASUl6SQAABgAz/poFygWwAAMABwALAA8AEwAlACdAEwsRESADAwceCHIODw8QFAJyCQUALzMrMjIRMysyMhEzMhEzMDElFSE1MxEjAyEDIxEDFSE1IREjESEzAw4FByM1Mz4DNwUi+7IfvwEFlwK/pP2CAyTA/VrBHgYmOEhSWS1YPhpDQzMJnZ2d/f0CA/3+AgIFE56e+lAFsP22hN+4kWlDDp0caqn0pgAFABsAAAc2BbAABQAJAA0AEwAXACdAExYRCQMDAAAPDxQMCAhyDgoBAnIAKzIyKzIyMi8zETMRMzMzMDEBATMBIQcnASMBAREjESEBISchARMBNwECSv344gGDARIf6P5Z8AIdAdS/A8P99v66HgEIAYMZ/lp7AhsCmQMX/YmgD/1YA04CYvpQBbD86aACd/pQAqim/LIAAAIAUP/sBGsFxAAeAD4AI0ARACACAj4+FTQwKglyDwsVA3IAKzLMK8wzEjkvMxI5OTAxASM1MzI2NjU0JiYjIgYGFSM0PgIzMh4CFRQOAiUzMh4CFRQOAiMiLgI1MxQWFjMyNjY1NC4CIyMCZ62mbog+RI5wVIhQwU6Is2R1vohIRoK2/uOte8CERU+QxXVet5RZwVGQYG6ZUStTe1GmArt7Pm5IRXNFP29IXZVpODVommZLhGQ5VTJgjVtmnm44MWegcEl6SUV5TENjQB8AAQCyAAAFAAWwAAkAF0ALBQAGAggCcgQGCHIAKzIrMhI5OTAxAQEzESMRASMRMwFyAs3Bwf0zwMABTgRi+lAEY/udBbAAAAMAMAAABPcFsAADAAcAGQAZQAwSBREIcgIDAwQIAnIAKzIyETMrMjIwMQEVITUhESMRITMDDgQjIzU3PgQ3BFH9ZgNAwf0/wCEHITxgi2E0KDhROSQVBgWwnp76UAWw/Tea8bFzOJ0DBCtYjMuIAAACAE3/6wTLBbAAEwAYABpADhcWABUECAIYAnIPCAlyACsyKzISFzkwMQEBMwEOAyMiJic3FhYzMjY2NwMBFwcBAmwBgd79/RY2TnNVGEIKBgtADzlCKRHyAZUwov4FAeMDzftDM19KLAUDmgIDLkclBI78dbMMBEoAAAMAVP/EBeMF7AAVACkALQAbQAwfDAwrFgAAKyoDcisALysROS8zETkvMzAxATMyHgIVFA4CIyMiLgI1ND4CFyIGBhUUHgIzMzI2NjU0LgIjAxEjEQKi8X7XoVpaodd+8X7WoVlZodZ+g7ZeNWiYYvOCtV82Z5diHbkFH1Wc14KC2J1VVZzXgoLXnVaYbcSDY6ByPm3Fg2Kgcj4BZfnYBigAAAIAr/6hBZgFsAAFAA0AGUAMDAcCcgUEBAkGCHIBAC8rMjIRMysyMDElAyMRIzUFETMRIREzEQWYEq2P/GXCAs3Bov3/AV+iogWw+u0FE/pQAAACAJcAAATJBbAAFQAZABdACxcGEREYAAJyGAhyACsrETkvMzIwMRMzERQWFjMyPgI3FQ4DIyImJjUBMxEjl8FChmQ8cWxpMzFhZ3VHmt12A3HBwQWw/jlxgDQKEhoPng8aEgpZxqQBx/pQAAABALAAAAbYBbAACwAZQAwFCQYCAgsAAnILCHIAKysRMxEzMjIwMRMzESERMxEhETMRIbDCAfTAAfHB+dgFsPrtBRP67QUT+lAAAAIAsP6hB2sFsAAFABEAHUAODAUICAQRCHIPCwYCcgEALysyMisyMhEzMzAxJQMjESM1ATMRIREzESERMxEhB2sSpo36isIB9MAB8cH52Jj+CQFfmAUY+u0FE/rtBRP6UAAAAgARAAAFuQWwAAMAHAAdQA4REg8EHBwPAAECcg8IcgArKzIROS8zETMyMDETNSEVEyEyFhYVFA4CIyERMxEhMjY2NTQmJiMhEQHJZAGMoNxzQX64eP3hwAFfa4U+PoVr/nQFGJiY/kdrwIFgn3U/BbD67U+ASUl6SQACALIAAAYxBbAAGAAcAB1ADhoZDgsAGBgLDAJyCwhyACsrETkvMxEzMjMwMQEhMhYWFRQOAiMhETMRITI2NjU0JiYjIQERIxEBRQGNoNxyQH64eP3gwQFfa4U+PoVr/nME7MEDX2vAgWCfdT8FsPrtT4BJSXpJAu/6UAWwAAABAKMAAASxBbAAGAAZQAwOCwAYGAsMAnILCHIAKysROS8zETMwMQEhMhYWFRQOAiMhETMRITI2NjU0JiYjIQE2AY2g3HJAfrh4/eDBAV9rhT4+hWv+cwNfa8CBYJ91PwWw+u1PgElJekkAAgCU/+wE9AXEAAMALAAdQA4DAgIeCQUpCXIZFR4DcgArMswrzDMSOS8zMDEBFSE1ATMeAjMyPgI1NTQuAyMiBgYHIz4CMzIeAhUVFA4CIyImJgRM/av+ncAQS5J7YY5cLSBAX31NcI1LD8APgOOlh9iZUVGW0YCv6n8DJZ6e/qpnkk1Rjrxrkl2ff1owUJNmkNt8YLL6mZCZ+bFgf9oAAAQAt//sBtsFxAADAAcAHQAzACNAEy8HBgYOJBkDAnICCHIZA3IOCXIAKysrKxEzEjkvMzIwMQERIxEBFSE1BRUUAgYGIyImJgI1NTQSNjYzMhYWEgM1NC4CIyIOAhUVFB4CMzI+AgF4wQIP/qYFb1Ka14WB151WVZzXgYXXm1O/NWaTXVqRZzg4aZFaXpJlNAWw+lAFsP1lmJgPXKT+/LZgYLYBBKRcpAEDt2Bgt/79/wBegsiIRkaIyIJeg8mJRkaJyQACAFoAAARlBbAAFgAaAB9ADxcWFgAACQwMGQhyDgkCcgArMisyERI5LzMSOTAxASEnJiY1NDY2MyERIxEhIgYVFBYWMyEFASMBA9H+Z1+eqn3nngHSwf7voKFHjGgBRf63/p7NAWwCNycyz5qNxGb6UAUSmIFUhEw6/WUCmwADAGL/6wQpBhEAFgAvAEQAGUAMOiIwFxciAAFyIgtyACsrETkvMxEzMDEBMxQOAgcOAxcVIzU0EjY2Nz4CAzIeAhUVFA4CIyIuAjU1NDY2Nz4CFyIGBhUVFB4CMzI+AjU1NC4CA0OYPGeBRVaTaTELmEeCs2xOcDvbaqZ0PUF9s3Jys35BEhsLJYG1T2aDQCRJcU1NcEgkJElxBhFicz4gDxJNjOClXFy5ARS+cBUPIzz+H0qEs2kWccGPUFCPwXEWGTAyHFqaX5dem1oWTIhpPDxpiEwWRHpeNwAAAgCeAAAEKQQ6ABsAMwAtQBYCARsrKSkoASgBKA8NEAZyHh0dDwpyACsyETMrMhE5OS8vETMSOTkRMzAxASEnITI2NjU0LgIjIxEjESEyHgIVFA4CBwMhNyEyNjY1NCYmIyE3IRceAhUUDgICif6dAgEiVnM6IUJhQe25AaZnpXU+KE5ySkj+WlwBSk1mMzNmTf7nAgFfQ1l8QDlsmgHclCJEMic7JxP8XAQ6JElwTDFYRCsG/e2WJ0kzM0knlDgHSnFCTHRNJwABAJsAAANIBDoABQAOtgIFBnIECnIAKysyMDEBFSERIxEDSP4MuQQ6mfxfBDoAAwAu/sEElAQ6AA8AFQAdACFAEB0YCRYWGxMICnIVEBAABnIAKzIRMysyMjIRMy8zMDEBMwMOAwcjNzc+AzcTIREjESEBIREjESERIwFQuRAGOlpvO1wFJiE+NCMFPwKLuf4u/rEEZbn9DboEOv5rmuCdaiSXASdTc6d5AZX7xgOP/Qn+KQE//sEABQAWAAAGBAQ6AAUACQANABMAFwAwQBcVEBAAFhERCQMDBgAAFAcMEhMNDQIGcgArMhEzPzMzOS8zMxEzMxEzETMRMzAxAQEzATMHJwEjAQERIxEhASEnMwETATcBAdX+Zt8BGNgbtf7G6gGvAaS5AzD+Zv7mHdkBGBr+xXcBrgHXAmP+QKMT/hYCcAHK+8YEOv2dowHA+8YB6ob9kAACAFj/7AOtBE0AHQA7ACNAEQAfAgI7OxQyLikLcg8LFAdyACsyzCvMMxI5LzMSOTkwMQEjNTMyNjY1NCYmIyIGBhUjNDY2MzIeAhUUDgIlMzIeAhUUDgIjIiYmNTMUFhYzMjY2NTQmJiMjAiHHuE1aJiteT0BoPblxvXBelWg3NGKL/uLHYZRkMz1wm15pxoC5Pm9JTmg1MGNNuAIFcidGLypLLy1NMGOPTilPdU03YksqRiVIaURMeVQsSJd1MVg2MFAvPUojAAEAnQAABAIEOgAJABdACwUABgIIBnIEBgpyACsyKzISOTkwMQEBMxEjEQEjETMBVQHzurr+Dbi4ASUDFfvGAxX86wQ6AAADAJ0AAARABDoAAwAJAA0AH0APDAcHCwYGAgkDBnIKAgpyACsyKzIROS8zMxEzMDEBESMRIQEhJzMBEwE3AQFWuQN//f/+/RzUAWsa/nJ3AgIEOvvGBDr9lKIByvvGAeqG/ZAAAwAsAAAEAwQ6AAMABwAZABlADBIFEQpyAgMDBAgGcgArMjIRMysyMjAxARUhNSERIxEhMwMOBCMjNTc+BDcDYP31Aq65/d66HAcfNU9uSDooKz0qGw8EBDqZmfvGBDr99nm5hFMnowMDIkNqkmEAAAMAngAABVMEOgAGAAoADgAbQA0ACQwGAQoGcgsDCQpyACsyMisyMjISOTAxJQEzASMBMyMRIxEBETMRAvsBcLL+HoD+ILI2uQP7uvYDRPvGBDr7xgQ6+8YEOvvGAAADAJ0AAAQBBDoAAwAHAAsAG0ANCQYIAwICBgcGcgYKcgArKxE5LzMyETMwMQEVITUTESMRIREjEQNr/cQnuQNkugJllpYB1fvGBDr7xgQ6AAMAnQAABAIEOgADAAcACwAZQAwJBggCAwMHBnIGCnIAKysyETMyETMwMQEVITUzESMRIREjEQNe/d0buQNlugQ6mZn7xgQ6+8YEOgACACgAAAOxBDoAAwAHABC3AwYHBnICCnIAKysyMjAxAREjESEVITUCRroCJfx3BDr7xgQ6lpYAAAUAZP5gBWkGAAAWACsAQgBWAFoAJ0AVJwYGSR4REVIzPgtyMwdyWAByVw5yACsrKysRMzMRMzIyETMwMQEVFA4CIyIuAicRPgMzMh4DBzU0LgMjIgYGBxEeAjMyPgIlNTQ+AzMyHgIXEQ4DIyIuAjcVFB4CMzI2NjcRLgIjIg4CAREzEQVpMmOSYE94UzEJCTFTdk9OfV8/ILkTJz5XODxPLAoMLk47RmM/Hfu0IEBffU5Nc1AwCgkwUHVOYJJjM7obO2BGPE4uDAotTj1GYjsbAWS6AgoVcr+MTStSc0gB4E16Vi43Zo+yexVGf2tQLB4xG/2NFicZOWaGTRVmso9mNy5Wek3+M0x6Vy5NjL+HFU2GZjkeMBoCYRsxHkR2m/v/B6D4YAAAAgCd/r8EggQ6AAcADQAbQA0GAQMNDAwACnIBBnIJAC8rKzIRMzIRMzAxMxEzESERMxE3AyMRIzWduQHyuoASpY0EOvxeA6L7xpj+JwFBmAACAGgAAAO9BDwAAwAXABdACw8UCQkBAAZyAQpyACsrETkvMzIwMQERIxETFQ4CIyImJjURMxEUFhYzMjY2A725ejhzf0qAvGa5NmhLSH91BDr7xgQ6/g+YFSETWbWKATz+xFpwNRMgAAEAnQAABeAEOgALABlADAUJBgICCwAGcgsKcgArKxEzETMyMjAxEzMRIREzESERMxEhnbkBjLoBi7n6vQQ6/F4DovxeA6L7xgAAAgCS/r8GbQQ6AAUAEQAdQA4MBQgIBBEKcg8LBgZyAQAvKzIyKzIyETMzMDElAyMRIzUBMxEhETMRIREzESEGbRKljftpuQGMugGLufq9mP4nAUGYA6L8XgOi/F4DovvGAAACAB4AAATABDoAAwAcAB1ADhESDxwEBA8CAwZyDwpyACsrMhE5LzMRMzIwMQEVITUBITIWFhUUDgIjIREzESEyNjY1NCYmIyEB+f4lAckBRYO0XTRnl2L+M7oBE1BfKipfUP67BDqYmP6MW59lS4NiNwQ6/F46XDIxXj8AAgCeAAAFfwQ6ABgAHAAdQA4aGQ4LGAAACwwGcgsKcgArKxE5LzMRMzIzMDEBITIWFhUUDgIjIREzESEyNjY1NCYmIyEBESMRASUBRYO0XTRnl2L+NLkBE1BgKipgUP67BFq5AsZbn2VLg2I3BDr8XjpcMjFePwIM+8YEOgAAAQCeAAAD/gQ6ABgAGUAMDgsYAAALDAZyCwpyACsrETkvMxEzMDEBITIWFhUUDgIjIREzESEyNjY1NCYmIyEBJQFFg7RdNGeXYv40uQETUGAqKmBQ/rsCxlufZUuDYjcEOvxeOlwyMV4/AAIAZP/rA+EETgAnACsAHUAOKyoqCR0ZFAtyBAAJB3IAKzLMK8wzEjkvMzAxASIGBhUjNDY2MzIeAhUVFA4CIyImJjUzFBYWMzI+AjU1NC4CARUhNQIIPW9HsXjAbHKweT4/ea9xeb9tsUFuRUttRiEhRW0BLf4NA7Y2Xz5hpWVWlsNtKm3Dl1ZosW9DbUBEcItGKkeKcEP+vZeXAAQAnv/sBjAETgADAAcAHQAzACNAEyQDAgIZLw4HBnIGCnIOB3IZC3IAKysrKxEzEjkvMzIwMQEVITUTESMRATU0PgIzMh4CFRUUDgIjIi4CNxUUHgIzMj4CNTU0LgIjIg4CAvX9waG5AblEgbVxc7aBRESAtnJytoFEuiZNc01Nc0wnJ010TUxyTSYCb5eXAcv7xgQ6/dcXdcmVU1OVyXUXdciVU1OVyIwXUY9uPz9uj1EXUI9vQEBvjwAAAgAvAAADxwQ6AAMAHQAdQA4BEhITEwMJBAZyBwMKcgArMisyEjkvMxI5MDEBMwEjASERIxEhIgYGFRQWFjMhFSEiLgI1ND4CAWjI/sfIAdQBxLn+9U9kLipaRwFT/q1dkGQ0N2mZAgT9/AQ6+8YDpDVULSxRNJgyWXlHR3haMQAE/+f+SwPgBgAAEQAVACwAMAAdQBAwLygcB3IVAHIUCnINBg9yACsyKysrMswyMDEBMxEUBgYjIiYnNxYWMzI2NjUBESMREyc+AzMyHgIVESMRNCYmIyIOAgEVITUDJrpNkGUfNh4PD0YPKz0g/iC5jU0BQHShYlCAWzC6MmBGRXFRLQFK/YMBxv3hcJxQBwqUBgcvWD0GWfoABgD8RgNvvYxNK16Va/07AsdVZy86ZoMCwpiYAAIAZ//sA/cETgADACsAG0ANBA0DAgINIRgHcg0LcgArKzIROS8zETMwMQEVITUBMjY2NzMOAiMiLgI1NTQ+AjMyFhYXIy4CIyIOAhUVFB4CArf91gG8QnBIBa8Fd79zerZ3Ozt4tXl/vm0FrwVBb0tVc0MdHUNzAmiYmP4cNl89YKVlVpbDbSptw5ZWZ7FwQ2xBQ3GJRypHinBDAAMAJwAABoYEOgARABUALgAlQBIWLi4AJCEhCgkKchQVFSMABnIAKzIyETMrMjIRMxE5LzMwMQEzAw4EIyM1Nz4ENwEVITUBITIWFhUUDgIjIREzESEyNjY1NCYmIyEBJLkcBx41UG1IOykqPSobEAQCLP4PAmIBRYS0XDRnlmP+NLkBE1FfKipfUf67BDr99nm5hFMnowMDIkNqkmEBz5mZ/mRWll9He100BDr8XDpYLSxSNAAAAwCdAAAGqAQ6AAMABwAgACVAEhUWExMGCAMgAwICBgcGcgYKcgArKxE5LzMzETMRMxEzMjAxARUhNRMRIxEBITIWFhUUDgIjIREzESEyNjY1NCYmIyEDa/3EJ7kDMQFGg7RdNGeXYv4zugETUF8qKl9Q/roCoZaWAZn7xgQ6/mRWll9He100BDr8XDpYLSxSNAAD//0AAAPgBgAAAwAaAB4AGUANHh0WCgdyAwByEQIKcgArMisrMswyMDEBESMREyc+AzMyHgIVESMRNCYmIyIOAgEVITUBRrmNTQFAdKFiUIBbMLoyYEZFcVEtAWD9gwYA+gAGAPxGA2+9jE0rXpVr/TsCx1VnLzpmgwLHmJgAAAIAnf6cBAIEOgADAAsAF0ALAAYGCwpyCQQGcgIALysyKzISOTAxJTMRIwEzESERMxEhAfW6uv6ouQHyuvybmP4EBZ78XgOi+8YAAgCc/+sGdgWwABgAMAAbQA4sHwlyFAcJciYaDgACcgArMjIyKzIrMjAxATMRFA4CIyIuAjURMxEUHgIzMjY2NQEzERQGBiMiLgI1ETMRFB4CMzI2NjUDJpw8bJJXV5RtPcIfOU0uR28/Ao/Bbr55Uo1nOpwiPVQxQmc7BbD73mmeaDQ0aJ5pBCL73kJiQiA6dFgEIvvejLtcNGieaQQi+95CYkIgOnRYAAACAIH/6wWuBDoAGAAxABtADiwfC3IUBwtyJhoOAAZyACsyMjIrMisyMDEBMxEUDgIjIi4CNREzERQeAjMyNjY1ATMRFAYGIyIuAjURMxEUHgIzMj4CNQK6ljVhg05Og2E2uhovPyY8XjcCO7liq2xKfVwzlhw0RiopRjQdBDr9KF6NXi4uXo1eAtj9KDhUNxwxY0sC2P0ofqZTLl6NXgLY/Sg4VDccHDdUOAAAAv/bAAAD/AYWABcAGwAhQBANCgAXFwoaGxsKCwFyCgpyACsrETkvMxE5LzMRMzAxASEyFhYVFAYGIyERMxEhMjY2NTQmJiMhARUhNQEjAUWEtFxctIT+NLkBE1BgKipgUP67AXT9RALqYKZraatlBhb6gj9kNzVnRQJ/mJgAAwC4/+0GoQXFAAMALAAwACBAEQMCAi8wAnIvCB0UA3IpCQlyACsyKzI/KxI5LzMwMQEVITUBMw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgMzMjY2AREjEQUe/BEEscEPgeqvgNGWUVGZ2Iel5IAPwQ5MjHFgk2MyHTpZek17kkv7qcEDQZiY/o+K2n9gsfmZkZn5smB825Bmk1BKiL50k1abgl80TpIERvpQBbAAAAMAmv/sBaEETgADACsALwAkQBMDAgIuLwZyLgohHRgHcggEDQtyACsyzCvMMz8rEjkvMzAxARUhNQEyNjY3Mw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgIBESMRBIL8jwLiQnBIBa8Fd79zerZ3Ozt4tXp/vW0FrwVBb0pWckMdHENz/ba5AmiYmP4cNl89YKVlVpbDbSptw5ZWZ7FwQ2xBQ3GJRypHinBDA7b7xgQ6AAQAKAAABOUFsAAEAAkADQARACRAERENDAwCAAYGBwMCcg8FBQIIAD8zETMrMjIRMxE5LzMzMDEBASMBMwEBNzMBAxUhNQURIxECsv48xgINewFv/kMFegIE//0+Aby9BRT67AWw+lAFHJT6UAJao6Mz/dkCJwAEAA8AAAQlBDoABAAJAA0AEQAeQA4RDQwMAQcDBnIQBQUBCgA/MxEzKzISOS8zMzAxAQEjATMBAQMzAQMVITUFESMRAf/+zr4Bu40BEf7HVI4BvNz9rQGCuAL9/QMEOvvGAv0BPfvGAcGYmCb+ZQGbAAAGAMoAAAb2BbAAAwAIAA0AEQAVABkANEAaCRQUBgYYFREREBADAgIYCBYCcgQKCgsHAnIAKzIyETMrPzkvMzMRMxEzETMRMxEzMDEBFSE1AQEjATMBATczAQMVITUFESMRAREjEQNb/d0Di/48xgINewFv/kMFegIE//0+Aby9/VfBAlqhoQK6+uwFsPpQBRyU+lACWqOjM/3ZAicDifpQBbAAAAYAvQAABeQEOgADAAgADQARABUAGQAuQBcVEREQEAMCAhgZBnIJFBQGBhgKCwcGcgArMj8zETMRMysSOS8zMxEzETMwMQEVITUBASMBMwEBAzMBAxUhNQURIxEBESMRAuf+LAKr/s6+AbuNARH+x1SOAbzc/a0Bgrj997kBwZiYATz9AwQ6+8YC/QE9+8YBwZiYJv5lAZsCn/vGBDoABQCTAAAGQAWwABYAGgAfACQAKAA0QBkZGhokGx8fIyMTKAYGExMBHCQCcg0nJwEIAD8zETMrMhI5LzMRMxEzETMRMxEzETMwMSEjETQ2NjMhMhYWFREjETQmJiMhIgYVARUhNQEBMwEjAQEHIwEBESMRAVTBdNmYAeKZ2XTBQIJj/h6TkQOx/OABTAG+2/3/ev6kAcEief3+ArbAAXKhwlZWwqH+jgFybnsydqUEPp6e/QADAPyyA078+UcDTv1d/PMDDQAABQCXAAAFSwQ7ABcAGwAgACUAKQAwQBcaGxslICQkEykGBhMTAR0lBnINKCgBCgA/MxEzKzISOS8zETMRMxEzETMRMzAxISM1NDY2MyEyFhYVFSM1NCYmIyEiBgYVARUhNQEBMwEjAwEHIwEBESMRAVC5asiLATqLx2u5OXNY/sZYczkDEP1OARMBRdD+dXDzAUkdcP50Ajm5pKHBVlbBoaSkcX0zM31xA5eZmf25Akb9bQKT/bVIApP+C/27AkUABwC3AAAIcgWwAAMABwAeACIAJwAsADAAPEAeISIiJCwCcicrKxswDg4bGwMCAgUHAnIVLy8JCQUIAD8zETMRMysSOS8zMxEzETMRMxEzKzIyETMwMQEVITUTESMRASMRNDY2MyEyFhYVESMRNCYmIyEiBhUBFSE1AQEzASMBAQcjAQERIxEE8PxvGcEC0MF02ZcB45nZc8BAgmP+HZKRA7H84AFMAb7b/f55/qQBwSJ5/f4CtsEDLJeXAoT6UAWw+lABcqHCVlbCof6OAXJuezJ2pQQ+np79AAMA/LIDTvz5RwNO/V388wMNAAAHAJwAAAc7BDsAAwAHAB8AIwAoAC0AMQA+QB4lIiMjLS0HKCwsGzEODhsbAwICBgcGchUwMAkJBgoAPzMRMxEzKxI5LzMzETMRMxEzETMRMxEzETMzMDEBFSE1ExEjEQEjNTQ2NjMhMhYWFRUjNTQmJiMhIgYGFQEVITUBATMBIwMBByMBAREjEQTf/B5YuQKkuWrIiwE6i8druTlzWP7GWHM5AxD9TgETAUXQ/nVw8wFJHXD+dAI5uQJcl5cB3vvGBDr7xqShwVZWwaGkpHF9MzN9cQOXmZn9uQJG/W0Ck/21SAKT/gv9uwJFAAMAUP5GA6oHhgAXAEAASQArQBQYDQxAQAArLAlFQ0NCSEGARxcAAgA/Mt4azTI5MhEzPzMSOS8zMzMwMRMhMh4CFRQOAiMjNTMyNjY1NCYmIyETMzIeAhUUDgIjIyIGFRQWFhcHLgInNDY2MzMyPgI1NC4CIyMTFzczFQMjAzWEATJor4BHRoK2cJGNb4o/PoFl/s6RkXvAhURIga9oNVBFOEweSz14UQFRlWctRW5MKCxVfVGNdJeXoP5y+wWwNWaSXEuBYTZzPm5IQWxA/fgyYI1bZp5tOD8yNUkuDnwaWH1QWHE2KEljOkRlRCEE5qqqCv7uARIKAAADAEz+RgN3BjEAGABBAEoAJkARDRkMQUEALUNJRkRCgEgYAAYAPzLeGs0yMjI5LxI5LzMzMzAxEyEyHgIVFA4CIyM1MzI2NjU0LgIjIRMzMh4CFRQOAiMjIgYVFBYWFwcuAic0NjYzMzI+AjU0LgIjIxMXNzMVAyMDNYEBLV6fdUFAd6ZmkY1gdzYePV5A/tOMkXGweT9BdqBeMVFEOEweSz14UQFRlmYpO11BIiZKbEeNK5eXoP5y+wQ6KlBzSDpiSilzKEgwIDcpGP6hJEZmQkx4VCs/MjVJLg58Glh9UFhxNhktPSUqPioUBF+qqgv+7gETCgADAGf/7AT6BcQAFwAoADkAH0ASDClqMiBqMjIMABhqAANyDAlyACsrKxI5LysrMDEBMh4DFRUUAgYGIyIuAzU1NBI2NhciDgIHBgYVITQmJy4DAzI+Ajc2NjUhFhYXHgMCsGq2j2Y1UprXhWe0kWg3VZzXgVGIZUAJAQIDFQECCTxliVNWimM7CAEB/O0BAgEKQGaHBcQ+d6vbg1yk/vy2YD53q9uDXKQBA7dgpDpyp20QIxIRIhBup3M6+287dKtvCxULEB4Oa6RwOQADAFz/7AQ0BE4AFQAgACsAH0ASCyFqJxtqJycLABZqAAdyCwtyACsrKxI5LysrMDEBMh4CFRUUDgIjIi4CNTU0PgIXIg4CByEuAwMyPgI3IR4DAkdyt4BERIC1cnK2gUREgLZxRGpLLQgCXgcuTGtCRWtMLQb9oAYtTGwETlOVyXUXdciVU1OVyHUXdcmVU5gzWndERHdaM/zONF17R0d7XTQAAAIAFgAABN0FwwAOABMAGUANDhIIBRMCcgUDchIIcgArKysRMxEzMDEBAT4CMxcHIyIGBgcBIwEBEyMBAocBAiFQa0ouAQwiMykU/nyV/sIBXGKV/gYBdgMpaIE7AaobPjf7eAWw+8f+iQWwAAIALwAABAwETgASABcAFUALFwZyEhYKcgwFB3IAKzIrMiswMQETPgIzMhYXByYmIyIGBgcBIwMTEyMBAgydHE1dMh01GRUFFw8UKSIL/tZ60vBKe/6EATwCH1hqMQgRlAMFFikd/LMEOv0C/sQEOgAEAGf/cwT6BjUAAwAHAB8ANwAkQBACAicnAxoDcgcHMzMGDglyACvNMxEzfC8rGM0zETN9LzAxAREjERMRIxEBFRQCBgYjIi4DNTU0EjY2MzIeAwc1NC4DIyIOAhUVFB4DMzI+AgMWubm5Ap1SmteFZ7SRaDdVnNeBaraPZjW/IkJgfEtZkWg4JEVhe0dekmU0BjX+fgGC+sn+dQGLAghcpP78tmA+d6vbg1ykAQO3YD53q9vfXmipglgtRojIgl5pqoNYLUaJyQAABABc/4kENAS2AAMABwAdADMAJEAQBwckJAYZC3ICAi8vAw4HcgArzTMRM30vKxjNMxEzfC8wMQERIxETESMRATU0PgIzMh4CFRUUDgIjIi4CNxUUHgIzMj4CNTU0LgIjIg4CAqK6urr+dESAtnFyt4BERIC1cnK2gUS5Jk10TUxzTCcnTXNNTHNNJgS2/pABcPxC/pEBbwEZF3XJlVNTlcl1F3XIlVNTlciMF1GPbj8/bo9RF1CPb0BAb48AAAQAnP/rBm8HUgAVACAAQQBlADNAGVtOCXJUMTEsOAlyQkNDEQgIGxsWFiIhAnIAKzIyfC8zGC8zETMyETMrMjIvMysyMDEBMxUjIi4CIyIGFRUjNTQ2MzIeAgEnNjY1NTMVFAYGJRUiBgYVERQeAjMyNjY1ETMRFA4CIyIuAjURNDY2BTUyHgIVERQOAiMiLgI1ETMRFB4CMzI+AjURNC4CBRsoKleIbV4tMz6Af248amt9/phMISOeMEb+rT1fNx85TS5Hbz+cPGySV1eUbT1qtwMeV5RtPDxtlFdWkmw8nCRCWTUuTTkgIDlNBtR/JjEmNTcSJG5sJjIm/lg3KEcnX2YmTkBynkGDZP3GS29KJDp0WAGs/lRpnmg0OHGqcgI6mMllnp45capy/cZyqnE4NGieaQGs/lRCYkIgJEpvSwI6S29KJAAEAH7/6wWqBfEAFQAgAEIAZgAzQBlcTwtyVTIyLDkLckNERBEICBsbFhYiIQZyACsyMnwvMxgvMxEzMhEzKzIyLzMrMjAxATMVIyIuAiMiBhUVIzU0NjMyHgIBJzY2NTUzFRQGBiUVIgYGFREUHgIzMj4CNTUzFRQOAiMiLgI1ETQ2NgU1Mh4CFREUDgIjIi4CNTUzFRQeAjMyPgI1ETQuAgTDKixXiG1dLTM/gH9vPGlrff6XSyEjnTBF/royTy0aLz8mLUw5IJU1YYNOToNhNl2jAsROhGE1NWGETk2DYTWVIDhMLSZALxoaL0AFc38mMiY1OBIkbmwmMib+TzcoSCZfZiZOQHCXOXNY/t5CYkAgHDdUOOrqXo1eLjNnm2cBIoq3WpeXM2aaaP7eZ5tnMy5ejV7q6jhUNxwgQGJCASJCYkAgAAMAnP/rBnYHBAAHACAAOAArQBU0JwlyBQIBAQcHLSEICBUCchwPCXIAKzIrMhEzMzN8LzMYLzMzKzIwMQEhNSEXIRUjBzMRFA4CIyIuAjURMxEUHgIzMjY2NQEzERQGBiMiLgI1ETMRFB4CMzI2NjUDMf7HAysB/rWoC5w8bJJXV5RtPcIfOU0uR28/Ao/Bbr55Uo1nOpwiPVQxQmc7BphsbH1r+95pnmg0NGieaQQi+95CYkIgOnRYBCL73oy7XDRonmkEIvveQmJCIDp0WAADAIH/6wWuBbEABwAgADkAK0AVNCcLcgUCAQEHBy0hCAgVBnIcDwtyACsyKzIRMzMzfC8zGC8zMysyMDEBITUhFyEVIwczERQOAiMiLgI1ETMRFB4CMzI2NjUBMxEUBgYjIi4CNREzERQeAjMyPgI1AsH+xwMrA/6zqAeWNWGDTk6DYTa6Gi8/JjxeNwI7uWKrbEp9XDOWHDRGKilGNB0FRWxsf4z9KF6NXi4uXo1eAtj9KDhUNxwxY0sC2P0ofqZTLl6NXgLY/Sg4VDccHDdUOAACAHb+hAS8BcUAIQAlABlADBYSDQNyJQAAJAEJcgArzTMRMyvMMzAxJRUiLgM1NTQ+AjMyFhYXIy4CIyIOAhUVFB4DMxEjEQKiY6uJYTRQlc18pO+EAcABUJhvVYheMiA9WHK3wIidPHCavmz6h+OpXXbblmaTUEh/qGH8Tox1VS/9/AIEAAIAZP6CA+EETgAfACMAGUAMFREMB3IgAAAiAQtyACvNMxEzK8wzMDElFSIuAjU1ND4CMzIWFhUjNCYmIyIOAhUVFB4CMxEjEQI9cbB5Pz95sHF5vm2vQW9FTG1FISFEbrK5g5hWl8NtKm3DllZnsXBDbUBDcYlHKkeLcEP9/wIBAAABAHQAAASRBT4AEwAIsQ8FAC8vMDEBAwUHJQMjEyU3BRMlNwUTMwMFBwMozwEhRf7dtqjh/t9EASXN/t5GASO8peYBJUkDK/6UrHyq/r8Bjqt7qwFtq32rAUv+aat7AAAB/GYEpv8nBfwABwAVtwYGBAQBAgIBAC8zLxEzETN8LzAxAyEVJzchJxfZ/eWmAQIcAaUFJH4B6WwBAAAB/HAFF/9kBhUAFQAStgEUFA8GgAsALxrMMjMRMzAxATMyPgIzMhYVFSM1NCYjIg4CIyP8cCpQfGtpPG9/gD40LV1tiFcsBZcmMiZsbiQSODQmMSYAAAH9ZQUX/lQGWAAFAAqyAIACAC8azTAxASc1MwcX/gahtAE8BRfFfIx0AAH9pAUX/pIGWAAFAAqyAYAEAC8azTAxAQcnNycz/pKiTDoBtQXcxUF0jAAACPoa/sQBtgWvAA0AGwApADcARQBTAGEAbwAAASM0NjMyFhUjNCYjIgYBIzQ2MzIWFSM0JiMiBhMjNDYzMhYVIzQmIyIGAyM0NjMyFhUjNCYjIgYBIzQ2MzIWFSM0JiMiBgEjNDYzMhYVIzQmIyIGAyM0NjMyFhUjNCYjIgYTIzQ2MzIWFSM0JiMiBv14cXFhYnFwLTY1LAJQcnFhYnJxLDc0LLpxcWFicXAsNzQtxXFxYWJxcCw3NC39wHFxYWJxcC02NC39v3JyYWJxcC02NSyxcXFhYnFwLDc0LadycWFicnEsNzQsBPNTaWlTKD09/sNTaWlTKD09/eFTaWlTKD09/dFTaWlTKD09/rxTaWlTKD09BPJTaWlTKD09/eFTaWlTKD09/dFTaWlTKD09AAj6K/5jAWsFxgAEAAkADgATABgAHQAiACcAAAUzFwMjEyMnEzMBNTcFFSUVByU1ASc3JRcBFwcFJwEHJwM3ATcXEwf9pYkLemCUiAx6YAHYDQFN+hoN/rMFV2ECAUFE+2xhAv7ARQFdYhGUQQPFYRGVQjwO/q0GAw4BUvwmiwx8YpeLDHxiAQRjEJlE/CljEZlFBA5iAgFGRftVYwL+u0cA//8Asv6ZBbQHGQAmANwAAAAnAKEBMQFCAQcAEAR//7wAFUAOAiMEAACYVgEPAQEBXlYAKzQrNAD//wCd/pkEtwXCACYA8AAAACcAoQCh/+sBBwAQA4L/vAAVQA4CIwQBAJhWAQ8BAQF9VgArNCs0AAAC/9sAAAP8BnIAFwAbABpADBoLGwJyABcXDQ0KEgA/MxEzLzMrzjMwMQEhMhYWFRQGBiMhETMRITI2NjU0JiYjIQEVITUBIwFFhLRcXLSE/jS5ARNQYCoqYFD+uwF0/UQC6mCma2mrZQZy+iY/ZDc1Z0UDXZiYAAACAKkAAATYBbAAAwAbACNAEQECBQADBgYFBRIQEwJyEghyACsrMhE5LzMRMzMRMzMwMQEBBwEDITUhMjY2NTQmJiMhESMRITIWFhUUBgYDaAFwbv6ROf57AYVxjEFBjHH+p8ACGaXjdnXkA9T+a2YBlP7OnUiAUkuEUfruBbByyYGMxmcAAAQAjP5gBCMETgADAAgAHgA0ACVAFAADMAECMCUaDwtyBwZyGgdyBg5yACsrKysRMzIyMhEzMzAxAQEHAQERIxEzARUUDgIjIi4CJzU+AzMyHgIHNTQuAiMiDgIHER4DMzI+AgLZAUpt/rX+27qqAuk4a5xlZ55uQQwMQm2cZmaebDe6IkduTEZnSC0LDy9HZUVLbUciAYX+imcBdgJM+vYF2v3sFXbJlFJEgrZycHi+h0dPksuRFVGPbT8wUWc3/v01YEssP26PAAACAKIAAAQkBwAAAwAJABVACgIGBgMJAnIICHIAKyvOMxEzMDEBESMRExUhESMRBCS6t/1CwQcA/hgB6P6wnvruBbAAAAIAkgAAA0MFdwADAAkAFUAKAgYGAwkGcggKcgArK84zETMwMQERIxETFSERIxEDQ7q2/gy5BXf+KgHW/sOZ/F8EOgAAAgCy/t4EfAWwAAUAHQAZQAwGBwcTEgIFAnIECHIAKysyLzM5LzMwMQEVIREjERM1MzIeAhUUDgIjJzI+AjUuAyMEMP1CwJ/Wjd2bUDx3sXUCUW9EHgE0ZppnBbCe+u4FsPzwoU6V1oiCy4xJkzlpk1plm2o2AAIAkv7kA78EOgAUABoAG0ANAAEBCxcaBnIZCnIMCwAvMysrMhE5LzMwMRM1ITIWFhUOAwcnPgInNCYmIwEVIREjEbcBCJTnhQEpWpJrMV5tLgFUkmABgP4MuQHkonHUlzeMiGcUkhhbe0ZmjEgCVpn8XwQ6AP//ABv+mQeCBbAAJgDaAAABBwJrBmEAAAALtgUbDAAAmlYAKzQA//8AFv6ZBj0EOgAmAO4AAAEHAmsFHAAAAAu2BRsMAACaVgArNAD//wCy/pYFRAWwACYCRgAAAAcCawQj//3//wCd/pkEgQQ6ACYA8QAAAQcCawNgAAAAC7YDEQIBAJpWACs0AAAEAKQAAAT/BbAAAwAHAA0AEQAvQBcPDg4LDAQEDAwLBwcLCwAQAwhyCAACcgArMisyEjkvMy8RMxEzLxESOREzMDETMxEjATMRIwEzASEnIQc3ASOkwMABKJWVAiTj/i7+Fh0BswlxAerxBbD6UAQw/WsEFfzfoIem/LIABACbAAAEgAQ6AAMABwANABEALUAWDw4OCwQEDAwLBwcLCwAQAwpyCQAGcgArMisyEjkvMy8RMxEzLxEzETMwMRMzESMBMxEjATMBISchBzcBI5u5uQEelZUBwuD+Z/5UHAF+CncBm+sEOvvGA0X9xgMv/ZSihob9kAAEAEUAAAaLBbAAAwAHAA0AEQAjQBEQDw8LCgoDDgYIcg0HAgMCcgArMjIyKzISOS8zMxEzMDEBFSE1IREjESEBISchARMBNwECWf3sApvABEL9h/6qHQEAAfwt/d1sAqMFsJiY+lAFsPzfoAKB+lACqKn8rwAABAA/AAAFfQQ6AAMABwANABEAI0AREA8PCwoKAw4GCnINBwIDBnIAKzIyMisyEjkvMzMRMzAxARUhNSERIxEhASEnMwETATcBAjr+BQJVugN//gD+/BzUAWsa/nN2AgIEOpiY+8YEOv2UogHK+8YB6ob9kP//AKn+mQWpBbAAJgAsAAABBwJrBIgAAAALtgMPCgAAmlYAKzQA//8Anf6ZBKIEOgAmAPQAAAEHAmsDgQAAAAu2Aw8KAACaVgArNAAABACpAAAHhAWwAAMABwALAA8AH0APBwYGCgIDAwwLAnINCghyACsyKzIyETMROS8zMDEBFSEnAxUhNRMRIxEhESMRB4T9dnYl/O0ewQRfwQWwmJj9jp2dAnL6UAWw+lAFsAAEAJIAAAVqBDoAAwAHAAsADwAfQA8HBgYKAgMDDAsGcg0KCnIAKzIrMjIRMxE5LzMwMQEVITUDFSE1ExEjESERIxEFav4uN/3DJ7kDZLoEOpmZ/iuWlgHV+8YEOvvGBDoAAAIAsP7eB80FsAAHAB8AGUAMCAkJFAQHAnIGCHICAC8rKzIvOS8zMDEBESMRIREjEQE1MzIeAhUUDgIjJzI+AjUuAyME/8D9MsED8taN3ZtQPHexdQJRb0QeATRmmmcFsPpQBRL67gWw/PChTpXWiILLjEmTOWmTWmWbajYAAAQAkv7kBrAEOgAUABgAHAAgACNAER4XGBgAAQELHRwGchsKcgwLAC8zKysyETkvMzIRMy8wMQE1ITIWFhUUDgIHJz4CNTQmJiMBFSE1MxEjESERIxEDjQERmu+JKVqTajFebC5Zm2X+tf3dG7kDZboB5KJx1Jc3jIhnFJIYW3tGZoxIAlaZmfvGBDr7xgQ6AAEAcf/kBaMFxQBDAB1ADjkMDCMiA3IAAQEuFwlyACsyMhEzKzIyETMwMSUVIiQmAjU1ND4CMzIeAhUVFAYGBCMiLgI1NTQ+AjMVIg4CFRUUHgIzMj4CNTU0LgIjIg4CFRUUHgIFo7v+zd53O2yXXF2XbjtkuP8AnYzlpFhCeqlnPmJFJDtvnWN4u4FEHjhSNDNROB5UpPCFoWrCAQug43XHlVNRlMp585X/vmpqvv2TrIblq2CkRn6pY65ywpBRUpLDcvhWjGc3OWiLUuh+0JVRAAEAbv/rBJ0EUABDAB1ADjkMDCMiB3IAAQEuFwtyACsyMi8zKzIyETMwMSUVIi4CNTU0PgIzMh4CFRUUDgIjIi4CNTU0PgIzFSIOAhUVFB4CMzI+AjU1NC4CIyIOAhUVFB4CBJ2d/bJfLFJ2SUl2UyxMjsJ3brWCRzNdgU8mPSwYKlBxSFCAWi8RIjEgIDIhEUOAuZGdWZ/VfGdenHM/RHqkX2l50JxWWqHXfTlmrYBInS9VdEQ7XJ52QT9wllhsPGlPLSdIYztrXp1xPgD//wA6/pkE+AWwACYAPAAAAQcCawPXAAAAC7YBDwYAAJpWACs0AP//ACr+mQQGBDoAJgBcAAABBwJrAuUAAAALtgEPBgAAmlYAKzQAAAMANP6hBpQFsAADAAkAEQAdQA4JDQ0ICghyBRAMAgMCcgArMjIyLysyMhEzMDEBFSE1AQMjESM1BREzESERMxED7fxHBmASrY/8ZcICzsAFsJiY+vL9/wFfoqIFsPrtBRP6UAADAB/+vwUXBDsAAwALABEAH0APAgMDDQoFBnIIBwcQBApyACsyMhEzKzIvOS8zMDEBFSE1AREzESERMxE3AyMRIzUC4/08ARK6AfK5gRKmjQQ7mJj7xQQ6/F4DovvGmP4nAUGYAP//AJf+mQVnBbAAJgDhAAABBwJrBEYAAAALtgIdGQAAmlYAKzQA//8AaP6ZBF8EPAAmAPkAAAEHAmsDPgAAAAu2AhsCAACaVgArNAAAAwCXAAAEyQWwAAMAGQAdACNAEQMDCgoVAgIVFQQcCHIbBAJyACsyKxE5LzMvETMRMy8wMQERIxEBMxEUFhYzMj4CNxUOAyMiJiY1ATMRIwMXlf4VwUKGZDxxbGkzMWFndUea3XYDccHBA/v9QwK9AbX+OXGANAoSGg+eDxoSClnGpAHH+lAAAAMAhAAAA9kEPAADAAcAGwAjQBAAABgYDQEBDQ0FCnISBAZyACsyKzIvM30vETMRMxgvMDEBESMRAREjERMVDgIjIiYmNREzERQWFjMyNjYChpUB6Ll6OHN/SoC8Zrk2aEtIf3UDG/3KAjYBH/vGBDr+D5gVIRNZtYoBPP7EWnA1EyAAAAIAiQAABLsFsAAVABkAGUAMARcGEREXGAJyFwhyACsrETkvMxEzMDEhIxE0JiYjIg4CBzU+AzMyFhYVASMRMwS7wUKFZTxxbGkzMWFndkab3Hb8j8HBAcdyfzQKEhoPng8aEgpZxqT+OQWwAAIAP//pBb4FxAAJADYAJUASBR0BAR0dBhwcCiQVA3IvCglyACsyKzIROS8zMxEzLxEzMDETMxQWFjMVIiYmASIuAjU1ND4CFzIeAhUVITUhNTQuAiMiDgIVFRQeAjMyNjcXDgI/mDRuVoOzWgOqleaeUVSVxXKGy4lF/DYDCSVShmFUg1ovMGehcnymNy8XZJ4EOUhtPoxerfwkXKjlifmJ5adbAV2u9phxiyFdonpFSICnYPlhqYBJOByPEC8lAAL/3f/sBGQETgAIADUAJUASBBwBARwcBRsbCSMUB3IuCQtyACsyKzISOS8zMxEzLxEzMDEDMxQWMxUiJiYBIi4CNTU0PgIzMh4CFRUhNSE1LgMjIg4CFRUUHgIzMjY3Fw4CI5VjbXWfUQLhcbeDRk6Gqlt1qG00/NcCbwMeO2FHP2pMKitTd0xiiDNxI22dA1lhd4dVnvz/TYzAciqEz5BKUI/BclOXDjZpVjM1aJZiKk2HZjpQQ1k1YDwAAwCk/tYEzQWwAAMACQAhACFAEAoGBgsIBwcXFgkDAnICCHIAKysyLzM5LzMzMxEzMDEBESMRIQEhJzMBATUzMh4CFRQOAiMnMj4CNS4DIwFkwAQp/XD+2h3wAgH9rdyM3ppRPHizdwJRbkQdATNml2QFsPpQBbD85aoCcfzlp02V14l/y49LmDppkVdlmWk1AAADAJv+/QQaBDoAAwAJAB4AIUAQFhUJBnIGCgoHCwsBAwZyAQAvKxI5LzMzETMrLzMwMQERIxEhASMnMwEBNSEyFhYVDgMHJz4CJzQmJiMBVLkDf/3i5hy2AYn9sgEVme+JASlZk2oxXmwvAVmaZQQ6+8YEOv2UogHK/ZShYseWNYaCYxOSF1VyQ2Z+OgD//wAw/pkFqQWwACYA3QAAAQcAEAR0/7wAC7YDJAYAAJhWACs0AP//ACz+mQS4BDoAJgDyAAABBwAQA4P/vAALtgMkBgEAmFYAKzQAAAEAsv5LBP8FsAAZABlADBkIchcCAhEKBQACcgArMi8zOS8zKzAxEzMRIREzERQGBiMiJic3FhYzMjY2NREhESOywQLLwU+SZh81Hg4QQw8rPSD9NcEFsP1vApH5/HKdUgcKmgYHL1c9Atb9fgAAAQCS/ksD9gQ6ABkAHUAPGQpyFwICABEKD3IFAAZyACsyKzISOS8zKzAxEzMRIREzERQGBiMiJic3FhYzMjY2NREhESOSuQHxuk2RZR41HQ8PRQ0sPSD+D7kEOv4rAdX7bXCcUAcKlAYHL1g9Aij+MQD//wCp/pkFvQWwACYALAAAAQcAEASI/7wAC7YDFgoBAJhWACs0AP//AJ3+mQS2BDoAJgD0AAABBwAQA4H/vAALtgMWCgEAmFYAKzQA//8Aqf6ZBvoFsAAmADEAAAEHABAFxf+8AAu2AxsPAACYVgArNAD//wCe/pkGCAQ6ACYA8wAAAQcAEATT/7wAC7YDGQsBAJhWACs0AAABAF7/6wUSBcQALAAbQA0aCxEUFAslAANyCwlyACsrMhE5LzMRMzAxATIWFhIVFRQCBgYnIi4CNTUhFSEVFB4CMzI+AjU1NC4CIyIGByc+AgKBn/WnVl2l2n2U4phNBD78gytgnXJimGk2NXCwfIKwOy8YaqcFxGe7/v+bXpv+/rpmAVyu9Zh8lSJdonlFVJXEcF5xxJVUOByPEDAlAAIAaP/rBCwFsAAHACUAH0APBQgIBCUlABwSCXIHAAJyACsyKzIROREzMxEzMDETIRcBIzUBIQE3MhYWFRQOAiMiLgI1MxQWFjMyNjY1NCYmIyOUA2sB/gtxAYP9dwEGlqHjeEmEtGtXp4lRwUZ9VF+GR0qRaY4FsHz9rHQBvv5BAWjHj2afbTkxZ6FwSXpJRXlMaYU+AAIAav51BCkEOgAHACUAH0AOCAUFBCUlABwYEgcABnIAKzIvzDMSOS8zMxEzMDETIRcBIzUBIQEzMhYWFRQOAiMiLgI1MxQWFjMyNjY1NCYmIyOUA2UC/hp8AXP9iAEFkaHleUmDs2tWp4dRuUeAVWGHSEyTao0EOnb9pXQBxP43ZsWOZp5tOTFnoW9KfEpGek5qhD0A//8AOf5LBHQFsAAmALFEAAAmAkCqQAAHAm4A8QAA//8AOv5LA5cEOgAmAOxPAAAmAkCrjQAHAm4A4QAA//8AOv5LBQ8FsAAmADwAAAAHAm4DpwAA//8AKv5LBB0EOgAmAFwAAAAHAm4CtQAAAAEAVwAABGUFsAAYABK3AwAACxANAnIAKy8zOS8zMDEBIRUhIgYGFRQWFjMhETMRISImJjU0PgICRQGM/nRrhT09hWsBX8H94J/dckB+uANznk5/SUmFVAUT+lB0yYBhoHVAAAACAFoAAAZnBbAAGAAtAB9ADhsLCxAlJQMAABoQDQJyACsvMzkvMzMvETMRMzAxASEVISIGBhUUFhYzIREzESEiJiY1ND4CASM1Nz4CNzYuAiczHgIHDgICSAGN/nNrhD09hGsBYMD94KDcckB+uALxjY1KYzQCAQgPFw+6Eh8UAgJ1vQNznk5/SUmFVAUT+lB0yYBhoHVA/I2cAQFDeVEnU1ZTJzRvcTaOvl8AAwBk/+kGbwYYABYAKwBHAB1AEDNEC3I7LQFyHRILcicGB3IAKzIrMisvKzIwMRM1ND4CMzIeAxcVDgMjIi4CNxUUHgIzMjY2NzUuAyMiDgIBETMRBhYWMz4DNzYmJzMWFgcOAyMGJiZkOGueZk59YEQqCQs8ZpRjZJ1sOLogQ2tLXHdIFAwtR2dGTGtEIAINugEqTTVGa0onAQIhHrQbKgICTYWqX2ucWAH1FYDUm1UuWH6gYFx3vodHTYy/hxVNhWM4T4BL8TdnUTBCdpn++AS/+0FAYDYBOGiSW2TLZGHLZ4vPiEQCSqMAAgA2/+kF1AWwACAARgAhQBAoJycCAQEOMkMJcjoNDgJyACsyLysyETkvMzMRMzAxASM1MzI2NjU0LgIjITUhMh4CFRQOAwciBgYHBgYTNTU0JiYjNzIeAhUVFBYWMz4DNzYmJzMWFgcOAyMGJiYBwsOQcotAIklzUf6ZAWd4uX1BHjpVcEUDBwcDKBjpPXFPEnulYiojQy48XkAjAQIiHrsaKwICSXygWWWVUwJ5njlyVTlcQyOeNWiZZThiU0ExEA0MAQoE/rMCQU51Qm02Y4dQRTFMLAE4aJBYZMtkYctnis6JRQJCkQAAAgAx/+QE6QQ6AB0AQgAlQBI+PT0bAgEBDSoqIjMLcgwNBnIAKzIrMjIvETkvMzMzETMwMQEjJzMyNjY1NCYmIyEnITIWFhUUDgIHDgIHBgYFNQYWMz4DNzYmJzMWFgcOAyMGLgInNTQmJiM3MhYWFQF07AK8VGgxMmtV/voGAQyJv2QlSGtFAgUFAyIQAVwBKDc4VTsgAQIhILQaLAICRXWUUkNmRiUDMF5FI4udQQG6lihKMTNQL5VMkGUyUkAwEQEUFAIHA+oBJzIBKUxsRE2lTU2iUHCobzcBGjpdQUwwRCRrQ3RLAAMAU/7WA/YFsAAfADQAPwAfQA46OT8sDA0CciEgIAEBAgAvMxEzETMrMi8zLzMwMQEjNTMyNjY1NCYmIyE1ITIWFhUUDgMHIgYGBw4CBzcyFhYVFRQWFhcVIy4CNTU0JiYBFRQGByc+AjU1AYzconeOQD6Gbf7tAROf2nEdOVVvRAMIBwMaGREOEaa8Tg0eGb4eGwZAdgIZXFNpICwXAnmYPHRTUHRAmF64iDhhUkIxEAwLAQYGAwRtX6hsiClOQhkZHFxbGoRPd0L+XJVby0RJLFthNpgAAAMAef7GA9kEOgAeADMAPgAeQA44IB8fAgEBPisKDA0GcgArMj8zOS8zMxEzLzAxASE1MzI2NjU0JiYjITchMh4CFRQOAgcGBgcOAgc3MhYWFRUUFhYXFSMuAjU1NCYmBRUUBgcnPgI1NQHM/vbUVmowMGpW/uMBARxmnm44JUhrRgQJBBYTDSglip1BChoXvxsWBTBeAeFbU2ogLBcBuZYoSjI0UC2WK1N3TDNSQTAQAScCBAYEAmtIflFhGDs1ERMSRkUQXzZNKvSVW8tESSxbYTaYAAADAEX/6wdxBbAAEQAVADIAHUAOJiYeLwlyFxQAFQJyCwgALzMrMjIyKzIyLzAxATMDDgQjIzU3PgQ3ARUhNQERMxEUHgIzMj4CNzYmJzMWFgcOAyMiJiYBisAhByE8YIthNCg4UTkkFQYC3/2CAlnBFyw+J0RpSCcBAiEeuxsqAgJOhKtfbaJaBbD9N5rxsXM4nQMEK1iMy4gCqp6e+6sEVfurL044HjhnkFpky2Rhy2eLz4hESqIAAwA//+sGOgQ6ABEAFQAzAB9AECcnHi8LchcUABUGcgsICnIAKzIrMjIyKzIyLzAxATMDDgQjIzU3PgQ3ARUhNQERMxEUHgIzMj4CNzYmJzcWFgcOAyMiLgIBPLkcBx42T25IOikqPSobEAQCKf4UAcy6Fy0+JzhWOyABAiEdsxorAgJFdJZTUIJeMwQ6/fZ5uYRTJ6MDAyJDapJhAc+Zmf0fAuH9HzBPOR4yXIJRX8BeAV3AYX++fj4pWIsAAAMAqv/pB3EFsAADAAcAIwAgQBEWFg4fCXIIAnIAAwMGCAQCcgArPzkvMysrMjIvMDEBIRUhAzMRIwEzERQWFjM+Azc2JiczFhYHDgMjBiYmJwFNAvj9CKPAwAN/wChMNERpSScBAiIeuhsrAgJOhKtfbJ5YBgMfngMv+lAFsPurPmA1ATdnkFpky2Rhy2eLz4hEAkqkhAAAAwCQ/+oGTQQ6AAMABwAlACJAEhkZECELcgkGcgMCAgUHBnIFCgA/KxI5LzMrKzIyLzAxARUhNRMRIxEBETMRFB4CMz4DNzYmJzcWFgcOAyMGLgIDXf3FKLoCs7oXLD8nOFc7IAECIh2zGiwCAkR1llRQf1wzAmSWlgHW+8YEOv0fAuH9HzBPOB8BMVyCUV/AXgFdwGF/vn4+AShYjQABAHb/6wSiBcUAKwAVQAoSCwNyJSUdAAlyACsyMi8rMjAxBSIuAjURND4CMzIWFwcmJiMiDgIVERQeAjM+Ajc2JiczFhYHDgICuYHVmlNTmtWBc65CO0CRV1uPZDQ0ZI9bXoJEAgIdF7sTJwICiNwVXafhhQEGheGnXSwriyEjSH6mXv74X6d/SAFHgVlZt1hYtVuXxmIAAAEAZv/rA8cETgArABVACiEaB3IHBwAPC3IAKzIyLysyMDElPgI3NCYnMxYWBw4CIyIuAjU1ND4CMzIWFwcmJiMiDgIVFRQeAgJRR1EjAQkLsgsRAQJip2p2t35APnivcWCNLCwueUZMbEUgI0l1gwEqSzQ4ezk6dzttj0ZXl8NsKmzDllciH5AbHkRxikUqRopxRAACACT/6QVIBbAAAwAgABdACxQUDB0JcgUCAwJyACsyMisyMi8wMQEVITUBETMRFB4CMz4DNzYmJzMWFgcOAyMGJiYEpPuAAdvBFiw+J0VpSCYCAiIeuxsrAwJNhKtgbJ1ZBbCenvurBFX7qy9NOB8BN2eQWmTLZGHLZ4vPiEQCSqQAAgBG/+oEuAQ6AAMAIAAXQAsTEwscC3IFAgMGcgArMjIrMjIvMDEBFSE1AREzERQWFjM+Azc2JiczFhYHDgMjBi4CA9H8dQFnuSlONThWPCABAiIdshosAgJFdJZTUIBcNAQ6lpb9HwLh/R9AYDYBKU1tRE+nT0+kUnGpbzcBKFiNAAIAl//rBP8FxQAgAD8AI0ARACI/PwICFzUxLANyEQ0XCXIAKzLMK8wzEjkvMxI5OTAxATMVIyIOAhUUHgIzMjY2NTMUDgIjIi4CNTQ+AgUjIi4CNTQ+AjMyFhYVIzQmJiMiBgYVFB4CMzMCw7+5WopdMDNij1tsolrAXp/FZn7Sm1VKjs8BRL95xI1MTpLMfpHykcBbml99oEwnVIRcuQMQeR9AY0M5YUgoSXpJcKFnMTltn2ZbjWAyVTlkhEtmmmk1YrV9SG8/RXNFNllCI///ADD+SwWtBbAAJgDdAAAABwJuBEUAAP//ACz+SwS8BDoAJgDyAAAABwJuA1QAAAACAHAEcQLJBdcABQAPABK2BQUNBwICBwAvMy8QzTIvMDEBNRMzFQMlNTMVFBYXByYmAZJ0w9/+hqcqKklWXASEEQFCFf7C/lVPSGgtOi2P//8AJgIfAg4CtwAGABEAAP//ACYCHwIOArcABgARAAAAAQCiAosEjAMjAAMACLEDAgAvMzAxARUhNQSM/BYDI5iYAAEAkAKLBcgDIwADAAixAwIALzMwMQEVITUFyPrIAyOYmAACAA3+agOhAAAAAwAHAA60AgOABgcALzMazjIwMQUVITUlFSE1A6H8bAOU/Gz+mJj+mJgAAQBhBDEBeAYUAAoACLEFAAAvzTAxEzU0NjY3FwYGFRVhKU43aS4yBDF5PYV7LUlCi1F8AAEAMAQWAUgGAAAKAAixBQAAL80wMQEVFAYGByc2NjU1AUgpTjdqLzEGAIA8hXsuSUKLUYMAAAEAJP7lATwAtgAKAAixBQAAL80wMSUVFAYGByc2NjU1ATwpTjdqLzC2ZzyFey5IQoxRagABAE8EFgFnBgAACgAIsQYAAC/NMDETMxUUFhcHLgI1T7gxL2k3TykGAINRi0JJLnuFPAD//wBpBDECuwYUACYBhAgAAAcBhAFDAAD//wA8BBYChwYAACYBhQwAAAcBhQE/AAAAAgAk/tICZAD2AAoAFQAMsxAFCwAALzLNMjAxJRUUBgYHJzY2NTUhFRQGBgcnNjY1NQE8KU43ai8wAeEpTjdqLzD2p0CMgTBJR5RWqqdAjIEwSUeUVqoAAAIARgAABCQFsAADAAcAFUAKBgcHAgMCcgIScgArKxE5LzMwMQERIxEBFSE1ApC5Ak38IgWw+lAFsP6KmZkAAwBX/mAENAWwAAMABwALAB1ADgsKBgcHAQMKEnIDAnIBAC8rKxESOS8zETMwMQERIxEBFSE1ARUhNQKeuQJP/CMD3fwjBbD4sAdQ/oqZmfxemJgAAQCLAhgCIwPLAA0ACLEECwAvzTAxEzU0NjMyFhUVFAYjIiaLbV5fbm1fXm4C3ClWcHBWKVVvb///AJT/9AMvANIAJgASBAAABwASAbkAAP//AJT/9ATOANIAJgASBAAAJwASAbkAAAAHABIDWAAAAAEAUgICAS0C1gALAAixAwkAL80wMRM0NjMyFhUUBiMiJlI4NTY4ODY1OAJrLT4+LSw9PQAHAET/6wdXBcUAEQAjADUARwBZAGsAbwApQBNfVlYyaE1NRCkpOzINFw4OIAUFAD8zMy8zPzMzLzMzLzMRMy8zMDETNTQ2NjMyFhYVFRQGBiMiJiY3FRQWFjMyNjY1NTQmJiMiBgYBNTQ2NjMyFhYVFRQGBiMiJiY3FRQWFjMyNjY1NTQmJiMiBgYFNTQ2NjMyFhYVFRQGBiMiJiY3FRQWFjMyNjY1NTQmJiMiBgYBAScBREiGXF6GR0eFXV2GSYsjSDY2RyIjRzc1RyMCaEiGXFh9Q0N8V12GSYsjSDY2RyIjRzc1RyMBUkR+Vl6FSEeFXVd/RHgkRzY2RiMjRzc1RyP+6f05aQLHBEtNU4hSUohTTVGIUlKInk0uUjMzUi5NL1MzM1P8UE5SiFJSiFJOUohSUoigTi5TMzNSL04vUjMzUn1OUohSUohSTlKIUlKIoE4uUzMzUi9OL1IzM1IDTfuOQgRyAAACAGwAmQIhA7UABAAJABJACQEFAwkCCAYGAAAvLxc5MDEBASc1AQMBIwE1AiH++7ABJ3cBBY7+2QO1/m4BDQGE/nf+bQGFDQACAFoAmQIPA7UABAAJAA60AggIBQAALy85LzMwMTcBFxUBAzMBFQdaAQWw/tmOjgEnsJkBkgEN/nwDHP57DQEAAQA8AG8DawUjAAMADrMAAwIBAHwvMxgvMzAxAQEnAQNr/TloAscE4fuOQgRy//8AUQKQAp4FuwIHAeEAAAKb//8ANgKbArwFsAIHAjoAAAKb//8AXAKQAqgFsAIHAjsAAAKb//8AVgKQAqwFugIHAjwAAAKb//8AOwKbAqYFsAIHAj0AAAKb//8ATwKQAp8FuwIHAj4AAAKb//8ASgKUApUFuwIHAj8AAAKbAAIAUAKPAugFUAADAAcAFbcGBgICAwcHAwAvMy8RMxEzfS8wMQEVITUBESMRAuj9aAGOhAQwgoIBIP0/AsEAAQBQA7ICqAQ0AAMACLEDAgAvMzAxARUhNQKo/agENIKCAAIAUAM2AqgEpQADAAcADLMCAwcGAC8zzjIwMQEVITUlFSE1Aqj9qAJY/agDuIKC7YKCAAABAFQBjwGhBk0AFQAMsxARBgUALzMvMzAxEzU0NjY3Fw4CFRUUHgIXBy4DVF+ENzMoTzQeMj0eMyphVzgD5RGn9ZwfdCV9vIQTapxyUR5uF2KXyQABAFABjwGdBk0AFQAMsxARBgUALzMvMzAxARUUBgYHJz4CNTU0LgInNx4DAZ1fhDczKU40HjI9HjMpYVg4A/YRp/aaH24od7uNE2ObdFQcdBdklskAAAIAegKLAvkFugAEABkAE7cWCwQECwIRAgAvMz8zLxEzMDEBESMRMxMHND4CMzIWFhURIxE0JiYjIgYGASSqgRIuJklnQE91QKokQSw9TyUFAP2LAyD+iwFUjmk6P4hs/gQB3ElVJUFuAP//AFH+hQKeAbACBwHhAAD+kP//AHv+kQHvAaYCBwHgAAD+kf//AEL+kQKrAbECBwHfAAD+kf//AD/+hgKbAbECBwI5AAD+kf//ADb+kQK8AaYCBwI6AAD+kf//AFz+hgKoAaYCBwI7AAD+kf//AFb+hgKsAbACBwI8AAD+kf//ADv+kQKmAaYCBwI9AAD+kf//AE/+hgKfAbECBwI+AAD+kf//AEr+igKVAbECBwI/AAD+kf//AFD+qQLoAWoCBwGcAAD8Gv//AFD/zAKoAE4CBwGdAAD8Gv//AFD/UAKoAL8CBwGeAAD8GgABAFT95wGhAmYAFAAIsQUQAC8vMDE3NTQ2NjcXDgIVFRQWFhcHLgNUX4Q3MyhPNDRPKDMqYVc4HhGe6ZMddCJ1r3wThK5vJm8WXo6+AAABAFD96QGdAmYAFAAIsRAFAC8vMDElFRQGBgcnPgI1NTQmJic3HgMBnV+ENzMpTjQ0TikzKmFXODoRoe2VHW8mcbKHE3mrciF0FVyMuwAEAFsAAARoBcQAAwAeACIAJgAiQBAiISUmJgEbFxIFcgkCAgEMAD8zETMrzDMSOS8zzjIwMSEhNSEBExYGByc+AjUDNDY2MzIWFhUjNCYmIyIGBgEVITUBFSE1BGj79wQJ/UsWATg4riMpERZ0yX+DuGLAQ2w+Qms/AWP9RQK7/UWdA3L9g16jKTUJU2wsAn6Kw2hir3RUZi5Bff7wfX3++n19AAMAHwAABjcFsAADAAcAEQAiQBADAgYLDhAHBw0RDgRyCg0MAD8zKzISOS85EjkzzjIwMQEVITUBFSE1AREjAREjETMBEQY3+egGGPnoBTjB/SPBwQLgA62YmP7UmJgDL/pQBGP7nQWw+5oEZgAAAwCn/+wGAwWwABcAGwAtACNAEiIpDRwZGAZyAgEBDgwPBHIODAA/KzISOS8zKzLMPzMwMQEjNTMyNjY1NCYmIyMRIxEhMhYWFRQGBgEVITUTMxEUFhYzMjY3FwYGIyImJjUCIerqdHcqKnd0wbkBeqXMXl7MAzj9uMW5IjYfFzMNARZHMURyRAI1mFSGSkuHVfroBbB0yYCAynQCBY6OAQf7yzc4EgkDlwcNNn9sAP//AKn/7AgRBbAAJgA2AAAABwBXBFUAAAAGAB8AAAXMBbAAAwAHAA0AEgAXAB0AKkAUHRUKChIGBwMCAhESBHITGxsIEQwAPzMzETMrEjkvM84yETMRMzMwMQEVITUBFSE1ARMTMwMDARMTIwEBExMzAQETEyMDAwXM+lMFrfpTAYtDsYNDtP7TuzV7/ssDwzS2wf7K/t2xQIauPwPUl5f+ppeX/YYB2APY/if8KQWw/Cz+JAWw+lAB3QPT+lAFsPwr/iUD2wHVAAIAjAAABZ8EOgARACIAIEAPFhMTERQIFAgRChwPAAZyACsyMj85OS8vETMRMzAxEyEyHgIVESMRNC4CIyERIyEhETMRITI2NjURMxEUDgKMAi9QgFswuhw3UDX+wroDuP3SuQE+R2AyuTBbgAQ6K16bcP63AUtFYDsa/F4C3v26MG5cAqj9WnCbXisAAwBf/+wEHQXEACMAJwArAB1ADiorJyYmBxkSBXIABw1yACsyKzISOS8zzjIwMSUyNjcXBgYjIi4CNRE0PgIzMhYXByYmIyIOAhURFB4CExUhNQEVITUDLzpuMhQ4ej53xpBPTpDFeD91PRQxcDpQgVswMVyBcv0NAvP9DYgSEKAOEEmR2ZEBTZLakkkRDqEQEzRooGz+sWygaDQDF319/vt8fAADAB8AAAW8BbAAAwAHAB8AKUATBgcDAgIUChQXCQoKFhcEchYMcgArKxI5fS8zETMREjkYLzPOMjAxARUhNQUVITUBITUhMjY2NTQmJiMhESMRITIWFhUUBgYFvPpjBZ36YwLf/nsBhXGMQUGMcf6owQIZpeR2duQEvZiY9ZiY/nOdSIBSS4RR+u4FsHLJgYzGZwAAAwArAAAD+QWwAAMAHAAgAC1AFR8gIBEDAgUGBhoCGgIaBBARBHIEDAA/KzISOTl9Ly8RMxEzETMRMxEzMDEBByE3AQEnMzI2NjU0JiYjITczMhYWFRQGBiMBFRMHITcD+S78YC4CAP3vAfRqi0ZCjXL++C/ZruNwXdW0Aey9Lv0ULgRMnp77tAJqfEd6TFWBSZ5pyI56wW79xAwFsJ6eAAQAIf/tBBsFsAADABQAGAAcABVACQQEAw8BCw0DBAA/PzMzEjkvMDEBESMRATMVFAIGBiMiJic3Mj4CNQMVATUFFQE1AdXAAke/U5rYhS9dMLxgk2Q0jP1RAq/9UQWw+lAFsP1TWKP+/LdgCwiRRYjJhAJ4sv7GshKx/saxAAIAXQAABOsEOgAbAB8AGEALCBUVHh8Gcg4BHgoAPzMzKxI5LzMwMSEjNTQuAyMiDgIVFSM1NBI2NjMyHgMVAREjEQTruSJDYX1MWpJoOLpVm9WBarWPZTX+Fbq8aauBWCxFiMiEvLqkAQS2YD53q9uDA4D7xgQ6AAIAHwAABQQFsAAXABsAGkAMGRgDAAAODA8Ecg4MAD8rMhI5LzPOMjAxASE1ITI2NjU0JiYjIREjESEyFhYVFAYGBxUhNQMI/RcC6W2MQz+Lcv6mwAIapeJ1deKx/SMCO51GgFdHglT67gWwcceBjMdpiZ6eAAAEAHv/6wWDBcUAIQAzAEUASQAlQBJCJzBHRzkwDXIfBQ5JSRYOBXIAKzIyLxDMMisyMi8QzDIwMQEzFAYGIyImJjU1NDY2MzIWFhUjNCYjIgYGFRUUFhYzMjYBNTQ2NjMyFhYVFRQGBiMiJiY3FRQWFjMyNjY1NTQmJiMiBgYTAScBAh6LQntXV35FRH5WV3xDi0RHLz8fIEAvR0IBEEiGXF6FSEeFXV2GSYsjSDY2RyIjRzc1RyPM/TloAscEHkV0RVKIUU1TiFJGdEY1UzNTL00uUjNX/ShOUohSUohSTlKIUlKIoE4uUzMzUi9OL1IzM1IDTfuOQgRyAAABAGj/6wNrBhMALgAUtxkYGAEkDAABAC8zLzMSOS8zMDElFSIuAjURND4CMzIeAhUVFA4DIzUyPgI1NTQuAiMiDgIVERQeAgLMZphkMihMbEQ7YkooQoC78pSa3o1EDBcfExsnGw0WMlSJnkB3p2YC6VmMYjQrU3RKKWfZyqFfsHW50ForKTwmExs4Ujj9F0VsTSgABACiAAAHxgXAAAMAFQAnADEAJUARKzAuKgIDGxIkCQkxLgQqLQwAPzM/MzMvM9wyzjIREjk5MDEBFSE1AzU0NjYzMhYWFRUUBgYjIiYmNxUUFhYzMjY2NTU0JiYjIgYGAREjAREjETMBEQel/ZgjVJlpaplTUplpappUoydRPTxPJyhPPTxQJ/68zP2vuswCUwIrjo4B2mNnm1ZWm2djZ5pWVprKYz1cMzNcPWM8XDQ0XAEM+lAEbvuSBbD7jwRxAAACAGgDlwQ4BbAADAAUACRAEQkEAQMGCgcHExQCAAMDBgYRAC8zETMRMz8zMxEzEhc5MDEBEQMjAxEjETMTEzMRARUjESMRIzUD3os0jFpwkI9w/bKUW5MDlwGL/nUBiv52Ahn+cgGO/ecCGVH+OAHIUQACAJj/7ASTBE4AHQAmABdACiIXFwQeDgcbBAsAPzM/MxI5LzMwMSUXBgYjIi4CNTQ+AjMyHgIVFBQVIREWFjMyNgEiBgcRIREmJgQUAlS8Ym2+kFFZlrtiZ7OITf0AN4xOXbv+6EuNOQIcNIrGaDQ+WJrMc3TLmlhRksV1AxIa/rgzOzsDaUI4/usBHjQ9AP//AFT/9QWzBZsAJwHg/9kChgAnAZQA5gAAAQcCPgMUAAAAB7EGBAA/MDEA//8AZf/1BlMFtAAnAjkAJgKUACcBlAGlAAAABwI+A7QAAP//AGT/9QZJBaQAJwI7AAgCjwAnAZQBgwAAAQcCPgOqAAAAB7ECBAA/MDEA//8AWv/1Bf0FpAAnAj0AHwKPACcBlAEgAAABBwI+A14AAAAHsQYEAD8wMQAAAgBq/+sEMwXsACkAPwAZQAwqAAASNR8LcgkSAHIAKzIrMhE5LzMwMQEyFhcuBCMiBgYHJz4CMzIeAhIVFRQOAyMiLgI1NTQ+AhciDgIVFRQeAjMyPgI1NS4DAj1cpjoIMEdbaTk1XlsvECVWclBusIRYLCpSdphccrN9QT95rYBNcUkkJEhxTE5xSiQFJkZtA/5NQ1iUdVErDhoSlhEfFUuPy/8AljtvxaF2QFCPwXEWabSFSpg3X3pEFkyIaTxHfqhhQxlHRC4AAAEAqf8rBOYFsAAHAA61BAcCcgIGAC8zKzIwMQERIxEhESMRBOa6/Te6BbD5ewXt+hMGhQADAEb+8wSsBbAAAwAHABAAH0AODgYGBwcPAnIMAwMKAgsALzMzMxEzKzIRMxEzMDEFFSE1ARUhNQEVASM1AQE1MwSs++MD0PwOAv79PWICYP2gYnaXlwYml5f8qhn8so4CzQLTjwABAKgCiwPrAyMAAwAIsQMCAC8zMDEBFSE1A+v8vQMjmJgAAwA///8EmQWwAAQACQANABZACgkLCwoECAgBAnIAKz8zLzMRMzAxJQEzASMDExcjAQc1IRUCIwG4vv3ie4bFKXr+z34BM/YEuvpPAw/96PcDD5mZmQAEAGP/6wfMBE4AFwAvAEcAXwAdQA5bNjYeEwtyTkNDKwYHcgArMjIRMysyMhEzMDETNTQ+AjMyHgMXFQ4EIyIuAjcVFB4CMzI+Azc1LgQjIg4CBRUUDgIjIi4DJzU+BDMyHgIHNTQuAiMiDgMHFR4EMzI+AmNFgLJtbKN3UDENDTFQdqNrbrOARbknTXBJR29UOSIGBiI5VHFHSHBMJwawRoCzbWujd1AxDA0xUHejbGyygUW5KExvSEhwVDoiBgYiOlNwR0hwTSgCDxttxZpYVYaVhScqJ4WWhlVYmsWIG1GPbj4/YmxeGioZXWxjPz9uj1AbbcWaWFWGloUnKieFlYZVWJrFiBtQj24/P2NsXRkqGl5sYj8+bo8AAAH/r/5LAo4GFQAfABC3GxQBcgsED3IAKzIrMjAxBRQGBiMiJic3FhYzMjY2NRE0NjYzMhYXByYmIyIGBhUBZk2QZR85HRMOMhAxRCVSmGkkRyQXES0dO1Ipa3CTRwkKkgQJJk89BRl1oFIMCY4FBjFcQgAAAgBlARgEDAP1ABkAMwAbQAsXBIAKEUAxHoAkKwAvMxrdMhreMhrNMjAxEyc2NjM2FhcWFjMyNjcXBgYjIiYnJiYHIgYDJzY2MzYWFxYWMzI2NxcGBiMiJicmJgciBmcBL4VBUFs/O1VKQXwvAS98QUpVOz9cUEGEMAEvhUFQWz87VUpBfC8BL3xBSlU7P1xQQYQCyL0zOwIrIB4oRDy9MzonHiArAkT+I70zOgIrIB4nRDy+MzonHiAsAkQAAAMAmACcA9oE1QADAAcACwAfQA0CAQEKCgsAAwMHBwYLAC/OMhEzETMRMxEzETMwMQEBJwETFSE1ARUhNQOP/atfAlWq/L4DQvy+BJr8AjsD/v76oaH+YaGhAAMAPQABA4AERgAEAAkADQAiQBADBwYABAgGBQkJAQICDQ0MAC8zfBDOLzIyGC8zFzkwMRMFFQE1JQEHNQETFSE1xwKz/M4DMv1OgAMyBvy9AsP+sgFYacD+/gxpAVf8U5iYAAADAIQAAAPdBFoABAAJAA0AIkAQAwcGAAQIBgECAgUJCQ0NDAAvM3wQzi8yMhgvMxc5MDEBJTUBFQUBNxUBBRUhNQNO/TkDVvyqAsmN/KoDQPy9ArH8rf6pasYBARRq/qiOmJgAAgAsAAAD3QWwAAcADwAdQA4FCAgOBxJyAwoKCwECcgArMjIRMysyMhEzMDETATMHAQEXIzcBASczAQEjLAGQexH+xAFCDnoiATz+vg16AZT+cHsC1wLZhf2s/a2EhAJTAlSF/Sf9Kf//ALUApgGbBPYAJwASACUAsgAHABIAJQQkAAIAbwJ5AjMEOgADAAcAELYGAgIHAwZyACsyMhEzMDETESMRIREjEfuMAcSMBDr+PwHB/j8BwQAAAQBd/14BVwDvAAkACrIEgAkALxrNMDElFRQGByc2NjU1AVdHSmklJe9PT7Y9STl4RlEA//8APQAABPcGFQAmAEoAAAAHAEoCLAAAAAMAIAAAA80GFQAQABQAGAAbQA8YBhcKchMUBnINBgFyAQoAPysyKzIrPzAxISMRNDY2MzIWFwcmJiMiBhUXFSE1IREjEQGEuWCyekiKSR8ueUh3ad39vwOtuQSYe6pYIxqcEiFrbF6OjvvGBDoAAwA9AAAD6gYVABIAFgAaABtADxkaBnIUAHIOBgFyEwEKcgArMisyKysyMDEhIxE0NjYzMhYWFwcmJiMiBgYVAREzEQEVITUBoblXpXYshZdIVl+YNUFZLQGQuf6d/bYErHWhUxIcD4YSEy9aQvtUBdj6KAQ6jo4ABQA9AAAGMwYVABEAFQAmACoALgAlQBQjHAFyLioUFQZyDQYBci0XFwEKcgArMhEzKzIrMjIyKzIwMSEjETQ2NjMyFhcHJiYjIgYGFRcVITUBIxE0NjYzMhYXByYmIyIGFRcVITUhESMRAaG5VaBuIEEfChU1GjtVLPD9rAOtuV+yekmKSSAtekd3ad39vwOtuQSsdaFTCAiXBQQvWkJyjo77xgSYe6pYIxqcEiFrbF6OjvvGBDoAAAUAPQAABjMGFQARABUAKAAsADAAKUAXKwByJBwBci4UFC0VBnINBgFyKRcBCnIAKzIyKzIrMjIRMysyKzAxISMRNDY2MzIWFwcmJiMiBgYVFxUhNQEjETQ2NjMyFhYXByYmIyIGBhUBETMRARUhNQGhuVWgbiBBHwoVNRo7VSzx/asDrblXpXYshZdIVl+YNUFZLQGQuf6d/bYErHWhUwgIlwUEL1pCco6O+8YErHWhUxIcD4YSEy9aQvtUBdj6KAQ6jo4AAAQAPf/sBJsGFQADABcAGwAtACVAFCIpC3ITCnIJHBwNDQQBchgCAwZyACsyMisyETMRMysrMjAxARUhNQEyFhcVIzUmJiMiBgYVESMRNDY2ARUhNRMzERQWFjMyNjcXBgYjIiYmNQGC/rsB/VndXLkecS07USq5UpcCxf23xrkiNh8XMw0BFkcxRXFEBDqOjgHbNi7ReRAUMl1C+1QErHWhU/4ljo4BB/vLNzgSCQOXBw02f2wABABf/+wGVQYSABsAHwAxAGcAMUAbOzJAZGBbC3IBRUlAB3ImLQtyHhAfBnIUCgFyACsyKzIyKzIrMswyK8wzEjk5MDEBIy4CNTQ+AjMyHgIVIzQmJiMiBhUUHgIlFSE1NzMRFBYWMzI2NxcGBiMiJiY1BTQmJicuAzU0PgIzMhYWFSM0JiYjIgYGFRQeAhceAhUUDgIjIiYmNTMeAjMyNjYDsmYgUjszX4NQd5dTILkoWEhYXB4mHgKd/cG8uSI3Hhc0DQEWRzJEckT+NyNra1qRZTY5aZRbgrhiuTVlSU1fKxU2YkyFrFQ7b5lfj8ZmugRQdDlMZzYC/GGqnU09aU8sSXSHPkRoO1hGPGlrfe6Ojlj8lz5FGwgElwcNP4xzCyhFORUTNEpkQ0ByWDJcmV0tVTgvSCgeLyciER5UeldHdlUvZqJaTFklKEYAABUAW/5yB+4FrgAFAAsAEQAXABsAHwAjACcAKwAvADMANwA7AD8AQwBHAFcAcwCMAJoAqAAAEyMRIRUjISM1IREjASERMxUzBSE1MzUzASE1IQUhNSERITUhARUjNRMVIzUBITUhARUjNQEhNSEFITUhARUjNRMVIzUBFSM1BxEzERQGIyImNTMUFjMyNiUjJzMyNjU0JiMjESMRMzIWFhUUBgYHIgYHBhQHIzczMjY1NCYjIzczMhQXFBYxHgIVFAYBFRQGIyImNTU0NjMyFgc1NCYjIgYVFRQWMzI2zHEBNcQGs8cBNm/6Ef7LccQGXv7Kx2/+Uf7qARb84P7sART+7AEUBM9vb2/9MP7rARX8HXEEVP7rARUBkP7qARb6jXFxcQeTb+hca1BYbV04MCk2/cKWAXY7Ozs7XV+8Ql8zIkEvAQQCDA65MIk0MzM0dwGXDgwHKzoeaf6Ef2ZngYBmZ4BcSkFASktBQEkEkQEddHT+4/nhATvKcXHK/sVxcXEGV3T7dPn5AvL6+vpecQI/+fkEGHR0dPzu/PwBePr6/oj8/PMBev6GT1xRUy4tN3JGKScpHv4vAiUgQjQiOCQEEwEEAfRLLCcnL0YBBQETBCY5IkxPAUhwYXp6YXBhenrRcERPT0RwRU5OAAUAXP3VB9cIcwADAB4AIgAmACoAABMJAgMzNDY3NjY1NCYjIgYHMzY2MzIWFRQGBw4CEzUjFRM1MxUDNTMVXAO8A7/8QXfKGSlEYqeVf7ECywI+Jzg5NSgvPR3Jyn8EBgQCgwPP/DH8MQLeMz4bJYFSgJd9jTcwQDQ0TRohOk7+u6qq/UgEBAqaBAQAAQBCAAACqwMgABwAELUDHBwLEwIAL8wyMxEzMDElFSE1AT4CNTQmIyIGFSM0NjYzMhYWFRQGBgcHAqv9qgEgLTQXQDtLR55Ihl5agEQvVjuvgIBsAQ8qQjUWMD5MOUh2RzppSTVcXDWSAAEAewAAAe8DFQAGACNAFQQFBQMDLwB/AAIPAF8ArwD/AAQAAQAvzV1xMhEzETMwMQERIxEHNSUB75zYAWIDFfzrAlk5gXQAAAIAUf/1Ap4DIAARACMADLMXDiAFAC8zxDIwMQEVFAYGIyImJjU1NDY2MzIWFgM1NCYmIyIGBhUVFBYWMzI2NgKeSYRYWYVKSYVYWYRKniA9LCw9ICA/LCw8HwHQi3KVSUmVcotylUlJlf72pkNVKSlVQ6ZDVioqVgAAAQBW//kDmwSdADIAF0AKFB4eJgExCgwmfgA/Mz8zEjkvMzAxJTMyPgI1NTQuAiMiBgYVFBYWMzI+AjcXDgIjIiYmNTQ2NjMyHgIVFRQOAiMjARISf6xmLSZCVTBJaDcyZkw2XEUpAzQGU5RrgKhSYLqFbZ9oMjuN9boTkztqjlPKR2xJJUVyREByRiM9TClkOnlRbbNocLhvSYKsY0SC6bRnAAAEAGH/8AOuBJ0AEgAiADQARAAdQA0oFxdBDg4FOTF+HwULAD8zPzMSOS8zMxEzMDEBFA4CIyImJjU0PgIzMh4CBzQmJiMiBgYVFBYWMzI2NhMUDgIjIi4CNTQ2NjMyFhYHNCYmIyIGBhUUFhYzMjY2A65Bc5lZd8BwPnGaXFyacz+6PGtHSGo6OmtJR2o7nDpqj1VWkGk6ZbFxcbJnuTVePj5cMzNePj5dNAE9UX1UK0yVbEh1Vi4uVnU+O1cxMVc7PFYuLlYCUEJuUSwsUW5CZ5BLS5BuNFAtK083NlAsLFAAAQBCAAADwASNAAYADrUFAQZ9AwoAPz8zMzAxARUBIwEhNQPA/enEAhf9RgSNafvcA/SZAAEAcv/wA7sElAAxABVACRYfHw4nCwMAfgA/Mj8zOS8zMDEBMxUjIg4CFRUUHgIzMjY2NTQmJiMiBgYHJz4CMzIWFhUUBgYjIi4CNTU0PgIC7RQQfa1rMSdDWDBJaDczZ01EdEgENAhcmGOBpVBgt4VqoGw3QJL0BJSdPnCVVqhKcUwnP21FQ25COV45ZTp3UW2xZ3C0akh9pF1UhuuzZgABAIH/8APFBI0AIwAXQAohCQkCGRELBQJ9AD8zPzMSOS8zMDEBJxMhFSEDNjYzMhYWFRQGBiMiJiYnMxYWMzI2NjU0JiYjIgYBOZREAqj99SYhbkh6smJauY9qt3cKsg2BYk5nNDxzUVRWAh4lAkqi/t8QIV+ueWywaUqSbFlYPm5HRGo8KQAAAgAxAAAD5QSNAAcACwAVQAkAAQEKBAt9ChIAPz8zEjkvMzAxARUhJwEzAwEBESMRA+X8TgICQpCh/pUCPrkBnphzAxT+3f40Au/7cwSNAAACAE//8AOgBJ0AHQA9AB1ADR8AAB0eHhI0KgsJEn4APzM/MxI5LzMzETMwMQEzMjY2NTQmJiMiBgYVIzQ2NjMyHgIVFA4CIyMVNTMyHgIVFA4CIyIuAjUzFBYWMzI2NjU0LgIjAWB7U202MGFKQmU6umm5eFuVbDouYZdonZ15ol8pQHSbW1WYdkS5O2tIS2s5JUZiPQKcL1I1N1AsKUszXZBSKlR7UTNmVDMsaTBTbDxRf1gtKVN8UjVRLS1UPDNKLxcAAQBPAAADywSdAB4AErcLFH4DHh4CEgA/MxEzPzMwMSUVITUBPgI1NCYjIgYGFSM0NjYzMhYWFRQOAgcBA8v8ngGsTFUjcGNYcDW6Z8SMe7JfJ0VcNf64mJiDAZ1GaFQoUGs3YkJmqWRUl2M3Z2RmOP7pAAABAJkAAAKeBJAABgAKswZ9AgoAPz8wMQERIxEFNSUCnrr+tQHrBJD7cAOvYp6lAAACAGP/8AOrBJ0AFQArAA61HBF+JwYLAD8zPzMwMQEVFA4CIyIuAjU1ND4CMzIeAgM1NC4CIyIOAhUVFB4CMzI+AgOrO22bYF+bbzw7b5pfYJxuO7oeO1g6OFc7Hx88WDg6VzsdAp+ug8F/Pj5/wYOug8B+PT1+wP615FN8UikpUnxT5FN+VCsrVH4AAAMASAAAA+EEjQADAAkADQAcQAwEDAwNDQh9BwMDBgIALzMzETM/My8zETMwMSUVITUBASM1ATMjFSE1A+H8pgNB/Ph4Awp2SfzSmJiYA33763wEEZiYAAADAA4AAAQcBI0ABAAJAA0AG0AQCAcDBAYACg0IAQwKcgUBfQA/MysRFzkwMQEBMwEjAQEHIwEBESMRAd0Bb9D+TXH+5gFxHm/+TAJguAHlAqj9AAMA/VNTAwD9kv3hAh8AAAEAJwAABDIEjQALABVACgcKBAEECQUDAH0APzIvMxc5MDEJAjMBASMBASMBAQELAR0BH93+dQGZ3f7W/tjcAZb+cwSN/k0Bs/2+/bUBu/5FAksCQgAABAAxAAAF8QSNAAUACgAPABUAIEAOEgQQAQ4EDAEIBAYBfQQALz8zETMRMxEzETMRMzAxARMzBwEjAxMTIwEBEzMBIwMTEyMBJwHJ+IEu/vR+occqf/7WBEPFuP7Wf+L0Pn7+/C8BFgN39/xqBI38mv7ZBI38nANk+3MEjfyG/u0DlvcAAgAUAAAEVASNAAQACQAPtQcDBQF9AwAvPzMRMzAxAQEzASMBARMjAQJOAUDG/jeO/t8BPlGO/jcBIwNq+3MEjfyX/twEjQAAAQB1//AECwSNABUAD7UMEQYAfQYALz8RMzIwMQEzERQGBiMiJiY1ETMRFBYWMzI2NjUDUbp90X6Dz3i3RXxSU3tEBI389ISzWlqzhAMM/PRWbzU1b1YAAAIAKQAAA/0EjQADAAcAEbYGBwcBAH0BAC8/ETkvMzAxAREjESEVITUCbrgCR/wsBI37cwSNmZkAAQBE//AD3gSdADkAGEAKCiYPNjErGBQPfgA/zDMvzDMSOTkwMQE0LgInLgM1ND4CMzIWFhUjNCYmIyIGBhUUHgIXHgMVFA4CIyIuAjUzFB4CMzI2NgMjGTxqUWGcbzs+cqBijMdqujlzWVNuNiBGcFBhlmc1P3WjY1iri1K6LlJqPFNyOgEqJTsxKhMYP1VwSUZ1Vi9hoWE7XDUsTDAiOC4qFBhCWHJISXVSLC1biVw6UjMYKUoAAAIAigAABCYEjQAZAB4AGEAKGw0NDAwaGBcAfQA/Mi8zOS8zEjkwMRMhMh4CFRQGBgcHISchMjY2NTQmJiMjESMhATcBFYoBqmqmcjtFgVk3/nYCASpVcDk2c1rwugLV/tTDATAEjS9ahFZWhVsYG5g1Wzk/XjX8DAIHAf4CCgAAAwBa/zYEWASdAAMAGQAvABxADAADAysrCgoCIBV+AgAvPzMSOS8zEjkRMzAxJQUHJQEVFA4CIyIuAjU1ND4CMzIeAgc1NC4CIyIOAhUVFB4CMzI+AgMUAUR9/sUBtkiGu3Rxu4lKSoe7cXS8hkm4LFR6TUt4VS0uVnhLTXlUK5XxbvACQUKE0ZNNTZPRhEKE0ZRNTZTRxkRjmGg2NmiYY0RjmWk2NmmZAAABAIsAAAQbBI0AGAATtwIBAQ0MD30NAC8/MxI5LzMwMQEhNSEyNjY1NCYmIyERIxEhMhYWFRQOAgJe/rQBTFxyNjZyXP7muQHTj8dnOnKmAbaZNVw8OWI9/AwEjV+la1SFXjEAAgBg//AEWwSdABUAKwAQticGHBF+BgsAPz8zETMwMQEVFA4CIyIuAjU1ND4CMzIeAgc1NC4CIyIOAhUVFB4CMzI+AgRbSIa7c3G7iUpKh7txdLuHSLcsVHpNSnhVLi5WeUpOeFQrAmdChNGTTU2T0YRChNGUTU2U0cZEY5hoNjZomGNEY5lpNjZpmQABAIsAAARZBI0ACQARtgMIBQEHAH0APzIvMzk5MDEBESMBESMRMwERBFm5/aS5uQJcBI37cwNs/JQEjfyUA2wAAwCLAAAFeASNAAYACwAQABZACQIOCgUMBwQAfQA/MjIyLzMzOTAxEzMBATMBIwEzExEjATMRIxHMrgGHAYau/g+H/c6dG7gET565BI38cQOP+3MEjf0F/m4EjftzAZIAAgCLAAADiwSNAAMABwAPtQYDAgR9AgAvPxEzMzAxJRUhNRMRIxEDi/2MLbmYmJgD9ftzBI0AAwCLAAAEVwSNAAMACQANABdADAYHCwUMCAYKAQQAfQA/Mi8zFzkwMQERIxEhAQEnNwETATcBAUS5A6v9/f7gJNcBjCT+RXsCIQSN+3MEjf3T/uq87AGb+3MCLIT9UAAAAQAs//ADTQSNABMADbQQDAcBfQA/L8wzMDEBETMRFAYGIyImJjUzFBYWMzI2NgKTumWvcHa7bLo4Z0Q8WzMBUwM6/MZvn1VLmnZFVygxWwABAJgAAAFRBI0AAwAJsgB9AQAvPzAxAREjEQFRuQSN+3MEjQADAIsAAARZBI0AAwAHAAsAGEAKAgMDBAkFCAR9BQAvPzMRMxI5LzMwMQEVITUTESMRIREjEQPA/V8luQPOuQKLmZkCAvtzBI37cwSNAAABAGT/8AQ2BJ0AKgAWQAkpKioFGRB+JAUALzM/MxI5LzMwMQERDgIjIi4CNTU0PgIzMhYWFyMuAiMiDgIVFRQeAjMyNjc1ITUENhlptYx0wY1NRIO9eJTFbQ+3C0B1XFJ6UScwW39PfHIY/ucCUP5GIE44S4/PhFSDzpBLX6ZrPWI5NmiVX1Zhl2g2NRbukAADAIsAAAObBI0AAwAHAAsAGkALBwYGAQoLCwEAfQEALz8ROS8zETkvMzAxAREjEQEVITUBFSE1AUS5AsH9zAKD/X0EjftzBI39/5iYAgGZmQAAAwBE/xMD3gVzAAMABwBBAClAEwc+PiQIFzMGBjMLAiAgFwAAF34APzMvETMRMz8zLxESOTkzETMwMQERIxETESMRJTQuAicuAzU0PgIzMhYWFSM0JiYjIgYGFRQeAhceAxUUDgIjIi4CNTMUHgIzMjY2AnGVlZUBRxk8alFhnG87PnKgYozHaro5c1lTbjYgRnBQYZZnNT91o2NYq4tSui5SajxTcjoFc/7PATH60f7PATHmJTsxKhMYP1VwSUZ1Vi9hoWE7XDUsTDAiOC4qFBhCWHJISXVSLC1biVw6UjMYKUoAAwAxAAAD7wSdAAMABwAmAB1ADQQFBQEiGX4OAgINAQoAPzMzETM/MxI5LzMwMSEhNSEDFSE1JRMWBgYHJz4DJwMmPgIzMhYWFSM0JiYjIg4CA+/8gwN90v0UAVUIAxIuKK0dJBQHAgkEM2SOWIGsVbk3WzcuSTIZmAHWeXl6/upQlXckRghDXmYrARZoonA7Ya50VWYtJEhpAAUADgAAA5IEjQADAAcADAARABUAG0ALBgcDAgIRFAoJEX0APzM/Ejl8LzMYzjIwMQEVITUFFSE1JQEzASMDAQcjAQERIxEDO/0jAt39IwFGASvD/pJx3wEtFW/+kQIbuAIaenrEeHiPAqj9AAMA/VNTAwD9kv3hAh8AAgCLAAADhQSNAAMABwAOtQcGA30CCgA/PzMzMDEBESMRIRUhNQFEuQL6/ZMEjftzBI2ZmQAAAwAUAAAEVASNAAMACAANABtADAgMfQAFBQkCAwMJCgA/MxEzETMRMz8zMDEhNSEVAQEzASMBARMjAQO8/O4BpAFAxv43jv7fAT5Rjv43mJgDavyWBI37cwNpAST7cwAAAwBg//AEWwSdAAMAGQAvABdACgMCAgogFX4rCgsAPzM/MxI5LzMwMQEVITUFFRQOAiMiLgI1NTQ+AjMyHgIHNTQuAiMiDgIVFRQeAjMyPgIDVf4gAuZIhrtzcbuJSkqHu3F0u4dItyxUek1KeFUuLlZ5Sk54VCsCkpiYK0KE0ZNNTZPRhEKE0ZRNTZTRxkRjmGg2NmiYY0RjmWk2NmmZAAIAFAAABFQEjQAEAAkADrUBCQoECH0APzM/MzAxAQEzASMBARMjAQJOAUDG/jeO/t8BPlGO/jcDavyWBI37cwNpAST7cwADAD4AAANLBI0AAwAHAAsAF0AKBwYGAgoLfQMCCgA/Mz8zEjkvMzAxJRUhNQEVITUBFSE1A0v88wLK/XcCzPzzmJiYAhSZmQHhmJgAAwCLAAAERASNAAMABwALABO3CgULBwIAA30APzMzMzMvMzAxARUhNTMRIxEhESMRA679bye5A7m6BI2YmPtzBI37cwSNAAMAQAABA8kEjQADAAcAEAAlQBINCAkDCgYQEA4HfQoCDAMDAgoAPzMRMxEzPzMzETMSFzkwMSUVITUBFSE1ARUBIzUBATUzA8n8wQMN/NACCf48bAFQ/rBsmZiYA/SYmP3HGf3GjwG3AbePAAMAYQAABQYEjQAVACcAKwAVQAkWAAArfR4MKgoAP80yPzMvMzAxATMyHgIVFA4CIyMiLgI1ND4CFyIGBhUUFhYzMzI2NjU0JiYjExEjEQKGWXXJlVRUlcl1WXXIlVNTlch1daNVVaN1W3WjVlajdTC6BBg8d65ycrB4Pj13sHJyr3c9m0GLbm6MQUKNbm6JQQEQ+3MEjQAAAgBhAAAEtgSNABkAHQAfQA4VFBQGBwcNHA4AHR0NfQA/MxEzPxI5ETMzETMwMQEzERQGBiMjIi4CNREzERQeAjMzMjY2NQERIxED/bmD964Vf8eKSLksWINYFXyiUf7ruQSN/si2/oRLkdSIATj+yGSbazdhu4UBOPtzBI0AAwB2AAAEfgSdACwAMAA0ACdAEy00Ci4zCigSEikRETIyMQoGHX4APzM/MxEzETMzETM/Mz8zMDEBNTQuAiMiDgIVFRQeAhcVLgM1NTQ+AjMyHgIVFRQOAgc1PgIBNSEVITUhFQPCJ1F8VlV8USckRmM/bah0PESDwHt7wIREO3KmbFtzOP76AcL7/AHBAmgmUohkNjZkiFImZp1xRxB6DV2YynkkcMCQUVGQwHAkecmYXQ56FnC9/iCYmJiYAAMAJ//sBS0EjQADAAcAIwAcQA0XFgsgDQ0DBAoFAgN9AD8zMz8SOS8zPzMwMQEVITUBETMRAzU+AjMyFhYVFA4CIzUyPgI1NCYmIyIGBgOw/HcBY7pCOHKAS4nEaUR7pWJCZUMiOG9VSIB0BI2YmPtzBI37cwIcmRUhElqziGqSWSeYGDVYP1hvNRIhAAACAGH/8AQxBJ0AAwArABdACgABAQkdFH4oCQsAPzM/MxI5LzMwMQEVITUBMw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgIzMjY2Atn99gKougxxzZdxtoJGRoS7dJLIcQy6Cj52X094USklTHZQZHg/ApSZmf7lcbJmTY/KfWZ9ypBNZbR1TW47NWeSXWdYkWo5OG0AAAMAKAAABvsEjQARACkALQAgQA8oKSkcLB0BLX0fHAoLCAoAPzM/Mz8zMzMSOS8zMDEBMwMOBCMjNzc+BDclMhYWFRQOAiMhETMRITI2NTQmJiMhNQMVITUBKLoUBBszU3hTNgMpKz4qGw8EBDeJwWU5b6Bn/jG6ARWBdTNtVv64cf3DBI395n3Jl2QypQEBIkRsl2NlW6JsUYZiNgSN/AuEVTddOpkBtZiYAAADAIsAAAcKBI0AFwAbAB8AIUAPFxYWGxoaHgsffQ0KCh4KAD8zETM/MxI5LzMzLzMwMQEyFhYVFA4CIyERMxEhMjY1NCYmIyE1BxUhNRMRIxEFWonBZjpvoGf+MboBFYJ0M2xX/rhm/XMluQLYW6JsUYZiNgSN/AuEVTddOplNmZkCAvtzBI0AAwApAAAFLgSNAAMABwAbABlACxgNDQMTBAoFAgN9AD8zMz8zEjkvMzAxARUhNQERMxEDNT4CMzIWFhURIxE0JiYjIgYGA7H8eAFjuUE4cYBLicRpuThwVUh/dASNmZn7cwSN+3MCHJkVIRJZtIv+mwFlWnE0EiEABACL/poEQwSNAAMABwALAA8AG0AMDwt9AwcHDgoCAgoKAD8zLxEzMxEzPzMwMSURIxElFSE1ExEjESERIxECxboBo/1vJ7kDuLmE/hYB6hSYmAP1+3MEjftzBI0AAAIAiwAABAkEjQAXABsAG0AMAgEBDQsOChsaGg19AD8zETM/MxI5LzMwMQEhFSEyFhYVFAYjIREjESEyPgI1NCYmEzUhFQJZ/rkBR1dsM3SC/uu5Ac5noG86ZsGz/YMC2Jk6XTdVhAP1+3M2YoZRbKJbAR+WlgADAC7+rAToBI0AEAAWAB4AI0AQGh0dCRcKChwUCQoWEREAfQA/MhEzPzMzMxEzETMvMzAxATMDDgQHIzczPgM3EyERIxEhASERIxEhESMBUrcQBSc/T1svXAUoID81IwU8Atu5/d7+sQS5uvy7uwSN/kqK051xTx2YJlZ8vI0BtPtzA/X8o/4UAVT+rQAABQAfAAAF7ASNAAMACQANABMAFwA1QBkUFxcRDAsLBwcREQYODg8KAgIVCgkDAw99AD8zETM/MxEzEjkvMzMRMxEzETMRMxEzMDEBESMRIQEhJzMBEwE3CQIzATMHJwEjAQNiuQMf/l3+4hzRASwa/rKHAbH78/5k4QEr0Ryu/rTrAbUEjftzBI39apkB/ftzAhOG/WcB9wKW/gOZHP3tApkAAgBI//AD1QSdAB4APgAdQA0fAgIBPj4VNCoLCxV+AD8zPzMSOS8zMxEzMDEBIzUzMjY2NTQmJiMiBgYVIzQ+AjMyHgIVFA4CJzMyHgIVFA4CIyIuAjUzHgIzMjY2NTQuAiMjAhCSjlpwMzh0XEJsQblBc5paX6N6RUN3nuySdatvNkqDqF9ImoVSuQVGcURafkIjRWVCjgIsdCtPNjNQLyRKOkt3VC0lTXlTRXFRLEUvU24/V4BTKCBNgmFCUCQsUzkzSzEYAAADAIsAAARiBI0AAwAHAAsAG0AMAAMKBwsKAQIFBQh9AD8zETMzPzMzMzMwMTcBFwEBMxEjATMRI8AC6IP9GQJkurr847m5XAQxXPvPBI37cwSN+3MAAAMAjAAABCwEjQADAAkADQAfQA4MCwsHBwYGAgkDfQoCCgA/Mz8zEjkvMxEzETMwMQERIxEhASMnMwETATcBAUW5A4H96vAcvgGEEP5bbgImBI37cwSN/WqZAf37cwIThv1nAAADACgAAAQ3BI0AAwAHABkAGEALExAKBwIDAwh9BgoAPz8zETMzPzMwMQEVITUhESMRITMDDgQjIzc3PgQ3A5P9wwLhuv2ruhYFHDRTdlA2AykrPSoaDwQEjZiY+3MEjf3mfcmXZDKlAwMiRGqVYwAAAgAj/+wEDASNABIAFwAXQAoBF30VFhYODgcLAD8zETMRMz8zMDEBATMBDgIjIiYnNxYWMzI2NjcDExMHAQIiARXV/mwhS3xrGUIJBgtBEDJBKxLb/XCf/l0BuALV/GVKd0UEA5QBAy1FJAN0/aT+2i8DsQAEAIv+rATyBI0ABQAJAA0AEQAdQA0RDX0FCQkQCwgCAggKAD8zLxEzMzMRMz8zMDElAyMRIzUzFSE1ExEjESERIxEE8hKmkAT9bye5A7m6mP4UAVSYmJgD9ftzBI37cwSNAAIAPQAAA+AEjQADABcAE7cUCQkCAw59AgAvPzMSOS8zMDEBESMRExUOAiMiJiY1ETMRFBYWMzI2NgPgukI4cn9MiMVpujhwVEl/dQSN+3MEjf3mmRUgE1m1igFj/p1acDUTIAAEAIsAAAXHBI0AAwAHAAsADwAZQAsLBwcPEAoGBgMOfQA/MzMRMz8zETMwMSUVITUBESMRIREjESERIxEFMfvGAo65Avu6/De5mJiYA/X7cwSN+3MEjftzBI0AAAUAi/6sBnUEjQAFAAkADQARABUAJ0ASEQ0NFX0EEAICEBAMDBMTCQgKAD8zMxEzETMRMy8RMz8zETMwMSUDIxEjNTMVITUBESMRIREjESERIxEGdRKlkAP7xgKOuQL8u/w3uZj+FAFUmJiYA/X7cwSN+3MEjftzBI0AAgAJAAAE1wSNAAMAGgAXQAoGBQUPEgoRAQB9AD8yMj8zOS8zMDETFSE1ASEVITIWFhUUBiMhESMRITI2NjU0JiYJAbUBaf65AUdXbTN1gv7ruQHOicFmZsEEjZiY/kuZOl03VYQD9ftzXqZrbKJb//8AiwAABWcEjQAmAiIAAAAHAf0EFgAAAAEAiwAABAkEjQAWABVACRUWFgoMCQoKfQA/PzMSOS8zMDEBMhYWFRQGBiMhETMRITI2NTQmJiMhNQJZicFmZsGJ/jK5ARWCdDNsV/65Athbomxrpl4EjfwLhFU3XTqZAAIAS//wBBsEnQADACsAF0AKAgEBHAgnCxMcfgA/Mz8zEjkvMzAxASE1IQEeAjMyPgI1NTQuAiMiBgYHIz4CMzIeAhUVFA4CIyImJicDrf33Agn9WAw/eWRQdUwlKVF4T152Pgu6DXDJkXS7hEZGgbZxl81xDQH7mf7lTW04OWqRWGddkmc1O25NdbRlTZDKfWZ9yo9NZrJxAAAEAIv/8AYWBJ0AAwAHAB0AMwAdQA4kGX4vDgsDAgIGB30GCgA/PxI5LzM/Mz8zMDEBFSE1ExEjEQEVFA4CIyIuAjU1ND4CMzIeAgc1NC4CIyIOAhUVFB4CMzI+AgKF/m9QuQWLSIa7c3G7iUpKh7txdLuHSLgsVHlNS3hVLi5XeEtNeVMrApeZmQH2+3MEjf3aQoTRk01Nk9GEQoTRlE1NlNHGRGOYaDY2aJhjRGOZaTY2aZkAAAIAUAAAA/0EjQADACMAGUALIwAEBBkbFn0ZAQoAPzM/MxI5LzMzMDEBASMBBSEuAicuAicuAjU0PgIzIREjESEiBhUUFhYzIQJL/srFAUEB5f6DDw4RFAMODgNddzk4bp5mAcu6/u+BbzBqVgFGAkb9ugJGZgIGBwQBCAgBF1l6SVF/Vy77cwP1bFg4VC0AAAMACwAAA+gEjQADAAcACwAbQAwLCgoDAgYHBwN9AgoAPz8zETMREjkvMzAxAREjESEVITUBFSE1Aaa5Avv9kgEO/YMEjftzBI2Zmf4ImJgABgAf/qwGIwSNAAMABwANABEAFwAbADtAHAIOAQEODgYbGBgVEhIQDwwJCRMGBhkKDQcHE30APzMRMz8zERI5LzMzMzMRMzMRMxEzETMvETMwMQEjETMBESMRIQEhJzMBEwE3CQIzATMHJwEjAQYjqKj9P7kDH/5d/uIc0QEsGv6yhwGx+/P+ZOEBK9Ecrv606wG1/qwB6wP2+3MEjf1qmQH9+3MCE4b9ZwH3Apb+A5kc/e0CmQAEAIz+rAROBI0AAwAHAA0AEQAnQBIQDw8LCgoGDQd9Ag4BAQ4OBgoAPzMRMy8RMz8zEjkvMzMRMzAxASMRMwERIxEhASMnMwETATcBBE6np/z3uQOB/erwHL4BhBD+W24CJv6sAesD9vtzBI39apkB/ftzAhOG/WcAAAQAjAAABOgEjQADAAcADQARAClAExAPDwoACwsKAwMKCgYNB30OBgoAPzM/MxI5LzMvETMRMxEzETMwMQEzESMDESMRIQEhJyEBEwE3AQGUlZVPuQQ9/er+VBwBeQGFEP5bbgImA3X9tANk+3MEjf1qmQH9+3MCE4b9ZwAEACQAAAUVBI0AAwAHAA0AEQAhQA8QDw8LCgoOBgoNBwcDAH0APzIyETM/MzkvMzMRMzAxEyEVISURIxEhASMnMwETATcBJAG1/ksCCrkDgf3q8By+AYQQ/lxtAiYEjZiY+3MEjf1qmQH9+3MCE4b9ZwABAGD/6wVcBKAARAAbQAwAAQEvGAskIyM6DX4APzMzETM/MzMvMzAxJRUiLgM1NTQ+AjMyHgIVFRQOAiMiLgI1NTQ+AjMVIg4CFRUUHgIzMj4CNTU0LgIjIg4CFRUUHgIFXJX8xYpINGSRXFyQZTRfru+Ri9yZUUF5p2Y/ZEYlNWeZY3CteD4YMU01NE0yGE6b6YqeOG+h04EmdbeAQ0B+uXg6k++rXFKf5pMfhs+OSZ4wY5RlIXOtczlEgLZxPVV+UykrVX1SK4C/fj8A//8ADgAABBwEjQAmAe0AAAAHAkAARP7dAAIAJ/6sBHEEjQADAA8AIkARCw4IBQQKBg99AgoBAQoKDQoAPzMRMy8RMz8zEhc5MDEBIxEzCQIzAQEjAQEjAQEEcaen/JoBHQEf3f51AZnd/tb+2NwBlv5z/qwB6wP2/k0Bs/2+/bUBu/5FAksCQgAFACf+rAXzBI0ABQAJAA0AEQAVACJAEBENDRQVfRASDAkECAICCBIAPzMvETMzMz8/MzMRMzAxJQMjESM1MxUhNRMRIxEhESMRIxUhNQXzEqaQBP1uKLoDubnb/HeY/hQBVJiYmAP1+3MEjftzBI2YmAADAD0AAAPgBI0AAwAHABsAH0AOABgYDQMDDQ0GBxJ9BgoAPz8zEjkvMy8RMxEzMDEBMxEjAREjERMVDgIjIiYmNREzERQWFjMyNjYBxpSUAhq6Qjhyf0yIxWm6OHBUSX91Axz9tAO9+3MEjf3mmRUgE1m1igFj/p1acDUTIAACAIsAAAQtBI0AAwAXABRACQ8SFAkJAX0AEgA/PzkvMz8wMTMRMxEDNT4CMzIWFhURIxE0JiYjIgYGi7lBOHGAS4nEabk4cFVIgHQEjftzAhyZFSESWbSL/psBZVpxNBIhAAEAAv/wBWwEnQA0ABtADBgYHR0RESILfi0ACwA/Mj8zOS8zETMvMDEFIi4CNTU0PgIzMh4CFRUhIi4CNTMUFhYzITU0JiYjIg4CFRUUHgIzMjY3Fw4CA5KD0JJNTou8b4DDg0L8JmOWZDOZNW1VAyFKlHFKelcvK1qPZGiLMDkZXYoQTY7CdoN3xI9NSorEe4Y1Y4xWRWY4G2aVUTZkjFaDUYdjNjEWkg8pHwABAF7/8ARqBJ0AKwAVQAkRFBQZCwskAH4APzI/MzkvMzAxATIeAhUVFA4CIyIuAjU1IRUhFRQWFjMyPgI1NTQuAiMiBgcnPgICSH/KjktNjLxugcODQgOO/SxJlXFKeVcvK1qPZGiLLzkaYJAEnU2Ow3aCd8SPTUqKxHuGmBpmlVE2ZIxWglGHYzcxF5IQKR8AAAIASP/sA9UEjQAHACYAG0AMCAUFBCYmHRMLBwB9AD8yPzM5LzMzETMwMRMhFwEjNQEhATMyHgIVFA4CIyIuAjUzHgIzMjY2NTQmJiMjcAM4Af5KaAEp/bwBG4V1q282SoOoX0iahVK5BUZxRFp+Qj55WIEEjXb+OXQBMf7APWd9QV6IVyoiTYRhQlMnL11FQFkwAAADAGD/8ARbBJ0AFQAkADQAG0AOCyVqLR1qLS0LABZqAAsALy8rEjkvKyswMQEyHgIVFRQOAiMiLgI1NTQ+AhciBgYHBgYHISYmJy4CAzI2Njc2NDchFhYXHgMCXXS7h0hIhrtzcbuJSkqHu3FZiFULAQEBAooBAQELU4hbXolRCgEB/XYBAQEINVRvBJ1NlNGEQoTRk01Nk9GEQoTRlE2bTZVsCBEJCRMIa5RN/IhOmG0IDwcIEQhRflUsAAQAMQAAA+8EnQADAAcACwAqACFADwYHAwICCSYdfhIKChEJEgA/MzMRMz8zEjkvM84yMDEBFSE1BRUhNQEhNSEBExYGBgcnPgMnAyY+AjMyFhYVIzQmJiMiDgIDHf0UAuz9FAO+/IMDff2XCAMSLiitHSQUBwIJBDNkjliBrFW5N1s3LkkyGQKpenrneXn+PpgCUP7qUJV3JEYIQ15mKwEWaKJwO2GudFVmLSRIaQAAAwBD//ADnwSdACMAJwArAB1ADScmJiorKwcZEn4ABwsAPzM/MxI5LzMzLzMwMSUyNjcXBgYjIi4CNTU0PgIzMhYXByYmIyIOAhUVFB4CExUhNQUVITUCujtbNBs3cD5xsnxBQHuycT9rPRUzZDtLbkkjJElvwf0TAu39E4cPDpUPEEB/vHu8e76AQhEOlBALLVmEV75Xg1ksAm55eeZ5eQAABACLAAAHrQSdAAMAFQAnADEAKUASKzAuLSQJCTEufSotChsSEgIDAC8zM3wvMxg/Mz8zMy8zERI5OTAxARUhNQM1NDY2MzIWFhUVFAYGIyImJjcVFBYWMzI2NjU1NCYmIyIGBgERIwERIxEzAREHb/3TQVSZaWqZU1KZaWqaVKMnUT08TycoTz08UCf+tbn9pLm5AlwBS46OAbBTYpdWVpdiU2GXVlaXtFM4WTMzWThTN1g0NFgBCPtzA2z8lASN/JQDbAAAAgAoAAAEZwSNABgAHAAbQAsbHAIBAQ4MD30OCgA/PzMSOXwvMxjOMjAxASE1ITI2NjU0JiYjIREjESEyFhYVFA4CBxUhNQK3/XECj1dsMzNsV/7ruQHOicFmOm+gef2DAaWYQGQ2OWVA/AsEjWGoa1GIZDdZl5cAAgA///UCmwMgABkAMwAZQAobAAAZGhoIECwkAC8zzDI5LzMzETMwMQEzMjY2NTQmIyIGFSM0NjYzMhYWFRQGBiMjFTUzMhYWFRQGBiMiJiY1MxQWMzI2NTQmJiMBClQxQCFARTlLnUyCUFeESkF7WG9vZIA+UItXS4lWnVBCRkknRzEByxwxICw8MitEYzYzZEk1WTUlTjBaQEloNjFoUS09PjEqMxcAAgA2AAACvAMVAAcACwAXQAkDBwcBAQYFCAoAL8wyMjkvMxEzMDEBFSEnATMHAwERIxECvP2BBwF6fInPAXydASyCZgIF5f78Aen86wMVAAABAFz/9QKoAxUAIQASth8JCQQDGREALzPMMjkvMzAxEycTIRUhBzY2MzIWFhUUBgYjIiYmJzMWFjMyNjU0JiMiBu59MQHf/qMXE0suVXlBQIJkSoRUBJsFTDpJP05JNzgBZCABkYOrCBY+dFFHe0s1ZkgzMFI9Pk4cAAEAVv/1AqwDHwAtABO2ExwcAwAMJAAvM8wyOX0vMzAxATMVIyIGBhUVFBYWMzI2NjU0JiMiBgYHJz4CMzIWFhUUBgYjIiYmNTU0PgICExYLYoZDJkIqKj4iR0QrRioCKgM7a0hVcThHg1peiUs5caYDH4M5dlp0OEwmJkAoPkshNBwvK1k+RnhKTXtHTY1gN2ijcjwAAAEAOwAAAqYDFQAGAAyzBQEGAgAvzDIyMDEBFQEjASE1Aqb+oqYBXv47AxVa/UUClIEABABP//UCnwMgAA8AHwAvAD0AF0AKDCQ7AxQUNCwcBAAvM8wyOS8XMzAxJRQGBiMiJiY1NDY2MzIWFgc0JiYjIgYGFRQWFjMyNjYTFAYGIyImJjU0NjYzMhYWBzQmJiMiBhUUFhYzMjYCn02GVFSGT02GVVWGTZwkPykqPiIiPyopPyOJR3xRUX1HR31QUH1Inh01JTdAHTYlNz/YS2UzM2VLRGI2NmI4IzEbGzEjIjIbGzIBgj5dMzNdPkdiMzNiUR8tGjYwHi4aOAAAAQBK//kClQMgAC4AE7YSGxsKIwEtAC8zzDI5fC8zMDE3MzI2NjU1NCYmIyIGBhUUFhYzMjY2NxcOAiMiJiY1NDY2MzIWFhUVFA4CIyPRDmR8OiU+KCo9IR8+LS1CJQEvAjxmQ1R0O0eDWl2ERjRspHEPeDRsUpI3SCQqRSkoQCYiNBotLlc4Q3dOTX9NTZBlM2mhbzkAAQCPAosDDAMjAAMACLEDAgAvMzAxARUhNQMM/YMDI5iYAAMAnwRAAm8GcgADAA8AGwAZQAkTDQ0HAQMDGQcALzMzfC8YzREzETMwMQE3MwcHNDYzMhYVFAYjIiY3FBYzMjY1NCYjIgYBIJK93PRlRkVjY0VGZVQ0IyMxMSMjNAW7t7fYSl1dSkhbW0gjMTEjJjIyAAQAiwAAA68EjQADAAcACwAPABtADAsKCgYPDgd9AwIGCgA/MzM/MzMSOS8zMDElFSE1ExEjEQEVITUBFSE1A6/9aC25As39vwKS/W6YmJgD9ftzBI3+GZeXAeeZmQAEAB/+SgQRBE4AEgAkAFsAXwAzQBpdXwZyJSYYGA9AQUEuU1MPDwVKNw9yIQUHcgArMisyETkvOREzMxEzETMSOTkrMjAxEzU0NjYzMhYWFRUUDgIjIiYmNxUUFhYzMjY2NTU0JiYjIgYGExcGBhUUFhYzMzIWFhUUDgIjIi4CNTQ2NjcXDgIVFB4CMzI+AjU0JiYjIyImJjU0NjYBFyEnXW3BfoDBbD5xnV9/wm25PW5KSW08PW5JSG49J14bQCI6I6yCt2JHiseAca11PFqFQjcqSC0hRWhIVYNZLiljVtBFdUg3TQLyAv6DCwLSFmiiXFyiaBZJgmM4YaN4FjRfPDxfNBY4XTk5Xf6uMhA9OB8lDz+CZTl4ZT4sTmQ3WX1LDU0HNU8xITstGiM5Qh8tQCImTz5DXDwCf5KSAAAEAGT/6wRZBE4AFQArAC8AMwAXQAwwCi0GHBELcicGB3IAKzIrMj8/MDETNTQ+AjMyHgIXFQ4DIyIuAjcVFB4CMzI+Ajc1LgMjIg4CBRMzCwIzE2Q4a55mZphqPgwLPmuZZ2SdbDi6IENrSz9eQywOCypDYEBMa0QgAjVOsWpAVZVxAfUVgNSbVUmJwXlLeMGKSU2Mv4cVTYZmOUBujEwlSotxQkR2m0UCHv3i/eQCHP3kAAACALIAAATkBbAAGQAuAB9ADyYIGxoaAgEBDgwPAnIOCAA/KzISOS8zMxEzPzAxASEnITI2NjU0JiYjIREjESEyFhYVFAYGDwI3MhYWFRUUFhYXFSMuAjU1NCYmAt/+ZgIBaHSMPz6Ea/62wQINoNtxVKByGFQWp7xODB4axh4aBj92AnWdO3JSTnQ/+u4FsF+4iF2SZRobE29fqGyFKE9DGRkbXVwagU92QQAAAwCyAAAFHgWwAAMACQANACBAEAoICQIMCwsHBgYCAwJyAggAPysSOS8zMxEzPz8wMQERIxEhASEnIQETATcBAXPBBEL9iP6qHgEBAfwt/d1sAqMFsPpQBbD836ACgfpQAqip/K8AAwCTAAAEFQYAAAMACQANABxADgsHBgYCCQZyAwByCgIKAD8zKysSOS8zMzAxAREjEQEBISczARMBNwEBTLkDTv5D/uYW1gE7NP6MYgHuBgD6AAYA/jr9u5oBq/vGAgKl/VkAAAMAsgAABPsFsAADAAkADQAaQA4GCwcIDAUCCQMCcgoCCAA/MysyEhc5MDEBESMRIQEhJzMBEwE3AQFzwQQg/VH+7gt4AmQr/TWhAxgFsPpQBbD9H1sChvpQAuhl/LMAAAMAkwAAA/IGGAADAAkADQAgQBAMCwsHBgYCCQZyAwFyCgIKAD8zKysSOS8zMxEzMDEBESMRAQEjJzMBEwE3AQFMuQM1/dyaFlkBijb+OWsCQQYY+egGGP4i/bqZAa37xgIAk/1tAAIAiwAABCAEjQAZAB0AFkAJGxoPAgEOD30BAC8/MxEzETMyMDEhITchMjY2NTU0LgIjITUhMh4CFRUUBgYBESMRAef++AEBB4GrVDBei1v+5gEafM2UUI3//rC5mGCze0JflGU0mU2Ry35Ap/iHBI37cwSNAAABAGH/8AQxBJ0AJwARthkVEH4kAAUAL8wzP8wzMDEBMw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgIzMjY2A3e6DHHNl3G2gkZGhLt0kshxDLoKPnZfT3hRKSVMdlBkeD8BeXGyZk2Pyn1mfcqQTWW0dU1uOzVnkl1nWJFqOThtAAACAIsAAAPwBI0AGQAxAChAExwbKRkCAgEbJgEBJhsDDQwPfQ0ALz8zEhc5Ly8vETMSOTkRMzAxASEnITI2NjU0JiYjIxEjESEyHgIVFAYGBwMhNyEyNjY1NCYmIyM3IRceAhUUDgICUv7BAgEdSGg4OG1Q3bkBlmOecTxMjmVH/ohfARlNaTcvZVDvAQFBKGCBQjtvnAITjCdLNjxNJPwMBI0mTnhSR3VJB/29mCxSOTtYMYw1A1F/SVN9VCoAAwAUAAAEcQSNAAQACQANABxADA0ABgMMDAEHA30FAQAvMz8zEjkvEjk5MzAxAQEjATMBASczAQMVITUCXv5zvQHfeQFJ/nYNegHZ1/1MA+r8FgSN+3MD7p/7cwGvmJgAAQCfBI8BlgY8AAoACrIFgAAALxrNMDETNTQ2NjcXBgYVFZ8sQR9rIhsEj4E7dWAcUzxoPngAAgCCBN8C4AaLAA8AEwAStRITCgANBQAvM3zcMtYYzTAxATMUBgYjIiYmNTMUFjMyNicnMxcCR5lJiF1eiEqYRFRQRbWkmXEFsD1eNjZePS5FRULHxwAC/KMEvf7MBpQAFwAbAB1ADAAVFQUZGxsJEREMBQAvMzMRMzMvMxEzETMwMQEXFAYGIyImJiMiBhUnNDY2MzIWFjMyNiU3Mwf+eVMrSjE2QTosIjBUKksxLURCKiEy/vCDq7YFlRgwUjEmJjMmFTBTMyYlM0Li4gACAG8E4gRYBpUABgAKABS3CAcHBQGABAYALzMazTkzL80wMRMBMwEjJwclEzMDbwEjmAEjxaqqAc+NyMkE4gEG/vqenrEBAv7+AAL/XQTPA0cGgwAGAAoAF0AJB0AICAMGgAIEAC8zGs05My8azTAxAQEjJwcjASUTIwMCIwEkxqqpxQEi/pqOjckF1v75n58BB63+/gECAAIAaQTkA+0G0AAGABoAH0ANERIIQBoJCAgDBoACBAAvMxrNOTMRMzMaEMwyMDEBASMnByMBBSMnPgI1NCYmIzcyHgIVFAYHAjUBEqvFxKoBEAHtcwEsNhomQCcGQGFDIlMzBev++bq6AQd9hAMMGRYZHQ1dFys7JUE7BwACAGkE5ANHBtQABgAeACVAEAgHBxAYDEAUExMcDAwGgAQALxrNMhEzMxEzGhDNMjIRMzAxAQUjJwcjJTcXFAYGIyImJiMiBhUnNDY2MzIWFjMyNgIZAS6rxcSqAS35TStILTI8NSkfNE0rSSwqPj0nHzQF2PSenvT8FihILSQkLxwTKEkvIyMtAAADAIsAAAOFBcQAAwAHAAsAG0AMAgoKCwsHAwMHfQYKAD8/My8RMxEzETMwMQERIxEBESMRIRUhNQOFuf54uQL6/ZMFxP4wAdD+yftzBI2ZmQAAAgCCBN8C4AaLAA8AEwAStRETAAoNBQAvM3zcMhjWzTAxATMUBgYjIiYmNTMUFjMyNic3MwcCR5lJiF1eiEqYRFRQRdBxmaQFsD1eNjZePS5FRULHxwACAIIE4ALLBwQADwAlAChAERscHBElEhIREQkNBQAJCQUQAD8zfC8zETMRMxgvMxEzETMvMzAxATMUBgYjIiYmNTMUFjMyNicjJz4CNTQuAiM3Mh4CFRQGBgcCOJNHgltahEeSRE9OQ0mAATE9HhksOyEHSG5JJitEJgWwPV41NV49LkVFP30CDBcUEBcOBlIVJjUgJzAYBQD//wBRAo0CngW4AgcB4QAAApj//wA2ApgCvAWtAgcCOgAAApj//wBcAo0CqAWtAgcCOwAAApj//wBWAo0CrAW3AgcCPAAAApj//wA7ApgCpgWtAgcCPQAAApj//wBPAo0CnwW4AgcCPgAAApj//wBKApEClQW4AgcCPwAAApgAAQB+/+sFHgXFACkAFUAKGhYRA3ImAAUJcgArzDMrzDMwMQEzDgIjIi4DNTU0EjY2MzIWFhcjLgIjIg4CFRUUHgMzMjY2BFzBD4bsqmu+nHE+WqbjiKXyjw/CD1macWKdcDsqTWyETHWUUQHPitt/Qn2w3oE9ogEIv2Z83JBllFFRlc18P2SsimI1TpMAAAEAfv/rBR8FxQAtABtADS0sLAUaFhEDciYFCXIAKzIrzDMSOS8zMDEBEQ4CIyIuAzU1NBI2NjMyFhYXIy4CIyIOAhUVFB4DMzI2NjcRITUFHxqC151vxqR3QVyo4oay7IMUwQ9RmHxenHI/LVRzjU9hiVQS/rAC0/3sJ2RJQXyz5okbrAERv2R0yoFPg09Rl9WDHWy0jWIzIzIWAUWbAAACALIAAAURBbAAGwAfABK3HA8QAnICHQAALzIyKzIyMDEhITchMj4CNTU0LgIjITUhMhYWEhUVFAIGBAERIxECU/64AgFFd72ERUaCtW/+ogFfkvm6aGe9/v/+h8GdTpLKey2By41KnmO5/vuiK6L++7liBbD6UAWwAAIAfv/rBV8FxQAZADEAELchFANyLQcJcgArMisyMDEBFRQOAyMiLgM1NTQ+AzMyHgMHNTQuAyMiDgIVFRQeAzMyPgIFXz1vm71raLudcz8/cpy7aGu+m3A9vipOa4VLWp13QyxQbYJIX550QALuLIDfs4BFRYCz34AsgN60gEVFgLTerC5krYpiNFGVzn0uZa6KYzRRldAAAwB+/wQFXwXFAAMAHQA1ABtADSUYA3IAAwMxCwlyAQIALzMrMjIRMysyMDElAQcBARUUDgMjIi4DNTU0PgMzMh4DBzU0LgMjIg4CFRUUHgMzMj4CA6kBdIP+kwIyPW+bvWtou51zPz9ynLtoa76bcD2+Kk5rhUtanXdDLFBtgkhfnnRAoP7ceAEhAscqgN+zgEVFgLPfgCqA37SBRUWBtN+qLGWti2I0UZXPfixlrotiNFGVzwABAKAAAALJBI0ABgAVQAkDBAQFBQZ9AgoAPz8zLzMRMzAxAREjEQU1JQLJuf6QAgoEjftzA6eLp8oAAQCDAAAEIASgACAAF0AKEBAMFX4DICACEgA/MxEzPzMzLzAxJRUhNQE+AjU0JiYjIgYGFSM0NjYzMh4CFRQOAgcBBCD8hwHqS0IQMmRNT3pGuXbOhGWZaTUbNUwx/o+YmIQBuEFbSiYyVzc+dFFxunA0XHpGMF1aWCz+swAAAQAP/qMD3gSNAB8AGkALBgAeHgMWDwUCA30APzMzLzMSOS8zMzAxAQEhNSEVAR4CFRQOAiMiJic3FhYzMjY2NTQmJiMjAW8Bdv1zA3P+f3C3bVSYzXpqyGo1TK9bfLFeU6eAPAJjAZKYdf5sD3W+gIPKi0czNIsoMF+manKVSQACAD7+tgSgBI0ABwALABZACQYEC30KAwcHAgAvMxEzLz8zMzAxJRUhNQEzAwEBESMRBKD7ngLXkJ/+EgLDuZeYbgQg/tD9OgP2+ikF1wABAGX+oAQGBIwAJwAWQAkkCQkCGhMFAn0APzMvMxI5LzMwMQEnEyEVIQM2Njc2HgIVFA4CIyImJzcWFjMyPgI1NC4CIyIGBgEgmmYDFP1/NyyAWGajdD1EhcaDaslcOkOuZE9/WzApTm9HVmM1AWMRAxir/nUaJgEBRIK1b26/kFE3O4o0MDhkiFBEdlkyI0AAAAEASv62A/IEjQAGAA+1AQUFBn0DAC8/MxEzMDEBFQEjASE1A/L9obsCV/0bBI1p+pIFP5gAAAIAhATZAtMG0AAPACcAKUARERAQGSEhFR0cHCUVFQAJDQUALzPNMjJ8LzMzETMRMxgvMzMRMzAxATMUBgYjIiYmNTMUFjMyNhMXFAYGIyImJiMiBhUnNDY2MzIWFjMyNgI9lkiEXFuESJVCUFBCOVQrSjE2QTosIjBUKksxLURBKyExBa4+YTY2YT4uSEgBUBgwUjEmJjMmFTBTMyYlMwABAGj+mQEhAJoAAwAIsQEAAC/NMDElESMRASG5mv3/AgEABQBg//AGbQSdACkALQAxADUAOQAxQBg4OTkxfRYtLRcwCjU0NCYbAQYGJn4RGwsAPzM/MxEzERI5LzM/MzMRMz8zETMwMQEHIi4CIyIOAhUVFB4CMzI+AjMXIgYGIyIuAjU1ND4CMzIWFgEVITUTESMRARUhNQEVITUD8ioeZG9gGkp4VS4uVnlKG15uZB8tUZaAMHG7iUpKh7txMIGWAsn9aC25As39vwKS/W4EjZkEBgQ2aJhjRGOZaTYDBQSWCAhNk9GEQoTRlE0ICPwLmJgD9ftzBI3+GZeXAeeZmQABAIL+qQRABKEAOwAUtwAVHx81Cyk1AC8vMxI5LzMyMDEFMj4CNRE0LgIjIg4CFRQeAjMyPgI1NxQGBiMiLgI1ND4CMzIeAhUVFA4DIyImJzcWFgHgXZpxPilPckk7ZUwrJ0xrQ1J3TSZpdMN3bKx6QEd/pmBvtoVIOmqTsmVClEAmMmzAR4/VjQEIYpNjMi5ciVtFf2I5MVBdLAKIu2BKhrhufcCEREWM1Y/yjuWudTscH44THwAAAf+2/ksBaACZABEACrINBgAAL8wyMDE3MxUUBgYjIiYnNxYWMzI2NjWuuk2QZR80HQ4PRQ4rPSCZ8nCcUAcKnQYGKlM9//8AO/6jBAoEjQAGAmYsAP//AHP+oAQUBIwABgJoDgD//wAi/rYEhASNAAYCZ+QA//8AdgAABBMEoAAGAmXzAP//AHb+tgQeBI0ABgJpLAD//wA2/+sERwShAAYCf74A//8Afv/sBBYFsgAGABr5AP//AF7+qQQcBKEABgJt3AD//wBx/+wEDwXEAgYAHAAA//8A9AAAAx0EjQAGAmRUAP///7T+SwFmBDoABgCcAAD///+0/ksBZgQ6AgYAnAAA//8AnAAAAVUEOgIGAI0AAP////n+WAFaBDoCJgCNAAABBgCkxwoAC7YBBAIAAENWACs0AP//AJwAAAFVBDoCBgCNAAAAAwCL/+sD+gSdAAMAFgAxAClAFA8mJg0jIwkbLwtyBAAAAhMJfgIKAD8/MxI5LzMrMhE5LzMzETMwMQERIxEXIzQ2NjMyFhcBIzUTJiYjIgYGEzcWFjMyNjY1NCYmIyM1MzIeAhUUBgYjIiYBQ7i4uFexh4PAT/6aae4eVD9TXiZMNR9UN0NdMjx5WlR1YZ1vO2WzdDhwAvH9DwLxAo+/YGtM/lBrAScXJ01+/OOYEyA5ZEFBUCWKKVB3TXioWRgAAgB4/+sEiQShABUAKwAOtRwRficGCwA/Mz8zMDEBFRQOAiMiLgI1NTQ+AjMyHgIHNTQuAiMiDgIVFRQeAjMyPgIEiUyLvnJwv41OToy+cHK+jE25MFl8S0p7WTAxWntKTHtYLwJQFJLelUxMld6SFJLelUxMld6yLmmgazc3a6BpLmmgbTc3baAAAQA7AAAD0wWwAAYAE0AJAQUFBgRyAwxyACsrMhEzMDEBFQEjASE1A9P9vrsCQP0lBbBo+rgFGJgAAAMAjP/sBDUGAAAEABoALwAZQA4hFgdyKwsLcgQKcgAAcgArKysyKzIwMRMzEQcjARUUDgIjIi4CJzU+AzMyHgIHNTQuAiMiDgIHFR4CMzI+Aoy6GaEDqT50omVnm2o/DAw/appmZqRzPromTHFMRmdILQsQSXtbS3FLJgYA+tLSAicVdsmVUkeGvndceL6HR0+SypEVVI9sPDBRZzfxRoFSPmyOAAABAF3/7APvBE4AJwAZQAwdGRkUB3IEBAAJC3IAKzIyLysyLzIwMSUyNjY3Mw4CIyIuAjU1ND4CMzIWFhcjLgIjIg4CFRUUHgICQENwSAWvBXfAc3q2eDs8eLV6f75tBa8FQW9LVXNFHR1Ec4M3Xz1gpWVWlsNtKm3DllZnsXBDbEFDcYlHKkeLcEMAAAMAW//sBAEGAAAEABoALwAZQA0hBAQWC3IrCwdyAQByACsrMisyLzIwMSURMxEjATU0PgIzMh4CFxUOAyMiLgI3FRQeAjMyNjY3NS4DIyIOAgNHuqH8+0N5o2FmmWs+DAs/a5pnX6N5Q7onTnJLXHdIFAwtR2dGTHNOJ9IFLvoAAhEVfMuST0eHvnhcd76GR1KUyYsVUY5sPU6AS/E3Z1EwPGyQAAADAFv+VQQBBE4AEwApAD4AG0APMCULcjoaB3IOBg9yAAZyACsrMisyKzIwMQEzERQOAiMiJic3FhYzMjY2NREBNTQ+AjMyHgIXFQ4DIyIuAjcVFB4CMzI2Njc1LgMjIg4CA2SdPnmvcU/ITzg+oE5kfj39FEF4o2NmmWs/DAw/aptnYaN4QbonTXJLXHdIFAwtR2dGTHNNJwQ6/BR5vIFDMzaKKjFPmXADB/7FFXzLkk9Hh754XHe+hkdSlMmLFVGObD1OgEvxN2dRMDxskAAAAgBa/+wERQROABUAKwAQtxwRC3InBgdyACsyKzIwMRM1ND4CMzIeAhUVFA4CIyIuAjcVFB4CMzI+AjU1NC4CIyIOAlpHhbhwcrmFR0eEuXFxuYVHuSpQd0xMdVEpKlB2TUx1UCoCERd1yZVTU5XJdRd1yJVTU5XIjBdRj28/P2+PURdQj29AQG+PAAADAIz+YAQzBE4ABAAaAC8AGUAOIRYHcisLC3IDBnICDnIAKysrMisyMDEBESMRMwEVFA4CIyIuAic1PgMzMh4CBzU0LgIjIg4CBxEeAjMyPgIBRrqfAwg+c6JlZ55uQQwMQm2cZmakdD26KE90TEZnSC0LFEh4W0tzTygDavr2Bdr97BV2yZRSRIK2cnB4vodHT5LLkRVUkGw8MFFnN/79RntMP2+PAAADAFv+YAQABE4ABAAaAC8AGUAOIRYLcisLB3IEDnIDBnIAKysrMisyMDEBETczEQE1ND4CMzIeAhcVDgMjIi4CNxUUHgIzMjY2NzUuAyMiDgIDRhmh/FtAd6ZmZpttQAwLQG2dZ2Sld0G6KE9zS1x7ShQLL0ppRkx0Tyj+YAUK0PomA7AVfMuTT0eHvnhcd76GR1KTyYsVUY9uP1GDS/E3aFMxPm6RAAABAF3/7APzBE4AKgAZQAwTEhIAGQsHciQAC3IAKzIrMhE5LzMwMQUiLgI1NTQ+AjMyHgIVFSE1ITU0JiYjIg4CFRUUHgIzMjY3FwYGAnJ5xI1LToaqW3SpbDT82AJvM3JfP2pMKjBbhFVcjDA4LKgUT5HGdiyAyIpISYW0anmXGkmBUjNikF0sUY1rPDYkfydLAAMAYf5VA/IETgASACgAPQAbQA8vJAtyORkHcg0GD3IABnIAKysyKzIrMjAxATMRFAYGIyImJzcWFjMyNjY1EQE1ND4CMzIeAhcVDgMjIi4CNxUUHgIzMjY2NzUuAyMiDgIDVpxu0ZdGtUc4N4xFZH49/Sg7b55jZplrPgwLP2uaZ2GdcDu5IUVsS1x4RxQLLUdoRkxtRSEEOvwCm9pyKyuLIidKkmoDGf7EFXzLk09Hh754XHe+hkdSk8mLFVGNbD1OgEvxN2dRMD1skAAAAgBa/kwEdQRJAAMAJQAZQAwOFQEBFR8EB3IDBnIAKysyLzMvETMwMQEBIwElMh4CFwEeAjMyNjcHBgYjIi4CJwEuAiMiBgcnNjYEF/0mxQLk/WdIYkEsEQGeFCoyHxA9EDAKJg06VUA3Hf5uEzFCLgwrDQERPwQ6+iYF2g81U1wn/EwrRCcCA58HByNEZUIDmjBTNAQBlQUJ//8AVwAAAoUFuAAGABWsAAABAGj/8ASSBJ0AQQAXQAs4OBAifhkKMwALcgArMj8/MzkvMDEFIi4CNTQ2NjclNjY1NCYjIgYVFBYWFwEjAS4CNTQ2NjMyFhYVFAYGBwUOAhUUFhYzMj4CNTMUBgcGBgcGBgHoWY5kNS1TOQELKStIQkBBKUMnAorT/cc3WjVPj19gjEwmQSj+1ScoDTBhSWOdbzqoTUcKEQtM1RAtUGs+RGdVKr8eSCQ0Rk0sJURFKf1NAlY6YGZBTnZCSXdGMlpMHdgcNjMWMEsqRHupZnfTVAscCkdSAAADAAEAAAOLBI0AAwAHAAsAHUANCAkJCwoKBgd9AwIGCgA/MzM/EjkvMzMvMzAxJRUhNRMRIxEBFQU1A4v9jC25AcP9s5iYmAP1+3MEjf6Cfbt9AAAGAAkAAAXyBI0AAwAHAAsAEAAUABgAM0AYCgsLGBgPBwYUEwYTBhMND30DAgIXFw0KAD8zETMRMz8SOTkvLxEzETMRMxEzETMwMSUVITUBFSE1ARUhNQcBIwEzExUhNQETIwMF8v3EAdP+EgIu/cSD/cbHApd1jP2lAmIouCmWlpYCFZWVAeKWlnD74wSN/TeWlgLJ+3MEjQAAAgCLAAADtwSNAAMAGQAXQAoPEBABfQUEBAAKAD8yLzM/My8zMDEzETMRJzUzMjY2NTQmJiMjNTMyFhYVFAYGI4u5MuhccjY2clzm5o/HZ2fHjwSN+3PsmTRdPDliPZlfpWtwolYAAwBg/8YEWwS3ABUAKwAvABtACy8vHBF+LS0nBgtyACsyMnwvGD8zM3wvMDEBFRQOAiMiLgI1NTQ+AjMyHgIHNTQuAiMiDgIVFRQeAjMyPgITASMBBFtIhrtzcbuJSkqHu3F0u4dItyxUek1KeFUuLlZ5Sk54VCuv/LOWA04CZ0KE0ZNNTZPRhEKE0ZRNTZTRxkRjmGg2NmiYY0RjmWk2NmmZAvX7DwTxAAAEADAAAASzBI0AAwAHAAsADwAbQAwCA4AODw8LB30KBgoAPzM/MzMvMxrMMjAxARUhNRMRIxEhESMRBRUhNQPA/V8luQPOuQET+30Ci5mZAgL7cwSN+3MEjaaYmAAAAgCL/ksEWQSNAAkAGwAfQA8XEA9yCQMGfQgKCgICBQoAPzMRMxEzPzMzKzIwMQERIwERIxEzARERMxUUBgYjIiYnNxYWMzI2NjUEWbn9pLm5Aly5TZBlHzQdDg9FDis9IQSN+3MDbPyUBI38lANs+6iOcJxQBwqdBgYqUz3//wAmAh8CDgK3AgYAEQAAAAMAJQAABOUFsAAaAB4AIgAjQBECAQEdIiEhHQ4PDx4Cch0IcgArKzIRMxE5LzMRMxEzMDEhITchMjY2NTU0LgIjITUhMh4CFRUUDgIBESMRARUhNQJR/tACAS6c0Gk8dKds/rgBSI/sq1xcrfP+n8EB2/2DnYPtn1l9w4dGnl+z/Z5Xnv2yXwWw+lAFsP2BmJgAAwAlAAAE5QWwABoAHgAiACNAEQIBAR0iISEdDg8PHgJyHQhyACsrMhEzETkvMxEzETMwMSEhNyEyNjY1NTQuAiMhNSEyHgIVFRQOAgERIxEBFSE1AlH+0AIBLpzQaTx0p2z+uAFIj+yrXFyt8/6fwQHb/YOdg+2fWX3Dh0aeX7P9nlee/bJfBbD6UAWw/YGYmAADAAEAAAP+BgAAAwAaAB4AGUANHh0WCgdyAwByEQIKcgArMisrMsQyMDEBESMREyc+AzMyHgIVESMRNCYmIyIOAgEVITUBZLmNTQFAdKFiUIBbMLoyYEZFcVEtAUb9gwYA+gAGAPxGA2+9jE0rXpVr/TsCx1VnLzpmgwLamJgAAAMAMgAABJcFsAADAAcACwAVQAoDCgsGBwJyAQhyACsrMi8zMjAxAREjESEVITUBFSE1AsO+ApL7mwN5/YMFsPpQBbCenv4emJgAA//0/+wCcQVBAAMAFQAZAB1ADgoRC3IYGRkCAgQEAwZyACsyLzIRMy8zKzIwMQEVITUTMxEUFhYzMjY3FwYGIyImJjUBFSE1AlL9t8a5IjYfFzMNARZHMkRyQwGi/YMEOo6OAQf7yzc4EgkDlwcNNn9sAeWYmAD//wAdAAAFHgc3AiYAJQAAAQcARAEvATcAC7YDEAcBAWFWACs0AP//AB0AAAUeBzcCJgAlAAABBwB1Ab8BNwALtgMOAwEBYVYAKzQA//8AHQAABR4HNwImACUAAAEHAJ4AyQE3AAu2AxEHAQFsVgArNAD//wAdAAAFHgcjAiYAJQAAAQcApQDEATsAC7YDHAMBAWtWACs0AP//AB0AAAUeBv0CJgAlAAABBwBqAPkBNwANtwQDIwcBAXhWACs0NAD//wAdAAAFHgeTAiYAJQAAAQcAowFQAUIADbcEAxkHAQFHVgArNDQA//8AHQAABR4HlAImACUAAAEHAkEBWQEiABK2BQQDGwcBALj/srBWACs0NDT//wB4/kME2AXEAiYAJwAAAQcAeQHT//YAC7YBKAUAAApWACs0AP//AKkAAARGB0ICJgApAAABBwBEAPoBQgALtgQSBwEBbFYAKzQA//8AqQAABEYHQgImACkAAAEHAHUBigFCAAu2BBAHAQFsVgArNAD//wCpAAAERgdCAiYAKQAAAQcAngCUAUIAC7YEEwcBAXdWACs0AP//AKkAAARGBwgCJgApAAABBwBqAMQBQgANtwUEJQcBAYNWACs0NAD////fAAABgAdCAiYALQAAAQcARP+mAUIAC7YBBgMBAWxWACs0AP//ALEAAAJSB0ICJgAtAAABBwB1ADYBQgALtgEEAwEBbFYAKzQA////6gAAAkcHQgImAC0AAAEHAJ7/QAFCAAu2AQcDAQF3VgArNAD////VAAACXwcIAiYALQAAAQcAav9wAUIADbcCARkDAQGDVgArNDQA//8AqQAABQkHIwImADIAAAEHAKUA+gE7AAu2ARgGAQFrVgArNAD//wB3/+wFCgc5AiYAMwAAAQcARAFSATkAC7YCLhEBAU9WACs0AP//AHf/7AUKBzkCJgAzAAABBwB1AeIBOQALtgIsEQEBT1YAKzQA//8Ad//sBQoHOQImADMAAAEHAJ4A7AE5AAu2Ai8RAQFaVgArNAD//wB3/+wFCgclAiYAMwAAAQcApQDnAT0AC7YCOhEBAVlWACs0AP//AHf/7AUKBv8CJgAzAAABBwBqARwBOQANtwMCQREBAWZWACs0NAD//wCM/+wEqgc3AiYAOQAAAQcARAEqATcAC7YBGAABAWFWACs0AP//AIz/7ASqBzcCJgA5AAABBwB1AboBNwALtgEWCwEBYVYAKzQA//8AjP/sBKoHNwImADkAAAEHAJ4AxAE3AAu2ARkAAQFsVgArNAD//wCM/+wEqgb9AiYAOQAAAQcAagD0ATcADbcCASsAAQF4VgArNDQA//8ADwAABLwHNgImAD0AAAEHAHUBiQE2AAu2AQkCAQFgVgArNAD//wBt/+wD6gYAAiYARQAAAQcARADVAAAAC7YCPQ8BAYxWACs0AP//AG3/7APqBgACJgBFAAABBwB1AWUAAAALtgI7DwEBjFYAKzQA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AAABBgCeVQAAC7YDQhoBAZdWACs0AP//AHr/7ATdBy4CJgArAAABBwChAPMBVwALtgExEAEBX1YAKzQA//8AYf5VA/IF1wImAEsAAAEGAKF/AAALtgNEGgEBflYAKzQA//8Aev/sBN0HGQImACsAAAEHAKIBpQFXAAu2ATUQAQGCVgArNAD//wBh/lUD8gXCACYASwAAAQcAogExAAAAC7YDSBoBAaFWACs0AP//AHr98wTdBcQCJgArAAABBwHUAdr+lQAOtAE1BQEBuP+YsFYAKzT//wBh/lUD8gaTACYASwAAAQcCTgErAFcAC7YDPxoBAZhWACs0AP//AKkAAAUIB0ICJgAsAAABBwCeAPEBQgALtgMPCwEBd1YAKzQA//8AjQAAA+AHQQImAEwAAAEHAJ4AHgFBAAu2Ah4DAQEmVgArNAD///+2AAACegcuAiYALQAAAQcApf87AUYAC7YBEgMBAXZWACs0AP///5sAAAJfBeoCJgCNAAABBwCl/yAAAgALtgESAwEBqFYAKzQA////zQAAAmwG7wImAC0AAAEHAHD/PgFKAAu2AQYDAQGxVgArNAD///+yAAACUQWrAiYAjQAAAQcAcP8jAAYAC7YBBgMBAeNWACs0AP///+wAAAJCBxkCJgAtAAABBwCh/2oBQgALtgEJAwEBXlYAKzQA////0QAAAicF1QImAI0AAAEHAKH/T//+AAu2AQkDAQGQVgArNAD//wAX/lcBeAWwAiYALQAAAQYApOUJAAu2AQUCAAAAVgArNAD////6/k4BaQXEAiYATQAAAQYApMgAAAu2AhECAAAAVgArNAD//wCqAAABhQcEAiYALQAAAQcAogAcAUIAC7YBDQMBAYFWACs0AP//ALf/7AX5BbAAJgAtAAAABwAuAi0AAP//AI7+SwNMBcQAJgBNAAAABwBOAfIAAP//ADX/7ASEBzUCJgAuAAABBwCeAX0BNQALtgEXAQEBalYAKzQA////tP5LAjoF1wImAJwAAAEHAJ7/M//XAAu2ARUAAQGCVgArNAD//wCp/lYFBQWwACYALwAAAQcB1AGU/vgADrQDFwIBALj/57BWACs0//8Ajf5DBA0GAAImAE8AAAEHAdQBEf7lAA60AxcCAQG4/9SwVgArNP//AKIAAAQcBzICJgAwAAABBwB1ACcBMgALtgIIBwEB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AFgAAAEHAK0EGgAAAA60AhkRAQG4/4mwVgArNP//AIz/7ASqB+YCJgA5AAABBwJQBOQBUgANtwIBGwABAWxWACs0NAD//wAdAAAE/QcuAiYAOgAAAQcApQCzAUYAC7YCGAkBAXZWACs0AP//ACEAAAO7BeICJgBaAAABBgClHfoAC7YCGAkBAaBWACs0AP//AB3+rAT9BbACJgA6AAABBwCtBOQACgAOtAINBAEBuP9/sFYAKzT//wAh/qwDuwQ6AiYAWgAAAQcArQRNAAoADrQCDQQBAbj/f7BWACs0//8APf6sBu0FsAImADsAAAEHAK0F7wAKAA60BBkTAQG4/3+wVgArNP//ACv+rAXTBDoCJgBbAAABBwCtBVMACgAOtAQZEwEBuP9/sFYAKzT//wBX/qwEegWwAiYAPgAAAQcArQS6AAoADrQDEQIBAbj/f7BWACs0//8AWf6sA7MEOgImAF4AAAEHAK0EYwAKAA60AxECAQG4/3+wVgArNP///nj/7AVQBdYAJgAzRgABBwFx/gj//wANtwMCLhEAABJWACs0NAD//wAUAAAEcQUbAiYCTQAAAAcArv/b/tz///+fAAAD6wUeACYCQjwAAAcArv7n/t////+7AAAElQUbACYB/jwAAAcArv8D/tz////AAAABjQUeACYB/TwAAAcArv8I/t/////f//AEZQUbACYB9woAAAcArv8n/tz///9VAAAEWAUbACYB7TwAAAcArv6d/tz////3AAAEiAUaACYCDQoAAAcArv8//tv//wAUAAAEcQSNAgYCTQAA//8AiwAAA/AEjQIGAkwAAP//AIsAAAOvBI0CBgJCAAD//wBIAAAD4QSNAgYB7AAA//8AiwAABFkEjQIGAf4AAP//AJgAAAFRBI0CBgH9AAD//wCLAAAEVwSNAgYB+wAA//8AiwAABXgEjQIGAfkAAP//AIsAAARZBI0CBgH4AAD//wBg//AEWwSdAgYB9wAA//8AiwAABBsEjQIGAfYAAP//ACkAAAP9BI0CBgHyAAD//wAOAAAEHASNAgYB7QAA//8AJwAABDIEjQIGAe4AAP///7IAAAI8BeQCJgH9AAABBwBq/00AHgANtwIBDQMBAYRWACs0NAD//wAOAAAEHAXkAiYB7QAAAQYAam4eAA23BAMXCQEBg1YAKzQ0AP//AIsAAAOv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AAGnrAABqwYAAa4OAAGwOgABsWwAAbK8AAG1fgABt/AAAbzmAAHB3gABxMYAAcfWAAHJxAABy4wAAcy2AAHNRAABzmwAAc7uAAHPcAABz74AAdAmAAHQmgAB0Q4AAdKIAAHUEgAB1noAAdb+AAHXjgAB2S4AAdqWAAHa8AAB20wAAdumAAHcAAAB3Q4AAd4gAAHfLgAB4EoAAeCmAAHhAgAB4cwAAeKKAAHkTgAB5fwAAeloAAHsrAAB7QQAAe1cAAHuPgAB7zwAAe+aAAHv9AAB8YgAAfMAAAH0aAAB91QAAfn2AAH7ygAB/WYAAf28AAH+FgAB/3wAAgDKAAIBIAACAXoAAgHQAAICKAACBIAAAgZqAAIITAACCLoAAgkoAAIJhAACCeAAAgtQAAIN0AACEQgAAhRGAAIXOAACGlYAAh1EAAIfjAACIfgAAiO0AAIligACJ34AAilUAAIq3gACLIQAAi+cAAIv+gACMFYAAjFaAAIxggACMawAAjHUAAIx/gACMiYAAjJOAAIydgACMqAAAjLIAAIy8AACMv4AAjMMAAIzDAACMz4AAjNwAAIz1gACNDwAAjS0AAI1fAACNj4AAjcEAAI3xgACOCQAAjiCAAI51gACOlgAAjr2AAI7wAACPBoAAjx+AAI9WAACQb4AAkJqAAJDFgACQ5AAAkPOAAJEDAACREoAAkSIAAJExgACRQQAAkVCAAJFwAACRiIAAkagAAJH5AACSSIAAkpQAAJKjgACSs4AAksOAAJLTgACS44AAkvOAAJMDgACTE4AAkyOAAJMzgACTQ4AAk1gAAJNsgACTu4AAlAmAAJSFAACUwQAAlVoAAJVwgACV4YAAllsAAJbmAACXVYAAl8OAAJgrgACYkoAAmPUAAJm3AACaSQAAmuYAAJsvAACbPgAAm1WAAJtpAACbgoAAm5yAAJxjAACcgoAAnMeAAJzhAACdH4AAnkOAAJ6pAACfSIAAn3+AAJ+6AACf+IAAoDGAAKBLgACga4AAoJkAAKCqgACg/IAAoVWAAKHpgACihoAAox4AAKRrgACka4AApJuAAKSbgACk/IAApSCAAKWFgACmIgAApuwAAKcQgACnpoAAqBiAAKhJAACo+wAAqWAAAKmDAACqAgAAqiuAAKpngACqm4AAquiAAKsTAACrXIAAq34AAKwmgACsiAAArR+AAK12AACuAYAAri2AAK5qgACuiIAArsAAAK8FgACvHYAAr0GAAK/GAACv64AAsKsAALEngACxeAAAsZYAALHMgACyYwAAso2AALK0gACy2QAAsxuAALOtgAC0EwAAtLeAALUuAAC1ugAAtkcAALavgAC3DwAAtzyAALeYgAC4AYAAuFsAALkSAAC5PoAAuXaAALnIgAC6IIAAuloAALqtgAC61gAAuxcAALt5AAC7kAAAu9+AALxtAAC9FwAAvY4AAL2zAAC+GoAAvmEAAL6pgAC+7wAAv8cAAL/dAADAHIAAwFwAAMC8gADBEYAAwcIAAMJQgADC0QAAw36AAMQGgADEi4AAxS+AAMWVgADGLYAAxl0AAMbLAADHVYAAx3qAAMgugADIu4AAyNWAAMk0AADJXwAAym8AAMsCgADLnIAAy9WAAMwMgADMR4AAzH8AAMzdAADNXYAAzfCAAM4ngADOWwAAzqGAAM8AgADPNgAAz2mAAM/GAADQLgAA0FMAANCagADREQAA0R+AANEuAADRPIAA0UsAANFZgADRaAAA0XaAANH8gADSkgAA0viAANOVAADUO4AA1GCAANTHgADVMYAA1WoAANXqAADWEIAA1oyAANamAADXUIAA2A6AANhOgADYXoAA2G4AANh+AADYjgAA2KIAANi2AADYxQAA2NkAANjoAADY/IAA2QsAANkZgADZLIAA2UEAANlUAADZ7AAA2nsAANqgAADbLwAA26iAANw0gADc74AA3XWAAN4BgADekwAA3xmAAN/UgADgUoAA4GeAAOE0AADhZgAA4bwAAOITAADiqoAA4tiAAOMzgADjRoAA41MAAOPMAADkRQAA5KgAAOTNgADlJQAA5TwAAOVSgADlaIAA5X6AAOWVgADlrAAA5cKAAOXUgADl64AA5gIAAOYYgADmL4AA5kWAAOZbgADmcgAA5oiAAOafAADmtYAA5swAAObiAADm+AAA5w6AAOckgADnOwAA51IAAOdogADnfoAA55YAAOesAADnwoAA59iAAOfwgADoB4AA6B4AAOg0AADoSoAA6FuAAOhtAADog4AA6JkAAOiugADoxAAA6NoAAOjxgADpCQAA6R+AAOk2AADpTIAA6WQAAOl1gADpi4AA6aGAAOm3gADpzIAA6eKAAOn5gADqD4AA6iaAAOo9gADquIAA67kAAOvPgADr5YAA6/uAAOwSAADsI4AA7DmAAOxQAADsYYAA7HiAAOyOgADspYAA7LaAAOzJAADs3wAA7PUAAO0LAADtjQAA7lyAAO5zAADuhAAA7psAAO6tgADuxQAA7twAAO7ygADvCQAA7x+AAO82AADvTAAA72KAAO95gADvj4AA76YAAO+9AADv04AA7+kAAO/6AADwDoAA8B+AAPAxAADwRwAA8F0AAPBzAADwiYAA8J+AAPC2gADwzAAA8OKAAPD6gADxEYAA8SeAAPE+AADxVAAA8WsAAPGBAADxl4AA8a4AAPHAgADx0gAA8ekAAPH/AADyFgAA8iwAAPJDAADyWYAA8nAAAPKHAADynYAA8rSAAPLLAADy4gAA8vgAAPMOAADzJIAA8zqAAPNQgADzZwAA832AAPOUAADzqgAA88AAAPPWAADz7IAA9AKAAPQZgAD0LwAA9EUAAPRcAAD0coAA9IoAAPSgAAD0toAA9M0AAPTfgAD09YAA9QwAAPUjAAD1NAAA9ceAAPZdgAD2bwAA9oAAAPaWgAD2rIAA9sOAAPbZgAD26YAA9wAAAPcWgAD3KAAA9zkAAPdPAAD3ZQAA93qAAPeQgAD3p4AA976AAPfVgAD37QAA+AQAAPgaAAD4MAAA+EeAAPheAAD4dAAA+IYAAPicgAD4sgAA+MOAAPjaAAD464AA+QGAAPkYAAD5LoAA+UWAAPlcgAD5bgAA+YAAAPmSAAD5qQAA+b+AAPnWgAD57gAA+gWAAPocAAD6MgAA+kkAAPrAAAD60gAA+uOAAPr1AAD7BoAA+xyAAPsyAAD7RAAA+1oAAPvVgAD75oAA+/2AAPwQAAD8JoAA/D0AAPxTgAD8aoAA/IEAAPySAAD8ooAA/LiAAPzPAAD85YAA/PsAAP0RAAD9JoAA/TwAAP1SAAD9aIAA/XoAAP2MAAD9owAA/boAAP3RAAD96AAA/f6AAP4VAAD+K4AA/kGAAP5VAAD+a4AA/n0AAP6TgAD+qoAA/sIAAP7YgAD+7oAA/wSAAP+KgAD/nIAA/7KAAP/JgAD/3oAA//SAAQAFgAEAHYABADSAAQBLgAEAYgABAHgAAQCQAAEApwABAL0AAQDQAAEA3wABAO4AAQD9AAEBEAABAR6AAQEtgAEBPIABAUuAAQFegAEBbYABAYCAAQGTgAEBooABAbkAAQHQAAEB5oABAf0AAQITAAECKIABAj6AAQJNgAECYIABAnQAAQKHAAECmgABArCAAQLHAAEC3QABAvMAAQMJgAEDIIABAzcAAQPrAAED+YABBBAAAQQfAAEELgABBESAAQRXAAEEagABBHkAAQSIAAEElwABBK4AAQS9AAEE0AABBOMAAQTyAAEFAQABBRAAAQUjAAEFMgABBUUAAQVTgAEFaoABBX2AAQWQgAEGGgABBi0AAQY7gAEGUgABBmgAAQZ2gAEGiYABBp+AAQauAAEGw4ABBtmAAQbwAAEHBgABBxgAAQctgAEHRAABB1oAAQdxAAEHhoABB5CAAQehgAEHuAABB84AAQfcgAEH8wABCAWAAQgdAAEIM4ABCEqAAQhhAAEId4ABCI4AAQihAAEItIABCMqAAQjhgAEI94ABCQ4AAQkmAAEJPQABCVSAAQlrAAEJfgABCZEAAQmfgAEJtwABCc6AAQndAAEJ9AABCgsAAQoiAAEKOgABCk0AAQpZgAEKbAABCoIAAQqYgAEKpwABCr2AAQrUgAEK64ABCwIAAQsYgAELL4ABC0WAAQtcAAELcoABC4kAAQuggAELs4ABC8KAAQvZgAEL8IABDAeAAQwfAAEMNgABDEwAAQxjAAEMeQABDI+AAQykAAEMuoABDNGAAQzoAAEM+oABDQmAAQ0hAAENOIABDU2AAQ1jAAENegABDZCAAQ2mgAENvYABDdOAAQ3qgAEOAIABDheAAQ4yAAEOTIABDmQAAQ56AAEOkYABDqeAAQ6+AAEO1IABDusAAQ8BgAEPHIABDzaAAQ9IAAEPWgABD3AAAQ+BgAEPmIABD6oAAQ/BAAEP2AABD+6AARAEgAEQGwABEDEAARBHgAEQWIABEHKAARCGgAEQnQABELQAARDFAAEQ2oABEPGAAREIAAERHQABETOAARFJgAERYAABEXcAARGNAAERpAABEboAARHRAAER6AABEgKAARIdgAESNIABEksAARJhgAESeIABEo2AARKjAAESuYABEtCAARLmgAES+AABEw4AARMkAAETOQABE06AARNhAAETeIABE4+AAROngAETvYABE9SAARPrAAEUAgABFBQAARQqgAEUQgABFFmAARRugAEUhIABFJqAARSxAAEUywABFOGAART4AAEVDwABFSAAARU2gAEVTIABFWKAARV5gAEViIABFe0AARZRgAEWdAABFpoAARbfgAEXIoABF1qAARebAAEX3YABGBuAARgqgAEYQQABGFQAARhjAAEYcgABGIEAARiQAAEYnwABGK4AARi9AAEYzAABGOKAARj0gAEZCwABGSIAARk3gAEZTYABGWOAARl6gAEZkQABGaeAARm8gAEZ0oABGeiAARn/AAEaFQABGisAARpCAAEaWAABGm6AARqFAAEamwABGrGAARrIAAEa3gABGu+AARsGAAEbHAABGzMAARtIgAEbWgABG2+AARuBAAEbkoABG6UAARu2gAEbzAABG96AARv2AAEcDAABHCMAARw5gAEcUAABHGcAARx8gAEckgABHKOAARy6gAEc0IABHOYAARz8AAEdDYABHR8AAR0wAAEdR4ABHV8AAR12AAEdjQABHaQAAR27AAEd0oABHeoAAR39AAEeEAABHh6AAR4tAAEeQAABHk6AAR5dgAEebIABHnuAAR6KgAEemYABHqiAAR67gAEezoABHuUAAR78AAEfEoABHyQAAR83AAEfRYABH1wAAR9qgAEffIABH5MAAR+mAAEfuQABH8eAAR/WAAEf7QABH/wAASAPAAEgHgABIC0AASA8AAEgSwABIFoAASBtAAEhLoABIV0AASHoAAEh+wABIhMAASIlAAEiO4ABIk8AASJggAEicwABIoSAASKagAEisYABIsOAASLbAAEi8gABIwkAASMfgAEjNQABI0aAASNcgAEjbYABI4MwADAAOAAwAAsaMAAQAAAAMAAAAAAAMAAgAMAGAAdAAUAGQAAABhgAcAAwAAAAAAAAAGYmIEJ+/sEBJOTm5uYmIEJmPcAoaEA95gAl4GbAQUFhQUGBgUFBQWBAAWBAQUFgQIFAAWBmwoJAQIFBQICAgECAwP9AP39gQP9/QD9iQCABgAsAAUABAAFAAMABQAFAAUAAAAFQAHAAMAAAAAAAAAFQAIAAMAAQAAAAACAAO6Bg4AAAoGDgADagYOAAAOBg4AA/oGDgAABgYMAgAYALAAFAAQABQADAAUABQAFAAAABUABwADAAAAAAAAABUACAADAAEAAAAAAgADugYOAAAKBg4AA2oGDgAADgYOAAP6Bg4AAAYGDAIAGACwAKgAEACYAAwAVAAUAIgAAACFAAcAAwAAAAAAAACZAAgAAwABAAAAA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AQEBghkBAgMCAgEBAQEA////////////AQMEBAQDAYIF//7+/v7+ggIBAgKFDP/9/v7+/v/+//////+HCP/9/f39/f7//4EJAQMDAgEAAQD//4UM/f39/v7+/v39/f3+/4U//v39+/r6/v7+/f39/f39/f39/Pz8+/r6+vr7+/3+/v39/f39/f39/fz7+/r6+vv7/f3+/wABAf39/v79/f7+/gb+/v7/////hQP//wD7gQL+AQGCCf///v7+/v7///+JGf/9/f39/v//AAEBAgIBAQEBAP///v4B////ggsCAQICAgIBAQEBAAGHCAECAwMDAwICAYEG//7+/////4IBAgGDAgICAYMA/4EBAQGBAgEBAYEF/wAB/wEBggD/gQABggQBAAEBAYETAQEBAQEB/v7/AAEBAQD////+//+DAgEA/4EC////gg7//////////////v7+/wGDA///AP+BEgEFBQQDAgL//v38/f39/v////+DPwEBAf76+Pj4+f3//wIEBAUFBAQEBAMCAQEB/f3/AAEBBAUGBgYHBQUEBAMDAwMDAwICAgIFCAoLCwsJBQQCAgAK/////v////8BAQGDAIAFACgANgAEAD8AAwAzAAAAMUABwADAAAAAAAAANUACAADAAEAAAAAAGUlJMRP03d3d9BMxSVdXQCED6+vrAyFAVwAxgRcyHP///xwyRmNjY0Y0HgEBAR40SGVlZUiDD/r6HCQsTU1NLCQc+lJSdXxEAIUApQClAKUAhQN8dVIAQACcgRf6BRQUFAX67d3d3e38BxYWFgf879/f3++DD/39/QABAwMDAQD9/fv7/P2EBP38+wD9gRcDAf///wEDAwICAgMDAgEBAQIDAwICAgODAgICAYEC////gQUBAgICAgGEBAECAgABgQH+/4II//79/f39/f7/ggb//v39/f39gwT+/v3//4IR///9/vv7+vz9/f39/fz6+wD6gRf/AAEBAQD//fz8/P3/AAICAgD//vz8/P6DAIAFACgAgwAEAIgAAwCBAAAAeUABwADAAAAAAAAAfkACAADAAEAAAAAAP2IEBBUmMTtAQEBAOzEmFQQEYmJBJhT35+fn5/cUJkFi5OTu/xMfKkBSXFxcUkAqHxP/7uQfHyAfHx8fHyAgICAJIB8fHx8fIB8AOYEzEhISEhISEhIS7u7u7u7u7u7uDjk5OSIA7hIB38nJyfAA9N3LwMDAy930AAwjNUBAQDUjDJc/8/39/Pr59/f39/f3+fr8/f3z8/f6/AACAgICAPz69/MBAQD++/r59vX09PT19vn6+/4AAfr6+vr6+vr6+vv7+wf6+vr6+vr6+oMz/v7+/v7+/v7+AgICAgICAQEB/vv7+/0BAv4AAwUFBQEAAQQGBwcHBgQBAP79+/r6+vv9/owEAQEBAQGFAPuBC/7+/f39/f39/f3+/oE4+/v8/v8BAgICAgH//vz7AgICAP/9/fz7+/v7+/z9/f8AAgL9/f3+/v39/v7+/v7+/v39/v79/QD+gR4BAQEBAQEBAQH///////////8BAwMDAgD/Af/+/v7+gQj///////////+BBgEBAQEBAQGYAAKCCQEBAQEBAQEBAQGCAwICAQGHBQEBAv///4EKAQECAgICAgICAQGBBP//AQEBgQoBAQABAQEBAQABAYEDAQEAAYEe////////////AQEBAQEBAQEB//7+/v4AAf8AAgICAoEIAQEBAgICAQEBgQb///7+/v//mAD9ggn///7+/v7+/v//ggP9/f7/gQMBAQEBgSz//v0BAQEA/////v79/f3+/v///wABAf////////////7+/v//////////AP6BDv///////////wEBAQEBAYIM//7+/v8AAf8AAQICAoIGAQICAgICAYEI///+/v7+/v//l4AGACwAagAEAGoAAwA6AAUAYAAAAFRAAcAAwAAAAAAAAFFAAgAAwABAAAAAADM+Pj4tC/PLmpoFBQH58+jZ0tLS0tPSPT4nJwHpwaioqMbv/xgnJywtIRUVFBUVFRUNAQDugTH//xlAVlZWMwz///////////////////zvKCgoIwru062trcHd6ygeDP////fu7e3v74MG7u7u8PP2+4Eq9PT09fb3+fr6+vr6+u7u8fH19/z////79/Xx8PDw8PHz8/Pz8/Pz8/UA9YEx///9+vj4+Pr+///////////////////7Afv7+/z+AQMGBgYEAgH8/P7///8BAQEBAQGDM6urq7LAytzw8Pn57djKv62ioqKioJ6nq6ioxtPn8fHx4tHItaqqpqm1x9Ll+fn57dbGAJiBlgD9nSkCAgICBAQFBgYBAQECBAQGCAgICAkIAwIEBAIDAwUFBQQEAwQEBAMDAgGEBAECBAAGgRf//wECAwMDAQD//////////////////wKFEP///f39/f8AAwIA////////hgj////+/v7+/f2CHf/+/vz8/Pz8/Pz///7+/v7+/v7+/v7///7+/v7+/4UD//4A/YGBBf/+/f39/48PAf////8AAQECAgIBAQH+/4MFAQEAAQEBgwj9/f3+AAEBBASCFQEBAQECAgICAQH+/f//AAECAwMDAgGBBv////////+DBP8AAQABgYEG//7+/v7+/40RAQD+/v7//wABAgICAQEA////jIAGACwACgAEAAoAAwAHAAUACgAAAApAAcAAwAAAAAAAAAdgAgAAwABAAAAAAAAsgQDIgQHf34MD2y4AXYEBAwODA/rMAJeBhQP+AwAJgQEDA4MDAf4A+4EB//+DAQABAP8AAQCABgAsAAwABAAMAAMAECAFAAwAAAAMQAHAAMAAAAAAAAAMQAIAAMAAQAAAAAUEAQICAgIE1fvVWN8EPdAU7AAEA/8D9PcE+wT+AgAACIKCAQGCgoqKAED/eIGLBAj/CAIIBAL9Af8ABPsA+//7BP4C/wEABAEAAf0BBP4B/wEAAIAFACgApAAEAKsAAwCRAAAAgkABwADAAAAAAAAAiGACAADAAEAAAAAAPysFBSs7U2BgYFdAK/v7UVErKBkLCwsRHysrKysrKysrIgz7+/v7/Pv7UVFQUFBQQNzc5/cMGCM5S1VVVUs5IxgZDPfn3BgYGBgYGBgYGRkZGRkYGBgYGBgYAECBPxcXz8/O3PgNGjE/Pz8JCff39/n/BgYICgsKFxcXFxcX6urs9wkJCQkJCQkJCfcMFwD03cvAwMDL3fQADCM1QEADQDUjDJc/+f394efv8/Pz9Pb5///19fn5+/39/fz7+fn5+fn5+fn6/P/////+///19fX19fX3AgIB//z7+vf29fX19vf6+xn8/wEC+/v7+/v7+/v7/Pz8+/v7+/v7+/sA/4E//v4EBAMBAP/+/Pv7+///AQEB/fj4+Pz////+/v7+/v4XFwsB////////////Af/+AAEEBgcHBwYEAQD+/fv6+gP6+/3+jAQBAQEBAYUS/f///f38+/v7+/z9AQH9/f3+/oM///39/f39/f39/v8BAQEBAAEB/fz8/Pz8/QICAQEA///+/f39/f3+//8AAQEC///////////+/v7+/v///////wL/AP2BDAEB/v7+/gD/AAECAgKFAgEBAYEJ/wABAQEBAQH+/owKAQD///////////+BBgEBAQEBAQGYAAGBCAECAgICAgIBAYEDAgIBAYQKAQEBAQEBAQEBAf+GCQICAgICAgH///+CCAEBAgICAgIBAYIB//+UAAGBBf//AgICAYEN///+/v7//wEBAQEA//+DH////////wEBAQH///////////8BAP8AAQEBAgICAQEBgQb///7+/v//mC8uAAMBAQEBAQEBAwIBAgQBAgIFAQEEAgEFAQEBAQEBAQEBAQEBAQEBAQEBAQEBARUu/wD+/v39/f3+Af7//wD/////AAEAAf7+/gICAQEA///+/v7+/v7+//8AAQEC//4D/wECAYEC///+hgL/AgKEAP+BBgECAgICAgGBCP///v7+/v7//4EAgAYALAAIAAQACAADAAogBQAHAAAACEABwADAAAAAAAAACEACAADAAEAAAAADAgECAgKN9YACUPcAAj0mfwLuDQAABaSk//8ApoGHAgwADAACgQL7APoC/gEAAgMAAQL9AQCABQAoAD4ABAA+AAMANgAAACpAAcAAwAAAAAAAADxAAgAAwABAAAAAAB0ZGRMKBgH48/Pz+AEGChMZ1NTvBh03NzcdBu/UABKBGxMOBf///wUOExghJycnIRgT+9/f3/sTK0hISCuDHfv7AQ0UGyYtLS0mGxQNAfsZGRcUEQ4ODhEUFxkAMYEb6vD6////+vDq5NvW1tbb5Ors7+/v6+rp5ubm6YMF/v7+/wD/hBL/AP/+/gICAQD+/////gABAgD/gYIC////gwQBAQEBAYIC////gQQCAgICAoOPAf//ggIBAQGCAP+DAv8A/4IV/wD///////////8AAQEBAP/+/v7+/oMd////////AP///wD//////wICAP///v7+//8AAgD+gQL+//+CC////v7+/f39/v7+/4IG//7+/f39/oMAgAYALAAQAAQAGSADABggBQAYIAAAGGABwADAAAAAAAAAD0ACAADAAEAAAAAHBgACAwIBAgMG5+evIPLy7gHOMIECnf4ABwYAAgMCAgICBvPzJqgJ3QgGdwBCGgBxAABB/3b/dgUJCbm5wcFB/3r/eoJA/3yBjwcGAQICAgICAgYKAAcBCgEIAQP9ggH+AAcGAQICAgICAgb7APz//AD8Af4CggEDAAYBAQIBAQH/BAf/BAIJgQCABgAsAEAABABAAAMAIgAFAD8AAABAQAHAAMAAAAAAAAA7QAIAAMAAQAAAAAAe4OAXFxkjMjo6Ohjy06ysFBQNAPbn19HR0czR3pIA6YEcrv39vdXh9QcSL0xMTC0UFA0D/f39BAwRFREOFK6DHg4O8fHu49rZ2dnwAB01NfLy9fn4BRMaGhoZCvRTABGBAC+BGScVCQH88+bR0dHe7+/z/AEBAQD58ern5+Evgx6srAIC1MzBvLy8zNvs/f0GBvvo28+9s7Ozu8nQ+AC0gaAeBgb//wIBAQEBAQEDAwQE/v4AAgMEBggICAcEBQYABIEV/P7+/f///v7/AAEBAQD//wD//v7+/oID/////IMQ/f0BAf////////7+//7+AQGBC/79/Pz8/P39/f0A/YEcAgEBAgEBAQD//v7+/v7///8AAQEBAP///////wKDDgEB//8A////////AAECAoELAQABAQEBAQECAQEBgwAEgQIEAgGBCP/+/Pz8/v///4QG//7+/v7+BIMAgAYALABuAAQAbAADADkABQBtAAAAZEABwADAAAAAAAAAWkACAADAAEAAAAAANQT3DzJEREQj/9+vrxcXEgkC+ejd3d3e4OQEBATk3t7i4uLs/QYMERERqqrfASJKSkozDfcA6YEK3Nzc6wMOJ0xMTCOBJv79/f39/P8DBQUDAwMe9/f39PL09/v9/f39+vf31a2trcvr/RMeHoM1CxID7uPj4/oIHjMz8PD7BQMNHSYmJhcQGwsLCxsJEicnJxwMAgT56+swMBwOAOTk5PAEEgARgRYPDw8H+/Tf0dHR6fv7AwUBAQEA//7z9oII9P///w4SAgEBgg3/BhISIzAwMCQSCPr09IM16N3Rwrm5ucra6Pz8BAT55drOu7GxsbzP3Ojo6NzNua6urrnN2eT5Bwf//+rZyLe3t8HS3QC0gbcmAwMDAgICAgADAwUF//8AAgIDBQcHBwUEBAMDAwQEBQYGBgUDAgIBgQQEBAEDA4IEAQIDAASBCv7+/v8AAQEBAQEBgRH//v7+/v///wD///////////+BEv/+/v7+/wD///z9/f3+/f3///+DA/////+DHf///v4BAQD///79/f39/P7+/////v78/f39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ggH/AYoO///+/v7+/wEBAQICAgIBiAP/////gQABgwMBAQEBhIEEAQABAgGEEQECAgMGBgEDBggICAgHBQMCAYMSAQIDBQcICAgICAYDAQYGAwICAYMGAQABAgEAAYMAgAYALAB4AAQAigADAFAABQB0AAAAcUABwADAAAAAAAAAdUACAADAAEAAAAAAN/T3Av798QoqKioqHgLo5dzSzMzMzNbi6PUIExgYGJWVlavS6As5Tk5OTkIqA+jbvaenp6ekxv0CgQDrgTj7XGBdXV1ROCguJRgSEhIJ/e3k8ebwAQEB9+zq8enp8cmkmZmZosfx5AU9ZHp6emZELigbBPX19fuDD11hUh8KHx8QEBAQIkVdaHlEAIYAjgCOAI4Ajhp3TDAkEQP7+/t+fn5wWEcm997e3t7rBixFW31DAJIAkgCSAJIGcTUKJEwAMoErPb6/sbGxqaWstcnp/f398+LKux4jEwEBAQwYIR6mpB5BZXJycmhEHuTIn4VC/3n/ef95CYapysDYDjQ0NDyDRP9g/17/Y/91/34LncXY2NjYzLmuoo+CQ/98/3z/fP98IIypvcvi8/z8/PT09ObOvauShISEhImUo663xtDQ0NDAnEL/fv90/2SAQP9tgbwGCQoJCAYGA4MvAQQGBgcJCgoKCggGBQQBAP///wcHBwcFBQQCAwMDAwQEBgYFBQYGBgYICAYJCgAKgRj+AgMDAwMDAwMCAQEBAQEB////AP//AQEBgxv//wD//v39/f7/AP8AAQMDAwMDAgIDAgEBAQH+gwb7+/v8/P3+gw7//v39/Pv7+/v7/P39/v+DHP39/f39/f3+/v7+/v7+/f39/f39/f38/Pz8/AD7gQ4B/v3+/v7+/f7///////+CAwEBAQGCGwEAAQEBAQEBAgMDAwMCAQH//vz8/Pz8/v/+/v+CAAGDA/3+/f+BL/7+/v7+/f79/v7//v7+/v7+///+/////wEBAQD+/v79///////+/v/+//////8BAYEA/oMVBPv6+vr6+vr6+/z////////9/QIDAoIfAQIDAvv8AgUICQkJCQYC//369/b29vf5/Pv9AAMDAwODAIAGACwAWgAEAHIAAwA+AAUAUQAAAFNAAcAAwAAAAAAAAFlAAgAAwABAAAAAACvKylNTRycrMTlBPjkqODImGA3vxavXMu3O50ls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6a6JiRQUExINCQX89vPz8/n+/OTz/P/69PT09/wFCQ0RExQUioqr5QkvZH9/f21KF/bkAAAFgRMUFM3Nzdz8FTJWZ2dnUyYCAgIBAYIXAwgPFBQUFBTs7Ozs7Ozs8fj9////AQIDgQ3dsJmZmajM7AIeLjQ0NIMNVwkJHfC4oKCgue8bO21BAIsAix/u7vYDExsjLzg+Pj5BR1AJV1FHQj8/PzkvIxsUBPbu7kEAjQCNDnE/G/O9oKCgsdD+HQkASYEs/v4zMzMgA/LWqY6OjqvZ8fH2+/7///////7+/v7+/gICAgICAgICAQEBAQEBgw0dUXJyclksDgHp2M7OzoMEs9LStJtE/3v/bf9t/23/fA2ctMfl+PgBAfTfw7SihET/b/9k/2T/ZP9uBIKg0rOeRf9//2v/Yf9h/2H/bQ2DorTC3/YEBPv76cm0nET/fP9q/2r/av90BIaitNIAQP9kgb+CPwYEBAUDAwICAgIBAgIFBQX//wEBAgIDBwkKCgoKCAYEBgYHCAkJCQgHAwICAQD//wcHBQMCAgABAQECAwQFBAAACYEFAQH+/v7/gQYBAgMDAwEBggABhhIBAQEBAf//////////////////gw3//f39/f7+/wABAgMDA4MP/f7+/f7///////7+/v79/YIa//7+/vz7+/v7+/39/v3+/fz7+/v7/P7+/v//gRD9/f3+/v7//////v79/f4A/IEO//8CAgICAP/+/v39/f7+hxH/AP///////wEBAQEBAQEBAQGEAP+BDQEDAwMDAgEBAP7//v7+gxH/AQEA///////+/v7+AAEB//+BGP/+///////////+Af////7+/v7+///+//+CEAEBAf/+//3+/v7+/v8AAQD+gRD//wQEBAMA//359/f3+f3//4cN////////AQEBAQEBAQGJDQMHCQkJBwMBAP/9/f39gwCABgAsABYABAAWAAMAGAAFABQAAAAUQAHAAMAAAAAAAAAUQAIAAMAAQAAAAAALjGzh4WxsjBYWjAD0gUD/EYNAAPGHC0iGJCSGhkipqUgA1oFAAMuDQP8zhwDrRP9V/0z/TP9V/1UE6/T06wBA/0CBjQsHBAoKBAQH//8HAAuBAPiDAAiHBv3++vr+/v2BAv0A+oEAB4MA+YcL+g4BAQkJ+QEB+gACgQBBgwC0hwCABgAs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AQEGBgYFAwIBAYEr/v7+/v8ABAQFBwcICAgIBwcFBAQDAgICAgcHBwcFBQQCAQECAgICAQECAAeBNf7+AgICAgEBAQH///////7////+//4DAwEAAgMDAwIDAwIEBAIA/wEA/v39/f3+/wECAgICAYQSAQABAf8AAQIEAgIBAf//AQEAAYQTAQICAgIB//79/f39/gAB/wABAwSDDP38/P39///////+/v6DG/////79/f7//v7++/v7/P3///7+/f39/f3+//+FDf39/f3+//8A/wABAQEBgSX+/v39/Pz8/Pz8/f3+/v///////Pz8/f39/v7///////////4A/YE2AgL//////v7+/gABAQEBAgEBAQIBAv7+/////v7+//79//39/v8B/wECAgMDAwIC//7+/v7//4MK/////wEA///9//+BBQEB/////4MU///+/v7+/wICAwMDAgIB/wH///39gxv8/f37+/z7+vv9/f39+/v7+vr6+vv8//7+/v7+gz//+/v8/wEBAQEA/v38/fv7+/v7/Pz8/Pz9/P3+///////9/f39+/v7+fn5+fr7+/z9/Pz8/Pz9/f3+/fz8+vr5CPn5+fn5+vwA+IGBEf7+/v79/Pz8/v7+/v///v7+/4Eh/f7+//7+/v7+/v0B+fn5/P0EBAYHCAgICAcHBgEBBgUCAYISAQEDBP3+AAH5AQEA//39BAMBAYIVAQIFBgEBBgcHCAgICAcGBAT9/Pr6+YOABgAsAHgABACTAAMAYwAFAG0AAABrQAHAAMAAAAAAAAB0QAIAAMAAQAAAAAA6Pz09zc7NzT9Q6urq7vT8AggSGR0dHZGRkaLB6gIYO1BQfvPz8/8THyAjJCUlJb+/v83oCh86ZX5+ACOBBxER3d0REScngQofFw0FAQEBBQ0XH4EJHwHQrpqamrv4H4EJHxUIAQEBBQ0XH4EJHwHQrpqamrv4H4MCUyUlQQCOAI8DYGBTEkMAlACUAJQAihR5YVM1A93JyclmZmZiW1VTRicSElRFAPIA8gDyANUAogCABWxMMyYmJkYAqACoAKgAoACVAIYAgAR5ZFRUAEAA14EH//8hIf///f2BA11KKQ6CAw4pSl2BCV1fZm1xcXFpYF2BAl1DGoIDDilKXYEJXV9mbXFxcWlgXYMCh7m5Q/9K/0r/f/9/AYeGQv99/33/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/PwFBQUEAf79+vj39/eDJP///v7////////9/Pv8/AECAQD9/Pz//wD/AAEBBAYJCQkHBQKIAf//gwABgwCABgAsAIUABAB/AAMAXQAFAHsAAAB9QAHAAMAAAAAAAABrQAIAAMAAQAAAAAA/+/v7ICpEWFhYOg/7+/v77t3V1dXa4/L7+/v7+/v7wsLC5yAyTmFqampkW+jo5+fn8QIVICk2QERFRUU0E/vXzwTGwsIA9YEMRkbj4+P3ER0uT2NjY4INAg0XGhcQDxUWIzEyPECBBtSkpKSwyOqIBgIEBgYGBAKBCQoeOEZGBgYICQqDBT/6+vXLl0L/ff99/307mM/6+vr6Aw8VFRUaJDU/Pj4/Pz9ARUVFNyME17ioqKipq0FBQUFBQUA8Ohfkw6+srKzNDz9ERERFRQD0gQy7uxgYGAfn07+hj4+PgxX//v3+/v7+/d6/vr27Pz87MjIyKx4LkQT/6su7u4ECBQ4UgyLa/wDbzLesrKy50eIMDeLOs6SkpKmzwszMzM3O1Nenp6ebiU//ff9r/17/WP9Y/1f/Xf9k/1r/V/9P/0//T/9Z/2n/fhCJkqCrr6+vr7nO3t7IsKenAED/VoG/hgIBAf+BAAGCOwEDAwEBAwQFBgYGBgUDAgMEAwICAQcHBwcFBQQEBAQFBQQKCAsMDAoIBgUEAwACAgICAwIBAwUHBwcACYEBAgKDBgEAAQICAgKCBQEAAQIBAYEFAQIDAwICgQb+/v7+/v7/iQQBAQEBAYMFAQICAgEBhgD/gwD/ggL///+BNv/+/fz8/P39/v7+/v/+/v/8/Pz8/f3+/v7+/v3++/v7+vr7/Pz9/f7///////////7+/fz8APuBDP7+AQEBAf////79/f2CDf////////////7+/v/+gQYBAgICAgIBiQT//////4MH//7+/v//AP+EAf4BgQABhAYCAQEAAQEBggkBAP79/v///v3+ghX//v79/v7+/v7//////wD///39/v/+hQP+/wABhQz7+wICAgH+/fz59/f3hBT//////////fv8+/sDAwQFBQUEAwGSA/78+/uBAgEAAYMAgAYALACXAAQAjgADAFEABQCAAAAAd0ABwADAAAAAAAAAhEACAADAAEAAAAAABDYzMzdhRACQAKMAowCjAIQhTi0fHy0nIiAgICAgISMjIhoSEBYlMykkJCQkJCQkJScoKEcAsQC4ALIApwCnAKcApwCNDVbHx8foDFBOSkZGRgD1gT8yMtDQ0PMVFTFTYWFh////BhAXHBoTDhEbGyYwMS40ODLs7PD6AP//////////6+f/ABMpMoydnNvtxL+voZ6MgzROvbs1AtDAwMDO9h7x6B4nQ1hYWFdWVFJQUVNUVFRgYQRMWGdtbW1tbG50dNbW1dTU1NTk+kQAxQDEAMQAqQCmBmRZX2xsbABAAJyBDLW1ISEhD+zSvKGUlJSCGvXq6ejp6uvq5+bTv7+/t7G16eno6OcTJRX6+4ES/QsYE+fexrUx8NKxqrGztcjgMYMpzO/v1buekJCQn73UAQHUu5mHh4eLlKK0v7/CxcXJysvOzLGTh4eHh4WAQf98/3wIhIiNj4+Pj566Qv97/3v/ewiFjJKNhoODgwBA/3qBv4OCBgH//f39/f6BNf//AAIEBQUFBgUEAgECAgECAAEAAgEDBQUFBQUFBQUF/v39/v7+/v8ACAgICAUCAgIDAwMAB4EVAwP9/f3/AQABAwQEBP////8BAQICAYQHAgIBAgMD//+CEf///////////v//AAECA/z+/oEF///9/f38g4MEAQABAQGCNQEBAP7+/f39/v7+/v////7////////+/f39/f39/f39AQEBAQEBAQEA+/v7/P3////+/v4A/IEM/v4CAgIA/////v39/YIS////////AP///wD//v7//v4BAYoBAQGCDP7+AwMDAQECAgICAwODP/wAAfz9+/v7+/z9/f8A/f7+/f39/v3+/fz9/P39/Pv7/v39/fv7+/v7/Pz8+vn7/Pz8/Pv9/P39/Pv7+/v7+/sBAP2BDPv7AwMDAv79+/r4+PiDGf7+//7///7+/v37+/v7+/v//////gEBAQD/ghEBAgH+/vz7BQH//fz9/P3/AAWDgAYALACEAAQAjAADAEYABQB5AAAAdEABwADAAAAAAAAAfUACAADAAEAAAAAAPxkKCB9CaHl5eWhCH+/yHxYH+/X19fwFCwoK/fv/CRMmCwL38vLy8uvazMxQY3J2dnZ2Yz+NjY2t0RYUEAwMDAAA9YEMNTXV1dXkBR84VF9fX4IZBQ0VGBYLAQAHCDEzMDY7NfLy9v0CAPn8AgGBEgIB/wABESk1usvKCRvy7d3PzLqDMyzT0RDowLW1tcDoEPrtEBguQU9PT0tCNy8vMDAvPT7xKkBYY2NjY1xMPz+it8jMzMzM1eZEALcAtgC2AJkAlgZWS1FeXl4AQACugQy1tfj4+OzWxrSdlJSUghn57uLc1ca4rqurvsDAuLK139/a0cvr/v71+YES+vXw68vIvrU29de2r7a4us3lNoM/xvP0zrujmZmZo7vOAwLOv6iYkJCQlZ+wu7u/wMPExMnHs5uRkZGRkI+OjpeZmZqampqluomJiZKaoJuVkpKSAACEgb+CAAKCKf8BAQEBAf8AAgEAAgUGBwcHBgUDAwMDAwMDAwABAwYHBwcHCAkJCQEAAYMO/wALCwsLBwQFBAUFBQAIgQQCAv///4IEAgMEBASDBQECAgIBAYIIAwIBAQEC////hAEBAYEAAYIOAQICAv7+/gIA///+///+gwD/ggABhAABgx3//v39/f3+/v7+/v/+/v/////9/Pz8/Pz8+/v7//+GDPr6+vv8/v3+/f39APyBDP7+AQEBAf////39/f2EA/////+BC/////7+/v/+AQEBAYECAQD/ggH//4IN//7+AgIC//8BAQEBAgKDKP4BAf////7+/v///wEB//////7+/v7+/f7+///+///+/v7+/f39/f7/gRX//v79/f39/f3///8A/vz9/Pz8/AD8gQz7+wEBAQD9/Pv5+Pj4gxX//v7+/P38+/v8+/v6+vv///7+/f//hhD///38/PsFAf78+/z8/f4ABYMAgAYALABhAAQAXgADAFwABQBXAAAAUkABwADAAAAAAAAAVkACAADAAEAAAAAANDiupaCjr8LZ5/v79vwHDxkkKkdH+/tZWc7Oztbm/AkZMEBISEdAQb69vr6+z+cBCSJFWQD1gYEETzYYCAGCDJmWkpCbvv0wAGhoAP6BCf7ctKCZmZqowumBAf//igD/gzTTb2tpWEAqGhv5+fju4tza2tjx8fn5r69NTU1CLRH/4bKTgoKCgoIgHyAgIBoRBf/ow68A8YGBBOXX1eHyggxxcnNxa19LPgCLiwAsgQksPVhrdXV1ZEUbjQEJHYMRzMPKzNHZ5fcFCQkE+uzh2tTSQf9Y/1gByspc/1v/W/9T/1P/U/9O/0T/N/8v/yH/Df7//vf+9/73/v7/Av75/vX+7f7u/u7++P8J/yH/L/89/1D/W4BA/uyBtoAzBwgIBwUE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/sifn5+05Q69y+4ICAgVFwcD/4II7eH1GhBEVTgUgzOem5uesNDp9/f39+7fyb2uloqKipauwM/o9/f9/ezQvquRgoKCkau9zOP1//////DVswCGgbUzBgUFBgUEBQYGBgYHBgUDAgMCAgICBAQDBAYGBQUHBwcHCAkJCQgHBAIBAP///////wEACYEjAQEEBAQEAwH/AP///v7+/v8BAgICAwMDAwIB/v7//////wABiQMBAQEBgyj9/f39/v7+/f39/f39/v7+///////+/v79/f3+/v79/f37+/v7/P3+/4YDAf4A/IEg///9/f39/gACAQICAgMDAwIB///+/f39/f7/AgIBAQEBhwgBAQEBAP////+DgAz////+/v8BAQEBAQICggP/////ggcBAQICAgIB/4EC////ggH+/4QC/vz7gx0BAfn5+fz+AQD/AQQHCAgIBwMB//z4+Pj7/gD9/v+DAAGBAAGCCP8AAQMBBAQDAYOABgAsAE0ABABNAAMAKQAFAEMAAABLQAHAAMAAAAAAAABJQAIAAMAAQAAAAAACrRgbgSCql5i/18/Q1tbW4fD0CBshIaan3fQbR1hYWEUfAuS6AOKBATAbgQtqaszU5eXl7Pf++/yCEPz5+vrRnp6erNP4EjNFRUU9gyUiqroMDC03JygdJyYeHh4T/u3fvau2WkwS7deohoaGodDs+AYAJIEB1O6BC6amDwYEBAQNFRcdEIIQDBcWFjtsbGxaMhL+2sPDw8ODJe/16oKC4+3oz7+tkYGBgY2ovszm+Prx79K+q5SJiYmVrsDS5gCGgaclBgEABgYGBgUHBwgIBwcHBwUEAv/+/QUEBAQEAwICAgIDAwQGAAiBAAOCAwQE//6LD/////79/f3+/v8AAgMDAwKDAP6BD/39/f39/f38/Pv7+/z9/v+BEAH+/v3+/v////////7+/gD8gQH+/4EK/f0CAgEBAQEBAAGEDwEBAQIDAwMCAgEA/v7+/v6DAgICAYEGAgICAQEBAoIMAQABAQACAQIBAgEA/4IAAYEBAgODAf3+gQv4+AMBAQEBAQEBAgGCEAEBAgIECAgIBwQCAPz7+/v7gwCABgAsABoABAAcAAMAFAAFABoAAAAaQAHAAMAAAAAAAAAXQAIAAMAAQAAAAAAN9PQVF0XlF6LDw0ZGAOKBA88wMN6BAXXP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XHV1dWdLIAIUKDAyMjIvKSAZEgT68/NBAIsAiwhyTzMvE9myAD+BDRQI9uba1NfW1Nnh6fX8ghgODfX13Lytra231O/7ECExODg5NiodEwgCggz+AQ8eHi1BTVNTU00ygwiCgomXrr/O5veCBfblzL6qjEH/e/97EISEkqy+0Or4+Pjy5M28rZWDQv95/3n/eROElrC9yeP5Bgb+/vLeyL2skYIAgoG9CwEBAQIDAwIB/////4EFAwMGCAgIgSUCBAMFBwcHBwgIBwUHBwcHBwcGBwQEBAMCAQEGBgUFAwQDAwEABoGBCgECAgMDAgEA/wABhwYBAgMDAwIBhQT/AP///4cK//////39/Pz8/f+DB////v7+/v//hR7+/v38+/v////9/v3+/f39/f39/fz8/Pz8/Pz8/f7+gwr+/v7+/v7+/v8A/IENAQEA///+/v7+////AP+CFf8A///+/v39/f3//wABAAEBAQABAAGFDAEAAQEBAgMDAwMDAwKDBP7+/v8BgQABiwH//4QQAQEBAgICAgH/AP////8A/v+EAQEBgQb//v7+/gD+gQsCAP/+/P38/P39/v+EAQEBgRL9+/r6+vv9//8BAgQEBAQEAwIChgoCAgIEBgcGBgYGBIOABgAsAD4ABABAAAMAMQAFADkAAAA6QAHAAMAAAAAAAAA3QAIAAMAAQAAAAAAgHALz5OHi4uLZ1dv3qKgkOVdlZWVEFgKYmBxvR8Hh4QAxgYMTAQQICgcKFSYmxMTE3wMQKk9iYmKCAfT1hSDHISMvPUdHR0lWZCgLCxz3yK+vr8HzIV9fx5SzVzk5AEiBghQDBggI8Ovy68HBLS0tFfXo062VlZWCAvn7A4QE+rqrkoBC/3f/d/93EYOZpqv397OijICAgI6ouvDw+kD/eAGupUH/b/9vgED/cYGiIP0DBQgJCQkJCQgIBAUFAwMCAgICAwQDCAj9AwIHCAgABIGFAAGDDAIC/////wABAQIDAwODAAGFgB/+/vz8+/v7/Pz8/f7+/v/+/////v7+/f0A///8+/sA/YGDE/8A/wD/AP///wICAgH///7+/f39ioAZ/gD/AP////////8CAv7+/v///wD//gICAP+BA///APuBhhD//wD//PwEBAQBAP/9+/j4+IqABgAsAGQABABkAAMASwAFAGAAAABfQAHAAMAA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AwIBgQT//v7+/4MA8IMAEIQAgAYALAA8AAQAUAADADAABQA5AAAAPEABwADAAAAAAAAAOUACAADAAEAAAAAAAN6BF978IjMzMyL83oSEBwfe0ryvr6+3xNTOzoIA3YEMHR28vLzT+Q8mTGJiYoQKBAsPExgbHQRlZQSDQACFgUAAhQZgOy8vLztgQgCFAMwAzAE0NEoAhQCSALAAxQDFAMUAuQClAI4A+wD7gkAAxoEM7Ow1NTUa9+vbspSUlIUJ+/Tu6ersC8HBC4MFqg4OqpeAQv91/3X/dQiAl6rl5e3tqpdE/3v/bf9t/23/dQaFm6+vDg4AQP9vgaAeB///BwcGBgYGBgcHBwcBAQcHCgsLCwoICAYG//8ACYGBA/7+/v+BBAIDAwMDhwcBAQEAAQICAYMN/AEB/Pz9/f39/fz8/f2BDvz7+/r6+vr7/P39AQEA+4EM//8CAgIBAP///v39/YUJ//////////39/4MA/oEX/v3+/f39/v3+//////79/v39/f79/vz8ggD7gQz//wQEBAIA//36+Pj4hgf//v/+/wD7+4QAgAYALABpAAQAbAADADkABQBnAAAAZEABwADAAAAAAAAAWkACAADAAEAAAAAANQT3DzJEREQj/9+vrxcXEgkC+ejd3d3e4OQEBATk3t7i4uLs/QYMERERqqrfASJKSkozDfcA6YEN39/f7gYRKk9PTyYDAwGEDwIGCAgGBgYh+vr69/X3+v6DDP36+tiwsLDO7gAWISGDNQsSA+7j4+P6CB4zM/Dw+wUDDR0mJiYXEBsLCwsbCRInJyccDAIE+evrMDAcDgDk5OTwBBIAEYEWDw8PB/v039HR0en7+wMFAQEBAP/+8/aCCPT///8OEgIBAYIN/wYSEiMwMDAkEgj69PSDNejd0cK5ubnK2uj8/AQE+eXazruxsbG8z9zo6Ojczbmurq65zdnk+QcH///q2ci3t7fB0t0AtIG3JgMDAwICAgIAAwMFBf//AAICAwUHBwcFBAQDAwMEBAUGBgYFAwICAYEEBAQBAwOCBAECAwAEgQL///+BCAIDAwMDAwICAYQPAQEBAQEBAQH///8AAQD//4QL///9/v7+////AQEBgwP/////gx3///7+AQEA///+/f39/fz+/v////7+/P39/f3+//+CBP7+////ggT///8A/YECAQEB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tbCwu83Z5vgDAwP45trPvLC5ucLR2uj7+/vy49nMuQC0gb+BBgYGBgQEAgKDBAIDAwUGgR0BAgMDBQYGBgUEBAMCAAcHBgUEAgH///8AAgMEBQeCCQIDBAUFBQUEBAKBAASBAv/+/4IJ//7///7+/v7+/4gH//7+/v7+/wGBAgEBAYEBAQGECgECAwMDAwMCAgH/ggD/gwX9/f3+/v+EBP7+/v39gRP///7+/v7+/v7//v//AP39/f7+/4QE/v79/f2CCf7+//7+/v7//v+BAP2BAgEBAYIaAQEBAAEBAQEBAAEA//////8AAQECAgICAgH/gQL///+BAf//hA7///7//v7+//8AAQEBAQGDgQcBAAEAAQEBAYEB//+BDP7+////AAEDAwMBAQGBAP6BBAEBAf8BgwH//4IN/v7+//8BAgICAgEBAP6DAgEAAYIbAQABAAIBAQECAAEA//39/f8AAQIEBQUFBAL//4QB//+GDf/+/fz8/P3/AAEDAwMBgwCABgAsAGIABABkAAMANAAFAGEAAABYQAHAAMAAAAAAAABTQAIAAMAAQAAAAAAw+v4UMD09PT0tCe7Ws6CgoLLR5gYrOzoiIxsMBAgIBAQEAPbt6N7X19fX3ej1/fkA6YEZsLCw0gAT7w45T09POBUD88+3t7fW/w4lFQWCBAcKAgEBggkCBgjw+wIC////gzAKCevb4ODg4PEHEB4yPT09NSUaEPfk4fj99/P9Av739/cEEBAFESUlJSUM9fMLCgARgS4oKCgK8v0O/eLS0tLc7PX8ESIiIhb+6w8G/fv7+/Dt+fv/AQEBDxH++N3U5fn5+YMw9PDcxLm5ubnC0dzm9v////fn3dHBuLi0tcDS3ur9BwcH/OnczruxsbGxuMjf8PQAtIGyEwEDAwMCAgICAQMDBQUFBQUEBAMCgRcBAwMCAwICAP///wEDBAUHCAgICAcFBAKBAASBA/7+/v+BE/4AAgMDAwICAgH//f39/wABAQIBggMBAQABgwkBAQH/////////gxP//////////////v/+/v7+/v/+/4EF//7+/v7/gQ8BAQEA//7+/Pz8/Pz9/f7/gQD9gRgCAgICAP8BAP7+/v7///8AAQICAgIB////hAD/hQT///8BAYiAGAEBAf/////+/wABAQICAgEBAP/+/gD//v6BAAGGAAGEAgEBAYUXBAQEAf//AQD+/Pz8/f8AAQIDAwMD//8BgQb//////wD/gwYCAf8A/f7/hgCABgAsAAgABAAIAAMACiAFAAgAAAAIQAHAAMAAAAAAAAANYAIAAMAAQAAAAAMCAQICAqvdlAJG5AACWftVgAEnAAAFpKQDAwCmgYcCCgEKAgL/AAL7//sC/gEAAwIAAgMCAQECAgP/AIAGACwAPgAEAEEAAwAhAAUAPgAAADRgAcAAwAAAAAAAADtAAgAAwABAAAAAAB0ULL/jIyMQA/bk5OT2AxAjAgICAwQFBQUEAwICAN+BGygwMCg8LSMjIy08SlVVVUo8Ojg4ODk8Pj8/Pz6DAewuQACWGk3s7AUaMEhISDAaBewVFRUaHx0dHR8aFRUA7oEbTW5uTT9HWVlZRz80JCQkNT86OTk5Oj9CQ0NDQoMd48e72PX16N/WycnJ1t/o9e3t5d/Z0dHR2d/l7QC/gZ+AHAEGBf39AAEDBQUFAwEA/QEBAQECAQEBAgEBAQAEgYAaAwMAAQABAQEAAQMEBAQDAQIBAQEBAQICAgICgxAPAAEBAQIBAQEBAgEBAQEBDYAO//z+AQD//v39/v8AAf/9D//+/v/+/////v79/f3+/gCAGv3+AP/////////////////////+/////v///4MLBAYGBAIDBAQEAwIBggwBAgMCAgIDAgMDAwMDg4AGACwAEwAEABMAAwAQAAUAEwAAABNAAcAAwAAAAAAAABlgAgAAwABAAAAACQgBAgICAgICAgII96qcH/aq/KoEgACegQI002KBCBMLX8YVCx4L74AAa4ECyTaVgUD/fwT18PiN9UD/fgH1iIgIBgUG/wcFCQUGgAD9gQIB/wOBCPz+/QH8/vz+/YAAA4EC/gH9gQcGAQIBBQICAoAFAwH/AwADgAUIAPwF+ACABgAsAMIABADDAAMAdgAFALgAAADAQAHAAMAAAAAAAACgQAIAAMAAQAAAAAAlNjY2LRkJ+eXc3Nzc4ev9CRktNrOzs8fuCSRKX19fX0okCe7Is0iBOe7u7vLy7gDo2NfX193p9wANIzI7OztJYWw2FNq4uLjB0u4AFjdOWlpaQRgAEitMX19fWk/DwwD3APqBAxISDQSCLgQNEhIZJzE3NzcuHRISBenW1tbpBRISJUpiYmJKJSUlIxEJ+/Hu7u7u7vH39/r9gyQBBQkNGSQlPTsf9uTVvKmfn5+uyOf3CzRPT09PR0BANiwnAFxchD/CwsLO6f8VMDw8PDw2JxD/6c7CWFhYPxf/6L+mpqamv+j/Fj9YOC0tLy8vLy4vQjYlHBwcGBEHAPTh08zMzNnsIfT6EDRMTExDMBQA68CchoaGnNIAFQz99fX1CyoSEgsMAAGBA/T0+/+CLv/79PTv6ujn5+fp7vT0BShAQEAoBfT04r+oqKi/4vPz+AwdHiUqKioqIBkfGA0FgyT////47+rp09bvFCozRFFYWFhJMBYL8djR0dHR1eLw8fHyAPj4hDD8/Pzs0b+tkoKCgoKLm7K/0ez89PT058+/r5eKioqKl6+/z+f01tLX5OTk3tTPsaCGQv92/3b/dhmAlbLF1e39BQUF9d3Qz9zw/f399+jUxbSZh0L/fv9+/34KiaCxz9bj7Ozs5NpB/3j/dwKqrgBA/3yBv6M//v7+AAIEBQcJCQkJCAcDAgEA/gUFBQUDAgICAgICAgMEBAQEBf8CAgMDAwIEBAQGCAkJCQkGBQMCAP/+/v79+wD9gR4DBAQEAwQCAwIDAwICAgMEBAEA//39/f7/CQsEBAAHgQEBAYYLAQEBAgICAgIBAQEBgQL///+BCwEBAgMDAwMDAgEBAoIF////////iRP/AAEBAQECAgEA//79/Pz8/P3+/4ENAQMDAwMCAQEBAAEAAgKEOAEBAQD//v78+/v7+/z9/v7/AAH+/v7+/v7///////////7+/v4A///+/v7//v7+/fv7+/v7/P7+/4EmAQEBAQIBAP///v7+/v7//v7+/v////7+/v8AAQICAgIB+/v+/QD8gQL///+EIf/////+/v7+/v7///8AAQICAgEA///+/v39/f7+//////+BCQEBAQEBAQEBAAGDJP8A/////v/+/v8AAQICAwMDAwMBAQH//v7+/v7+/v7+//8A/v6EgwD/ggP/////gQL/AP+EAP+CBf///////4QJ/P///////v///oECAQEBgwD/hAT+/fz+/oMBAQGCAP+GCf7+/f39/fz8AgOFAv///4Qt//////7+/f39/v7//wEDBQUFAwH///77+fn5+/7///8BAgIDAwMDAwICAQEBAYcg//7+/Pz/AQMEBQYHBwcFBAIA//38/Pz8/P7+/v7/AP7+hIAGACwAZAAE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AgEBAgEBgxwEBQMBAP4AAwEBAQEBAQEBAwQCAwICAwMDAwMAAYEA/4EA/YEC/wEBgwT//v/+/oMB//+GgAYALABJAAQARAADACQABQBAAAAAQ0ABwADAAAAAAAAAPkACAADAAEAAAAAAAJdA/2sdwrqzCd7TubnBz9fU09HOyNPT7e3l187Y2dXX3tMAQP8KgQDrgQAcgRjrtMLAydPT0+T09PTizsPFw8DAwK6cnJyhgyA5Ie4oYCsV/yQkM0VLU0c4PkltbUpKOiYgGic0LSL/AA6BHvELC+ELC/Hs2Nra2tra1dDQ0NbV4uHf3t7e4+fn5+uDIM+ls9T0Atmyqqqwub/I0drh5+7u9vbw5uHZz8a/ubIArYGiIAkNBwYF/gQICQkIBgUEBAQEBAICAQECBAQEBQUFBQgAEIGCAAGCB//9/v7/////ggz//f7+//////79/f39gyD8+vz9/gD+/Pz8/Pz9/f39/v7////////+/v39/f38APiBAAGBAP+BCAECAgECAQEBAYIMAQICAgICAgICAwMDA4MNAgUDAQD+AAMCAgEA//6CB//+/v//AAEBgQD/gQIDAAiBAP+BAP6BDf8B/////////v39/f//hgMBAQECgwCABgAsAA4ABAAOAAMAEiAFAA4AAAAOQAHAAMAAAAAAAAAVYAIAAMAAQAAAAAcGAQICAgICAgbydZwf8qYEAGKCAGKBBjaeX8Y2HyMAlYIAlYEADYaGj4/w8Pj4hob29gCRgY8GBwAG/wcFBQADggADgQb8//0B/P79AP2CAP2BBgUBAgEFAgKABP4BAAL/APiBAPiBgAYALAApAAQALQADABkABQAsAAAAKUABwADAAAAAAAAALEACAADAAEAAAAAAFUjm5uv2+wELERGvr9L7JEj2K9PHAMWBgwIBAQGDCOzR0dHuzNrazIMVKmBgTzIdCuzc3BMTGB0mKv4PV0YA+YGBBvbm39/f5vaBCAMDAwMD59jY54MVq6OjrcLP3fH8/PT048+9q9m/tdEAnIGXBwEFBQUDBAMBgQsEBAQEAQEEAQYEAAmBgQb/AAEBAQD/ggf///////7+/4MG//z8/f3+/4IL/v7+/v7////8/gD8gYEAAYQAAYEIAQEBAQECAQECgwT8/v7//oELAQEBAwMBAP38AP//gQADgYEG///+/v7//4EHAQEBAQEA//+EAIAGACwAUQAEAFUAAwArAAUASAAAAEpAAcAAwAAAAAAAAEpAAgAAwABAAAAAACdH6+vw+P4DDBERtLTU/iRHzyEiMURMTEw8JBAKCv709ff39+/dzgC+gYEGAQMEBAQDAYEa7tXV1e/e3rq8xdjl8P4GCgrj4+bo6ejg1M3OgwBGQQCHAIckcksyGPHc3B8fJTI9RkX54uHf3d3d4+v1+fkMJzpCQkJCQ0QA+oGBBvXo4eHh6PWBGgQKCgoEEhL4+Pf07+/s6ejoCAgIBwL+AgQCA4MnrqWlsMLQ3vL8/PT049C+rszU1Mq9tra2vcfV29rQwLWurq62xMwAnoGpgAUFBQUGBAKCBwQEBAQEAAb/gRMBAgICAgMBAQEDBQUGBgYGBQUACIGDAgEBAYMO///////+/v7///8AAQEBhQX//v7+/v2DgAX9/f3+//+CBv7+/v//AP6BAf//gw7//////v39/f39/f3+APyBgwL///+DDgEBAQEBAQECAgECAQEA/4EJAQEAAQEBAQECAoMZ+/z8/P///wABAQEBAf/9+wD/AP///////wGDCf///////wABAAKBggT//////4MHAgICAAICAgKDDf////8BAQEAAQACAQIBg4AFACAABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAIEA6YGEgQARgYSBALSBhIEABIGEgQD9gYSABQAgAAUABAAFAAMABQAFAAUAAAAFQAHAAMAAAAAAAACBAOmBhIEAEYGEgQC0gYSBAASBhIEA/YGEgAUAIAAFAAQABQADAAUABQAFAAAABUABwADAAAAAAAAAgQDpgYSBABGBhIEAtIGEgQAEgYSBAP2BhIAFACAABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAIEA6YGEgQARgYSBALSBhIEABIGEgQD9gYSABQAgAAUABAAFAAMABQAFAAUAAAAFQAHAAMAAAAAAAACBAOmBhIEAEYGEgQC0gYSBAASBhIEA/YGEgAUAIAAFAAQABQADAAUABQAFAAAABUABwADAAAAAAAAAgQDpgYSBABGBhIEAtIGEgQAEgYSBAP2BhIAFACAABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAIEA6YGEgQARgYSBALSBhIEABIGEgQD9gYSABgAsAF4ABABh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/37/fv9+/34Qh5evv83j8vv7+/PjzcCvlYVD/3z/fP93/3cOi6zAz+j7BQUF++jPv62SRf9//3X/df91/3X/fgqMorvK1ev28+nXAED/b4G/PQQEAwQEBAQEBQUHBgYICQkJCQkJCQcGBgYGBgkJCAcIBwUDAQEBAgQEBQcJCgsLCwsKCgcGBQUDAgQFAwAKgQX9/f3///6BMwECAwMDAgD///8A/v7+/v8BAgICAgH//////wD//wABAQEBAQD///7/AP8A////AAH9/f2DPf79/v39/f39/f39/f39/Pz8/Pz9/f38/f39/fv7+/z9/f////////7+/f37+vr6+vr6+/z9/f7////+/gD7gQ0DAwMCAQIB///9/f39/oIMAQECAwMDAgD//v7+/4YBAQGDCwEBAQECAQEBAQEBAYECAwMDg4EVAQECAgICAQMCAQIDAwMDAwMFBQMCAoIZAwMEBAYGBAMCAgIDAwICAwICAgICAgEBAAGDAQIBgQAEgQ8KCgkHBQQB//z59/f3+fr+gQsDBQcHBwYCAQABAP+EBP8A////gw//AP8GBQMDAgICAgICCQkKg4AGACwAJQAEACoAAwAXAAUAJQAAACJAAcAAwAAAAAAAACZAAgAAwABAAAAAABMMiIiIkaKtra2trK2frcz2DAwAqoEB3d2FCAMDmpqTk5Ou34QTxl5eXkghB/vk1tbhxNnUy8bGACuBQQCQAJACSjIRhAdiYmJiYlxSSoMT9+3t7fgNGyEoLSsoHxsP//f3AOWBlRP+BgYGBgQEAQMDAgMFBAMA/v4ABoEB//+FCAIC/Pz8/Pz9/4SADP39/f7+//////////+EAP2BAQEBhQj//wMDAwMDAgGEgA4DAwMDAwMCBAQEBQYEBAKCAAGBBAkJBAIBhAcICAgICAcFBIOABQAgAAYABAAGAAMACAAFAAUAAAAFQAHAAMAAAAAAAAACAgDigYQC+QAkgYQB+QBA/3SBhIEACYGEgQD7gYQAgAUAIAAHIAQAByADAAQABQADAAAABmABwADAAAAAAAABAAIAAvYA4oGEAALdACSBhED/dIAACYAAgQD7gYSABQAgAAYABAAGAAMACAAFAAYgAAAFQAHAAMAAAAAAAAAC8QDigYQCNgAkgYQBBwBA/3SBhAEAAgAJgIEA+4GEgAUAIAAGAAQABgAD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BQUEAwIACIEEAf////+CB/////8BAQEBghgBAQH/AQECAgMDAwICAQH////9/f39/f//gwj7+/v7+/z9/v+FHv/+/f37+/v+/v7+/v39/v39/f39/f3+/v39/v7+APuBBP8BAAEBggcBAQAB/wD//4IY//8AAf///v79/f3+/v//AQECAwMDAwMCAYMOAQEBAgICAQABAQICAgICgQQBAgEBAYIRAQIBAQIAAgMDAwMCAgEBAgIBgQACgQH/AYgBAf+BAAGCAAGDCP/7+vj4+Pr7/4EIAQQHCAgIBwQBgwCABgAsABMABAATAAMADAAFABMAAAASQAHAAMAAAAAAAAAQQAIAAMAAQAAAAAAIycmbH0j7+wC0gYAERgEBYmKECD4+eeKt+/sAKoGAALSBAZSUhAiAgOTtigwMAIuBiggLCwb+A///AAqBgAQCAQEDA4QE+/v9AP6CAPuBgAD+gQH9/YQCAQEBhAACgYAA+4EB+PiEgAYALABmAAQAYAADAEYABQBfAAAAVkABwADAAAAAAAAATkACAADAAEAAAAAAMR6amqoexsbGx8vQ1eHr6+jn5+3z8ePVz8nHxkhISD0qEQTkwbOxsbGzye4EEio9SADhgYQJAQH7+fz////twkL/ef9CAJ8CczcRghcDBgUBARk/WGZmZlM7LTKnnJaYmJikvuaDMdZtbVnWKioqMDQyKzA/S1BLS1BLPzArMjMwKpOTk6bG7wUVL0hgbGxaORcF8MinkwAcgYEAOIEC////hAcPHyQb2NXi8oMW//7//+rGqJiYmKWztapMRVNmZmZVOBODBPnw8PH5Q/9x/3H/cf97D42ltcTb6/b5+fbr2sS2poxE/3v/cf96/3r/ehCCkae2xtzq8fPz8ODHtaeRgkD/eoBA/3WBszH/BgYF/woKCgoICAcFAwMCAQEBAQMFBggJCQoDAwMDBAMCBAUEBAQEBAUEBAMDAwMACIGEDwEBAQEA//////78+gUEAgGDFQEBAQEBAgQEBAQDAwMD/v79/Pz8/f6EgDD9/f4A+/v7+vv9/f3+//////////38/Pz7+/7+/v7+/v7+/f7+/v7+/v7+/v7+/gD7gY0GAgQF/Pz+/4MA/4IS//79/f39/v7//gMCAwMDAwMCAYOCEQEAAQEBAAEBAQH///7+/v3+/4ICAgEBggX//////wGD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AgGCHgEDBAUGCAsLAgICAwMDAwMEBAUFBQYGAwMDAwICAAmBiAv///////77+gUEAgGIEQIDBAQEAwMDA/7+/f39/f3+/4MB/f2BCv76+vr6+/39/f7/hB3+/f38+/v6/v7+/v3+/v7+/v7+/v7+/v7+/v7+APuBiAABggcBAgMF/Pz+/4cS//39/f39/v7//gICAwMDAwIBAYOJAAGBDP////7+/v7/////AAGDAwEA//+DB///AQH/////ggABgYQDAQEBAYMHAgQFBvr7/f+FFAEB//z5+Pj4+fv7+gYHBwgICAcEA4MAgAYALABkAAQAYQADAEEABQBaAAAAXEABwADAAAAAAAAAXUACAADAAEAAAAAAMTk5JbW1CQkJBgD48uXW0tfd3dvZ2+fy9v4FCYeHh5CftsPZ/hQSEhMSBOLDtqCQhwDDgYQC+fn9hAIRN3NCAJ//Qv95HMLt////+fTz+fneuqaenp6doacyKjZOYmJiUzgRgzGfn7M3N93d3dnV0tPOvq+qr6+prr3O09HT2N11dXVjQhb76MajjIyZs87r+xhFZXUA+4GAAO2CAwICAQGDB/Li1tkcJR8PgxYCAgICFjxbbW1tW0tNq7ayo5SUlKfG7YMChYWEQf98/3wJBAQE++nQwLKbikP/f/98/3z/fh2ImrLAz+j6BPv7+/PkzsCulIWCgoOLmbDAz+T0+wBA/3WBswQDAwYLC4MPAQIEBQgJCgoKCgkHBAQDAoEWBQUFBQYGBwYFBQUFBgUFBAUEBQQFAAuBhwEBAYILAQIEBfr8/v//////gxL//v39/f39/f4DAgICAwMDAwIBgwT+/v37+4MP//7+/fz7+/v7+/z8/f7+/4EW/f39/v39/f39/f39/f39/f39/v39APuBhAQBAQH//4IG//78/AUEAoQWAQEBAQICAwMDAwMDA/7//v79/f3+//+Dgi4CAgEBAQEBAQECAwQEAwMDBAICAQICAgEBAQEBAgMCAgECAgICAQIBAQABAAEAAoGAAP+CAQEBhQf//fv6BgUDAoMWAQEBAQMFBwgICAgHB/r6+vn4+Pj5/P+DgAYALABhAAQAWQADADQABQBVAAAAVEABwADAAAAAAAAAVUACAADAAEAAAAAAHL/V7fj6+vr68+rk5826vcXFxa+vSEhII/XnzKOFQ/92/3b/dv92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AT0ZAS8AAIBA/2GAAImBhQCAAgkACYGFAIAC/AD8gYUB/gIBAwCABgAsAAcABAAHAAMACiAFAAcAAAAHQAHAAMAAAAAAAAAFQAIAAMAAQAAAAACAAtcA4IGFgALvAEuBhQIBAQJB/3T/AIGAAgUACoGFgAL7APiBhYAAA4OFgAYALAAHAAQABwADAAogBQAHAAAAB0ABwADAAAAAAAAABmACAADAAEAAAAAAgALTANyBhYACBQBhgYUCAQECQf9O/tqBgAILABCBhYAC+gD3gYUBAAEAAoAAgAYALAAGAAQABgADAAogBQAIIAAACGABwADAAAAAAAAACWACAADAAEAAAAACAQECAQYFAfoAAeJJAbsAAIABvgBA/2SBhQCAAgMACYGFAIAC/gD8gYUAggD+gYAA/IMAgAYALAAGAAQABgADAAggBQAIIAAACGABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAeT7AfoAAdgTAbsAAIAC0QCDgYUAgAIEAAaBhQCAAv4A/IGFAQABAAMA/ACABgAsAAYABAAGAAMACiAFAAggAAAIYAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIB8PoB+gABygsBxQAAgAG1AED/VIGFAIACBQAJgYUAgAL9APuBhQEAAQACAPwAgAYALAAIAAQACiADAAcABQAHAAAAB0ABwADAAAAAAAAABmACAADAAEAAAAAAggDfgYAA+oMCAQECAeT5AcUAgALKAIKBhYACAwAIgYWAAv4A+4GFAQABgAD8gAYALAAFAAQABQADAAYABQAFAAAABUABwADAAAAAAAAABUACAADAAEAAAAAAgQD5gYSBADiBhIFA/2WBhIEAB4GEgQD8gYSBAP6BhIAGACwABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAAVAAgAAwABAAAAAAIEAz4GEgQAagYSBAIuBhIEACoGEgQD7gYSBAAKBhACABQAgAAUABAAFAAMABQAFAAUAAAAFQAHAAMAAAAAAAACBAOmBhIEAPoGEgQDTgYSBAAOBhIEA/oGEgAYALAAGAAQACAADAAogBQAIIAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAcCOAQIAAGdAARUB9AAAgAGJAED/EYGFAIACCgATgYUAgAL7APaBhQEAAwD9gIAGACwABgAE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AQH3AAUEghYJEA4FBfXDnJyctNz3CBwmKSkpvwEBv4MNbwUFDuq5oKCgwPYYPXBBAIwAjB/z8/kFFBw2RkI4ODhFWGsFb1c/ODg4OEBENBwE8O/z80EAjACHEmc6IgjMoqKir8nsAgVubtXVABCBgREZGRkN89/IqZqamq3V9vb+BAOCEfjy9wMICAQAAwMDBwoJBAwNB4IVChQZFBQ2WWZmZl5ELBn96+Li4gC+voQYwNrawKyRhoaGk6zAz+r7+wMD+ObOwLCYh0L/fv9+/34Hhpew2sCulINC/3r/ev96HISXsMDN5foGBv7+7tLArJGDg4OLmrHA2ry8xcUAQP99gb+GEQMDAwUDBAMDAwECAwQFBQX//4EwAQMEBgcICAgIBQQDAwUHBwkJCQgFBAQCAv///wQFBQQEAgEDAwMDAwQFAwcH//8ACYGBDP////8AAQICAgICAwGKCgECAQEA////AAEBiAgCAgIB//39/f6CCAECAgIC/v///oMP/v7+/v////////7+/v39/YMY//7+/fz8/Pz9/f3+/v38/Pz8/Pz9/v7//4IQ/v79/v7//////////v7+/f2CAPyBgQwCAgICAf/+/v39/f7/iwH//4ECAQEBggABhhL/////AAEDAwMCAQEA/v7+/v4CgQACgw39AQEA///////+//8A/4QQ//4A//7///////79Af3///+DBP//AP8BhBABAP79/v//////AAEB///+/oOBDAMDAwEA/vz5+Pj4+v6IA///AP+CCAEBAQEBAQABAYMWAQEBAQEEBwgICAcFAgH///7+/gH8/AGDAIAGACwAFQAEABIAAwATAAUAEQAAAB1gAcAAwAAAAAAAABpgAgAAwABAAAAACQgBAgICAgICAgIFSaqcH9JVQP9mAenyATTRgwIHxQAI5wpfxiaPeuHsAcYxgwIDRQBA/28C8/D4RP9p/3H/YP9p/2GICAMHBv8LBBIKCwED/4QB/gAJCAACAwICAgICAgj+/v0B+v74+/sBAf6DAv8CAAgHAQIBBQIBAgMH/QQBAQACAgIB/ASCAAWBAIAGACwAXAAEAF0AAwA+AAUAWAAAAFtAAcAAwAAAAAAAAFRAAgAAwABAAAAAAC1V0dDN2vL7CRMZGRkZEwf16dbN0NFVUjAA6d3Bp5eXl5eryefyATBUuro9PQD5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") format("truetype")}@font-face{font-family:"Roboto";font-style:italic;src:url("data:font/ttf;base64,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AGkAYwBSAG8AYgBvAHQAbwAtAEIAbwBsAGQASQB0AGEAbABpAGMAUgBvAGIAbwB0AG8ALQBTAGUAbQBpAEIAbwBsAGQASQB0AGEAbABpAGMAUgBvAGIAbwB0AG8ALQBNAGUAZABpAHUAbQBJAHQAYQBsAGkAYwBSAG8AYgBvAHQAbwAtAEwAaQBnAGgAdABJAHQAYQBsAGkAYwBSAG8AYgBvAHQAbwAtAEUAeAB0AHIAYQBMAGkAZwBoAHQASQB0AGEAbABpAGMAUgBvAGIAbwB0AG8ALQBUAGgAaQBuAEkAdABhAGwAaQBjAE4AbwByAG0AYQBsAEMAbwBuAGQAZQBuAHMAZQBkAEMAbwBuAGQAZQBuAHMAZQBkACAAQgBsAGEAYwBrACAASQB0AGEAbABpAGMAQwBvAG4AZABlAG4AcwBlAGQAIABFAHgAdAByAGEAQgBvAGwAZAAgAEkAdABhAGwAaQBjAEMAbwBuAGQAZQBuAHMAZQBkACAAQgBvAGwAZAAgAEkAdABhAGwAaQBjAEMAbwBuAGQAZQBuAHMAZQBkACAAUwBlAG0AaQBCAG8AbABkACAASQB0AGEAbABpAGMAQwBvAG4AZABlAG4AcwBlAGQAIABNAGUAZABpAHUAbQAgAEkAdABhAGwAaQBjAEMAbwBuAGQAZQBuAHMAZQBkACAASQB0AGEAbABpAGMAQwBvAG4AZABlAG4AcwBlAGQAIABMAGkAZwBoAHQAIABJAHQAYQBsAGkAYwBDAG8AbgBkAGUAbgBzAGUAZAAgAEUAeAB0AHIAYQBMAGkAZwBoAHQAIABJAHQAYQBsAGkAYwBDAG8AbgBkAGUAbgBzAGUAZAAgAFQAaABpAG4AIABJAHQAYQBsAGkAYwBCAGwAYQBjAGsAIABJAHQAYQBsAGkAYwBFAHgAdAByAGEAQgBvAGwAZAAgAEkAdABhAGwAaQBjAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBTAGUAbQBpAEIAbwBsAGQAIABJAHQAYQBsAGkAYwBNAGUAZABpAHUAbQAgAEkAdABhAGwAaQBjAEwAaQBnAGgAdAAgAEkAdABhAGwAaQBjAEUAeAB0AHIAYQBMAGkAZwBoAHQAIABJAHQAYQBsAGkAYwBUAGgAaQBuACAASQB0AGEAbABpAGMAQgBsAGEAYwBrAEUAeAB0AHIAYQBCAG8AbABkAEIAbwBsAGQAUwBlAG0AaQBCAG8AbABkAE0AZQBkAGkAdQBtAFIAZQBnAHUAbABhAHIATABpAGcAaAB0AEUAeAB0AHIAYQBMAGkAZwBoAHQAVABoAGkAbgBXAGkAZAB0AGgAVwBlAGkAZwBoAHQAaAB0AHQAcABzADoALwAvAG8AcABlAG4AZgBvAG4AdABsAGkAYwBlAG4AcwBlAC4AbwByAGcAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAFMASQBMACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEALgAgAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAaQBzACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwAHMAOgAvAC8AbwBwAGUAbgBmAG8AbgB0AGwAaQBjAGUAbgBzAGUALgBvAHIAZwBHAG8AbwBnAGwAZQAuAGMAbwBtAEMAaAByAGkAcwB0AGkAYQBuACAAUgBvAGIAZQByAHQAcwBvAG4ARwBvAG8AZwBsAGUAUgBvAGIAbwB0AG8AIABpAHMAIABhACAAdAByAGEAZABlAG0AYQByAGsAIABvAGYAIABHAG8AbwBnAGwAZQAuAFIAbwBiAG8AdABvAC0ASQB0AGEAbABpAGMAVgBlAHIAcwBpAG8AbgAgADMALgAwADAAOQA7ACAAMgAwADIANABSAG8AYgBvAHQAbwAgAEkAdABhAGwAaQBjAEkAdABhAGwAaQBjAFIAbwBiAG8AdABvAEMAbwBwAHkAcgBpAGcAaAB0ACAAMgAwADEAMQAgAFQAaABlACAAUgBvAGIAbwB0AG8AIABQAHIAbwBqAGUAYwB0ACAAQQB1AHQAaABvAHIAcwAgACgAaAB0AHQAcABzADoALwAvAGcAaQB0AGgAdQBiAC4AYwBvAG0ALwBnAG8AbwBnAGwAZQBmAG8AbgB0AHMALwByAG8AYgBvAHQAbwAtAGMAbABhAHMAcwBpAGMAKUBKmZiXloeGhYSDgoGAf359fHt6eXh3dnV0c3JxcG9ubWxramloZ2ZlZGNiYWBfXl1cW1pZWFdWVVRTUVBPTk1MS0pJSEdGKB8QCgksAbELCkMjQ2UKLSwAsQoLQyNDCy0sAbAGQ7AHQ2UKLSywTysgsEBRWCFLUlhFRBshIVkbIyGwQLAEJUWwBCVFYWSKY1JYRUQbISFZWS0sALAHQ7AGQwstLEtTI0tRWlggRYpgRBshIVktLEtUWCBFimBEGyEhWS0sS1MjS1FaWDgbISFZLSxLVFg4GyEhWS0ssAJDVFiwRisbISEhIVktLLACQ1RYsEcrGyEhIVktLLACQ1RYsEgrGyEhISFZLSywAkNUWLBJKxshISFZLSwjILAAUIqKZLEAAyVUWLBAG7EBAyVUWLAFQ4tZsE8rWSOwYisjISNYZVktLLEIAAwhVGBDLSyxDAAMIVRgQy0sASBHsAJDILgQAGK4EABjVyO4AQBiuBAAY1daWLAgYGZZSC0ssQACJbACJbACJVO4ADUjeLACJbACJWCwIGMgILAGJSNiUFiKIbABYCMbICCwBiUjYlJYIyGwAWEbiiEjISBZWbj/wRxgsCBjIyEtLLECAEKxIwGIUbFAAYhTWli4EACwIIhUWLICAQJDYEJZsSQBiFFYuCAAsECIVFiyAgICQ2BCsSQBiFRYsgIgAkNgQgBLAUtSWLICCAJDYEJZG7hAALCAiFRYsgIEAkNgQlm4QACwgGO4AQCIVFiyAggCQ2BCWblAAAEAY7gCAIhUWLICEAJDYEJZsSYBiFFYuUAAAgBjuAQAiFRYsgJAAkNgQlm5QAAEAGO4CACIVFiyAoACQ2BCWbEoAYhRWLlAAAgAY7gQAIhUWLkAAgEAsAJDYEJZWVlZWVlZsQACQ1RYQAoFQAhACUAMAg0CG7EBAkNUWLIFQAi6AQAACQEAswwBDQEbsYACQ1JYsgVACLgBgLEJQBu4AQCwAkNSWLIFQAi6AYAACQFAG7gBgLACQ1JYsgVACLgCALEJQBuyBUAIugEAAAkBAFlZWbhAALCAiFW5QAACAGO4BACIVVpYswwADQEbswwADQFZWVlCQkJCQi0sRbECTisjsE8rILBAUVghS1FYsAIlRbEBTitgWRsjS1FYsAMlRSBkimOwQFNYsQJOK2AbIVkbIVlZRC0sILAAUCBYI2UbI1mxFBSKcEWwTysjsWEGJmAriliwBUOLWSNYZVkjEDotLLADJUljI0ZgsE8rI7AEJbAEJUmwAyVjViBgsGJgK7ADJSAQRopGYLAgY2E6LSywABaxAgMlsQEEJQE+AD6xAQIGDLAKI2VCsAsjQrECAyWxAQQlAT8AP7EBAgYMsAYjZUKwByNCsAEWsQACQ1RYRSNFIBhpimMjYiAgsEBQWGcbZllhsCBjsEAjYbAEI0IbsQQAQiEhWRgBLSwgRbEATitELSxLUbFATytQW1ggRbEBTisgiopEILFABCZhY2GxAU4rRCEbIyGKRbEBTisgiiNERFktLEtRsUBPK1BbWEUgirBAYWNgGyMhRVmxAU4rRC0sI0UgikUjYSBksEBRsAQlILAAUyOwQFFaWrFATytUWliKDGQjZCNTWLFAQIphIGNhGyBjWRuKWWOxAk4rYEQtLAEtLAAtLAWxCwpDI0NlCi0ssQoLQyNDCwItLLACJWNmsAIluCAAYmAjYi0ssAIlY7AgYGawAiW4IABiYCNiLSywAiVjZ7ACJbggAGJgI2ItLLACJWNmsCBgsAIluCAAYmAjYi0sI0qxAk4rLSwjSrEBTistLCOKSiNFZLACJWSwAiVhZLADQ1JYISBkWbECTisjsABQWGVZLSwjikojRWSwAiVksAIlYWSwA0NSWCEgZFmxAU4rI7AAUFhlWS0sILADJUqxAk4rihA7LSwgsAMlSrEBTiuKEDstLLADJbADJYqwZyuKEDstLLADJbADJYqwaCuKEDstLLADJUawAyVGYLAEJS6wBCWwBCWwBCYgsABQWCGwahuwbFkrsAMlRrADJUZgYbCAYiCKIBAjOiMgECM6LSywAyVHsAMlR2CwBSVHsIBjYbACJbAGJUljI7AFJUqwgGMgWGIbIVmwBCZGYIpGikZgsCBjYS0ssAQmsAQlsAQlsAQmsG4rIIogECM6IyAQIzotLCMgsAFUWCGwAiWxAk4rsIBQIGBZIGBgILABUVghIRsgsAVRWCEgZmGwQCNhsQADJVCwAyWwAyVQWlggsAMlYYpTWCGwAFkbIVkbsAdUWCBmYWUjIRshIbAAWVlZsQJOKy0ssAIlsAQlSrAAU1iwABuKiiOKsAFZsAQlRiBmYSCwBSawBiZJsAUmsAUmsHArI2FlsCBgIGZhsCBhZS0ssAIlRiCKILAAUFghsQJOKxtFIyFZYWWwAiUQOy0ssAQmILgCAGIguAIAY4ojYSCwXWArsAUlEYoSiiA5ili5AF0QALAEJmNWYCsjISAQIEYgsQJOKyNhGyMhIIogEEmxAk4rWTstLLkAXRAAsAklY1ZgK7AFJbAFJbAFJrBtK7FdByVgK7AFJbAFJbAFJbAFJbBvK7kAXRAAsAgmY1ZgKyCwAFJYsFArsAUlsAUlsAclsAclsAUlsHErsAIXOLAAUrACJbABUlpYsAQlsAYlSbADJbAFJUlgILBAUlghG7AAUlggsAJUWLAEJbAEJbAHJbAHJUmwAhc4G7AEJbAEJbAEJbAGJUmwAhc4WVlZWVkhISEhIS0suQBdEACwCyVjVmArsAclsAclsAYlsAYlsAwlsAwlsAklsAglsG4rsAQXOLAHJbAHJbAHJrBtK7AEJbAEJbAEJrBtK7BQK7AGJbAGJbADJbBxK7AFJbAFJbADJbACFzggsAYlsAYlsAUlsHErYLAGJbAGJbAEJWWwAhc4sAIlsAIlYCCwQFNYIbBAYSOwQGEjG7j/wFBYsEBgI7BAYCNZWbAIJbAIJbAEJrACFziwBSWwBSWKsAIXOCCwAFJYsAYlsAglSbADJbAFJUlgILBAUlghG7AAUliwBiWwBiWwBiWwBiWwCyWwCyVJsAQXOLAGJbAGJbAGJbAGJbAKJbAKJbAHJbBxK7AEFziwBCWwBCWwBSWwByWwBSWwcSuwAhc4G7AEJbAEJbj/wLACFzhZWVkhISEhISEhIS0ssAQlsAMlh7ADJbADJYogsABQWCGwZRuwaFkrZLAEJbAEJQawBCWwBCVJICBjsAMlIGNRsQADJVRbWCEhIyEHGyBjsAIlIGNhILBTK4pjsAUlsAUlh7AEJbAEJkqwAFBYZVmwBCYgAUYjAEawBSYgAUYjAEawABYAsAAjSAGwACNIACCwASNIsAIjSAEgsAEjSLACI0gjsgIAAQgjOLICAAEJIzixAgEHsAEWWS0sIxANDIpjI4pjYGS5QAAEAGNQWLAAOBs8WS0ssAYlsAklsAklsAcmsHYrI7AAVFgFGwRZsAQlsAYmsHcrsAUlsAUmsAUlsAUmsHYrsABUWAUbBFmwdystLLAHJbAKJbAKJbAIJrB2K4qwAFRYBRsEWbAFJbAHJrB3K7AGJbAGJrAGJbAGJrB2KwiwdystLLAHJbAKJbAKJbAIJrB2K4qKCLAEJbAGJrB3K7AFJbAFJrAFJbAFJrB2K7AAVFgFGwRZsHcrLSywCCWwCyWwCyWwCSawdiuwBCawBCYIsAUlsAcmsHcrsAYlsAYmsAYlsAYmsHYrCLB3Ky0sA7ADJbADJUqwBCWwAyVKArAFJbAFJkqwBSawBSZKsAQmY4qKY2EtLLFdDiVgK7AMJhGwBSYSsAolObAHJTmwCiWwCiWwCSWwfCuwAFCwCyWwCCWwCiWwfCuwAFBUWLAHJbALJYewBCWwBCULsAolELAJJcGwAiWwAiULsAclELAGJcEbsAclsAslsAsluP//sHYrsAQlsAQlC7AHJbAKJbB3K7AKJbAIJbAIJbj//7B2K7ACJbACJQuwCiWwByWwdytZsAolRrAKJUZgsAglRrAIJUZgsAYlsAYlC7AMJbAMJbAMJiCwAFBYIbBqG7BsWSuwBCWwBCULsAklsAklsAkmILAAUFghsGobsGxZKyOwCiVGsAolRmBhsCBjI7AIJUawCCVGYGGwIGOxAQwlVFgEGwVZsAomIBCwAyU6sAYmsAYmC7AHJiAQijqxAQcmVFgEGwVZsAUmIBCwAiU6iooLIyAQIzotLCOwAVRYuQAAQAAbuEAAsABZirABVFi5AABAABu4QACwAFmwfSstLIqKCA2KsAFUWLkAAEAAG7hAALAAWbB9Ky0sCLABVFi5AABAABu4QACwAFkNsH0rLSywBCawBCYIDbAEJrAEJggNsH0rLSwgAUYjAEawCkOwC0OKYyNiYS0ssAkrsAYlLrAFJX3FsAYlsAUlsAQlILAAUFghsGobsGxZK7AFJbAEJbADJSCwAFBYIbBqG7BsWSsYsAglsAclsAYlsAolsG8rsAYlsAUlsAQmILAAUFghsGYbsGhZK7AFJbAEJbAEJiCwAFBYIbBmG7BoWStUWH2wBCUQsAMlxbACJRCwASXFsAUmIbAFJiEbsAYmsAQlsAMlsAgmsG8rWbEAAkNUWH2wAiWwgiuwBSWwgisgIGlhsARDASNhsGBgIGlhsCBhILAIJrAIJoqwAhc4iophIGlhYbACFzgbISEhIVkYLSxLUrEBAkNTWlgjECABPAA8GyEhWS0sI7ACJbACJVNYILAEJVg8GzlZsAFguP/pHFkhISEtLLACJUewAiVHVIogIBARsAFgiiASsAFhsIUrLSywBCVHsAIlR1QjIBKwAWEjILAGJiAgEBGwAWCwBiawhSuKirCFKy0ssAJDVFgMAopLU7AEJktRWlgKOBsKISFZGyEhISFZLSywmCtYDAKKS1OwBCZLUVpYCjgbCiEhWRshISEhWS0sILACQ1SwASO4AGgjeCGxAAJDuABeI3khsAJDI7AgIFxYISEhsAC4AE0cWYqKIIogiiO4EABjVli4EABjVlghISGwAbgAMBxZGyFZsIBiIFxYISEhsAC4AB0cWSOwgGIgXFghISGwALgADBxZirABYbj/qxwjIS0sILACQ1SwASO4AIEjeCGxAAJDuAB3I3khsQACQ4qwICBcWCEhIbgAZxxZioogiiCKI7gQAGNWWLgQAGNWWLAEJrABW7AEJrAEJrAEJhshISEhuAA4sAAjHFkbIVmwBCYjsIBiIFxYilyKWiMhIyG4AB4cWYqwgGIgXFghISMhuAAOHFmwBCawAWG4/5McIyEtAAADlgBkAAAAAAAAAAAB9wAAAfcAAAIAAEQCfADJBMcAUgRcAEkFrwC6BNQAOQFbAKwCqABtArT/kANYAGsEZwBMAYf/jwIlABoCDAA0AzT/kARcAGoEXAD6BFwAGARcADUEXAAFBFwAcgRcAG0EXACdBFwAQARcAJQB6wApAa7/mwPyAEIEQgBwBA8AOwOrAKUG+ABBBRD/rwTWADsFDQBwBRgAOwRpADsESgA7BUkAdAWJADsCHABJBEgABwTeADsELgA7BsYAOwWJADsFVwBzBOUAOwVXAGsEyAA7BJwAKQShAKkFCABjBPEApQbiAMME3f/UBKkAqASm/+wCDwAAAzAAwAIP/3sDPgBPA4D/gQJmANAEOQAxBFwAHwQQAEYEYABHBB0ARQKzAHUEXAADBEYAIAHjAC8B2/8TA+8AIAHjAC8GzgAeBEkAIARtAEYEXP/XBGkARgKhACAEAQAuAooAQwRHAFsDwgBuBdUAgAPa/8UDrP+qA9r/7gKgADcB5QAiAqD/jQVHAGkB5f/xBD8AUASD//MFiQASBBQAQwHd//gEwv/aAz8A2gYZAF4DeQDDA64AVgRMAIEGGgBdA48A+ALmAOgEJgAmAuIAXQLiAG8CbwDVBGb/5gPMAHgCBwClAe3/yALiAOADiAC/A60AEQW5ALoGDwC1BhMAngOt/9EHQf+DBCQAKAVXACAElgA5BJ0AHwaOABMEjQBcBG8ARARmADoEef/gBKMARgVwADYB7AAvBFIALgQuACMCGQAkBWAANQRmACUHZgBVBwwARwHtADQFXQBSAqX/RwVVAGYEcABDBWUAYwTNAFsB9f8JBBgAPwOnARgDcwEoA5kA+ANRAQcB4wEOApkBAQIa/64DqQDeAuUAwwJI/+kAAP1qAAD96gAA/QsAAP30AAD82wAA/LoB/gEjA+0A9AIRAKUEUQBEBXn/sgVIAGcFF//EBG8ADAWJAEQEb//bBY8AVgVeAIUFKQAKBGMASASZ//ED5ACFBGYARQQwACkEBQCKBGYAJQRrAHUChACEBE3/uAPOAEAEoABgBGb/3QQtAEoEZQBIBAwAhwQ8AGgFeABABW8ATgZkAGcEfgBSBCIAZwYYAGgF0gCiBTwAcwhQ/80IYwBEBlEAtAWIAEIE7gA2Bdb/jAcL/6sEnAAlBYkARAV//8sE4QCUBf4AWwWtAEEFUADLB00AQgeEAEIF4wCKBsAARATeADYFPAB2BvoASQTx/+kESwBHBHAAMQNCAC4Er/+NBfL/pwPxACAEewAwBDIAMAR8/8gFwQAxBHoAMAR7ADADuwBgBaEASQSaADAEOQB5BkcAMAZsACUE0QBWBhAAMQQ3ADEELQAyBlYAMQRC/78ERgAgBC0ATgaV/8MGrwAwBHAAIAR7ADAG0wBuBf0ATwQ2AC8G9QBKBcsALQSu/7oEJv+iBtYAWwXeAE8GngAmBbUAKgjAAEkHlQAvBAT/zQO9/8kFSABnBGkAQwTkAK0D5QCFBUgAZwRmAEMGywB0BfUAUgbTAG4F/QBPBQoAaQQnAEwE2ABAAAD85wAA/QoAAP4WAAD+OwAA+jcAAPpOBeUARATRADAENgAvBPQAOwRn/9cEQgA1A3YAJQTAAEQD5wAlB3H/qwY6/6cFeQBEBJ4AMATjADYEXAAuBloAvAVaAHYF2wA7BL4AMAeTADsFiAAlB/wAQga/ACUFwQBrBK8AXAT7/9QEFP/FBvYArAU0AFcFmgDLBH0AeQVGAMoESQCUBUYAHAYAAIgEmgAEBOMANgQ5AC4F2v/LBNP/yAWHAEQEZgAlBe0AOwTQADAHIQA7BhgAMQVdAFIEhAA8BIT//QSe//kDmf/pBRD/1AQp/8UE0QAuBmIAMQawAEgGJgCtBQQAaAQpALAD6QCgB4b/4AZE/9oHvgA8Bm8AIwTRAGUD/gBNBYIAmwT6AH0FPABoBd7/ywTX/8gDCQDzA/8AAAf0AAAD/wAAB/QAAAKuAAACBAAAAVwAAARmAAACKQAAAZ8AAAECAAAA1QAAAAAAAAItABoCLQAaBSIApgYZAJgDiv9eAY4AsAGOAIkBjP+XAY4A0gLIALgC0ACVAq3/lARIAHcEbf/2Ap4AoQOxADgFOwA4AXQAUgdvAJYCVQBdAlUABAOH//AC4gCPAuIAZALiAIoC4gCQAuIAogLiAHsC4gCqAx8AiALhAIkC4QBzAeIAjwHiAD4DRwB+AuL/3ALiAC0C4v+rAuL/vALi/7IC4v/YAuL/3gLi//AC4v/JAuL/+AMp/9wC6//dAuv/xwHi/+gB4v+dBIP/8wYlAAoGXwA5CD8AOwW+AAkF/AAfBFwAUQWtAEMEAwBKBFIACwUf//IFJv/lBbsAzAOxAEsH+wA1BNsA6wTxAH8GAQC2BqwAkgalAJAGQwC+BG0ATQVkACQEi/+tBHAAqwSgAEEH+wBLAf3/FQRfADMEQgBwA/z/0wQZABgD6QBCAkQAdwJ8AHEB9f/kBNcAdQRNAFkEaAB1BqAAdQagAHUEyAB1BmgAKAAAAAAH9f+rCDUAXALY/+oC2ABsAtgAHAPxAGkD8QAnA/EAcAPwAEsD8QBKA/H/9wPxABcD8f/9A/EAvQPxAEYEA//dBAsAdQQz/7cF5gCUBEYAeQRbAEIEBwBuBAAAEgQpAB0EmABGBDsAHgSYAEwEvQAeBdQAHgOZAB4ENAAeA7L/9gHaACsEvgAeBIgATAOvAB4EAAASBBQABgOFABkDkwAeBEb/sASYAEwERv+wA27/0wSqAB4D0v/WBT4AUgTwAH0EzQAOBUkAbQRaAEgHCv/DBxgAHgVKAG4EqQAeBDkAIAT9/4kF3f+vBB8AEgTGACAELQAfBJz/xAQAAFoFAQAeBEgAVgYgAB4GeQAeBPYAUQXNACAELgAgBFoAIAZFAB4EZP/gA/P/+gYY/68EVwAfBOMAHwUPAGoFlwBQBEcAdQSE/7cGMQBtBEgAVQRIAB4FmAAuBKYAQAQfABIEnABGBBQAAAPGAB8H5AAeBIf/3gLY//sC2P/xAtgAFwLYAB0C2AAvAtgACALYADcDewCTAqABCwPIAB4EGv+ZBJ8ASAUjAEQE/QBEA/UAJgUVAEQD8AAmBF0AHgRaAEgEMAAeBGP/pgHvAPwDiQESAAD9KgPSANMD1gAiA/AAzgPXAM0DkwAeA4QBEgODARMC4gCPAuIAZALiAIoC4gCQAuIAogLiAHsC4gCqBVgAgAWDAIEFaABEBbMAgwW2AIMDuAC8BF8AOQQ3/4EEqv/TBEn/1QQOACsDiQEUAYb/vgZxAEwElgA+Ae3/DwRm/6wEZv/jBGb/uARmACwEZgBWBGYAJARmAGYEZgAbBGYAQARmAQ0CAP8JAf//CQH2AC8B9v94AfYALwQwAB4E2gBkBAEAYgRcAB8EEwBEBHAAQwRpACMEfABCBGv/1wR5AEIEHQBGBFwANQRO/78DaACpBLEALAOZ/+kGCv+aA9oAHgSY//QEvQAeBL0AHgH3AAACJQAaBTYALwU2AC8EZAA+BKEAqQKK//QFEP+vBRD/rwUQ/68FEP+vBRD/rwUQ/68FEP+vBQ0AcARpADsEaQA7BGkAOwRpADsCHABJAhwASQIcAEkCHABJBYkAOwVXAHMFVwBzBVcAcwVXAHMFVwBzBQgAYwUIAGMFCABjBQgAYwSpAKgEOQAxBDkAMQQ5ADEEOQAxBDkAMQQ5ADEEOQAxBBAARgQdAEUEHQBFBB0ARQQdAEUB7AAvAewALwHsAC8B7AAvBEkAIARtAEYEbQBGBG0ARgRtAEYEbQBGBEcAWwRHAFsERwBbBEcAWwOs/6oDrP+qBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBQ0AcAQQAEYFDQBwBBAARgUNAHAEEABGBQ0AcAQQAEYFGAA7BPYARwRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUFSQB0BFwAAwVJAHQEXAADBUkAdARcAAMFSQB0BFwAAwWJADsERgAgAhwASQHsABECHABJAewALgIcAEkB7AAvAhz/iwHj/20CHABJBmQASQO+AC8ESAAHAfX/CQTeADsD7wAgBC4AOwHjAC8ELgA7AeP/ogQuADsCeQAvBC4AOwK/AC8FiQA7BEkAIAWJADsESQAgBYkAOwRJACAESQAgBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBMgAOwKhACAEyAA7AqH/nwTIADsCoQAgBJwAKQQBAC4EnAApBAEALgScACkEAQAuBJwAKQQBAC4EnAApBAEALgShAKkCigBDBKEAqQKKAEMEoQCpArIAQwUIAGMERwBbBQgAYwRHAFsFCABjBEcAWwUIAGMERwBbBQgAYwRHAFsFCABjBEcAWwbiAMMF1QCABKkAqAOs/6oEqQCoBKb/7APa/+4Epv/sA9r/7gSm/+wD2v/uB0H/gwaOABMFVwAgBGYAOgRd/68EXf+vBAcAbgRj/6YEY/+mBGP/pgRj/6YEY/+mBGP/pgRj/6YEWgBIA8gAHgPIAB4DyAAeA8gAHgHaACsB2gArAdoAKwHaACsEvQAeBJgATASYAEwEmABMBJgATASYAEwEWwBCBFsAQgRbAEIEWwBCBAsAdQRj/6YEY/+mBGP/pgRaAEgEWgBIBFoASARaAEgEXQAeA8gAHgPIAB4DyAAeA8gAHgPIAB4EiABMBIgATASIAEwEiABMBL4AHgHaAA4B2gArAdoAKwHk/4IB2gArA7L/9gQ0AB4DmQAeA5kAHgOZAB4DmQAeBL0AHgS9AB4EvQAeBJgATASYAEwEmABMBCkAHQQpAB0EKQAdBAAAEgQAABIEAAASBAAAEgQHAG4EBwBuBAcAbgRbAEIEWwBCBFsAQgRbAEIEWwBCBFsAQgXmAJQECwB1BAsAdQQD/90EA//dBAP/3QUQ/68EzQADBe0AEQKAABcFawBrBQ3/7QU9AB4ChAAgBRD/rwTWADsEaQA7BKb/7AWJADsCHABJBN4AOwbGADsFiQA7BVcAcwTlADsEoQCpBKkAqATd/9QCHABJBKkAqARjAEgEMAApBGYAJQKEAIQEPABoBFIALgRtAEYEZv/mA8IAbgRO/78ChABlBDwAaARtAEYEPABoBmQAZwRpADsEUQBEBJwAKQIcAEkCHABJBEgABwT9AEQE3gA7BOEAlAUQ/68E1gA7BFEARARpADsFiQBEBsYAOwWJADsFVwBzBYkARATlADsFDQBwBKEAqQTd/9QEOQAxBB0ARQR7ADAEbQBGBFz/1wQQAEYDrP+qA9r/xQQdAEUDQgAuBAEALgHjAC8B7AAvAdv/EwQyADADrP+qBuIAwwXVAIAG4gDDBdUAgAbiAMMF1QCABKkAqAOs/6oBWwCsAnwAyQQAAEQB9f8JAY4AiQbGADsGzgAeBRD/rwQ5ADEEaQA7BYkARAQdAEUEewAwBV4AhQVvAE4E5ACtA+UAhQgZAEYJAwBzBJwAJQPxACAFDQBwBBAARgSpAKgD5ACFAhwASQcL/6sF8v+nAhwASQUQ/68EOQAxBRD/rwQ5ADEHQf+DBo4AEwRpADsEHQBFBV0AUgQYAD8EGAA/Bwv/qwXy/6cEnAAlA/EAIAWJAEQEewAwBYkARAR7ADAFVwBzBG0ARgVIAGcEaQBDBUgAZwRpAEMFPAB2BC0AMgThAJQDrP+qBOEAlAOs/6oE4QCUA6z/qgVQAMsEOQB5BsAARAYQADEEYABHBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBRD/rwQ5ADEFEP+vBDkAMQUQ/68EOQAxBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQRpADsEHQBFBGkAOwQdAEUEaQA7BB0ARQIcAEkB7AAvAhwADQHj//AFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVXAHMEbQBGBVcAcwRtAEYFVwBzBG0ARgVVAGYEcABDBVUAZgRwAEMFVQBmBHAAQwVVAGYEcABDBVUAZgRwAEMFCABjBEcAWwUIAGMERwBbBWUAYwTNAFsFZQBjBM0AWwVlAGMEzQBbBWUAYwTNAFsFZQBjBM0AWwSpAKgDrP+qBKkAqAOs/6oEqQCoA6z/qgR+AAAEoQCpA7sAYAVQAMsEOQB5BFEARANCAC4GAACIBJoABARGACAE3gAsBN4ALARRABEDQv/nBREAWAQJADoEqQCoA+QAXgTd/9QD2v/FBDAAKQRK/9cGGQCYBFwAGARcADUEXAAFBFwAcgRwAIEEhABUBHAAlASEAH4FSQB0BFwAAwWJADsESQAgBRD/rwQ5ADEEaQA7BB0ARQIc/+AB7P+NBVcAcwRtAEYEyAA7AqEAIAUIAGMERwBbBIb/sQTWADsEXAAfBRgAOwRgAEcFGAA7BGAARwWJADsERgAgBN4AOwPvACAE3gA7A+8AIAQuADsB4//wBsYAOwbOAB4FiQA7BEkAIAVXAHME5QA7BFz/1wTIADsCof/uBJwAKQQBAC4EoQCpAooAQwUIAGME8QClA8IAbgTxAKUDwgBuBuIAwwXVAIAEpv/sA9r/7gWd/wwEY/+mBAT/4gT6//0CFgAC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AOoA6wDsAO0A7gDvAPAA8QDyAPMA9AD1APYA9wD4APkA+gD7APwA/QD+AP8BAAEBAQIBAwEEAQUBBgEHATABNAE2ATgBOgE8AUIBRAFGAUoBTQFaApcCmQK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtIC1ALWAtgC2gLcAt4C4ALiAuQC5gLoAuoC7ALuAvAC8gL0AvYC+AL6AvwC/wMBAwMDBQMHAwkDCwMNAw8DEQMUAxYDGAMaAxwDHgMgAyIDJAMmAygDKgMsAy4DMAMyAzQDNgM4AzoDPAM+A0EDQwNFA0cDSQO5A7oDuwO8A74DvwPAA8EDwgPDA8QDxQPGA8cD3gPfA+AD4QPiA+MD5APlA+YD5wPoA+kD6gPrA+wD7QPvA/ED8wP1BAoEDAQOBBwEIwQpBC8EmQSaBJ4EogUjBSUAAQAAAAEACAACAfoA+gIBAowB6wHqAekB6AHnAeYB5QHkAeMB4gJNAkwCSwJKAkICAAH/Af4B/QH8AfsB+gH5AfgB9wH2AfUB9AHzAfIB8QHwAe8B7gHtAewCAgIDAo4CkAKPApECjQKSAmwCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGgIbBRkCHAIdAh4CHwIgAiECIgIjAiQCJQJVAicCKAIpAioFEwIrAi0CLgIvAjACMQIyAjMCNQI2AjgCNwNKA0sDTANNA04DTwNQA1EDUgNTA1QDVQNWA1cDWANZA1oDWwNcA10DXgNfA2ADYQNiA2MDZANlA2YDZwNoA2kDagNrA2wDbQNuA28DcANxA3IDcwN0A3UDdgN3A3gDeQN6A3sDfAN9A34FGgN/A4ADgQOCA4MDhAOFA4YDhwOIA4kDigOLA4wDjQOOA48DkAUdA5EDkgOUA5MDlQOWA5cDmAOZA5oDmwOcA50DngOfA6AFGwUcBOYE5wToBOkE6gTrBOwE7QTuBO8E8ATxBPIE8wT0BPUE9gT3BPgE+QT6BPsE/AT9BP4E/wUABQEFAgIZBQMFBAUFBQYFBwUIBQkFCgULBQwFDQUOBQ8FEAURBR4FHwUgBSEFEgUUBRUFFwI0BRgFFgImAiwFJgUnAAEA+gAIAAoAFAAVABYAFwAYABkAGgAbABwAHQAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4AZQBnAIEAgwCEAIwAjwCRAJMAsQCyALMAtAC1ALYAtwC4ALkAugDSANMA1ADVANYA1wDYANkA2gDbANwA3QDeAN8A4ADhAOIA4wDkAOUA5gDnAOgA6QEvATMBNQE3ATkBOwFBAUMBRQFJAUsBTAFYAVkBsQG3AbwBvwKVApYCmAKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtALRAtMC1QLXAtkC2wLdAt8C4QLjAuUC5wLpAusC7QLvAvEC8wL1AvcC+QL7Av0C/gMAAwIDBAMGAwgDCgMMAw4DEAMTAxUDFwMZAxsDHQMfAyEDIwMlAycDKQMrAy0DLwMxAzMDNQM3AzkDOwM9Az8DQANCA0QDRgNIA6EDogOjA6QDpQOmA6cDqQOqA6sDrAOtA64DrwOwA7EDsgOzA7QDtQO2A7cDuAPIA8kDygPLA8wDzQPOA88D0APRA9ID0wPUA9UD1gPXA9gD2QPaA9sD3APdA+4D8APyA/QECQQLBA0EIgQoBC4EmASdBKEFIgUkAAAAAQAAAAAKagAAABQAAAAAAAAAAAAXBSkABwAOAA4DcANwAwEFHwUbAhMEuARuA3IDGAMbA2QEhQYkBjwDDwM8AhMCEwITAhMCEwITAhMCEwITAhMDAAYXA4wEtQNuAQIEzQQJBFEEnQSjAi4ExwSvBHEDaASeBLMDUAIRAh8ESAQwBEgE0gSfBKgEwAQYBMIENASaBKUDDAM6AwwDggMoAxUEXARmA14EWAEHAzkEaQIoAykBCQM2AykExQSVBE8EZgRKA34BCwNrAiYDdgSuA1cDiwNXA1wDGQNcBLYBAQSWAg4DkwEMAxoEXgY9A5QDbwEGBF0DlQMDA40DcwNnA2cDAgYfA0IDPQNxA2cBEQEEBFsEGgSbAQUEDQNUBEcErARaAjAEeQSNBFIENgQMAgsDDQIIA1MDTQS6BFIEGwTPAyMEvgNJBMkCCgIHBSEDFgNKBRUFGgMEARADKwMQAycFGQOOA5IADgAOAA4ADgAOAA4GKwEAAz4CHARfBGgEZQRCAhYEQgYsBLACDQSZAi0DSwRSBLQDCgRSBLIDEwR9A4UGLQRSBH8ESwNVA1EEHAYYBKkCGQY0BjAEcwQ8BCoEoAYgBGECJAQIBgUEqgSGBHQCKgYCBCIEHQIGBggEzgQDBC4EOgY+BAsEjwRBARgEAgYxA4MEKwMdBC0CDAQzBCsDaQIrBBEDTwIEBgwEwwYKA18EgASCAhcCKASABLkAAQRSBCsGOgcLAhIEiAIiBioBDgYoBiYFFwQHBQsFBQEVA4oEZwSKBDkDWQRoBFIGOAZABjoHCwQlA04EOAAOAA4ADgAOAA4ADgUTBRACEgRvBIwCLAENBAEDbQcIBhEEAAYBAgIDIgRJBAUFFAUWBNQEygR6BCMGMgRUAgMDCQQGBCYHAwcKBCcCJQIBBB8EjgQoAzgFEQUOBGQEUgUJBQ8FCgcHBL4CFARwBBcDMwYSBgAFCAcGBIcEkgSUBicGKQSRBJcEEAIgAiMDfASTBIkEOwcFBwQFBAAGAAAABgAAAAgACgAMAAMACQALAA0ADwAOBjYGNgR4BFMDdwMhAx8GBwMcBwIHAAcBBKIEbQNGBhYGBAYVBNADegN5A2UDZwNnA2cDZwNnA2cDZwNbAzEDLgOEA4QBFgNnA2cDZwNnA2cDZwNnA2cDZwNnA1sDMgMvA4QDhAIOBBMEkARGBj8GIgITBQwDBgUSBIMCAAIhA1IEVwIQARQEfAStBHUGLgIvBRgEYAShBQYE0wN9BKcEtQOMA24DhwUdBR4DQQQPBhoGDwYJBgkEEgQyAA4BFAAOA2cDZwNnA2EDYQNhA2IDYQNhA2EDYQNhA2EDgQN0A0cEvAM1BLcDewN1BMwEVgNDBFYCKQIVA1gEqwN/A2MEgQSxA5EDdQYQARcDiAM0BFYDNAOPAhoDYAYlBhQEdgIFAicEdwIYBEACGwNMBhsGNwEPBJgDZgRZA2oGHAM/BgMHCQYeBQcBCAR+BBQEQwOQBjkETQUNBh0GIwRsBCQGEwM/Az8GDQQpA2wEpAYQAzAFHAYhA2cDZwNnA2cDZwNnA2cDCwNdA4YDgAREAh4CHQMtBE4DBwSmAicDVgMRAwgBEwAOBQAFAgN4BQMDiANAAzsDZwNnA2cDZwNnA2cDZwQhBGsEPgQWBBUGLwACAjEEnAAEAAUBEwOJAjIENwMkAhMCEwITAhMCEwITAhMCEwITAhMBAwMXAw4DDgMOA1YEewMsBGIBEgQ/BEwEPQRFBC8DSARpAyUGNQYzA1oEUANFBFYEhAIpA3AGOwSjBKMCKASoA2sECgQKBAoECgQKBAoECgSdAi4CLgIuAi4DaANoA2gDaAIfBEgESARIBEgESAS/BL8EvwS/BJoEXARcBFwEXARcBFwEXANeAQcBBwEHAQcDDgMOAw4DDgSVBE8ETwRPBE8ETwImAiYCJgImA4sDiwQKBFwECgRcBAkEXASdA14EnQNeBJ0DXgSdA14EowRYAi4BBwIuAQcCLgEHAi4BBwIuAQcErwRpBK8EaQSvBGkErwRpBHICKANoAw4DaAMOA2gDDgNoAyoDaARqAwUEngMXBLMDNwNQAyoDUAMqA1ADKgNQAyoCHwSVAh8ElQIfBJUElQRIBE8ESARPBEgETwTRA34E0QN+BNEDfgSfAQsEnwELBJ8BCwSfAQsEnwELBKgDawSoA2sEqANrBL8CJgS/AiYEvwImBL8CJgS/AiYEwAImBMEErgSaA4sEmgSlA1cEpQNXBKUDVwQOAjAERwRSBKYEpgN7AxIDEgMSAxIDEgMSAxICJwOGA4YDhgOGA2MDYwNjA2MCKQRWBFYEVgRWBFYEtwS3BLcEtwN0AxIDEgMRAicCJwInAicEpgOGA4YDhgOGA4YEsQSxBLEEsQSBA2MDYwNjA2MDYwN/BKsDWANYA1gDWAIpAikCKQRWBFYEVgTLBMsEywN1A3UDdQN1A3sDewN7BLcEtwS3BLcEtwS3BLsDdAN0A4EDgQOBBAoCLgRyA2gESASaAg0DFAQKBFECLgSlBHIDaASzAhECHwRIBDEEqASaBDUDaASaBJkEtARSAxQDUQIJBE8GHwN2AyYDFANRBE8DUQSpAi4CHASfA2gDaASeAh0EswIqBAoEUQIcAi4EhgIRBHIESAIWBDEEnQSoBDUEXAEHBCwETwRmA14DiwNXAQcBGAELAyoDDgEKAx4DiwTBBK4EwQSuBMEErgSaA4sDcgUgBQEDFwMgAhEExAQKBFwCLgSGAQcELASwBhkEOQNZBGMCDwSqA4MEnQNeBJoDSwNoBgYGMQNoBAoEXAQKBFwEDgIwAi4BBwS9A0oDSgYGBjEEqgODBIYELASGBCwESARPBGgEiwRoBIsEOgSAAioDiwIqA4sCKgOLBB4DTwQEBgsEWAQKBFwECgRcBAoEXAQKBFwECgRcBAoEXAQKBFwECgRcBAoEXAQK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GH4ACgACEAAARAAAFe4SKgAiAB4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEQAAAAAAAAAAAAAAAAAA/+MAAAAAAAAAAAAAABEAAAAAAAAAAAAAABIAAP/kAAAAEQAAAAAAAP/lAAAAAAAAAAAAAAAAAAD/5AAAAAAAAAAAAAAAEhIkAAAAAAAAAAAAAAAA/+wAAP/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/4gAAAAAAAAAAAAA/8MisgAAAAD/zgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+wJ54AAAAAAAAAAP/zAAAAAAAAAA8AAAAAAAAAAAAAAAAAAP+VEh4AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1wAA//EAAAAAAAD/8QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/mAAD/5wAAAAAAAP/hAAAAAAAAAAAAAAAAAAD/5wAAAAAAAP/SOL4AAAAAABEAAAAAAAAAAAAAAAAAAAAAAAAAEQAA/+sAAP/RAAAAAAAAAAAAAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/sAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+w6FgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+khwP/mAAD/4QAAAAAAAP/YAAAAAAAAAAAAAAAAAAD/5wAAAAAAAP/AHzIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+UAAP+jAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAP/zAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6wAA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LBEAALj/KrBWACs0////7QAABZcGPgAmAD1kAAEHAK7+yv//AAu2AQoIAACOVgArNAD//wAeAAAE8gY+ACYAuhQAAQcArv9K//8ADrQDNh0AALj/KrBWACs0//8AIP/0AxsGdAImAMMAAAEHAK//LP/rABBACQMCASsAAQGiVgArNDQ0////rwAABIsFsAIGACUAAP//ADv//wSaBbACBgAmAAD//wA7AAAEsQWwAgYAKQAA////7AAABM4FsAIGAD4AAP//ADsAAAV3BbACBgAsAAD//wBJAAACAgWwAgYALQAA//8AOwAABVEFsAIGAC8AAP//ADsAAAa3BbACBgAxAAD//wA7AAAFeAWwAgYAMgAA//8Ac//pBRAFxwIGADMAAP//ADsAAATvBbACBgA0AAD//wCpAAAFCQWwAgYAOAAA//8AqAAABTMFsAIGAD0AAP///9QAAAUrBbACBgA8AAD//wBJAAADCgcKAiYALQAAAQcAav+4AUIADbcCARkDAQGDVgArNDQA//8AqAAABTMG/gImAD0AAAEHAGoA/gE2AA23AgEeAgEBd1YAKzQ0AP//AEj/5wQmBjgCJgC7AAABBwCuAWn/+QALtgNCBgEBmlYAKzQA//8AKf/qA+AGNwImAL8AAAEHAK4BIf/4AAu2AkArAQGaVgArNAD//wAl/mED6AY4AiYAwQAAAQcArgE7//kAC7YCHQMBAa5WACs0AP//AIT/9AJmBiMCJgDDAAABBgCuJOQAC7YBEgABAZlWACs0AP//AGj/5wQMBnQCJgDLAAABBgCvHesAEEAJAwIBOA8BAaJWACs0NDT//wAuAAAEWQQ6AgYAjgAA//8ARv/pBBcEUQIGAFMAAP///+b+YAQlBDoCBgB2AAD//wBuAAAD7gQ6AgYAWgAA////v/5LBFEERwIGAooAAP//AGX/9ALdBbMCJgDDAAABBgBqi+sADbcCAScAAQGiVgArNDQA//8AaP/nA+IFswImAMsAAAEGAGp86wANtwIBNA8BAaJWACs0NAD//wBG/+kEFwY4AiYAUwAAAQcArgEs//kAC7YCLAYBAZpWACs0AP//AGj/5wPiBiMCJgDLAAABBwCuARX/5AALtgEfDwEBmVYAKzQA//8AZ//nBe8GIAImAM4AAAEHAK4CPf/hAAu2AkAfAQGWVgArNAD//wA7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ACs0AP//AKX+qgVhBbACJgA6AAABBwCtBMoACgAOtAINBAEBuP9/sFYAKzT//wBu/qoD7gQ6AiYAWgAAAQcArQQ4AAoADrQCDQQBAbj/f7BWACs0//8Aw/6qB0EFsAImADsAAAEHAK0FzQAKAA60BBkTAQG4/3+wVgArNP//AID+qgX+BDoCJgBbAAABBwCtBSwACgAOtAQZEwEBuP9/sFYAKzT////s/qoEzgWwAiYAPgAAAQcArQSXAAoADrQDEQIBAbj/f7BWACs0////7v6qA88EOgImAF4AAAEHAK0EQwAKAA60AxECAQG4/3+wVgArNP///wz/6QVWBdYAJgAzRgABBwFx/hn//wANtwMCLhEAABJWACs0NAD///+mAAAD4wUbAiYCTQAAAAcArv+q/tz////iAAAELAUeACYCQjwAAAcArv6//t/////9AAAE1wUbACYB/jwAAAcArv7a/tz//wACAAAB5gUeACYB/TwAAAcArv7f/t///wAe/+0EUAUbACYB9woAAAcArv77/tz///+aAAAEoQUbACYB7TwAAAcArv53/tz//wAYAAAEdAUaACYCDQoAAAcArv8S/tv///+mAAAD4wSNAgYCTQAA//8AHv//A+MEjQIGAkwAAP//AB4AAAPwBI0CBgJCAAD////dAAAEDgSNAgYB7AAA//8AHgAABJsEjQIGAf4AAP//ACsAAAGqBI0CBgH9AAD//wAeAAAEgASNAgYB+wAA//8AHgAABbEEjQIGAfkAAP//AB4AAASbBI0CBgH4AAD//wBM/+0ERgSgAgYB9wAA//8AHgAABCYEjQIGAfYAAP//AG4AAARCBI0CBgHyAAD//wB1AAAEZQSOAgYB7QAA////twAABG4EjQIGAe4AAP//ACsAAAK1BeYCJgH9AAABBwBq/2MAHgANtwIBDQMBAYRWACs0NAD//wB1AAAEZQXmAiYB7QAAAQYAanweAA23BAMXCQEBg1YAKzQ0AP//AB4AAAPwBeYCJgJCAAABBgBqfx4ADbcFBBkHAQGDVgArNDQA//8AHgAAA+MGHgImAgQAAAEHAHUBPQAeAAu2AggDAQGDVgArNAD//wAS/+4D6wSeAgYB8wAA//8AKwAAAaoEjQIGAf0AAP//ACsAAAK1BeYCJgH9AAABBwBq/2MAHgANtwIBDQMBAYRWACs0NAD////2/+0DlwSNAgYB/AAA//8AHgAABIAGHgImAfsAAAEHAHUBLQAeAAu2Aw4DAQGEVgArNAD//wBa/+kEVAX2AiYCGwAAAQYAoXUeAAu2Ah0XAQGEVgArNAD///+mAAAD4wSNAgYCTQAA//8AHv//A+MEjQIGAkwAAP//AB4AAAPNBI0CBgIEAAD//wAeAAAD8ASNAgYCQgAA//8AIAAABKIF9gImAhgAAAEHAKEA1AAeAAu2AxEIAQGEVgArNAD//wAeAAAFsQSNAgYB+QAA//8AHgAABJsEjQIGAf4AAP//AEz/7QRGBKACBgH3AAD//wAeAAAEhgSNAgYCCQAA//8AHgAABCYEjQIGAfYAAP//AEj/7QQzBKACBgJLAAD//wBuAAAEQgSNAgYB8gAA////twAABG4EjQIGAe4AAAADABL+TwPYBJ8AHgA+AEIAKEATHwECAj4+FT80NEAwKgtyDwsVfgA/M8wrzM0zEjkSOS8zEjk5MDEBJzcXMjY2NzYmJicmBgYHBz4DFx4DBw4DJxceAwcOAycuAzczHgIXFjY2NzYuAicnEwMjEwIEmhWAP3xYCQhDazY8bE8NtQlTf5hOSZB1QwUEWoqe1oJFj3hGBQVdkKpUTo5sPAOyATlhPUCIYwoHHz9VLpaLWbVZAisBdAEgUElBSx8BASFLPgFVe1AlAQEiSHZWVnlKI0YBAR5DcFRghVIlAgEqUn5WQk8kAQIiVEo2SSsUAQH+R/3/AgEAAAQAHv6ZBJsEjQADAAcACwAPAB1ADQMCAgYLB30PDgoKBhIAPzMQzjM/MxI5LzMwMQEHITcTAyMTIQMjExMDIxMDrRv9cht+yrXLA7LLtMqjWrVaAouZmQIC+3MEjftzBI38Df3/AgEAAgBI/lUEMwSgACcAKwAYQAsZEH4oJCQqKgULcgArMi8yETM/MzAxATcOAicuAzc3PgMXHgIXIy4CJyYOAgcHBh4CFxY2NgcDIxMDMbQZkdeAc6NiJAwOD1uSxXp7smMGtAMyZVBXhl45Cw4JCS9iU1aBVt1atFkBeAGAsloDAlybwmhmccmYVQMDYbJ5TW07AwI/cZBOaEOJdEkDAzZu0f3/AgEA//8AdQAABGUEjgIGAe0AAP//AC7+TwVXBJ8CJgIxAAAABwJrApn/tv//ACAAAASiBcsCJgIYAAABBwBwAKoAJgALtgMOCAEBsFYAKzQA//8AWv/pBFQFywImAhsAAAEGAHBLJgALtgIaFwEBsFYAKzQA//8AUgAABOUEjQIGAgsAAP//ACv/7QVxBI0AJgH9AAAABwH8AdoAAP///5oAAAYABgACJgKOAAABBwB1ApcAAAALtgYZDwEBTVYAKzQA////9P/GBKMGHgImApAAAAEHAHUBggAeAAu2AzARAQFbVgArNAD//wAS/fwD6wSeAiYB8wAAAAcB1ADi/p7//wCUAAAGKQYeAiYB7wAAAQcARAGlAB4AC7YEGAoBAWtWACs0AP//AJQAAAYpBh4CJgHvAAABBwB1AjEAHgALtgQWCgEBa1YAKzQA//8AlAAABikF5gImAe8AAAEHAGoBcQAeAA23BQQfCgEBhFYAKzQ0AP//AHUAAARlBh4CJgHtAAAABwBEALAAHv///6/+TgSLBbACJgAlAAABBwCkAWYAAAALtgMOBQEBOVYAKzQA//8AMf5OA8cEUAImAEUAAAEHAKQAtAAAAAu2AjsxAABNVgArNAD//wA7/lgEsQWwAiYAKQAAAQcApAEnAAoAC7YEEAIAAENWACs0AP//AEX+TgPaBFECJgBJAAABBwCkAP4AAAALtgEsAAAATVYAKzQA////pv5OA+MEjQImAk0AAAAHAKQBCwAA//8AHv5WA/AEjQImAkIAAAAHAKQA1wAI////8P6qAZ8EOgImAI0AAAEHAK0DNgAKAA60AQcCAQG4/3+wVgArNAAAAAEAAAACAAYAABS8BSkAAQAAFNQAAAAAAAAAaAAAAGgAAABoAAAAtAAAAQAAAAIIAAACxgAAA74AAAbqAAAKqgAADh4AAA6aAAAQBgAAEW4AABJIAAAS4gAAE5oAABQYAAAU1gAAFUQAABfWAAAYegAAGkQAAB1eAAAeJgAAIG4AACNQAAAj7AAAJ1AAACpOAAAqsAAAKxQAACvaAAAsiAAALVIAAC+0AAA1HgAANg4AADiiAAA62gAAPI4AAD2KAAA+VAAAQMAAAEF2AABB2gAAQxgAAEQAAABElgAARZYAAEZCAABIuAAASiIAAEzMAABOdAAAUZYAAFIsAABTjgAAVEoAAFWsAABWiAAAVz4AAFguAABYygAAWTgAAFnUAABaiAAAWv4AAFtsAABehgAAYR4AAGNSAABl5AAAaEIAAGmGAABs2gAAblgAAG9UAABw+AAAceIAAHJGAAB0/AAAdo4AAHj+AAB7kAAAfioAAH98AACCTAAAg44AAIUcAACF0gAAhxgAAIfmAACJXAAAikIAAIxUAACMqgAAjsgAAJCoAACRrAAAlCwAAJYiAACYYAAAmaYAAJoeAACfKgAAoGQAAKNCAAClygAAphYAAKa+AACqHAAAqpYAAKvqAACsugAArmIAALEQAACxgAAAsywAALP0AAC0zgAAtf4AALaaAAC4jAAAuNAAALkwAAC5kgAAufgAALx8AAC96AAAvpgAAMFuAADC6gAAxgQAAMrUAADN3AAAz3wAANH+AADUfgAA1zAAANgaAADYfAAA2WQAANouAADayAAA3EIAAN5+AADhOAAA5cAAAObeAADpZgAA63IAAO6WAADxeAAA81AAAPVeAAD2dgAA+LgAAPlsAAD6IgAA+lwAAPssAAD76gAA/S4AAP6GAAEADAABAKYAAQIEAAECdgABAugAAQMuAAEEZAABBOoAAQWeAAEGEgABB7YAAQfwAAEIdgABCWoAAQw8AAEM8AABDcgAAQ5aAAEPeAABEeoAAROgAAEWkAABGfIAARz6AAEd0AABIU4AASSQAAEnAAABKI4AASuEAAEspAABLsAAATJmAAEz7gABNnAAATjmAAE7ngABPOoAAT6iAAFBNgABQzYAAUaYAAFJqgABTAgAAU/UAAFRzgABVEAAAVbGAAFYqAABWmIAAVs2AAFc6AABXuYAAWBiAAFjwAABZH4AAWXqAAFnaAABagAAAWreAAFsUgABbRgAAW4sAAFv2AABcXwAAXLwAAF1fAABeFQAAXnsAAF9hgABgDgAAYC4AAGCXAABg9IAAYbSAAGHhgABiGgAAYnEAAGKlAABi0AAAYvoAAGMdgABkSYAAZICAAGTWAABlBwAAZUoAAGW2AABmG4AAZneAAGcOAABnvoAAaCSAAGjEAABpWoAAafeAAGppgABq1IAAawWAAGuzAABsbQAAbNMAAG1+gABuHwAAbmYAAG6sAABvB4AAb2OAAG/3AABwhQAAcTeAAHHsgABy4YAAc84AAHSZgAB1M4AAdYSAAHXfAAB2noAAd00AAHihgAB5/IAAesKAAHuVgAB8HIAAfJmAAHzrAAB9EQAAfWAAAH2BgAB9pIAAfn8AAH7bAAB++IAAfxUAAH95gAB/4oAAgJAAAIC+gACA6oAAgVkAAIG4AACBzoAAgeWAAIH7AACCEYAAglUAAIKagACC3gAAgyWAAIM8gACDU4AAg44AAIPFgACEPIAAhKuAAIWcAACGhAAAhpoAAIawAACG84AAhzaAAIdOAACHZIAAh80AAIgwAACIiwAAiVIAAIoLAACKhIAAivCAAIsGAACLHIAAi3uAAIvWAACL64AAjAIAAIwXgACMLYAAjM8AAI1UAACN2oAAjfYAAI4RgACOI4AAjjmAAI6aAACPR4AAkDUAAJEbgACR9wAAks0AAJOYgACURAAAlPAAAJVvAACV74AAloSAAJcUAACXiQAAl/+AAJjXAACY7oAAmQWAAJlKAACZVAAAmV6AAJlogACZcwAAmX0AAJmHAACZkQAAmZuAAJmlgACZr4AAmbMAAJm2gACZtoAAmcMAAJnPgACZ7wAAmg6AAJo0gACaaYAAmp0AAJrSAACbBYAAmx0AAJs0gACbjoAAm7OAAJvlgACcGQAAnC8AAJxIAACcggAAnd6AAJ4NAACePAAAnloAAJ5pgACeeQAAnoiAAJ6YAACep4AAnrcAAJ7GgACe8AAAnw6AAJ84AACfjgAAn+SAAKA9gACgTgAAoF4AAKBuAACgfgAAoI4AAKCeAACgrgAAoL4AAKDOAACg3gAAoO6AAKECgAChFoAAoWmAAKG8gACiRAAAoo0AAKMvAACjRYAAo7yAAKQ9gACk1wAApUuAAKXBgACmLgAApp0AAKcFAACn8QAAqJYAAKlBAACpjQAAqdwAAKn0AACqDAAAqiWAAKo/gACrGIAAq0YAAKuNAACrrIAAq+sAAK0ugACtoAAArk+AAK6GgACuxIAArwIAAK9DAACvXQAAr4UAAK+2gACvzIAAsCOAALCDAACxIQAAsciAALJpgACzwoAAs8KAALTJgAC0yYAAtTOAALVZAAC10YAAtnyAALddgAC3hQAAuCsAALinAAC42oAAuaGAALoRgAC6OIAAussAALsFAAC7QQAAu3gAALvPgAC7/gAAvFGAALx2AAC9NgAAvaIAAL5GgAC+owAAvzwAAL9oAAC/pwAAv8wAAMAFgADAU4AAwGwAAMCZAADBLoAAwV6AAMI2gADCvoAAwxAAAMM0AADDbAAAxA+AAMQ7AADEbYAAxJmAAMTegADFfYAAxekAAMacgADHGYAAx6+AAMhKAADIuIAAyRyAAMlWAADJugAAyicAAMqCgADLTYAAy3qAAMuzAADMDoAAzG2AAMytgADNBoAAzT6AAM2KAADN8oAAzgmAAM5fgADO+IAAz62AANAoAADQWQAA0MKAANEKAADRVAAA0ZsAANKMAADSooAA0uaAANMxgADTlwAA0++AANSuAADVSYAA1dMAANaJAADXG4AA166AANhdAADYyoAA2XSAANmlAADaHAAA2raAANrcgADbpIAA3EIAANxhAADcyQAA3QUAAN42AADe2YAA330AAN+2AADf7gAA4CoAAOBigADgyYAA4VQAAOHzgADiLQAA4mOAAOKwgADjFIAA40qAAON+gADj44AA5FIAAOSBgADkz4AA5VKAAOVhAADlb4AA5X4AAOWMgADlmwAA5amAAOW4AADmTgAA5vKAAOdhgADoDoAA6MoAAOjwAADpZQAA6duAAOoWAADqo4AA6ssAAOtSgADrcgAA7CwAAOz4AADtQAAA7VAAAO1fgADtb4AA7X+AAO2TgADtp4AA7baAAO3KgADt2YAA7e2AAO38AADuCoAA7h2AAO4yAADuRQAA7uoAAO+HgADvrYAA8FGAAPDagADxeQAA8kcAAPLcgADze4AA9ByAAPSugAD1fAAA9gEAAPYWAAD28oAA9yYAAPeCgAD33oAA+IOAAPjAgAD5IgAA+TUAAPlBgAD5vIAA+jeAAPqiAAD604AA+zAAAPtGgAD7WIAA+2oAAPuAgAD7lwAA+64AAPvEAAD71oAA++2AAPwEAAD8GoAA/DGAAPxHAAD8XIAA/HKAAPyIAAD8noAA/LUAAPzLgAD84YAA/PiAAP0PAAD9JQAA/TuAAP1SgAD9aQAA/X8AAP2WgAD9rIAA/cMAAP3ZAAD98IAA/gaAAP4dAAD+LoAA/kSAAP5VgAD+ZwAA/n2AAP6TAAD+qIAA/r6AAP7UgAD+7AAA/wOAAP8aAAD/MIAA/0eAAP9fAAD/cAAA/4WAAP+bgAD/rQAA/8IAAP/YAAD/7oABAAQAAQAagAEAMYABALUAAQG+AAEB1IABAeqAAQIAgAECFwABAi2AAQJDgAECWYABAmsAAQKCAAECl4ABAq6AAQLEgAEC1wABAu0AAQMDAAEDGQABA6EAAQR7AAEEkYABBKKAAQS5AAEEy4ABBOKAAQT5gAEFEAABBSaAAQU9AAEFU4ABBWmAAQV/gAEFlgABBawAAQXDAAEF2QABBe8AAQYEgAEGGYABBioAAQZAAAEGVgABBmcAAQZ9gAEGk4ABBqoAAQbAAAEG1oABBueAAQb9gAEHFQABByuAAQdCAAEHWAABB2mAAQeAgAEHloABB60AAQfDgAEH1gABB+eAAQf9gAEIE4ABCCqAAQhAgAEIV4ABCG4AAQiEgAEIm4ABCLIAAQjIgAEI3wABCPYAAQkMAAEJIoABCTSAAQlLAAEJYQABCXeAAQmOAAEJpIABCbqAAQnRAAEJ5oABCf0AAQoTAAEKKYABCj8AAQpQgAEKZwABCn2AAQqVAAEKq4ABCsIAAQrYgAEK6wABCwEAAQsXgAELLwABC0AAAQvdgAEMgwABDJSAAQymAAEMvAABDNGAAQzogAEM/wABDQ8AAQ0lAAENNoABDUyAAQ1dgAENc4ABDYUAAQ2WAAENrAABDcMAAQ3aAAEN8AABDgaAAQ4YgAEOKYABDj+AAQ5WAAEObAABDn0AAQ6UAAEOpgABDruAAQ7RgAEO6AABDvmAAQ8LAAEPHIABDzKAAQ9KAAEPYQABD3KAAQ+EgAEPloABD62AAQ/EgAEP24ABD/KAARAJgAEQH4ABEDCAARBHAAEQxgABENgAARDpgAERAAABERGAAREngAERPYABEU+AARFlgAER5wABEfiAARIPAAESJgABEjyAARJTAAESaYABEnuAARKRgAESngABEqoAARK7gAES0YABEugAARL9gAETFAABEyqAARNAAAETVgABE2yAARN+AAETlIABE6uAARO+AAET1QABE+uAARQBgAEUF4ABFC2AARQ/AAEUT4ABFGWAARR2gAEUjIABFKOAARS7AAEU0YABFOeAART9gAEVk4ABFaWAARW3AAEVzYABFeKAARX4gAEWCYABFiCAARY3gAEWTwABFmYAARZ7gAEWkwABFqoAARa/gAEWzoABFt2AARbsgAEW/4ABFxKAARclgAEXNIABF0OAARdSgAEXZYABF3SAAReDgAEXkoABF6GAARe3AAEXzgABF+SAARf7AAEYEQABGCcAARg9AAEYTAABGF8AARhygAEYhYABGJiAARiugAEYxQABGNsAARjxAAEZB4ABGR6AARk1AAEZ/YABGhCAARomAAEaNQABGkQAARpagAEabQABGnwAARqLAAEamgABGqkAARrAAAEazwABGuIAARr1AAEbBAABGxMAARsiAAEbMQABG0AAARtTAAEbYYABG3iAARuLgAEbnoABHCuAARw+gAEcTQABHGOAARx0gAEcgwABHJGAARyngAEctgABHMuAARzhgAEc+AABHQ4AAR0kgAEdOgABHVCAAR1mgAEdeQABHY6AAR2YgAEdqYABHcAAAR3WAAEd5IABHfqAAR4NAAEeJAABHjqAAR5RgAEeaAABHn4AAR6UgAEep4ABHraAAR7NgAEe5QABHvuAAR8RgAEfKQABH0AAAR9XgAEfbYABH3yAAR+PgAEfooABH7oAAR/RgAEf5IABH/sAASASAAEgKIABIEAAASBTAAEgX4ABIHIAASCIAAEgnoABILGAASDIgAEg34ABIPaAASENAAEhI4ABITqAASFPgAEhZgABIXyAASGTAAEhqoABIbmAASHMgAEh4wABIfmAASIQgAEiKAABIj6AASJUgAEia4ABIoGAASKYAAEirIABIsMAASLZgAEi8AABIwKAASMRgAEjKIABI0AAASNVgAEjawABI4GAASOYAAEjrgABI8UAASPbgAEj8YABJAgAASQfAAEkOQABJFOAASRpgAEkgIABJJaAASStgAEkxIABJNsAASTyAAElCIABJSOAASU9gAElTwABJWEAASV3AAEliIABJZ+AASWxAAElyAABJd8AASX1gAEmDAABJiKAASY4gAEmTwABJmAAASZ6AAEmjgABJqSAASa7gAEm0YABJuKAASb5AAEnD4ABJySAASc7AAEnUQABJ2eAASd+gAEnlIABJ6uAASfBgAEn2IABJ++AASgKAAEoJQABKDwAAShSgAEoaQABKHuAASiQgAEopoABKLyAASjUAAEo6gABKPuAASkRgAEpJ4ABKTyAASlSAAEpZIABKXwAASmTAAEpqoABKcAAASnXAAEp7YABKgUAASoXAAEqLYABKkQAASpbgAEqcQABKocAASqdgAEqtAABKs4AASrkAAEq+oABKxEAASshAAErN4ABK02AAStjgAEreoABK4mAASvyAAEsWoABLImAASy3AAEs/QABLUEAAS16AAEtvAABLf8AAS4+gAEuTYABLmSAAS53gAEuhoABLpWAAS6kgAEus4ABLsKAAS7RgAEu4IABLu+AAS8GAAEvGAABLy6AAS9BAAEvUgABL2gAAS9+AAEvlQABL6uAAS/CAAEv1wABL+0AATADAAEwGYABMC+AATBFgAEwXIABMHKAATCJAAEwnwABMLUAATDLgAEw4gABMPgAATEJgAExIAABMTYAATFNAAExYwABMXQAATGFAAExloABMagAATG6gAExzAABMeGAATHzgAEyCoABMiCAATI3AAEySQABMl+AATJyAAEyh4ABMp0AATKzgAEyyYABMtsAATLwgAEzBoABMxgAATMugAEzP4ABM1cAATNtgAEzhIABM5uAATOyAAEzyYABM+CAATP3gAE0BgABNBSAATQjAAE0MYABNESAATRPAAE0XgABNG0AATR8AAE0iwABNJ4AATSsgAE0uwABNMmAATTfgAE09gABNQyAATUigAE1MQABNTuAATVRgAE1YAABNXIAATWIgAE1lwABNaWAATW4gAE1xwABNd4AATXtAAE2AAABNg8AATYeAAE2MQABNkAAATZOgAE2XQABNzOAATdxAAE4BoABOBUAATgtAAE4PwABOFWAAThpAAE4eoABOI0AATiegAE4tIABOMuAATjdgAE49IABOQsAATkiAAE5OIABOU4AATlfgAE5cIABOYGAATmXMAAwADgAMAALGjAAEAAAADAAAAAAADAAIADABgAHQAFABkAAAAYYAHAAMAAAAAAAAABmJiBCfv7BASTk5ubmJiBCZj3AKGhAPeYAJeBmwEFBYUFBgYFBQUFgQAFgQEFBYECBQAFgZsKCQECBQUCAgIBAgMD/QD9/YED/f0A/YkAgAYALAAFAAQABQADAAUABQAFAAAABUABwADAAAAAAAAABUACAADAAEAAAAAAgADugYOAAAKBg4AA24GDgAADgYOAAP6Bg4AAAYGDAIAGACwABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAAVAAgAAwABAAAAAAIAA7oGDgAACgYOAANuBg4AAA4GDgAD+gYOAAAGBgwCABgAsACgABAAmAAMAIQAFACIAAAAjQAHAAMAAAAAAAAAmQAIAAMAAQAAAAABA/3cQhPL/6+3XvaWFg4CXsMfnAIGBgA729gDZvqGgn7fP6QYHCPGDEW1Z8czT0AIeOGZpajseBNUAJYGADjIyADdWeXh4WT0e+fr6GoMR8fH6+vz99vX17Ovp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FhYWCv7x39/f74MP/f39AAEDAwMBAP39+/v8/YQE/fz7AP2BFwMB////AQMDAgICAwMCAQEBAgMDAgICA4MDAQECAYEB//6CDgEBAgMCAQEA//8BAQEAAYED//8AAYEH/v79/f39//+CBv/+/f39/f6DAv7//oEUAf////78/fv8/P7+/fz8+/v6+gD6gRf/AAEBAf8A//z8/P7+AAICAv///vz8/P6DgAUAKACYAAQAiwADAIEAAACWQAHAAMAAAAAAAAB7QAIAAMAAQAAAAAA/YgoBEhocKjo+PkE/NjAuCwJdZlQ1JAXt6Oji6QEWM1rl3+PxCRchNEVUWmBbTDMlHAn46h4jKSooJSgrKiUgGwkUExQXFBISGAA3gT8TESEXEg8XGhLu5eTq7fHk7+4GOTg1Hf3uEwLeyMnM+Qf74Mq+wMPP3/H5BiE2QkA9MSEQBwT//f0AAgL/+/r8BwEDAwD+/gEGgwLv+/+COvz49/f29PT19vsA9vb8/wACAwMCAf749fLwAgH++vb29PPz8/T19/v+/wACAwL6+ff19PT09fj6/P3+gQQBAP/9+4Mz///9//7+/f3+AgMDAgICAgAB/fv8+/0AAv4BBAYFBQEAAgQGBwcHBgMBAP/9+/r6+vv8/4cAAYIGAQEBAQEA/4QA+4EL/v79/f39/f39/f7+gTj7+/z+/wECAgICAf/+/PsCAgIA//39/Pv7+/v7/P39/wACAv39/f7+/f3+/v7+/v7+/f3+/v39AP6BHgEBAQEBAQEBAf///////////wEDAwMCAP8B//7+/v6BCP///////////4EGAQEBAQEBAZg/BQIDBwUGBQQC//78/P37/P3+/fr7+fr+AAIEBwgHCQUBAwUFAwMEBgYDAf79/f7//Pv7/QD//f3/Af/9/f4BBAkEBQMBAgMFAgABgQT/AP79/oEN//8BAQMDAf8BAQEA/f6BDgEB/wACAgEA//z+AQIDAoIGAgQDAP39/oEV//78/gECAgD//wIDAwL//v4AAQH//YML/v8A/v7+/v7+/v//hAT9/f3+/4EMAQEBAQIBAP4BAQEBAYII/v39/v39/f7+gQIB//+FDf/+/v79/v7+/v///gD+gR7///8A//////8BAQEBAQEBAQD//v/+/wAB//8AAgICgQcBAQICAgICAYIG//7+/v7+/5IAAYSABgAsAGoABABqAAMAYgAFAGAAAABlQAHAAMAAAAAAAABgQAIAAMAAQAAAAAAzOUBHPyEH4qadAgoKBAIB8NzY09PT0TM3Ii8C7cmtpZu+3u0LISMtKh0NBQkDEBoWCQUA7oEU//0TPFZVVTIMAPn5/P7/+ff//wD/gRr97ygoKCIM9tawsLHC3ewpIxECAf/19uvo7e6DM+7v8PP4+/4GBvXz8PHx8PX5+vv6+/3y7/Lx+vwAAf/+9vPy7+7v8fT2+Pr49fPx7+/vAPWBDv///Pj3+Pj5/f7/AP///4EX///+/v3+/QH7+/v8/gEFBwYGBQUC/Pz+gQb/AAECAgEBgzOtray3xcnP7PD5+OLNysa1pKSlpaOhqq2rq8bI3fHy9NbU0cCxrqqwwtLX2vr6+uHJyACbgYEB9/iCAPWBAff5gQL/+PaFCP4BAAEA+/oAC4EGAQQF/wAFBIEE/g0A+PmFKQICAgIEBAUGBgEBAQIEBAYICAgICQgDAgQEAgMDBQUFBAQDBAQEAwMCAYQEAQIEAAaBF///AQIDAwMBAP//////////////////AoUQ///9/f39/wADAgD///////+GFf/7+fb29/b7/fz8/Pr6+Pf4+/38/PyBDP/+//37/P8EBgUGBAGCCwICAwQHAf3+//8A/YGADwEA//3+//8AAQECAgEB//+FDP8A//8A//79/QEBAAGBC/79/v7/AP79/wECAYML/f79/gABAgQEAQECgR0CAgICAQIBAP79AP8AAQECBAQFBAICAP/+/f3+/f+CBAICAgABgYEG/f7+/v7//4EB//+CAAGCAP+CFP/+/f3+/wABAgIBAgEB////AP8AAYiABQAgAAoABAAKAAMABwAFAAoAAAAGYAHAAMAAAAAAAAADJfoAyoEB39+DA9wtAFqBAQMDgwP6zQCagYUD/gMACYEBAwODAQADAPuAgAYALAAWAAQAFgADAA8ABQATIAAAFkABwADAAAAAAAAAFkACAADAAEAAAAAACc3iB/HS21pQAOCBB9A9PdDsFBTsgwkEAv7/BAP09AD3gQcE+/sEAv7+AoMIhoUBAYaGjo0AQP98gYsFBAECAgICBAj/CAIIBAL9Af8ACf38/wD9+/3/APyBBwL+/gIB//8BgwkBAv8AAQH9/gABgQcB/v4BAf//AYMAgAUAKAC4AAQAqQADAJEAAACzQAHAAMAAAAAAAACPQAIAAMAAQAAAAAA/KAn8JzhNWl5kWj8uBf1RTC8tJBUNCBUlJicnKCcnKSwmHgX///78+vlKS01PTlU/3dfb6gIRGiw/TVNZVEUsHhkVAvHiFxwiIyEfISQjHhkTDQwOEA0LCxEAPoE/FxfP0NDf+QcZM0A/PwkJ9/j5+v3/FAn8DA0WGBwaGBnq6ev2CQkICQoKCQkI9QoaB/vgyb7Bw8/f8fkGIDZCQBc9MSEQBwT//f0AAgL/+/r8AQMDAf7+AgaDI//8/t3e5/Hz9fn8/v7/9fXz9fj7/v/+/f79/f3+/v749/7//4IyAQH49/b29/b3AwL/+/j39vP09PX2+Pz/AAEDBAP7+vj29fX19vn7/f3/AQECAQD+/AD/gSX+/gQEA//9AP37+/r7//8BAQD8+fj3+wD///7+/v3//hcXBQD//4Eb/v/+//8BAv0AAgQGBwcHBgMBAP/8+/r6+vv8/4cAAYQCAQEBhhL9///9/fz7+/v7/P0BAf39/f7+gz///f39/f39/f3+/wEBAQEAAQH9/Pz8/Pz9AgIBAQD///79/f39/f7//wABAQL///////////7+/v7+////////Av8A/YEMAQH+/v7+AP8AAQICAoUCAQEBgQn/AAEBAQEBAf7+jAoBAP///////////4EGAQEBAQEBAZiACwIBAgIFBAH+/f8BAYETAgH//fz/AQICAAEBAQEBAP3+/P6CAAKBMAMDAP//+/0AAwQFAwIEBQYEAf/8/P3+/Pv7/QD9/P3/AP/9/f8BAwUEAgECAwQCAAGBD///AgEAAQEEAf/+/f7//wGCFAIDAf8A///+/v39/v8AAf8A/v///4EL//8AAQD+/P4AAgMBggYCBAP//v3+gRX//vz+AQICAP//AQMDAv/+/v8BAf/9gwD+gwr//f39/f3+AAH+/oEAAYIP//79/v7+/v39//4AAgEBAYIL/v7+/v3+/gICAgEBggj+/f7+/v7+/v6BFgH//wEAAQEBAP/+/v7+/v///v///wD+gQz//wEBAQEA/////v7+hwH//4II////////AgICgQH//4kHAQECAgICAgGCBv/+/v7+/v+MAAGKAIAGACwADgAEAA4AAwAJAAUADCAAAA5AAcAAwAAAAAAAAA5AAgAAwABAAAAA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ydssGyKlm5WPn7m/ys/e4/D18wESF/YKOicA64GAGFdXAB0d+ei5lZWVlJT5+//+/vv49r4gIL6DG0U19ATJXmloZmNhYF9eVEkzJhPozc87NNjfACGBgBikpAAGBlVVYGppaGVkCAMA/wD9DirIoaHIgxvAwA0O7ebm5t7RzMjBvLq/yc3S4+/usrIODgDCgYYBCQeFBf////8IC4gSBQX+/gAHBwcGBQQGBQUGBgUCAoIFAwP6+gAFgYABAgKDCP/+/f39/f3//4UD/P///IMX//0BAgH+AQQGBQMB/v7//v4CBAYFAwD9ggD9gYAY/f0A//8AAwYFBQQDAwEDAgICAwIAAv//AoOAGv79/gIBAwQDAwMCAAEA/////f8BAv38/f0A/4GAAfn5ghMEBAYHCAkICQECAQIBAgID//v7/4MAgAYALAAGAAQABgADAAogBQAGAAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAdCSAQgAAcw5Af8AAIABtQBA/2qBhQEGDgH+AACAAvwA+IGFAQABAASAgAUAIAAGAAQABgADAAogBQAGAAAACGABwADAAAAAAAACAQECAQGSAQgAAQg5Af8AAIABtABA/2qBhQEDDgH+AACAAv4A+IGFgAUAIAAGAAQABgADAAogBQAGAAAABmABwADAAAAAAAACAQECAQqSAQgAAe45Af8AAIAB3wBA/2qBhQECDgH+AAEAAwD4gIAGACwABgAEAAYAAwAKIAUABgAAAAZgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgESkgETAAECOQH2AACAAd8AQP9qgYUBAg4B/gABAAMA+IABAAEAAQD/AIAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAZgAgAAwABAAAAAAgEBAgGtkgEIAAHIOQH/AACAAbQAQP9qgYUBCA4B/gAAgAL8APiBhQEAAQAFgIAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgH4kgH9AAEoOQFxAACAAbQAQP9qgYUBBA4B/wAAgAL+APiBhQEAAQACAAcAgAYALAAGAAQABgADAAogBQAGAAAABkABwADAAAAAAAAABmACAADAAEAAAAACAQECAbWSAbwAAfc5AeEAAIAB1QBA/2qBhQEF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gYUAgAL+ABOBhQEAAwD7gIAGACwABgAEAAYAAwAIIAUACCAAAAhgAcAAwAAAAAAAAAZgAgAAwABAAAAAAgEBAgHnzAH+AAGPHgEBAACAArsAhoGFAIACBAATgYUAgAL9APuBhQCAAAODhYAGACwABgAEAAYAAwAIIAUABgAAAAZgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgHbngHqAAHWSgHtAACAAvMA6IGFAQEHAQEAAQADAPyAAQMCAf8AgAYALAAGAAQABgADAAggBQAGAAAABmABwADAAAAAAAAABkACAADAAEAAAAACAQECAQueAeoAARJKAe0AAIAC8wDogYUB/gcBAQAAggD8gYUB/wIB/wCABgAsAAYABAAGAAMACCAFAAYAAAAIYAHAAMAAAAAAAAAGYAIAAMAAQAAAAAIBAQIBFp4B6gAB+UoB7QAAgAIeAOiBhQH9BwEBAACAAgIA/IGFAQADAAKAgAYALAAGAAQABgADAAggBQAGAAAACGABwADAAAAAAAAABkACAADAAEAAAAACAQECAbieAeoAAdJKAe0AAIAC8wDogYUBAwcBAQAAgAL+APyBhQEDAgH/AIAGACwABgAEAAYAAwAKIAUACCAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgFP9gEIAAHtGAH3AACAAeQAQP95gYUAgAL+AAiBhQCAAgIA/IGFAQABAP4A/wCABgAsAAgABAAHAAMACQAFAAogAAAHQAHAAMAAAAAAAAAHQAIAAMAAQAAAAACCANiBgAD9g4ACsgDvgYWAAbsAQP94gYUCAQECAQMFAf8AgAL+APuBhYACAwADgYUAgAYALAAKIAQABwADAAkABQAGIAAABUABwADAAAAAAAAAB0ACAADAAEAAAAAAAgEBAgEx2AH9AIAC7gDvgYWAAbsAQP94gYUBAAMABYCCAPuBhYAC/gADgYUAgAYALAAGAAQACCADAAogBQAGAAAABmABwADAAAAAAAAABmACAADAAEAAAAACAQECATvYAf0AAIAC1QDvgYUAgAHmAED/eIGFAf8FAf8AAQADAPuAAIIAA4GFgAYALAAGAAQABgADAAogBQAIIAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAULYAQgAAejvAfcAAIAB5QBA/3iBhQCAAv4ABYGF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AAAAAgEBAgEv2wEFAIAC4gAlgYWAAu4AjoGFAQADAAiAggD8gYWABgAsAAYABAAIIAMABgAFAAYgAAAGYAHAAMAAAAAAAAAIYAIAAMAAQAAAAAIBAQIBWKEB/QAAgALpAAuBhUH/fP8NgQEAAwARgAEAAwD3gACAAv4AA4GFgAUAIAAGAAQABiADAAogBQAGAAAABmABwADAAAAAAAACAQECATkFAf0AAIAA8oOFAIABjgBA/xmBhQEBDQH/AAEAAwD6gIAFACAACiAEAAYgAwAKIAUAAwAAAANAAcAAwAAAAAAAAQADAgEBAgE21AH9AAEAAQDvgACAAaUAQP9TgYUAC4AA+oAAgAYALAAGAAQABgADAAogBQAGAAAABmABwADAAAAAAAAABmACAADAAEAAAAACAQECAR/ZAf0AAe/3AfsAAIABxABA/3iBhQEBCgH/AAEAAwD7gAEAAwACgIAGACwAByAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgEAAQBKAO4BwvAB4gAAgAEVAED/dYGFAfkHAQEAAIACAgD8gYUBAAEA/gD/gAYALAAHIAQABgADAAogBQAGAAAACGABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAQABAEoA7gHC8AHiAACAARUAQP91gYUB+QcBAQAAgAICAPyBhQEAAQD+AP+ABgAsAAYABAAGAAMACCAFAAggAAAGYAHAAMAAAAAAAAAGYAIAAMAAQAAAAAIBAQIBJfUB8wABuz8BmwAAgALvAIOBhQCAAv4ACIGFAIIA/IGFAQABgAD7gAYALAAGAAQACCADAAggBQAGAAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAdafAf0AAIACygA1gYUAgALBAIOBhQEEDQH/AACAAv4A+oGFAQABAASAgAUAIAAGAAQACCADAAggBQAGAAAACGABwADAAAAAAAACAQECAQifAf0AAIACBwA1gYUAgALCAIOBhQEBDQH/AACAAv4A+oGFgAUAIAAKIAQACCADAAggBQADAAAAA0ABwADAAAAAAAABAAMCAQECARGfAf0AAIAC7QA1gYUAgALsAIOBhQANgAD6gACABgAsAAYABAAGAAMACCAFAAYgAAAGYAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIB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IQABMTkB5gBB/0f/aoEBDg4B/QAB+fgBAQABAAEAAwD+AIAGACwABgAEAAYAAwAGAAUABgAAAAhgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgHv4AEYAAHq5gHnAEH/TP9/gQEMCgH/AACAAvsA+4GFAQECAf4AgAYALAAGAAQABgADAAogBQAGAAAABmABwADAAAAAAAAAB2ACAADAAEAAAAACAQECATSSARIAAfk5AdoAAIAB2gBA/2qBhQH+DgH9AACCAPiBhQEAAQD/AP0AgAYALAAGAAQABgADAAogBQAGAAAACGABwADAAAAAAAAABkACAADAAEAAAAACAQECAWngAQkAAbLmAdsAAIAB4ABA/3+BhQH7CgH/AACAAgIA+4GFAf0CAf4AgAYALAAGAAQABgADAAogBQAGIAAABmABwADAAAAAAAAABmACAADAAEAAAAACAQECAQaSAQQAAe85AcwAAIAB4QBA/2qBhQEAAwAOgACCAPiBhQEAAYAA/YAGACwABgAEAAYAAwAKIAUABgAAAAZgAcAAwAAAAAAAAAlgAgAAwABAAAAAAgEBAgE64AH7AAGn5gHNAACAAeYAQP9/gYUB/QoBAQAAggD7gYUAggACgYAA/YMAgAYALAAGAAQABgADAAogBQAGAAAABmABwADAAAAAAAAAB2ACAADAAEAAAAACAQECARWSATgAAfA5Ae0AAIAB3wBA/2qBhQEBDgH7AAEAAwD4gAEAAQABAP0AgAYALAAGAAQABgADAAogBQAGAAAABkABwADAAAAAAAAABkACAADAAEAAAAACAQECAUngAS8AAanmAe4AAIAB5ABA/3+BhQH+CgH8AAEB+wEBAAH/AgH9AIAGACwABgAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgEQkgEwAAH4OQEDAACAAd8AQP9qgYUBAw4B+wAB//gBAQABAAEAAgD/AIAGACwABgAEAAYAAwAKIAUACSAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgFE4AEnAAGw5gEEAACAAeQAQP9/gYUAggAKgYAA/YMBAfsBAQABAQIB/wAAgAYALAALAAQADAADAAoABQALAAAACGABwADAAAAAAAAAB2ACAADAAEAAAAAAgAMKuQCSgYAACISAA+4TADmBgAH/CYOAAt+wAED/aoGGgAMCCgAOgYAA/oQCAQICAfv4gQEAAgACAAGABgAsAAsABAALAAMACgAFAAsAAAAHQAHAAMAAAAAAAAAKYAIAAMAAQAAAAACAAz7tAOCBgAD/hIADpuAA5oGBABaDgALkxABA/3+BhoAD/wYACoGAAP+EgQL9APuBhgIBAgIBAgIBAgAAgAYALAAGAAQABgADAAogBQAGAAAABkABwADAAAAAAAAABmACAADAAEAAAAACAQECAc2SAScAAQI5AQ4AAIAB5QBA/2qBhQEFDgH9AAH9+AEBAAEAAQADgIAGACwACSAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgCCAOCBgAAegwG75gEPAACAAeoAQP9/gYUBAgoB/gAB//sBAQABAgIBAQAAgAYALAAGAAQABgADAAogBQAGAAAABkABwADAAAAAAAAABmACAADAAEAAAAACAQECAc2SAScAAQI5AQ4AAIAB5QBA/2qBhQEFDgH9AAH9+AEBAAEAAQADgIAGACwACSAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgCCAOCBgAAegwG75gEPAACAAeoAQP9/gYUBAgoB/gAB//sBAQABAgIBAQAAgAYALAAGAAQABgADAAogBQAGAAAACGABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAciSAQsAAew5AeoAAIAB5ABA/2qBhQEFDgH+AACAAv0A+IGFAQABAAQA/gCABgAsAAYABAAGAAMACiAFAAggAAAGYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIB++ABAgABpeYB6wAAgAHoAED/f4GFAIACAgAKgYUAggD7gYUBAwIB/wCABgAsAAYABAAGAAMACiAFAAYAAAAIYAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIByJIBCwAB9TkB5QAAgAHkAED/aoGFAQUOAf4AAIAC/gD4gYUBAAEAAwD+AIAGACwABgAEAAYAAwAKIAUACCAAAAZgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgH84AECAAGt5gHmAACAAekAQP9/gYUAgAICAAqBhQEAAwD7gAEDAgH+AIAGACwACwAEAAwAAwAKAAUACwAAAAhAAcAAwAAAAAAAAApgAgAAwABAAAAAAIADyrkAkoGAAA2EgAP4EwA5gYAB/wmDgAK1sABA/2qBhoADCAoADoGAAP6EgAP7+wD4gYYCAQEBAQMCgAABAIAGACwACwAEAAsAAwAKAAUACAAAAAhAAcAAwAAAAAAAAAtAAgAAwABAAAAAAIAD/u0A4IGAAASEgAOx4ADmgYEAFoOAArnEAED/f4GGgAMFBgAKgYaAA/79APuBhoADAwIAAoGBAAKDgAUAIAAHAAQABwADAAkABQAHAAAAB0ABwADAAAAAAAAAgALoAAKBhYACHgDvgYWAAbQAQP9ygYWAAgcAB4GFgAL8APyBhYAFACAACiAEAAcAAwAHAAUABwAAAAdAAcAAwAAAAAAAAAIBAQIB5swBBACAAgQAHoGFgAK7AIaBhYACBwATgYWAAv0A+4GFAIAGACwABgAEAAYAAwAGAAUABgAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgH0AgEWAAEu7wHbAEH/R/9ygQELBwH/AACAAvoA/IGFAQABAP4A/gCABQAgAAYABAAGAAMACiAFAAYAAAAGQAHAAMAAAAAAAAIBAQIB98wBFwAB+h4B6AAAgED/T4AAhoGFAQoTAf8AAfr7AQEAgAYALAAGAAQABgADAAogBQAIIAAABmABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAUoCAQgAAf3vAesAAIAB3gBA/3KBhQCAAv4AB4GFAQADAPyAAQABAP0A/wCABQAgAAYABAAGAAMACCAFAAggAAAGYAHAAMAAAAAAAAIBAQIBTMwBCQAByR4B+AAAgALmAIaBhQCAAv4AE4GFAQADAPuAgAYALAAGAAQABgADAAogBQAGAAAACGABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAW0CAQcAAfbvAc8AAIAB2QBA/3KBhQH6BwH/AACAAgIA/IGFAQABAPsA/QCABgAsAAYABAAGAAMACCAFAAggAAAIYAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIBb8wBCAABwh4B3AAAgALhAIaBhQCAAvoAE4GFAIACAgD7gYUBAAEA/QD+AIAGACwABgAEAAYAAwAKIAUABgAAAAZgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgE/AgH5AAHs7wHBAACAAeAAQP9ygYUB/AcBAQABAAMA/IABAAEA/AD9AIAGACwABgAEAAYAAwAIIAUABgAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgFAzAH6AAG3HgHOAACAAucAhoGFAfsTAQIAAIACAgD7gYUBAAEA/wD+AIAGACwABgAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgFNAgEtAAHs7wHiAACAAd4AQP9ygYUB/QcB/AABAfwBAQABAAEA/QD9AIAGACwABgAEAAYAAwAIIAUABgAAAAZAAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgFQzAEuAAG4HgHvAACAAuYAhoGFAf0TAf0AAQH7AQEAAQABAP8A/gCABgAsAAYABAAGAAMACiAFAAYAAAAGQAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIBSAIBJQAB9O8B+AAAgAHeAED/coGFAf8HAf0AAQH8AQEAAQABAP0A/wCABQAgAAYABAAGAAMACCAFAAYAAAAGQAHAAMAAAAAAAAIBAQIBS8wBJgABwB4BBQAAgALmAIaBhQH/EwH+AAEB+wEBAIAGACwACwAEAAsAAwAKAAUACwAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAIADQ+gAAoGAAP2EgAPrHgDvgYAA9ISAAt60AED/coGGgAP+BwAHgYAA/4QCAQICAfz8gQEAAQD+AP8AgAUAIAAMAAQACwADAAgABQAIAAAACGABwADAAAAAAAAAgANF5gDMgYAB/gSDgAO3BAAegYAAAYSAA+a7AIaBhoAD/gcAE4GGAgECAgH9+4GABgAsAAYABAAGAAMACiAFAAYAAAAIYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIB6uoBFgABMjwB2wAAgED/fYAA1YGFAQoDAf8AAIAC/AD9gYUB//4B/gCABgAsAAYABAAGAAMACCAFAAYAAAAIYAHAAMAAAAAAAAAJYAIAAMAAQAAAAAIBAQIBx54BAwABPEoB1AAAgAKHAOiBhQEJBwEBAACAAvsA/IGFAIIAAoGAAP6DAIAGACwABgAEAAYAAwAIIAUABgAAAAhgAcAAwAAAAAAAAAZgAgAAwABAAAAAAgEBAgHc6gH3AAEePAH3AACAAuoA1YGFAQUDAQEAAIAC/gD9gYUAggD+gYWABQAgAAcABAAHAAMABwAFAAcAAAAHQAHAAMAAAAAAAACAAsIAtoGFgAIhAD+BhYAC8wDlgYWAAgcABoGFgAL+AP2BhYAGACwACiAEAAcAAwAJAAUABwAAAAdAAcAAwAAAAAAAAAVAAgAAwABAAAAAAAIBAQIB0NQB/gCAAgcABYGFgAGqAED/U4GFgAIJAAuBhYAC+wD6gYWCAAKBhYAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgHV2AH3AAH37wH3AACAAbsAQP94gYUBCAUBAQAAgAL9APuBhQECAwH/AIAGACwABgAEAAYAAwAGAAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgHb1AE0AAEUBQHkAEH/Pf9TgQEOCwH7AAH5+gEBAAECAgH9AIAGACwABgAEAAYAAwAGAAUABgAAAAhgAcAAwAAAAAAAAAlgAgAAwABAAAAAAgEBAgHt2AEWAAEZ7wHnAEH/T/94gQELBQH/AACAAvoA+4GFAIIAA4GAAP6DAIAGACwABgAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgFU1AElAAHcBQHYAACAAc8AQP9TgYUB/gsB+wABAfoBAQAB/wIB/QCABgAsAAYABAAGAAMACiAFAAYAAAAIYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIBZdgBBwAB4O8B2wAAgAHhAED/eIGFAfoFAf8AAIACAgD7gYUB/QMB/gCABgAsAAYABAAGAAMACiAFAAYAAAAGYAHAAMAAAAAAAAAJYAIAAMAAQAAAAAIBAQIBJtQBFwAB0gUBygAAgAHWAED/U4GFAf8LAf4AAIIA+oGFAIIAAoGAAPyDAIAGACwABgAEAAYAAwAKIAUABgAAAAZgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgE32AH5AAHW7wHNAACAAegAQP94gYUB/AUBAQABAAMA+4AB/gMB/QCABgAsAAYABAAGAAMACiAFAAYAAAAGQAHAAMAAAAAAAAAJYAIAAMAAQAAAAAIBAQIBNdQBSwAB0wUB6wAAgAHVAED/U4GFAQELAfkAAf/6AQIAAIIAAoGAAP2DAIAGACwABgAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgFF2AEtAAHX7wHuAACAAeUAQP94gYUB/QUB/AABAvsBAQAB/wMB/QCABgAsAAYABAAGAAMACiAFAAYAAAAJYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIBL9QBQwAB2gUBAQAAgAHUAED/U4GFAQMLAfkAAIIA+oGAAAKDAQECAf4AAIAGACwABgAEAAYAAwAKIAUACSAAAAZAAcAAwAAAAAAAAAZgAgAAwABAAAAAAgEBAgFA2AElAAHe7wEEAACAAeYAQP94gYUAggAFgYAA/YMBAfsBAQABAAMAA4AAgAYALAAMAAQACwADAAoABQALAAAAB0ABwADAAAAAAAAACmACAADAAEAAAAAAgAMq0ADUgYABG/6DgAPRBwAFgYAA/YSAAtSqAED/U4GGgAMCCQALgYAA/ISBAvsA+oGGAgEBAwECAgH/AIAGACwADSAEAAwgAwALIAUADSAAAARAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgECAgCAAzvVANiBgAH994MAgAPV9wDvgYEA94MAgALmuwBA/3iBhgCAA/8IAAWBgAH/AYMB/fuBAQIDAf8AAIAGACwABgAEAAYAAwAKIAUACSAAAAZgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgFUKgEYAAH2LgEMAACAAaIAQP9GgYUAggAHgYAA/YMAggD8gYUB/v0BAQAAgAYALAAGAAQACCADAAogBQAGAAAABmABwADAAAAAAAAABmACAADAAEAAAAACAQECATnQAf0AAIAC5wAbgYUAgAG5AED/eIGFAf8LAf8AAIIA+4GFAIAA/oOFgAYALAAGAAQABgADAAogBQAGAAAACGABwADAAAAAAAAABkACAADAAEAAAAACAQECASQqARgAAbouAQwAAIABogBA/0aBhQEDBwH9AACAAv4A/IGFAQL9AQEAgAUAIAAGAAQACCADAAogBQAGAAAACGABwADAAAAAAAACAQECAQnQAf0AAIACqwAbgYUAgAG6AED/eIGFAQILAf8AAIAC/gD7gYWABgAsAAYABAAGAAMABgAFAAYAAAAGQAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIBDyoBMQABHy4B8wBB/zX/RoEBCwcB/AAB+/wBAQAB//0B/wCABgAsAAYABAAGAAMABgAFAAYAAAAIYAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIB9NABFgABERsB5wBB/0z/eIEBCwsB/wAAgAL6APuBhQEAAQD/AP4AgAYALAAGAAQABgADAAogBQAGAAAABkABwADAAAAAAAAABmACAADAAEAAAAACAQECAWUqASMAAe8uAQMAAIABzQBA/0aBhQH/BwH9AAEB/AEBAAEAAwD9gIAGACwABgAEAAYAAwAKIAUACCAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgFK0AEIAAHhGwH3AACAAeQAQP94gYUAgAL+AAuBhQCAAgIA+4GFAQABAP8A/wCABgAsAAcABAAHAAMACQAFAAcAAAAHQAHAAMAAAAAAAAAFQAIAAMAAQAAAAACAAugAKoGFgAL2AC6BhYABqABA/0aBhYACBwAHgYWAAvwA/IGFggD9gYUAgAUAIAAHAAQABwADAAkABQAHAAAAB0ABwADAAAAAAAAAgALoANCBhYAC+wAbgYWAAbkAQP94gYWAAgYAC4GFgAL9APuBhYAGACwABwAEAAcAAwAJAAUABwAAAAdAAcAAwAAAAAAAAAZgAgAAwABAAAAAAIAC+AAkgYWAAgoAIIGFgAGqAED/VIGFgAIFAAaBhYAC/QD8gYUBAAMA/YCABgAsAAcABAAHAAMACQAFAAcAAAAHQAHAAMAAAAAAAAAFQAIAAMAAQAAAAACAAuwA+IGFgALLABqBhYABwwBA/3mBhYACBgAIgYWAAv4A/IGFgAADg4UAgAYALAAGAAQABgADAAYABQAGAAAABkABwADAAAAAAAAABkACAADAAEAAAAACAQECARMkASEAAR4gAeYAQf87/1SBAQoGAf0AAfr8AQEAAf79Af4AgAYALAAGAAQABgADAAYABQAGAAAABkABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAQH4ARkAASEaAecAQf9O/3mBAQkIAf8AAfv8AQEAAQABAP4A/gCABQAgAAYABAAIIAMACiAFAAYAAAAIYAHAAMAAAAAAAAIBAQIBHccB/QAAgAINADKBhQCAAawAQP9UgYUBAwwB/wAAgAL+APmBhYAGACwACAAEAAggAwAKIAUABgAAAAZgAcAAwAAAAAAAAAhgAgAAwABAAAAAAgEBAgA5QP9+Af0AAIAC6ADdgYUAgAG6AED/d4GFAf8QAf8AAQADAPiAAIAC/gAGgYWABgAsAAYABAAIIAMACiAFAAYAAAAIYAHAAMAAAAAAAAAGYAIAAMAAQAAAAAIBAQIB7McB/QAAgALQADKBhQCAAasAQP9UgYUBBgwB/wAAgAL9APmBhQCAAAODhYAGACwACAAEAAggAwAKIAUABgAAAAZgAcAAwAAAAAAAAAhgAgAAwABAAAAAAgEBAgAIQP9+Af0AAIACqwDdgYUAgAG5AED/d4GFAQIQAf8AAQADAPiAAIACAwAGgYWABgAsAAYABAAGAAMABgAFAAYAAAAIYAHAAMAAAAAAAAAGYAIAAMAAQAAAAAIBAQIB2McBFgABNzIB5wBB/z//VIEBDgwB/wAAgAL5APmBhQCFgAD+g4AGACwACAAEAAYAAwAGAAUABgAAAAhgAcAAwAAAAAAAAAlgAgAAwABAAAAAAgEBAgD0QP9+ARYAARLdAecAQf9N/3eBAQsQAf8AAIAC+gD4gYUAggAGgYAA/oMAgAYALAAGAAQABgADAAogBQAGIAAABmABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAS7HAQgAAQcyAfcAAIAB1wBA/1SBhQEAAwAMgACCAPmBhQEAAQD+AP8AgAYALAAIAAQABgADAAogBQAIIAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAEpA/34BCAAB4d0B9wAAgAHjAED/d4GFAIAC/gAQgYUAgAICAPiBhQEAAwAGgIAFACAABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAgEBAgHBxwEJAAEjMgH/AACAAa4AQP9UgYUBCgwB/wAAgAL8APmBhYAGACwACQAEAAcAAwAJAAUABwAAAAdAAcAAwAAAAAAAAAVAAgAAwABAAAAAAIAB5QBA/36BhYACEADdgYWAAbwAQP93gYWAAgcAEIGFgAL+APiBhYIABoGFAIAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAZgAgAAwABAAAAAAgEBAgHm+QEJAAEjNgEuAACAAbQAQP9qgYUBBgcB/wAAgAL9APyBhQEAAYAAAoAGACwACCAEAAgAAwAIIAUACCAAAAhgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgCAAu0ACYGFQQCMAFkBQgAAgAKkAI+BhQCAAggABIGFAIAC/QD9gYUB/f4BAwCABgAsAAYABAAGAAMABgAFAAYAAAAGQAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIB6/kBFwABMTYB5wBB/0n/aoEBCwcB/wAB+vwBAQABAAEA/gD+AIAGACwABgAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgH/CQEZAAErWQHnAACAQP9WgACPgYUBCgQB/wAB+/0BAQAB//4B/gCABgAsAAogBAAIAAMACQAFAAYgAAAFQAHAAMAAAAAAAAAHYAIAAMAAQAAAAAACAQECAUD5AQkAggA2gYAA94OAAeAAQP9qgYUBAAMAB4CCAPyBhQEAAQD+AP+ABgAsAAYABAAGAAMACCAFAAggAAAIYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIBVgkBCwAB+1kB9wAAgALuAI+BhQCAAv0ABIGFAIACAgD9gYUB/f4B/wCABgAsAAwgBAANIAMACyAFAAYAAAAEQAHAAMAAAAAAAAAKYAIAAMAAQAAAAAIBAQMAgAP7FADfgYAA6oQAgAOm9AD9gYAB7hmDAIACwOQAQP96gYYBAQkBAQAB/vuBAgEBAQEBAAH/AoAGACwABwAEAAcAAwAJAAUABwAAAAdAAcAAwAAAAAAAAAZgAgAAwABAAAAAAIACjAACgYWAAg4ARIGFgAG5AED/aYGFgAIMAAiBhYAC+wD8gYUBAAEAA4CABgAsAAkABAAHAAMABwAFAAcAAAAHQAHAAMAAAAAAAAAHQAIAAMAAQAAAAACAQP96gADqgYWAAkAAV4GFgALPAJKBhYACDQAGgYWAAvsA/IGFgAIEAP6BhQCABgAsAAcABAAHAAMACiAFAAcAAAAGYAHAAMAAAAAAAAAHQAIAAMAAQAAAAACAAkcAtYGFgAKAAByBhQIBAQJB/33/WYGAAgMAD4GFAQADAPmAgAIDAAOBhQCABQAgAAcABAAHAAMABwAFAAUAAAAFQAHAAMAAAAAAAACAAmUA0oGFgAKEAByBhYACoQCBgYWCAAuBhYIA+oGFgAYALAAJAAQABwADAAkABQAHAAAAB0ABwADAAAAAAAAABUACAADAAEAAAAAAgED/V4AA74GFgAIgAAOBhYAB9QBA/3mBhYACDQAHgYWAAvsA/IGFgAAGg4UAgAYALAAJAAQABwADAAcABQAHAAAAB0ABwADAAAAAAAAABUACAADAAEAAAAAAgED/W4AAB4GFgAIgAP6BhYAC+QCggYWAAg0ABoGFgAL6AP2BhYAABoOFAIAGACwABgAEAAYAAwAKIAUABgAAAAZAAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgGauAHUAAGNygHBAACAAZcAQP89gYUBDBABAwAB+/gB/wABBgQB/QCABgAsAAYABAAGAAMACiAFAAYAAAAIYAHAAMAAAAAAAAAHYAIAAMAAQAAAAAIBAQIB4fUB/QAByg8BywAAgAG2AED/a4GFAQUJAQEAAIAC/gD8gYUBAAEAAQD9AIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA+YGEgQAbgYSBQP95gYSBAAeBhIEA/IGEAIAGACwAPgAEAD0AAwBDAAUAOwAAAD5AAcAAwAAAAAAAAD5AAgAAwABAAAAAAB6NopuZlYyFgomXoRwclYWbsN4HEBv5vqeiFShZRQDEgQm1trfCzM/b7vwCgw6ZmpyjuM/vEh8eHc4wMM6DHiTN2AAhIiEO8dPJzs5pfdC8m4mHhpSwxhFnYAQLAPiBCFxcXFZCMCMQBYQOcXFxY0UwG/zt7OwV7u4VgwP0s66KQ/9p/2v/bP9/CZmvs/X27O2zr5BC/3X/cv9wCIyttPSxsQ0NAED/aYGAB//+8vAADA8IhQf/AAwOAfDy/4keBgoMDA4ODg4MCwr//wgICgkICAgICAkKBgMD+fkAC4EH/v7+/f7+//+FB/39/f7+/gABggD9gQD9gx79/Pr29Pn7/v78+wEB/v79/wL//Pf5/fn7AP4BAwD6gQkCAQIBAgUB//7/gw4DBAIAAgUE//7//wL//wKDHgQICggEAwMDBQUFAQABAggFBQQFBAIDAwL9/Pz9AAOBCQcICAUEBAMCAf+DDgkJCgYFAwH//f7+Av7+AoOABgAsAD4ABAA9AAMAQwAFADsAAAA+QAHAAMAAAAAAAAA+QAIAAMAAQAAAAAAejaKbmZWMhYKJl6EcHJWFm7DeBxAb+b6nohUoWUUAxIEJtba3wszP2+78AoMOmZqco7jP7xIfHh3OMDDOgx4kzdgAISIhDvHTyc7OaX3QvJuJh4aUsMYRZ2AECwD4gQhcXFxWQjAjEAWEDnFxcWNFMBv87ezsFe7uFYMD9LOuikP/af9r/2z/fwmZr7P19uzts6+QQv91/3L/cAiMrbT0sbENDQBA/2mBgAf//vLwAAwPCIUH/wAMDgHw8v+JHgYKDAwODg4ODAsK//8ICAoJCAgICAgJCgYDA/n5AAuBB/7+/v3+/v//hQf9/f3+/v4AAYIA/YEA/YMe/fz69vT5+/7+/PsBAf7+/f8C//z3+f35+wD+AQMA+oEJAgECAQIFAf/+/4MOAwQCAAIFBP/+//8C//8Cgx4ECAoIBAMDAwUFBQEAAQIIBQUEBQQCAwMC/fz8/QADgQkHCAgFBAQDAgH/gw4JCQoGBQMB//3+/gL+/gKDgAYALAAZAAQAGQADABQABQAZAAAAGUABwADAAAAAAAAAF0ACAADAAEAAAAAAC+8Dm4kQDhMnV0MA74GAAWhoggPOMDDOgwsUAUNWvbw2L9PaAAOBgAGPj4IDDOXlDINB/3D/cAju7fX1qqoGBgBA/3mBjQsKCgYG//8EBPr6AAeBgAEEBIIA/YEA/YME/Pv9/f6BBP4AAgD8gYAB/f2CAwL//wKDgAj+AQMBAf/+/v+DgAH394IDAv7+AoOABgAsABkABAAZAAMADwAFABcgAAAZQAHAAMAAAAAAAAAXQAIAAMAAQAAAAAAL7QGjkhEQzOAR/QAHgYABYmKCA84wMM6DCwz6QVO/vwwFqrEA/oGAAZWVggMH4OAHgwuTlPDw+Pi3txQUAKCBjQcGAgEBAQICAgEHB4ECBvwGAAODAf0AA/78/f2BBf78/gEA/YGAAf39ggMC//8CgwkB/wICAgICAgEBg4AB+PiCAwL+/gKDAIAGACwAKgAEACwAAwAjAAUAJgAAACdAAcAAwAAAAAAAACRAAgAAwABAAAAAAAuOjxYUpZbN3N9TTNFA/3kGuLvO/usA8IGDDf44OczN/wAaqAC5Gxu5gwhWVb28IX1XZ1RD/2n/egA7ANEGKSghxcsACYGEA7GxTk6BBtkaAEMcHEODA+zr9PRA/1wDwvDvyEH/aP9fAcrGQP9WBLu7FhYAQP9dgZUTCAj//w4JBAIGBQQGCA4GBv39AAqBhAMBAf7+gQMC/QD9gQD9gxP+/QAB+/z8//z9/f389/38/wEA+4GDBQH+/gICAYEFBAAC//8CgxECBAEBAf/+/wID/wD/AAEBAgSDhAP7+wYGgQb8BAAGAgIGgwCABgAsAC0ABAApAAMAGgAFACYAAAAnQAHAAMAAAAAAAAAmQAIAAMAAQAAAAAAEmZoZF65A/18F2cSVSjWnQP9YBq4uQnJeALeBgw3+NDPR0P8AOMUAzjAwzoMLZGPPz2lmUOAiwbIJQAChBlJGP+PpAEmBhAO5uh0egQbt+gAe9/cegxPx8Pj4hNjy9d6Sit3YgLCwDAwAkIGLAAGIAQYGgQ8LCgMDBgIEBwsMAgL4+AAJgYQDAwP9/YEDAf4A/YEA/YMT/f0AAf38/v/8/vz8/PgB/wIEAPuBgw0B/v8BAgEA/wIAAv//AoMTAQEBAf8B/QUEAP8CAv/9/f7/AAGBhAP7+wQDgQb9AQAD//8Dg4AGACwAIAAEACIAAwAeAAUAGgAAAB9AAcAAwAAAAAAAAB1AAgAAwABAAAAAAA6D6X3gu7pAPwvO4hL+APmBBAGG//4PgQUDAcQmJsSDQACFDSyvTmhuzcrsV1D0+wA2gYAAZIEA5YEF8f8g+fkggwEEtUH/Z/9aCbCxubkOhobi4gBA/2qBgAABgQD/iwUFBQILCAiBAv4KCoIAB4GAAPyGAP2BAP2DC/7+/v39/P7/Av78/4EA/IED/wQBAYIF//8C//8CgwICAv6BCf///wEBAAEBAP+BgAAJhAL+AQSBAASDAIAGACwALQAEACYAAwAaAAUAIgAAACpAAcAAwAAAAAAAACFAAgAAwABAAAAAAAiXpCQWFkrEs/5A/34Jn8oL97DE9eIA0YEGwQICweD//4EBAfGBBAGwEhKwgxNDTrmu+5U4aP51Fwii1EA53uQAGYEAwoEBwhiEAAaCA0cgIEeDE8TEzMy/jIHDzATQw8sMmZn29gCPgYMAAZAPCAgDAwICCgYEBQcGAwAJCYIACoEA/oEB/v6IA/4BAf6DE/78/f///v3+/P/9/f4B/vv9/gD6gQACgQMCAQEBgQH/AYEE/wL//wKDgAABhgoCBAICAQMCAgMAAoEA/oEB/gKEAAKCAwYCAgaDAIAGACwALAAEACYAAwAeAAUAJgAAACVAAcAAwAAAAAAAACNAAgAAwABAAAAAAED/bgbRWLaUylzxQP9cCAIu/bfL++cAxYEEAY///w2BQACEgQUDAdQ2NtSDEXUTm0l7RJz/esmYzTs02N4AGIGAAEuBAPmBALOBBQUAFe7uFYMB/rZE/23/YP+w/17/Zwm0AAy6B4eH4+MAQP9qgZMRCQUDDAoLAwUIAAL/CgoBAQAKgYAA/YEAAYEAA4EFAQD+AQH+gxH9/fz8+/r//f3+/wH9+v3+APqBA/8EAQGCAPuBBf//Af7+AYMBAwOBDQEC/v8BAgABAQEBAgABgYAAB4QA+IEF/wAC/v4CgwCABgAsACkABAApAAMAGAAFACEAAAAlQAHAAMAAAAAAAAAhQAIAAMAAQAAAAAAHi+hcwrDXXPtA/3oIEjAPzeER/QDbgQQBqv/+DIEAZoEFAgHOMDDOgwNuKstQQACSDFDMDmvhpulOR+vyACWBgABhgQABgQCpgQUNABPs7BODEf7JlIbChY3H/wvOB5iY9PQAjoGAAAGREQcEAAkHCwEDB/4A/ggI/v4ACIGAAP2EAASDAP2BAP2DEf3+/v38+gD+/v/+Av77/gEA/IED/wQBAYIA+4EF//8C//8CgwsDAv7//wD+/gIB//+BAwEBAAGBgAAHhAD4gwMD//8Dg4AFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEAEIGEgQA0gYSBQP94gYSBAAeBhIEA/YGEAIAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgEsJwHqAAHM9AHAAACAAQwAQP9xgYUB+wUBAQAAgAICAP6BhQEAAQD+AP0AgAYALAAFAAQABQADAAYABQAFAAAABUABwADAAAAAAAAABUACAADAAEAAAAAAgQDbgYSBAMiBhIFA/zSBhIEADYGEgQD6gYSBAAOBhIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAFACAABQAEAAUAAwAGAAUABQAAAAVAAcAAwAAAAAAAAIEA44GEgQAjgYSBQP95gYSBAAmBhIEA+4GEAIAGACwABgAEAAcgAwAKIAUABgAAAAZgAcAAwAAAAAAAAAZAAgAAwABAAAAAAgEBAgFWCwH9AAEAAQAMAN8AgAGlAED/TYGFAf8KAf8AAQADAPuAAf30Af4AAIAFACAABgAEAAggAwAKIAUABgAAAAZgAcAAwAAAAAAAAgEBAgFD5QH9AACAAusAHIGFAIABuwBA/3iBhQH/CgH/AAEAAwD7gIAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAZgAgAAwABAAAAAAgEBAgEK9QEIAAGx6gH/AACAAaMAQP9GgYUBAwsB/gAAgAL9APqBhQCAAAKDhYAFACAABgAEAAggAwAKIAUABgAAAAhgAcAAwAAAAAAAAgEBAgEN9gH9AACAArYAGIGFAIABuQBA/3mBhQEDCAH/AACAAv4A/IGFgAUAIAAGAAQABgADAAYABQAGAAAACGABwADAAAAAAAACAQECARiSAQ0AASY5AQQAQf9M/2qBAQkOAf4AAIAC/AD4gYWABgAsAAYABAAGAAMABgAFAAggAAAIYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIBTOABBAAB3+YBBQBB/1H/f4EAgAIGAAqBhQCAAv4A+4GFAf8CAQEAgAYALAAGAAQABgADAAYABQAIIAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAVECAQIAASPvAfkAQf9M/3KBAIACBQAHgYUAgAL+APyBhQCAAPuDhYAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAdgAgAAwABAAAAAAgEBAgFTzAEDAAHuHgEGAACAQP9TgACGgYUBBRMBAQAAgAL+APuBhQEAAQD9AAEAgAYALAAGAAQABgADAAggBQAIIAAABmABwADAAAAAAAAACGACAADAAEAAAAACAQECAUbqAQIAASY8AfkAAIACgQDVgYUAgAIEAAOBhQCCAP2BhQCAAv4A/oGFgAYALAAGAAQABgADAAggBQAGAAAACGABwADAAAAAAAAACGACAADAAEAAAAACAQECASSeAe8AATFKAfIAAIACjADogYUBBAcBAgAAgAL+APyBhQCAAv0AAoGFgAYALAAGAAQABgADAAYABQAGAAAABkABwADAAAAAAAAABmACAADAAEAAAAACAQECATjUASAAAQkFAQIAQf9C/1OBAQkLAfwAAfz6AQEAAQADAAKAgAYALAAGAAQABgADAAYABQAIIAAACGABwADAAAAAAAAABkACAADAAEAAAAACAQECAUnYAQIAAQ7vAQUAQf9U/3iBAIACBQAFgYUAgAL+APuBhQH8AwEBAIAGACwABgAEAAYAAwAGAAUABgAAAAhgAcAAwAAAAAAAAAhgAgAAwABAAAAAAgEBAgFPTAENAAH7SAEEAEH/Tf9WgQEFBAH+AACAAv4A/oGFAIAC/QD8gYWABgAsAAYABAAGAAMACiAFAAggAAAGYAHAAMAAAAAAAAAGQAIAAMAAQAAAAAIBAQIBVvcBAgABEVABBQAAgED/bIAAvIGFAIACAgAFgYUBAAMA/oAB/P4BAQCABgAsAAYABAAGAAMABgAFAAYAAAAIYAHAAMAAAAAAAAAIYAIAAMAAQAAAAAIBAQIBcCQBDQABEyABBABB/0D/VIEBBAYB/gAAgAL+APyBhQCAAvsA/YGFgAYALAAGAAQABgADAAYABQAGAAAACGABwADAAAAAAAAAB2ACAADAAEAAAAACAQECAV74AQUAARYaAQUAQf9T/3mBAQMIAQEAAIAC/gD8gYUBAAEA+wABAIAGACwABgAEAAYAAwAKIAUABgAAAAhgAcAAwAAAAAAAAAhgAgAAwABAAAAAAgEBAgENDwH/AEH/VAC0gQCAASsAQP97gYUB/gUB/wAAgAICAP2BhQCAAgUA+4GFgAYALAAHAAQABwADAAkABQAHAAAAB0ABwADAAAAAAAAABmACAADAAEAAAAAAgAK1ANiBhYAC7gAsgYWAAb0AQP9mgYWAAggADIGFgAL8APuBhQEAAQACgIAGACwABwAEAAcAAwAJAAUABwAAAAdAAcAAwAAAAAAAAAdAAgAA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AAQACCADAAggBQAGAAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAdvxAf0AAIACtwAzgYUAgALCAISBhQEFBwH/AACAAv0A/IGFAQABAAOAgAYALAAGAAQACCADAAggBQAGAAAACGABwADAAAAAAAAABmACAADAAEAAAAACAQECAeEEAf0AAIACxgDwgYUAgALAAIyBhQEFBgH/AACAAv4A/YGFAQABAAOAgAYALAAGAAQACCADAAggBQAGAAAABmABwADAAAAAAAAABmACAADAAEAAAAACAQECAR4EAf0AAIAC0AAigYUAgALEAJSBhQH/BQH/AAEAAwD9gACCAP6BhYAFACAABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAIEA8oGEgQA9gYSBAIaBhIEABoGEgQD8gYSABAAUAAUABAAFAAMABQAFAAUAAACBAOSBhIEAOIGEgQDfgYSBAASBhACABgAsAAYABAAIIAMACCAFAAYAAAAGYAHAAMAAAAAAAAAGYAIAAMAAQAAAAAIBAQIB2OQB/QAAgALLADiBhQCAAvEA34GFAQEEAf8AAQABAP6AAQABAAKAgAUAIAAFAAQABQADAAUABQAFAAAABUABwADAAAAAAAAAgQD4gYSBABOBhIEAkIGEgQAGgYSBAP2BhIAFACAABgAEAAggAwAKIAUABgAAAAZgAcAAwAAAAAAAAgEBAgE5BwH9AACAAuIAF4GFAIABwwBA/3mBhQH/CAH/AACCAPyBhYAGACwACiAEAAcAAwAHAAUABwAAAAdAAcAAwAAAAAAAAAZgAgAAwABAAAAAAAIBAQIBB+oBAgCAAjsAdYGFgALAAIaBhYACAgAJgYWAAv4A+4GFAQADAP6AAIAFACAABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAIEAn4GEgQA1gYSBAIOBhIEADYGEgQD6gYSABQAgAAUABAAFAAMABQAFAAUAAAAFQAHAAMAAAAAAAACBANiBhIEAKIGEgQCBgYSBAAqBhIEA+4GEgAYALAAFAAQABQADAAUABQAFAAAABUABwADAAAAAAAAABUACAADAAEAAAAAAgQAEgYSBACKBhIEAlIGEgQAFgYSBAP2BhIEA/oGEAIAFACAABQAEAAUAAwAFAAUABQAAAAVAAcAAwAAAAAAAAIEABIGE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") format("truetype")}body{--checkbox-radius: 2px;--dropdown-background-position: right 16px top 50%, 0 0;--font-interface-theme: "Roboto";--font-text-theme: "Roboto";--icon-opacity: 1;--input-height: 40px;--input-radius: 28px;--modal-radius: 12px;--radius-s: 8px;--radius-m: 12px;--radius-l: 16px;--slider-thumb-border-width: 0px;--slider-thumb-radius: 9999px;--tab-radius-active: 4px 4px 0px 0px}body.theme-dark{--color-accent: #cebdff;--color-accent-hsl: 255.4545454545deg, 100%, 87.0588235294%;--background-primary: #14121b;--background-primary-alt: #1d1a24;--background-secondary: #211e28;--background-secondary-alt: #36333e;--background-modifier-hover: rgba( from #cbc3d8 r g b / 0.08 );--background-modifier-border: #494455;--background-modifier-border-hover: #494455;--background-modifier-border-focus: #494455;--background-modifier-error-rgb: 255, 180, 171;--background-modifier-error: #ffb4ab;--background-modifier-error-hover: #ffb4ab;--background-modifier-success-rgb: var(--md-extended-green-color-rgb);--background-modifier-success: var(--md-extended-green-color);--background-modifier-message: #e7e0ee;--background-modifier-form-field: #0f0d16;--icon-color-focused: #cbc3d8;--link-unresolved-color: #ffb4ab;--link-unresolved-opacity: 1;--link-unresolved-filter: none;--nav-item-background-active: #4d3a83;--nav-item-color-active: #e8ddff;--interactive-normal: #36333e;--interactive-hover: var(--background-modifier-hover);--interactive-accent: #cebdff;--interactive-accent-hover: rgb( from #cebdff r g b / 0.9 );--scrollbar-active-thumb-bg: #948ea1;--scrollbar-bg: #948ea1;--scrollbar-thumb-bg: #494455;--input-shadow: unset;--shadow-s: unset;--shadow-l: unset;--slider-track-background: #4d3a83;--text-normal: #e7e0ee;--text-accent: #cebdff;--text-on-accent: #390093;--text-faint: #cbc3d8;--text-muted: #cbc3d8;--background-modifier-cover: rgba( from #000000 r g b / 0.32 )}body.theme-dark button:not(.clickable-icon){background-color:unset;--text-color: #cebdff;outline:1px solid #948ea1;padding:0 24px 0 24px}body.theme-dark button.mod-cta{background-color:#cebdff;--text-color: #390093;outline:none}body.theme-dark button.mod-warning{background-color:#ffb4ab;--text-color: #690005;outline:none}body.theme-dark .checkbox-container,body.theme-dark .checkbox-container.mod-small{--switch-track-height: 32px;--switch-track-width: 52px;--switch-track-outline-color: #948ea1;--switch-track-outline-width: 2px;--switch-track-selected-color: #cebdff;--switch-track-unselected-color: #36333e;height:var(--switch-track-height);width:var(--switch-track-width);box-shadow:unset;background-color:#36333e;border:var(--switch-track-outline-width) solid var(--switch-track-outline-color);transition:box-shadow .15s ease-in-out}body.theme-dark .checkbox-container:hover,body.theme-dark .checkbox-container.mod-small:hover{box-shadow:unset}body.theme-dark .checkbox-container.is-enabled,body.theme-dark .checkbox-container.mod-small.is-enabled{background-color:var(--switch-track-selected-color);border:0}body.theme-dark .checkbox-container.is-enabled:hover,body.theme-dark .checkbox-container.mod-small.is-enabled:hover{box-shadow:unset}body.theme-dark .checkbox-container::after,body.theme-dark .checkbox-container.mod-small::after{--switch-handle-unselected-height: 16px;--switch-handle-selected-height: 24px;--switch-handle-pressed-height: 28px;--switch-handle-unselected-width: 16px;--switch-handle-selected-width: 24px;--switch-handle-pressed-width: 28px;--switch-handle-unselected-color: #948ea1;--switch-handle-selected-color: #390093;--switch-handle-unselected-outline-width: calc( (40px / 2) - (var(--switch-handle-unselected-width) / 2) );--switch-handle-selected-outline-width: calc( (40px / 2) - (var(--switch-handle-selected-width) / 2) );--switch-handle-pressed-outline-width: calc( (40px / 2) - (var(--switch-handle-pressed-width) / 2) );height:var(--switch-handle-unselected-height);width:var(--switch-handle-unselected-width);background-color:var(--switch-handle-unselected-color);margin:6px 0 0 6px;transform:unset;transition:margin .1s ease-in-out,width .1s ease-in-out,height .1s ease-in-out}body.theme-dark .checkbox-container:hover::after,body.theme-dark .checkbox-container.mod-small:hover::after{background-color:#cbc3d8;--state-layer-color: rgba( from #e7e0ee r g b / 0.08 );outline:var(--switch-handle-unselected-outline-width) solid var(--state-layer-color)}body.theme-dark .checkbox-container:active::after,body.theme-dark .checkbox-container.mod-small:active::after{height:var(--switch-handle-pressed-height);width:var(--switch-handle-pressed-width);margin:0;--state-layer-color: rgba( from #e7e0ee r g b / 0.12 );outline:var(--switch-handle-pressed-outline-width) solid var(--state-layer-color)}body.theme-dark .checkbox-container.is-enabled::after,body.theme-dark .checkbox-container.mod-small.is-enabled::after{height:var(--switch-handle-selected-height);width:var(--switch-handle-selected-width);background-color:var(--switch-handle-selected-color);margin:4px 0 0 24px;transform:unset}body.theme-dark .checkbox-container.is-enabled:hover::after,body.theme-dark .checkbox-container.mod-small.is-enabled:hover::after{background-color:#5208ca;--state-layer-color: rgba( from #cebdff r g b / 0.08 );outline:var(--switch-handle-selected-outline-width) solid var(--state-layer-color)}body.theme-dark .checkbox-container.is-enabled:active::after,body.theme-dark .checkbox-container.mod-small.is-enabled:active::after{height:var(--switch-handle-pressed-height);width:var(--switch-handle-pressed-width);left:revert;margin:2px 0 0 22px;transform:unset;--state-layer-color: rgba( from #cebdff r g b / 0.12 );outline:var(--switch-handle-pressed-outline-width) solid var(--state-layer-color)}body.theme-dark .dropdown{background-color:unset;color:#cebdff;outline:1px solid #948ea1;padding:0 42px 0 24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23cebdff'%3E%3Cpath d='M480-360 280-560h400L480-360Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:24px 24px}body.theme-dark .clickable-icon:hover{background-color:unset}body.theme-dark .clickable-icon:focus-visible{box-shadow:unset;outline:unset}body.theme-dark .clickable-icon:active{background-color:unset}body.theme-dark .clickable-icon::after{--state-layer-base-color: #cbc3d8;--state-layer-size: calc(40 * var(--icon-size) / 24);content:"";position:absolute;width:var(--state-layer-size);height:var(--state-layer-size);border-radius:9999px;pointer-events:none}body.theme-dark .clickable-icon:hover::after{background-color:rgb(from var(--state-layer-base-color) r g b/0.08)}body.theme-dark .clickable-icon:focus-visible::after{outline:3px solid #cebdff;outline-offset:2px}body.theme-dark .clickable-icon:active::after{background-color:rgb(from var(--state-layer-base-color) r g b/0.12)}body.theme-dark .nav-file-title,body.theme-dark .nav-folder-title{border-radius:var(--radius-l)}body.theme-dark input.pdf-page-input,body.theme-dark .setting-item-control>textarea,body.theme-dark .setting-item-control>input:not(.slider,[type=color]){border-start-start-radius:4px;border-start-end-radius:4px;border-end-end-radius:0px;border-end-start-radius:0px;background:#36333e;border:unset;border-bottom:1px solid #cbc3d8;color:#e7e0ee;transition:border .15s cubic-bezier(0.2, 0, 0, 1)}body.theme-dark input.pdf-page-input:not(.mod-page-loading):hover,body.theme-dark .setting-item-control>textarea:hover,body.theme-dark .setting-item-control>input:not(.slider,[type=color]):hover{border-bottom:1px solid #cbc3d8}body.theme-dark input.pdf-page-input:not(.mod-page-loading):focus,body.theme-dark .setting-item-control>textarea:focus,body.theme-dark .setting-item-control>input:not(.slider,[type=color]):focus{border-bottom:3px solid #cebdff}body.theme-dark textarea:active,body.theme-dark input.metadata-input-text:active,body.theme-dark input[type=date]:active,body.theme-dark input[type=datetime-local]:active,body.theme-dark input[type=text]:active,body.theme-dark input[type=search]:active,body.theme-dark input[type=email]:active,body.theme-dark input[type=password]:active,body.theme-dark input[type=number]:active,body.theme-dark textarea:focus,body.theme-dark input.metadata-input-text:focus,body.theme-dark input[type=date]:focus,body.theme-dark input[type=datetime-local]:focus,body.theme-dark input[type=text]:focus,body.theme-dark input[type=search]:focus,body.theme-dark input[type=email]:focus,body.theme-dark input[type=password]:focus,body.theme-dark input[type=number]:focus{box-shadow:unset}body.theme-dark .pdf-page-input.mod-page-loading{background:rgb(from #e7e0ee r g b/0.04);color:rgb(from #e7e0ee r g b/0.38);border-bottom:1px solid rgb(from #e7e0ee r g b/0.38)}@media(hover: hover){body.theme-dark textarea:hover,body.theme-dark input.metadata-input-text:hover,body.theme-dark input[type=date]:hover,body.theme-dark input[type=datetime-local]:hover,body.theme-dark input[type=text]:hover,body.theme-dark input[type=search]:hover,body.theme-dark input[type=email]:hover,body.theme-dark input[type=password]:hover,body.theme-dark input[type=number]:hover{transition:border .15s cubic-bezier(0.2, 0, 0, 1)}}body.theme-dark input[type=range]::-webkit-slider-thumb{background:#cebdff;box-shadow:unset}body.theme-dark input[type=range]::-webkit-slider-thumb:hover,body.theme-dark input[type=range]::-webkit-slider-thumb:active,body.theme-dark body:not(.is-mobile) input[type=range]:focus::-webkit-slider-thumb,body.theme-dark body:not(.is-mobile) input[type=range]:focus-visible::-webkit-slider-thumb{background:#cebdff;box-shadow:unset}body.theme-dark .search-input-container{height:40px;display:flex;flex-direction:row;align-items:center;padding:0 8px;gap:8px;background-color:#36333e;border-radius:9999px}body.theme-dark .search-input-container::before{position:unset;background-color:#e7e0ee}body.theme-dark .search-input-container input{padding:unset;flex:1;background-color:unset;border:unset;border-radius:unset;color:#e7e0ee}body.theme-dark .search-input-container input:not(:placeholder-shown){padding:unset}body.theme-dark .search-input-container input::placeholder{color:#cbc3d8}body.theme-dark .search-input-container .search-input-clear-button{position:unset;width:unset;height:unset;margin:unset}body.theme-dark .search-input-container .input-right-decorator{position:unset;transform:unset;color:#cbc3d8}body.theme-dark .search-input-container.mod-hotkey .clickable-icon{padding:unset}body.theme-dark .setting-hotkey{border-radius:8px;background-color:#4d3a83;color:#e8ddff}body.theme-dark .setting-hotkey-icon .svg-icon{color:#e8ddff;opacity:1}body.theme-dark .setting-hotkey.mod-empty{outline:1px solid #494455;background-color:unset;color:#cbc3d8}body.theme-dark .setting-hotkey-icon.mod-empty .svg-icon{color:#cbc3d8}@media(hover: hover){body.theme-dark .setting-hotkey-icon:hover .svg-icon{color:#690005}}@media(hover: hover){body.theme-dark .setting-delete-hotkey:hover{background-color:var(--background-modifier-error);color:#690005}}body.theme-dark .tooltip{color:#322f39}body.theme-dark .tooltip.mod-error{width:200px;background-color:var(--background-modifier-error);color:#690005}body.theme-dark .workspace-tab-header.is-active::before,body.theme-dark .workspace-tab-header.is-active::after{display:none}body.theme-dark svg *{stroke-linecap:square;stroke-linejoin:miter;rx:0;ry:0}body.theme-dark .menu{padding:var(--size-2-1)}body.theme-dark .menu-separator{margin:var(--size-2-1) calc(var(--size-2-1)*-1)}body.theme-dark .multi-select-pill{background-color:rgba(0,0,0,0);border:1px solid #948ea1;border-radius:var(--md-sys-shape-corner-small, 8px);gap:8px;height:32px;padding-block:unset;padding-inline-start:16px;padding-inline-start:12px;padding-inline-end:8px}body.theme-dark .multi-select-pill::after{display:none}body.theme-dark .multi-select-pill .multi-select-pill-content{margin:unset}body.theme-dark .multi-select-pill .multi-select-pill-remove-button{margin:unset;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23cbc3d8'%3E%3Cpath d='m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:18px 18px}body.theme-dark .multi-select-pill .multi-select-pill-remove-button svg{height:18px;opacity:0;width:18px}body.theme-dark .multi-select-pill .multi-select-pill-remove-button:focus-visible{outline:var(--md-focus-ring-width, 3px) solid var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));outline-offset:var(--md-focus-ring-outward-offset, 2px)}body.theme-dark .multi-select-pill .multi-select-pill-remove-button{--md-ripple-height: 24px;--md-ripple-hover-color: #cbc3d8;--md-ripple-hover-opacity: 0.08;--md-ripple-pressed-color: #cbc3d8;--md-ripple-pressed-opacity: 0.12;--md-ripple-shape: var(--md-sys-shape-corner-full);--md-ripple-width: 24px}body.theme-dark .multi-select-pill .multi-select-pill-remove-button{position:relative}body.theme-dark .multi-select-pill .multi-select-pill-remove-button::after{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-dark .multi-select-pill .multi-select-pill-remove-button:hover::after{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-dark .multi-select-pill .multi-select-pill-remove-button:active::after{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-dark .multi-select-pill:focus-visible{outline:var(--md-focus-ring-width, 3px) solid var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));outline-offset:var(--md-focus-ring-outward-offset, 2px)}body.theme-dark .multi-select-pill{--md-ripple-height: 32px;--md-ripple-hover-color: #cbc3d8;--md-ripple-hover-opacity: 0.08;--md-ripple-pressed-color: #cbc3d8;--md-ripple-pressed-opacity: 0.12;--md-ripple-shape: var(--md-sys-shape-corner-small, 8px)}body.theme-dark .multi-select-pill{position:relative}body.theme-dark .multi-select-pill::before{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-dark .multi-select-pill:hover::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-dark .multi-select-pill:active::before{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-dark.is-mobile .workspace-drawer{border-start-start-radius:var(--md-sys-shape-corner-none, 0px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-none, 0px);background-color:var(--md-sys-color-surface-container-low, #f7f2fa)}body.theme-dark.is-mobile .workspace-drawer-inner{background-color:var(--md-sys-color-surface-container-low, #f7f2fa)}body.theme-dark.is-mobile .workspace-drawer-header .clickable-icon{color:var(--md-sys-color-on-surface-variant, #49454f);height:48px;padding:unset;width:48px}body.theme-dark.is-mobile .workspace-drawer-active-tab-container{background-color:var(--md-sys-color-surface-container-low, #f7f2fa)}body.theme-dark.is-mobile .workspace-drawer-active-tab-container .nav-header{align-content:center;background-color:var(--md-sys-color-surface-container-high);border:unset;min-height:calc(var(--safe-area-inset-bottom) + 64px);padding-block:0 var(--safe-area-inset-bottom)}body.theme-dark.is-mobile .workspace-drawer-active-tab-container .nav-buttons-container{padding-inline:16px}body.theme-dark.is-mobile .workspace-drawer-active-tab-container .nav-buttons-container .clickable-icon{color:var(--md-sys-color-on-surface-variant, #49454f);height:48px;padding:unset;max-width:48px}body.theme-dark.is-mobile .workspace-drawer-active-tab-header{background-color:rgba(0,0,0,0);border:1px solid #948ea1;border-radius:var(--md-sys-shape-corner-full, 9999px);color:var(--md-sys-color-primary);padding-inline-start:24px;padding-inline-end:16px;height:40px}body.theme-dark.is-mobile .workspace-drawer-active-tab-header .workspace-drawer-active-tab-title{color:#cebdff;font-family:var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-large-size, 0.875rem);font-weight:var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem)}body.theme-dark.is-mobile .workspace-drawer-active-tab-header .clickable-icon{color:#cebdff;height:18px;padding:unset;width:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23cebdff'%3E%3Cpath d='M480-360 280-560h400L480-360Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:18px 18px}body.theme-dark.is-mobile .workspace-drawer-active-tab-header .clickable-icon svg{display:none}body.theme-dark.is-phone .modal.mod-settings .modal-close-button{align-items:center;display:flex;height:48px;inset-inline:0;justify-content:center;top:calc(var(--safe-area-inset-top) + 8px);width:48px}body.theme-dark.is-phone .modal.mod-settings .modal-close-button:has(~.modal-header .modal-setting-back-button){display:none}body.theme-dark.is-phone .modal.mod-settings .modal-close-button::before{font-size:2rem;height:24px;width:24px}body.theme-dark.is-phone .modal.mod-settings .modal-header{background-color:var(--md-sys-color-surface-container);border:unset;height:calc(var(--safe-area-inset-top) + 64px);padding-block:var(--safe-area-inset-top) 0}body.theme-dark.is-phone .modal.mod-settings .modal-header .modal-title{align-items:center;display:flex;height:100%;margin:unset;max-width:unset}body.theme-dark.is-phone .modal.mod-settings .modal-header .modal-title:not(:has(.modal-setting-back-button)){justify-content:center}body.theme-dark.is-phone .modal.mod-settings .modal-header .modal-title .modal-setting-back-button{height:48px;inset-inline:0;position:static;width:48px}body.theme-dark.is-phone .modal.mod-settings .modal-header .modal-title .modal-setting-back-button .modal-setting-back-button-icon{margin:unset}body.theme-dark.is-phone .modal.mod-settings .modal-header .modal-title .modal-setting-back-button .modal-setting-back-button-icon .svg-icon{height:24px;width:24px}body.theme-dark.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-title{align-content:center;height:56px;padding:0 16px}body.theme-dark.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-items .vertical-tab-nav-item{border:unset;font-size:1rem;height:56px;justify-content:space-between;letter-spacing:.03125rem;line-height:1.5rem;padding-inline:16px}body.theme-dark.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-items .vertical-tab-nav-item .vertical-tab-nav-item-chevron{margin:unset}body.theme-dark.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-items .vertical-tab-nav-item .vertical-tab-nav-item-chevron .svg-icon{height:24px;width:24px}body.theme-dark.is-phone .modal-container .prompt{border-end-end-radius:var(--md-sheet-bottom-docked-container-shape-end-end, var(--md-sys-shape-corner-none, 0px));border-end-start-radius:var(--md-sheet-bottom-docked-container-shape-end-start, var(--md-sys-shape-corner-none, 0px));border-start-end-radius:var(--md-sheet-bottom-docked-container-shape-start-end, var(--md-sys-shape-corner-extra-large, 28px));border-start-start-radius:var(--md-sheet-bottom-docked-container-shape-start-start, var(--md-sys-shape-corner-extra-large, 28px))}body.theme-dark:not(.is-phone) .modal.mod-settings .modal-content .vertical-tab-nav-item{border-radius:var(--md-sys-shape-corner-full)}body.theme-dark:not(.is-phone) .modal.mod-settings .modal-content .vertical-tab-nav-item.is-active{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}body.theme-dark .modal-container .prompt{background-color:var(--md-sys-color-surface);border:unset;border-radius:var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px))}body.theme-dark .modal-container .prompt .prompt-input-container{align-items:center;background-color:var(--md-sys-color-surface-container-high);border:unset;border-radius:var(--md-sys-shape-corner-full);gap:16px;margin-block:8px;margin-inline:16px;min-height:56px;padding-inline-start:16px}body.theme-dark .modal-container .prompt .prompt-input-container::before{content:"";height:24px;width:24px;background-image:url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23e7e0ee'%3E%3Cpath d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:24px 24px}body.theme-dark .modal-container .prompt .prompt-input-container .prompt-input{background-color:rgba(0,0,0,0);border:unset;color:#e7e0ee;font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);padding:unset}body.theme-dark .modal-container .prompt .prompt-input-container .prompt-input::placeholder{color:#cbc3d8;font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem)}body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button{height:48px;inset:unset;margin:unset;min-width:48px;position:unset}body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button::after{background-color:unset;height:24px;mask-image:unset;width:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23cbc3d8'%3E%3Cpath d='m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:24px 24px}body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button{--md-ripple-height: var(--md-icon-button-state-layer-height, 40px);--md-ripple-hover-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--md-ripple-hover-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--md-ripple-pressed-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);--md-ripple-shape: var(--md-icon-button-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));--md-ripple-width: var(--md-icon-button-state-layer-width, 40px)}body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button{position:relative}body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button::before{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button:hover::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-dark .modal-container .prompt .prompt-input-container .search-input-clear-button:active::before{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-dark .modal-container .prompt .prompt-results{background-color:var(--md-list-container-color, var(--md-sys-color-surface, #fef7ff));padding:unset}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item{align-items:center;background-color:rgba(0,0,0,0);border-radius:var(--md-sys-shape-corner-none);color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));height:var(--md-list-item-one-line-container-height, 56px);line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px)}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item.is-selected:not(:active){background-color:rgb(from var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20)) r g b/var(--md-list-item-hover-state-layer-opacity, 0.08))}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item{--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: 0;--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12);--md-ripple-shape: var(--md-sys-shape-corner-none)}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item{position:relative}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item::after{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-dark .modal-container .prompt .prompt-results .suggestion-item:hover::after{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item:active::after{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item .suggestion-aux:has(.suggestion-hotkey){gap:8px}body.theme-dark .modal-container .prompt .prompt-results .suggestion-item .suggestion-aux:has(.suggestion-hotkey) kbd{align-content:center;background-color:rgba(0,0,0,0);border:var(--md-suggestion-chip-outline-width, 1px) solid var(--md-suggestion-chip-outline-color, var(--md-sys-color-outline, #79747e));border-radius:var(--md-suggestion-chip-container-shape, var(--md-sys-shape-corner-small, 8px));color:var(--md-suggestion-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-suggestion-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-suggestion-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));font-weight:var(--md-suggestion-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));height:var(--md-suggestion-chip-container-height, 32px);line-height:var(--md-suggestion-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));margin:unset;padding-block:unset;padding-inline-start:var(--md-suggestion-chip-leading-space, 16px);padding-inline-end:var(--md-suggestion-chip-trailing-space, 16px)}body.theme-dark .modal-container .prompt .prompt-instructions{background-color:var(--md-sys-color-surface-container)}body.theme-dark.is-phone .menu{background-color:var(--md-sheet-bottom-docked-container-color, var(--md-sys-color-surface-container-low, #f8f1ff));border-end-end-radius:var(--md-sheet-bottom-docked-container-shape-end-end, var(--md-sys-shape-corner-none, 0px));border-end-start-radius:var(--md-sheet-bottom-docked-container-shape-end-start, var(--md-sys-shape-corner-none, 0px));border-start-end-radius:var(--md-sheet-bottom-docked-container-shape-start-end, var(--md-sys-shape-corner-extra-large, 28px));border-start-start-radius:var(--md-sheet-bottom-docked-container-shape-start-start, var(--md-sys-shape-corner-extra-large, 28px));margin-top:72px;padding:0}body.theme-dark.is-phone .menu-grabber{color:var(--md-sheet-bottom-docked-drag-handle-color, var(--md-sys-color-on-surface-variant, #494455));height:var(--md-sheet-bottom-docked-drag-handle-height, 4px);margin:22px auto;width:var(--md-sheet-bottom-docked-drag-handle-width, 32px)}body.theme-dark.is-phone .menu-grabber::before{background:currentColor;border-radius:var(--md-sys-shape-corner-full);content:"";height:100%;width:100%}body.theme-dark.is-phone .menu-scroll{background-color:var(--md-sheet-bottom-docked-container-color, var(--md-sys-color-surface-container-low, #f8f1ff));display:block;padding-block-start:0;padding-block-end:max(var(--safe-area-inset-bottom),8px)}body.theme-dark.is-phone .menu-separator{border:unset;color:var(--md-divider-color, var(--md-sys-color-outline-variant, #cac4d0));display:flex;height:var(--md-divider-thickness, 1px);margin-block:8px;padding-inline:16px}body.theme-dark.is-phone .menu-separator:nth-of-type(2),body.theme-dark.is-phone .menu-separator+.menu-separator{display:none}body.theme-dark.is-phone .menu-separator::before{background:currentColor;content:"";height:100%;width:100%}body.theme-dark.is-phone .menu-item{border-radius:var(--md-sys-shape-corner-none)}body.theme-dark.is-phone .menu-item.is-label{padding-block:0 8px;padding-inline:16px}body.theme-dark.is-phone .menu-item.is-label .menu-item-title{background-color:var(--md-filled-card-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-radius:var(--md-filled-card-container-shape, var(--md-sys-shape-corner-medium, 12px));display:flex;flex-direction:column;font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);padding:16px}body.theme-dark.is-phone .menu-item.is-label .menu-item-title div:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.theme-dark.is-phone .menu-item.is-label .menu-item-title .menu-item-desc{font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem);padding:unset}body.theme-dark.is-phone .menu-item.tappable{gap:16px;height:var(--md-list-item-one-line-container-height, 56px);padding-block-start:var(--md-list-item-top-space, 12px);padding-block-end:var(--md-list-item-bottom-space, 12px);padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px)}body.theme-dark.is-phone .menu-item.tappable.mobile-tap{background-color:unset}body.theme-dark.is-phone .menu-item.tappable{--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-list-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12);--md-ripple-shape: var(--md-sys-shape-corner-none)}body.theme-dark.is-phone .menu-item.tappable{position:relative}body.theme-dark.is-phone .menu-item.tappable::after{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-dark.is-phone .menu-item.tappable:hover::after{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-dark.is-phone .menu-item.tappable:active::after{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-dark.is-phone .menu-item-icon{align-items:center;justify-content:center}body.theme-dark.is-phone .menu-item-icon .svg-icon{color:var(--md-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));height:var(--md-icon-size, 24px);width:var(--md-icon-size, 24px)}body.theme-dark.is-phone .menu-item-title{color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem))}body.theme-light{--color-accent: #6b36e2;--color-accent-hsl: 258.488372093deg, 74.7826086957%, 54.9019607843%;--background-primary: #fdf7ff;--background-primary-alt: #f8f1ff;--background-secondary: #f2ebf9;--background-secondary-alt: #e7e0ee;--background-modifier-hover: rgba( from #494455 r g b / 0.08 );--background-modifier-border: #cbc3d8;--background-modifier-border-hover: #cbc3d8;--background-modifier-border-focus: #cbc3d8;--background-modifier-error-rgb: 186, 26, 26;--background-modifier-error: #ba1a1a;--background-modifier-error-hover: #ba1a1a;--background-modifier-success-rgb: var(--md-extended-green-color-rgb);--background-modifier-success: var(--md-extended-green-color);--background-modifier-message: #322f39;--background-modifier-form-field: #ffffff;--icon-color-focused: #494455;--link-unresolved-color: #ba1a1a;--link-unresolved-opacity: 1;--link-unresolved-filter: none;--nav-item-background-active: #e8ddff;--nav-item-color-active: #210656;--interactive-normal: #e7e0ee;--interactive-hover: var(--background-modifier-hover);--interactive-accent: #6b36e2;--interactive-accent-hover: rgb( from #6b36e2 r g b / 0.9 );--scrollbar-active-thumb-bg: #7a7487;--scrollbar-bg: #7a7487;--scrollbar-thumb-bg: #cbc3d8;--input-shadow: unset;--shadow-s: unset;--shadow-l: unset;--slider-track-background: #e8ddff;--text-normal: #1d1a24;--text-accent: #6b36e2;--text-on-accent: #ffffff;--text-faint: #494455;--text-muted: #494455;--background-modifier-cover: rgba( from #000000 r g b / 0.32 )}body.theme-light button:not(.clickable-icon){background-color:unset;--text-color: #6b36e2;outline:1px solid #7a7487;padding:0 24px 0 24px}body.theme-light button.mod-cta{background-color:#6b36e2;--text-color: #ffffff;outline:none}body.theme-light button.mod-warning{background-color:#ba1a1a;--text-color: #ffffff;outline:none}body.theme-light .checkbox-container,body.theme-light .checkbox-container.mod-small{--switch-track-height: 32px;--switch-track-width: 52px;--switch-track-outline-color: #7a7487;--switch-track-outline-width: 2px;--switch-track-selected-color: #6b36e2;--switch-track-unselected-color: #e7e0ee;height:var(--switch-track-height);width:var(--switch-track-width);box-shadow:unset;background-color:#e7e0ee;border:var(--switch-track-outline-width) solid var(--switch-track-outline-color);transition:box-shadow .15s ease-in-out}body.theme-light .checkbox-container:hover,body.theme-light .checkbox-container.mod-small:hover{box-shadow:unset}body.theme-light .checkbox-container.is-enabled,body.theme-light .checkbox-container.mod-small.is-enabled{background-color:var(--switch-track-selected-color);border:0}body.theme-light .checkbox-container.is-enabled:hover,body.theme-light .checkbox-container.mod-small.is-enabled:hover{box-shadow:unset}body.theme-light .checkbox-container::after,body.theme-light .checkbox-container.mod-small::after{--switch-handle-unselected-height: 16px;--switch-handle-selected-height: 24px;--switch-handle-pressed-height: 28px;--switch-handle-unselected-width: 16px;--switch-handle-selected-width: 24px;--switch-handle-pressed-width: 28px;--switch-handle-unselected-color: #7a7487;--switch-handle-selected-color: #ffffff;--switch-handle-unselected-outline-width: calc( (40px / 2) - (var(--switch-handle-unselected-width) / 2) );--switch-handle-selected-outline-width: calc( (40px / 2) - (var(--switch-handle-selected-width) / 2) );--switch-handle-pressed-outline-width: calc( (40px / 2) - (var(--switch-handle-pressed-width) / 2) );height:var(--switch-handle-unselected-height);width:var(--switch-handle-unselected-width);background-color:var(--switch-handle-unselected-color);margin:6px 0 0 6px;transform:unset;transition:margin .1s ease-in-out,width .1s ease-in-out,height .1s ease-in-out}body.theme-light .checkbox-container:hover::after,body.theme-light .checkbox-container.mod-small:hover::after{background-color:#494455;--state-layer-color: rgba( from #1d1a24 r g b / 0.08 );outline:var(--switch-handle-unselected-outline-width) solid var(--state-layer-color)}body.theme-light .checkbox-container:active::after,body.theme-light .checkbox-container.mod-small:active::after{height:var(--switch-handle-pressed-height);width:var(--switch-handle-pressed-width);margin:0;--state-layer-color: rgba( from #1d1a24 r g b / 0.12 );outline:var(--switch-handle-pressed-outline-width) solid var(--state-layer-color)}body.theme-light .checkbox-container.is-enabled::after,body.theme-light .checkbox-container.mod-small.is-enabled::after{height:var(--switch-handle-selected-height);width:var(--switch-handle-selected-width);background-color:var(--switch-handle-selected-color);margin:4px 0 0 24px;transform:unset}body.theme-light .checkbox-container.is-enabled:hover::after,body.theme-light .checkbox-container.mod-small.is-enabled:hover::after{background-color:#e8ddff;--state-layer-color: rgba( from #6b36e2 r g b / 0.08 );outline:var(--switch-handle-selected-outline-width) solid var(--state-layer-color)}body.theme-light .checkbox-container.is-enabled:active::after,body.theme-light .checkbox-container.mod-small.is-enabled:active::after{height:var(--switch-handle-pressed-height);width:var(--switch-handle-pressed-width);left:revert;margin:2px 0 0 22px;transform:unset;--state-layer-color: rgba( from #6b36e2 r g b / 0.12 );outline:var(--switch-handle-pressed-outline-width) solid var(--state-layer-color)}body.theme-light .dropdown{background-color:unset;color:#6b36e2;outline:1px solid #7a7487;padding:0 42px 0 24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%236b36e2'%3E%3Cpath d='M480-360 280-560h400L480-360Z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-size:24px 24px}body.theme-light .clickable-icon:hover{background-color:unset}body.theme-light .clickable-icon:focus-visible{box-shadow:unset;outline:unset}body.theme-light .clickable-icon:active{background-color:unset}body.theme-light .clickable-icon::after{--state-layer-base-color: #494455;--state-layer-size: calc(40 * var(--icon-size) / 24);content:"";position:absolute;width:var(--state-layer-size);height:var(--state-layer-size);border-radius:9999px;pointer-events:none}body.theme-light .clickable-icon:hover::after{background-color:rgb(from var(--state-layer-base-color) r g b/0.08)}body.theme-light .clickable-icon:focus-visible::after{outline:3px solid #65529d;outline-offset:2px}body.theme-light .clickable-icon:active::after{background-color:rgb(from var(--state-layer-base-color) r g b/0.12)}body.theme-light .nav-file-title,body.theme-light .nav-folder-title{border-radius:var(--radius-l)}body.theme-light input.pdf-page-input,body.theme-light .setting-item-control>textarea,body.theme-light .setting-item-control>input:not(.slider,[type=color]){border-start-start-radius:4px;border-start-end-radius:4px;border-end-end-radius:0px;border-end-start-radius:0px;background:#e7e0ee;border:unset;border-bottom:1px solid #494455;color:#1d1a24;transition:border .15s cubic-bezier(0.2, 0, 0, 1)}body.theme-light input.pdf-page-input:not(.mod-page-loading):hover,body.theme-light .setting-item-control>textarea:hover,body.theme-light .setting-item-control>input:not(.slider,[type=color]):hover{border-bottom:1px solid #494455}body.theme-light input.pdf-page-input:not(.mod-page-loading):focus,body.theme-light .setting-item-control>textarea:focus,body.theme-light .setting-item-control>input:not(.slider,[type=color]):focus{border-bottom:3px solid #6b36e2}body.theme-light textarea:active,body.theme-light input.metadata-input-text:active,body.theme-light input[type=date]:active,body.theme-light input[type=datetime-local]:active,body.theme-light input[type=text]:active,body.theme-light input[type=search]:active,body.theme-light input[type=email]:active,body.theme-light input[type=password]:active,body.theme-light input[type=number]:active,body.theme-light textarea:focus,body.theme-light input.metadata-input-text:focus,body.theme-light input[type=date]:focus,body.theme-light input[type=datetime-local]:focus,body.theme-light input[type=text]:focus,body.theme-light input[type=search]:focus,body.theme-light input[type=email]:focus,body.theme-light input[type=password]:focus,body.theme-light input[type=number]:focus{box-shadow:unset}body.theme-light .pdf-page-input.mod-page-loading{background:rgb(from #1d1a24 r g b/0.04);color:rgb(from #1d1a24 r g b/0.38);border-bottom:1px solid rgb(from #1d1a24 r g b/0.38)}@media(hover: hover){body.theme-light textarea:hover,body.theme-light input.metadata-input-text:hover,body.theme-light input[type=date]:hover,body.theme-light input[type=datetime-local]:hover,body.theme-light input[type=text]:hover,body.theme-light input[type=search]:hover,body.theme-light input[type=email]:hover,body.theme-light input[type=password]:hover,body.theme-light input[type=number]:hover{transition:border .15s cubic-bezier(0.2, 0, 0, 1)}}body.theme-light input[type=range]::-webkit-slider-thumb{background:#6b36e2;box-shadow:unset}body.theme-light input[type=range]::-webkit-slider-thumb:hover,body.theme-light input[type=range]::-webkit-slider-thumb:active,body.theme-light body:not(.is-mobile) input[type=range]:focus::-webkit-slider-thumb,body.theme-light body:not(.is-mobile) input[type=range]:focus-visible::-webkit-slider-thumb{background:#6b36e2;box-shadow:unset}body.theme-light .search-input-container{height:40px;display:flex;flex-direction:row;align-items:center;padding:0 8px;gap:8px;background-color:#e7e0ee;border-radius:9999px}body.theme-light .search-input-container::before{position:unset;background-color:#1d1a24}body.theme-light .search-input-container input{padding:unset;flex:1;background-color:unset;border:unset;border-radius:unset;color:#1d1a24}body.theme-light .search-input-container input:not(:placeholder-shown){padding:unset}body.theme-light .search-input-container input::placeholder{color:#494455}body.theme-light .search-input-container .search-input-clear-button{position:unset;width:unset;height:unset;margin:unset}body.theme-light .search-input-container .input-right-decorator{position:unset;transform:unset;color:#494455}body.theme-light .search-input-container.mod-hotkey .clickable-icon{padding:unset}body.theme-light .setting-hotkey{border-radius:8px;background-color:#e8ddff;color:#210656}body.theme-light .setting-hotkey-icon .svg-icon{color:#210656;opacity:1}body.theme-light .setting-hotkey.mod-empty{outline:1px solid #cbc3d8;background-color:unset;color:#494455}body.theme-light .setting-hotkey-icon.mod-empty .svg-icon{color:#494455}@media(hover: hover){body.theme-light .setting-hotkey-icon:hover .svg-icon{color:#fff}}@media(hover: hover){body.theme-light .setting-delete-hotkey:hover{background-color:var(--background-modifier-error);color:#fff}}body.theme-light .tooltip{color:#f5eefc}body.theme-light .tooltip.mod-error{width:200px;background-color:var(--background-modifier-error);color:#fff}body.theme-light .workspace-tab-header.is-active::before,body.theme-light .workspace-tab-header.is-active::after{display:none}body.theme-light svg *{stroke-linecap:square;stroke-linejoin:miter;rx:0;ry:0}body.theme-light .menu{padding:var(--size-2-1)}body.theme-light .menu-separator{margin:var(--size-2-1) calc(var(--size-2-1)*-1)}body.theme-light .multi-select-pill{background-color:rgba(0,0,0,0);border:1px solid #7a7487;border-radius:var(--md-sys-shape-corner-small, 8px);gap:8px;height:32px;padding-block:unset;padding-inline-start:16px;padding-inline-start:12px;padding-inline-end:8px}body.theme-light .multi-select-pill::after{display:none}body.theme-light .multi-select-pill .multi-select-pill-content{margin:unset}body.theme-light .multi-select-pill .multi-select-pill-remove-button{margin:unset;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23494455'%3E%3Cpath d='m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:18px 18px}body.theme-light .multi-select-pill .multi-select-pill-remove-button svg{height:18px;opacity:0;width:18px}body.theme-light .multi-select-pill .multi-select-pill-remove-button:focus-visible{outline:var(--md-focus-ring-width, 3px) solid var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));outline-offset:var(--md-focus-ring-outward-offset, 2px)}body.theme-light .multi-select-pill .multi-select-pill-remove-button{--md-ripple-height: 24px;--md-ripple-hover-color: #494455;--md-ripple-hover-opacity: 0.08;--md-ripple-pressed-color: #494455;--md-ripple-pressed-opacity: 0.12;--md-ripple-shape: var(--md-sys-shape-corner-full);--md-ripple-width: 24px}body.theme-light .multi-select-pill .multi-select-pill-remove-button{position:relative}body.theme-light .multi-select-pill .multi-select-pill-remove-button::after{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-light .multi-select-pill .multi-select-pill-remove-button:hover::after{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-light .multi-select-pill .multi-select-pill-remove-button:active::after{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-light .multi-select-pill:focus-visible{outline:var(--md-focus-ring-width, 3px) solid var(--md-focus-ring-color, var(--md-sys-color-secondary, #625b71));outline-offset:var(--md-focus-ring-outward-offset, 2px)}body.theme-light .multi-select-pill{--md-ripple-height: 32px;--md-ripple-hover-color: #494455;--md-ripple-hover-opacity: 0.08;--md-ripple-pressed-color: #494455;--md-ripple-pressed-opacity: 0.12;--md-ripple-shape: var(--md-sys-shape-corner-small, 8px)}body.theme-light .multi-select-pill{position:relative}body.theme-light .multi-select-pill::before{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-light .multi-select-pill:hover::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-light .multi-select-pill:active::before{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-light.is-mobile .workspace-drawer{border-start-start-radius:var(--md-sys-shape-corner-none, 0px);border-start-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-end-radius:var(--md-sys-shape-corner-large, 16px);border-end-start-radius:var(--md-sys-shape-corner-none, 0px);background-color:var(--md-sys-color-surface-container-low, #f7f2fa)}body.theme-light.is-mobile .workspace-drawer-inner{background-color:var(--md-sys-color-surface-container-low, #f7f2fa)}body.theme-light.is-mobile .workspace-drawer-header .clickable-icon{color:var(--md-sys-color-on-surface-variant, #49454f);height:48px;padding:unset;width:48px}body.theme-light.is-mobile .workspace-drawer-active-tab-container{background-color:var(--md-sys-color-surface-container-low, #f7f2fa)}body.theme-light.is-mobile .workspace-drawer-active-tab-container .nav-header{align-content:center;background-color:var(--md-sys-color-surface-container-high);border:unset;min-height:calc(var(--safe-area-inset-bottom) + 64px);padding-block:0 var(--safe-area-inset-bottom)}body.theme-light.is-mobile .workspace-drawer-active-tab-container .nav-buttons-container{padding-inline:16px}body.theme-light.is-mobile .workspace-drawer-active-tab-container .nav-buttons-container .clickable-icon{color:var(--md-sys-color-on-surface-variant, #49454f);height:48px;padding:unset;max-width:48px}body.theme-light.is-mobile .workspace-drawer-active-tab-header{background-color:rgba(0,0,0,0);border:1px solid #7a7487;border-radius:var(--md-sys-shape-corner-full, 9999px);color:var(--md-sys-color-primary);padding-inline-start:24px;padding-inline-end:16px;height:40px}body.theme-light.is-mobile .workspace-drawer-active-tab-header .workspace-drawer-active-tab-title{color:#6b36e2;font-family:var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-label-large-size, 0.875rem);font-weight:var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500));line-height:var(--md-sys-typescale-label-large-line-height, 1.25rem)}body.theme-light.is-mobile .workspace-drawer-active-tab-header .clickable-icon{color:#6b36e2;height:18px;padding:unset;width:18px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%236b36e2'%3E%3Cpath d='M480-360 280-560h400L480-360Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:18px 18px}body.theme-light.is-mobile .workspace-drawer-active-tab-header .clickable-icon svg{display:none}body.theme-light.is-phone .modal.mod-settings .modal-close-button{align-items:center;display:flex;height:48px;inset-inline:0;justify-content:center;top:calc(var(--safe-area-inset-top) + 8px);width:48px}body.theme-light.is-phone .modal.mod-settings .modal-close-button:has(~.modal-header .modal-setting-back-button){display:none}body.theme-light.is-phone .modal.mod-settings .modal-close-button::before{font-size:2rem;height:24px;width:24px}body.theme-light.is-phone .modal.mod-settings .modal-header{background-color:var(--md-sys-color-surface-container);border:unset;height:calc(var(--safe-area-inset-top) + 64px);padding-block:var(--safe-area-inset-top) 0}body.theme-light.is-phone .modal.mod-settings .modal-header .modal-title{align-items:center;display:flex;height:100%;margin:unset;max-width:unset}body.theme-light.is-phone .modal.mod-settings .modal-header .modal-title:not(:has(.modal-setting-back-button)){justify-content:center}body.theme-light.is-phone .modal.mod-settings .modal-header .modal-title .modal-setting-back-button{height:48px;inset-inline:0;position:static;width:48px}body.theme-light.is-phone .modal.mod-settings .modal-header .modal-title .modal-setting-back-button .modal-setting-back-button-icon{margin:unset}body.theme-light.is-phone .modal.mod-settings .modal-header .modal-title .modal-setting-back-button .modal-setting-back-button-icon .svg-icon{height:24px;width:24px}body.theme-light.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-title{align-content:center;height:56px;padding:0 16px}body.theme-light.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-items .vertical-tab-nav-item{border:unset;font-size:1rem;height:56px;justify-content:space-between;letter-spacing:.03125rem;line-height:1.5rem;padding-inline:16px}body.theme-light.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-items .vertical-tab-nav-item .vertical-tab-nav-item-chevron{margin:unset}body.theme-light.is-phone .modal.mod-settings .modal-content .vertical-tab-header-group .vertical-tab-header-group-items .vertical-tab-nav-item .vertical-tab-nav-item-chevron .svg-icon{height:24px;width:24px}body.theme-light.is-phone .modal-container .prompt{border-end-end-radius:var(--md-sheet-bottom-docked-container-shape-end-end, var(--md-sys-shape-corner-none, 0px));border-end-start-radius:var(--md-sheet-bottom-docked-container-shape-end-start, var(--md-sys-shape-corner-none, 0px));border-start-end-radius:var(--md-sheet-bottom-docked-container-shape-start-end, var(--md-sys-shape-corner-extra-large, 28px));border-start-start-radius:var(--md-sheet-bottom-docked-container-shape-start-start, var(--md-sys-shape-corner-extra-large, 28px))}body.theme-light:not(.is-phone) .modal.mod-settings .modal-content .vertical-tab-nav-item{border-radius:var(--md-sys-shape-corner-full)}body.theme-light:not(.is-phone) .modal.mod-settings .modal-content .vertical-tab-nav-item.is-active{background-color:var(--md-sys-color-secondary-container);color:var(--md-sys-color-on-secondary-container)}body.theme-light .modal-container .prompt{background-color:var(--md-sys-color-surface);border:unset;border-radius:var(--md-dialog-container-shape, var(--md-sys-shape-corner-extra-large, 28px))}body.theme-light .modal-container .prompt .prompt-input-container{align-items:center;background-color:var(--md-sys-color-surface-container-high);border:unset;border-radius:var(--md-sys-shape-corner-full);gap:16px;margin-block:8px;margin-inline:16px;min-height:56px;padding-inline-start:16px}body.theme-light .modal-container .prompt .prompt-input-container::before{content:"";height:24px;width:24px;background-image:url("data:image/svg+xml,%0A%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%231d1a24'%3E%3Cpath d='M784-120 532-372q-30 24-69 38t-83 14q-109 0-184.5-75.5T120-580q0-109 75.5-184.5T380-840q109 0 184.5 75.5T640-580q0 44-14 83t-38 69l252 252-56 56ZM380-400q75 0 127.5-52.5T560-580q0-75-52.5-127.5T380-760q-75 0-127.5 52.5T200-580q0 75 52.5 127.5T380-400Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:24px 24px}body.theme-light .modal-container .prompt .prompt-input-container .prompt-input{background-color:rgba(0,0,0,0);border:unset;color:#1d1a24;font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);padding:unset}body.theme-light .modal-container .prompt .prompt-input-container .prompt-input::placeholder{color:#494455;font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem)}body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button{height:48px;inset:unset;margin:unset;min-width:48px;position:unset}body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button::after{background-color:unset;height:24px;mask-image:unset;width:24px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='24px' viewBox='0 -960 960 960' width='24px' fill='%23494455'%3E%3Cpath d='m256-200-56-56 224-224-224-224 56-56 224 224 224-224 56 56-224 224 224 224-56 56-224-224-224 224Z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:24px 24px}body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button{--md-ripple-height: var(--md-icon-button-state-layer-height, 40px);--md-ripple-hover-color: var(--md-icon-button-hover-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--md-ripple-hover-opacity: var(--md-icon-button-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-icon-button-pressed-state-layer-color, var(--md-sys-color-on-surface-variant, #49454f));--md-ripple-pressed-opacity: var(--md-icon-button-pressed-state-layer-opacity, 0.12);--md-ripple-shape: var(--md-icon-button-state-layer-shape, var(--md-sys-shape-corner-full, 9999px));--md-ripple-width: var(--md-icon-button-state-layer-width, 40px)}body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button{position:relative}body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button::before{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button:hover::before{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-light .modal-container .prompt .prompt-input-container .search-input-clear-button:active::before{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-light .modal-container .prompt .prompt-results{background-color:var(--md-list-container-color, var(--md-sys-color-surface, #fef7ff));padding:unset}body.theme-light .modal-container .prompt .prompt-results .suggestion-item{align-items:center;background-color:rgba(0,0,0,0);border-radius:var(--md-sys-shape-corner-none);color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));height:var(--md-list-item-one-line-container-height, 56px);line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem));padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px)}body.theme-light .modal-container .prompt .prompt-results .suggestion-item.is-selected:not(:active){background-color:rgb(from var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20)) r g b/var(--md-list-item-hover-state-layer-opacity, 0.08))}body.theme-light .modal-container .prompt .prompt-results .suggestion-item{--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: 0;--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12);--md-ripple-shape: var(--md-sys-shape-corner-none)}body.theme-light .modal-container .prompt .prompt-results .suggestion-item{position:relative}body.theme-light .modal-container .prompt .prompt-results .suggestion-item::after{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-light .modal-container .prompt .prompt-results .suggestion-item:hover::after{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-light .modal-container .prompt .prompt-results .suggestion-item:active::after{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-light .modal-container .prompt .prompt-results .suggestion-item .suggestion-aux:has(.suggestion-hotkey){gap:8px}body.theme-light .modal-container .prompt .prompt-results .suggestion-item .suggestion-aux:has(.suggestion-hotkey) kbd{align-content:center;background-color:rgba(0,0,0,0);border:var(--md-suggestion-chip-outline-width, 1px) solid var(--md-suggestion-chip-outline-color, var(--md-sys-color-outline, #79747e));border-radius:var(--md-suggestion-chip-container-shape, var(--md-sys-shape-corner-small, 8px));color:var(--md-suggestion-chip-label-text-color, var(--md-sys-color-on-surface-variant, #49454f));font-family:var(--md-suggestion-chip-label-text-font, var(--md-sys-typescale-label-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-suggestion-chip-label-text-size, var(--md-sys-typescale-label-large-size, 0.875rem));font-weight:var(--md-suggestion-chip-label-text-weight, var(--md-sys-typescale-label-large-weight, var(--md-ref-typeface-weight-medium, 500)));height:var(--md-suggestion-chip-container-height, 32px);line-height:var(--md-suggestion-chip-label-text-line-height, var(--md-sys-typescale-label-large-line-height, 1.25rem));margin:unset;padding-block:unset;padding-inline-start:var(--md-suggestion-chip-leading-space, 16px);padding-inline-end:var(--md-suggestion-chip-trailing-space, 16px)}body.theme-light .modal-container .prompt .prompt-instructions{background-color:var(--md-sys-color-surface-container)}body.theme-light.is-phone .menu{background-color:var(--md-sheet-bottom-docked-container-color, var(--md-sys-color-surface-container-low, #f8f1ff));border-end-end-radius:var(--md-sheet-bottom-docked-container-shape-end-end, var(--md-sys-shape-corner-none, 0px));border-end-start-radius:var(--md-sheet-bottom-docked-container-shape-end-start, var(--md-sys-shape-corner-none, 0px));border-start-end-radius:var(--md-sheet-bottom-docked-container-shape-start-end, var(--md-sys-shape-corner-extra-large, 28px));border-start-start-radius:var(--md-sheet-bottom-docked-container-shape-start-start, var(--md-sys-shape-corner-extra-large, 28px));margin-top:72px;padding:0}body.theme-light.is-phone .menu-grabber{color:var(--md-sheet-bottom-docked-drag-handle-color, var(--md-sys-color-on-surface-variant, #494455));height:var(--md-sheet-bottom-docked-drag-handle-height, 4px);margin:22px auto;width:var(--md-sheet-bottom-docked-drag-handle-width, 32px)}body.theme-light.is-phone .menu-grabber::before{background:currentColor;border-radius:var(--md-sys-shape-corner-full);content:"";height:100%;width:100%}body.theme-light.is-phone .menu-scroll{background-color:var(--md-sheet-bottom-docked-container-color, var(--md-sys-color-surface-container-low, #f8f1ff));display:block;padding-block-start:0;padding-block-end:max(var(--safe-area-inset-bottom),8px)}body.theme-light.is-phone .menu-separator{border:unset;color:var(--md-divider-color, var(--md-sys-color-outline-variant, #cac4d0));display:flex;height:var(--md-divider-thickness, 1px);margin-block:8px;padding-inline:16px}body.theme-light.is-phone .menu-separator:nth-of-type(2),body.theme-light.is-phone .menu-separator+.menu-separator{display:none}body.theme-light.is-phone .menu-separator::before{background:currentColor;content:"";height:100%;width:100%}body.theme-light.is-phone .menu-item{border-radius:var(--md-sys-shape-corner-none)}body.theme-light.is-phone .menu-item.is-label{padding-block:0 8px;padding-inline:16px}body.theme-light.is-phone .menu-item.is-label .menu-item-title{background-color:var(--md-filled-card-container-color, var(--md-sys-color-surface-container-highest, #e6e0e9));border-radius:var(--md-filled-card-container-shape, var(--md-sys-shape-corner-medium, 12px));display:flex;flex-direction:column;font-family:var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-large-size, 1rem);font-weight:var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-large-line-height, 1.5rem);padding:16px}body.theme-light.is-phone .menu-item.is-label .menu-item-title div:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}body.theme-light.is-phone .menu-item.is-label .menu-item-title .menu-item-desc{font-family:var(--md-sys-typescale-body-medium-font, var(--md-ref-typeface-plain, Roboto));font-size:var(--md-sys-typescale-body-medium-size, 0.875rem);font-weight:var(--md-sys-typescale-body-medium-weight, var(--md-ref-typeface-weight-regular, 400));line-height:var(--md-sys-typescale-body-medium-line-height, 1.25rem);padding:unset}body.theme-light.is-phone .menu-item.tappable{gap:16px;height:var(--md-list-item-one-line-container-height, 56px);padding-block-start:var(--md-list-item-top-space, 12px);padding-block-end:var(--md-list-item-bottom-space, 12px);padding-inline-start:var(--md-list-item-leading-space, 16px);padding-inline-end:var(--md-list-item-trailing-space, 16px)}body.theme-light.is-phone .menu-item.tappable.mobile-tap{background-color:unset}body.theme-light.is-phone .menu-item.tappable{--md-ripple-hover-color: var(--md-list-item-hover-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-hover-opacity: var(--md-list-item-hover-state-layer-opacity, 0.08);--md-ripple-pressed-color: var(--md-list-item-pressed-state-layer-color, var(--md-sys-color-on-surface, #1d1b20));--md-ripple-pressed-opacity: var(--md-list-item-pressed-state-layer-opacity, 0.12);--md-ripple-shape: var(--md-sys-shape-corner-none)}body.theme-light.is-phone .menu-item.tappable{position:relative}body.theme-light.is-phone .menu-item.tappable::after{border-radius:var(--md-ripple-shape, var(--md-sys-shape-corner-full, 9999px));content:"";height:var(--md-ripple-height, 100%);inset:50%;pointer-events:none;position:absolute;transform:translate(-50%, -50%);width:var(--md-ripple-width, 100%)}@media(hover: hover){body.theme-light.is-phone .menu-item.tappable:hover::after{background-color:var(--md-ripple-hover-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-hover-opacity, 0.08)}}body.theme-light.is-phone .menu-item.tappable:active::after{background-color:var(--md-ripple-pressed-color, var(--md-sys-color-on-surface, #1d1b20));opacity:var(--md-ripple-pressed-opacity, 0.12)}body.theme-light.is-phone .menu-item-icon{align-items:center;justify-content:center}body.theme-light.is-phone .menu-item-icon .svg-icon{color:var(--md-list-item-leading-icon-color, var(--md-sys-color-on-surface-variant, #49454f));height:var(--md-icon-size, 24px);width:var(--md-icon-size, 24px)}body.theme-light.is-phone .menu-item-title{color:var(--md-list-item-label-text-color, var(--md-sys-color-on-surface, #1d1b20));font-family:var(--md-list-item-label-text-font, var(--md-sys-typescale-body-large-font, var(--md-ref-typeface-plain, Roboto)));font-size:var(--md-list-item-label-text-size, var(--md-sys-typescale-body-large-size, 1rem));font-weight:var(--md-list-item-label-text-weight, var(--md-sys-typescale-body-large-weight, var(--md-ref-typeface-weight-regular, 400)));line-height:var(--md-list-item-label-text-line-height, var(--md-sys-typescale-body-large-line-height, 1.5rem))} diff --git a/.obsidian/themes/Material Flat/manifest.json b/.obsidian/themes/Material Flat/manifest.json new file mode 100644 index 0000000..a8fec74 --- /dev/null +++ b/.obsidian/themes/Material Flat/manifest.json @@ -0,0 +1,7 @@ +{ + "name": "Material Flat", + "version": "1.4.3", + "minAppVersion": "1.1.0", + "author": "Threethan, Joschua", + "authorUrl": "https://github.com/Threethan/" +} diff --git a/.obsidian/themes/Material Flat/theme.css b/.obsidian/themes/Material Flat/theme.css new file mode 100644 index 0000000..b4c0f10 --- /dev/null +++ b/.obsidian/themes/Material Flat/theme.css @@ -0,0 +1,2597 @@ +@charset "UTF-8"; +body { + /* ## Fonts */ + --font-text-theme: "Inter", Roboto, -apple-system, BlinkMacSystemFont, "Segoe UI", + Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", + "Segoe UI Symbol", "Microsoft YaHei Light", sans-serif; + --font-monospace-theme: "Roboto Mono", monospace, Menlo, SFMono-Regular, Consolas; + --font-interface-theme: "Segoe UI", -apple-system, BlinkMacSystemFont, Roboto, "Inter", sans-serif ; +} + +:root { + /* ------------- */ + /* # TYPOGRAPHY */ + /* ------------- */ + /* ## Font Sizes */ + --smallest: 0.75em; /* Equal to px */ + --smaller: 0.875em; /* Equal to 14px */ + --h1: 2.25em; + --h2: 2em; + --h3: 1.75em; + --h4: 1.5em; + --h5: 1.375em; + --h6: 1em; + /* Roundness */ + --big-radius: 24px; + --medium-radius: 16px; + --small-radius: 8px; + /* ## Font Weights */ + --light: 350; + --regular: 400; + --medium: 500; + --bold: 650; + /* ------------- */ + /* # COLOURS */ + /* ------------- */ + --elevation1: 0.05; + --elevation2: 0.08; + --elevation3: 0.11; + --elevation4: 0.12; + --elevation5: 0.14; + --titlebar-text-color-focused: var(--text-normal); + --link-color-hover: hsl(var(--accent-h), calc(var(--accent-s) * 0.8), 80%) !important; + --link-external-color-hover: hsl(var(--accent-h), calc(var(--accent-s) * 0.8), 80%) !important; +} + +.theme-light { + --primary: #5F4BBD; + --primary-r: 95; + --primary-g: 75; + --primary-b: 189; + --on-primary: #FFFFFF; + --primary-container: #E7DEFF; + --on-primary-container: #1A0064; + --secondary: #605C71; + --on-secondary: #FFFFFF; + --secondary-container: #E6DFF9; + --on-secondary-container: #1C192C; + --tertiary: #7C5264; + --onTertiary: #FFFFFF; + --tertiary-container: #FFD9E8; + --on-tertiary-container: #301020; + --error: #BA1B1B; + --errorContainer: #FFDAD4; + --onError: #FFFFFF; + --onErrorContainer: #410001; + --background: #FFFBFF; + --on-background: #1C1B1E; + --surface: #FFFBFF; + --surface-r: 255; + --surface-g: 251; + --surface-b: 255; + --surface: #FFFBFF; + --on-surface: #1C1B1E; + --surface-variant: #E5E0EB; + --on-surface-variant: #48454F; + --outline: #79767F; + --inverse-on-surface: #F4EFF4; + --inverse-surface: #313033; + --primaryInverse: #CABEFF; + --surface1: rgb( + calc(var(--primary-r) * var(--elevation1) + var(--surface-r) * (1 - var(--elevation1))), + calc(var(--primary-g) * var(--elevation1) + var(--surface-g) * (1 - var(--elevation1))), + calc(var(--primary-b) * var(--elevation1) + var(--surface-b) * (1 - var(--elevation1))) + ); + --surface2: rgb( + calc(var(--primary-r) * var(--elevation2) + var(--surface-r) * (1 - var(--elevation2))), + calc(var(--primary-g) * var(--elevation2) + var(--surface-g) * (1 - var(--elevation2))), + calc(var(--primary-b) * var(--elevation2) + var(--surface-b) * (1 - var(--elevation2))) + ); + --surface3: rgb( + calc(var(--primary-r) * var(--elevation3) + var(--surface-r) * (1 - var(--elevation3))), + calc(var(--primary-g) * var(--elevation3) + var(--surface-g) * (1 - var(--elevation3))), + calc(var(--primary-b) * var(--elevation3) + var(--surface-b) * (1 - var(--elevation3))) + ); + --surface4: rgb( + calc(var(--primary-r) * var(--elevation4) + var(--surface-r) * (1 - var(--elevation4))), + calc(var(--primary-g) * var(--elevation4) + var(--surface-g) * (1 - var(--elevation4))), + calc(var(--primary-b) * var(--elevation4) + var(--surface-b) * (1 - var(--elevation4))) + ); + --surface5: rgb( + calc(var(--primary-r) * var(--elevation5) + var(--surface-r) * (1 - var(--elevation5))), + calc(var(--primary-g) * var(--elevation5) + var(--surface-g) * (1 - var(--elevation5))), + calc(var(--primary-b) * var(--elevation5) + var(--surface-b) * (1 - var(--elevation5))) + ); + /* Standard colours */ + --background-primary: var(--background); + --background-primary-alt: var(--surface1); + --background-secondary: var(--surface-variant); + --background-secondary-alt: var(--surface3); + --background-modifier-border: #fff; + --background-modifier-form-field: #fff; + --background-modifier-form-field-highlighted: #fff; + --background-modifier-box-shadow: rgba(0, 0, 0, 0.1); + --background-modifier-success: #a4e7c3; + --background-modifier-error: var(--error); + --background-modifier-error-rgb: 230, 135, 135; + --background-modifier-error-hover: #b00020; + --background-modifier-cover: rgba(0, 0, 0, 0.8); + --text-accent: var(--primary-container); + --text-accent-hover: var(--primary-container); + --text-normal: var(--on-background); + --text-muted: var(--on-surface-variant); + --text-muted-rgb: 136, 136, 136; + --text-faint: var(--on-surface-variant); + --text-error: #800000; + --text-error-hover: #990000; + --text-highlight-bg: var(--surface-variant); + --text-highlight-bg-active: rgba(255, 128, 0, 0.4); + --text-selection: rgba(204, 230, 255, 0.99); + --interactive-normal: var(--surface-variant); + --interactive-hover: var(--surface-variant); + --interactive-accent: var(--primary); + --interactive-accent-rgb: var(--primary); + --interactive-accent-hover: var(--primary); + --interactive-success: #197300; + --scrollbar-active-thumb-bg: rgba(0, 0, 0, 0.2); + --scrollbar-bg: rgba(0, 0, 0, 0.05); + --scrollbar-thumb-bg: rgba(0, 0, 0, 0.1); + --highlight-mix-blend-mode: darken; + --focus: var(--surface4); + --hover: var(--surface2); + --text-on-accent: var(--text-muted); + --on-accent: var(--text-muted); + --hr-color: var(--surface-variant); +} + +.theme-dark { + --primary: #CABEFF; + --primary-r: 202; + --primary-g: 190; + --primary-b: 255; + --on-primary: #30128D; + --primary-container: #4731A4; + --on-primary-container: #E7DEFF; + --secondary: #C9C3DC; + --on-secondary: #312E41; + --secondary-container: #484459; + --on-secondary-container: #E6DFF9; + --tertiary: #EDB8CD; + --onTertiary: #482535; + --tertiary-container: #623B4C; + --on-tertiary-container: #FFD9E8; + --error: #9c2b2b; + --errorContainer: #930006; + --onError: #680003; + --onErrorContainer: #FFDAD4; + --background: #1C1B1E; + --on-background: #E5E1E5; + --surface: #1C1B1E; + --surface-r: 28; + --surface-g: 27; + --surface-b: 30; + --on-surface: #E5E1E5; + --surface-variant: #48454F; + --on-surface-variant: #C9C4D0; + --outline: #938F99; + --inverse-on-surface: #1C1B1E; + --inverse-surface: #E5E1E5; + --primaryInverse: #5F4BBD; + --on-primary: var(--on-primary); + --primary-container: var(--primary-container); + --on-primary-container: var(--on-primary-container); + --on-secondary: var(--on-secondary); + --secondary-container: var(--secondary-container); + --on-secondary-container: var(--on-secondary-container); + --on-tertiary: var(--onTertiary); + --tertiary-container: var(--tertiary-container); + --on-tertiary-container: var(--on-tertiary-container); + --error-container: var(--errorContainer); + --on-error: var(--onError); + --on-error-container: var(--onErrorContainer); + --on-background: var(--on-background); + --on-surface: var(--on-surface); + --surface-variant: var(--surface-variant); + --on-surface-variant: var(--on-surface-variant); + --inverse-on-surface: var(--inverse-on-surface); + --inverse-surface: var(--inverse-surface); + --primary-inverse: var(--primaryInverse); + --surface1: rgb( + calc(var(--primary-r) * var(--elevation1) + var(--surface-r) * (1 - var(--elevation1))), + calc(var(--primary-g) * var(--elevation1) + var(--surface-g) * (1 - var(--elevation1))), + calc(var(--primary-b) * var(--elevation1) + var(--surface-b) * (1 - var(--elevation1))) + ); + --surface2: rgb( + calc(var(--primary-r) * var(--elevation2) + var(--surface-r) * (1 - var(--elevation2))), + calc(var(--primary-g) * var(--elevation2) + var(--surface-g) * (1 - var(--elevation2))), + calc(var(--primary-b) * var(--elevation2) + var(--surface-b) * (1 - var(--elevation2))) + ); + --surface3: rgb( + calc(var(--primary-r) * var(--elevation3) + var(--surface-r) * (1 - var(--elevation3))), + calc(var(--primary-g) * var(--elevation3) + var(--surface-g) * (1 - var(--elevation3))), + calc(var(--primary-b) * var(--elevation3) + var(--surface-b) * (1 - var(--elevation3))) + ); + --surface4: rgb( + calc(var(--primary-r) * var(--elevation4) + var(--surface-r) * (1 - var(--elevation4))), + calc(var(--primary-g) * var(--elevation4) + var(--surface-g) * (1 - var(--elevation4))), + calc(var(--primary-b) * var(--elevation4) + var(--surface-b) * (1 - var(--elevation4))) + ); + --surface5: rgb( + calc(var(--primary-r) * var(--elevation5) + var(--surface-r) * (1 - var(--elevation5))), + calc(var(--primary-g) * var(--elevation5) + var(--surface-g) * (1 - var(--elevation5))), + calc(var(--primary-b) * var(--elevation5) + var(--surface-b) * (1 - var(--elevation5))) + ); + --focus: var(--surface4); + --hover: var(--surface2); + /* Standard Colours */ + --background-primary: var(--background); + --background-primary-alt: var(--surface1); + --background-secondary: var(--surface-variant); + --background-secondary-alt: var(--surface3); + --background-modifier-border: var(--surface); + --background-modifier-form-field: rgba(0, 0, 0, 0.3); + --background-modifier-form-field-highlighted: rgba(0, 0, 0, 0.22); + --background-modifier-box-shadow: rgba(0, 0, 0, 0.3); + --background-modifier-success: #197300; + --background-modifier-error: var(--error); + --background-modifier-error-rgb: 61, 0, 0; + --background-modifier-error-hover: #470000; + --background-modifier-cover: rgba(0, 0, 0, 0.8); + --text-accent: var(--primary-container); + --text-accent-hover: var(--primary-container); + --text-normal: var(--on-background); + --text-muted: var(--on-surface-variant); + --text-muted-rgb: 153, 153, 153; + --text-error: #cf6679; + --text-error-hover: #990000; + --text-highlight-bg: var(--surface-variant); + --text-highlight-bg-active: rgba(255, 128, 0, 0.4); + --text-selection: rgba(23, 48, 77, 0.99); + --interactive-normal: var(--surface-variant); + --interactive-hover: var(--surface-variant); + --interactive-accent: var(--primary); + --interactive-accent-rgb: var(--primary); + --interactive-accent-hover: var(--primary); + --interactive-success: #197300; + --scrollbar-active-thumb-bg: rgba(255, 255, 255, 0.2); + --scrollbar-bg: rgba(255, 255, 255, 0.05); + --scrollbar-thumb-bg: rgba(255, 255, 255, 0.1); + --highlight-mix-blend-mode: lighten; + --text-on-accent: var(--background); + --on-accent: var(--background); + --hr-color: var(--surface-variant); +} + +.cm-formatting-header { + color: var(--surface-variant) !important; +} + +.markdown-reading-view h1, +.cm-s-obsidian .cm-header-1, +.mod-cm6 .cm-editor .HyperMD-header-1 { + font-size: var(--h1); + font-weight: var(--regular); +} + +.markdown-reading-view h2, +.cm-s-obsidian .cm-header-2, +.mod-cm6 .cm-editor .HyperMD-header-2 { + font-size: var(--h2); + font-weight: var(--regular); +} + +.markdown-reading-view h3, +.cm-s-obsidian .cm-header-3, +.mod-cm6 .cm-editor .HyperMD-header-3 { + font-size: var(--h3); + font-weight: var(--regular); +} + +.markdown-reading-view h4, +.cm-s-obsidian .cm-header-4, +.mod-cm6 .cm-editor .HyperMD-header-4 { + font-size: var(--h4); + font-weight: var(--regular); +} + +.markdown-reading-view h5, +.cm-s-obsidian .cm-header-5, +.mod-cm6 .cm-editor .HyperMD-header-5 { + line-height: 1.75em; + font-size: var(--h5); + font-weight: var(--regular); +} + +.markdown-reading-view h6, +.cm-s-obsidian .cm-header-6, +.mod-cm6 .cm-editor .HyperMD-header-6 { + line-height: 1.5em; + font-size: var(--h6); + letter-spacing: 0.009375em; + font-weight: var(--medium); +} + +/* ------------- */ +/* # Body */ +/* ------------- */ +Body Text .markdown-preview-view, +.markdown-source-view, +.cm-line { + line-height: 1.5em; + letter-spacing: 0.009375em; + font-weight: var(--medium); +} + +strong, +.cm-s-obsidian .cm-strong { + font-weight: var(--bold); +} + +/* Checkboxes */ +/* Images */ +img { + border-radius: var(--small-radius); +} + +span.cm-formatting.cm-formatting-list.cm-formatting-list-ul.cm-list-1, +span.cm-formatting.cm-formatting-list.cm-formatting-list-ol.cm-list-1 { + color: var(--secondary); +} + +/* callout boxes */ +.cm-callout, div.callout { + border-radius: var(--radius-l); +} + +/* Blockquotes */ +.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote { + margin-top: 13px !important; + color: var(--on-surface-variant); + margin-bottom: -13px !important; +} +.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote::before { + background-color: var(--surface-variant); + display: block !important; + content: "test" !important; + border: none; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + position: absolute; + left: 0px; + right: 0; + width: 100%; + top: calc(-1 * var(--radius-l) + 2px); + bottom: calc(-1 * var(--radius-l) + 2px); + border-radius: var(--radius-l); + z-index: -1; +} +.markdown-source-view.mod-cm6.is-live-preview .cm-transparent { + color: transparent !important; +} + +.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote + .HyperMD-quote { + padding-top: inherit; +} +.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote + .HyperMD-quote span:not(.math) ::before { + top: calc(-1 * var(--radius-l)); +} + +.markdown-preview-view blockquote { + border-radius: var(--radius-l); + border: none; + background-color: var(--surface-variant); + color: var(--on-surface-variant) !important; + margin-top: 1px; + margin-bottom: 6px; + padding-left: 15px; +} + +.markdown-preview-view blockquote br { + display: block; + -moz-column-break-before: always; + break-before: always; + -moz-column-break-after: always; + break-after: always; +} + +.markdown-preview-view blockquote::before, +.markdown-preview-view blockquote::after { + display: block; + content: "\a"; + height: 8px; +} + +.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote:before, .markdown-source-view.mod-cm6 .cm-blockquote-border:before { + display: none; +} + +/* Lists */ +ul > li::marker, +ol > li::marker { + color: var(--text-muted); +} + +/* Internal links */ +.markdown-preview-view .internal-link, +.cm-s-obsidian .cm-formatting-link, +.cm-s-obsidian span.cm-link, +.cm-s-obsidian span.cm-hmd-internal-link, +.markdown-source-view.mod-cm6 .cm-underline { + text-decoration: none; + font-weight: var(--medium); +} + +/* Frontmatter Edit Mode */ +.markdown-preview-section .frontmatter code, +.frontmatter .token, +.cm-s-obsidian .cm-hmd-frontmatter, +pre.frontmatter[class*=language-yaml], +span.cm-hmd-frontmatter, +span.cm-def.cm-hmd-frontmatter { + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.015625em; + font-weight: var(--medium); + color: var(--secondary); + font-family: var(--default-font); +} + +/* Frontmatter / Metadata container */ +.frontmatter-container { + border: 1px solid var(--surface-variant); + background-color: var(--surface); + transition: border 250ms ease-in; +} +.frontmatter-container.is-collapsed { + border: 0; + color: var(--on-surface); + background-color: var(--surface); + transition: border 450ms ease-out; +} +.frontmatter-container .frontmatter-container-header { + text-transform: none; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.00625em; + font-weight: var(--medium); + color: var(--secondary); + border: none; +} +.frontmatter-container .frontmatter-container-header:hover { + color: var(--secondary); +} +.frontmatter-container .frontmatter-collapse-indicator { + color: var(--secondary); +} +.frontmatter-container .frontmatter-collapse-indicator:hover { + color: var(--secondary); +} +.frontmatter-container .tag { + background-color: var(--secondary-container); + color: var(--on-secondary-container); +} +.frontmatter-container .frontmatter-alias { + background-color: var(--secondary-container); + color: var(--on-secondary-container); +} +.frontmatter-container .frontmatter-alias-icon { + color: var(--on-secondary-container); +} + +.frontmatter-section { + line-height: 1em; + font-size: 0.75em; + letter-spacing: 0.03125em; + font-weight: var(--medium); +} + +/* Code blocks */ +/* Inline */ +.markdown-preview-view code, +.cm-s-obsidian span.cm-inline-code, +.cm-s-obsidian span.cm-inline-code:not(.cm-formatting):not(.cm-hmd-indented-code):not(.obsidian-search-match-highlight) { + background-color: var(--surface-variant); + color: var(--on-surface-variant); + font-family: var(--font-monospace); + border-radius: var(--radius-s); + margin: -2px; + padding: 2px 4px; + vertical-align: 2px; +} + +.cm-highlight, .markdown-preview-view mark { + background-color: var(--surface-variant); + color: var(--on-surface-variant) !important; + border-radius: var(--radius-s); + margin: -2px 0; + padding: 0 4px; +} + +span.cm-highlight + img + span.math { /*Math in highlight*/ + background-color: var(--surface-variant); + color: var(--on-surface-variant) !important; + border-radius: var(--radius-s); + margin: -2px -5px; + padding: 0 5px; +} + +.cm-s-obsidian .HyperMD-codeblock { + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.015625em; + font-weight: var(--medium); + color: var(--on-surface-variant); + font-family: var(--font-monospace); +} + +.markdown-preview-view pre { + border-radius: var(--radius-l) !important; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.015625em; + font-weight: var(--medium); + background-color: var(--surface-variant); + color: var(--on-surface-variant); + font-family: var(--font-monospace); +} + +div.HyperMD-codeblock-begin-bg { + border-top-left-radius: var(--radius-l) !important; + border-top-right-radius: var(--radius-l) !important; +} + +div.HyperMD-codeblock-end-bg { + border-bottom-left-radius: var(--radius-l) !important; + border-bottom-right-radius: var(--radius-l) !important; +} + +.cm-s-obsidian div.HyperMD-codeblock-begin-bg, +.cm-s-obsidian div.HyperMD-codeblock-end-bg, +.cm-s-obsidian div.HyperMD-codeblock-bg { + background-color: var(--surface-variant); + border: none; +} + +/* Empty State screen */ +.empty-state-title::before { + content: " "; + background-size: 45vw 45vw; + height: 45vw; + width: 45vw; + background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' data-name='Layer 1' width='578.0013' height='621.92557' viewBox='0 0 578.0013 621.92557' xmlns:xlink='http://www.w3.org/1999/xlink'%3E%3Cpath d='M677.64241,491.89724l-249.84894,64.339a33.03735,33.03735,0,0,1-40.18683-23.728L312.04574,239.081a33.03734,33.03734,0,0,1,23.728-40.18683l232.44363-59.85691L627.712,165.67105l73.65843,286.03936A33.03734,33.03734,0,0,1,677.64241,491.89724Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath d='M338.14273,208.094a23.52653,23.52653,0,0,0-16.89723,28.61789l75.5609,293.42725a23.52654,23.52654,0,0,0,28.6179,16.89723l249.84894-64.339a23.52654,23.52654,0,0,0,16.89723-28.61789l-72.51713-281.6073-52.285-23.40643Z' transform='translate(-310.99935 -139.03722)' fill='%23fff'/%3E%3Cpath d='M627.07719,167.18472l-38.66749,9.95733a10.99077,10.99077,0,0,1-13.38436-7.9027L567.671,140.68008a.68692.68692,0,0,1,.944-.7991l58.56966,26.01073A.68692.68692,0,0,1,627.07719,167.18472Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath d='M606.73438,417.76533,492.98165,447.058a5.49538,5.49538,0,0,1-2.74083-10.64353L603.99355,407.1218a5.49538,5.49538,0,1,1,2.74083,10.64353Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Cpath d='M633.31182,430.07333l-135.705,34.9456A5.49538,5.49538,0,0,1,494.866,454.3754l135.705-34.94561a5.49539,5.49539,0,0,1,2.74084,10.64354Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Ccircle id='a597741b-ffcf-4aba-98b0-6652ef5d57c9' data-name='Ellipse 44' cx='135.55495' cy='323.87767' r='19.42315' fill='%23e6e6e6'/%3E%3Cpath d='M594.63919,366.93361,443.56425,405.8227A17.01917,17.01917,0,0,1,422.863,393.59731l-31.6597-122.9905a17.01916,17.01916,0,0,1,12.22538-20.7012l151.075-38.88909a17.01916,17.01916,0,0,1,20.7012,12.22539l31.65971,122.9905A17.01917,17.01917,0,0,1,594.63919,366.93361Z' transform='translate(-310.99935 -139.03722)' fill='%23fff'/%3E%3Cpath d='M594.63919,366.93361,443.56425,405.8227A17.01917,17.01917,0,0,1,422.863,393.59731l-31.6597-122.9905a17.01916,17.01916,0,0,1,12.22538-20.7012l151.075-38.88909a17.01916,17.01916,0,0,1,20.7012,12.22539l31.65971,122.9905A17.01917,17.01917,0,0,1,594.63919,366.93361ZM403.9273,251.84246a15.017,15.017,0,0,0-10.7871,18.26578l31.6597,122.9905a15.017,15.017,0,0,0,18.26577,10.7871l151.075-38.88908a15.017,15.017,0,0,0,10.7871-18.26578L573.268,223.74048a15.017,15.017,0,0,0-18.26578-10.7871Z' transform='translate(-310.99935 -139.03722)' fill='%23e6e6e6'/%3E%3Cpath id='b056fd3f-f1a0-44f0-b006-deff0bee637d-685' data-name='Path 411' d='M546.83934,252.37075l-76.24555,19.62681a2.73087,2.73087,0,0,1-3.30848-1.71854,2.63064,2.63064,0,0,1,1.85283-3.33925l77.61329-19.97889c3.13521,1.58858,2.31023,4.83781.087,5.41011Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='f1ea6668-a825-428d-96fe-a2c4e1b5a672-686' data-name='Path 412' d='M550.282,265.74474l-76.24555,19.62681A2.73089,2.73089,0,0,1,470.728,283.653a2.63065,2.63065,0,0,1,1.85284-3.33925l77.61329-19.97889c3.13521,1.58858,2.31022,4.83781.087,5.41011Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='ee9aa382-a9c9-40d0-8ed3-22ec2dd616d6-687' data-name='Path 413' d='M459.51412,297.22917l-23.2694,5.98992a2.962,2.962,0,0,1-3.60325-2.12795l-7.06858-27.45979a2.962,2.962,0,0,1,2.12794-3.60325l23.2694-5.98991a2.963,2.963,0,0,1,3.60325,2.12795l7.06859,27.45982a2.962,2.962,0,0,1-2.12795,3.60324Z' transform='translate(-310.99935 -139.03722)' fill='%23e6e6e6'/%3E%3Cpath id='be954d2b-d8b8-4d26-80a0-a319e99a4b10-688' data-name='Path 414' d='M557.10914,293.18514,440.74446,323.13925a2.73087,2.73087,0,0,1-3.30847-1.71854,2.63062,2.63062,0,0,1,1.85284-3.33925L557.02218,287.775c3.13521,1.58859,2.31022,4.83781.087,5.41012Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='baaae9e4-1b4d-40c2-8a9d-f2abb078b489-689' data-name='Path 415' d='M560.55283,306.563,444.18814,336.51715a2.73086,2.73086,0,0,1-3.30846-1.71854,2.63061,2.63061,0,0,1,1.85283-3.33926l117.73335-30.30643c3.13521,1.58858,2.31022,4.83781.087,5.41011Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='a91bf4c9-37f6-4391-92ed-1882bd0ce21c-690' data-name='Path 416' d='M563.99426,319.93218,447.62957,349.8863a2.73086,2.73086,0,0,1-3.30846-1.71854,2.63061,2.63061,0,0,1,1.85283-3.33926l117.73335-30.30643c3.13521,1.58858,2.31023,4.83781.087,5.41011Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='efb98e07-468b-4c85-9a64-ee4cc5493d6f-691' data-name='Path 417' d='M567.43768,333.30908,451.073,363.2632a2.73087,2.73087,0,0,1-3.30847-1.71854,2.63063,2.63063,0,0,1,1.85284-3.33926L567.35072,327.899c3.13521,1.58858,2.31022,4.83781.087,5.41011Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='aeb1db98-32e5-40b8-ab89-fdad6a3263dc-692' data-name='Path 418' d='M570.87937,346.67924,454.51469,376.63336a2.73088,2.73088,0,0,1-3.30847-1.71855,2.63062,2.63062,0,0,1,1.85284-3.33925l117.73335-30.30643c3.13521,1.58858,2.31022,4.83781.087,5.41011Z' transform='translate(-310.99935 -139.03722)' fill='%23f2f2f2'/%3E%3Cpath id='be265de5-288f-49a7-867d-c42e7cdbf4db-693' data-name='Path 395' d='M447.98728,469.72335a2.01449,2.01449,0,0,1-1.27407-.08782l-.02505-.01034L441.3969,467.382a2.02852,2.02852,0,1,1,1.58747-3.73356l3.42865,1.45835,4.49293-10.56929a2.02766,2.02766,0,0,1,2.65942-1.07259l.00068.00028-.027.06912.02812-.06941a2.03011,2.03011,0,0,1,1.0723,2.66008l-5.28586,12.42716a2.02886,2.02886,0,0,1-1.36522,1.16845Z' transform='translate(-310.99935 -139.03722)' fill='%23fff'/%3E%3Cpath d='M773.47457,603.71475h-258a33.03734,33.03734,0,0,1-33-33v-303a33.03734,33.03734,0,0,1,33-33H755.50142l50.97315,40.62891V570.71475A33.03734,33.03734,0,0,1,773.47457,603.71475Z' transform='translate(-310.99935 -139.03722)' fill='%23e6e6e6'/%3E%3Cpath d='M515.47446,244.21475a23.52654,23.52654,0,0,0-23.5,23.5v303a23.52653,23.52653,0,0,0,23.5,23.5h258a23.52653,23.52653,0,0,0,23.5-23.5V279.92032l-44.79614-35.70557Z' transform='translate(-310.99935 -139.03722)' fill='%23fff'/%3E%3Cpath d='M723.29356,332.319H605.82977a5.49538,5.49538,0,0,1,0-10.99076H723.29356a5.49538,5.49538,0,1,1,0,10.99076Z' transform='translate(-310.99935 -139.03722)' fill='%23878787'/%3E%3Cpath d='M745.962,350.86594H605.82977a5.49539,5.49539,0,0,1,0-10.99077H745.962a5.49539,5.49539,0,1,1,0,10.99077Z' transform='translate(-310.99935 -139.03722)' fill='%23878787'/%3E%3Cpath d='M723.29425,404.44277h-117.46a5.495,5.495,0,1,0,0,10.99h117.46a5.495,5.495,0,0,0,0-10.99Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Cpath d='M745.96417,422.99281H605.83429a5.495,5.495,0,1,0,0,10.99H745.96417a5.495,5.495,0,0,0,0-10.99Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Cpath d='M723.29356,498.55433H605.82977a5.49538,5.49538,0,0,1,0-10.99076H723.29356a5.49538,5.49538,0,1,1,0,10.99076Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Cpath d='M745.962,517.10125H605.82977a5.49539,5.49539,0,0,1,0-10.99077H745.962a5.49539,5.49539,0,1,1,0,10.99077Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Ccircle id='abdb8e2f-a218-463c-85f4-c869fef49971' data-name='Ellipse 44' cx='245.91553' cy='197.05988' r='19.42315' fill='%23878787'/%3E%3Cpath id='ba7dbbd6-0052-44b1-a552-47a8298b8d3e-694' data-name='Path 395' d='M554.99015,343.50645a2.0144,2.0144,0,0,1-1.21191-.40277l-.02168-.01626-4.5647-3.49185a2.02852,2.02852,0,1,1,2.46838-3.21972l2.95665,2.26729,6.98671-9.11494a2.02767,2.02767,0,0,1,2.84288-.3755l.00058.00044-.04336.06021.04454-.06021a2.03011,2.03011,0,0,1,.37507,2.84345l-8.2179,10.71637a2.02892,2.02892,0,0,1-1.61348.79109Z' transform='translate(-310.99935 -139.03722)' fill='%23fff'/%3E%3Cpath d='M578.33429,419.21278a19.42256,19.42256,0,0,1-19.41992,19.43,4.17626,4.17626,0,0,1-.5-.02,19.422,19.422,0,1,1,19.91992-19.41Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Ccircle id='e4a71040-498e-4958-ad41-c2d79154b8f7' data-name='Ellipse 44' cx='245.91553' cy='363.29519' r='19.42315' fill='%23ccc'/%3E%3Cpath d='M805.48234,276.65121h-39.929a10.99077,10.99077,0,0,1-10.99076-10.99077v-29.491a.68692.68692,0,0,1,1.11347-.53844l50.23281,39.79483A.68692.68692,0,0,1,805.48234,276.65121Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3Cpath d='M578.33429,419.21278a19.42256,19.42256,0,0,1-19.41992,19.43,4.17626,4.17626,0,0,1-.5-.02,42.05076,42.05076,0,0,1,3.77-38.56A19.43323,19.43323,0,0,1,578.33429,419.21278Z' transform='translate(-310.99935 -139.03722)' fill='%23878787'/%3E%3Cpath d='M600.33429,409.94277a5.50988,5.50988,0,0,1,5.5-5.5h29.27a41.57257,41.57257,0,0,1,3.60986,10.99H605.83429A5.50129,5.50129,0,0,1,600.33429,409.94277Z' transform='translate(-310.99935 -139.03722)' fill='%23878787'/%3E%3Cpath d='M639.39435,422.99281a41.92449,41.92449,0,0,1-1.46,10.99h-32.1001a5.495,5.495,0,1,1,0-10.99Z' transform='translate(-310.99935 -139.03722)' fill='%23878787'/%3E%3Cpath d='M711.816,490.77021a6.00013,6.00013,0,0,1-8.24672,1.9979l-70.0049-42.70029a6,6,0,0,1,6.24883-10.24462l70.00489,42.70029A6.00014,6.00014,0,0,1,711.816,490.77021Z' transform='translate(-310.99935 -139.03722)' fill='%233f3d56'/%3E%3Cpath d='M641.8111,448.06992a48,48,0,1,1-15.98318-65.97376A48.05436,48.05436,0,0,1,641.8111,448.06992Zm-71.71233-43.74176a36,36,0,1,0,49.48033-11.98738A36.04071,36.04071,0,0,0,570.09877,404.32816Z' transform='translate(-310.99935 -139.03722)' fill='%233f3d56'/%3E%3Ccircle cx='484.60301' cy='267.17256' r='24.56103' fill='%23a0616a'/%3E%3Cpath d='M794.015,543.90119a11.002,11.002,0,0,1,8.32251-14.15136,10.46752,10.46752,0,0,1,1.45923-.17969l25.87158-41.52344L806.036,465.57991a9.43208,9.43208,0,1,1,13.1206-13.55274L851.786,484.201l.06567.08008a8.54468,8.54468,0,0,1-.59448,10.18457l-36.25,42.873a10.301,10.301,0,0,1,.27,1.0459,11.0026,11.0026,0,0,1-9.875,13.11621q-.46839.041-.93213.041A11.0367,11.0367,0,0,1,794.015,543.90119Z' transform='translate(-310.99935 -139.03722)' fill='%23a0616a'/%3E%3Cpolygon points='444.151 609.001 431.891 609 426.059 561.712 444.153 561.713 444.151 609.001' fill='%23a0616a'/%3E%3Cpath d='M758.2767,759.92208l-39.53051-.00146v-.5a15.38605,15.38605,0,0,1,15.38647-15.38623h.001l24.1438.001Z' transform='translate(-310.99935 -139.03722)' fill='%232f2e41'/%3E%3Cpolygon points='566.007 592.05 555.473 598.322 526.268 560.676 541.815 551.419 566.007 592.05' fill='%23a0616a'/%3E%3Cpath d='M885.77238,739.69878l-33.96586,20.2233-.25581-.4296a15.386,15.386,0,0,1,5.34836-21.09206l.00084-.0005,20.74515-12.35158Z' transform='translate(-310.99935 -139.03722)' fill='%232f2e41'/%3E%3Cpath d='M735.512,727.21272c-8.21289-96.70606-13.09863-186.54492,16.92408-223.19336l.23217-.28418,50.52564,20.21094.08325.18066c.17041.37109,16.97388,37.333,13.0542,62.19434L828.794,643.64924l40.63574,68.041A4.50136,4.50136,0,0,1,867.379,718.118l-17.65918,7.76953a4.52142,4.52142,0,0,1-5.64844-1.76562l-44.2041-72.08008-24.96778-55.28613a1.50028,1.50028,0,0,0-2.85888.459L758.20052,727.31135a4.4918,4.4918,0,0,1-4.47461,4.02441H739.99764A4.53045,4.53045,0,0,1,735.512,727.21272Z' transform='translate(-310.99935 -139.03722)' fill='%232f2e41'/%3E%3Cpath d='M752.60628,504.786l-.24072-.11523-.0376-.26465c-1.88745-13.21.34668-27.8877,6.63989-43.625a34.63634,34.63634,0,0,1,40.20191-20.74317h0a34.59441,34.59441,0,0,1,22.06055,16.96387,34.2209,34.2209,0,0,1,2.3728,27.4248c-7.93384,23.2002-18.22583,44.90723-18.32886,45.124l-.21558.45312Z' transform='translate(-310.99935 -139.03722)' fill='%23878787'/%3E%3Cpath d='M697.48021,471.88251A11.002,11.002,0,0,1,713.65,474.72233a10.46856,10.46856,0,0,1,.67932,1.3039l47.95411,9.69217,12.7683-30.00357a9.43208,9.43208,0,1,1,17.28928,7.54372l-18.71,41.83025-.052.08956a8.54469,8.54469,0,0,1-9.74785,3.00972L710.97846,489.2473a10.30273,10.30273,0,0,1-.88511.61918,11.00261,11.00261,0,0,1-15.74382-4.6565q-.20244-.42436-.36484-.85874A11.0367,11.0367,0,0,1,697.48021,471.88251Z' transform='translate(-310.99935 -139.03722)' fill='%23a0616a'/%3E%3Cpath d='M884.33087,432.51247c-2.36572-4.19178-5.8125-8.03119-10.36914-9.58069-5.88476-2.001-12.25683.12964-18.30713,1.55218-4.66162,1.09595-9.53173,1.76679-14.23046.84192-4.69825-.92492-9.23047-3.65924-11.36817-7.94409-3.145-6.30359-.4956-13.82062-.687-20.86255a25.33438,25.33438,0,0,0-31.92334-23.81061c-5.79346-1.67193-11.03906-1.82659-14.62256,2.62714a17.0001,17.0001,0,0,0-17,17h16.25537a16.1496,16.1496,0,0,0,2.4541,11.93109c2.86963,4.21582,7.85938,7.2655,8.81983,12.274.93115,4.85351-2.36817,9.45868-5.8291,12.98669-3.46045,3.528-7.4751,7.02381-8.55567,11.84626a14.68871,14.68871,0,0,0,2.10352,10.56475,34.40329,34.40329,0,0,0,7.38623,8.13575,108.40184,108.40184,0,0,0,45.0376,23.04034c11.7041,2.81781,24.50586,3.54822,35.37109-1.6355a35.12563,35.12563,0,0,0,15.46484-48.96667Z' transform='translate(-310.99935 -139.03722)' fill='%232f2e41'/%3E%3Cpath d='M888.00065,760.96278h-190a1,1,0,0,1,0-2h190a1,1,0,0,1,0,2Z' transform='translate(-310.99935 -139.03722)' fill='%23ccc'/%3E%3C/svg%3E"); + display: block; + margin: 10px; +} + +.empty-state-title { + transform: translateY(-25px); + line-height: 1.5em; + letter-spacing: 0.009375em; + font-weight: var(--medium); + text-align: center; + color: var(--on-surface); +} + +.is-mobile .empty-state-action:nth-child(2) { + transform: translate(0px, -60px); + background-color: var(--primary); + color: var(--on-primary); + text-transform: none; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.00625em; + font-weight: var(--medium); + height: 40px; + border-radius: 1.25em; + padding-top: 10px; + padding-left: 1.5em; + padding-right: 1.5em; + display: block; + margin: auto; + padding-left: 16px; + padding-right: 24px; + vertical-align: middle; +} +.is-mobile .empty-state-action:nth-child(2)::before { + content: ""; + height: 1.125em; + width: 1.125em; + background-size: 1.125em 1.125em; + background-position: center; + background-color: var(--on-primary); + display: inline-block; + margin-top: -4px; + -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z' /%3E%3C/svg%3E"); + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z' /%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z' /%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14,3V5H17.59L7.76,14.83L9.17,16.24L19,6.41V10H21V3M19,19H5V5H12V3H5C3.89,3 3,3.89 3,5V19A2,2 0 0,0 5,21H19A2,2 0 0,0 21,19V12H19V19Z' /%3E%3C/svg%3E"); + -webkit-mask-size: cover; + mask-size: cover; + transform: translateY(4px); + margin-right: 8px; +} +.is-mobile .empty-state-action:first-of-type { + transform: translate(0px, 30px); + background-color: inherit; + color: var(--primary); + text-transform: none; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.00625em; + font-weight: var(--medium); + height: 40px; + border-radius: 1.25em; + border-width: 0.0625em; + border-color: var(--outline); + padding-top: 9px; + padding-left: 1.5em; + padding-right: 1.5em; + display: block; + margin: auto; + padding-left: 16px; + padding-right: 24px; + vertical-align: middle; +} +.is-mobile .empty-state-action:first-of-type::before { + content: ""; + height: 1.125em; + width: 1.125em; + background-size: 1.125em 1.125em; + background-position: center; + background-color: var(--primary); + display: inline-block; + margin-top: -4px; + -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z' /%3E%3C/svg%3E"); + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z' /%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z' /%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M19,13H13V19H11V13H5V11H11V5H13V11H19V13Z' /%3E%3C/svg%3E"); + -webkit-mask-size: cover; + mask-size: cover; + transform: translateY(4px); + margin-right: 8px; +} +.is-mobile .empty-state-action:nth-child(3) { + background-color: inherit; + color: var(--primary); + text-transform: none; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.00625em; + font-weight: var(--medium); + height: 40px; + border-radius: 1.25em; + border-width: 0.0625em; + border-color: var(--outline); + padding-top: 9px; + padding-left: 1.5em; + padding-right: 1.5em; + display: block; + margin: auto; + padding-left: 16px; + padding-right: 24px; + vertical-align: middle; +} +.is-mobile .empty-state-action:nth-child(3)::before { + content: ""; + height: 1.125em; + width: 1.125em; + background-size: 1.125em 1.125em; + background-position: center; + background-color: var(--primary); + display: inline-block; + margin-top: -4px; + -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3' /%3E%3C/svg%3E"); + mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3' /%3E%3C/svg%3E"); + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3' /%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M13.5,8H12V13L16.28,15.54L17,14.33L13.5,12.25V8M13,3A9,9 0 0,0 4,12H1L4.96,16.03L9,12H6A7,7 0 0,1 13,5A7,7 0 0,1 20,12A7,7 0 0,1 13,19C11.07,19 9.32,18.21 8.06,16.94L6.64,18.36C8.27,20 10.5,21 13,21A9,9 0 0,0 22,12A9,9 0 0,0 13,3' /%3E%3C/svg%3E"); + -webkit-mask-size: cover; + mask-size: cover; + transform: translateY(4px); + margin-right: 8px; +} + +progress { + -webkit-appearance: none; + -moz-appearance: none; + appearance: none; +} + +progress::-webkit-progress-bar { + border-radius: var(--medium-radius); + background: var(--primary-container); + height: 0.6em; +} + +progress::-webkit-progress-value { + border-radius: var(--medium-radius); + background: var(--on-primary-container); + height: 0.6em; +} + +/* Mobile Toolbar */ +.is-mobile .mobile-toolbar { + border-top: none; + border-radius: 0; +} + +/* Tags */ +/* Adapted from https://github.com/kepano/obsidian-minimal/blob/master/obsidian.css */ +/* Preview */ +a.tag { + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.015625em; + font-weight: var(--medium); + background-color: var(--tertiary-container); + color: var(--on-tertiary-container); + padding: 2px 7px; + text-align: center; + text-decoration: none; + display: inline-block; + margin: 2px 0 0 0; + border-radius: var(--medium-radius); +} + +/* Editor */ +.cm-s-obsidian span.cm-hashtag { + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.015625em; + font-weight: var(--medium); + font-size: 0.875em !important; + background-color: var(--tertiary-container); + color: var(--on-tertiary-container); + text-align: center; + text-decoration: none; + display: inline-block; + margin: 2px 0; + padding-top: 1px; + border-left: none; + border-right: none; + padding-bottom: 2px; + cursor: text; +} +.cm-s-obsidian span.cm-hashtag.cm-hashtag-begin { + border-top-left-radius: var(--medium-radius); + border-bottom-left-radius: var(--medium-radius); + padding-left: 8px; + border-right: none; +} +.cm-s-obsidian span.cm-hashtag.cm-hashtag-end { + border-top-right-radius: var(--medium-radius); + border-bottom-right-radius: var(--medium-radius); + border-left: none; + padding-right: 8px; +} + +/* Hide the # character in front of a tag in Preview */ +/* Thanks to `@Klaas`: https://discord.com/channels/686053708261228577/702656734631821413/890122749459197993 */ +/* Currently not working, review later */ +/* a.tag { + position: relative; + padding-left: 3px; +} + +a.tag:after { + background: var(--background-primary); + position: absolute; + content: " "; + top: 0; + bottom: 0; + width: 0.66em; + left: 0px; + border-radius: 4px; +} */ +.markdown-preview-view table thead tr th, .markdown-preview-view table tbody tr th, +.markdown-source-view.mod-cm6.is-live-preview table thead tr th, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr th { + background: var(--surface-variant) !important; + color: var(--on-surface-variant); +} +.markdown-preview-view table thead tr td, .markdown-preview-view table thead tr td:nth-of-type(even), .markdown-preview-view table thead tr td:nth-of-type(odd), .markdown-preview-view table tbody tr td, .markdown-preview-view table tbody tr td:nth-of-type(even), .markdown-preview-view table tbody tr td:nth-of-type(odd), +.markdown-source-view.mod-cm6.is-live-preview table thead tr td, +.markdown-source-view.mod-cm6.is-live-preview table thead tr td:nth-of-type(even), +.markdown-source-view.mod-cm6.is-live-preview table thead tr td:nth-of-type(odd), +.markdown-source-view.mod-cm6.is-live-preview table tbody tr td, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr td:nth-of-type(even), +.markdown-source-view.mod-cm6.is-live-preview table tbody tr td:nth-of-type(odd) { + background: var(--surface); + color: var(--on-surface); + padding-top: 1px; + padding-bottom: 1px; +} +.markdown-preview-view table thead tr th, .markdown-preview-view table thead tr td, .markdown-preview-view table tbody tr th, .markdown-preview-view table tbody tr td, +.markdown-source-view.mod-cm6.is-live-preview table thead tr th, +.markdown-source-view.mod-cm6.is-live-preview table thead tr td, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr th, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr td { + border: 3px solid transparent; + height: var(--radius-l); + width: var(--radius-l); +} +.markdown-preview-view table thead tr th:first-of-type, .markdown-preview-view table tbody tr th:first-of-type, +.markdown-source-view.mod-cm6.is-live-preview table thead tr th:first-of-type, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr th:first-of-type { + border-top-left-radius: var(--radius-l); +} +.markdown-preview-view table thead tr th:last-of-type, .markdown-preview-view table tbody tr th:last-of-type, +.markdown-source-view.mod-cm6.is-live-preview table thead tr th:last-of-type, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr th:last-of-type { + border-top-right-radius: var(--radius-l); +} +.markdown-preview-view table thead tr:last-of-type td:first-of-type, .markdown-preview-view table tbody tr:last-of-type td:first-of-type, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:last-of-type td:first-of-type, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:last-of-type td:first-of-type { + border-bottom-left-radius: var(--radius-l); +} +.markdown-preview-view table thead tr:last-of-type td:last-of-type, .markdown-preview-view table tbody tr:last-of-type td:last-of-type, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:last-of-type td:last-of-type, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:last-of-type td:last-of-type { + border-bottom-right-radius: var(--radius-l); +} +.markdown-preview-view table thead tr:nth-child(even) th, .markdown-preview-view table thead tr:nth-child(even) td, .markdown-preview-view table tbody tr:nth-child(even) th, .markdown-preview-view table tbody tr:nth-child(even) td, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) th, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) td, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) th, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) td { + background-color: var(--surface-mid); +} +.markdown-preview-view table thead tr:nth-child(even) table, .markdown-preview-view table tbody tr:nth-child(even) table, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) table, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) table { + margin-bottom: 10px; +} +.markdown-preview-view table thead tr:nth-child(even) table th, .markdown-preview-view table thead tr:nth-child(even) table td, .markdown-preview-view table tbody tr:nth-child(even) table th, .markdown-preview-view table tbody tr:nth-child(even) table td, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) table th, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) table td, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) table th, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) table td { + background-color: var(--surface); +} +.markdown-preview-view table thead tr:nth-child(odd) table, .markdown-preview-view table tbody tr:nth-child(odd) table, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(odd) table, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(odd) table { + margin-bottom: 10px; +} +.markdown-preview-view table thead tr:nth-child(odd) table th, .markdown-preview-view table thead tr:nth-child(odd) table td, .markdown-preview-view table tbody tr:nth-child(odd) table th, .markdown-preview-view table tbody tr:nth-child(odd) table td, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(odd) table th, +.markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(odd) table td, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(odd) table th, +.markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(odd) table td { + background-color: var(--surface-mid); +} + +@media print { + .markdown-preview-view table thead tr:nth-child(even) th, .markdown-preview-view table thead tr:nth-child(even) td, .markdown-preview-view table tbody tr:nth-child(even) th, .markdown-preview-view table tbody tr:nth-child(even) td, + .markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) th, + .markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(even) td, + .markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) th, + .markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(even) td { + background-color: var(--surface); + } + .markdown-preview-view table thead tr:nth-child(odd) th, .markdown-preview-view table thead tr:nth-child(odd) td, .markdown-preview-view table tbody tr:nth-child(odd) th, .markdown-preview-view table tbody tr:nth-child(odd) td, + .markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(odd) th, + .markdown-source-view.mod-cm6.is-live-preview table thead tr:nth-child(odd) td, + .markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(odd) th, + .markdown-source-view.mod-cm6.is-live-preview table tbody tr:nth-child(odd) td { + background-color: transparent; + } +} +.markdown-source-view.mod-cm6 .is-unresolved .cm-underline, .markdown-preview-view a { + text-decoration-color: inherit !important; +} + +/* ------------- */ +/* # Title Bar */ +/* ------------- */ +.workspace-split.mod-root > .workspace-leaf:first-of-type:last-of-type .workspace-leaf.mod-active .view-header { + border-bottom: none; + background-color: var(--surface2); + align-items: center; + display: flex; +} + +/* Style hamburger menu */ +/* Replace icon */ +.three-horizontal-bars { + background-color: currentColor; +} + +svg.three-horizontal-bars { + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z' /%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:24px;height:24px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M3,6H21V8H3V6M3,11H21V13H3V11M3,16H21V18H3V16Z' /%3E%3C/svg%3E"); +} + +.view-header-title { + line-height: 1.75em; + font-size: var(--h5); + font-weight: var(--regular); + color: var(--on-surface); +} + +.is-mobile .view-header-title { + -webkit-mask-image: none; + mask-image: none; +} + +.is-mobile .view-header-icon { + color: var(--on-surface); + padding-left: 16px; + padding-right: 16px; +} + +.view-action:not(.page-header-button) { + display: none; +} + +.view-action.page-header-button { + color: var(--on-surface-variant); + margin-left: 12px; + margin-right: 12px; +} + +body.is-phone.hide-buttons-mobile .view-action:not(.page-header-button) { + display: none; +} + +/* Floating Action Button (FAB)*/ +body.is-phone.fab-enabled-mobile:not(.custom-page-header), +body:not(.is-phone).fab-enabled-desktop:not(.custom-page-header) { + /* Advanced Mobile Toolbar Mode */ + /* Shrink FAB on small displays */ +} +body.is-phone.fab-enabled-mobile:not(.custom-page-header) .view-action:nth-last-of-type(4), +body:not(.is-phone).fab-enabled-desktop:not(.custom-page-header) .view-action:nth-last-of-type(4) { + color: var(--on-tertiary-container); + background-color: var(--tertiary-container); + display: flex; + padding: 0px; + margin: 0; + margin: 16px; + position: absolute; + transform: translate(-50%, -50%); + left: calc(100% - 44px - 16px); + justify-content: center; + align-items: center; + width: 56px; + height: 56px; + border-radius: var(--medium-radius); + box-shadow: 0.4px 0.8px 4px rgba(0, 0, 0, 0.03), 1.2px 2.7px 13.4px rgba(0, 0, 0, 0.15), 8px 18px 80px rgba(0, 0, 0, 0.4); + top: calc(100vh - 48px - 44px - 16px); +} +body.is-phone.fab-enabled-mobile:not(.custom-page-header) .view-action:nth-last-of-type(4) > *:first-child, +body:not(.is-phone).fab-enabled-desktop:not(.custom-page-header) .view-action:nth-last-of-type(4) > *:first-child { + width: 24px; + height: 24px; +} +body.is-phone.fab-enabled-mobile:not(.custom-page-header) body:not(:not(.advanced-toolbar-mode)) .view-action:nth-of-type(4), +body:not(.is-phone).fab-enabled-desktop:not(.custom-page-header) body:not(:not(.advanced-toolbar-mode)) .view-action:nth-of-type(4) { + top: calc(90vh - var(--at-button-height) * var(--at-row-count)); +} +@media screen and (max-height: 400px) { + body.is-phone.fab-enabled-mobile:not(.custom-page-header) .view-action:nth-of-type(4), + body:not(.is-phone).fab-enabled-desktop:not(.custom-page-header) .view-action:nth-of-type(4) { + transform: scale(0.8) translate(-50%, -50%); + } +} + +body.is-phone.fab-enabled-mobile.custom-page-header, +body:not(.is-phone).fab-enabled-desktop.custom-page-header { + /* Advanced Mobile Toolbar Mode */ + /* Shrink FAB on small displays */ +} +body.is-phone.fab-enabled-mobile.custom-page-header .view-action:first-child, +body:not(.is-phone).fab-enabled-desktop.custom-page-header .view-action:first-child { + color: var(--on-tertiary-container); + background-color: var(--tertiary-container); + display: flex; + padding: 0px; + margin: 0; + margin: 16px; + position: absolute; + transform: translate(-50%, -50%); + left: calc(100% - 44px - 16px); + justify-content: center; + align-items: center; + width: 56px; + height: 56px; + border-radius: var(--medium-radius); + box-shadow: 0.4px 0.8px 4px rgba(0, 0, 0, 0.03), 1.2px 2.7px 13.4px rgba(0, 0, 0, 0.15), 8px 18px 80px rgba(0, 0, 0, 0.4); + top: calc(100vh - 48px - 44px - 16px); +} +body.is-phone.fab-enabled-mobile.custom-page-header .view-action:first-child > *:first-child, +body:not(.is-phone).fab-enabled-desktop.custom-page-header .view-action:first-child > *:first-child { + width: 24px; + height: 24px; +} +body.is-phone.fab-enabled-mobile.custom-page-header body:not(:not(.advanced-toolbar-mode)) .view-action:nth-last-of-type(5), +body:not(.is-phone).fab-enabled-desktop.custom-page-header body:not(:not(.advanced-toolbar-mode)) .view-action:nth-last-of-type(5) { + top: calc(90vh - var(--at-button-height) * var(--at-row-count)); +} +@media screen and (max-height: 400px) { + body.is-phone.fab-enabled-mobile.custom-page-header .view-action:nth-last-of-type(5), + body:not(.is-phone).fab-enabled-desktop.custom-page-header .view-action:nth-last-of-type(5) { + transform: scale(0.8) translate(-50%, -50%); + } +} + +body:not(.is-phone).fab-enabled-desktop.custom-page-header:has(.titlebar) .view-action:first-child { + top: calc(100vh - 48px - 44px - 16px - 40px); +} + +/* Pencil SVG */ +svg.pencil > path { + display: none; +} + +svg.pencil { + background-color: currentColor; + -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:50px;height:50px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z' /%3E%3C/svg%3E"); + mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' style='width:50px;height:50px' viewBox='0 0 24 24'%3E%3Cpath fill='currentColor' d='M14.06,9L15,9.94L5.92,19H5V18.08L14.06,9M17.66,3C17.41,3 17.15,3.1 16.96,3.29L15.13,5.12L18.88,8.87L20.71,7.04C21.1,6.65 21.1,6 20.71,5.63L18.37,3.29C18.17,3.09 17.92,3 17.66,3M14.06,6.19L3,17.25V21H6.75L17.81,9.94L14.06,6.19Z' /%3E%3C/svg%3E"); +} + +/* -------------- */ +/* Quick Action */ +/* -------------- */ +/* Text input */ +.is-mobile input.prompt-input { + background-color: var(--primary-container); + border-radius: var(--big-radius); + line-height: 1.5em; + letter-spacing: 0.009375em; + font-weight: var(--medium); + color: var(--on-primary-container); +} +.is-mobile input.prompt-input:active, .is-mobile input.prompt-input:focus { + border: 0; +} +.is-mobile input.prompt-input::-moz-placeholder { + color: var(--secondary); +} +.is-mobile input.prompt-input::placeholder { + color: var(--secondary); +} + +/* Selection items */ +.is-mobile .suggestion-item { + border-bottom: 1px solid; + padding-bottom: 10px; + padding-top: 10px; + border-color: var(--surface-variant); + line-height: 1.5em; + letter-spacing: 0.009375em; + font-weight: var(--medium); +} +.is-mobile .suggestion-item .suggestion-prefix { + position: absolute; + top: 0px; + margin-top: 2px; + margin-bottom: 2px; + color: var(--secondary); + line-height: 1em; + font-size: 0.75em; + letter-spacing: 0.025em; + font-weight: var(--medium); +} +.is-mobile .suggestion-item.is-selected { + background-color: var(--surface); +} + +.is-mobile .suggestion-hotkey { + display: none; +} + +.suggestion-highlight { + color: var(--secondary); +} + +/* Height */ +.is-mobile .prompt, +.is-mobile .suggestion-container { + height: calc(100% - 100px); +} + +.is-mobile .prompt { + min-width: 100%; + background-color: var(--surface); +} + +.is-mobile .suggestion-container:not(.modal-container) { + height: 200px; +} + +/* Settings */ +/* Back modal */ +.is-mobile .modal-setting-back-button { + background-color: var(--primary-faint); +} + +/* Reduce space between settings */ +.vertical-tab-nav-item { + padding: 0px 6px 10px 24px; +} + +/* Style back */ +.is-mobile .modal-setting-back-button { + border-top-left-radius: var(--big-radius); + border-top-right-radius: var(--big-radius); +} + +/* Style setting headers */ +.vertical-tab-header-group-title { + padding: 6px 6px 6px 26px; +} + +.nav-files-container { + padding-right: 2.5px; +} + +/* Add divider line */ +.vertical-tab-header-group { + border-bottom: 1px solid var(--background-secondary-alt); +} + +.vertical-tab-header-group:last-of-type { + border-bottom: none; +} + +/* Buttons */ +/* Filled button */ +button.mod-cta { + background-color: var(--primary); + color: var(--background-primary); +} + +.is-mobile button, +.is-mobile .empty-state-action { + font-size: var(--smallest); + border-radius: var(--big-radius); +} + +/* Setting Headers */ +.theme-light .vertical-tab-header-group-title { + color: var(--primary-light); +} + +.theme-dark .vertical-tab-header-group-title { + color: var(--primary-dark); +} + +/* Prompts (Quick switcher) */ +.is-mobile .prompt, +.is-mobile .suggestion-container { + border-radius: var(--medium-radius) var(--medium-radius) 0 0; + padding: 15px 20px; +} + +.is-mobile .modal { + border-radius: var(--medium-radius); + padding: 15px 20px; +} + +/* Pulling down */ +.pull-action.pull-down-action { + border-radius: 0 0 var(--medium-radius) var(--medium-radius); + background-color: var(--secondary-container); + color: var(--on-secondary-container); + text-transform: none; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.00625em; + font-weight: var(--medium); +} + +.pull-action.mod-activated { + background-color: var(--primary); + color: var(--on-primary); + text-transform: none; + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.00625em; + font-weight: var(--medium); +} + +/* Pulling from the left (navigating back +Trying to target but it's not these: +*/ +/* PLUGINS */ +/* Dataview Tables */ +.table-view-table > thead > tr > th { + border-bottom: none !important; + font-weight: var(--medium); + font-size: var(--editor-font-size); + padding: var(--editor-font-size); +} + +tr { + border-top: 1px solid var(--background-secondary-alt); +} + +/* ------------- */ +/* # Sidebars */ +/* ------------- */ +/* Title of 'File explorer' and the like */ +.workspace-drawer-active-tab-header { + margin: 0; +} + +.workspace-drawer-header-name-text { + color: var(--text-muted); + font-size: var(--smaller); +} + +/* Icons */ +.workspace-drawer-tab-option-item-icon, .workspace-drawer-active-tab-icon { + color: var(--primary-dark); +} + +/* Search */ +.workspace-leaf-content[data-type=search] .nav-action-button { + transform: scale(0.8); + margin: none; + padding: none; +} + +/* Suggestions */ +.is-mobile .suggestion-container.mod-search-suggestion { + max-height: 40%; + min-height: 30%; + min-width: 100%; +} + +/* Top buttons */ +.is-mobile .workspace-drawer-actions, +.is-mobile .nav-buttons-container { + background-color: var(--background-secondary); + border-radius: var(--big-radius); + margin: 0 11px 10px; +} + +.is-mobile .workspace-leaf-content[data-type=search] .nav-action-button { + margin: 0px 2px 2px 0; + text-align: center; + height: 36px; + cursor: var(--cursor); +} + +.nav-action-button { + color: var(--text-muted); + transform: scale(0.8); + padding: 5px 8px 0px 8px; + margin: 0px 6px 0px 6px; +} + +.workspace-drawer-tab-container > * { + border-top: none !important; +} + +/* Significantly simplify left and right bars */ +body.hide-sidebar-header .nav-folder.mod-root > .nav-file-title, +body.hide-sidebar-header .nav-folder.mod-root > .nav-folder-title, +body.hide-sidebar-header .workspace-drawer-header-name, +body.hide-sidebar-header .workspace-drawer-header-icon, +body.hide-sidebar-header .workspace-drawer-header-left { + display: none; +} + +/* Right sidebar */ +.workspace-drawer.mod-right { + border: none; +} + +.backlink-pane, +.outgoing-link-pane { + padding: 0 11px; +} + +/* Backlink counts */ +.tree-item-flair-outer { + display: flex; + justify-content: center; + align-items: center; +} + +/* Left sidebar */ +.workspace-drawer.mod-left { + border-right: 1px var(--background-primary) solid !important; +} + +/* Ribbon */ +.workspace-drawer-ribbon { + background-color: var(--background-primary); +} + +.workspace-drawer-tab-option-item { + margin-left: 12px; + margin-right: 12px; +} + +.workspace-drawer-tab-option-item-title, +.workspace-drawer-active-tab-title { + color: var(--text-normal); +} + +.workspace-drawer-tab-container > * { + border-top: 1px solid var(--background-secondary-alt); +} + +/* ------------- */ +/* # File explorer */ +/* ------------- */ +/* Folder */ +.nav-folder-title-content { + padding-left: 0px; +} + +.nav-file-title-content, +.nav-folder-title-content { + padding: 0px 0px; + font-weight: var(--medium); +} + +/* Files */ +.is-mobile .nav-file-title, +.is-mobile .tag-container { + padding-left: 11px; + padding-right: 11px; + color: var(--text-muted); + font-weight: var(--light); +} + +/* Highlighted file or backlink */ +.nav-file-title.is-active, +.tree-item-self.is-clickable:hover, +.nav-folder-title.is-active, +body:not(.is-grabbing) .nav-file-title:hover, +body:not(.is-grabbing) .nav-folder-title:hover { + background-color: var(--tertiary-container); +} +.nav-file-title.is-active .nav-file-title-content, +.tree-item-self.is-clickable:hover .nav-file-title-content, +.nav-folder-title.is-active .nav-file-title-content, +body:not(.is-grabbing) .nav-file-title:hover .nav-file-title-content, +body:not(.is-grabbing) .nav-folder-title:hover .nav-file-title-content { + color: var(--on-tertiary-container); +} + +.nav-file-title.is-active { + background-color: var(--surface); +} +.nav-file-title.is-active .nav-folder-title-content, .nav-file-title.is-active .nav-file-title-content { + color: var(--on-surface); + font-weight: 600; +} + +.nav-file-title.is-active:hover { + background-color: var(--primary-container) !important; +} +.nav-file-title.is-active:hover .nav-folder-title-content, .nav-file-title.is-active:hover .nav-file-title-content { + color: var(--surface) !important; +} + +.nav-folder-title .nav-folder-title-content { + color: var(--text-normal); + font-weight: 550; +} + +.markdown-source-view .markdown-embed, .markdown-source-view .file-embed { + border: 2px solid var(--surface-variant); + border-radius: var(--small-radius); +} + +/* Embeds */ +/* Naked Embeds (modified from death_au (https://forum.obsidian.md/t/naked-embeds-css-tweak/72) */ +.markdown-embed-title { + display: none; +} + +.markdown-preview-view .markdown-embed-content > :first-child { + margin-top: 0; +} + +.markdown-preview-view .markdown-embed-content > :last-child { + margin-bottom: 0; +} + +.markdown-preview-view .markdown-embed { + border: none; + padding: 0; + margin: 0; +} + +/* the link on the top right corner*/ +.markdown-embed-link { + color: var(--secondary) !important; + top: 15px; +} + +.markdown-embed-link:hover { + color: var(--text-accent) !important; +} + +/* Scroll bars */ +.is-mobile ::-webkit-scrollbar { + display: none; +} + +/* Inspired by Minimal by kepano: https://github.com/kepano/obsidian-minimal/blob/master/obsidian.css */ +.BC-trail { + margin-top: 5px !important; + line-height: 1em; + font-size: 0.75em; + letter-spacing: 0.03125em; + font-weight: var(--medium); + color: var(--secondary); +} + +.timer { + font-style: italic; +} + +.timer::before { + content: "⏱ "; + font-style: normal; +} + +.cm-metadata, +.cm-metadata-key { + line-height: 1.25em; + font-size: 0.875em; + letter-spacing: 0.015625em; + font-weight: var(--medium); + color: var(--secondary); + font-family: var(--font-monospace); +} + +.workspace-leaf-content[data-type=cook] .cm-formatting { + color: var(--surface-variant) !important; +} + +.excalidraw div, .excalidraw.theme--dark { + --color-primary-light: var(--color-accent); + --color-primary-darker: var(--icon-color-focused); + --color-primary-darkest: var(--color-accent); + --focus-highlight-color: var(--color-accent); + --select-highlight-color: var(--color-accent); + --color-selection: var(--color-accent); + --icon-fill-color: var(--text-normal); + --text-primary-color: var(--text-normal); + --island-bg-color: var(--background-primary); + --shadow-island: 0; +} +.excalidraw div *, .excalidraw.theme--dark * { + border: none !important; +} + +.view-content.excalidraw-view { + --excalidraw-button-size: 32px; +} +.view-content.excalidraw-view div, .view-content.excalidraw-view .dropdown-menu .dropdown-menu-item-base { + color: var(--text-normal) !important; +} +.view-content.excalidraw-view .HelpDialog__key { + color: var(--on-accent); +} +.view-content.excalidraw-view .color-picker { + border: 1px solid var(--window-border); + background: var(--background-secondary) !important; + border-radius: 8px; +} +.view-content.excalidraw-view .zoom-actions, +.view-content.excalidraw-view .undo-redo-buttons, +.view-content.excalidraw-view .layer-ui__wrapper__footer-right, +.view-content.excalidraw-view .layer-ui__wrapper__footer-right div, +.view-content.excalidraw-view .App-bottom-bar { + background: none; + border: none !important; +} +.view-content.excalidraw-view .App-toolbar, +.view-content.excalidraw-view .App-menu__left, +.view-content.excalidraw-view .sidebar-trigger, +.view-content.excalidraw-view .ToolIcon.ToolIcon_type_floating div, +.view-content.excalidraw-view .App-menu_top__left .menu-button, +.view-content.excalidraw-view .layer-ui__wrapper__footer-right .ToolIcon__icon, +.view-content.excalidraw-view .mobile-misc-tools-container { + background: var(--surface) !important; +} +.view-content.excalidraw-view .App-toolbar button:hover, +.view-content.excalidraw-view .App-menu__left button:hover, +.view-content.excalidraw-view .sidebar-trigger button:hover, +.view-content.excalidraw-view .ToolIcon.ToolIcon_type_floating div button:hover, +.view-content.excalidraw-view .App-menu_top__left .menu-button button:hover, +.view-content.excalidraw-view .layer-ui__wrapper__footer-right .ToolIcon__icon button:hover, +.view-content.excalidraw-view .mobile-misc-tools-container button:hover { + background: var(--surface-variant) !important; +} +.view-content.excalidraw-view .zoom-actions, +.view-content.excalidraw-view .undo-redo-buttons { + background: var(--surface) !important; +} +.view-content.excalidraw-view .ToolIcon svg { + mix-blend-mode: luminosity; +} +.view-content.excalidraw-view .ToolIcon.Shape, .view-content.excalidraw-view .dropdown-menu-button { + height: var(--excalidraw-button-size) !important; + width: var(--excalidraw-button-size) !important; + background-color: var(--surface); +} +.view-content.excalidraw-view .ToolIcon.Shape :hover, .view-content.excalidraw-view .dropdown-menu-button :hover { + background: var(--surface-variant) !important; +} +.view-content.excalidraw-view .ToolIcon__icon { + height: var(--excalidraw-button-size) !important; + width: var(--excalidraw-button-size) !important; +} +.view-content.excalidraw-view .App-bottom-bar .App-toolbar { + margin-top: 0; +} +.view-content.excalidraw-view .view-header { + z-index: 2; +} +.view-content.excalidraw-view .mobile-misc-tools-container div { + border: none !important; + border-radius: 6px; +} +.view-content.excalidraw-view .App-toolbar { + border-radius: 10px; +} +.view-content.excalidraw-view .App-bottom-bar div.Island:last-child { + margin-left: 8px !important; + padding: 5.5px; + background-color: var(--surface); + border-radius: 9px; +} +.view-content.excalidraw-view .App-bottom-bar button:hover { + background: var(--surface-variant) !important; +} +.view-content.excalidraw-view .ToolIcon__icon:hover { + background: var(--surface-variant) !important; +} +.view-content.excalidraw-view .App-top-bar .mobile-misc-tools-container { + right: -10px; +} +.view-content.excalidraw-view .App-top-bar .mobile-misc-tools-container .ToolIcon { + margin-left: 4px; + margin-right: 4px; + margin-bottom: 3px; +} +.view-content.excalidraw-view .App-top-bar .mobile-misc-tools-container .ToolIcon:first-child { + margin-top: 4px; +} +.view-content.excalidraw-view .App-top-bar .mobile-misc-tools-container .ToolIcon:first-child .ToolIcon__icon { + border-radius: 6px; +} +.view-content.excalidraw-view .App-top-bar .mobile-misc-tools-container .ToolIcon:last-child { + margin-bottom: 4px; +} +.view-content.excalidraw-view .layer-ui__wrapper__top-right .ToolIcon { + margin-right: 8px; +} +.view-content.excalidraw-view .mobile-misc-tools-container .ToolIcon_type_floating:not(:first-child) .ToolIcon__icon svg { + fill: var(--on-surface) !important; +} +.view-content.excalidraw-view .mobile-misc-tools-container label:not(.ToolIcon) { + width: var(--excalidraw-button-size); + padding: 0; + margin: 3px 4px; + margin-top: -1px; +} +.view-content.excalidraw-view .mobile-misc-tools-container label:not(.ToolIcon) :hover { + background: var(--surface-variant) !important; +} +.view-content.excalidraw-view .sidebar-trigger.default-sidebar-trigger { + height: var(--excalidraw-button-size); + width: var(--excalidraw-button-size); + margin: 0 !important; + padding: calc(var(--excalidraw-button-size) / 2 - 8px) !important; + display: block; +} +.view-content.excalidraw-view .sidebar-trigger.default-sidebar-trigger .library-button__label { + display: none; +} +.view-content.excalidraw-view .popover { + border-radius: 10px; + box-shadow: none; +} +.view-content.excalidraw-view .popover ul, .view-content.excalidraw-view .popover ol { + background-color: var(--surface) !important; +} +.view-content.excalidraw-view .popover li button:hover { + background-color: var(--surface-variant) !important; +} + +@media only screen and (max-height: 700px) { + body.pen-mode .view-content.excalidraw-view { + --excalidraw-button-size: 25px; + } +} +@media only screen and (max-height: 580px) { + body.pen-mode .view-content.excalidraw-view { + --excalidraw-button-size: 20px; + } +} +@media only screen and (max-height: 500px) { + body.pen-mode .view-content.excalidraw-view { + --excalidraw-button-size: 15px; + } +} +body.pen-mode .view-content.excalidraw-view .App-top-bar { + flex-direction: row !important; +} +body.pen-mode .view-content.excalidraw-view .App-top-bar .Stack_horizontal { + grid-auto-flow: row; +} +body.pen-mode .view-content.excalidraw-view .App-top-bar .Stack_vertical { + margin-bottom: 170px; +} +body.pen-mode .view-content.excalidraw-view .App-top-bar .mobile-misc-tools-container { + right: inherit; + top: inherit; + bottom: 0; + border-radius: 10px; +} +body.pen-mode .view-content.excalidraw-view .App-top-bar .App-toolbar__divider { + height: 1px; + width: auto; +} +body.pen-mode .view-content.excalidraw-view .App-bottom-bar { + padding-left: calc(var(--excalidraw-button-size) + 12px); +} +body.pen-mode .view-content.excalidraw-view .excalidraw--mobile .HintViewer span { + position: absolute !important; + top: auto !important; + bottom: 10px !important; + right: 10px !important; + opacity: 0.2; +} +body.pen-mode .view-content.excalidraw-view .excalidraw--mobile .welcome-screen-center { + display: none !important; +} +body.pen-mode .view-content.excalidraw-view .App-toolbar__extra-tools-dropdown { + left: 0 !important; +} + +/* @plugins +core: +- backlink +- command-palette +- file-explorer +- global-search +- graph +- outgoing-link +- outline +- page-preview +- starred +- switcher +- tag-pane + +community: +- obsidian-system-dark-mode +- obsidian-style-settings +- cooklang-obsidian +- breadcrumbs +- obsidian-excalidraw-plugin +*/ +/* flat dark bg */ +body { + --divider-color: transparent; +} + +.workspace-split.mod-horizontal.mod-left-split { + overflow: hidden; +} + +.mod-left-split { + margin-right: 0.5px; +} + +.menu { + background: var(--background-secondary) !important; +} + +/* Tabs */ +.view-header-title-container:not(.mod-at-end):after { + display: none; +} + +.workspace .mod-root .workspace-tab-header-inner::after { + right: -1px; +} + +.view-header { + background: var(--tab-background-active) !important; +} + +.workspace-tab-header-container, .mod-sidedock, .workspace-sidedock-vault-profile { + background: none; + background-color: transparent !important; +} + +.workspace-tab-header-container-inner { + margin-left: -15px; +} + +body:not(.is-popout-window) .workspace-tab-header-container, .workspace-tabs, .mod-root, .app-container, +.horizontal-main-container, .workspace, .mod-left, .mod-right, .workspace-tab-container, .workspace-leaf:not(.nav-folder-title) { + background: none !important; +} + +.workspace-tab-header { + border: none; +} + +.workspace-ribbon.side-dock-ribbon.mod-left::before { + background: none; +} + +.tooltip { + background: var(--tooltip-color) !important; + color: var(--on-surface-variant) !important; +} + +.tooltip .tooltip-arrow { + border-bottom-color: var(--tooltip-color) !important; +} + +.tooltip.mod-right .tooltip-arrow { + border-bottom-color: transparent !important; + border-right-color: var(--tooltip-color) !important; +} + +.tooltip.mod-left .tooltip-arrow { + border-bottom-color: transparent !important; + border-left-color: var(--tooltip-color) !important; +} + +.tooltip.mod-top .tooltip-arrow { + border-bottom-color: transparent !important; + border-top-color: var(--tooltip-color) !important; +} + +body.disable-tooltip-animation .tooltip { + animation: none !important; +} + +body.theme-light { + background-color: var(--surface-variant); + --tooltip-color: white; +} + +body.theme-dark { + background-color: black; + --tooltip-color: var(--surface-variant); +} + +body.mod-windows.enable-mica, body.mod-mac.enable-mica, body.mod-linux.enable-mica { + background-color: transparent !important; +} +body.mod-windows.enable-mica .cm-line:not(.HyperMD-quote, .HyperMD-codeblock), body.mod-mac.enable-mica .cm-line:not(.HyperMD-quote, .HyperMD-codeblock), body.mod-linux.enable-mica .cm-line:not(.HyperMD-quote, .HyperMD-codeblock) { + background-color: var(--background); +} +body.mod-windows.enable-mica .cm-line.HyperMD-quote + .cm-line:not(.HyperMD-quote, .HyperMD-codeblock), body.mod-mac.enable-mica .cm-line.HyperMD-quote + .cm-line:not(.HyperMD-quote, .HyperMD-codeblock), body.mod-linux.enable-mica .cm-line.HyperMD-quote + .cm-line:not(.HyperMD-quote, .HyperMD-codeblock) { + background-color: transparent; +} + +body.mod-windows.enable-mica.is-popout-window.theme-dark { + background: #202020 !important; +} + +body.mod-windows.enable-mica.is-popout-window.theme-light { + background: var(--surface-variant) !important; +} + +body:not(.is-phone) { + --pane-separation: 6px; +} +body:not(.is-phone) .mod-root div.mod-top, body:not(.is-phone) .mod-root div.mod-horizontal .workspace-tabs { + padding-right: var(--pane-separation); +} +body:not(.is-phone) .mod-root .mod-horizontal .workspace-leaf { + border-bottom-left-radius: var(--radius-m); + border-bottom-right-radius: var(--radius-m); + margin-bottom: -5px; +} +body:not(.is-phone) .mod-root div:last-of-type.mod-top, body:not(.is-phone) .mod-root div:last-of-type.mod-horizontal .workspace-tabs { + padding-right: 1px; +} +body:not(.is-phone) hr.workspace-leaf-resize-handle { + min-width: var(--pane-separation); + min-height: var(--pane-separation); +} + +.mod-stacked .workspace-tab-header { + background: var(--surface-variant) !important; + border-top-left-radius: var(--radius-m) !important; + border-bottom-left-radius: var(--radius-m) !important; + margin-bottom: 0 !important; + padding-bottom: 5px !important; +} + +.mod-stacked .workspace-leaf, .mod-stacked .workspace-leaf-content { + border-top-left-radius: 0 !important; + border-bottom-left-radius: 0 !important; + border-bottom-right-radius: var(--radius-m) !important; + margin-right: 5px !important; +} +.mod-stacked .view-header { + border-top-left-radius: 0 !important; + border-top-right-radius: var(--radius-m) !important; +} + +.internal-embed { + border: none !important; +} + +.markdown-embed-content { + background-color: var(--background-secondary); + border-radius: var(--radius-l); +} + +.mod-root .markdown-embed-content { + padding: 0 20px; +} + +.canvas-node-container .markdown-embed-content { + border-radius: inherit; + padding: inherit; + background-color: var(--background-secondary); +} + +.canvas-node.is-themed .markdown-embed-content { + background-color: transparent; +} + +body.theme-dark .canvas-wrapper .canvas-node { + box-shadow: rgba(0, 0, 0, 0.3764705882) 0px 3px 5px; + border-radius: var(--radius-l); +} +body.theme-dark .canvas-wrapper .canvas-node.is-themed .markdown-embed-content { + background-color: rgba(255, 255, 255, 0.062745098); +} + +body.theme-light .canvas-wrapper { + --shadow-stationary: none; + --canvas-dot-pattern: #BBB; +} +body.theme-light .canvas-wrapper .canvas-node { + box-shadow: rgba(0, 0, 0, 0.1882352941) 0px 3px 10px; + border: none; + border-radius: var(--radius-l); +} +body.theme-light .canvas-wrapper .canvas-node-container { + border: none; +} + +.mod-inside-iframe { + background-color: var(--background-secondary); +} + +.notice-container .notice { + background-color: var(--surface-variant) !important; + color: var(--on-surface-variant) !important; +} + +body .workspace-leaf-content { + border-top-right-radius: 0; + border-top-left-radius: 0; +} + +body:not(.hide-toolbar-desktop) .workspace-leaf-content, .workspace-tabs:not(.mod-top-left-space) .workspace-leaf-content { + border-top-left-radius: var(--radius-m); +} + +.workspace-tabs:not(.mod-top-right-space) .workspace-leaf-content { + border-top-right-radius: var(--radius-m); +} + +body.show-view-header body:not(.hide-toolbar-desktop) .view-header, body.show-view-header .workspace-tabs:not(.mod-top-left-space) .view-header { + border-top-left-radius: var(--radius-m); +} +body.show-view-header .workspace-tabs:not(.mod-top-right-space) .view-header { + border-top-right-radius: var(--radius-m); +} +body.show-view-header .workspace-leaf-content { + border-top-right-radius: 0 !important; + border-top-left-radius: 0 !important; +} + +body.mod-windows.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed, body.mod-linux.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed { + max-width: 0px; + margin: 0; + padding: 0; + margin-top: calc(var(--header-height) * 2 + 3px); + padding-top: 4px; + padding-bottom: 12px; + overflow: hidden; + border: none; +} +body.mod-windows.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed::before, body.mod-linux.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed::before { + display: none; +} +body.mod-windows.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left, body.mod-linux.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left { + transition-duration: 0s; +} +body.mod-windows.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed:hover::after, body.mod-linux.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed:hover::after { + opacity: 0.4; +} +body.mod-windows.hide-toolbar-desktop .workspace-tabs.mod-top-left-space .workspace-tab-header-container, body.mod-linux.hide-toolbar-desktop .workspace-tabs.mod-top-left-space .workspace-tab-header-container { + margin-left: var(--ribbon-width); +} +body.mod-windows.hide-toolbar-desktop .mod-left-split .workspace-tabs.mod-top-left-space .workspace-tab-header-container, body.mod-linux.hide-toolbar-desktop .mod-left-split .workspace-tabs.mod-top-left-space .workspace-tab-header-container { + padding-left: 0; + margin-left: 0; +} +body.mod-windows.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed .side-dock-actions, +body.mod-windows.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed .side-dock-settings, body.mod-linux.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed .side-dock-actions, +body.mod-linux.hide-toolbar-desktop .workspace-ribbon.side-dock-ribbon.mod-left.is-collapsed .side-dock-settings { + padding-left: 7px; + opacity: 0; +} + +.is-phone .prompt { + position: absolute !important; + height: calc(100% - 40px) !important; +} + +.is-phone .suggestion-prefix { + position: inherit !important; +} + +.horizontal-tab-nav-item, .vertical-tab-nav-item { + padding-top: var(--size-4-2) !important; + padding-bottom: var(--size-4-2) !important; +} + +.horizontal-tab-nav-item.is-active, .vertical-tab-nav-item.is-active { + color: #111; +} + +.view-header { + height: 35px; + padding: 6px; + padding-top: 7.5px; +} + +.view-header-title { + font-size: medium; +} + +.is-phone .view-header { + height: 50px; +} + +.is-phone .view-header-title { + font-size: larger; +} + +body:not(.show-view-header) { + --tab-background-active: var(--background-primary) !important; +} + +body:not(.hide-toolbar-desktop) .mod-root .workspace-tab-header, .workspace-tabs:not(.mod-top-left-space) .mod-root .workspace-tab-header { + margin-bottom: -9px; + padding-bottom: 14px; + overflow: visible !important; + z-index: -1000 !important; +} + +body:not(.hide-toolbar-desktop) .mod-root .workspace-tab-header.is-active:first-of-type, +body.hide-toolbar-desktop .mod-root .workspace-tabs:not(.mod-top-left-space) .workspace-tab-header.is-active:first-of-type { + margin-bottom: -9px; + padding-bottom: 13px; +} + +body:not(.hide-toolbar-desktop) .mod-root .workspace-tab-header.is-active:first-of-type::after, +body.hide-toolbar-desktop .mod-root .workspace-tabs:not(.mod-top-left-space) .workspace-tab-header.is-active:first-of-type::after { + bottom: 9px; +} + +.workspace-tab-header-container-inner { + margin-bottom: -10px; + padding-bottom: 9px !important; +} + +body:not(.is-phone) .view-action:not(.page-header-button) { + display: block; + padding: 4px 6px; + padding-bottom: 0; +} + +.empty-state-title { + max-height: 100%; +} + +.empty-state-title::before { + max-height: 100% !important; + width: 100%; + height: 20vh; + background-size: 15vh 15vh; + background-repeat: no-repeat; + background-position: center; +} + +body.more-drag-desktop .view-header, body.more-drag-desktop .titlebar-inner, body.more-drag-desktop .workspace-ribbon.side-dock-ribbon { + -webkit-app-region: drag; +} +body.more-drag-desktop .mod-root .workspace-tab-header { + -webkit-app-region: drag; +} +body.more-drag-desktop .mod-root .workspace-tab-header .workspace-tab-header-inner-title { + -webkit-app-region: no-drag; + margin-bottom: -5px; + padding-bottom: 5px; +} + +body.tab-drag-desktop .mod-root .workspace-tab-header.is-active { + -webkit-app-region: drag; +} +body.tab-drag-desktop .mod-root .workspace-tab-header.is-active .workspace-tab-header-inner-title { + -webkit-app-region: drag; +} + +.sidebar-toggle-button.mod-left { + -webkit-app-region: drag; +} + +.workspace-tab-header-inner-close-button, .view-header-title-parent, .view-header-title, .clickable-icon { + -webkit-app-region: no-drag; +} + +.status-bar { + opacity: 0.1; + transition: opacity 0.25s; +} + +.status-bar:not(:hover) { + background: none; + border-color: transparent; +} + +.status-bar:hover { + opacity: 1; +} + +.cm-editor .HyperMD-header + .HyperMD-header::before { + content: ""; +} + +.HyperMD-header { + padding-top: 15px !important; + padding-bottom: 0px !important; + margin: 0 !important; +} + +.markdown-reading-view h1, .markdown-reading-view h2, .markdown-reading-view h3, .markdown-reading-view h4, .markdown-reading-view h5, .markdown-reading-view h6 { + padding-top: 17px !important; + padding-bottom: 8px !important; + margin: 0 !important; +} +.markdown-reading-view hr { + display: block; + unicode-bidi: isolate; + margin-block-start: 0.5em; + margin-block-end: 0.5em; + margin-inline-start: auto; + margin-inline-end: auto; + overflow: hidden; + border-style: inset; + border-width: 1px; + border: none; + border-top: var(--hr-thickness) solid; + border-color: var(--hr-color); + margin: 11px 0; +} +.markdown-reading-view table { + margin-bottom: 0; +} +.markdown-reading-view .markdown-rendered table { + margin-block-start: 1em; +} + +.markdown-rendered table { + margin-block-start: 0; +} + +body.space-above-document .cm-editor .cm-scroller .cm-sizer, +body.space-above-document .markdown-reading-view .markdown-preview-view .markdown-preview-sizer { + padding-top: 25vh; +} +body.space-above-document .markdown-embed-content .markdown-preview-sizer, body.space-above-document .markdown-embed-content .cm-sizer, body.space-above-document .canvas-node-container .markdown-preview-sizer, body.space-above-document .canvas-node-container .cm-sizer { + padding-top: inherit !important; +} + +.view-content .cm-header-1, .view-content h1 { + font-weight: 700; +} +.view-content .cm-header-2, .view-content h2 { + font-weight: 600; +} +.view-content .cm-header-3, .view-content h3 { + font-weight: 600; +} +.view-content .cm-header-5, .view-content h5 { + color: var(--color-accent-2); +} +.view-content .cm-header-6, .view-content h6 { + color: var(--color-accent-2); +} +.view-content .cm-header-1.cm-strong, +.view-content .cm-header-2.cm-strong, +.view-content .cm-header-3.cm-strong { + font-weight: 900; +} +.view-content h1, .view-content h2, .view-content h3, .view-content h5, .view-content h6 { + letter-spacing: 0.009375em; +} +.view-content h1 b, .view-content h2 b, .view-content h3 b, .view-content h5 b, .view-content h6 b { + font-weight: 900; +} + +body { + --h2: 20pt; + --h3: 16pt; + --h4: 15pt; + --h5: 14pt; + --h6: 12pt; +} + +p { + margin-block-start: 0; + margin-block-end: 0; +} + +.markdown-embed { + padding-left: 0; +} + +.clickable-icon.nav-action-button { + margin: 0; + padding: 5px 10px; +} + +.view-header-title-container:not(.mod-at-start):before { + display: none !important; +} + +.mobile-navbar { + color: var(--secondary-container); +} +.mobile-navbar .clickable-icon { + color: var(--on-secondary-container); +} + +.view-header-breadcrumb { + text-overflow: ellipsis; + max-width: 10vw; + overflow: hidden; + justify-content: center; +} + +.mobile-navbar, .mobile-toolbar { + background: var(--surface); +} +.mobile-navbar .mobile-toolbar-option, .mobile-navbar .clickable-icon, .mobile-toolbar .mobile-toolbar-option, .mobile-toolbar .clickable-icon { + color: var(--on-surface); +} +.mobile-navbar .mobile-toolbar-option div, .mobile-navbar .clickable-icon div, .mobile-toolbar .mobile-toolbar-option div, .mobile-toolbar .clickable-icon div { + border-color: var(--on-surface); +} + +body.button-shapes-mobile.is-phone .mobile-navbar .clickable-icon { + background-color: var(--surface-variant); + height: 30px; + width: 60px; + max-width: 15vw; + border-radius: 15px; +} +body.button-shapes-mobile.is-phone .mobile-toolbar { + height: 45px; +} +body.button-shapes-mobile.is-phone .mobile-toolbar-option { + background-color: var(--surface-variant); + height: 30px; + width: 50px; + margin: 7px 5px; + border-radius: 15px; +} +body.button-shapes-mobile.is-phone .nav-action-button { + background-color: var(--surface); + height: 40px; + min-width: 65px; + border-radius: 20px; + color: var(--on-surface); +} + +.is-phone .nav-buttons-container { + flex-wrap: wrap !important; +} + +.status-bar-item { + mix-blend-mode: luminosity; +} + +.workspace-tab-header-container-inner { + padding-top: 2px !important; + padding-bottom: 7px !important; +} + +.mod-root .workspace-tab-header-container-inner { + padding-top: 1px !important; + padding-bottom: 9px !important; +} + +div.titlebar { + background-color: transparent !important; +} +div.titlebar .titlebar-text { + opacity: 1; + font-weight: normal; +} + +body.mod-windows { + --frame-right-space: 142px !important; +} +body.mod-windows .titlebar-text { + justify-content: start; + padding-left: 50px; + padding-top: 4px; +} +body.mod-windows .titlebar-button-container .titlebar-button { + width: 46px; +} +body.mod-windows .titlebar-button-container .titlebar-button svg { + width: 11px; + height: 11px; +} + +body { + --input-shadow: inherit !important; + --input-shadow-hover: inset 0 1000px 0 0 #FFFFFF20 !important; + --input-height: 32px; +} + +.setting-hotkey { + padding-top: 5px; +} + +input[type=range]::-webkit-slider-thumb { + background: var(--color-accent); + border: none; +} + +input[type=range]::-webkit-slider-thumb:hover { + background: var(--icon-color-focused); + border: none; +} + +body { + --slider-track-background: var(--surface-variant); +} + +.vertical-tab-content-container .cm-scroller, +.vertical-tab-content-container .cm-scroller * { + background-color: var(--background-secondary) !important; + color: var(--text-color); +} + +body.no-top-space .app-container { + margin-top: -7px; + height: calc(100% + 7px); +} + +body.mod-windows.win-menu div.menu { + background-color: rgba(248, 248, 248, 0.6274509804) !important; + border: 1px solid rgba(54, 54, 54, 0.0705882353); + padding: 1px 5px; + -webkit-backdrop-filter: blur(20px); + backdrop-filter: blur(20px); + --menu-text-color: black; + --win-blue: #0078d4; + box-shadow: 0px 8px 8px 3px rgba(0, 0, 0, 0.05), 0px 7px 9px -7px rgba(0, 0, 0, 0.13); + font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; +} +body.mod-windows.win-menu div.menu .menu-item { + border-radius: 4px !important; + margin: 4px 0; + padding: 5px 8px; + font-size: 14px; + transition: 0.09s; + font-weight: 400; + border-radius: 4px; +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon { + color: var(--menu-text-color); +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg { + fill: white; + stroke-width: 1px; + transform: scale(1.2); +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="m9 14 2 2 4-4"], +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M9 12v-1h6v1"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M11 17h2"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M12 11v6"], +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M18 9a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M6 21a3 3 0 1 0 0-6 3 3 0 0 0 0 6z"], +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M21 14H11"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="m15 10-4 4 4 4"], +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M18.5 2.5a2.121 2.121 0 0 1 3 3L12 15l-4 1 1-4 9.5-9.5z"] { + color: var(--win-blue); +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg rect, body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg circle { + color: var(--win-blue); +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg rect[y="2"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg rect[y="3"] { + color: var(--menu-text-color); +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="M15 6a9 9 0 0 0-9 9"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg path[d="m15 10-4 4 4 4"], body.mod-windows.win-menu div.menu .menu-item .menu-item-icon svg polyline { + fill: none; +} +body.mod-windows.win-menu div.menu .menu-item .menu-item-title { + color: var(--menu-text-color); +} +body.mod-windows.win-menu div.menu .menu-item .cmdr-menu-more-options { + color: var(--menu-text-color); + opacity: 0.5; +} +body.mod-windows.win-menu div.menu .menu-item .cmdr-menu-more-options:hover { + opacity: 1; +} +body.mod-windows.win-menu div.menu .menu-item.is-disabled { + opacity: 0.5; +} +body.mod-windows.win-menu div.menu .menu-item.selected:not(.is-disabled):not(.is-label) { + background-color: rgba(54, 54, 54, 0.0431372549); +} +body.mod-windows.win-menu div.menu .menu-separator { + border-color: rgba(54, 54, 54, 0.0705882353); + margin: 6px 0 !important; +} + +body.mod-windows.win-menu.theme-dark div.menu { + background-color: rgba(32, 31, 33, 0.8352941176) !important; + border-color: rgba(255, 255, 255, 0.062745098); +} +body.mod-windows.win-menu.theme-dark div.menu .menu-item.selected:not(.is-disabled):not(.is-label) { + background-color: rgba(255, 255, 255, 0.062745098); +} +body.mod-windows.win-menu.theme-dark div.menu .menu-separator { + border-color: rgba(255, 255, 255, 0.062745098); +} +body.mod-windows.win-menu.theme-dark div.menu .menu-item { + --menu-text-color: white; +} +body.mod-windows.win-menu.theme-dark div.menu .menu-item .menu-item-icon svg { + fill: none; +} + +body.mod-windows.win-menu.enable-mica div.menu { + background-color: rgba(250, 250, 250, 0.9411764706) !important; + -webkit-backdrop-filter: blur(8px) !important; + backdrop-filter: blur(8px) !important; +} + +body.mod-windows.win-menu.enable-mica.theme-dark div.menu { + background-color: rgba(39, 38, 39, 0.9411764706) !important; +} + +body:not(.vibrant).theme-dark { + --color-accent: hsl(var(--accent-h), calc(var(--accent-s) * 0.6), 70%) !important; + --color-accent-1: hsl(var(--accent-h), calc(var(--accent-s) * 0.7), 80%) !important; + --color-accent-2: hsl(var(--accent-h), calc(var(--accent-s) * 0.8), 90%) !important; + --primary: hsl(var(--accent-h), calc(var(--accent-s) * 0.75), 80%) !important; + --secondary: hsl(var(--accent-h), calc(var(--accent-s) * 0.4), 70%) !important; + --text-accent: hsl(var(--accent-h), calc(var(--accent-s) * 0.4), 90%) !important; + --text-accent: hsl(var(--accent-h), calc(var(--accent-s) * 0.4), 90%) !important; +} + +body:not(.vibrant).theme-light { + --color-accent: hsl(var(--accent-h), calc(var(--accent-s) * 0.8), 75%) !important; + --color-accent-1: hsl(var(--accent-h), calc(var(--accent-s) * 0.7), 80%) !important; + --color-accent-2: hsl(var(--accent-h), calc(var(--accent-s) * 0.6), 85%) !important; + --primary: hsl(var(--accent-h), calc(var(--accent-s) * 0.86), 73%) !important; + --secondary: hsl(var(--accent-h), calc(var(--accent-s) * 0.6), 70%) !important; + --text-accent: hsl(var(--accent-h), calc(var(--accent-s) * 0.6), 50%) !important; +} + +body.theme-dark { + --on-primary: var(--text-on-accent); + --primary: var(--color-accent); + --primary-container: var(--color-accent-1); + --on-primary-container: var(--color-accent-2); + --secondary: var(--color-accent-2); + --background: hsl(var(--accent-h), calc(var(--accent-s) * 0.06), 11.5%); + --on-background: #E5E1E5; + --surface: hsl(var(--accent-h), calc(var(--accent-s) * 0.1), 15%); + --surface-variant: hsl(var(--accent-h), calc(var(--accent-s) * 0.08), 28%); + --surface-variant: hsl(var(--accent-h), calc(var(--accent-s) * 0.08), 28%); + --surface-mid: hsl(var(--accent-h), calc(var(--accent-s) * 0.09), 19%); + --on-surface-variant: hsl(var(--accent-h), calc(var(--accent-s) * 0.31), 80%); + --outline: hsl(var(--accent-h), calc(var(--accent-s) * 0.5), 25%); + --inverse-on-surface: #1C1B1E; + --inverse-surface: #E5E1E5; + --tab-background-active: var(--surface); + --on-secondary: var(--text-on-accent); + --secondary-container: var(--text-on-accent); + --on-secondary-container: var(--color-accent-1); + --tertiary-container: hsl(var(--accent-h), calc(var(--accent-s) * 0.5), 18%); + --on-tertiary-container: hsl(var(--accent-h), calc(var(--accent-s) * 0.5), 78%); + --text-selection: hsl(var(--accent-h), calc(var(--accent-s) * 0.3), 20%); +} + +body.theme-light.dim-light-mode { + --background: hsl(var(--accent-h), calc(var(--accent-s) * 0.15), 95%); + --surface: hsl(var(--accent-h), calc(var(--accent-s) * 0.10), 98%); +} + +body.theme-light { + --primary: var(--color-accent-2); + --primary-container: var(--color-accent-1); + --on-primary-container: var(--color-accent); + --secondary: var(--color-accent-2); + --background: #fff; + --on-background: #111; + --surface: #FFF; + --surface-variant: hsl(var(--accent-h), calc(var(--accent-s) * 0.75), 93%); + --surface-mid: hsl(var(--accent-h), calc(var(--accent-s) * 0.35), 93%); + --on-surface-variant: hsl(var(--accent-h), calc(var(--accent-s) * 0.30), 20%); + --outline: hsl(var(--accent-h), calc(var(--accent-s) * 0.5), 85%); + --inverse-on-surface: #EEE; + --inverse-surface: #111; + --on-secondary: var(--text-on-accent); + --secondary-container: var(--text-on-accent); + --on-secondary-container: var(--color-accent-1); + --tertiary-container: hsl(var(--accent-h), calc(var(--accent-s) * 0.6), 66%); + --on-tertiary-container: hsl(var(--accent-h), calc(var(--accent-s) * 0.2), 12%); + --interactive-hover: hsl(var(--accent-h), 15%, 85%); + --text-selection: hsl(var(--accent-h), calc(var(--accent-s) * 0.5), 80%); +} + +/* Style Settings */ +/* @settings + +name: Material Flat +id: title +settings: + - + id: patch-header + title: Behaviour + type: heading + level: 2 + collapsed: true + - + id: hide-toolbar-desktop + title: Hide left toolbar with left panel (Desktop) + description: Hides the left toolbar ("ribbon") when the left panel is closed. (Windows & Linux Only) + type: class-toggle + default: true + - + id: more-drag-desktop + title: Drag window more easily (Desktop) + description: Allows you to drag the window by the tab title bar (if enabled) as well as the left sidebar (ribbon). Recommended to leave on unless you have issues. + type: class-toggle + default: true + - + id: tab-drag-desktop + title: Drag window with active tab (Desktop) + description: When on, dragging an active tab will drag the entire window, instead of the tab itself. + type: class-toggle + default: false + - + id: pen-mode + title: Pen Mode (for Excalidraw) + description: Currently only applies to Excalidraw plugin in tray mode. Moves the toolbar to the left for easier access, and hides the welcome splash. + type: class-toggle + default: true + - + id: appearance-header + title: Appearance + type: heading + level: 2 + collapsed: true + - + id: vibrant + title: Increase Accent Color Vibrancy + description: Lets the fully saturated accent through on certain elements. May cause readability problems, depending on chosen accent color. + type: class-toggle + default: false + - + id: dim-light-mode + title: Dim Light Mode + description: Uses a slightly tinted grey in light mode, instead of pure white, for backgrounds. + type: class-toggle + default: false + - + id: space-above-document + title: Add scroll space above document + description: Adds some space above documents, so you can scroll them a little further down. Similar to Dropbox Paper. + type: class-toggle + default: true + - + id: disable-tooltip-animation + title: Disable tooltip animation + description: Disables the "pop-out" animation on tooltips. + type: class-toggle + default: false + - + id: enable-mica + title: Enable transparency support (Desktop) + description: Make parts of the main window translucent. Use instead of built-in transparency option. Both mac and windows require native frame to be set to system for this to work. Windows additionally requires Mica for Everyone, with the following settings for obsidian - Titlebar Color System, Backdrop Type Mica, Extend Frame into Client Area On + type: class-toggle + default: false + - + id: win-menu + title: Native Windows Right-Click Menus (Desktop) + description: Makes right-click menus on Windows look like Windows 11 native menus. + type: class-toggle + default: true + - + id: no-top-space + title: Remove top padding (Desktop) + description: Removes the bit of space above the tabs. + type: class-toggle + default: true + - + id: hide-sidebar-header + title: Hide sidebar header (Mobile) + description: Hides the header that appears at the top of the left sidebar on mobile. This will remove the buttons for opening settings and switching vaults, so you'll have to do those using the command palette. + type: class-toggle + default: false + - + id: button-shapes-mobile + title: Button shapes (Mobile) + description: Displays many buttons on mobile as 'chips' with a distinct background. Turn off for a more minimal style and tighter spacing. + type: class-toggle + default: true + - + id: font-header + title: Fonts + type: heading + level: 2 + collapsed: true + - + id: font-preview + title: Preview Font + description: Used in preview mode + type: variable-text + default: Roboto, "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Microsoft YaHei Light", sans-serif; + - + id: font-editor + title: Editor Font + description: Used in editor mode + type: variable-text + default: Roboto,"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Microsoft YaHei Light",sans-serif; + - + id: font-monospace + title: Monospace Font + description: Used in code + type: variable-text + default: Menlo,"Roboto Mono",monospace,SFMono-Regular,Consolas; + - + id: fab-header + title: Floating Action Button settings + type: heading + level: 2 + collapsed: true + - + id: fab-enabled-mobile + title: Enable FAB (Mobile) + description: Displays a floating button in the bottom right, on phones. Tab title bar must be on! + type: class-toggle + default: true + - + id: fab-enabled-desktop + title: Enable FAB (Desktop) + description: Displays a floating button in the bottom right, on computers. Tab title bar must be on! (May not be visible in horizontally split views) + type: class-toggle + default: true + - + id: hide-buttons-mobile + title: Hide tab-status-bar buttons on mobile + description: Hides buttons in the optional tab status bar, excluding the one used for the FAB. (Useful with Commander plugin) + type: class-toggle + default: true + - + id: custom-page-header + title: Customizable FAB action + description: Uses the first button in the optional tab status bar for the FAB. Set an item of your choice to appear first using the Commander plugin to customize the FAB action. + type: class-toggle + - +*//*# sourceMappingURL=theme.css.map */ \ No newline at end of file diff --git a/.obsidian/themes/Minimal/manifest.json b/.obsidian/themes/Minimal/manifest.json new file mode 100644 index 0000000..e54d3e0 --- /dev/null +++ b/.obsidian/themes/Minimal/manifest.json @@ -0,0 +1,8 @@ +{ + "name": "Minimal", + "version": "8.1.5", + "minAppVersion": "1.9.0", + "author": "@kepano", + "authorUrl": "https://twitter.com/kepano", + "fundingUrl": "https://www.buymeacoffee.com/kepano" +} diff --git a/.obsidian/themes/Minimal/theme.css b/.obsidian/themes/Minimal/theme.css new file mode 100644 index 0000000..2eeea9d --- /dev/null +++ b/.obsidian/themes/Minimal/theme.css @@ -0,0 +1,2251 @@ +/* --------------------------------------------------------------------------- + +Minimal Theme by @kepano + +User interface replacement for Obsidian. + +Designed to be used with the Minimal Theme Settings +plugin and the Hider plugin. + +Sponsor my work: +https://www.buymeacoffee.com/kepano + +Readme: +https://github.com/kepano/obsidian-minimal + +----------------------------------------------------------------------------- + +MIT License + +Copyright (c) 2020-2024 Steph Ango (@kepano) + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in +all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + +*/ +body{--font-editor-theme:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Inter,Ubuntu,sans-serif;--font-editor:var(--font-editor-override),var(--font-text-override),var(--font-editor-theme);--bases-table-column-border-width:0px;--bases-header-border-width:0;--blockquote-style:normal;--blockquote-color:var(--text-muted);--blockquote-border-thickness:1px;--blockquote-border-color:var(--quote-opening-modifier);--embed-block-shadow-hover:none;--font-ui-smaller:11px;--normal-weight:400;--inline-title-margin-bottom:1rem;--h1-size:1.125em;--h2-size:1.05em;--h3-size:1em;--h4-size:0.90em;--h5-size:0.85em;--h6-size:0.85em;--h1-weight:600;--h2-weight:600;--h3-weight:500;--h4-weight:500;--h5-weight:500;--h6-weight:400;--h1-variant:normal;--h2-variant:normal;--h3-variant:normal;--h4-variant:normal;--h5-variant:small-caps;--h6-variant:small-caps;--h1-style:normal;--h2-style:normal;--h3-style:normal;--h4-style:normal;--h5-style:normal;--h6-style:normal;--line-width:40rem;--line-height:1.5;--line-height-normal:var(--line-height);--max-width:88%;--max-col-width:18em;--icon-muted:0.5;--nested-padding:1.1em;--folding-offset:32px;--list-edit-offset:0.5em;--list-indent:2em;--list-spacing:0.075em;--input-height:32px;--header-height:40px;--metadata-label-width-multiplier:9;--metadata-label-width:calc(var(--font-adaptive-small) * var(--metadata-label-width-multiplier));--metadata-label-font-size:var(--font-adaptive-small);--metadata-input-font-size:var(--font-adaptive-small);--mobile-left-sidebar-width:280pt;--mobile-right-sidebar-width:240pt;--top-left-padding-y:0px;--image-muted:0.7;--image-radius:4px;--heading-spacing:2em;--p-spacing:1.75rem;--border-width:1px;--table-border-width:var(--border-width);--table-selection:var(--text-selection);--table-selection-border-color:var(--text-accent);--table-selection-border-width:0px;--table-selection-border-radius:0px;--table-drag-handle-background-active:var(--text-selection);--table-drag-handle-color-active:var(--text-accent);--table-add-button-border-width:0px;--file-margins-y:var(--size-4-2)}.mod-macos{--top-left-padding-y:24px}.is-phone{--metadata-label-font-size:var(--font-adaptive-smaller);--metadata-input-font-size:var(--font-adaptive-smaller)}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min-device-pixel-ratio:2){.is-phone{--border-width:0.75px}}body{--base-h:0;--base-s:0%;--base-l:96%;--accent-h:201;--accent-s:17%;--accent-l:50%}.theme-dark,.theme-light{--color-red-rgb:208,66,85;--color-orange-rgb:213,118,63;--color-yellow-rgb:229,181,103;--color-green-rgb:168,195,115;--color-cyan-rgb:115,187,178;--color-blue-rgb:108,153,187;--color-purple-rgb:158,134,200;--color-pink-rgb:176,82,121;--color-red:#d04255;--color-orange:#d5763f;--color-yellow:#e5b567;--color-green:#a8c373;--color-cyan:#73bbb2;--color-blue:#6c99bb;--color-purple:#9e86c8;--color-pink:#b05279}.theme-light,.theme-light.minimal-default-light,body .excalidraw{--bg1:white;--bg2:hsl( var(--base-h), var(--base-s), var(--base-l) );--bg3:hsla( var(--base-h), var(--base-s), calc(var(--base-l) - 50%), 0.12 );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 6%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 12%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 20%) );--tx1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 90%) );--tx2:hsl( var(--base-h), calc(var(--base-s) - 20%), calc(var(--base-l) - 50%) );--tx3:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) - 25%) );--tx4:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) - 60%) );--ax1:hsl( var(--accent-h), var(--accent-s), var(--accent-l) );--ax2:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) - 8%) );--ax3:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) + 6%) );--hl1:hsla( var(--accent-h), 50%, calc(var(--base-l) - 20%), 30% );--hl2:rgba(255, 225, 0, 0.5);--sp1:white}.excalidraw.theme--dark,.theme-dark,.theme-dark.minimal-default-dark,.theme-light.minimal-light-contrast .titlebar,.theme-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-l:60%;--base-l:15%;--bg1:hsl( var(--base-h), var(--base-s), var(--base-l) );--bg2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) - 2%) );--bg3:hsla( var(--base-h), var(--base-s), calc(var(--base-l) + 40%), 0.12 );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 6%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 12%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-l) + 20%) );--tx1:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 67%) );--tx2:hsl( var(--base-h), calc(var(--base-s) - 20%), calc(var(--base-l) + 45%) );--tx3:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 20%) );--tx4:hsl( var(--base-h), calc(var(--base-s) - 10%), calc(var(--base-l) + 50%) );--ax1:hsl( var(--accent-h), var(--accent-s), var(--accent-l) );--ax2:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) + 8%) );--ax3:hsl( var(--accent-h), var(--accent-s), calc(var(--accent-l) - 5%) );--hl1:hsla( var(--accent-h), 50%, 40%, 30% );--hl2:rgba(255, 177, 80, 0.3);--sp1:white}.theme-light.minimal-light-white{--background-primary:white;--background-secondary:white;--background-secondary-alt:white;--ribbon-background:white;--titlebar-background:white;--mobile-sidebar-background:white;--bg1:white}.theme-dark.minimal-dark-black{--base-d:0%;--titlebar-background:black;--background-primary:black;--background-secondary:black;--background-secondary-alt:black;--ribbon-background:black;--background-modifier-hover:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 10%));--tx1:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 75%) );--tx2:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 50%) );--tx3:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 25%) );--ui1:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 12%) );--ui2:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 20%) );--ui3:hsl( var(--base-h), var(--base-s), calc(var(--base-d) + 30%) )}.theme-light{--mono100:black;--mono0:white}.theme-dark{--mono100:white;--mono0:black}.theme-dark,.theme-light,.theme-light.minimal-light-contrast .titlebar,.theme-light.minimal-light-contrast.is-mobile .workspace-drawer.mod-left,.theme-light.minimal-light-contrast.minimal-status-off .status-bar{--background-modifier-accent:var(--ax3);--background-modifier-border-focus:var(--ui3);--background-modifier-border-hover:var(--ui2);--background-modifier-border:var(--ui1);--mobile-sidebar-background:var(--bg1);--background-modifier-form-field-highlighted:var(--bg1);--background-modifier-form-field:var(--bg1);--background-modifier-success:var(--color-green);--background-modifier-hover:var(--bg3);--background-modifier-active-hover:var(--bg3);--background-primary:var(--bg1);--background-primary-alt:var(--bg2);--background-secondary:var(--bg2);--background-secondary-alt:var(--bg1);--background-table-rows:var(--bg2);--checkbox-color:var(--ax3);--code-normal:var(--tx1);--divider-color:var(--ui1);--frame-divider-color:var(--ui1);--icon-color-active:var(--tx1);--icon-color-focused:var(--tx1);--icon-color-hover:var(--tx2);--icon-color:var(--tx2);--icon-hex:var(--mono0);--interactive-normal:var(--ui1);--interactive-accent-hover:var(--ax1);--interactive-accent:var(--ax3);--interactive-hover:var(--ui1);--list-marker-color:var(--tx3);--nav-item-background-active:var(--bg3);--nav-item-background-hover:var(--bg3);--nav-item-color:var(--tx2);--nav-item-color-active:var(--tx1);--nav-item-color-hover:var(--tx1);--nav-item-color-selected:var(--tx1);--nav-collapse-icon-color:var(--tx2);--nav-collapse-icon-color-collapsed:var(--tx2);--nav-indentation-guide-color:var(--ui1);--prompt-border-color:var(--ui3);--quote-opening-modifier:var(--ui2);--ribbon-background:var(--bg2);--scrollbar-active-thumb-bg:var(--ui3);--scrollbar-bg:transparent;--scrollbar-thumb-bg:var(--ui1);--search-result-background:var(--bg1);--tab-text-color-focused-active:var(--tx1);--tab-outline-color:var(--ui1);--text-accent-hover:var(--ax2);--text-accent:var(--ax1);--text-blockquote:var(--tx2);--text-bold:var(--tx1);--text-code:var(--tx4);--text-error:var(--color-red);--text-faint:var(--tx3);--text-highlight-bg:var(--hl2);--text-italic:var(--tx1);--text-muted:var(--tx2);--text-normal:var(--tx1);--text-on-accent:var(--sp1);--text-selection:var(--hl1);--text-formatting:var(--tx3);--title-color-inactive:var(--tx2);--title-color:var(--tx1);--titlebar-background:var(--bg2);--titlebar-background-focused:var(--bg2);--titlebar-text-color-focused:var(--tx1);--vault-profile-color:var(--tx1);--vault-profile-color-hover:var(--tx1);--workspace-background-translucent:hsla(var(--base-h),var(--base-s), var(--base-l), 0.7)}.theme-light.minimal-light-contrast.is-mobile .workspace-drawer.mod-left{--raised-background:var(--ui1);--raised-shadow:none;--raised-mask-border-width:0px}.theme-dark .view-actions,.theme-light .view-actions{--icon-color-active:var(--ax1)}.theme-light.minimal-light-contrast{--workspace-background-translucent:rgba(0,0,0,0.6)}.theme-light.minimal-light-contrast .theme-dark{--tab-container-background:var(--bg2);--ribbon-background-collapsed:var(--bg2)}.theme-light{--interactive-normal:var(--bg1);--interactive-accent-rgb:220,220,220;--active-line-bg:rgba(0,0,0,0.035);--background-modifier-cover:hsla(var(--base-h),calc(var(--base-s) - 70%),calc(var(--base-l) - 20%),0.5);--text-highlight-bg-active:rgba(0, 0, 0, 0.1);--background-modifier-error:rgba(255,0,0,0.14);--background-modifier-error-hover:rgba(255,0,0,0.08);--shadow-color:rgba(0, 0, 0, 0.1);--btn-shadow-color:rgba(0, 0, 0, 0.05)}.theme-dark{--interactive-normal:var(--bg3);--interactive-accent-rgb:66,66,66;--active-line-bg:rgba(255,255,255,0.04);--background-modifier-cover:hsla(var(--base-h),var(--base-s), calc(var(--base-l) - 12%), 0.5);--text-highlight-bg-active:rgba(255, 255, 255, 0.1);--background-modifier-error:rgba(255,20,20,0.12);--background-modifier-error-hover:rgba(255,20,20,0.18);--background-modifier-box-shadow:rgba(0, 0, 0, 0.3);--shadow-color:rgba(0, 0, 0, 0.3);--btn-shadow-color:rgba(0, 0, 0, 0.2);--modal-border-color:var(--ui2)}.theme-light.minimal-light-white{--background-table-rows:var(--bg2);--interactive-normal:var(--bg3);--setting-items-background:var(--bg3)}.theme-light.minimal-light-tonal{--background-secondary:var(--bg1);--background-primary-alt:var(--bg3);--background-table-rows:var(--bg3);--setting-items-background:var(--bg3)}.theme-light.minimal-light-tonal.is-mobile{--background-modifier-form-field:var(--bg3);--interactive-normal:var(--bg3)}.theme-dark.minimal-dark-tonal{--ribbon-background:var(--bg1);--background-secondary:var(--bg1);--background-table-rows:var(--bg3);--setting-items-background:var(--bg3)}.theme-dark.minimal-dark-black{--background-primary-alt:var(--bg3);--background-table-rows:var(--bg3);--setting-items-background:var(--bg3);--modal-border:var(--ui2);--active-line-bg:rgba(255,255,255,0.085);--background-modifier-form-field:var(--bg3);--background-modifier-cover:hsla(var(--base-h),var(--base-s),calc(var(--base-d) + 8%),0.7);--background-modifier-box-shadow:rgba(0, 0, 0, 1)}body{--font-adaptive-normal:var(--font-text-size,var(--editor-font-size));--font-adaptive-small:calc(var(--font-ui-small) * 1.07);--font-adaptive-smaller:var(--font-ui-small);--font-adaptive-smallest:var(--font-ui-smaller);--line-width-wide:calc(var(--line-width) + 12.5%);--font-code:calc(var(--font-adaptive-normal) * 0.9);--table-text-size:calc(var(--font-adaptive-normal) * 0.875);--bases-table-font-size:calc(var(--font-adaptive-normal) * 0.875)}.bases-view{--bases-table-font-size:var(--table-text-size)}.query-toolbar-menu .combobox-button{background-color:rgba(0,0,0,0)}.bases-embed .bases-header .query-toolbar,.block-language-base .bases-header .query-toolbar{padding-bottom:2px;opacity:var(--bases-toolbar-opacity);transition:.15s .15s opacity}.bases-embed .bases-header .query-toolbar:hover,.block-language-base .bases-header .query-toolbar:hover{opacity:1;transition:0s opacity}.base-plain .bases-header{display:none}.bases-table-header-icon{display:var(--bases-table-header-icon-display)}.CodeMirror-wrap>div>textarea{opacity:0}.cm-editor .cm-content{padding-top:.5em}.markdown-source-view{color:var(--text-normal)}.markdown-source-view.mod-cm6 .cm-sizer{display:block}.markdown-source-view.mod-cm6 .cm-scroller{padding-inline-end:0;padding-inline-start:0}.cm-s-obsidian .cm-line.HyperMD-header{padding-top:calc(var(--p-spacing)/2)}.markdown-rendered .mod-header+div>*{margin-block-start:0}body :not(.canvas-node) .markdown-source-view.mod-cm6 .cm-gutters{position:absolute!important;z-index:0;margin-inline-end:0}body :not(.canvas-node) .markdown-source-view.mod-cm6 .cm-gutters .cm-gutter:before{content:"";height:100%;top:-100%;width:100%;position:absolute;z-index:1;background-color:var(--gutter-background);min-width:var(--folding-offset)}body :not(.canvas-node) .markdown-source-view.mod-cm6.is-rtl .cm-gutters{right:0}body{--line-number-color:var(--text-faint);--line-number-color-active:var(--text-muted)}.empty-state-title{display:none}.markdown-source-view.mod-cm6 .cm-gutters{color:var(--line-number-color)!important}.markdown-source-view.mod-cm6 .cm-editor .cm-gutterElement.cm-active .cm-heading-marker,.markdown-source-view.mod-cm6 .cm-editor .cm-lineNumbers .cm-gutterElement.cm-active{color:var(--line-number-color-active)}.cm-editor .cm-lineNumbers{background-color:var(--gutter-background)}.cm-editor .cm-lineNumbers .cm-gutterElement{min-width:var(--folding-offset);padding-inline-end:.5em}.is-rtl .cm-editor .cm-lineNumbers .cm-gutterElement{text-align:left}@media(max-width:400pt){.cm-editor .cm-lineNumbers .cm-gutterElement{padding-inline-end:4px;padding-inline-start:8px}}.cm-editor .cm-gutterElement.cm-active .cm-heading-marker,.cm-editor .cm-lineNumbers .cm-gutterElement.cm-active{color:var(--text-muted)}.markdown-source-view.mod-cm6 .edit-block-button{cursor:var(--cursor);color:var(--text-faint);background-color:var(--background-primary);top:0;opacity:0;transition:opacity .2s;padding:4px 4px 4px 9px}.markdown-source-view.mod-cm6 .edit-block-button svg{margin:0!important}.markdown-source-view.mod-cm6.is-live-preview.is-readable-line-width .cm-embed-block>.edit-block-button{width:30px!important;padding-inline-start:7px!important}.is-live-preview:not(.is-readable-line-width) .cm-embed-block>.edit-block-button{padding-inline-start:0px!important;margin-inline-start:0!important;padding:4px}.markdown-source-view.mod-cm6 .edit-block-button:hover{background-color:var(--background-primary);color:var(--text-muted)}.markdown-source-view.mod-cm6 .edit-block-button svg{opacity:1}.markdown-source-view.mod-cm6 .edit-block-button:hover svg{opacity:1}.markdown-source-view.mod-cm6 .cm-embed-block{padding:0;border:0;border-radius:0}.markdown-source-view.mod-cm6 .cm-embed-block:hover{border:0}.metadata-container{--input-height:calc(var(--font-adaptive-small) * 2.2)}body.metadata-heading-off .metadata-properties-heading{display:none}.metadata-add-property-off .mod-root .metadata-add-button{display:none}.metadata-dividers{--metadata-divider-width:1px;--metadata-gap:0px}.metadata-icons-off .workspace-leaf-content[data-type=all-properties] .tree-item-inner{margin-inline-start:-16px}.metadata-icons-off .workspace-leaf-content[data-type=all-properties] .tree-item-icon{display:none}.metadata-icons-off .metadata-property-icon{display:none}figure{margin-inline-start:0;margin-inline-end:0}.markdown-preview-view .mod-highlighted{transition:background-color .3s ease;background-color:var(--text-selection);color:inherit}.inline-title{padding-top:16px}.mod-macos.hider-frameless .workspace-ribbon{border:none}.is-tablet.hider-ribbon{--ribbon-width:0px}.is-tablet.hider-ribbon .side-dock-ribbon{display:none}.hider-ribbon .workspace-ribbon{padding:0}:root{--hider-ribbon-display:none;--ribbon-animation-duration:0.1s}.ribbon-bottom-left-hover-vertical:not(.is-mobile),.ribbon-bottom-left-hover:not(.is-mobile){--hider-ribbon-display:flex}body.ribbon-vertical-expand:not(.is-mobile){--ribbon-width:0px}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left{width:10px;flex-basis:10px;opacity:0;position:fixed;height:100%;top:0;bottom:0;left:0;z-index:10;transition:all var(--ribbon-animation-duration) linear .6s}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left .side-dock-actions{transition:opacity var(--ribbon-animation-duration) linear .3s}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left:hover{width:44px;opacity:1;flex-basis:44px;transition:opacity var(--ribbon-animation-duration) linear .1s}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left:hover .side-dock-actions{opacity:1;transition:opacity calc(var(--ribbon-animation-duration)*2) linear .2s}body.ribbon-vertical-expand:not(.is-mobile).labeled-nav .workspace-ribbon.mod-left~.mod-left-split .workspace-tab-header-container{margin-left:0;transition:all var(--ribbon-animation-duration) linear .6s}body.ribbon-vertical-expand:not(.is-mobile).labeled-nav .workspace-ribbon.mod-left:hover~.mod-left-split .workspace-tab-header-container{margin-left:44px;transition:all var(--ribbon-animation-duration) linear}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left~.mod-left-split .workspace-tab-container{padding-left:0;transition:all var(--ribbon-animation-duration) linear .6s}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left~.mod-left-split .workspace-sidedock-vault-profile{transition:all var(--ribbon-animation-duration) linear .6s}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left:hover~.mod-left-split .workspace-tab-container{padding-left:44px;transition:all var(--ribbon-animation-duration) linear}body.ribbon-vertical-expand:not(.is-mobile) .workspace-ribbon.mod-left:hover~.mod-left-split .workspace-sidedock-vault-profile{padding-left:52px;transition:all var(--ribbon-animation-duration) linear}.hider-ribbon .workspace-ribbon.mod-left:before,.ribbon-bottom-left-hover .workspace-ribbon.mod-left:before,.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-left:before{opacity:0}.hider-ribbon .workspace-ribbon-collapse-btn,.ribbon-bottom-left-hover .workspace-ribbon-collapse-btn,.ribbon-bottom-left-hover-vertical .workspace-ribbon-collapse-btn{display:none}.hider-ribbon .workspace-ribbon.mod-right,.ribbon-bottom-left-hover .workspace-ribbon.mod-right,.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-right{pointer-events:none}.hider-ribbon .workspace-ribbon.mod-left,.ribbon-bottom-left-hover .workspace-ribbon.mod-left,.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-left{overflow:visible;border-top:var(--border-width) solid var(--background-modifier-border)!important;border-right:var(--border-width) solid var(--background-modifier-border)!important;border-top-right-radius:var(--radius-m);padding:0;position:absolute;border-right:0px;margin:0;width:auto;height:44px;flex-basis:0;bottom:0;top:auto;background:var(--background-secondary);display:var(--hider-ribbon-display)!important;flex-direction:row;z-index:17;opacity:0;transition:opacity calc(var(--ribbon-animation-duration)*2) ease-in-out;filter:drop-shadow(2px 10px 30px rgba(0, 0, 0, .2));gap:0}.hider-ribbon .side-dock-actions,.hider-ribbon .side-dock-settings,.ribbon-bottom-left-hover .side-dock-actions,.ribbon-bottom-left-hover .side-dock-settings,.ribbon-bottom-left-hover-vertical .side-dock-actions,.ribbon-bottom-left-hover-vertical .side-dock-settings{flex-direction:row;display:var(--hider-ribbon-display);background:rgba(0,0,0,0);margin:0;position:relative;gap:var(--size-2-2)}.hider-ribbon .side-dock-actions,.ribbon-bottom-left-hover .side-dock-actions,.ribbon-bottom-left-hover-vertical .side-dock-actions{padding:6px 6px 6px 8px}.hider-ribbon .side-dock-settings:empty,.ribbon-bottom-left-hover .side-dock-settings:empty,.ribbon-bottom-left-hover-vertical .side-dock-settings:empty{display:none}.hider-ribbon .workspace-ribbon.mod-left .side-dock-ribbon-action,.ribbon-bottom-left-hover .workspace-ribbon.mod-left .side-dock-ribbon-action,.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-left .side-dock-ribbon-action{display:var(--hider-ribbon-display)}.hider-ribbon .workspace-ribbon.mod-left:hover,.ribbon-bottom-left-hover .workspace-ribbon.mod-left:hover,.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-left:hover{opacity:1;transition:opacity .25s ease-in-out}.hider-ribbon .workspace-ribbon.mod-left .workspace-ribbon-collapse-btn,.ribbon-bottom-left-hover .workspace-ribbon.mod-left .workspace-ribbon-collapse-btn,.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-left .workspace-ribbon-collapse-btn{opacity:0}.hider-ribbon .workspace-split.mod-left-split,.ribbon-bottom-left-hover .workspace-split.mod-left-split,.ribbon-bottom-left-hover-vertical .workspace-split.mod-left-split{margin:0}.hider-ribbon .workspace-leaf-content .item-list,.ribbon-bottom-left-hover .workspace-leaf-content .item-list,.ribbon-bottom-left-hover-vertical .workspace-leaf-content .item-list{padding-bottom:40px}.ribbon-bottom-left-hover-vertical .workspace-ribbon.mod-left{height:auto}.ribbon-bottom-left-hover-vertical .side-dock-actions{flex-direction:column;padding:8px 6px}.minimal-status-off .status-bar{--status-bar-position:static;--status-bar-radius:0;--status-bar-border-width:1px 0 0 0;--status-bar-background:var(--background-secondary);--status-bar-border-color:var(--ui1)}body:not(.minimal-status-off) .status-bar{background-color:var(--background-primary);--status-bar-border-width:0}.status-bar{transition:color .2s linear;color:var(--text-faint);font-size:var(--font-adaptive-smallest)}.status-bar .sync-status-icon.mod-success,.status-bar .sync-status-icon.mod-working{color:var(--text-faint)}.status-bar:hover,.status-bar:hover .sync-status-icon.mod-success,.status-bar:hover .sync-status-icon.mod-working{color:var(--text-muted);transition:color .2s linear}.status-bar .plugin-sync:hover .sync-status-icon.mod-success,.status-bar .plugin-sync:hover .sync-status-icon.mod-working{color:var(--text-normal)}.status-bar .status-bar-item{cursor:var(--cursor)!important}.status-bar .status-bar-item.cMenu-statusbar-button:hover,.status-bar .status-bar-item.mod-clickable:hover,.status-bar .status-bar-item.plugin-editor-status:hover,.status-bar .status-bar-item.plugin-sync:hover{text-align:center;background-color:var(--background-modifier-hover)!important}.tab-stack-top-flipped{--tab-stacked-text-transform:rotate(180deg);--tab-stacked-text-align:right}.tab-stack-center{--tab-stacked-text-align:center}.tab-stack-center-flipped{--tab-stacked-text-transform:rotate(180deg);--tab-stacked-text-align:center}.tab-stack-bottom{--tab-stacked-text-transform:rotate(180deg)}.tab-stack-bottom-flipped{--tab-stacked-text-align:right}.workspace .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner{flex-direction:var(--tab-stacked-spine-order)}.view-header-title,.view-header-title-parent{text-overflow:ellipsis}.view-header-title-container:not(.mod-at-end):after{display:none}body:not(.is-mobile) .view-actions .view-action:last-child{margin-left:-1px}.minimal-focus-mode .workspace-ribbon:not(.is-collapsed)~.mod-root .view-header:hover .view-actions,.mod-right.is-collapsed~.mod-root .view-header:hover .view-actions,.view-action.is-active:hover,.workspace-ribbon.mod-left.is-collapsed~.mod-root .view-header:hover .view-actions,body:not(.minimal-focus-mode) .workspace-ribbon:not(.is-collapsed)~.mod-root .view-actions{opacity:1;transition:opacity .25s ease-in-out}.view-header-title-container{opacity:0;transition:opacity .1s ease-in-out}.view-header-title-container:focus-within{opacity:1;transition:opacity .1s ease-in-out}.view-header:hover .view-header-title-container,.workspace-tab-header-container:hover+.workspace-tab-container .view-header-title-container{opacity:1;transition:opacity .1s ease-in-out}.is-phone .view-header-title-container,.minimal-tab-title-visible .view-header-title-container{opacity:1}.minimal-tab-title-hidden .view-header-title-container{opacity:0}.minimal-tab-title-hidden .view-header-title-container:focus-within{opacity:1;transition:opacity .1s ease-in-out}.minimal-tab-title-hidden .view-header:hover .view-header-title-container,.minimal-tab-title-hidden .workspace-tab-header-container:hover+.workspace-tab-container .view-header-title-container{opacity:0}body.window-title-off .titlebar-text{display:none}.titlebar-button-container.mod-right{background-color:rgba(0,0,0,0)!important}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame),.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white){--titlebar-background:var(--bg1)}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .sidebar-toggle-button.mod-right,.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .workspace-ribbon.mod-left.is-collapsed,.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame).is-focused .workspace-tabs.mod-top,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white).is-focused .sidebar-toggle-button.mod-right,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white).is-focused .workspace-ribbon.mod-left.is-collapsed,.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white).is-focused .workspace-tabs.mod-top{--titlebar-background-focused:var(--bg1)}.is-hidden-frameless.theme-dark:not(.minimal-dark-black):not(.colorful-frame):not(.minimal-dark-tonal):not(.minimal-light-white) .workspace-ribbon.mod-left:not(.is-collapsed),.is-hidden-frameless.theme-light:not(.minimal-light-tonal):not(.colorful-frame):not(.minimal-light-white):not(.minimal-dark-tonal):not(.minimal-light-white) .workspace-ribbon.mod-left:not(.is-collapsed){--titlebar-background:var(--bg2)}.mod-macos.is-hidden-frameless:not(.is-popout-window) .sidebar-toggle-button.mod-right{right:0;padding-right:var(--size-4-2)}body.is-focused{--titlebar-background-focused:var(--background-secondary)}.is-hidden-frameless:not(.colorful-frame) .mod-left-split .mod-top .workspace-tab-header-container{--tab-container-background:var(--background-secondary)}.mod-root .workspace-tab-header-status-icon{color:var(--text-muted)}.is-collapsed .workspace-sidedock-vault-profile{opacity:0}body:not(.is-mobile).hide-help .workspace-drawer-vault-actions .clickable-icon:first-child{display:none}body:not(.is-mobile).hide-settings .workspace-drawer-vault-actions .clickable-icon:last-child{display:none}body:not(.is-mobile).hide-help.hide-settings .workspace-drawer-vault-actions{display:none!important}body:not(.is-grabbing):not(.is-fullscreen).labeled-nav.is-hidden-frameless.vault-profile-top .mod-left-split .mod-top .workspace-tab-header-container{-webkit-app-region:no-drag}body:not(.is-grabbing):not(.is-fullscreen).labeled-nav.is-hidden-frameless.vault-profile-top .mod-left-split .mod-top .workspace-tab-header-container:before{position:absolute;top:0;content:"";height:var(--header-height);width:100%;-webkit-app-region:drag}body:not(.is-mobile):not(.labeled-nav).vault-profile-top .workspace-split.mod-left-split .mod-top .workspace-tab-container{margin-top:calc(var(--header-height) + 8px)}body:not(.is-mobile):not(.labeled-nav).vault-profile-top .workspace-split.mod-left-split .workspace-sidedock-vault-profile{-webkit-app-region:no-drag;position:absolute;top:var(--header-height);z-index:6;width:100%;border-top:0;border-bottom:1px solid var(--background-modifier-border)}body:not(.is-mobile):not(.labeled-nav).vault-profile-top .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher{padding-left:var(--size-4-2)}body:not(.is-mobile).labeled-nav.vault-profile-top .workspace-split.mod-left-split .workspace-sidedock-vault-profile{-webkit-app-region:no-drag;position:absolute;top:var(--labeled-nav-top-margin);z-index:6;width:100%;background-color:rgba(0,0,0,0);border-top:0;border-bottom:1px solid var(--background-modifier-border)}body:not(.is-mobile).labeled-nav.vault-profile-top .workspace-split.mod-left-split .workspace-sidedock-vault-profile .workspace-drawer-vault-switcher{padding-left:var(--size-4-2)}.vault-profile-top .workspace-tab-header-container-inner{--labeled-nav-top-margin:84px}.document-replace,.document-search{max-width:100%;padding:0}.document-search-container{margin:0 auto;max-width:var(--max-width);width:var(--line-width)}.modal-button-container .mod-checkbox{--checkbox-radius:4px}.modal-container.mod-confirmation .modal{width:480px;min-width:0}.hide-settings-desc.is-phone .setting-item{padding:.65em 0}.hide-settings-desc.is-phone .setting-item-name{font-weight:400;font-size:16px}.hide-settings-desc .setting-item-name{transition:max-height .2s ease-in-out,padding-top .2s ease-in-out}.hide-settings-desc .setting-item-name:active+.setting-item-description{opacity:1;max-height:500px;padding-top:4px;transition:opacity .1s ease-out,max-height .2s ease-out,padding-top .2s ease-in-out}.hide-settings-desc .setting-item-description{opacity:0;max-height:0;padding-top:0;transition:max-height .2s ease-in-out,padding-top .2s ease-in-out}.popover{--file-margins:var(--size-4-6) var(--size-4-6) var(--size-4-6)}.minimal-line-nums .popover .markdown-source-view{--file-margins:var(--size-4-4) var(--size-4-6) var(--size-4-6) var(--size-4-12)}.minimal-line-nums .popover .markdown-source-view.is-rtl{--file-margins:var(--size-4-4) var(--size-4-12) var(--size-4-6) var(--size-4-6)}body{--progress-outline:var(--background-modifier-border);--progress-complete:var(--text-accent)}.markdown-preview-view progress,.markdown-rendered progress,.markdown-source-view.is-live-preview progress{width:220px}.markdown-preview-view progress[value]::-webkit-progress-bar,.markdown-rendered progress[value]::-webkit-progress-bar,.markdown-source-view.is-live-preview progress[value]::-webkit-progress-bar{box-shadow:inset 0 0 0 var(--border-width) var(--progress-outline)}.markdown-preview-view progress[value^="1"]::-webkit-progress-value,.markdown-preview-view progress[value^="2"]::-webkit-progress-value,.markdown-preview-view progress[value^="3"]::-webkit-progress-value,.markdown-rendered progress[value^="1"]::-webkit-progress-value,.markdown-rendered progress[value^="2"]::-webkit-progress-value,.markdown-rendered progress[value^="3"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="1"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="2"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="3"]::-webkit-progress-value{background-color:var(--color-red)}.markdown-preview-view progress[value^="4"]::-webkit-progress-value,.markdown-preview-view progress[value^="5"]::-webkit-progress-value,.markdown-rendered progress[value^="4"]::-webkit-progress-value,.markdown-rendered progress[value^="5"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="4"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="5"]::-webkit-progress-value{background-color:var(--color-orange)}.markdown-preview-view progress[value^="6"]::-webkit-progress-value,.markdown-preview-view progress[value^="7"]::-webkit-progress-value,.markdown-rendered progress[value^="6"]::-webkit-progress-value,.markdown-rendered progress[value^="7"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="6"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="7"]::-webkit-progress-value{background-color:var(--color-yellow)}.markdown-preview-view progress[value^="8"]::-webkit-progress-value,.markdown-preview-view progress[value^="9"]::-webkit-progress-value,.markdown-rendered progress[value^="8"]::-webkit-progress-value,.markdown-rendered progress[value^="9"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="8"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value^="9"]::-webkit-progress-value{background-color:var(--color-green)}.markdown-preview-view progress[value="1"]::-webkit-progress-value,.markdown-preview-view progress[value="100"]::-webkit-progress-value,.markdown-rendered progress[value="1"]::-webkit-progress-value,.markdown-rendered progress[value="100"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="1"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="100"]::-webkit-progress-value{background-color:var(--progress-complete)}.markdown-preview-view progress[value="0"]::-webkit-progress-value,.markdown-preview-view progress[value="2"]::-webkit-progress-value,.markdown-preview-view progress[value="3"]::-webkit-progress-value,.markdown-preview-view progress[value="4"]::-webkit-progress-value,.markdown-preview-view progress[value="5"]::-webkit-progress-value,.markdown-preview-view progress[value="6"]::-webkit-progress-value,.markdown-preview-view progress[value="7"]::-webkit-progress-value,.markdown-preview-view progress[value="8"]::-webkit-progress-value,.markdown-preview-view progress[value="9"]::-webkit-progress-value,.markdown-rendered progress[value="0"]::-webkit-progress-value,.markdown-rendered progress[value="2"]::-webkit-progress-value,.markdown-rendered progress[value="3"]::-webkit-progress-value,.markdown-rendered progress[value="4"]::-webkit-progress-value,.markdown-rendered progress[value="5"]::-webkit-progress-value,.markdown-rendered progress[value="6"]::-webkit-progress-value,.markdown-rendered progress[value="7"]::-webkit-progress-value,.markdown-rendered progress[value="8"]::-webkit-progress-value,.markdown-rendered progress[value="9"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="0"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="2"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="3"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="4"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="5"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="6"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="7"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="8"]::-webkit-progress-value,.markdown-source-view.is-live-preview progress[value="9"]::-webkit-progress-value{background-color:var(--color-red)}.tooltip{transition:none;animation:none}.tooltip.mod-left,.tooltip.mod-right{animation:none}.tooltip.mod-error{color:var(--text-error)}.markdown-preview-view blockquote{padding-inline-start:var(--nested-padding);font-size:var(--blockquote-size)}.markdown-source-view.mod-cm6 .HyperMD-quote,.markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote{font-size:var(--blockquote-size)}.is-live-preview .cm-hmd-indent-in-quote{color:var(--text-faint)}.is-live-preview.is-readable-line-width>.cm-callout .callout{max-width:var(--max-width);margin:0 auto}.callouts-outlined .callout .callout-title{background-color:var(--background-primary);margin-top:-24px;z-index:200;width:fit-content;padding:0 .5em;margin-left:-.75em;letter-spacing:.05em;font-variant-caps:all-small-caps}.callouts-outlined .callout{overflow:visible;--callout-border-width:1px;--callout-border-opacity:0.5;--callout-title-size:0.8em;--callout-blend-mode:normal;background-color:rgba(0,0,0,0)}.callouts-outlined .cm-embed-block.cm-callout{padding-top:12px}.callouts-outlined .callout-content .callout{margin-top:18px}body{--checkbox-radius:50%;--checkbox-top:2px;--checkbox-left:0px;--checkbox-margin:0px 6px 0px -2em}.checkbox-square{--checkbox-size:calc(var(--font-text-size) * 0.85);--checkbox-radius:4px;--checkbox-top:1px;--checkbox-left:0px;--checkbox-margin:0px 8px 0px -2em}body.minimal-strike-lists{--checklist-done-decoration:line-through}body:not(.minimal-strike-lists){--checklist-done-decoration:none;--checklist-done-color:var(--text-normal)}.markdown-preview-section>.contains-task-list{padding-bottom:.5em}.mod-cm6 .HyperMD-task-line[data-task] .cm-formatting-list-ol~.task-list-label .task-list-item-checkbox{margin:1px}.markdown-preview-view .task-list-item-checkbox{position:relative;top:var(--checkbox-top);left:var(--checkbox-left)}.markdown-preview-view ul>li.task-list-item{text-indent:0}.minimal-code-scroll{--code-white-space:pre}.minimal-code-scroll .HyperMD-codeblock.HyperMD-codeblock-bg{overflow-y:scroll;white-space:pre}.minimal-code-scroll .cm-hmd-codeblock{white-space:pre!important}@media print{.print{--code-background:#eee!important}}body{--embed-max-height:none;--embed-decoration-style:solid;--embed-decoration-color:var(--background-modifier-border-hover)}.embed-strict{--embed-background:transparent;--embed-border-start:0;--embed-border-left:0;--embed-padding:0}.embed-strict .markdown-embed-content{--folding-offset:0px}.embed-strict .internal-embed .markdown-embed,.embed-strict .markdown-preview-view .markdown-embed,.embed-strict.markdown-preview-view .markdown-embed{padding:0}.embed-strict .internal-embed .markdown-embed .markdown-embed-title,.embed-strict .markdown-embed-title{display:none}.embed-strict .internal-embed:not([src*="#^"]) .markdown-embed-link{width:24px;opacity:0}.embed-underline .internal-embed:not(.pdf-embed,.bases-embed){text-decoration-line:underline;text-decoration-style:var(--embed-decoration-style);text-decoration-color:var(--embed-decoration-color)}.embed-hide-title .markdown-embed-title{display:none}.contextual-typography .embed-strict .internal-embed .markdown-preview-view .markdown-preview-sizer>div,.embed-strict.contextual-typography .internal-embed .markdown-preview-view .markdown-preview-sizer>div{margin:0;width:100%}.markdown-embed .markdown-preview-view .markdown-preview-sizer{padding-bottom:0!important}.markdown-preview-view.is-readable-line-width .markdown-embed .markdown-preview-sizer,.markdown-preview-view.markdown-embed .markdown-preview-sizer{max-width:100%;width:100%;min-height:0!important;padding-bottom:0!important}.markdown-embed .markdown-preview-section div:last-child p,.markdown-embed .markdown-preview-section div:last-child ul{margin-block-end:2px}.markdown-preview-view .markdown-embed{margin-top:var(--nested-padding);padding:0 calc(var(--nested-padding)/2) 0 var(--nested-padding)}.internal-embed:not([src*="#^"]) .markdown-embed-link{right:0;width:100%}.file-embed-link,.markdown-embed-link{top:0;right:0;text-align:right;justify-content:flex-end}.file-embed-link svg,.markdown-embed-link svg{width:16px;height:16px}.markdown-embed .file-embed-link,.markdown-embed .markdown-embed-link{opacity:.6;transition:opacity .1s linear}.markdown-embed .file-embed-link:hover,.markdown-embed .markdown-embed-link:hover{opacity:1}.markdown-embed .file-embed-link:hover:hover,.markdown-embed .markdown-embed-link:hover:hover{background-color:rgba(0,0,0,0);--icon-color:var(--text-accent)}.file-embed-link:hover,.markdown-embed-link:hover{color:var(--text-muted)}.markdown-embed .markdown-preview-view{padding:0}.internal-embed .markdown-embed{border:0;border-left:1px solid var(--quote-opening-modifier);border-radius:0}a[href*="obsidian://search"]{background-image:url("data:image/svg+xml,")}.theme-dark a[href*="obsidian://search"]{background-image:url("data:image/svg+xml,")}.plain-external-links .external-link{background-image:none;padding-right:0}body{--adaptive-list-edit-offset:var(--list-edit-offset)}.is-rtl{--adaptive-list-edit-offset:calc(var(--list-edit-offset)*-1)}.markdown-preview-view ol>li,.markdown-preview-view ul>li,.markdown-source-view ol>li,.markdown-source-view ul>li,.mod-cm6 .HyperMD-list-line.cm-line{padding-top:var(--list-spacing);padding-bottom:var(--list-spacing)}.is-mobile ul>li:not(.task-list-item)::marker{font-size:.8em}.is-mobile .workspace-leaf-content:not([data-type=search]) .workspace-leaf-content[data-type=markdown] .nav-buttons-container{border-bottom:none;padding-top:5px}.is-mobile .mod-root .workspace-leaf-content[data-type=markdown] .search-input-container{width:calc(100% - 160px)}.embedded-backlinks .backlink-pane>.tree-item-self,.embedded-backlinks .backlink-pane>.tree-item-self:hover{text-transform:none;color:var(--text-normal);font-size:var(--font-adaptive-normal);font-weight:500;letter-spacing:unset}body{--pdf-dark-opacity:1}.theme-dark:not(.pdf-shadows-on),.theme-light:not(.pdf-shadows-on){--pdf-shadow:none;--pdf-thumbnail-shadow:none}.theme-dark:not(.pdf-shadows-on) .pdf-viewer .page,.theme-dark:not(.pdf-shadows-on) .pdfViewer .page,.theme-light:not(.pdf-shadows-on) .pdf-viewer .page,.theme-light:not(.pdf-shadows-on) .pdfViewer .page{border:0}.theme-dark:not(.pdf-shadows-on) .pdf-sidebar-container .thumbnailSelectionRing,.theme-light:not(.pdf-shadows-on) .pdf-sidebar-container .thumbnailSelectionRing{padding:0}.theme-dark:not(.pdf-shadows-on) .pdf-sidebar-container .thumbnail::after,.theme-light:not(.pdf-shadows-on) .pdf-sidebar-container .thumbnail::after{right:var(--size-4-2);bottom:var(--size-4-2)}.theme-dark{--pdf-thumbnail-shadow:0 0 1px 0 rgba(0,0,0,0.6);--pdf-shadow:0 0 1px 0 rgba(0,0,0,0.6)}.theme-dark .pdf-viewer .canvasWrapper,.theme-dark .pdfViewer .canvasWrapper{opacity:var(--pdf-dark-opacity)}.theme-dark.pdf-invert-dark .workspace-leaf-content[data-type=pdf] .pdf-viewer .canvasWrapper,.theme-dark.pdf-invert-dark .workspace-leaf-content[data-type=pdf] .pdfViewer .canvasWrapper{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.theme-light.pdf-blend-light .workspace-leaf-content[data-type=pdf] .pdf-viewer .canvasWrapper,.theme-light.pdf-blend-light .workspace-leaf-content[data-type=pdf] .pdfViewer .canvasWrapper{mix-blend-mode:multiply}body{--table-header-border-width:0;--table-column-first-border-width:0;--table-column-last-border-width:0;--table-row-last-border-width:0;--table-edge-cell-padding-first:0;--table-edge-cell-padding-last:0;--table-cell-padding:4px 10px;--table-header-size:var(--table-text-size)}.markdown-source-view.mod-cm6 table{border-collapse:collapse}.markdown-rendered th{--table-header-size:var(--table-text-size)}.markdown-preview-view table,.markdown-source-view.mod-cm6 table{border:var(--border-width) solid var(--border-color);border-collapse:collapse}.markdown-preview-view td,.markdown-preview-view th,.markdown-source-view.mod-cm6 td,.markdown-source-view.mod-cm6 th{padding:var(--table-cell-padding)}.markdown-preview-view td:first-child,.markdown-preview-view th:first-child,.markdown-source-view.mod-cm6 td:first-child,.markdown-source-view.mod-cm6 th:first-child{padding-inline-start:var(--table-edge-cell-padding-first)}.markdown-preview-view td:first-child .table-cell-wrapper,.markdown-preview-view th:first-child .table-cell-wrapper,.markdown-source-view.mod-cm6 td:first-child .table-cell-wrapper,.markdown-source-view.mod-cm6 th:first-child .table-cell-wrapper{padding-inline-start:0}.markdown-preview-view td:last-child,.markdown-preview-view th:last-child,.markdown-source-view.mod-cm6 td:last-child,.markdown-source-view.mod-cm6 th:last-child{padding-inline-end:var(--table-edge-cell-padding-last)}.markdown-preview-view td:last-child .table-cell-wrapper,.markdown-preview-view th:last-child .table-cell-wrapper,.markdown-source-view.mod-cm6 td:last-child .table-cell-wrapper,.markdown-source-view.mod-cm6 th:last-child .table-cell-wrapper{padding-inline-end:0}.markdown-source-view.mod-cm6 .cm-table-widget table{margin-top:0}.markdown-source-view.mod-cm6 .cm-table-widget .table-cell-wrapper{padding:var(--table-cell-padding)}.markdown-reading-view table{--p-spacing:0.5rem}.cm-embed-block.cm-table-widget.markdown-rendered{padding:var(--table-drag-padding);overscroll-behavior-x:none}.is-mobile .cm-embed-block.cm-table-widget.markdown-rendered{padding-bottom:40px}.markdown-preview-view th,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th,.table-view-table>thead>tr>th{padding:var(--table-cell-padding)}.markdown-preview-view th:first-child,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th:first-child,.table-view-table>thead>tr>th:first-child{padding-inline-start:var(--table-edge-cell-padding-first)}.markdown-preview-view th:last-child,.markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th:last-child,.table-view-table>thead>tr>th:last-child{padding-inline-end:var(--table-edge-cell-padding-last)}.cm-hmd-table-sep-dummy,.cm-s-obsidian .HyperMD-table-row span.cm-hmd-table-sep{color:var(--text-faint);font-weight:400}body.minimal-unstyled-tags{--tag-background:transparent;--tag-background-hover:transparent;--tag-border-width:0px;--tag-padding-x:0;--tag-padding-y:0;--tag-size:inherit;--tag-color-hover:var(--text-accent-hover)}body.minimal-unstyled-tags.is-mobile.theme-dark{--tag-background:transparent}body:not(.minimal-unstyled-tags){--tag-size:0.8em;--tag-padding-y:0.2em;--tag-background:transparent;--tag-background-hover:transparent;--tag-color:var(--text-muted);--tag-border-width:1px;--tag-border-color:var(--background-modifier-border);--tag-border-color-hover:var(--background-modifier-border-hover);--tag-color-hover:var(--text-normal)}body.is-mobile.theme-dark{--tag-background:transparent}h1,h2,h3,h4{letter-spacing:-.02em}body,button,input{font-family:var(--font-interface)}.cm-s-obsidian span.cm-error{color:var(--color-red)}.markdown-preview-view,.popover,.workspace-leaf-content[data-type=markdown]{font-family:var(--font-text)}.markdown-preview-view,.view-content>.cm-s-obsidian,.view-content>.markdown-source-view.mod-cm6.is-live-preview>.cm-scroller,body{font-size:var(--font-adaptive-normal);font-weight:var(--normal-weight)}.view-content>.cm-s-obsidian,.view-content>.markdown-source-view,.view-content>.markdown-source-view.mod-cm6 .cm-scroller{font-family:var(--font-editor)}.cm-formatting:not(.cm-formatting-code-block):not(.cm-formatting-hashtag){color:var(--text-formatting)}.hide-markdown .is-live-preview .cm-formatting.cm-formatting-code.cm-inline-code,.hide-markdown .is-live-preview .cm-formatting.cm-formatting-em,.hide-markdown .is-live-preview .cm-formatting.cm-formatting-highlight,.hide-markdown .is-live-preview .cm-formatting.cm-formatting-link,.hide-markdown .is-live-preview .cm-formatting.cm-formatting-strikethrough,.hide-markdown .is-live-preview .cm-formatting.cm-formatting-strong{display:none}.hide-markdown .is-live-preview .cm-formatting-quote{opacity:0}.hide-markdown .is-live-preview .cm-formatting-header,.hide-markdown .is-live-preview .cm-formatting-link,.hide-markdown .is-live-preview .cm-hmd-internal-link.cm-link-has-alias,.hide-markdown .is-live-preview .cm-link-alias-pipe{display:none}.active-line-on .workspace-leaf-content[data-type=markdown] .cm-line.cm-active,.active-line-on .workspace-leaf-content[data-type=markdown] .markdown-source-view.mod-cm6.is-live-preview .HyperMD-quote.cm-active{background-color:var(--active-line-bg);box-shadow:-25vw 0 var(--active-line-bg),25vw 0 var(--active-line-bg)}.disable-animations{--ribbon-animation-duration:0ms;--focus-animation-duration:0ms}.disable-animations .mod-sidedock{transition-duration:0s!important}.fast-animations{--ribbon-animation-duration:0.05s;--focus-animation-duration:0.05s}.fast-animations .mod-sidedock{transition-duration:70ms!important}body{--content-margin:auto;--content-margin-start:max( calc(50% - var(--line-width)/2), calc(50% - var(--max-width)/2) );--content-line-width:min(var(--line-width), var(--max-width));--map-header-padding:2px}.markdown-preview-view .markdown-preview-sizer.markdown-preview-sizer{max-width:100%;margin-inline:auto;width:100%}.markdown-source-view.mod-cm6.is-readable-line-width .cm-content,.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer{max-width:100%;width:100%}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div,.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer>.embedded-backlinks,.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer>.inline-title,.markdown-source-view.mod-cm6.is-readable-line-width .cm-sizer>.metadata-container{max-width:var(--max-width);width:var(--line-width);margin-inline:var(--content-margin)!important}.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>:not(div){max-width:var(--content-line-width);margin-inline-start:var(--content-margin-start)!important}.is-readable-line-width{--file-margins:1rem 0 0 0}.is-mobile .markdown-preview-view{--folding-offset:0}.minimal-line-nums .workspace-leaf-content[data-type=markdown]{--file-margins:var(--size-4-8) var(--size-4-8) var(--size-4-8) 48px}.minimal-line-nums .workspace-leaf-content[data-type=markdown].is-rtl{--file-margins:var(--size-4-8) 48px var(--size-4-8) var(--size-4-8)}.minimal-line-nums .workspace-leaf-content[data-type=markdown] .is-readable-line-width{--file-margins:1rem 0 0 var(--folding-offset)}.minimal-line-nums .workspace-leaf-content[data-type=markdown] .is-readable-line-width.is-rtl{--file-margins:1rem var(--folding-offset) 0 0}.minimal-line-nums .mod-left-split .markdown-preview-view,.minimal-line-nums .mod-left-split .markdown-source-view.mod-cm6 .cm-scroller,.minimal-line-nums .mod-right-split .markdown-preview-view,.minimal-line-nums .mod-right-split .markdown-source-view.mod-cm6 .cm-scroller{--file-margins:var(--size-4-5) var(--size-4-5) var(--size-4-5) 48px}.view-content .reader-mode-content.is-readable-line-width .markdown-preview-sizer{max-width:var(--max-width);width:var(--line-width)}.markdown-preview-view .inline-embed{--max-width:100%}body{--container-table-max-width:var(--max-width);--table-max-width:none;--table-width:auto;--table-margin:inherit;--table-wrapper-width:fit-content;--container-dataview-table-width:var(--line-width);--container-img-width:var(--line-width);--container-img-max-width:var(--max-width);--img-max-width:100%;--img-width:auto;--img-margin-start:var(--content-margin-start);--img-line-width:var(--content-line-width);--container-chart-width:var(--line-width);--container-chart-max-width:var(--max-width);--chart-max-width:none;--chart-width:auto;--container-map-width:var(--line-width);--container-map-max-width:var(--max-width);--map-max-width:none;--map-width:auto;--container-iframe-width:var(--line-width);--container-iframe-max-width:var(--max-width);--iframe-max-width:none;--iframe-width:auto}body .wide{--line-width:var(--line-width-wide);--container-table-width:var(--line-width-wide);--container-dataview-table-width:var(--line-width-wide);--container-img-width:var(--line-width-wide);--container-iframe-width:var(--line-width-wide);--container-map-width:var(--line-width-wide);--container-chart-width:var(--line-width-wide)}body .max{--line-width:var(--max-width);--container-table-width:var(--max-width);--container-dataview-table-width:var(--max-width);--container-img-width:var(--max-width);--container-iframe-width:var(--max-width);--container-map-width:var(--max-width);--container-chart-width:var(--max-width)}table.dataview{--table-min-width:min(var(--line-width),var(--max-width))}.cards table.dataview{--table-width:100%;--table-min-width:none}body{--table-drag-space:16px;--container-table-margin:calc(var(--content-margin-start) - var(--table-drag-space));--container-table-width:calc(var(--line-width) + var(--table-drag-space)*2);--table-drag-padding:var(--table-drag-space)}.is-mobile{--table-drag-space:16px;--container-table-max-width:calc(100% - var(--container-table-margin))}.maximize-tables-auto{--container-table-max-width:100%;--container-table-width:100%;--container-dataview-table-width:100%;--container-table-margin:0;--table-drag-padding:var(--table-drag-space) 0;--table-max-width:100%;--table-margin:var(--content-margin-start) auto;--table-width:auto}.maximize-tables-auto .cards{--container-table-max-width:var(--max-width)}.maximize-tables-auto .cards .block-language-dataview{--table-margin:auto}.maximize-tables{--container-table-max-width:100%;--container-table-width:100%;--container-table-margin:0;--table-drag-padding:var(--table-drag-space) 0;--table-min-width:min(var(--line-width), var(--max-width));--table-max-width:100%;--table-margin:auto;--table-width:auto;--table-edge-cell-padding-first:8px;--table-edge-cell-padding-last:8px;--table-wrapper-width:auto}.table-100,.table-max,.table-wide{--table-max-width:100%;--table-width:100%}.table-wide{--container-table-width:var(--line-width-wide);--container-dataview-table-width:var(--line-width-wide);--container-table-margin:auto;--table-edge-cell-padding-first:0px}.table-max{--container-table-width:var(--max-width);--container-table-max-width:calc(var(--max-width) + var(--table-drag-space)*2);--container-dataview-table-width:var(--max-width);--container-table-margin:auto;--table-edge-cell-padding-first:0px;--table-margin:0}.table-100{--container-table-width:100%;--container-dataview-table-width:100%;--container-table-max-width:100%;--container-table-margin:0;--table-edge-cell-padding-first:16px;--table-edge-cell-padding-last:16px;--table-margin:0;--table-drag-padding:var(--table-drag-space) 0;--table-wrapper-width:min(fit-content, 100%);--bases-cards-embed-padding:0 12px;--bases-header-padding-end:var(--size-4-2);--bases-header-padding-start:var(--size-4-2)}.table-100 .bases-view[data-view-type=table]{--bases-embed-border-width:0;--bases-embed-border-radius:0}.table-100 .table-col-btn{cursor:default!important;margin-top:8px;height:var(--table-header-size);inset-inline-start:calc(100% - var(--table-drag-handle-size) - 4px)!important}.table-100 .markdown-source-view.mod-cm6,.table-100.markdown-source-view.mod-cm6{--table-drag-handle-background-active:transparent}.table-100 .markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle,.table-100.markdown-source-view.mod-cm6 .cm-table-widget .table-row-drag-handle{inset-inline-end:calc(100% - var(--table-drag-handle-size))!important}.img-100,.img-max,.img-wide{--img-max-width:100%;--img-width:100%}.img-wide{--container-img-width:var(--line-width-wide);--img-line-width:var(--line-width-wide);--img-margin-start:calc(50% - var(--line-width-wide)/2)}.img-max{--container-img-width:var(--max-width);--img-line-width:var(--max-width);--img-margin-start:calc(50% - var(--max-width)/2)}.img-100{--container-img-width:100%;--container-img-max-width:100%;--img-line-width:100%;--img-margin-start:0}.map-100,.map-max,.map-wide{--map-max-width:100%;--map-width:100%}.map-wide{--container-map-width:var(--line-width-wide)}.map-max{--container-map-width:var(--max-width)}.map-100{--container-map-width:100%;--container-map-max-width:100%;--map-header-padding:var(--size-4-2)}.map-100 .bases-view[data-view-type=map]{--bases-embed-border-radius:0}.chart-100,.chart-max,.chart-wide{--chart-max-width:100%;--chart-width:100%}.chart-wide{--container-chart-width:var(--line-width-wide)}.chart-max{--container-chart-width:var(--max-width)}.chart-100{--container-chart-width:100%;--container-chart-max-width:100%}.iframe-100,.iframe-max,.iframe-wide{--iframe-max-width:100%;--iframe-width:100%}.iframe-wide{--container-iframe-width:var(--line-width-wide)}.iframe-max{--container-iframe-width:var(--max-width)}.iframe-100{--container-iframe-width:100%;--container-iframe-max-width:100%}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer .cm-table-widget,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(table),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content .cm-table-widget,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(table){width:var(--container-table-width);max-width:var(--container-table-max-width);margin-inline:var(--container-table-margin)!important;padding-inline-start:var(--table-drag-padding)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer .el-table,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content .el-table{margin-inline:var(--container-table-margin)!important;padding-inline-start:var(--table-drag-padding)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer .table-wrapper,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content .table-wrapper{width:var(--table-wrapper-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.bases-embed,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>:has(>.block-language-dataview table),.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>:has(>.block-language-dataviewjs table),.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(.bases-embed),.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(.block-language-base),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>.bases-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>:has(>.block-language-dataview table),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>:has(>.block-language-dataviewjs table),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(.bases-embed),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(.block-language-base){width:var(--container-dataview-table-width);max-width:var(--container-table-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer table,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content table{width:var(--table-width);max-width:var(--table-max-width);margin-inline:var(--table-margin);min-width:var(--table-min-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer .block-language-dataviewjs>:is(p,h1,h2,h3,h4,h5,h6),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content .block-language-dataviewjs>:is(p,h1,h2,h3,h4,h5,h6){width:var(--line-width);margin-inline:var(--content-margin)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer .block-language-dataviewjs>.dataview-error,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content .block-language-dataviewjs>.dataview-error{margin:0 auto;width:var(--content-line-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer .dataview.dataview-error-box,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content .dataview.dataview-error-box{margin-inline:var(--table-margin)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.image-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>.image-embed{padding-top:.25rem;padding-bottom:.25rem}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.image-embed,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(.image-embed),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>.image-embed,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(.image-embed){width:var(--container-img-width);max-width:var(--container-img-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>.image-embed img,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(.image-embed) img,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>.image-embed img,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(.image-embed) img{max-width:var(--img-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>img,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>img{max-width:var(--img-line-width);margin-inline-start:var(--img-margin-start)!important}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(>.block-language-dataviewjs canvas,>.block-language-chart),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(>.block-language-dataviewjs canvas,>.block-language-chart){width:var(--container-chart-width);max-width:var(--container-chart-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(>.block-language-dataviewjs canvas,>.block-language-chart) canvas,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(>.block-language-dataviewjs canvas,>.block-language-chart) canvas{max-width:var(--chart-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(.bases-view[data-view-type=map]),.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(>.block-language-leaflet),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(.bases-view[data-view-type=map]),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(>.block-language-leaflet){width:var(--container-map-width);max-width:var(--container-map-max-width);--bases-header-padding-end:var(--map-header-padding);--bases-header-padding-start:var(--map-header-padding)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(.bases-view[data-view-type=map]) iframe,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(>.block-language-leaflet) iframe,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(.bases-view[data-view-type=map]) iframe,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(>.block-language-leaflet) iframe{max-width:var(--map-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(>.cm-html-embed),.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(>iframe),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(>.cm-html-embed),.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(>iframe){width:var(--container-iframe-width);max-width:var(--container-iframe-max-width)}.markdown-preview-view.is-readable-line-width .markdown-preview-sizer div:has(>.cm-html-embed) iframe,.markdown-preview-view.is-readable-line-width .markdown-preview-sizer>div:has(>iframe) iframe,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content div:has(>.cm-html-embed) iframe,.markdown-source-view.mod-cm6.is-readable-line-width .cm-contentContainer.cm-contentContainer>.cm-content>div:has(>iframe) iframe{max-width:var(--iframe-max-width)}.borders-none{--divider-width:0px;--tab-outline-width:0px}body:is(.borders-none) .mod-root .workspace-tab-header-container:is(div,:hover){--tab-outline-width:0px}body{--cards-min-width:180px;--cards-max-width:1fr;--cards-mobile-width:120px;--cards-image-height:400px;--cards-padding:1.2em;--cards-image-fit:contain;--cards-background:transparent;--cards-background-hover:transparent;--cards-border-width:1px;--cards-aspect-ratio:auto;--cards-columns:repeat(auto-fit, minmax(var(--cards-min-width), var(--cards-max-width)))}@media(max-width:400pt){body{--cards-min-width:var(--cards-mobile-width)}}.cards.table-100 table.dataview tbody,.table-100 .cards table.dataview tbody{padding:.25rem .75rem}.cards table.dataview{--table-width:100%;--table-edge-cell-padding-first:calc(var(--cards-padding)/2);--table-edge-cell-padding-last:calc(var(--cards-padding)/2);--table-cell-padding:calc(var(--cards-padding)/3) calc(var(--cards-padding)/2);line-height:1.3}.cards table.dataview tbody{clear:both;padding:.5rem 0;display:grid;grid-template-columns:var(--cards-columns);grid-column-gap:.75rem;grid-row-gap:.75rem}.cards table.dataview>tbody>tr{background-color:var(--cards-background);border:var(--cards-border-width) solid var(--background-modifier-border);display:flex;flex-direction:column;margin:0;padding:0 0 calc(var(--cards-padding)/3) 0;border-radius:6px;overflow:hidden;transition:box-shadow .15s linear;max-width:var(--cards-max-width);height:auto}.cards table.dataview>tbody>tr:hover{background-color:var(--cards-background-hover)!important;border:var(--cards-border-width) solid var(--background-modifier-border-hover);box-shadow:0 4px 6px 0 rgba(0,0,0,.05),0 1px 3px 1px rgba(0,0,0,.025);transition:box-shadow .15s linear}.cards table.dataview tbody>tr>td:first-child{font-weight:var(--bold-weight);border:none}.cards table.dataview tbody>tr>td:first-child a{display:block}.cards table.dataview tbody>tr>td:last-child{border:none}.cards table.dataview tbody>tr>td:not(:first-child){font-size:calc(var(--table-text-size)*.9);color:var(--text-muted)}.cards table.dataview tbody>tr>td>*{padding:calc(var(--cards-padding)/3) 0}.cards table.dataview tbody>tr>td:not(:last-child):not(:first-child){padding:4px 0;border-bottom:1px solid var(--background-modifier-border);width:calc(100% - var(--cards-padding));margin:0 calc(var(--cards-padding)/2)}.cards table.dataview tbody>tr>td a{text-decoration:none}.cards table.dataview tbody>tr>td>button{width:100%;margin:calc(var(--cards-padding)/2) 0}.cards table.dataview tbody>tr>td:last-child>button{margin-bottom:calc(var(--cards-padding)/6)}.cards table.dataview tbody>tr>td>ul{width:100%;padding:.25em 0!important;margin:0 auto!important}.cards table.dataview tbody>tr>td img{aspect-ratio:var(--cards-aspect-ratio);width:100%;object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.markdown-source-view.mod-cm6.cards .dataview.table-view-table>tbody>tr>td,.trim-cols .cards table.dataview tbody>tr>td{white-space:normal}.links-int-on .cards table{--link-decoration:none}.markdown-source-view.mod-cm6.cards .edit-block-button{top:-1px;right:28px;opacity:1}.cards.table-100 table.dataview thead>tr,.table-100 .cards table.dataview thead>tr{right:.75rem}.cards.table-100 table.dataview thead:before,.table-100 .cards table.dataview thead:before{margin-right:.75rem}.cards table.dataview thead{user-select:none;width:180px;display:block;float:right;position:relative;text-align:right;height:24px;padding-bottom:0}.cards table.dataview thead:hover:after{background-color:var(--background-modifier-hover)}.cards table.dataview thead:hover:before{background-color:var(--text-muted)}.cards table.dataview thead:after,.cards table.dataview thead:before{content:"";position:absolute;right:0;top:0;width:10px;height:16px;cursor:var(--cursor);text-align:right;padding:var(--size-4-1) var(--size-4-2);margin-bottom:2px;border-radius:var(--radius-s);font-weight:500;font-size:var(--font-adaptive-small)}.cards table.dataview thead:before{background-color:var(--text-faint);-webkit-mask-repeat:no-repeat;-webkit-mask-size:16px;-webkit-mask-position:center center;-webkit-mask-image:url('data:image/svg+xml;utf8,')}.cards table.dataview thead>tr{top:-1px;position:absolute;display:none;z-index:9;border:1px solid var(--background-modifier-border-hover);background-color:var(--background-secondary);box-shadow:var(--shadow-s);padding:6px;border-radius:var(--radius-m);flex-direction:column;margin:24px 0 0 0;width:100%}.cards table.dataview thead:hover>tr{display:flex;height:auto}.cards table.dataview thead>tr>th{display:block;padding:3px 30px 3px 6px!important;border-radius:var(--radius-s);width:100%;font-weight:400;color:var(--text-normal);cursor:var(--cursor);border:none;font-size:var(--font-ui-small)}.cards table.dataview thead>tr>th[sortable-style=sortable-asc],.cards table.dataview thead>tr>th[sortable-style=sortable-desc]{color:var(--text-normal)}.cards table.dataview thead>tr>th:hover{color:var(--text-normal);background-color:var(--background-modifier-hover)}.list-cards.markdown-preview-view .list-bullet,.list-cards.markdown-preview-view .list-collapse-indicator,.list-cards.markdown-preview-view.markdown-rendered.show-indentation-guide li>ul::before{display:none}.list-cards.markdown-preview-view div>ul{display:grid;gap:.75rem;grid-template-columns:var(--cards-columns);padding:0;line-height:var(--line-height-tight)}.list-cards.markdown-preview-view div>ul .contains-task-list{padding-inline-start:calc(var(--cards-padding)*1.5)}.list-cards.markdown-preview-view div>ul>li.task-list-item>.task-list-item-checkbox{margin-inline-start:3px}.list-cards.markdown-preview-view div>ul>li{background-color:var(--cards-background);padding:calc(var(--cards-padding)/2);border-radius:var(--radius-s);border:var(--cards-border-width) solid var(--background-modifier-border);overflow:hidden;margin-inline-start:0}.list-cards.markdown-preview-view div>ul .image-embed{padding:0;display:block;background-color:var(--background-secondary);border-radius:var(--image-radius)}.list-cards.markdown-preview-view div>ul .image-embed img{aspect-ratio:var(--cards-aspect-ratio);object-fit:var(--cards-image-fit);max-height:var(--cards-image-height);background-color:var(--background-secondary);vertical-align:bottom}.list-cards.markdown-preview-view div>ul>li>a{--link-decoration:none;--link-external-decoration:none;font-weight:var(--bold-weight)}.list-cards.markdown-preview-view div ul>li:hover{border-color:var(--background-modifier-border-hover)}.list-cards.markdown-preview-view div ul ul{display:block;width:100%;color:var(--text-muted);font-size:var(--font-smallest);margin:calc(var(--cards-padding)/-4) 0;padding:calc(var(--cards-padding)/2) 0}.list-cards.markdown-preview-view div ul ul ul{padding-bottom:calc(var(--cards-padding)/4)}.list-cards.markdown-preview-view div ul ul>li{display:block;margin-inline-start:0}.cards.cards-16-9,.list-cards.cards-16-9{--cards-aspect-ratio:16/9}.cards.cards-1-1,.list-cards.cards-1-1{--cards-aspect-ratio:1/1}.cards.cards-2-1,.list-cards.cards-2-1{--cards-aspect-ratio:2/1}.cards.cards-2-3,.list-cards.cards-2-3{--cards-aspect-ratio:2/3}.cards.cards-cols-1,.list-cards.cards-cols-1{--cards-columns:repeat(1, minmax(0, 1fr))}.cards.cards-cols-2,.list-cards.cards-cols-2{--cards-columns:repeat(2, minmax(0, 1fr))}.cards.cards-cover,.list-cards.cards-cover{--cards-image-fit:cover}.cards.cards-cover tbody>tr>td:first-child,.list-cards.cards-cover tbody>tr>td:first-child{padding:0!important;background-color:var(--background-secondary);display:block;margin:0;width:100%}.cards.cards-cover tbody>tr>td:first-child img,.list-cards.cards-cover tbody>tr>td:first-child img{border-radius:0}.cards.cards-align-bottom table.dataview tbody>tr>td:last-child,.list-cards.cards-align-bottom table.dataview tbody>tr>td:last-child{margin-top:auto}@media(max-width:400pt){.cards table.dataview tbody>tr>td:not(:first-child){font-size:80%}}@media(min-width:400pt){.cards-cols-3{--cards-columns:repeat(3, minmax(0, 1fr))}.cards-cols-4{--cards-columns:repeat(4, minmax(0, 1fr))}.cards-cols-5{--cards-columns:repeat(5, minmax(0, 1fr))}.cards-cols-6{--cards-columns:repeat(6, minmax(0, 1fr))}.cards-cols-7{--cards-columns:repeat(7, minmax(0, 1fr))}.cards-cols-8{--cards-columns:repeat(8, minmax(0, 1fr))}}.cm-formatting.cm-formatting-task.cm-property{font-family:var(--font-monospace)}input[data-task="!"]:checked,input[data-task="*"]:checked,input[data-task="-"]:checked,input[data-task="<"]:checked,input[data-task=">"]:checked,input[data-task=I]:checked,input[data-task=b]:checked,input[data-task=c]:checked,input[data-task=d]:checked,input[data-task=f]:checked,input[data-task=k]:checked,input[data-task=l]:checked,input[data-task=p]:checked,input[data-task=u]:checked,input[data-task=w]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked,li[data-task="*"]>input:checked,li[data-task="*"]>p>input:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked,li[data-task="<"]>input:checked,li[data-task="<"]>p>input:checked,li[data-task=">"]>input:checked,li[data-task=">"]>p>input:checked,li[data-task=I]>input:checked,li[data-task=I]>p>input:checked,li[data-task=b]>input:checked,li[data-task=b]>p>input:checked,li[data-task=c]>input:checked,li[data-task=c]>p>input:checked,li[data-task=d]>input:checked,li[data-task=d]>p>input:checked,li[data-task=f]>input:checked,li[data-task=f]>p>input:checked,li[data-task=k]>input:checked,li[data-task=k]>p>input:checked,li[data-task=l]>input:checked,li[data-task=l]>p>input:checked,li[data-task=p]>input:checked,li[data-task=p]>p>input:checked,li[data-task=u]>input:checked,li[data-task=u]>p>input:checked,li[data-task=w]>input:checked,li[data-task=w]>p>input:checked{--checkbox-marker-color:transparent;border:none;border-radius:0;background-image:none;background-color:currentColor;-webkit-mask-size:var(--checkbox-icon);-webkit-mask-position:50% 50%}input[data-task=">"]:checked,li[data-task=">"]>input:checked,li[data-task=">"]>p>input:checked{color:var(--text-faint);transform:rotate(90deg);-webkit-mask-position:50% 100%;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M10.894 2.553a1 1 0 00-1.788 0l-7 14a1 1 0 001.169 1.409l5-1.429A1 1 0 009 15.571V11a1 1 0 112 0v4.571a1 1 0 00.725.962l5 1.428a1 1 0 001.17-1.408l-7-14z' /%3E%3C/svg%3E")}input[data-task="<"]:checked,li[data-task="<"]>input:checked,li[data-task="<"]>p>input:checked{color:var(--text-faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M10 18a8 8 0 100-16 8 8 0 000 16zm1-12a1 1 0 10-2 0v4a1 1 0 00.293.707l2.828 2.829a1 1 0 101.415-1.415L11 9.586V6z' clip-rule='evenodd' /%3E%3C/svg%3E");-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 2a1 1 0 00-1 1v1H4a2 2 0 00-2 2v10a2 2 0 002 2h12a2 2 0 002-2V6a2 2 0 00-2-2h-1V3a1 1 0 10-2 0v1H7V3a1 1 0 00-1-1zm0 5a1 1 0 000 2h8a1 1 0 100-2H6z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task="?"]:checked,li[data-task="?"]>input:checked,li[data-task="?"]>p>input:checked{--checkbox-marker-color:transparent;background-color:var(--color-yellow);border-color:var(--color-yellow);background-position:50% 50%;background-size:200% 90%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"%3E%3Cpath fill="white" fill-rule="evenodd" d="M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215c0 1.344-.665 2.288-1.79 2.973c-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712c1.03-.632 1.397-1.135 1.397-2.028c0-.979-.758-1.698-1.926-1.698c-1.009 0-1.71.529-1.938 1.402c-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09c0-.618-.473-1.092-1.095-1.092c-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task="?"]:checked,.theme-dark li[data-task="?"]>input:checked,.theme-dark li[data-task="?"]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 16 16"%3E%3Cpath fill="black" fill-opacity="0.8" fill-rule="evenodd" d="M4.475 5.458c-.284 0-.514-.237-.47-.517C4.28 3.24 5.576 2 7.825 2c2.25 0 3.767 1.36 3.767 3.215c0 1.344-.665 2.288-1.79 2.973c-1.1.659-1.414 1.118-1.414 2.01v.03a.5.5 0 0 1-.5.5h-.77a.5.5 0 0 1-.5-.495l-.003-.2c-.043-1.221.477-2.001 1.645-2.712c1.03-.632 1.397-1.135 1.397-2.028c0-.979-.758-1.698-1.926-1.698c-1.009 0-1.71.529-1.938 1.402c-.066.254-.278.461-.54.461h-.777ZM7.496 14c.622 0 1.095-.474 1.095-1.09c0-.618-.473-1.092-1.095-1.092c-.606 0-1.087.474-1.087 1.091S6.89 14 7.496 14Z"%2F%3E%3C%2Fsvg%3E')}input[data-task="/"]:checked,li[data-task="/"]>input:checked,li[data-task="/"]>p>input:checked{background-image:none;background-color:rgba(0,0,0,0);position:relative;overflow:hidden}input[data-task="/"]:checked:after,li[data-task="/"]>input:checked:after,li[data-task="/"]>p>input:checked:after{top:0;left:0;content:" ";display:block;position:absolute;background-color:var(--background-modifier-accent);width:calc(50% - .5px);height:100%;-webkit-mask-image:none}input[data-task="!"]:checked,li[data-task="!"]>input:checked,li[data-task="!"]>p>input:checked{color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M8.257 3.099c.765-1.36 2.722-1.36 3.486 0l5.58 9.92c.75 1.334-.213 2.98-1.742 2.98H4.42c-1.53 0-2.493-1.646-1.743-2.98l5.58-9.92zM11 13a1 1 0 11-2 0 1 1 0 012 0zm-1-8a1 1 0 00-1 1v3a1 1 0 002 0V6a1 1 0 00-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task='"']:checked,input[data-task=“]:checked,li[data-task='"']>input:checked,li[data-task='"']>p>input:checked,li[data-task=“]>input:checked,li[data-task=“]>p>input:checked{--checkbox-marker-color:transparent;background-position:50% 50%;background-color:var(--color-cyan);border-color:var(--color-cyan);background-size:75%;background-repeat:no-repeat;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"%3E%3Cpath fill="white" d="M6.5 10c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.318.142-.686.238-1.028.466c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.945c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.317.143-.686.238-1.028.467c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.944c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 17.5 10z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task='"']:checked,.theme-dark input[data-task=“]:checked,.theme-dark li[data-task='"']>input:checked,.theme-dark li[data-task='"']>p>input:checked,.theme-dark li[data-task=“]>input:checked,.theme-dark li[data-task=“]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 24 24"%3E%3Cpath fill="black" fill-opacity="0.7" d="M6.5 10c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.318.142-.686.238-1.028.466c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.945c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 6.5 10zm11 0c-.223 0-.437.034-.65.065c.069-.232.14-.468.254-.68c.114-.308.292-.575.469-.844c.148-.291.409-.488.601-.737c.201-.242.475-.403.692-.604c.213-.21.492-.315.714-.463c.232-.133.434-.28.65-.35l.539-.222l.474-.197l-.485-1.938l-.597.144c-.191.048-.424.104-.689.171c-.271.05-.56.187-.882.312c-.317.143-.686.238-1.028.467c-.344.218-.741.4-1.091.692c-.339.301-.748.562-1.05.944c-.33.358-.656.734-.909 1.162c-.293.408-.492.856-.702 1.299c-.19.443-.343.896-.468 1.336c-.237.882-.343 1.72-.384 2.437c-.034.718-.014 1.315.028 1.747c.015.204.043.402.063.539l.025.168l.026-.006A4.5 4.5 0 1 0 17.5 10z"%2F%3E%3C%2Fsvg%3E')}input[data-task="-"]:checked,li[data-task="-"]>input:checked,li[data-task="-"]>p>input:checked{color:var(--text-faint);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M3 10a1 1 0 011-1h12a1 1 0 110 2H4a1 1 0 01-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}body:not(.tasks) .markdown-preview-view ul li[data-task="-"].task-list-item.is-checked,body:not(.tasks) .markdown-source-view.mod-cm6 .HyperMD-task-line[data-task]:is([data-task="-"]),body:not(.tasks) li[data-task="-"].task-list-item.is-checked{color:var(--text-faint);text-decoration:line-through solid var(--text-faint) 1px}input[data-task="*"]:checked,li[data-task="*"]>input:checked,li[data-task="*"]>p>input:checked{color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M9.049 2.927c.3-.921 1.603-.921 1.902 0l1.07 3.292a1 1 0 00.95.69h3.462c.969 0 1.371 1.24.588 1.81l-2.8 2.034a1 1 0 00-.364 1.118l1.07 3.292c.3.921-.755 1.688-1.54 1.118l-2.8-2.034a1 1 0 00-1.175 0l-2.8 2.034c-.784.57-1.838-.197-1.539-1.118l1.07-3.292a1 1 0 00-.364-1.118L2.98 8.72c-.783-.57-.38-1.81.588-1.81h3.461a1 1 0 00.951-.69l1.07-3.292z' /%3E%3C/svg%3E")}input[data-task=l]:checked,li[data-task=l]>input:checked,li[data-task=l]>p>input:checked{color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M5.05 4.05a7 7 0 119.9 9.9L10 18.9l-4.95-4.95a7 7 0 010-9.9zM10 11a2 2 0 100-4 2 2 0 000 4z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task=i]:checked,li[data-task=i]>input:checked,li[data-task=i]>p>input:checked{--checkbox-marker-color:transparent;background-color:var(--color-blue);border-color:var(--color-blue);background-position:50%;background-size:100%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="none" stroke="white" stroke-linecap="round" stroke-linejoin="round" stroke-width="40" d="M196 220h64v172"%2F%3E%3Cpath fill="none" stroke="white" stroke-linecap="round" stroke-miterlimit="10" stroke-width="40" d="M187 396h138"%2F%3E%3Cpath fill="white" d="M256 160a32 32 0 1 1 32-32a32 32 0 0 1-32 32Z"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task=i]:checked,.theme-dark li[data-task=i]>input:checked,.theme-dark li[data-task=i]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 512 512"%3E%3Cpath fill="none" stroke="black" stroke-opacity="0.8" stroke-linecap="round" stroke-linejoin="round" stroke-width="40" d="M196 220h64v172"%2F%3E%3Cpath fill="none" stroke="black" stroke-opacity="0.8" stroke-linecap="round" stroke-miterlimit="10" stroke-width="40" d="M187 396h138"%2F%3E%3Cpath fill="black" fill-opacity="0.8" d="M256 160a32 32 0 1 1 32-32a32 32 0 0 1-32 32Z"%2F%3E%3C%2Fsvg%3E')}input[data-task=S]:checked,li[data-task=S]>input:checked,li[data-task=S]>p>input:checked{--checkbox-marker-color:transparent;border-color:var(--color-green);background-color:var(--color-green);background-size:100%;background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 48 48"%3E%3Cpath fill="white" fill-rule="evenodd" d="M26 8a2 2 0 1 0-4 0v2a8 8 0 1 0 0 16v8a4.002 4.002 0 0 1-3.773-2.666a2 2 0 0 0-3.771 1.332A8.003 8.003 0 0 0 22 38v2a2 2 0 1 0 4 0v-2a8 8 0 1 0 0-16v-8a4.002 4.002 0 0 1 3.773 2.666a2 2 0 0 0 3.771-1.332A8.003 8.003 0 0 0 26 10V8Zm-4 6a4 4 0 0 0 0 8v-8Zm4 12v8a4 4 0 0 0 0-8Z" clip-rule="evenodd"%2F%3E%3C%2Fsvg%3E')}.theme-dark input[data-task=S]:checked,.theme-dark li[data-task=S]>input:checked,.theme-dark li[data-task=S]>p>input:checked{background-image:url('data:image/svg+xml,%3Csvg xmlns="http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg" width="20" height="20" preserveAspectRatio="xMidYMid meet" viewBox="0 0 48 48"%3E%3Cpath fill-opacity="0.8" fill="black" fill-rule="evenodd" d="M26 8a2 2 0 1 0-4 0v2a8 8 0 1 0 0 16v8a4.002 4.002 0 0 1-3.773-2.666a2 2 0 0 0-3.771 1.332A8.003 8.003 0 0 0 22 38v2a2 2 0 1 0 4 0v-2a8 8 0 1 0 0-16v-8a4.002 4.002 0 0 1 3.773 2.666a2 2 0 0 0 3.771-1.332A8.003 8.003 0 0 0 26 10V8Zm-4 6a4 4 0 0 0 0 8v-8Zm4 12v8a4 4 0 0 0 0-8Z" clip-rule="evenodd"%2F%3E%3C%2Fsvg%3E')}input[data-task=I]:checked,li[data-task=I]>input:checked,li[data-task=I]>p>input:checked{color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M11 3a1 1 0 10-2 0v1a1 1 0 102 0V3zM15.657 5.757a1 1 0 00-1.414-1.414l-.707.707a1 1 0 001.414 1.414l.707-.707zM18 10a1 1 0 01-1 1h-1a1 1 0 110-2h1a1 1 0 011 1zM5.05 6.464A1 1 0 106.464 5.05l-.707-.707a1 1 0 00-1.414 1.414l.707.707zM5 10a1 1 0 01-1 1H3a1 1 0 110-2h1a1 1 0 011 1zM8 16v-1h4v1a2 2 0 11-4 0zM12 14c.015-.34.208-.646.477-.859a4 4 0 10-4.954 0c.27.213.462.519.476.859h4.002z' /%3E%3C/svg%3E")}input[data-task=f]:checked,li[data-task=f]>input:checked,li[data-task=f]>p>input:checked{color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12.395 2.553a1 1 0 00-1.45-.385c-.345.23-.614.558-.822.88-.214.33-.403.713-.57 1.116-.334.804-.614 1.768-.84 2.734a31.365 31.365 0 00-.613 3.58 2.64 2.64 0 01-.945-1.067c-.328-.68-.398-1.534-.398-2.654A1 1 0 005.05 6.05 6.981 6.981 0 003 11a7 7 0 1011.95-4.95c-.592-.591-.98-.985-1.348-1.467-.363-.476-.724-1.063-1.207-2.03zM12.12 15.12A3 3 0 017 13s.879.5 2.5.5c0-1 .5-4 1.25-4.5.5 1 .786 1.293 1.371 1.879A2.99 2.99 0 0113 13a2.99 2.99 0 01-.879 2.121z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task=k]:checked,li[data-task=k]>input:checked,li[data-task=k]>p>input:checked{color:var(--color-yellow);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M18 8a6 6 0 01-7.743 5.743L10 14l-1 1-1 1H6v2H2v-4l4.257-4.257A6 6 0 1118 8zm-6-4a1 1 0 100 2 2 2 0 012 2 1 1 0 102 0 4 4 0 00-4-4z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task=u]:checked,li[data-task=u]>input:checked,li[data-task=u]>p>input:checked{color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12 7a1 1 0 110-2h5a1 1 0 011 1v5a1 1 0 11-2 0V8.414l-4.293 4.293a1 1 0 01-1.414 0L8 10.414l-4.293 4.293a1 1 0 01-1.414-1.414l5-5a1 1 0 011.414 0L11 10.586 14.586 7H12z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task=d]:checked,li[data-task=d]>input:checked,li[data-task=d]>p>input:checked{color:var(--color-red);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M12 13a1 1 0 100 2h5a1 1 0 001-1V9a1 1 0 10-2 0v2.586l-4.293-4.293a1 1 0 00-1.414 0L8 9.586 3.707 5.293a1 1 0 00-1.414 1.414l5 5a1 1 0 001.414 0L11 9.414 14.586 13H12z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task=w]:checked,li[data-task=w]>input:checked,li[data-task=w]>p>input:checked{color:var(--color-purple);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath fill-rule='evenodd' d='M6 3a1 1 0 011-1h.01a1 1 0 010 2H7a1 1 0 01-1-1zm2 3a1 1 0 00-2 0v1a2 2 0 00-2 2v1a2 2 0 00-2 2v.683a3.7 3.7 0 011.055.485 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0 3.704 3.704 0 014.11 0 1.704 1.704 0 001.89 0A3.7 3.7 0 0118 12.683V12a2 2 0 00-2-2V9a2 2 0 00-2-2V6a1 1 0 10-2 0v1h-1V6a1 1 0 10-2 0v1H8V6zm10 8.868a3.704 3.704 0 01-4.055-.036 1.704 1.704 0 00-1.89 0 3.704 3.704 0 01-4.11 0 1.704 1.704 0 00-1.89 0A3.704 3.704 0 012 14.868V17a1 1 0 001 1h14a1 1 0 001-1v-2.132zM9 3a1 1 0 011-1h.01a1 1 0 110 2H10a1 1 0 01-1-1zm3 0a1 1 0 011-1h.01a1 1 0 110 2H13a1 1 0 01-1-1z' clip-rule='evenodd' /%3E%3C/svg%3E")}input[data-task=p]:checked,li[data-task=p]>input:checked,li[data-task=p]>p>input:checked{color:var(--color-green);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M2 10.5a1.5 1.5 0 113 0v6a1.5 1.5 0 01-3 0v-6zM6 10.333v5.43a2 2 0 001.106 1.79l.05.025A4 4 0 008.943 18h5.416a2 2 0 001.962-1.608l1.2-6A2 2 0 0015.56 8H12V4a2 2 0 00-2-2 1 1 0 00-1 1v.667a4 4 0 01-.8 2.4L6.8 7.933a4 4 0 00-.8 2.4z' /%3E%3C/svg%3E")}input[data-task=c]:checked,li[data-task=c]>input:checked,li[data-task=c]>p>input:checked{color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M18 9.5a1.5 1.5 0 11-3 0v-6a1.5 1.5 0 013 0v6zM14 9.667v-5.43a2 2 0 00-1.105-1.79l-.05-.025A4 4 0 0011.055 2H5.64a2 2 0 00-1.962 1.608l-1.2 6A2 2 0 004.44 12H8v4a2 2 0 002 2 1 1 0 001-1v-.667a4 4 0 01.8-2.4l1.4-1.866a4 4 0 00.8-2.4z' /%3E%3C/svg%3E")}input[data-task=b]:checked,li[data-task=b]>input:checked,li[data-task=b]>p>input:checked{color:var(--color-orange);-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' class='h-5 w-5' viewBox='0 0 20 20' fill='currentColor'%3E%3Cpath d='M5 4a2 2 0 012-2h6a2 2 0 012 2v14l-5-2.5L5 18V4z' /%3E%3C/svg%3E")}.colorful-active .nav-files-container{--nav-item-background-active:var(--interactive-accent);--nav-item-color-active:var(--text-on-accent)}.colorful-active .nav-files-container .is-active .nav-file-tag{color:var(--text-on-accent);opacity:.6}.colorful-active .tree-item-self.is-being-renamed:focus-within{--nav-item-color-active:var(--text-normal)}.colorful-active #calendar-container .active,.colorful-active #calendar-container .active.today,.colorful-active #calendar-container .active:hover,.colorful-active #calendar-container .day:active{background-color:var(--interactive-accent);color:var(--text-on-accent)}.colorful-active #calendar-container .active .dot,.colorful-active #calendar-container .day:active .dot,.colorful-active #calendar-container .today.active .dot{fill:var(--text-on-accent)}body:not(.colorful-active) .horizontal-tab-nav-item.is-active,body:not(.colorful-active) .vertical-tab-nav-item.is-active{background-color:var(--bg3);color:var(--text-normal)}body{--frame-background:hsl( var(--frame-background-h), var(--frame-background-s), var(--frame-background-l));--frame-icon-color:var(--frame-muted-color)}.theme-light{--frame-background-h:var(--accent-h);--frame-background-s:var(--accent-s);--frame-background-l:calc(var(--accent-l) + 30%);--frame-outline-color:hsla( var(--frame-background-h), var(--frame-background-s), calc(var(--frame-background-l) - 6.5%), 1 );--frame-muted-color:hsl( var(--frame-background-h), calc(var(--frame-background-s) - 10%), calc(var(--frame-background-l) - 35%))}.theme-dark{--frame-background-h:var(--accent-h);--frame-background-s:var(--accent-s);--frame-background-l:calc(var(--accent-l) - 25%);--frame-outline-color:hsla( var(--frame-background-h), calc(var(--frame-background-s) - 2%), calc(var(--frame-background-l) + 6.5%), 1 );--frame-muted-color:hsl( var(--frame-background-h), calc(var(--frame-background-s) - 10%), calc(var(--frame-background-l) + 25%))}.colorful-frame.theme-dark{--tab-outline-width:0px}.colorful-frame,.colorful-frame.is-focused{--frame-divider-color:var(--frame-outline-color);--titlebar-background:var(--frame-background);--titlebar-background-focused:var(--frame-background);--titlebar-text-color:var(--frame-muted-color);--minimal-tab-text-color:var(--frame-muted-color)}.colorful-frame .workspace-tabs:not(.mod-stacked),.colorful-frame.is-focused .workspace-tabs:not(.mod-stacked){--tab-text-color:var(--minimal-tab-text-color);--tab-text-color-focused:var(--minimal-tab-text-color)}.colorful-frame .mod-top .workspace-tab-header-container,.colorful-frame .titlebar,.colorful-frame .workspace-ribbon.mod-left:before,.colorful-frame.is-focused .mod-top .workspace-tab-header-container,.colorful-frame.is-focused .titlebar,.colorful-frame.is-focused .workspace-ribbon.mod-left:before{--tab-outline-color:var(--frame-outline-color);--tab-divider-color:var(--frame-outline-color)}.colorful-frame .mod-root .workspace-tab-header .workspace-tab-header-inner-icon,.colorful-frame.is-focused .mod-root .workspace-tab-header .workspace-tab-header-inner-icon{--icon-color:var(--minimal-tab-text-color-active);--icon-color-hover:var(--minimal-tab-text-color-active);--icon-color-active:var(--minimal-tab-text-color-active);--icon-color-focused:var(--minimal-tab-text-color-active)}.colorful-frame .mod-left-split .mod-top .workspace-tab-header,.colorful-frame .mod-right-split .mod-top .workspace-tab-header,.colorful-frame .sidebar-toggle-button,.colorful-frame .workspace-tab-header-new-tab,.colorful-frame .workspace-tab-header-tab-list,.colorful-frame .workspace-tab-header:not(.is-active),.colorful-frame.is-focused .mod-left-split .mod-top .workspace-tab-header,.colorful-frame.is-focused .mod-right-split .mod-top .workspace-tab-header,.colorful-frame.is-focused .sidebar-toggle-button,.colorful-frame.is-focused .workspace-tab-header-new-tab,.colorful-frame.is-focused .workspace-tab-header-tab-list,.colorful-frame.is-focused .workspace-tab-header:not(.is-active){--background-modifier-hover:var(--frame-outline-color);--icon-color:var(--frame-icon-color);--icon-color-hover:var(--frame-icon-color);--icon-color-active:var(--frame-icon-color);--icon-color-focused:var(--frame-icon-color);--icon-color-focus:var(--frame-icon-color)}.colorful-frame .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.colorful-frame .mod-right-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.colorful-frame.is-focused .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.colorful-frame.is-focused .mod-right-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon{color:var(--frame-icon-color)}.workspace-leaf-resize-handle{transition:none}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle{-webkit-app-region:no-drag;border:0;z-index:15}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:after{content:"";height:100%;width:1px;background:linear-gradient(180deg,var(--frame-outline-color) var(--header-height),var(--divider-color) var(--header-height));top:0;position:absolute}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle:hover:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle:hover:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:hover:after{background:var(--divider-color-hover)}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-right-split>.workspace-leaf-resize-handle:after{left:0}.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-left-split>.workspace-leaf-resize-handle:after,.colorful-frame.is-hidden-frameless:not(.minimal-focus-mode) .workspace-split.mod-vertical>*>.workspace-leaf-resize-handle:after{right:0}body.colorful-headings{--h1-color:var(--color-red);--h2-color:var(--color-orange);--h3-color:var(--color-yellow);--h4-color:var(--color-green);--h5-color:var(--color-blue);--h6-color:var(--color-purple)}body.colorful-headings .modal{--h1-color:var(--text-normal);--h2-color:var(--text-normal);--h3-color:var(--text-normal);--h4-color:var(--text-normal);--h5-color:var(--text-normal);--h6-color:var(--text-normal)}.workspace-ribbon.mod-left{border-left:0;transition:none}:root{--focus-animation-duration:0.1s}.minimal-focus-mode.is-translucent .workspace-ribbon.mod-left.is-collapsed,.minimal-focus-mode.is-translucent .workspace-ribbon.mod-left.is-collapsed:before{background-color:var(--background-primary)!important}.minimal-focus-mode .workspace-ribbon.mod-left{transition:background-color 0s linear 0s}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed{border-color:transparent;background-color:var(--background-primary)}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:before{background-color:var(--background-primary);border-color:transparent}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed .side-dock-actions,.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed .side-dock-settings{opacity:0;transition:opacity var(--focus-animation-duration) ease-in-out .1s}.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:hover .side-dock-actions,.minimal-focus-mode .workspace-ribbon.mod-left.is-collapsed:hover .side-dock-settings{opacity:1;transition:opacity var(--focus-animation-duration) ease-in-out .1s}.minimal-focus-mode.borders-title .workspace-ribbon.mod-left.is-collapsed{border-right:none}.minimal-focus-mode .mod-root .sidebar-toggle-button.mod-right{opacity:0;transition:opacity var(--focus-animation-duration) ease-in-out .5s}.minimal-focus-mode:not(.minimal-status-off) .status-bar{opacity:0;transition:opacity var(--focus-animation-duration) ease-in-out}.minimal-focus-mode .status-bar:hover{opacity:1;transition:opacity var(--focus-animation-duration) ease-in-out}.minimal-focus-mode .mod-root .workspace-tabs{position:relative}.minimal-focus-mode .mod-root .workspace-tabs:before:hover{background-color:#00f}.minimal-focus-mode .mod-root .workspace-tab-header-container{height:0;transition:all var(--focus-animation-duration) linear .6s;--tab-outline-width:0px}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-container-inner,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-new-tab,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-tab-list{opacity:0;transition:all var(--focus-animation-duration) linear .6s}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-spacer:before{width:100%;content:" ";background-color:rgba(0,0,0,0);height:15px;position:absolute;z-index:100;top:0;left:0}.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-container-inner .workspace-tab-header.is-active,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-container-inner .workspace-tab-header.is-active::after,.minimal-focus-mode .mod-root .workspace-tab-header-container .workspace-tab-header-container-inner .workspace-tab-header.is-active::before{transition:all var(--focus-animation-duration) linear .6s}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover{height:var(--header-height);--tab-outline-width:1px;transition:all var(--focus-animation-duration) linear .05s}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .sidebar-toggle-button.mod-right,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-container-inner,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-new-tab,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-tab-list{opacity:1;transition:all var(--focus-animation-duration) linear .05s}.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-container-inner .workspace-tab-header.is-active,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-container-inner .workspace-tab-header.is-active::after,.minimal-focus-mode .mod-root .workspace-tab-header-container:hover .workspace-tab-header-container-inner .workspace-tab-header.is-active::before{transition:all var(--focus-animation-duration) linear .05s}.minimal-focus-mode.mod-macos:not(.is-fullscreen) .workspace:not(.is-left-sidedock-open) .mod-root .workspace-tabs.mod-stacked .workspace-tab-container .workspace-tab-header-inner{padding-top:30px}body.show-view-header .app-container .workspace-split.mod-root>.workspace-leaf .view-header{transition:height var(--focus-animation-duration) linear .1s}body.minimal-focus-mode.show-view-header .mod-top-left-space .view-header{padding-left:var(--frame-left-space)}body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header{height:0;transition:all var(--focus-animation-duration) linear .5s}body.minimal-focus-mode.show-view-header .view-header::after{width:100%;content:" ";background-color:rgba(0,0,0,0);height:40px;position:absolute;z-index:-9;top:0}body.minimal-focus-mode.show-view-header .view-actions,body.minimal-focus-mode.show-view-header .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header-title-container{opacity:0;transition:all var(--focus-animation-duration) linear .5s}body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header:focus-within,body.minimal-focus-mode.show-view-header .mod-root .workspace-leaf .view-header:hover,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header{height:calc(var(--header-height) + 2px);transition:all var(--focus-animation-duration) linear .1s}body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-actions,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .mod-root .workspace-tab-header-container:hover~.workspace-tab-container .view-header .view-header-title-container,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-actions,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header:focus-within .view-header-title-container,body.minimal-focus-mode.show-view-header .view-header:hover .view-actions,body.minimal-focus-mode.show-view-header .view-header:hover .view-header-nav-buttons,body.minimal-focus-mode.show-view-header .view-header:hover .view-header-title-container{opacity:1;transition:all var(--focus-animation-duration) linear .1s}body.minimal-focus-mode.show-view-header .view-content{height:100%}.full-width-media{--iframe-width:100%}.full-width-media .markdown-preview-view .external-embed,.full-width-media .markdown-preview-view .image-embed img:not(.link-favicon):not(.emoji):not([width]),.full-width-media .markdown-preview-view audio,.full-width-media .markdown-preview-view img:not(.link-favicon):not(.emoji):not([width]),.full-width-media .markdown-preview-view video,.full-width-media .markdown-source-view .external-embed,.full-width-media .markdown-source-view .image-embed img:not(.link-favicon):not(.emoji):not([width]),.full-width-media .markdown-source-view audio,.full-width-media .markdown-source-view img:not(.link-favicon):not(.emoji):not([width]),.full-width-media .markdown-source-view video{width:100%}.markdown-rendered img:not(.emoji),.markdown-rendered video,.markdown-source-view img:not(.emoji),.markdown-source-view video{border-radius:var(--image-radius)}.tabular{font-variant-numeric:tabular-nums}.table-small .bases-view{--bases-table-font-size:85%}.table-small table:not(.calendar){--table-text-size:85%}.table-tiny .bases-view{--bases-table-font-size:75%}.table-tiny table:not(.calendar){--table-text-size:75%}.row-hover{--table-edge-cell-padding-first:8px;--table-edge-cell-padding-last:8px;--table-row-background-hover:var(--hl1);--table-row-alt-background-hover:var(--hl1)}.row-alt{--table-row-alt-background:var(--background-table-rows);--table-row-alt-background-hover:var(--background-table-rows);--table-edge-cell-padding-first:8px;--table-edge-cell-padding-last:8px}.col-alt .markdown-rendered:not(.cards){--table-column-alt-background:var(--background-table-rows)}.table-tabular table:not(.calendar){font-variant-numeric:tabular-nums}.table-center .markdown-preview-view .markdown-preview-sizer table,.table-center .markdown-source-view.mod-cm6 .table-wrapper,.table-center.markdown-preview-view .markdown-preview-sizer table,.table-center.markdown-source-view.mod-cm6 .table-wrapper{margin:0 auto}.table-lines{--table-border-width:var(--border-width);--table-header-border-width:var(--border-width);--table-column-first-border-width:var(--border-width);--table-column-last-border-width:var(--border-width);--table-row-last-border-width:var(--border-width);--table-edge-cell-padding:8px;--table-edge-cell-padding-first:8px;--table-edge-cell-padding-last:8px;--table-add-button-border-width:1px}.table-nowrap{--table-white-space:nowrap}.table-nowrap-first table tbody>tr>td:first-child,.table-nowrap-first table thead>tr>th:first-child{--table-white-space:nowrap}.table-nowrap .table-wrap,.trim-cols{--table-white-space:normal}.table-numbers{--table-numbers-padding-right:0.5em}.table-numbers table:not(.calendar){counter-reset:section}.table-numbers table:not(.calendar)>thead>tr>th:first-child{white-space:nowrap}.table-numbers table:not(.calendar)>thead>tr>th:first-child::before{content:" ";padding-right:var(--table-numbers-padding-right);display:inline-block;min-width:2em}.table-numbers table:not(.calendar)>thead>tr>th:first-child .cm-s-obsidian,.table-numbers table:not(.calendar)>thead>tr>th:first-child .table-cell-wrapper{display:inline-block;min-width:10px}.table-numbers table:not(.calendar).table-editor>tbody>tr>td:first-child .table-cell-wrapper,.table-numbers table:not(.calendar):not(.table-editor)>tbody>tr>td:first-child{white-space:nowrap}.table-numbers table:not(.calendar).table-editor>tbody>tr>td:first-child .table-cell-wrapper::before,.table-numbers table:not(.calendar):not(.table-editor)>tbody>tr>td:first-child::before{counter-increment:section;content:counter(section) " ";text-align:center;padding-right:var(--table-numbers-padding-right);display:inline-block;min-width:2em;color:var(--text-faint);font-variant-numeric:tabular-nums}.table-numbers table:not(.calendar).table-editor>tbody>tr>td:first-child .table-cell-wrapper .cm-s-obsidian,.table-numbers table:not(.calendar):not(.table-editor)>tbody>tr>td:first-child .cm-s-obsidian{display:inline-block;min-width:10px}.table-numbers .table-editor{--table-numbers-padding-right:0}.row-lines-off{--table-row-last-border-width:0;--bases-table-row-border-width:0}.row-lines-off .table-view-table>tbody>tr>td,.row-lines-off table:not(.calendar) tbody>tr:last-child>td,.row-lines-off table:not(.calendar) tbody>tr>td{border-bottom:none}.row-lines:not(.table-lines) .markdown-preview-view:not(.cards),.row-lines:not(.table-lines) .markdown-source-view:not(.cards){--table-row-last-border-width:0}.row-lines:not(.table-lines) .markdown-preview-view:not(.cards) .table-view-table>tbody>tr:not(:last-child)>td,.row-lines:not(.table-lines) .markdown-preview-view:not(.cards) table:not(.calendar) tbody>tr:not(:last-child)>td,.row-lines:not(.table-lines) .markdown-source-view:not(.cards) .table-view-table>tbody>tr:not(:last-child)>td,.row-lines:not(.table-lines) .markdown-source-view:not(.cards) table:not(.calendar) tbody>tr:not(:last-child)>td{border-bottom:var(--table-border-width) solid var(--table-border-color)}.col-lines{--bases-table-column-border-width:var(--table-border-width)}.col-lines .table-view-table thead>tr>th:not(:last-child),.col-lines .table-view-table>tbody>tr>td:not(:last-child),.col-lines table:not(.calendar) tbody>tr>td:not(:last-child){border-right:var(--table-border-width) solid var(--background-modifier-border)}:root{--image-mix:normal}.image-blend-light{--image-mix:multiply}.theme-dark .markdown-preview-view img,.theme-dark .markdown-source-view img{opacity:var(--image-muted);transition:opacity .25s linear}@media print{body{--image-muted:1}}.theme-dark .markdown-preview-view img:hover,.theme-dark .markdown-source-view img:hover,.theme-dark .print-preview img{opacity:1;transition:opacity .25s linear}.theme-light img{mix-blend-mode:var(--image-mix)}div[src$="#blend"],div[src$="#invert"]{background-color:var(--background-primary)}.theme-dark div[src$="#invert"] img,.theme-dark img[src$="#invert"],.theme-dark span[src$="#invert"] img{filter:invert(1) hue-rotate(180deg);mix-blend-mode:screen}.theme-dark div[src$="#blend"] img,.theme-dark img[src$="#blend"],.theme-dark span[src$="#blend"] img{mix-blend-mode:screen}.theme-dark .img-blend{mix-blend-mode:screen}.theme-light div[src$="#blend"] img,.theme-light img[src$="#blend"],.theme-light span[src$="#blend"] img{mix-blend-mode:multiply}.theme-light div[src$="#invertW"] img,.theme-light img[src$="#invertW"],.theme-light span[src$=invertW] img{filter:invert(1) hue-rotate(180deg)}.theme-light .img-blend{mix-blend-mode:multiply}img[src$="#circle"]:not(.emoji),span[src$="#circle"] img:not(.emoji),span[src$="#round"] img:not(.emoji){border-radius:50%;aspect-ratio:1/1}div[src$="#outline"] img,img[src$="#outline"],span[src$="#outline"] img{border:1px solid var(--ui1)}img[src$="#interface"],span[src$="#interface"] img{border:1px solid var(--ui1);box-shadow:0 .5px .9px rgba(0,0,0,.021),0 1.3px 2.5px rgba(0,0,0,.03),0 3px 6px rgba(0,0,0,.039),0 10px 20px rgba(0,0,0,.06);margin-top:10px;margin-bottom:15px;border-radius:var(--radius-m)}body{--image-grid-fit:cover;--image-grid-background:transparent;--img-grid-gap:0.5rem}@media(max-width:400pt){body{--img-grid-gap:0.25rem}}.img-grid-ratio{--image-grid-fit:contain}.img-grid-ratio{--image-grid-fit:contain}.img-grid .image-embed.is-loaded{line-height:0;display:flex;align-items:stretch}.img-grid .image-embed.is-loaded img{background-color:var(--image-grid-background)}.img-grid .image-embed.is-loaded img:active{background-color:rgba(0,0,0,0)}.img-grid .markdown-preview-section>div:has(img) .image-embed~br,.img-grid .markdown-preview-section>div:has(img) img~br,.img-grid .markdown-preview-section>div:has(img) p:empty{display:none}.img-grid .markdown-preview-section div:has(>.image-embed~.image-embed),.img-grid .markdown-preview-section div:has(>img~img),.img-grid .markdown-preview-section p:has(>.image-embed~.image-embed),.img-grid .markdown-preview-section p:has(>.image-embed~img),.img-grid .markdown-preview-section p:has(>img~.image-embed),.img-grid .markdown-preview-section p:has(>img~img){display:grid;margin-block-start:var(--img-grid-gap);margin-block-end:var(--img-grid-gap);grid-column-gap:var(--img-grid-gap);grid-row-gap:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.img-grid .markdown-preview-section div:has(>.image-embed~.image-embed)>img,.img-grid .markdown-preview-section div:has(>img~img)>img,.img-grid .markdown-preview-section p:has(>.image-embed~.image-embed)>img,.img-grid .markdown-preview-section p:has(>.image-embed~img)>img,.img-grid .markdown-preview-section p:has(>img~.image-embed)>img,.img-grid .markdown-preview-section p:has(>img~img)>img{object-fit:var(--image-grid-fit);align-self:stretch}.img-grid .markdown-preview-section div:has(>.image-embed~.image-embed)>.internal-embed img,.img-grid .markdown-preview-section div:has(>img~img)>.internal-embed img,.img-grid .markdown-preview-section p:has(>.image-embed~.image-embed)>.internal-embed img,.img-grid .markdown-preview-section p:has(>.image-embed~img)>.internal-embed img,.img-grid .markdown-preview-section p:has(>img~.image-embed)>.internal-embed img,.img-grid .markdown-preview-section p:has(>img~img)>.internal-embed img{object-fit:var(--image-grid-fit);align-self:center}.img-grid .markdown-preview-section>div:has(img)>p{display:grid;margin-block-start:var(--img-grid-gap);margin-block-end:var(--img-grid-gap);grid-column-gap:var(--img-grid-gap);grid-row-gap:0;grid-template-columns:repeat(auto-fit,minmax(0,1fr))}.img-grid .markdown-preview-section>div:has(img)>p>br{display:none}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content div:not(.canvas-node-content) img{cursor:zoom-in}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content img:active{cursor:zoom-out;max-width:100%;z-index:900}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .markdown-preview-view img[referrerpolicy=no-referrer]:active,body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .markdown-source-view.mod-cm6 .cm-content>img[contenteditable=false]:active{background-color:var(--background-primary)}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .image-embed:not(.canvas-node-content):active,body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .markdown-preview-view img[referrerpolicy=no-referrer]:active,body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .markdown-source-view.mod-cm6 .cm-content>img[contenteditable=false]:active{--container-img-width:100%;--container-img-max-width:100%;aspect-ratio:unset;cursor:zoom-out;display:block;z-index:200;position:fixed;max-height:calc(100% + 1px);max-width:100%;height:calc(100% + 1px);width:100%;object-fit:contain;margin:-.5px auto 0!important;text-align:center;padding:0;left:0;right:0;bottom:0}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .image-embed:not(.canvas-node-content):active:after{background-color:var(--background-primary);opacity:.9;content:" ";height:calc(100% + 1px);width:100%;position:fixed;left:0;right:1px;z-index:0}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .image-embed:not(.canvas-node-content):active img{aspect-ratio:unset;z-index:99;padding:0;margin:0 auto;width:calc(100% - 20px);max-height:95vh;object-fit:contain;left:0;right:0;bottom:0;position:absolute;opacity:1}body:not(.zoom-off):not(.is-mobile) .workspace-leaf-content[data-type=markdown] .view-content .markdown-source-view.mod-cm6 .cm-content>.cm-callout[contenteditable=false]:active{contain:unset!important}.labeled-nav.is-fullscreen:not(.colorful-frame),.labeled-nav.mod-windows{--labeled-nav-top-margin:0}.labeled-nav{--labeled-nav-top-margin:var(--header-height)}.labeled-nav.is-translucent .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-header-container-inner{background-color:rgba(0,0,0,0)}.labeled-nav.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .workspace-tabs.mod-top-left-space .workspace-tab-header-container{padding-left:0}.labeled-nav.mod-macos .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav.mod-macos.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .mod-top .workspace-tab-header-container:before{-webkit-app-region:drag;position:absolute;width:calc(100% - var(--divider-width));height:calc(var(--header-height) - var(--tab-outline-width));border-bottom:0 solid var(--tab-outline-color)}.labeled-nav.mod-macos.is-hidden-frameless:not(.is-fullscreen) .workspace-ribbon.mod-left:not(.is-collapsed){border:none;--tab-outline-width:0px}.labeled-nav.colorful-frame.is-hidden-frameless:not(.is-fullscreen) .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav.mod-macos:not(.hider-ribbon) .mod-left-split .mod-top .workspace-tab-header-container:before,.labeled-nav:not(.is-hidden-frameless) .mod-left-split .mod-top .workspace-tab-header-container:before{border-bottom:var(--tab-outline-width) solid var(--tab-outline-color)}.labeled-nav.colorful-frame.is-hidden-frameless:not(.is-fullscreen) .workspace-ribbon.mod-left:not(.is-collapsed),.labeled-nav.mod-macos:not(.hider-ribbon) .workspace-ribbon.mod-left:not(.is-collapsed),.labeled-nav:not(.is-hidden-frameless) .workspace-ribbon.mod-left:not(.is-collapsed){--tab-outline-width:1px}.labeled-nav:not(.is-hidden-frameless) .mod-left-split .mod-top .workspace-tab-header-container:before{position:absolute;top:0;content:" "}.labeled-nav.hider-ribbon.mod-macos.is-hidden-frameless:not(.is-fullscreen):not(.is-popout-window) .mod-left-split:not(.is-sidedock-collapsed) .workspace-tabs.mod-top-left-space .workspace-tab-header-container{padding-left:0}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-spacer{display:none}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-inner-title{display:inline-block;font-weight:500;font-size:var(--font-adaptive-smaller)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container{position:relative;flex-direction:column-reverse!important;height:auto;width:100%}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .sidebar-toggle-button.mod-left{position:absolute;justify-content:flex-end;padding-right:var(--size-4-2);top:0;right:0}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-header-container-inner{padding:var(--size-4-2) var(--size-4-2);margin-top:var(--labeled-nav-top-margin);flex-direction:column!important;background-color:var(--background-secondary)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container .workspace-tab-container-inner{flex-grow:1;gap:0;padding:var(--size-4-2) var(--size-4-3)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header{--icon-color:var(--text-muted);--tab-text-color:var(--text-muted);--tab-text-color-focused:var(--text-muted);padding:0;margin-bottom:2px;border:none;height:auto}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:not(:hover){background-color:rgba(0,0,0,0)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover{opacity:1;--tab-text-color-active:var(--text-normal);--tab-text-color-focused:var(--text-normal);--tab-text-color-focused-active:var(--text-normal);--tab-text-color-focused-active-current:var(--text-normal);--icon-color:var(--text-normal)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header .workspace-tab-header-inner{gap:var(--size-2-3);padding:var(--size-4-1) var(--size-4-2);box-shadow:none;border:none}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.has-active-menu:hover,.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:hover{background-color:rgba(0,0,0,0)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:hover .workspace-tab-header-inner,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:var(--nav-item-background-hover)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover .workspace-tab-header-inner-icon{color:var(--icon-color-active)}.labeled-nav .mod-left-split .mod-top .workspace-tab-header-container{border:none;padding:0}body:not(.links-int-on){--link-decoration:none}body:not(.links-ext-on){--link-external-decoration:none}body:not(.sidebar-color) .mod-right-split{--background-secondary:var(--background-primary)}body:not(.sidebar-color) .mod-right-split :not(.mod-top) .workspace-tab-header-container{--tab-container-background:var(--background-primary)}.theme-dark,.theme-light{--minimal-tab-text-color:var(--tx2);--minimal-tab-text-color-active:var(--tx1)}.workspace-tabs:not(.mod-stacked){--tab-text-color:var(--minimal-tab-text-color);--tab-text-color-focused:var(--minimal-tab-text-color);--tab-text-color-active:var(--minimal-tab-text-color-active);--tab-text-color-focused-active:var(--minimal-tab-text-color-active);--tab-text-color-focused-active-current:var(--minimal-tab-text-color-active)}.tabs-plain-square .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0}.tabs-plain-square .mod-root .workspace-tab-header-container{padding-left:0;padding-right:0}.tabs-plain-square .mod-root .workspace-tab-header-container-inner{margin-top:-1px;margin-left:-15px}.tabs-plain-square .mod-root .workspace-tab-header{padding:0}.tabs-plain-square .mod-root .workspace-tab-header-inner{padding:0 8px}.tabs-square .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0}.tabs-underline .mod-root{--tab-curve:0;--tab-radius:0;--tab-radius-active:0;--tab-outline-width:0px;--tab-background-active:transparent}.tabs-underline .mod-root .workspace-tab-header-container{border-bottom:1px solid var(--divider-color)}.tabs-underline .mod-root .workspace-tab-header{border-bottom:2px solid transparent}.tabs-underline .mod-root .workspace-tab-header:hover{border-bottom:2px solid var(--ui2)}.tabs-underline .mod-root .workspace-tab-header:hover .workspace-tab-header-inner{background-color:rgba(0,0,0,0)}.tabs-underline .mod-root .workspace-tab-header.is-active{border-bottom:2px solid var(--ax3)}.tabs-underline .mod-root .workspace-tab-header-inner:hover{background-color:rgba(0,0,0,0)}body:not(.sidebar-tabs-underline):not(.sidebar-tabs-index):not(.sidebar-tabs-square) .workspace>.workspace-split:not(.mod-root) .workspace-tabs:not(.mod-top) .workspace-tab-header-container{--tab-outline-width:0}.tabs-modern.colorful-frame .mod-root .mod-top.workspace-tabs:not(.mod-stacked){--tab-background:var(--frame-outline-color);--tab-outline-width:1px}.tabs-modern.colorful-frame .mod-root .mod-top.workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-close-button,.tabs-modern.colorful-frame .mod-root .mod-top.workspace-tabs:not(.mod-stacked) .workspace-tab-header:hover .workspace-tab-header-inner-close-button{color:var(--minimal-tab-text-color-active)}.tabs-modern.minimal-focus-mode .mod-root .workspace-tab-header-container:hover{--tab-outline-width:0px}.tabs-modern .mod-root{--tab-container-background:var(--background-primary)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked){--tab-background:var(--background-modifier-hover);--tab-height:calc(var(--header-height) - 14px);--tab-outline-width:0px}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner::after,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header::after,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header::before{display:none}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-container-inner{align-items:center;margin:0;padding:2px var(--size-4-2) 0 var(--size-4-1)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner-title{text-overflow:ellipsis;-webkit-mask-image:none}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header{background:rgba(0,0,0,0);border-radius:5px;border:none;box-shadow:none;height:var(--tab-height);margin-left:var(--size-4-1);padding:0}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active .workspace-tab-header-inner-title{color:var(--tab-text-color-active)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active.mod-active,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:hover{opacity:1;background-color:var(--tab-background)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-new-tab{margin-inline-end:0}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header-inner{padding:0 var(--size-4-1) 0 var(--size-4-2);border:1px solid transparent}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(.is-active):hover .workspace-tab-header-inner{background-color:rgba(0,0,0,0)}.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active:not(.mod-active) .workspace-tab-header-inner,.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header:not(:hover):not(.mod-active) .workspace-tab-header-inner{border:1px solid var(--tab-outline-color)}.tab-names-on .workspace-split:not(.mod-root) .workspace-tab-header-container-inner{--sidebar-tab-text-display:static}.tab-names-on .workspace-split:not(.mod-root) .workspace-tab-header-container-inner .workspace-tab-header-inner-title{font-weight:500}.tab-names-on .workspace-split:not(.mod-root) .workspace-tab-header-container-inner .workspace-tab-header-inner{gap:var(--size-2-3)}.tab-names-single .workspace>.workspace-split:not(.mod-root) .workspace-tab-header-container-inner .workspace-tab-header:only-child{--sidebar-tab-text-display:static;background-color:rgba(0,0,0,0)}.tab-names-single .workspace>.workspace-split:not(.mod-root) .workspace-tab-header-container-inner .workspace-tab-header:only-child .workspace-tab-header-inner-title{font-weight:500}.tab-names-single .workspace>.workspace-split:not(.mod-root) .workspace-tab-header-container-inner .workspace-tab-header:only-child .workspace-tab-header-inner{gap:var(--size-2-3)}.tabs-modern.sidebar-tabs-default .mod-right-split,.tabs-modern.sidebar-tabs-wide .mod-right-split{--tab-outline-width:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-spacer,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-spacer,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-spacer{display:none}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container{padding-right:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{padding:0;margin:0;flex-grow:1;gap:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header{flex-grow:1;border-radius:0;max-width:100px}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header.is-active,.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header:hover,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header.is-active,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header:hover,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header.is-active,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header:hover{background-color:rgba(0,0,0,0)}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header:hover .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header:hover .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header:hover .workspace-tab-header-inner{background-color:rgba(0,0,0,0)}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner{border-bottom:2px solid transparent;border-radius:0}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner:hover,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner:hover,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header .workspace-tab-header-inner:hover{border-color:var(--ui2)}.sidebar-tabs-underline .mod-right-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner,.sidebar-tabs-underline:not(.labeled-nav) .mod-left-split .workspace-tab-header-container .workspace-tab-header.is-active .workspace-tab-header-inner{border-color:var(--ax3);padding-top:1px}.sidebar-tabs-square .mod-left-split,.sidebar-tabs-square .mod-right-split{--tab-radius:0px}.sidebar-tabs-plain-square .mod-left-split,.sidebar-tabs-plain-square .mod-right-split{--tab-radius:0px}.sidebar-tabs-plain-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top),.sidebar-tabs-plain-square:not(.labeled-nav) .mod-left-split{--tab-background-active:var(--background-secondary)}.sidebar-tabs-plain-square .mod-right-split .workspace-tab-header-container,.sidebar-tabs-plain-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container,.sidebar-tabs-plain-square:not(.labeled-nav) .mod-left-split .workspace-tab-header-container{padding-left:0}.sidebar-tabs-plain-square .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-plain-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-plain-square:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{padding:0;margin:0 0 calc(var(--tab-outline-width)*-1);flex-grow:1;gap:0}.sidebar-tabs-plain-square .mod-right-split .workspace-tab-header,.sidebar-tabs-plain-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-plain-square:not(.labeled-nav) .mod-left-split .workspace-tab-header{flex-grow:1;max-width:100px;border-radius:var(--tab-radius) var(--tab-radius) 0 0}.sidebar-tabs-plain-square .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-plain-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-plain-square:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active{box-shadow:0 0 0 var(--tab-outline-width) var(--tab-outline-color);color:var(--tab-text-color-active);background-color:var(--tab-background-active)}.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top),.sidebar-tabs-index:not(.labeled-nav) .mod-left-split,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top),.sidebar-tabs-square:not(.labeled-nav) .mod-left-split{--tab-background-active:var(--background-secondary)}.sidebar-tabs-index .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-index:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner,.sidebar-tabs-square .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-square:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{padding:1px var(--size-4-2) 0;margin:6px 0 calc(var(--tab-outline-width)*-1);flex-grow:1}.sidebar-tabs-index .mod-right-split .workspace-tab-header,.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-index:not(.labeled-nav) .mod-left-split .workspace-tab-header,.sidebar-tabs-square .mod-right-split .workspace-tab-header,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-square:not(.labeled-nav) .mod-left-split .workspace-tab-header{flex-grow:1;max-width:100px;border-radius:var(--tab-radius) var(--tab-radius) 0 0}.sidebar-tabs-index .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-index.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-index:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active,.sidebar-tabs-square .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-square.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-square:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active{box-shadow:0 0 0 var(--tab-outline-width) var(--tab-outline-color);color:var(--tab-text-color-active);background-color:var(--tab-background-active)}.sidebar-tabs-wide .mod-right-split .workspace-tab-header-container-inner,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container-inner,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header-container-inner{flex-grow:1;border:1px solid var(--tab-outline-color);padding:3px;margin:6px 8px 6px;border-radius:4px}.sidebar-tabs-wide .mod-right-split .workspace-tab-header,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header{flex-grow:1}.sidebar-tabs-wide .mod-right-split .workspace-tab-header.is-active,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header.is-active,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header.is-active{border-color:transparent}.sidebar-tabs-wide .mod-right-split .workspace-tab-header-container,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-container,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header-container{padding-right:0}.sidebar-tabs-wide .mod-right-split .workspace-tab-header-spacer,.sidebar-tabs-wide.labeled-nav .mod-left-split .workspace-tabs:not(.mod-top) .workspace-tab-header-spacer,.sidebar-tabs-wide:not(.labeled-nav) .mod-left-split .workspace-tab-header-spacer{display:none}.full-file-names{--nav-item-white-space:normal}body:not(.full-file-names){--nav-item-white-space:nowrap}body:not(.full-file-names) .tree-item-self{white-space:nowrap}body:not(.full-file-names) .tree-item-inner{text-overflow:ellipsis;overflow:hidden}.theme-dark,.theme-light{--h1l:var(--ui1);--h2l:var(--ui1);--h3l:var(--ui1);--h4l:var(--ui1);--h5l:var(--ui1);--h6l:var(--ui1)}.h1-l .markdown-reading-view h1:not(.embedded-note-title),.h1-l .mod-cm6 .cm-editor .HyperMD-header-1{border-bottom:1px solid var(--h1l);padding-bottom:.4em;margin-block-end:.6em}.h2-l .markdown-reading-view h2,.h2-l .mod-cm6 .cm-editor .HyperMD-header-2{border-bottom:1px solid var(--h2l);padding-bottom:.4em;margin-block-end:.6em}.h3-l .markdown-reading-view h3,.h3-l .mod-cm6 .cm-editor .HyperMD-header-3{border-bottom:1px solid var(--h3l);padding-bottom:.4em;margin-block-end:.6em}.h4-l .markdown-reading-view h4,.h4-l .mod-cm6 .cm-editor .HyperMD-header-4{border-bottom:1px solid var(--h4l);padding-bottom:.4em;margin-block-end:.6em}.h5-l .markdown-reading-view h5,.h5-l .mod-cm6 .cm-editor .HyperMD-header-5{border-bottom:1px solid var(--h5l);padding-bottom:.4em;margin-block-end:.6em}.h6-l .markdown-reading-view h6,.h6-l .mod-cm6 .cm-editor .HyperMD-header-6{border-bottom:1px solid var(--h6l);padding-bottom:.4em;margin-block-end:.6em}.is-tablet .workspace-drawer{padding-top:0}.is-tablet .workspace-drawer:not(.is-pinned){margin:30px 16px 0;height:calc(100vh - 48px);border-radius:15px;border:none}.is-tablet .workspace-drawer-ribbon{background-color:var(--background-primary);border-right:1px solid var(--background-modifier-border)}.is-tablet .workspace-drawer-header,.is-tablet .workspace-drawer.is-pinned .workspace-drawer-header{padding-top:var(--size-4-4)}.is-tablet .workspace-drawer-header-icon{margin-inline-start:0}.is-mobile{--font-bold:600;--font-ui-medium:var(--font-adaptive-small);--interactive-normal:var(--background-secondary);--background-modifier-form-field:var(--background-secondary);--background-modifier-form-field-highlighted:var(--background-secondary)}.is-mobile .markdown-source-view.mod-cm6 .cm-gutters{margin-left:0}.is-mobile.theme-light .menu{--interactive-normal:var(--background-modifier-hover)}.is-mobile.theme-light.minimal-light-tonal .workspace-drawer{--interactive-normal:rgb(from color-mix(in srgb, var(--bg2), var(--bg3))r g b / 1)}.is-mobile .workspace-drawer.mod-left.is-pinned{width:var(--mobile-left-sidebar-width);min-width:150pt}.is-mobile .workspace-drawer.mod-right.is-pinned{width:var(--mobile-right-sidebar-width);min-width:150pt}.is-phone{--bases-embed-width:100%;--bases-embed-transform:none}.backlink-pane>.tree-item-self,.backlink-pane>.tree-item-self:hover,.outgoing-link-pane>.tree-item-self,.outgoing-link-pane>.tree-item-self:hover{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500}body{--canvas-dot-pattern:var(--background-modifier-border-hover)}.canvas-node-label{font-size:var(--font-adaptive-small)}.canvas-edges :not(.is-themed) path.canvas-display-path{stroke:var(--background-modifier-border-focus)}.canvas-edges :not(.is-themed) polyline.canvas-path-end{stroke:var(--background-modifier-border-focus);fill:var(--background-modifier-border-focus)}.canvas-node-container{border:1.5px solid var(--background-modifier-border-focus)}.node-insert-event.mod-inside-iframe{--max-width:100%;--folding-offset:0px}.node-insert-event.mod-inside-iframe .cm-editor .cm-content{padding-top:0}.hider-file-nav-header:not(.labeled-nav) .nav-files-container{padding-top:var(--size-4-3)}.is-mobile .nav-folder.mod-root>.nav-folder-title .nav-folder-title-content{display:none}body:not(.is-mobile) .nav-folder.mod-root>.nav-folder-title .nav-folder-title-content{font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:var(--font-adaptive-smallest)}body:not(.is-mobile) .nav-buttons-container{justify-content:flex-start}.nav-file-tag{padding-top:.2em;background-color:rgba(0,0,0,0);color:var(--text-faint)}.nav-file .is-active .nav-file-tag,.nav-file:hover .nav-file-tag{color:var(--text-muted)}input.prompt-input,input.prompt-input:focus,input.prompt-input:focus-visible,input.prompt-input:hover{border-color:rgba(var(--mono-rgb-100),.05)}.is-mobile .mod-publish .modal-content{display:unset;padding:10px 10px 10px;margin-bottom:120px;overflow-x:hidden}.is-mobile .mod-publish .button-container,.is-mobile .modal.mod-publish .modal-button-container{padding:10px 15px 30px;margin-left:0;left:0}.is-mobile .modal.mod-publish .modal-title{padding:10px 20px;margin:0 -10px;border-bottom:1px solid var(--background-modifier-border)}.is-mobile .publish-site-settings-container{margin-right:0;padding:0}.is-mobile .modal.mod-publish .modal-content .publish-sections-container{margin-right:0;padding-right:0}@media(max-width:400pt){.is-mobile .publish-changes-info,.is-mobile .publish-section-header{flex-wrap:wrap;border:none}.is-mobile .publish-changes-info .publish-changes-add-linked-btn{flex-basis:100%;margin-top:10px}.is-mobile .publish-section-header-text{flex-basis:100%;margin-bottom:10px;margin-left:20px;margin-top:-8px}.is-mobile .publish-section{background:var(--background-secondary);border-radius:10px;padding:12px 12px 1px}.is-mobile .publish-changes-switch-site{flex-grow:0;margin-right:10px}}.release-notes-view .cm-scroller.is-readable-line-width{width:var(--line-width);max-width:var(--max-width);margin:0 auto}.search-results-info{border-bottom:none}.workspace-leaf-content[data-type=sync] .tree-item.nav-folder .nav-folder-title{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500;margin-bottom:4px}.workspace-leaf-content[data-type=sync] .tree-item.nav-folder .nav-folder-title:hover{color:var(--text-normal)}.workspace-leaf-content[data-type=sync] .tree-item.nav-folder.is-collapsed .nav-folder-title{color:var(--text-faint)}.workspace-leaf-content[data-type=sync] .tree-item.nav-folder.is-collapsed .nav-folder-title:hover{color:var(--text-muted)}.workspace-leaf-content[data-type=calendar] .view-content{padding:5px 0 0 0}.mod-root #calendar-container{width:var(--line-width);max-width:var(--max-width);margin:0 auto;padding:0}body{--calendar-dot-active:var(--text-faint);--calendar-dot-today:var(--text-accent)}#calendar-container{padding:0 var(--size-4-4) var(--size-4-1);--color-background-day-empty:var(--background-secondary-alt);--color-background-day-active:var(--background-modifier-hover);--color-background-day-hover:var(--background-modifier-hover);--color-dot:var(--text-faint);--calendar-text-active:inherit;--color-text-title:var(--text-normal);--color-text-heading:var(--text-muted);--color-text-day:var(--text-normal);--color-text-today:var(--text-normal);--color-arrow:var(--text-faint);--color-background-day-empty:transparent}#calendar-container .table{border-collapse:separate;table-layout:fixed}#calendar-container h2{font-weight:400;font-size:var(--h2)}#calendar-container .arrow{cursor:var(--cursor);width:22px;border-radius:4px;padding:3px 7px}#calendar-container .arrow svg{width:12px;height:12px;color:var(--text-faint);opacity:.7}#calendar-container .arrow:hover{fill:var(--text-muted);color:var(--text-muted);background-color:var(--background-modifier-hover)}#calendar-container .arrow:hover svg{color:var(--text-muted);opacity:1}#calendar-container tr th{padding:2px 0 4px;font-weight:500;letter-spacing:.1em;font-size:var(--font-adaptive-smallest)}#calendar-container tr th:first-child{padding-left:0!important}#calendar-container tr td{padding:2px 0 0 0;border-radius:var(--radius-m);cursor:var(--cursor);border:1px solid transparent;transition:none}#calendar-container tr td:first-child{padding-left:0!important}#calendar-container .nav{padding:0;margin:var(--size-4-2) var(--size-4-1)}#calendar-container .dot{margin:0}#calendar-container .month,#calendar-container .title,#calendar-container .year{font-size:calc(var(--font-adaptive-small) + 2px);font-weight:400;color:var(--text-normal)}#calendar-container .today,#calendar-container .today.active{color:var(--text-accent);font-weight:600}#calendar-container .today .dot,#calendar-container .today.active .dot{fill:var(--calendar-dot-today)}#calendar-container .active .task{stroke:var(--text-faint)}#calendar-container .active{color:var(--text-normal)}#calendar-container .reset-button{text-transform:none;letter-spacing:0;font-size:var(--font-adaptive-smaller);font-weight:500;color:var(--text-muted);border-radius:4px;margin:0;padding:2px 8px}#calendar-container .reset-button:hover{color:var(--text-normal);background-color:var(--background-modifier-hover)}#calendar-container .day,#calendar-container .reset-button,#calendar-container .week-num{cursor:var(--cursor)}#calendar-container .day.adjacent-month{color:var(--text-faint);opacity:1}#calendar-container .day{padding:2px 4px 4px;transition:none}#calendar-container .day,#calendar-container .week-num{font-size:calc(var(--font-adaptive-smaller) + 5%)}#calendar-container .active,#calendar-container .active.today,#calendar-container .day:hover,#calendar-container .week-num:hover{background-color:var(--color-background-day-active);color:var(--calendar-text-active);transition:none}#calendar-container .active .dot{fill:var(--calendar-dot-active)}#calendar-container .active .task{stroke:var(--text-faint)}.block-language-chart canvas,.block-language-dataviewjs canvas{margin:1em 0}.theme-dark,.theme-light{--chart-color-1:var(--color-blue);--chart-color-2:var(--color-red);--chart-color-3:var(--color-yellow);--chart-color-4:var(--color-green);--chart-color-5:var(--color-orange);--chart-color-6:var(--color-purple);--chart-color-7:var(--color-cyan);--chart-color-8:var(--color-pink)}body #cMenuModalBar{box-shadow:0 2px 20px var(--shadow-color)}body #cMenuModalBar .cMenuCommandItem{cursor:var(--cursor)}body #cMenuModalBar button.cMenuCommandItem:hover{background-color:var(--background-modifier-hover)}.MiniSettings-statusbar-button{padding-top:0;padding-bottom:0}.MySnippets-statusbar-menu .menu-item .MS-OpenSnippet{height:auto;border:none;background:rgba(0,0,0,0);box-shadow:none;width:auto;padding:4px 6px;margin-left:0}.MySnippets-statusbar-menu .menu-item .MS-OpenSnippet svg path{fill:var(--text-muted)}.MySnippets-statusbar-menu .menu-item .MS-OpenSnippet:hover{background-color:var(--background-modifier-hover)}.dataview-inline-lists .markdown-preview-view .dataview-ul,.dataview-inline-lists .markdown-source-view .dataview-ul{--list-spacing:0}.dataview-inline-lists .markdown-preview-view .dataview-ol li:not(:last-child):after,.dataview-inline-lists .markdown-preview-view .dataview-ul li:not(:last-child):after,.dataview-inline-lists .markdown-source-view .dataview-ol li:not(:last-child):after,.dataview-inline-lists .markdown-source-view .dataview-ul li:not(:last-child):after{content:", "}.dataview-inline-lists .markdown-preview-view ul.dataview-ol>li::before,.dataview-inline-lists .markdown-preview-view ul.dataview-ul>li::before,.dataview-inline-lists .markdown-source-view ul.dataview-ol>li::before,.dataview-inline-lists .markdown-source-view ul.dataview-ul>li::before{display:none}.dataview-inline-lists .markdown-preview-view .dataview-ol li,.dataview-inline-lists .markdown-preview-view .dataview-ul li,.dataview-inline-lists .markdown-source-view .dataview-ol li,.dataview-inline-lists .markdown-source-view .dataview-ul li{display:inline-block;padding-inline-end:.25em;margin-inline-start:0}.markdown-rendered table.dataview{margin-block-start:0;margin-block-end:0}.markdown-rendered table.dataview .dataview-result-list-li{margin-inline-start:0}.markdown-preview-view .table-view-table>thead>tr>th,body .table-view-table>thead>tr>th{font-weight:400;font-size:var(--table-text-size);color:var(--text-muted);border-bottom:var(--table-border-width) solid var(--table-border-color);cursor:var(--cursor)}table.dataview ul.dataview-ul{list-style:none;padding-inline-start:0;margin-block-start:0em!important;margin-block-end:0em!important}.markdown-preview-view:not(.cards) .table-view-table>tbody>tr>td,.markdown-source-view.mod-cm6:not(.cards) .table-view-table>tbody>tr>td{max-width:var(--max-col-width)}body .dataview.small-text{color:var(--text-faint)}body:not(.row-hover) .dataview.task-list-basic-item:hover,body:not(.row-hover) .dataview.task-list-item:hover,body:not(.row-hover) .table-view-table>tbody>tr:hover{background-color:rgba(0,0,0,0)!important;box-shadow:none}body.row-hover .dataview.task-list-basic-item:hover,body.row-hover .dataview.task-list-item:hover,body.row-hover .table-view-table>tbody>tr:hover{background-color:var(--table-row-background-hover)}body .dataview-error{background-color:rgba(0,0,0,0)}.dataview.dataview-error,.markdown-source-view.mod-cm6 .cm-content .dataview.dataview-error{color:var(--text-muted)}body div.dataview-error-box{min-height:0;border:none;background-color:rgba(0,0,0,0);font-size:var(--table-text-size);border-radius:var(--radius-m);padding:15px 0;justify-content:flex-start}body div.dataview-error-box p{margin-block-start:0;margin-block-end:0;color:var(--text-faint)}.trim-cols .markdown-preview-view .table-view-table>tbody>tr>td,.trim-cols .markdown-source-view.mod-cm6 .table-view-table>tbody>tr>td,.trim-cols .markdown-source-view.mod-cm6 .table-view-table>thead>tr>th{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}ul .dataview .task-list-basic-item:hover,ul .dataview .task-list-item:hover{background-color:rgba(0,0,0,0);box-shadow:none}body .dataview.result-group{padding-left:0}body .dataview .inline-field-standalone-value,body .dataview.inline-field-key,body .dataview.inline-field-value{font-family:var(--font-text);font-size:calc(var(--font-adaptive-normal) - 2px);background:rgba(0,0,0,0);color:var(--text-muted)}body .dataview.inline-field-key{padding:0}body .dataview .inline-field-standalone-value{padding:0}body .dataview.inline-field-key::after{margin-left:3px;content:"|";color:var(--background-modifier-border)}body .dataview.inline-field-value{padding:0 1px 0 3px}.markdown-preview-view .block-language-dataview table.calendar th{border:none;cursor:default;background-image:none}.markdown-preview-view .block-language-dataview table.calendar .day{font-size:var(--font-adaptive-small)}.git-view-body .opener{text-transform:uppercase;letter-spacing:.05em;font-size:var(--font-adaptive-smallest);font-weight:500;padding:5px 7px 5px 10px;margin-bottom:6px}.git-view-body .file-view .opener{text-transform:none;letter-spacing:normal;font-size:var(--font-adaptive-smallest);font-weight:400;padding:initial;margin-bottom:0}.git-view-body .file-view .opener .collapse-icon{display:flex!important;margin-left:-7px}.git-view-body{margin-top:6px}.git-view-body .file-view{margin-left:4px}.git-view-body .file-view main:hover{color:var(--text-normal)}.git-view-body .file-view .tools .type{display:none!important}.git-view-body .file-view .tools{opacity:0;transition:opacity .1s}.git-view-body .file-view main:hover>.tools{opacity:1}.git-view-body .staged{margin-bottom:12px}.git-view-body .opener.open{color:var(--text-normal)}div[data-type=git-view] .search-input-container{margin-left:0;width:100%}.git-view-body .opener .collapse-icon{display:none!important}.git-view-body main{background-color:var(--background-primary)!important;width:initial!important}.git-view-body .file-view>main:not(.topLevel){margin-left:7px}div[data-type=git-view] .commit-msg{min-height:2.5em!important;height:2.5em!important;padding:6.5px 8px!important}div[data-type=git-view] .search-input-clear-button{bottom:5.5px}.hider-vault .nav-folder.mod-root>.nav-folder-title{height:4px}body.minimal-dark-black.theme-dark,body.minimal-dark-tonal.theme-dark,body.minimal-light-tonal.theme-light,body.minimal-light-white.theme-light,body.theme-dark{--kanban-border:0px}body:not(.is-mobile) .kanban-plugin__grow-wrap>textarea:focus{box-shadow:none}body:not(.minimal-icons-off) .kanban-plugin svg.cross{height:14px;width:14px}body .kanban-plugin__icon>svg,body .kanban-plugin__lane-settings-button svg{width:18px;height:18px}body .kanban-plugin{--kanban-border:var(--border-width);--interactive-accent:var(--text-selection);--interactive-accent-hover:var(--background-modifier-hover);--text-on-accent:var(--text-normal);background-color:var(--background-primary)}body .kanban-plugin__markdown-preview-view{font-family:var(--font-text)}body .kanban-plugin__board>div{margin:0 auto}body .kanban-plugin__checkbox-label{color:var(--text-muted)}body .kanban-plugin__item-markdown ul{margin:0}body .kanban-plugin__item-content-wrapper{box-shadow:none}body .kanban-plugin__grow-wrap::after,body .kanban-plugin__grow-wrap>textarea{padding:0;border:0;border-radius:0}body .kanban-plugin__grow-wrap::after,body .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__item-title p,body .kanban-plugin__markdown-preview-view{font-size:var(--font-ui-medium);line-height:1.3}body .kanban-plugin__item{background-color:var(--background-primary)}body .kanban-plugin__item-title-wrapper{align-items:center}body .kanban-plugin__lane-form-wrapper{border:1px solid var(--background-modifier-border)}body .kanban-plugin__lane-header-wrapper{border-bottom:0}body .kanban-plugin__lane-header-wrapper .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__lane-input-wrapper .kanban-plugin__grow-wrap>textarea,body .kanban-plugin__lane-title p{background:rgba(0,0,0,0);color:var(--text-normal);font-size:var(--font-ui-medium);font-weight:500}body .kanban-plugin__item-input-wrapper .kanban-plugin__grow-wrap>textarea{padding:0;border-radius:0;height:auto}body .kanban-plugin__item-form .kanban-plugin__grow-wrap{background-color:var(--background-primary)}body .kanban-plugin__item-input-wrapper .kanban-plugin__grow-wrap>textarea::placeholder{color:var(--text-faint)}body .kanban-plugin__item .kanban-plugin__item-edit-archive-button,body .kanban-plugin__item button.kanban-plugin__item-edit-button,body .kanban-plugin__item-settings-actions>button,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled,body .kanban-plugin__lane-action-wrapper>button{background:rgba(0,0,0,0);transition:color .1s ease-in-out}body .kanban-plugin__item .kanban-plugin__item-edit-archive-button:hover,body .kanban-plugin__item button.kanban-plugin__item-edit-button.is-enabled,body .kanban-plugin__item button.kanban-plugin__item-edit-button:hover,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{color:var(--text-normal);transition:color .1s ease-in-out;background:rgba(0,0,0,0)}body .kanban-plugin__new-lane-button-wrapper{position:fixed;bottom:30px}body .kanban-plugin__lane-items>.kanban-plugin__placeholder:only-child{border:1px dashed var(--background-modifier-border);height:2em}body .kanban-plugin__item-postfix-button-wrapper{align-self:flex-start}body .kanban-plugin__item button.kanban-plugin__item-postfix-button.is-enabled,body .kanban-plugin__item button.kanban-plugin__item-prefix-button.is-enabled,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button.is-enabled{color:var(--text-muted)}body .kanban-plugin button{box-shadow:none;cursor:var(--cursor);height:auto}body .kanban-plugin__item button.kanban-plugin__item-postfix-button:hover,body .kanban-plugin__item button.kanban-plugin__item-prefix-button:hover,body .kanban-plugin__lane button.kanban-plugin__lane-settings-button:hover{background-color:var(--background-modifier-hover)}body .kanban-plugin__item-button-wrapper>button{color:var(--text-muted);font-weight:400;background:rgba(0,0,0,0);min-height:calc(var(--input-height) + 8px)}body .kanban-plugin__item-button-wrapper>button:hover{color:var(--text-normal);background:var(--background-modifier-hover)}body .kanban-plugin__item-button-wrapper>button:focus{box-shadow:none}body .kanban-plugin__item-button-wrapper{padding:1px 6px 5px;border-top:none}body .kanban-plugin__lane-setting-wrapper>div:last-child{border:none;margin:0}body .kanban-plugin.something-is-dragging{cursor:grabbing;cursor:-webkit-grabbing}body .kanban-plugin__item.is-dragging{box-shadow:0 5px 30px rgba(0,0,0,.15),0 0 0 2px var(--text-selection)}body .kanban-plugin__lane-items{border:var(--kanban-border) solid var(--background-modifier-border);padding:0 4px;margin:0;background-color:var(--background-secondary)}body .kanban-plugin__lane{background:rgba(0,0,0,0);padding:0;border:var(--border-width) solid transparent}body .kanban-plugin__lane.is-dragging{box-shadow:0 5px 30px rgba(0,0,0,.15);border:1px solid var(--background-modifier-border)}body .kanban-plugin__lane .kanban-plugin__item-button-wrapper{border-top-left-radius:8px;border-top-right-radius:8px;border-top:1px solid var(--background-modifier-border);border-bottom-width:0;padding:4px 4px 0 4px}body .kanban-plugin__lane.will-prepend .kanban-plugin__lane-items{border-radius:8px}body .kanban-plugin__lane.will-prepend .kanban-plugin__item-form{border-top:1px solid var(--background-modifier-border);border-radius:8px 8px 0 0;padding:4px 4px 0;border-bottom-width:0}body .kanban-plugin__lane.will-prepend .kanban-plugin__item-form+.kanban-plugin__lane-items{border-top-width:0;border-radius:0 0 8px 8px}body .kanban-plugin__lane.will-prepend .kanban-plugin__item-button-wrapper+.kanban-plugin__lane-items{border-top-width:0;border-radius:0 0 8px 8px}body .kanban-plugin__lane:not(.will-prepend) .kanban-plugin__item-button-wrapper,body .kanban-plugin__lane:not(.will-prepend) .kanban-plugin__item-form{border-top:none;border-radius:0 0 8px 8px}body .kanban-plugin__lane:not(.will-prepend) .kanban-plugin__item-button-wrapper{padding:0 4px 4px 4px;border-bottom-width:1px}body .kanban-plugin__lane:not(.will-prepend) .kanban-plugin__lane-items{border-bottom:none;border-top-width:1px;border-radius:8px 8px 0 0}body .kanban-plugin__item-form .kanban-plugin__item-input-wrapper{min-height:calc(var(--input-height) + 8px);display:flex;justify-content:center}body .kanban-plugin__item-button-wrapper,body .kanban-plugin__item-form{background-color:var(--background-secondary);border:var(--kanban-border) solid var(--background-modifier-border)}body .kanban-plugin__item-form{padding:0 4px 5px}body .kanban-plugin__markdown-preview-view ol,body .kanban-plugin__markdown-preview-view ol.contains-task-list .contains-task-list,body .kanban-plugin__markdown-preview-view ul,body .kanban-plugin__markdown-preview-view ul.contains-task-list .contains-task-list{padding-inline-start:1.8em!important}@media(max-width:400pt){.kanban-plugin__board{flex-direction:column!important}.kanban-plugin__lane{width:100%!important;margin-bottom:1rem!important}}body .cm-heading-marker{cursor:var(--cursor);padding-left:10px}.theme-light{--leaflet-buttons:var(--bg1);--leaflet-borders:rgba(0,0,0,0.1)}.theme-dark{--leaflet-buttons:var(--bg2);--leaflet-borders:rgba(255,255,255,0.1)}.leaflet-container{--image-radius:0}.leaflet-top{transition:top .1s linear}body .leaflet-container{background-color:var(--background-secondary);font-family:var(--font-interface)}.leaflet-control-attribution{display:none}.leaflet-popup-content{margin:10px}.block-language-leaflet{border-radius:var(--radius-m);overflow:hidden;border:var(--border-width) solid var(--background-modifier-border)}.map-wide .block-language-leaflet{border-radius:var(--radius-l)}.map-max .block-language-leaflet{border-radius:var(--radius-xl)}.workspace-leaf-content[data-type=obsidian-leaflet-map-view] .block-language-leaflet{border-radius:0;border:none}.map-100 .block-language-leaflet{border-radius:0;border-left:none;border-right:none}.block-language-leaflet .leaflet-control-expandable-list .input-container .input-item>input{appearance:none}body .block-language-leaflet .leaflet-bar.disabled>a{background-color:rgba(0,0,0,0);opacity:.3}body .leaflet-touch .leaflet-bar a:first-child{border-top-left-radius:4px;border-top-right-radius:4px}body .leaflet-touch .leaflet-bar a:last-child{border-bottom-left-radius:4px;border-bottom-right-radius:4px}body .leaflet-control-layers-toggle{border-radius:4px}body .block-language-leaflet .leaflet-control-expandable,body .block-language-leaflet .leaflet-control-has-actions .control-actions.expanded,body .block-language-leaflet .leaflet-distance-control,body .leaflet-bar,body .leaflet-bar a,body .leaflet-control-layers-expanded,body .leaflet-control-layers-toggle{background-color:var(--leaflet-buttons);color:var(--text-muted);border:none;user-select:none}body .leaflet-bar a.leaflet-disabled,body .leaflet-bar a.leaflet-disabled:hover{background-color:var(--leaflet-buttons);color:var(--text-faint);opacity:.6;cursor:not-allowed}body .leaflet-control a{cursor:var(--cursor);color:var(--text-normal)}body .leaflet-bar a:hover{background-color:var(--background-modifier-hover);color:var(--text-normal);border:none}body .leaflet-touch .leaflet-control-layers{background-color:var(--leaflet-buttons)}body .leaflet-touch .leaflet-bar,body .leaflet-touch .leaflet-control-layers{border-radius:5px;box-shadow:2px 0 8px 0 rgba(0,0,0,.1);border:1px solid var(--ui1)}body .block-language-leaflet .leaflet-control-has-actions .control-actions{box-shadow:0;border:1px solid var(--ui1)}body .leaflet-control-expandable-list .leaflet-bar{box-shadow:none;border-radius:0}body .block-language-leaflet .leaflet-distance-control{padding:4px 10px;height:auto;cursor:var(--cursor)!important}body .block-language-leaflet .leaflet-marker-link-popup>.leaflet-popup-content-wrapper>*{font-size:var(--font-adaptive-small);font-family:var(--font-interface)}body .block-language-leaflet .leaflet-marker-link-popup>.leaflet-popup-content-wrapper{padding:4px 10px!important}.leaflet-marker-icon svg path{stroke:var(--background-primary);stroke-width:18px}body .markdown-preview-view th,body .markdown-source-view.mod-cm6 .dataview.table-view-table thead.table-view-thead tr th,body .table-view-table>thead>tr>th{cursor:var(--cursor);background-image:none}.markdown-source-view.mod-cm6 th{background-repeat:no-repeat;background-position:right}.style-settings-container[data-level="2"]{background:var(--background-secondary);border:1px solid var(--ui1);border-radius:5px;padding:10px 20px;margin:2px 0 2px -20px}.workspace-leaf-content[data-type=style-settings] div[data-id=instructions] .setting-item-name{display:none}.workspace-leaf-content[data-type=style-settings] div[data-id=instructions] .setting-item-description{color:var(--text-normal);font-size:var(--font-adaptive-smaller);padding-bottom:.5em}.workspace-leaf-content[data-type=style-settings] .view-content{padding:var(--size-4-4) 0}.workspace-leaf-content[data-type=style-settings] .view-content>div{width:var(--line-width);max-width:var(--max-width);margin:0 auto}.workspace-leaf-content[data-type=style-settings] .style-settings-heading[data-level="0"] .setting-item-name{padding-left:17px}.workspace-leaf-content[data-type=style-settings] .setting-item{max-width:100%;margin:0 auto}.workspace-leaf-content[data-type=style-settings] .setting-item-name{position:relative}.workspace-leaf-content[data-type=style-settings] .style-settings-collapse-indicator{position:absolute;left:0}.setting-item-heading.style-settings-heading,.style-settings-container .style-settings-heading{cursor:var(--cursor)}.modal.mod-settings .setting-item .pickr button.pcr-button{box-shadow:none;border-radius:40px;height:24px;width:24px}.style-settings-container .setting-item{background-color:rgba(0,0,0,0)}.setting-item .pickr .pcr-button:after,.setting-item .pickr .pcr-button:before{border-radius:40px;box-shadow:none;border:none}.setting-item.setting-item-heading.style-settings-heading.is-collapsed{border-bottom:1px solid var(--background-modifier-border)}.setting-item.setting-item-heading.style-settings-heading{border:0;padding:10px 0 5px;margin-bottom:0;border-radius:0}.setting-item .style-settings-export,.setting-item .style-settings-import{text-decoration:none;font-size:var(--font-ui-small);font-weight:500;color:var(--text-muted);margin:0;padding:2px 8px;border-radius:5px;cursor:var(--cursor)}.setting-item .style-settings-export:hover,.setting-item .style-settings-import:hover{background-color:var(--background-modifier-hover);color:var(--text-normal);cursor:var(--cursor)}.mod-root .workspace-leaf-content[data-type=style-settings] .style-settings-container .setting-item:not(.setting-item-heading){flex-direction:row;align-items:center;padding:.5em 0}.workspace-split:not(.mod-root) .workspace-leaf-content[data-type=style-settings] .setting-item-name{font-size:var(--font-adaptive-smaller)}.themed-color-wrapper>div+div{margin-top:0;margin-left:6px}.theme-light .themed-color-wrapper>.theme-light{background-color:rgba(0,0,0,0)}.theme-light .themed-color-wrapper>.theme-dark{background-color:rgba(0,0,0,.8)}.theme-dark .themed-color-wrapper>.theme-dark{background-color:rgba(0,0,0,0)}@media(max-width:400pt){.workspace-leaf-content[data-type=style-settings] .setting-item-name{font-size:var(--font-adaptive-small)}.workspace-leaf-content[data-type=style-settings] .view-content>.setting-item>.setting-item-info:first-child{width:100%;margin-right:0}}.zoom-plugin-header{--link-color:var(--text-normal);--link-decoration:none;font-size:var(--font-ui-small);padding:0;justify-content:center;margin:var(--size-4-2) auto;max-width:var(--max-width)}.zoom-plugin-header>.zoom-plugin-title{text-decoration:none;max-width:15em;overflow:hidden}.zoom-plugin-header>.zoom-plugin-delimiter{color:var(--text-faint);padding:0 var(--size-4-1)}.theme-dark.minimal-atom-dark{--color-red-rgb:225,109,118;--color-orange-rgb:209,154,102;--color-yellow-rgb:206,193,103;--color-green-rgb:152,195,121;--color-cyan-rgb:88,182,194;--color-blue-rgb:98,175,239;--color-purple-rgb:198,120,222;--color-pink-rgb:225,109,118;--color-red:#e16d76;--color-orange:#d19a66;--color-yellow:#cec167;--color-green:#98c379;--color-cyan:#58b6c2;--color-blue:#62afef;--color-purple:#c678de;--color-pink:#e16d76}.theme-light.minimal-atom-light{--color-red-rgb:228,87,73;--color-orange-rgb:183,107,2;--color-yellow-rgb:193,131,2;--color-green-rgb:80,161,80;--color-cyan-rgb:13,151,179;--color-blue-rgb:98,175,239;--color-purple-rgb:166,38,164;--color-pink-rgb:228,87,73;--color-red:#e45749;--color-orange:#b76b02;--color-yellow:#c18302;--color-green:#50a150;--color-cyan:#0d97b3;--color-blue:#62afef;--color-purple:#a626a4;--color-pink:#e45749}.theme-light.minimal-atom-light{--base-h:106;--base-s:0%;--base-l:98%;--accent-h:231;--accent-s:76%;--accent-l:62%;--bg1:#fafafa;--bg2:#eaeaeb;--bg3:rgba(0,0,0,.1);--ui1:#dbdbdc;--ui2:#d8d8d9;--tx1:#232324;--tx2:#8e8e90;--tx3:#a0a1a8;--hl1:rgba(180,180,183,0.3);--hl2:rgba(209,154,102,0.35)}.theme-light.minimal-atom-light.minimal-light-white{--bg3:#eaeaeb}.theme-dark.minimal-atom-dark,.theme-light.minimal-atom-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-atom-light.minimal-light-contrast .theme-dark,.theme-light.minimal-atom-light.minimal-light-contrast .titlebar,.theme-light.minimal-atom-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-atom-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-atom-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:220;--base-s:12%;--base-l:18%;--accent-h:220;--accent-s:86%;--accent-l:65%;--bg1:#282c34;--bg2:#21252c;--bg3:#3a3f4b;--divider-color:#181a1f;--tab-outline-color:#181a1f;--tx1:#d8dae1;--tx2:#898f9d;--tx3:#5d6370;--hl1:rgba(114,123,141,0.3);--hl2:rgba(209,154,102,0.3);--sp1:#fff}.theme-dark.minimal-atom-dark.minimal-dark-black{--base-d:5%;--bg3:#282c34;--divider-color:#282c34;--tab-outline-color:#282c34}.theme-light.minimal-ayu-light{--color-red-rgb:230,80,80;--color-orange-rgb:250,141,62;--color-yellow-rgb:242,174,73;--color-green-rgb:108,191,67;--color-cyan-rgb:76,191,153;--color-blue-rgb:57,158,230;--color-purple-rgb:163,122,204;--color-pink-rgb:255,115,131;--color-red:#e65050;--color-orange:#fa8d3e;--color-yellow:#f2ae49;--color-green:#6CBF43;--color-cyan:#4cbf99;--color-blue:#399ee6;--color-purple:#a37acc;--color-pink:#ff7383}.theme-dark.minimal-ayu-dark{--color-red-rgb:255,102,102;--color-orange-rgb:250,173,102;--color-yellow-rgb:255,209,55;--color-green-rgb:135,217,108;--color-cyan-rgb:149,230,203;--color-blue-rgb:115,208,255;--color-purple-rgb:223,191,255;--color-pink-rgb:242,121,131;--color-red:#ff6666;--color-orange:#ffad66;--color-yellow:#ffd137;--color-green:#87D96C;--color-cyan:#95e6cb;--color-blue:#73d0ff;--color-purple:#dfbfff;--color-pink:#f27983}.theme-light.minimal-ayu-light{--base-h:210;--base-s:17%;--base-l:98%;--accent-h:36;--accent-s:100%;--accent-l:50%;--bg1:#fff;--bg2:#f8f9fa;--bg3:rgba(209,218,224,0.5);--ui1:#E6EAED;--tx1:#5C6165;--tx2:#8A9199;--tx3:#AAAEB0;--hl1:rgba(3,91,214,0.15)}.theme-dark.minimal-ayu-dark,.theme-light.minimal-ayu-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-ayu-light.minimal-light-contrast .theme-dark,.theme-light.minimal-ayu-light.minimal-light-contrast .titlebar,.theme-light.minimal-ayu-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-ayu-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-ayu-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:222;--base-s:22%;--base-l:15%;--accent-h:35;--accent-s:100%;--accent-l:60%;--bg1:#232937;--bg2:#1E2431;--bg3:rgba(51,61,80,0.5);--ui1:#333C4A;--ui2:#333C4A;--ui3:#333C4A;--tx1:#cccac2;--tx2:#707A8C;--tx3:#495063;--hl1:rgba(64,159,255,0.25)}.theme-dark.minimal-ayu-dark.minimal-dark-black{--accent-h:40;--accent-s:75%;--accent-l:61%;--bg3:#0E1017;--tx1:#BFBDB6;--divider-color:#11151C;--tab-outline-color:#11151C}.theme-light.minimal-catppuccin-light{--color-red-rgb:230,69,83;--color-orange-rgb:254,100,12;--color-yellow-rgb:223,142,29;--color-green-rgb:64,160,43;--color-cyan-rgb:23,146,154;--color-blue-rgb:33,102,246;--color-purple-rgb:137,56,239;--color-pink-rgb:234,119,203;--color-red:#E64553;--color-orange:#FE640C;--color-yellow:#DF8E1D;--color-green:#40A02B;--color-cyan:#17929A;--color-blue:#2166F6;--color-purple:#8938EF;--color-pink:#EA77CB}.theme-dark.minimal-catppuccin-dark{--color-red-rgb:235,153,156;--color-orange-rgb:239,160,118;--color-yellow-rgb:229,200,144;--color-green-rgb:166,209,138;--color-cyan-rgb:129,200,190;--color-blue-rgb:140,170,238;--color-purple-rgb:202,158,230;--color-pink-rgb:244,185,229;--color-red:#EB999C;--color-orange:#EFA076;--color-yellow:#E5C890;--color-green:#A6D18A;--color-cyan:#81C8BE;--color-blue:#8CAAEE;--color-purple:#CA9EE6;--color-pink:#F4B9E5}.theme-light.minimal-catppuccin-light{--base-h:228;--base-s:20%;--base-l:95%;--accent-h:11;--accent-s:59%;--accent-l:67%;--bg1:#F0F1F5;--bg2:#DCE0E8;--bg3:hsla(228,11%,65%,.25);--ui1:#CCD0DA;--ui2:#BCC0CC;--ui3:#ACB0BE;--tx1:#4D4F69;--tx2:#5D5F77;--tx3:#8D8FA2;--hl1:rgba(172,176,190,.3);--hl2:rgba(223,142,29,.3)}.theme-light.minimal-catppuccin-light.minimal-light-tonal{--bg2:#DCE0E8}.theme-light.minimal-catppuccin-light.minimal-light-white{--bg3:#F0F1F5;--ui1:#DCE0E8}.theme-dark.minimal-catppuccin-dark,.theme-light.minimal-catppuccin-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-catppuccin-light.minimal-light-contrast .theme-dark,.theme-light.minimal-catppuccin-light.minimal-light-contrast .titlebar,.theme-light.minimal-catppuccin-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-catppuccin-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-catppuccin-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:229;--base-s:19%;--base-l:23%;--accent-h:10;--accent-s:57%;--accent-l:88%;--bg1:#303446;--bg2:#242634;--bg3:hsla(229,13%,52%,0.25);--ui1:#41455A;--ui2:#51576D;--ui3:#626880;--tx1:#C6D0F5;--tx2:#A6ADCE;--tx3:#848BA7;--sp1:#242634;--hl1:rgba(98,104,128,.5);--hl2:rgba(223,142,29,.4)}.theme-dark.minimal-catppuccin-dark.minimal-dark-black{--ui1:#303446;--hl2:rgba(223,142,29,.5)}.theme-dark.minimal-dracula-dark{--color-red-rgb:255,85,85;--color-orange-rgb:255,184,108;--color-yellow-rgb:241,250,140;--color-green-rgb:80,250,123;--color-cyan-rgb:139,233,253;--color-blue-rgb:98,114,164;--color-purple-rgb:189,147,249;--color-pink-rgb:255,121,198;--color-red:#ff5555;--color-orange:#ffb86c;--color-yellow:#f1fa8c;--color-green:#50fa7b;--color-cyan:#8be9fd;--color-blue:#6272a4;--color-purple:#bd93f9;--color-pink:#ff79c6}.theme-dark.minimal-dracula-dark,.theme-light.minimal-dracula-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-dracula-light.minimal-light-contrast .theme-dark,.theme-light.minimal-dracula-light.minimal-light-contrast .titlebar,.theme-light.minimal-dracula-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-dracula-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-dracula-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:232;--base-s:16%;--base-l:19%;--accent-h:265;--accent-s:89%;--accent-l:78%;--bg1:#282a37;--bg2:#21222c;--ui2:#44475a;--ui3:#6272a4;--tx1:#f8f8f2;--tx2:#949FBE;--tx3:#6272a4;--hl1:rgba(134, 140, 170, 0.3);--hl2:rgba(189, 147, 249, 0.35)}.theme-dark.minimal-dracula-dark.minimal-dark-black{--ui1:#282a36}.theme-dark.minimal-eink-dark,.theme-light.minimal-eink-light{--collapse-icon-color:var(--text-normal);--icon-color-active:var(--bg1);--icon-color-hover:var(--bg1);--icon-color-focused:var(--bg1);--icon-opacity:1;--indentation-guide-color:var(--tx1);--indentation-guide-color-active:var(--tx1);--indentation-guide-width-active:3px;--interactive-normal:var(--bg1);--input-shadow:0 0 0 1px var(--tx1);--link-unresolved-opacity:1;--link-unresolved-decoration-style:dashed;--link-unresolved-decoration-color:var(--tx1);--metadata-label-background-active:var(--bg1);--metadata-input-background-active:var(--bg1);--modal-border-color:var(--tx1);--modal-border-width:2px;--prompt-border-color:var(--tx1);--prompt-border-width:2px;--calendar-dot-active:var(--bg1);--calendar-dot-today:var(--bg1);--calendar-text-active:var(--bg1);--tag-border-width:1.25px;--tag-background:transparent;--tag-background-hover:transparent;--tag-border-color:var(--tx1);--tag-border-color-hover:var(--tx1);--text-on-accent:var(--bg1);--text-on-accent-inverted:var(--bg1);--text-selection:var(--tx1);--vault-profile-color:var(--tx1);--nav-item-color-hover:var(--bg1)}.theme-dark.minimal-eink-dark ::selection,.theme-dark.minimal-eink-dark button:hover,.theme-light.minimal-eink-light ::selection,.theme-light.minimal-eink-light button:hover{color:var(--bg1)}.theme-dark.minimal-eink-dark .nav-files-container,.theme-light.minimal-eink-light .nav-files-container{--nav-item-color-active:var(--bg1)}.theme-dark.minimal-eink-dark .tree-item-self:hover,.theme-light.minimal-eink-light .tree-item-self:hover{--nav-collapse-icon-color:var(--bg1)}.theme-dark.minimal-eink-dark.is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.theme-dark.minimal-eink-dark.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.theme-dark.minimal-eink-dark.tabs-modern,.theme-light.minimal-eink-light.is-focused .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-icon,.theme-light.minimal-eink-light.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.theme-light.minimal-eink-light.tabs-modern{--minimal-tab-text-color-active:var(--bg1);--tab-text-color-focused:var(--bg1);--tab-text-color-focused-active-current:var(--bg1)}.theme-dark.minimal-eink-dark .setting-hotkey,.theme-light.minimal-eink-light .setting-hotkey{background-color:rgba(0,0,0,0);border:1px solid var(--tx1)}.theme-dark.minimal-eink-dark .suggestion-container,.theme-light.minimal-eink-light .suggestion-container{border-width:3px}.theme-dark.minimal-eink-dark .cm-s-obsidian span.cm-inline-code,.theme-dark.minimal-eink-dark .markdown-rendered code,.theme-light.minimal-eink-light .cm-s-obsidian span.cm-inline-code,.theme-light.minimal-eink-light .markdown-rendered code{font-weight:600}.theme-dark.minimal-eink-dark .tree-item-self.is-active,.theme-dark.minimal-eink-dark .tree-item-self:hover,.theme-light.minimal-eink-light .tree-item-self.is-active,.theme-light.minimal-eink-light .tree-item-self:hover{--icon-color:var(--bg1)}.theme-dark.minimal-eink-dark .metadata-property-icon,.theme-light.minimal-eink-light .metadata-property-icon{--icon-color-focused:var(--tx1)}.theme-dark.minimal-eink-dark .checkbox-container,.theme-light.minimal-eink-light .checkbox-container{background-color:var(--bg1);box-shadow:0 0 0 1px var(--tx1);--toggle-thumb-color:var(--tx1)}.theme-dark.minimal-eink-dark .checkbox-container.is-enabled,.theme-light.minimal-eink-light .checkbox-container.is-enabled{background-color:var(--tx1);--toggle-thumb-color:var(--bg1)}.theme-dark.minimal-eink-dark.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:not(:hover),.theme-dark.minimal-eink-dark.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active,.theme-light.minimal-eink-light.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active:not(:hover),.theme-light.minimal-eink-light.tabs-modern .mod-root .workspace-tabs:not(.mod-stacked) .workspace-tab-header.is-active{background-color:var(--tx1)}.theme-dark.minimal-eink-dark #calendar-container .reset-button:hover,.theme-dark.minimal-eink-dark .cm-s-obsidian span.cm-formatting-highlight,.theme-dark.minimal-eink-dark .cm-s-obsidian span.cm-highlight,.theme-dark.minimal-eink-dark .community-item .suggestion-highlight,.theme-dark.minimal-eink-dark .dropdown:hover,.theme-dark.minimal-eink-dark .horizontal-tab-nav-item:hover,.theme-dark.minimal-eink-dark .markdown-rendered mark,.theme-dark.minimal-eink-dark .mod-root .workspace-tab-header-status-icon,.theme-dark.minimal-eink-dark .mod-root .workspace-tab-header:hover,.theme-dark.minimal-eink-dark .search-result-file-match:hover,.theme-dark.minimal-eink-dark .search-result-file-matched-text,.theme-dark.minimal-eink-dark .status-bar .plugin-sync:hover .sync-status-icon.mod-success,.theme-dark.minimal-eink-dark .status-bar .plugin-sync:hover .sync-status-icon.mod-working,.theme-dark.minimal-eink-dark .status-bar-item.mod-clickable:hover,.theme-dark.minimal-eink-dark .suggestion-item.is-selected,.theme-dark.minimal-eink-dark .text-icon-button:hover,.theme-dark.minimal-eink-dark .vertical-tab-nav-item:hover,.theme-dark.minimal-eink-dark button.mod-cta,.theme-dark.minimal-eink-dark select:hover,.theme-dark.minimal-eink-dark.is-focused.tabs-modern .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title,.theme-dark.minimal-eink-dark.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.theme-dark.minimal-eink-dark.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover,.theme-dark.minimal-eink-dark:not(.colorful-active) .horizontal-tab-nav-item.is-active,.theme-dark.minimal-eink-dark:not(.colorful-active) .vertical-tab-nav-item.is-active,.theme-light.minimal-eink-light #calendar-container .reset-button:hover,.theme-light.minimal-eink-light .cm-s-obsidian span.cm-formatting-highlight,.theme-light.minimal-eink-light .cm-s-obsidian span.cm-highlight,.theme-light.minimal-eink-light .community-item .suggestion-highlight,.theme-light.minimal-eink-light .dropdown:hover,.theme-light.minimal-eink-light .horizontal-tab-nav-item:hover,.theme-light.minimal-eink-light .markdown-rendered mark,.theme-light.minimal-eink-light .mod-root .workspace-tab-header-status-icon,.theme-light.minimal-eink-light .mod-root .workspace-tab-header:hover,.theme-light.minimal-eink-light .search-result-file-match:hover,.theme-light.minimal-eink-light .search-result-file-matched-text,.theme-light.minimal-eink-light .status-bar .plugin-sync:hover .sync-status-icon.mod-success,.theme-light.minimal-eink-light .status-bar .plugin-sync:hover .sync-status-icon.mod-working,.theme-light.minimal-eink-light .status-bar-item.mod-clickable:hover,.theme-light.minimal-eink-light .suggestion-item.is-selected,.theme-light.minimal-eink-light .text-icon-button:hover,.theme-light.minimal-eink-light .vertical-tab-nav-item:hover,.theme-light.minimal-eink-light button.mod-cta,.theme-light.minimal-eink-light select:hover,.theme-light.minimal-eink-light.is-focused.tabs-modern .mod-active .workspace-tab-header.is-active .workspace-tab-header-inner-title,.theme-light.minimal-eink-light.labeled-nav .mod-left-split .mod-top .workspace-tab-header.is-active,.theme-light.minimal-eink-light.labeled-nav .mod-left-split .mod-top .workspace-tab-header:hover,.theme-light.minimal-eink-light:not(.colorful-active) .horizontal-tab-nav-item.is-active,.theme-light.minimal-eink-light:not(.colorful-active) .vertical-tab-nav-item.is-active{color:var(--bg1)}.theme-dark.minimal-eink-dark .is-flashing,.theme-light.minimal-eink-light .is-flashing{--text-highlight-bg:#999}.theme-dark.minimal-eink-dark #calendar-container .day:hover,.theme-light.minimal-eink-light #calendar-container .day:hover{--color-dot:var(--bg1)}.theme-light.minimal-eink-light{--base-h:0;--base-s:0%;--base-l:100%;--accent-h:0;--accent-s:0%;--accent-l:0%;--ax3:#000;--bg1:#fff;--bg2:#fff;--bg3:#000;--ui1:#000;--ui2:#000;--ui3:#000;--tx1:#000;--tx2:#000;--tx3:#000;--hl1:#000;--hl2:#000;--sp1:#fff;--text-on-accent:#fff;--background-modifier-cover:rgba(235,235,235,1)}.theme-dark.minimal-eink-dark,.theme-light.minimal-eink-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-eink-light.minimal-light-contrast .theme-dark,.theme-light.minimal-eink-light.minimal-light-contrast .titlebar,.theme-light.minimal-eink-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-eink-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-eink-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:0;--base-s:0%;--base-l:0%;--accent-h:0;--accent-s:0%;--accent-l:100%;--ax3:#fff;--bg1:#000;--bg2:#000;--bg3:#fff;--ui1:#fff;--ui2:#fff;--ui3:#fff;--tx1:#fff;--tx2:#fff;--tx3:#fff;--hl1:#fff;--hl2:#fff;--sp1:#000;--background-modifier-cover:rgba(20,20,20,1);--vault-profile-color:var(--tx1);--vault-profile-color-hover:var(--bg1);--nav-item-color-hover:var(--bg1);--nav-item-color-active:var(--bg1)}.theme-light.minimal-eink-light.minimal-light-tonal{--bg3:#bbb;--ui1:#bbb;--tx3:#999}.theme-dark.minimal-eink-dark.minimal-dark-tonal{--bg3:#444;--ui1:#444;--tx3:#999}.theme-dark.minimal-eink-dark.minimal-dark-tonal,.theme-light.minimal-eink-light.minimal-light-tonal{--hl2:var(--bg3);--modal-border-color:var(--ui1);--prompt-border-color:var(--ui1);--tag-border-color:var(--ui1);--text-selection:var(--bg3);--icon-color-active:var(--tx1);--icon-color-focused:var(--tx1);--nav-item-color-active:var(--tx1);--nav-item-color-hover:var(--tx1);--minimal-tab-text-color-active:var(--tx1)}.theme-dark.minimal-eink-dark.minimal-dark-tonal .is-flashing,.theme-dark.minimal-eink-dark.minimal-dark-tonal .search-result-file-matched-text,.theme-light.minimal-eink-light.minimal-light-tonal .is-flashing,.theme-light.minimal-eink-light.minimal-light-tonal .search-result-file-matched-text{background-color:var(--bg3);color:var(--tx1)}.theme-dark.minimal-eink-dark.minimal-dark-tonal #calendar-container .reset-button:hover,.theme-dark.minimal-eink-dark.minimal-dark-tonal ::selection,.theme-dark.minimal-eink-dark.minimal-dark-tonal:not(.colorful-active) .vertical-tab-nav-item.is-active,.theme-dark.minimal-eink-dark.minimal-dark-tonal:not(.colorful-active) .vertical-tab-nav-item:hover,.theme-light.minimal-eink-light.minimal-light-tonal #calendar-container .reset-button:hover,.theme-light.minimal-eink-light.minimal-light-tonal ::selection,.theme-light.minimal-eink-light.minimal-light-tonal:not(.colorful-active) .vertical-tab-nav-item.is-active,.theme-light.minimal-eink-light.minimal-light-tonal:not(.colorful-active) .vertical-tab-nav-item:hover{color:var(--tx1)}.theme-light.minimal-everforest-light{--color-red-rgb:248,85,82;--color-orange-rgb:245,125,38;--color-yellow-rgb:223,160,0;--color-green-rgb:141,161,1;--color-cyan-rgb:53,167,124;--color-blue-rgb:56,148,196;--color-purple-rgb:223,105,186;--color-pink-rgb:223,105,186;--color-red:#f85552;--color-orange:#f57d26;--color-yellow:#dfa000;--color-green:#8da101;--color-cyan:#35a77c;--color-blue:#3795C5;--color-purple:#df69ba;--color-pink:#df69ba}.theme-dark.minimal-everforest-dark{--color-red-rgb:230,126,128;--color-orange-rgb:230,152,117;--color-yellow-rgb:219,188,127;--color-green-rgb:167,192,128;--color-cyan-rgb:131,192,146;--color-blue-rgb:127,187,179;--color-purple-rgb:223,105,186;--color-pink-rgb:223,105,186;--color-red:#e67e80;--color-orange:#e69875;--color-yellow:#dbbc7f;--color-green:#a7c080;--color-cyan:#83c092;--color-blue:#7fbbb3;--color-purple:#d699b6;--color-pink:#d699b6}.theme-light.minimal-everforest-light{--base-h:44;--base-s:87%;--base-l:94%;--accent-h:83;--accent-s:36%;--accent-l:53%;--bg1:#fdf6e3;--bg2:#efebd4;--bg3:rgba(226,222,198,.5);--ui1:#e0dcc7;--ui2:#bec5b2;--ui3:#bec5b2;--tx1:#5C6A72;--tx2:#829181;--tx3:#a6b0a0;--hl1:rgba(198,214,152,.4);--hl2:rgba(222,179,51,.3)}.theme-light.minimal-everforest-light.minimal-light-tonal{--bg2:#fdf6e3}.theme-light.minimal-everforest-light.minimal-light-white{--bg3:#f3efda;--ui1:#edead5}.theme-dark.minimal-everforest-dark,.theme-light.minimal-everforest-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-everforest-light.minimal-light-contrast .theme-dark,.theme-light.minimal-everforest-light.minimal-light-contrast .titlebar,.theme-light.minimal-everforest-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-everforest-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-everforest-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:203;--base-s:15%;--base-l:23%;--accent-h:81;--accent-s:34%;--accent-l:63%;--bg1:#2d353b;--bg2:#232a2e;--bg3:rgba(71,82,88,0.5);--ui1:#475258;--ui2:#4f585e;--ui3:#525c62;--tx1:#d3c6aa;--tx2:#9da9a0;--tx3:#7a8478;--hl1:rgba(134,70,93,.5);--hl2:rgba(147,185,96,.3)}.theme-dark.minimal-everforest-dark.minimal-dark-black{--hl1:rgba(134,70,93,.4);--ui1:#2b3339}.theme-light.minimal-flexoki-light{--color-red-rgb:175,48,41;--color-orange-rgb:188,82,21;--color-yellow-rgb:173,131,1;--color-green-rgb:102,128,11;--color-cyan-rgb:36,131,123;--color-blue-rgb:32,94,166;--color-purple-rgb:94,64,157;--color-pink-rgb:160,47,111;--color-red:#AF3029;--color-orange:#BC5215;--color-yellow:#AD8301;--color-green:#66800B;--color-cyan:#24837B;--color-blue:#205EA6;--color-purple:#5E409D;--color-pink:#A02F6F}.theme-dark.minimal-flexoki-dark{--color-red-rgb:209,77,65;--color-orange-rgb:218,112,44;--color-yellow-rgb:208,162,21;--color-green-rgb:135,154,57;--color-cyan-rgb:58,169,159;--color-blue-rgb:67,133,190;--color-purple-rgb:139,126,200;--color-pink-rgb:206,93,151;--color-red:#D14D41;--color-orange:#DA702C;--color-yellow:#D0A215;--color-green:#879A39;--color-cyan:#3AA99F;--color-blue:#4385BE;--color-purple:#8B7EC8;--color-pink:#CE5D97}.theme-light.minimal-flexoki-light{--base-h:48;--base-s:100%;--base-l:97%;--accent-h:175;--accent-s:57%;--accent-l:33%;--bg1:#FFFCF0;--bg2:#F2F0E5;--bg3:rgba(16,15,15,0.05);--ui1:#E6E4D9;--ui2:#DAD8CE;--ui3:#CECDC3;--tx1:#100F0F;--tx2:#6F6E69;--tx3:#B7B5AC;--hl1:rgba(187,220,206,0.3);--hl2:rgba(247,209,61,0.3)}.theme-light.minimal-flexoki-light.minimal-light-tonal{--bg2:#FFFCF0}.theme-dark.minimal-flexoki-dark,.theme-light.minimal-flexoki-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-flexoki-light.minimal-light-contrast .theme-dark,.theme-light.minimal-flexoki-light.minimal-light-contrast .titlebar,.theme-light.minimal-flexoki-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-flexoki-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-flexoki-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:360;--base-s:3%;--base-l:6%;--accent-h:175;--accent-s:49%;--accent-l:45%;--bg1:#100F0F;--bg2:#1C1B1A;--bg3:rgba(254,252,240,0.05);--ui1:#282726;--ui2:#343331;--ui3:#403E3C;--tx1:#CECDC3;--tx2:#878580;--tx3:#575653;--hl1:rgba(30,95,91,0.3);--hl2:rgba(213,159,17,0.3)}.theme-dark.minimal-flexoki-dark.minimal-dark-black{--ui1:#1C1B1A}.theme-dark.minimal-gruvbox-dark,.theme-light.minimal-gruvbox-light{--color-red-rgb:204,36,29;--color-orange-rgb:214,93,14;--color-yellow-rgb:215,153,33;--color-green-rgb:152,151,26;--color-cyan-rgb:104,157,106;--color-blue-rgb:69,133,136;--color-purple-rgb:177,98,134;--color-pink-rgb:177,98,134;--color-red:#cc241d;--color-orange:#d65d0e;--color-yellow:#d79921;--color-green:#98971a;--color-cyan:#689d6a;--color-blue:#458588;--color-purple:#b16286;--color-pink:#b16286}.theme-light.minimal-gruvbox-light{--base-h:49;--base-s:92%;--base-l:89%;--accent-h:24;--accent-s:88%;--accent-l:45%;--bg1:#fcf2c7;--bg2:#f2e6bd;--bg3:#ebd9b3;--ui1:#ebdbb2;--ui2:#d5c4a1;--ui3:#bdae93;--tx1:#282828;--tx2:#7c7065;--tx3:#a89a85;--hl1:rgba(192,165,125,.3);--hl2:rgba(215,153,33,.4)}.theme-light.minimal-gruvbox-light.minimal-light-tonal{--bg2:#fcf2c7}.theme-light.minimal-gruvbox-light.minimal-light-white{--bg3:#faf5d7;--ui1:#f2e6bd}.theme-dark.minimal-gruvbox-dark,.theme-light.minimal-gruvbox-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-gruvbox-light.minimal-light-contrast .theme-dark,.theme-light.minimal-gruvbox-light.minimal-light-contrast .titlebar,.theme-light.minimal-gruvbox-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-gruvbox-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-gruvbox-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-h:24;--accent-s:88%;--accent-l:45%;--bg1:#282828;--bg2:#1e2021;--bg3:#3d3836;--bg3:rgba(62,57,55,0.5);--ui1:#3c3836;--ui2:#504945;--ui3:#665c54;--tx1:#fbf1c7;--tx2:#bdae93;--tx3:#7c6f64;--hl1:rgba(173,149,139,0.3);--hl2:rgba(215,153,33,.4)}.theme-dark.minimal-gruvbox-dark.minimal-dark-black{--hl1:rgba(173,149,139,0.4);--ui1:#282828}.theme-dark.minimal-macos-dark,.theme-light.minimal-macos-light{--color-red-rgb:255,59,49;--color-orange-rgb:255,149,2;--color-yellow-rgb:255,204,0;--color-green-rgb:42,205,65;--color-cyan-rgb:2,199,190;--color-blue-rgb:2,122,255;--color-purple-rgb:176,81,222;--color-pink-rgb:255,46,85;--color-red:#ff3b31;--color-orange:#ff9502;--color-yellow:#ffcc00;--color-green:#2acd41;--color-cyan:#02c7be;--color-blue:#027aff;--color-purple:#b051de;--color-pink:#ff2e55}.theme-light.minimal-macos-light{--base-h:106;--base-s:0%;--base-l:94%;--accent-h:212;--accent-s:100%;--accent-l:50%;--bg1:#fff;--bg2:#f0f0f0;--bg3:rgba(0,0,0,.1);--ui1:#e7e7e7;--tx1:#454545;--tx2:#808080;--tx3:#b0b0b0;--hl1:#b3d7ff}.theme-light.minimal-macos-light.minimal-light-tonal{--bg1:#f0f0f0;--bg2:#f0f0f0}.theme-dark.minimal-macos-dark,.theme-light.minimal-macos-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-macos-light.minimal-light-contrast .theme-dark,.theme-light.minimal-macos-light.minimal-light-contrast .titlebar,.theme-light.minimal-macos-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-macos-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-macos-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:106;--base-s:0%;--base-l:12%;--accent-h:212;--accent-s:100%;--accent-l:50%;--bg1:#1e1e1e;--bg2:#282828;--bg3:rgba(255,255,255,0.11);--divider-color:#000;--tab-outline-color:#000;--ui1:#373737;--ui2:#515151;--ui3:#595959;--tx1:#dcdcdc;--tx2:#8c8c8c;--tx3:#686868;--hl1:rgba(98,169,252,0.5);--sp1:#fff}.theme-dark.minimal-macos-dark.minimal-dark-black{--divider-color:#1e1e1e;--tab-outline-color:#1e1e1e}.theme-dark.minimal-nord-dark,.theme-light.minimal-nord-light{--color-red-rgb:191,97,106;--color-orange-rgb:208,138,112;--color-yellow-rgb:235,203,139;--color-green-rgb:163,190,140;--color-cyan-rgb:136,192,208;--color-blue-rgb:129,161,193;--color-purple-rgb:180,142,173;--color-pink-rgb:180,142,173;--color-red:#BF616A;--color-orange:#D08770;--color-yellow:#EBCB8B;--color-green:#A3BE8C;--color-cyan:#88C0D0;--color-blue:#81A1C1;--color-purple:#B48EAD;--color-pink:#B48EAD}.theme-light.minimal-nord-light{--base-h:221;--base-s:27%;--base-l:94%;--accent-h:213;--accent-s:32%;--accent-l:52%;--bg1:#fff;--bg2:#eceff4;--bg3:rgba(157,174,206,0.25);--ui1:#d8dee9;--ui2:#BBCADC;--ui3:#81a1c1;--tx1:#2e3440;--tx2:#7D8697;--tx3:#ADB1B8;--hl2:rgba(208, 135, 112, 0.35)}.theme-dark.minimal-nord-dark,.theme-light.minimal-nord-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-nord-light.minimal-light-contrast .theme-dark,.theme-light.minimal-nord-light.minimal-light-contrast .titlebar,.theme-light.minimal-nord-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-nord-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-nord-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:220;--base-s:16%;--base-l:22%;--accent-h:213;--accent-s:32%;--accent-l:52%;--bg1:#2e3440;--bg2:#3b4252;--bg3:rgba(135,152,190,0.15);--ui1:#434c5e;--ui2:#58647b;--ui3:#58647b;--tx1:#d8dee9;--tx2:#9eafcc;--tx3:#4c566a;--hl1:rgba(129,142,180,0.3);--hl2:rgba(208, 135, 112, 0.35)}.theme-dark.minimal-nord-dark.minimal-dark-black{--ui1:#2e3440}.theme-light.minimal-notion-light{--base-h:39;--base-s:18%;--base-d:96%;--accent-h:197;--accent-s:71%;--accent-l:52%;--bg2:#f7f6f4;--bg3:#e8e7e4;--ui1:#ededec;--ui2:#dbdbda;--ui3:#aaa9a5;--tx1:#37352f;--tx2:#72706c;--tx3:#aaa9a5;--hl1:rgba(131,201,229,0.3)}.theme-dark.minimal-notion-dark,.theme-light.minimal-notion-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-notion-light.minimal-light-contrast .theme-dark,.theme-light.minimal-notion-light.minimal-light-contrast .titlebar,.theme-light.minimal-notion-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-notion-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-notion-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:203;--base-s:8%;--base-d:20%;--accent-h:197;--accent-s:71%;--accent-l:52%;--bg1:#2f3437;--bg2:#373c3f;--bg3:#4b5053;--ui1:#3e4245;--ui2:#585d5f;--ui3:#585d5f;--tx1:#ebebeb;--tx2:#909295;--tx3:#585d5f;--hl1:rgba(57,134,164,0.3)}.theme-dark.minimal-notion-dark.minimal-dark-black{--base-d:5%;--bg3:#232729;--ui1:#2f3437}.theme-light.minimal-rose-pine-light{--color-red-rgb:180,99,122;--color-orange-rgb:215,130,125;--color-yellow-rgb:234,157,53;--color-green-rgb:40,105,131;--color-cyan-rgb:87,147,159;--color-blue-rgb:87,147,159;--color-purple-rgb:144,122,169;--color-pink-rgb:144,122,169;--color-red:#b4637a;--color-orange:#d7827e;--color-yellow:#ea9d34;--color-green:#286983;--color-cyan:#56949f;--color-blue:#56949f;--color-purple:#907aa9;--color-pink:#907aa9}.theme-dark.minimal-rose-pine-dark{--color-red-rgb:234,111,146;--color-orange-rgb:233,155,151;--color-yellow-rgb:246,193,119;--color-green-rgb:47,116,143;--color-cyan-rgb:157,207,215;--color-blue-rgb:157,207,215;--color-purple-rgb:196,167,231;--color-pink-rgb:196,167,231;--color-red:#eb6f92;--color-orange:#ea9a97;--color-yellow:#f6c177;--color-green:#31748f;--color-cyan:#9ccfd8;--color-blue:#9ccfd8;--color-purple:#c4a7e7;--color-pink:#c4a7e7}.theme-light.minimal-rose-pine-light{--base-h:32;--base-s:57%;--base-l:95%;--accent-h:3;--accent-s:53%;--accent-l:67%;--bg1:#fffaf3;--bg2:#faf4ed;--bg3:rgba(233,223,218,0.5);--ui1:#EAE3E1;--ui2:#dfdad9;--ui3:#cecacd;--tx1:#575279;--tx2:#797593;--tx3:#9893a5;--hl1:rgba(191,180,181,0.35)}.theme-dark.minimal-rose-pine-dark,.theme-light.minimal-rose-pine-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-rose-pine-light.minimal-light-contrast .theme-dark,.theme-light.minimal-rose-pine-light.minimal-light-contrast .titlebar,.theme-light.minimal-rose-pine-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-rose-pine-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-rose-pine-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:247;--base-s:23%;--base-l:15%;--accent-h:2;--accent-s:55%;--accent-l:83%;--bg1:#1f1d2e;--bg2:#191724;--bg3:rgba(68,66,86,0.5);--ui1:#312F41;--ui2:#403d52;--ui3:#524f67;--tx1:#e0def4;--tx2:#908caa;--tx3:#6e6a86;--hl1:rgba(126,121,155,0.35)}.theme-dark.minimal-rose-pine-dark.minimal-dark-black{--ui1:#21202e}.theme-dark.minimal-solarized-dark,.theme-light.minimal-solarized-light{--color-red-rgb:220,50,47;--color-orange-rgb:203,77,22;--color-yellow-rgb:181,137,0;--color-green-rgb:133,153,0;--color-cyan-rgb:42,161,152;--color-blue-rgb:38,139,210;--color-purple-rgb:108,113,196;--color-pink-rgb:211,54,130;--color-red:#dc322f;--color-orange:#cb4b16;--color-yellow:#b58900;--color-green:#859900;--color-cyan:#2aa198;--color-blue:#268bd2;--color-purple:#6c71c4;--color-pink:#d33682}.theme-light.minimal-solarized-light{--base-h:44;--base-s:87%;--base-l:94%;--accent-h:205;--accent-s:70%;--accent-l:48%;--bg1:#fdf6e3;--bg2:#eee8d5;--bg3:rgba(0,0,0,0.062);--ui1:#e9e1c8;--ui2:#d0cab8;--ui3:#d0cab8;--tx1:#073642;--tx2:#586e75;--tx3:#ABB2AC;--tx4:#586e75;--hl1:rgba(202,197,182,0.3);--hl2:rgba(203,75,22,0.3)}.theme-light.minimal-solarized-light.minimal-light-tonal{--bg2:#fdf6e3}.theme-dark.minimal-solarized-dark,.theme-light.minimal-solarized-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-solarized-light.minimal-light-contrast .theme-dark,.theme-light.minimal-solarized-light.minimal-light-contrast .titlebar,.theme-light.minimal-solarized-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-solarized-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-solarized-light.minimal-light-contrast.minimal-status-off .status-bar{--accent-h:205;--accent-s:70%;--accent-l:48%;--base-h:193;--base-s:98%;--base-l:11%;--bg1:#002b36;--bg2:#073642;--bg3:rgba(255,255,255,0.062);--ui1:#19414B;--ui2:#274850;--ui3:#31535B;--tx1:#93a1a1;--tx2:#657b83;--tx3:#31535B;--tx4:#657b83;--hl1:rgba(15,81,98,0.3);--hl2:rgba(203, 75, 22, 0.35)}.theme-dark.minimal-solarized-dark.minimal-dark-black{--hl1:rgba(15,81,98,0.55);--ui1:#002b36}.theme-dark.minimal-things-dark,.theme-light.minimal-things-light{--color-red-rgb:255,48,108;--color-orange-rgb:255,149,2;--color-yellow-rgb:255,213,0;--color-green-rgb:75,191,94;--color-cyan-rgb:73,174,164;--color-purple-rgb:176,81,222;--color-pink-rgb:255,46,85;--color-red:#FF306C;--color-orange:#ff9502;--color-yellow:#FFD500;--color-green:#4BBF5E;--color-cyan:#49AEA4;--color-purple:#b051de;--color-pink:#ff2e55}.theme-light.minimal-things-light{--color-blue-rgb:27,97,194;--color-blue:#1b61c2}.theme-dark.minimal-things-dark{--color-blue-rgb:77,149,247;--color-blue:#4d95f7}.theme-light.minimal-things-light{--accent-h:215;--accent-s:76%;--accent-l:43%;--bg1:white;--bg2:#f5f6f8;--bg3:rgba(162,177,187,0.25);--ui1:#eef0f4;--ui2:#D8DADD;--ui3:#c1c3c6;--tx1:#26272b;--tx2:#7D7F84;--tx3:#a9abb0;--hl1:#cae2ff}.theme-light.minimal-things-light.minimal-light-tonal{--ui1:#e6e8ec}.theme-light.minimal-things-light.minimal-light-white{--bg3:#f5f6f8}.theme-dark.minimal-things-dark,.theme-light.minimal-things-light.minimal-light-contrast .mod-left-split,.theme-light.minimal-things-light.minimal-light-contrast .theme-dark,.theme-light.minimal-things-light.minimal-light-contrast .titlebar,.theme-light.minimal-things-light.minimal-light-contrast .workspace-drawer.mod-left,.theme-light.minimal-things-light.minimal-light-contrast .workspace-ribbon.mod-left:not(.is-collapsed),.theme-light.minimal-things-light.minimal-light-contrast.minimal-status-off .status-bar{--base-h:218;--base-s:9%;--base-l:15%;--accent-h:215;--accent-s:91%;--accent-l:64%;--bg1:#24262a;--bg2:#202225;--bg3:#3d3f41;--divider-color:#17191c;--tab-outline-color:#17191c;--ui1:#3A3B3F;--ui2:#45464a;--ui3:#6c6e70;--tx1:#fbfbfb;--tx2:#CBCCCD;--tx3:#6c6e70;--hl1:rgba(40,119,236,0.35);--sp1:#fff}.theme-dark.minimal-things-dark.minimal-dark-black{--base-d:5%;--bg3:#24262a;--divider-color:#24262a;--tab-outline-color:#24262a} +/* Plugin compatibility */ + +/* @plugins +core: +- backlink +- command-palette +- daily-notes +- file-explorer +- file-recovery +- global-search +- graph +- outgoing-link +- outline +- page-preview +- publish +- random-note +- starred +- switcher +- sync +- tag-pane +- word-count +community: +- buttons +- dataview +- calendar +- obsidian-charts +- obsidian-checklist-plugin +- obsidian-codemirror-options +- obsidian-dictionary-plugin +- obsidian-embedded-note-titles +- obsidian-excalidraw-plugin +- obsidian-git +- obsidian-hider +- obsidian-hover-editor +- obsidian-kanban +- obsidian-metatable +- obsidian-minimal-settings +- obsidian-outliner +- obsidian-system-dark-mode +- obsidian-style-settings +- quickadd +- sliding-panes-obsidian +- todoist-sync-plugin +*/ +/* @settings + +name: Minimal +id: minimal-style +settings: + - + id: instructions + title: Documentation + type: heading + level: 2 + collapsed: true + description: Use the Minimal Theme Settings plugin to set hotkeys, adjust features, select fonts, and choose from preset color schemes. Use the settings below for more granular customization. Go to https://minimal.guide for documentation. + - + id: interface + title: Interface colors + type: heading + level: 2 + collapsed: true + - + id: base + title: Base color + description: Defines all background and border colors unless overridden in more granular settings + type: variable-themed-color + format: hsl-split + default-light: '#' + default-dark: '#' + - + id: bg1 + title: Primary background + description: Background color for the main window + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: bg2 + title: Secondary background + description: Background color for left sidebar and menus + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: bg3 + title: Active background + description: Background color for hovered buttons and currently selected file + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: ui1 + title: Border color + type: variable-themed-color + description: For buttons, divider lines, and outlined elements + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: ui2 + title: Highlighted border color + description: Used when hovering over buttons, dividers, and outlined elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: ui3 + title: Active border color + description: Used when clicking buttons and outlined elements + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: accent-color + title: Accent color + type: heading + level: 2 + collapsed: true + - + id: ax1 + title: Accent color + type: variable-themed-color + description: Used primarily for links + format: hex + default-light: '#' + default-dark: '#' + - + id: ax2 + title: Accent color (hover) + type: variable-themed-color + description: Used primarily for hovered links + format: hex + default-light: '#' + default-dark: '#' + - + id: ax3 + title: Accent color interactive + type: variable-themed-color + description: Used for buttons, checklists, toggles + format: hex + default-light: '#' + default-dark: '#' + - + id: sp1 + title: Text on accent + type: variable-themed-color + description: Used primarily for text on accented buttons + format: hex + default-light: '#' + default-dark: '#' + - + id: extended-palette + title: Extended colors + type: heading + level: 2 + collapsed: true + - + id: color-red + title: Red + description: Extended palette colors are defaults used for progress bar status, syntax highlighting, colorful headings, and graph nodes + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-orange + title: Orange + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-yellow + title: Yellow + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-green + title: Green + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-cyan + title: Cyan + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-blue + title: Blue + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-purple + title: Purple + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: color-pink + title: Pink + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: bases + title: Bases + type: heading + level: 2 + collapsed: true + - + id: bases-toolbar-opacity + title: Toolbar opacity + type: variable-number-slider + default: 1 + min: 0 + max: 1 + step: 0.05 + - + id: bases-table-header-icon-display + title: Table header icons + type: variable-select + allowEmpty: false + default: flex + options: + - + label: Visible + value: flex + - + label: Hidden + value: none + - + id: bases-table-row-height + title: Table row height + type: variable-number + default: 30 + format: px + - + id: blockquotes + title: Blockquotes + type: heading + level: 2 + collapsed: true + - + id: blockquote-color + title: Blockquote text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-background-color + title: Blockquote background color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-border-color + title: Blockquote border color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: blockquote-border-thickness + title: Blockquote border thickness + type: variable-number-slider + format: px + default: 1 + min: 0 + max: 5 + step: 1 + - + id: blockquote-size + title: Blockquote font size + description: Accepts any CSS font-size value + type: variable-text + default: '' + - + id: blockquote-font-style + title: Blockquote font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: callouts + title: Callouts + type: heading + level: 2 + collapsed: true + - + id: callouts-style + title: Callout style + type: class-select + allowEmpty: false + default: callouts-default + options: + - + label: Filled + value: callouts-default + - + label: Outlined + value: callouts-outlined + - + id: callout-blend-mode + title: Color blending + description: Blend the color of nested callouts + type: variable-select + allowEmpty: false + default: var(--highlight-mix-blend-mode) + options: + - + label: On + value: var(--highlight-mix-blend-mode) + - + label: Off + value: normal + - + id: canvas + title: Canvas + type: heading + level: 2 + collapsed: true + - + id: canvas-dot-pattern + title: Canvas dot pattern + description: Color for background dot pattern + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-blocks + title: Code blocks + type: heading + level: 2 + collapsed: true + - + id: code-size + title: Code font size + description: Accepts any CSS font-size value + type: variable-text + default: 0.8em + - + id: minimal-code-scroll + title: Scroll long lines + description: Turns off line wrap for code + type: class-toggle + default: false + - + id: code-background + title: Code background color + description: Background for code blocks + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-normal + title: Code text color + description: Color of code when syntax highlighting is not present + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: syntax-highlighting + title: Syntax highlighting + type: heading + level: 3 + collapsed: false + - + id: code-comment + title: "Syntax: comments" + description: Syntax highlighting for comments + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-function + title: "Syntax: functions" + description: Syntax highlighting for functions + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-keyword + title: "Syntax: keywords" + description: Syntax highlighting for keywords + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-important + title: "Syntax: important" + description: Syntax highlighting for important text + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-operator + title: "Syntax: operators" + description: Syntax highlighting for operators + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-property + title: "Syntax: properties" + description: Syntax highlighting for properties + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-punctuation + title: "Syntax: punctuation" + description: Syntax highlighting for punctuation + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-string + title: "Syntax: strings" + description: Syntax highlighting for strings + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-tag + title: "Syntax: tags" + description: Syntax highlighting for tags + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: code-value + title: "Syntax: values" + description: Syntax highlighting for values + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: dataview + title: Dataview + type: heading + level: 2 + collapsed: true + - + id: trim-cols + title: Trim Dataview columns + description: Disables word wrapping in table cells, and trims long text + type: class-toggle + default: true + - + id: dataview-inline-lists + title: Force tables lists inline + description: Makes lists inside of table cells inline and comma separated + type: class-toggle + default: false + - + id: max-col-width + title: Dataview maximum column width + description: Maximum width for Dataview columns, accepts any CSS width value + type: variable-text + default: 18em + - + id: embed-blocks + title: Embeds and transclusions + type: heading + level: 2 + collapsed: true + - + id: embed-strict + title: Use strict embed style globally + description: Transclusions appear seamlessly in the flow of text. Can be enabled per file using the embed-strict helper class + type: class-toggle + default: false + - + id: embed-hide-title + title: Hide embed titles + description: Hide title of the transcluded file (if strict embed is off) + type: class-toggle + default: false + - + id: embed-underline + title: Underline embedded text + description: Transcluded text is underlined. Can be enabled per file using the embed-underline helper class + type: class-toggle + default: false + - + id: embed-max-height + title: Maximum height of embeds + type: variable-text + description: For transcluded text, accepts valid CSS units + default: '' + - + id: embed-decoration-style + title: Embedded text underline style + type: variable-select + description: Requires underlines to be enabled + allowEmpty: true + default: solid + options: + - + label: Solid + value: solid + - + label: Dashed + value: dashed + - + label: Dotted + value: dotted + - + label: Double + value: double + - + label: Wavy + value: wavy + - + id: embed-decoration-color + title: Embedded text underline color + type: variable-themed-color + description: Requires underlines to be enabled + format: hex + default-light: '#' + default-dark: '#' + - + id: embed-background + title: Embed background + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: graphs + title: Graphs + type: heading + level: 2 + collapsed: true + - + id: graph-line + title: Line color + description: Changing graph colors requires closing and reopening graph panes or restarting Obsidian + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node + title: Node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-focused + title: Active node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-tag + title: Tag node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-attachment + title: Attachment node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: graph-node-unresolved + title: Unresolved node color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: headings + title: Headings + type: heading + level: 2 + collapsed: true + - + id: level-1-headings + title: Level 1 Headings + type: heading + level: 3 + collapsed: true + - + id: h1-font + title: H1 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h1-size + title: H1 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.125em + - + id: h1-weight + title: H1 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h1-color + title: H1 text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h1-variant + title: H1 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h1-style + title: H1 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h1-l + title: H1 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-2-headings + title: Level 2 Headings + type: heading + level: 3 + collapsed: true + - + id: h2-font + title: H2 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h2-size + title: H2 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1em + - + id: h2-weight + title: H2 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h2-color + title: H2 text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h2-variant + title: H2 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h2-style + title: H2 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h2-l + title: H2 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-3-headings + title: Level 3 Headings + type: heading + level: 3 + collapsed: true + - + id: h3-font + title: H3 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h3-size + title: H3 font size + description: Accepts any CSS font-size value + type: variable-text + default: 1em + - + id: h3-weight + title: H3 font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: h3-color + title: H3 text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h3-variant + title: H3 font variant + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h3-style + title: H3 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h3-l + title: H3 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-4-headings + title: Level 4 Headings + type: heading + level: 3 + collapsed: true + - + id: h4-font + title: H4 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h4-size + title: H4 font size + description: Accepts any CSS font-size value + type: variable-text + default: 0.9em + - + id: h4-weight + title: H4 font weight + type: variable-number-slider + default: 500 + min: 100 + max: 900 + step: 100 + - + id: h4-color + title: H4 text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h4-variant + title: H4 font variant + type: variable-select + allowEmpty: false + default: small-caps + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h4-style + title: H4 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h4-l + title: H4 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-5-headings + title: Level 5 Headings + type: heading + level: 3 + collapsed: true + - + id: h5-font + title: H5 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h5-size + title: H5 font size + description: Accepts any CSS font-size value + type: variable-text + default: 0.85em + - + id: h5-weight + title: H5 font weight + type: variable-number-slider + default: 500 + min: 100 + max: 900 + step: 100 + - + id: h5-color + title: H5 text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h5-variant + title: H5 font variant + type: variable-select + allowEmpty: false + default: small-caps + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h5-style + title: H5 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h5-l + title: H5 divider line + description: Adds a border below the heading + type: class-toggle + default: false + - + id: level-6-headings + title: Level 6 Headings + type: heading + level: 3 + collapsed: true + - + id: h6-font + title: H6 font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: h6-size + title: H6 font size + description: Accepts any CSS font-size value + type: variable-text + default: 0.85em + - + id: h6-weight + title: H6 font weight + type: variable-number-slider + default: 400 + min: 100 + max: 900 + step: 100 + - + id: h6-color + title: H6 text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: h6-variant + title: H6 font variant + type: variable-select + allowEmpty: false + default: small-caps + options: + - + label: Normal + value: normal + - + label: Small caps + value: small-caps + - + label: All small caps + value: all-small-caps + - + id: h6-style + title: H6 font style + type: variable-select + allowEmpty: false + default: normal + options: + - + label: Normal + value: normal + - + label: Italic + value: italic + - + id: h6-l + title: H6 divider line + type: class-toggle + description: Adds a border below the heading + default: false + - + id: icons + title: Icons + type: heading + level: 2 + collapsed: true + - + id: icon-muted + title: Icon opacity (inactive) + type: variable-number-slider + default: 0.5 + min: 0.25 + max: 1 + step: 0.05 + - + id: icon-color + title: Icon color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-color-hover + title: Icon color (hover) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-color-active + title: Icon color (active) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: icon-color-focused + title: Icon color (focused) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: images + title: Images + type: heading + level: 2 + collapsed: true + - + id: image-muted + title: Image opacity in dark mode + description: Level of fading for images in dark mode. Hover over images to display at full brightness. + type: variable-number-slider + default: 0.7 + min: 0.25 + max: 1 + step: 0.05 + - + id: image-radius + title: Image radius + description: Rounded corners for images + type: variable-number-slider + default: 4 + min: 0 + max: 16 + step: 1 + format: px + - + id: image-blend-light + title: Blend images in light mode + description: Allow images to blend into the color scheme background color + type: class-toggle + default: false + - + id: zoom-off + title: Disable image zoom + description: Turns off click + hold to zoom images + type: class-toggle + - + id: image-grid-fit + title: Image grid crop + description: Sets how images get cropped in a grid + type: variable-select + default: cover + options: + - + label: Crop to fit + value: cover + - + label: Show full image + value: contain + - + id: image-grid-background + title: Image grid background + description: Background of images in cells, useful when images are not cropped to fit + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: indentation-guides + title: Indentation guides + type: heading + level: 2 + collapsed: true + - + id: indentation-guide-color + title: Indentation guide color + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: indentation-guide-color-active + title: Indentation guide color (active) + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: links + title: Links + type: heading + level: 2 + collapsed: true + - + id: links-internal + title: Internal links + type: heading + level: 3 + collapsed: true + - + id: link-color + title: Internal link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-color-hover + title: Internal link color (hover) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-unresolved-opacity + title: Unresolved link opacity + type: variable-number-slider + default: 0.7 + min: 0.25 + max: 1 + step: 0.05 + - + id: link-unresolved-color + title: Unresolved link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-unresolved-decoration-color + title: Unresolved link underline color + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: links-external + title: External links + type: heading + level: 3 + collapsed: true + - + id: link-external-color + title: External link color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: link-external-color-hover + title: External link color (hover) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: active-line + title: Line numbers + type: heading + level: 2 + collapsed: true + - + id: active-line-on + title: Highlight active line + description: Adds a background to current line in editor + type: class-toggle + default: false + - + id: folding-offset + title: Gutter offset + description: Width of the file margin used for gutter + type: variable-number-slider + default: 32 + min: 0 + max: 60 + step: 1 + format: px + - + id: gutter-background + title: Gutter background + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: line-number-color + title: Line number color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: line-number-color-active + title: Active line number color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: active-line-bg + title: Active line background + description: Using a low opacity color is recommended to avoid conflicting with highlights + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: lists + title: Lists and tasks + type: heading + level: 2 + collapsed: true + - + id: checkbox-color + title: Checkbox color + description: Background color for completed tasks + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: checkbox-shape + title: Checkbox shape + type: class-select + allowEmpty: false + default: checkbox-circle + options: + - + label: Circle + value: checkbox-circle + - + label: Square + value: checkbox-square + - + id: minimal-strike-lists + title: Strike completed tasks + description: Adds strikethrough line and greyed text for completed tasks + type: class-toggle + default: false + - + id: list-spacing + title: List item spacing + description: Vertical space between list items in em units + type: variable-number-slider + default: 0.075 + min: 0 + max: 0.3 + step: 0.005 + format: em + - + id: list-indent + title: Nested list indentation + description: Horizontal space from left in em units + type: variable-number-slider + default: 2 + min: 1 + max: 3.5 + step: 0.1 + format: em + - + id: pdf + title: PDFs + type: heading + level: 2 + collapsed: true + - + id: pdf-page-style + title: PDF page style + description: Borders and shadows around pages + type: class-select + allowEmpty: false + default: pdf-seamless-on + options: + - + label: Seamless + value: pdf-seamless-on + - + label: Shadows + value: pdf-shadows-on + - + id: pdf-invert-dark + title: Invert PDFs in dark mode + description: Best for working with black text on white pages + type: class-toggle + default: true + - + id: pdf-blend-light + title: Blend PDFs in light mode + description: Allow PDFs to blend into the color scheme background color + type: class-toggle + default: true + - + id: pdf-dark-opacity + title: PDF opacity in dark mode + description: Fade PDF pages in dark mode + type: variable-number-slider + default: 1 + min: 0.25 + max: 1 + step: 0.05 + - + id: progress + title: Progress bars + type: heading + level: 2 + collapsed: true + - + id: progress-complete + title: Completed progress bar color + description: Defaults to your accent color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: properties + title: Properties + type: heading + level: 2 + collapsed: true + - + id: metadata-heading-off + title: Hide properties heading + description: Hide "Properties" heading above properties + type: class-toggle + default: false + - + id: metadata-add-property-off + title: Hide "Add property" button + description: Hide "Add property" button below properties + type: class-toggle + default: false + - + id: metadata-icons-off + title: Hide property icons + description: Hide icons next to property names + type: class-toggle + default: false + - + id: metadata-dividers + title: Property row lines + description: Display borders between properties + type: class-toggle + default: false + - + id: metadata-label-width-multiplier + title: Property name width + description: Width for the name of the property + type: variable-number-slider + default: 9 + min: 4 + max: 12 + step: 0.25 + - + id: sidebars + title: Sidebars + type: heading + level: 2 + collapsed: true + - + id: sidebar-tabs-style + title: Sidebar tab style + type: class-select + allowEmpty: false + default: sidebar-tabs-default + options: + - + label: Index round + value: sidebar-tabs-index + - + label: Index square + value: sidebar-tabs-square + - + label: Modern compact + value: sidebar-tabs-default + - + label: Modern wide + value: sidebar-tabs-wide + - + label: Square + value: sidebar-tabs-plain-square + - + label: Underline + value: sidebar-tabs-underline + - + id: sidebar-tabs-names + title: Sidebar tab names + type: class-select + allowEmpty: false + default: tab-names-off + options: + - + label: Hidden + value: tab-names-off + - + label: Visible + value: tab-names-on + - + label: Single tab only + value: tab-names-single + - + id: vault-profile-display + title: Vault profile position + type: class-select + allowEmpty: false + default: vault-profile-default + options: + - + label: Bottom + value: vault-profile-default + - + label: Top + value: vault-profile-top + - + id: hide-help + title: Hide help button + description: + type: class-toggle + default: false + - + id: hide-settings + title: Hide settings button + description: + type: class-toggle + default: false + - + id: mobile-left-sidebar-width + title: Mobile left sidebar width + description: Maximum width for pinned left sidebar on mobile + type: variable-number + default: 280 + format: pt + - + id: mobile-right-sidebar-width + title: Mobile right sidebar width + description: Maximum width for pinned right sidebar on mobile + type: variable-number + default: 240 + format: pt + - + id: ribbon + title: Ribbon + type: heading + level: 2 + collapsed: true + - + id: ribbon-style + title: Ribbon style + description: Display options for ribbon menu. Ribbon must be turned on in Obsidian Appearance settings for these options to work. + type: class-select + allowEmpty: false + default: ribbon-hidden + options: + - + label: Default + value: ribbon-hidden + - + label: Expand (vertical) + value: ribbon-vertical-expand + - + label: Hover (vertical) + value: ribbon-bottom-left-hover-vertical + - + label: Hover (horizontal) + value: ribbon-bottom-left-hover + - + id: tables + title: Tables + type: heading + level: 2 + collapsed: true + - + id: table-text-size + title: Table font size + description: All of the following settings apply to all tables globally. To turn on these features on a per-note basis use helper classes. See documentation. + type: variable-text + default: 1em + - + id: table-column-min-width + title: Minimum column width + type: variable-text + default: 6ch + - + id: table-column-max-width + title: Maximum column width + type: variable-text + default: none + - + id: maximize-tables-off + title: Maximize table width + description: Determines how wide tables should behave when they become wider than the line width + type: class-select + allowEmpty: false + default: maximize-tables-off + options: + - + label: Fit to line width + value: maximize-tables-off + - + label: Overflow line width + value: maximize-tables-auto + - + label: Always fill + value: maximize-tables + - + id: row-lines + title: Row lines + description: Display borders between table rows globally + type: class-toggle + default: false + - + id: col-lines + title: Column lines + description: Display borders between table columns globally + type: class-toggle + default: false + - + id: table-lines + title: Cell lines + description: Display borders around all table cells globally + type: class-toggle + default: false + - + id: row-alt + title: Striped rows + description: Display striped background in alternating table rows globally + type: class-toggle + default: false + - + id: col-alt + title: Striped columns + description: Display striped background in alternating table columns globally + type: class-toggle + default: false + - + id: table-tabular + title: Tabular figures + description: Use fixed width numbers in tables globally + type: class-toggle + default: false + - + id: table-numbers + title: Row numbers + description: Display row numbers in tables globally + type: class-toggle + default: false + - + id: table-center + title: Center small tables + description: Make small tables centered + type: class-toggle + default: false + - + id: table-nowrap + title: Disable line wrap + description: Turn off line wrapping in table cells globally + type: class-toggle + default: false + - + id: row-hover + title: Highlight active row + description: Highlight rows on hover + type: class-toggle + default: false + - + id: table-row-background-hover + title: Active row background + description: Background color for hovered tables rows + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: tabs + title: Tabs + type: heading + level: 2 + collapsed: true + - + id: header-height + title: Tab bar height + type: variable-text + default: 40px + - + id: tabs-style + title: Tab style + type: class-select + allowEmpty: false + default: tabs-default + options: + - + label: Index round + value: tabs-default + - + label: Index square + value: tabs-square + - + label: Modern + value: tabs-modern + - + label: Square + value: tabs-plain-square + - + label: Underline + value: tabs-underline + - + id: minimal-tab-text-color + title: Tab text color + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: minimal-tab-text-color-active + title: Tab text color (active) + type: variable-themed-color + format: hex + opacity: true + default-light: '#' + default-dark: '#' + - + id: tab-stacks + title: Tab stacks + type: heading + level: 2 + collapsed: true + - + id: tab-stacked-pane-width + title: Stacked width + type: variable-number + description: Width of a stacked tab in pixels + default: 700 + format: px + - + id: tab-stacked-header-width + title: Spine width + type: variable-number + description: Width of the spine in pixels + default: 40 + format: px + - + id: tab-stacked-spine-orientation + title: Spine text orientation + type: class-select + default: tab-stack-top + options: + - + label: Top + value: tab-stack-top + - + label: Top flipped + value: tab-stack-top-flipped + - + label: Bottom + value: tab-stack-bottom + - + label: Bottom flipped + value: tab-stack-bottom-flipped + - + label: Center + value: tab-stack-center + - + label: Center flipped + value: tab-stack-center-flipped + - + id: tab-stacked-spine-order + title: Spine element order + type: variable-select + default: row + options: + - + label: Default + value: row + - + label: Reversed + value: row-reverse + - + id: tags + title: Tags + type: heading + level: 2 + collapsed: true + - + id: minimal-unstyled-tags + title: Plain tags + description: Tags will render as normal text, overrides settings below + type: class-toggle + default: false + - + id: tag-radius + title: Tag shape + type: variable-select + default: 14px + options: + - + label: Pill + value: 14px + - + label: Rounded + value: 4px + - + label: Square + value: 0px + - + id: tag-border-width + title: Tag border width + type: variable-select + default: 1px + options: + - + label: None + value: 0 + - + label: Thin + value: 1px + - + label: Thick + value: 2px + - + id: tag-color + title: Tag text color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tag-background + title: Tag background color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tag-background-hover + title: Tag background color (hover) + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: text + title: Text + type: heading + level: 2 + collapsed: true + - + id: tx1 + title: Normal text color + type: variable-themed-color + description: Primary text color used by default across all elements + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: hl1 + title: Selected text background + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: hl2 + title: Highlighted text background + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tx2 + title: Muted text color + description: Secondary text such as sidebar note titles and table headings + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: tx3 + title: Faint text color + description: tertiary text such as input placeholders, empty checkboxes, and disabled statuses + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: text-formatting + title: Markdown syntax color + description: Markdown formatting syntax text color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: italic-color + title: Italic text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: bold-color + title: Bold text color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: bold-modifier + title: Bold text weight + type: variable-number-slider + default: 200 + min: 100 + max: 500 + step: 100 + - + id: p-spacing + title: Paragraph spacing + description: Space between paragraphs in reading mode (Obsidian 1.3.7+) + type: variable-text + default: 1.75rem + - + id: heading-spacing + title: Heading spacing + description: Space between paragraphs and headings in reading mode (Obsidian 1.3.7+) + type: variable-text + default: 2em + - + id: titles + title: Titles + type: heading + level: 2 + collapsed: true + - + id: tab-title-bar + title: Tab title bar + description: Tab title bar must be turned on in Appearance settings + type: heading + level: 3 + collapsed: true + - + id: file-header-visibility + title: Tab title visibility + description: Visibility of the tab title text + type: class-select + default: minimal-tab-title-hover + options: + - + label: Hover only + value: minimal-tab-title-hover + - + label: Hidden + value: minimal-tab-title-hidden + - + label: Visible + value: minimal-tab-title-visible + - + id: file-header-font-size + title: Tab title font size + description: Accepts any CSS font-size value + type: variable-text + default: 0.9em + - + id: file-header-font-weight + title: Tab title font weight + type: variable-number-slider + default: 400 + min: 100 + max: 900 + step: 100 + - + id: file-header-justify + title: Tab title alignment + type: variable-select + default: center + options: + - + label: Center + value: center + - + label: Left + value: left + - + id: title-color + title: Tab title text color (active) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: title-color-inactive + title: Tab title text color (inactive) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: inline-title + title: Inline title + description: Inline titles must be turned on in Appearance settings + type: heading + level: 3 + collapsed: true + - + id: inline-title-font + title: Inline title font + description: Name of the font as it appears on your system + type: variable-text + default: '' + - + id: inline-title-size + title: Inline title font size + description: Accepts any CSS font-size value + type: variable-text + default: 1.125em + - + id: inline-title-weight + title: Inline title font weight + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 + - + id: inline-title-color + title: Inline title text color (active) + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: translucency + title: Translucency + type: heading + level: 2 + collapsed: true + - + id: workspace-background-translucent + title: Translucent background color + type: variable-themed-color + opacity: true + format: hex + default-light: '#' + default-dark: '#' + - + id: window-frame + title: Window frame + type: heading + level: 2 + collapsed: true + - + id: window-title-off + title: Hide window frame title + description: Hide title in the custom title bar + type: class-toggle + - + id: frame-background + title: Frame background + description: Requires colorful window frame + type: variable-themed-color + opacity: true + format: hsl-split + default-light: '#' + default-dark: '#' + - + id: frame-icon-color + title: Frame icon color + description: Requires colorful frame + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: titlebar-text-color-focused + title: Frame title color (focused) + description: Requires custom title bar + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: titlebar-text-color + title: Frame title color (inactive) + description: Requires custom title bar + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: titlebar-text-weight + title: Frame title font weight + description: Requires custom title bar + type: variable-number-slider + default: 600 + min: 100 + max: 900 + step: 100 +*/ + +/* @settings +name: Minimal Cards +id: minimal-cards-style +settings: + - + id: cards-min-width + title: Card minimum width + type: variable-text + default: 180px + - + id: cards-max-width + title: Card maximum width + description: Default fills the available width, accepts valid CSS units + type: variable-text + default: 1fr + - + id: cards-mobile-width + title: Card minimum width on mobile + type: variable-text + default: 120px + - + id: cards-padding + title: Card padding + type: variable-text + default: 1.2em + - + id: cards-image-height + title: Card maximum image height + type: variable-text + default: 400px + - + id: cards-border-width + title: Card border width + type: variable-text + default: 1px + - + id: cards-background + title: Card background color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + - + id: cards-background-hover (hover) + title: Card background color + type: variable-themed-color + format: hex + default-light: '#' + default-dark: '#' + +*/ + +/* @settings +name: Minimal Advanced Settings +id: minimal-advanced +settings: + - + id: hide-markdown + title: Hide Markdown syntax + description: WARNING — This may be confusing because the characters still exist they are just hidden. + type: class-toggle + - + id: hide-settings-desc + title: Hide setting descriptions + description: Press and hold setting names to see their description. + type: class-toggle + - + id: animations + title: Animation speed + type: class-select + default: default + options: + - + label: Normal + value: default + - + label: Disabled + value: disable-animations + - + label: Fast + value: fast-animations + - + id: cursor + title: Cursor style + description: The cursor style for UI elements + type: variable-select + default: default + options: + - + label: Default + value: default + - + label: Pointer + value: pointer + - + label: Crosshair + value: crosshair + - + id: font-ui-small + title: Small font size + description: Font size in px of smaller text + type: variable-number + default: 13 + format: px + - + id: font-ui-smaller + title: Smaller font size + description: Font size in px of smallest text + type: variable-number + default: 11 + format: px + - + id: mobile-toolbar-off + title: Disable mobile toolbar + description: Turns off toolbar in editor on mobile + type: class-toggle + +*/ diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json new file mode 100644 index 0000000..b8dc162 --- /dev/null +++ b/.obsidian/workspace.json @@ -0,0 +1,202 @@ +{ + "main": { + "id": "960fdfb58c74e7f8", + "type": "split", + "children": [ + { + "id": "13edd9c5e907dbd7", + "type": "tabs", + "children": [ + { + "id": "c0c7678db81941b8", + "type": "leaf", + "state": { + "type": "markdown", + "state": { + "file": "02 Работы/Доклады/Философия/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md", + "mode": "source", + "source": false + }, + "icon": "lucide-file", + "title": "Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства" + } + } + ] + } + ], + "direction": "vertical" + }, + "left": { + "id": "0fc5741495bf466d", + "type": "split", + "children": [ + { + "id": "1f0b93b14f17f477", + "type": "tabs", + "children": [ + { + "id": "cde275d305ff3cf3", + "type": "leaf", + "state": { + "type": "file-explorer", + "state": { + "sortOrder": "alphabetical", + "autoReveal": false + }, + "icon": "lucide-folder-closed", + "title": "Files" + } + }, + { + "id": "fc279ae42da6f590", + "type": "leaf", + "state": { + "type": "search", + "state": { + "query": "tag:#Лекция", + "matchingCase": false, + "explainSearch": false, + "collapseAll": false, + "extraContext": false, + "sortOrder": "alphabetical" + }, + "icon": "lucide-search", + "title": "Search" + } + }, + { + "id": "ef2b1c8fb3a2d292", + "type": "leaf", + "state": { + "type": "bookmarks", + "state": {}, + "icon": "lucide-bookmark", + "title": "Bookmarks" + } + } + ] + } + ], + "direction": "horizontal", + "width": 324.5004348754883 + }, + "right": { + "id": "4399e0337c2c3a03", + "type": "split", + "children": [ + { + "id": "a6bc2b8664505122", + "type": "tabs", + "children": [ + { + "id": "687df79c231db392", + "type": "leaf", + "state": { + "type": "tag", + "state": { + "sortOrder": "frequency", + "useHierarchy": true, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-tags", + "title": "Tags" + } + }, + { + "id": "1fe039fbca647d91", + "type": "leaf", + "state": { + "type": "outline", + "state": { + "file": "02 Работы/Доклады/Философия/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md", + "followCursor": false, + "showSearch": false, + "searchQuery": "" + }, + "icon": "lucide-list", + "title": "Outline of Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства" + } + }, + { + "id": "3c50531bd90ccd1a", + "type": "leaf", + "state": { + "type": "git-view", + "state": {}, + "icon": "git-pull-request", + "title": "Source Control" + } + } + ], + "currentTab": 2 + } + ], + "direction": "horizontal", + "width": 306.5 + }, + "left-ribbon": { + "hiddenItems": { + "bases:Create new base": true, + "switcher:Open quick switcher": false, + "graph:Open graph view": false, + "canvas:Create new canvas": false, + "daily-notes:Open today's daily note": true, + "templates:Insert template": true, + "command-palette:Open command palette": true, + "obsidian-git:Open Git source control": false + } + }, + "active": "3c50531bd90ccd1a", + "lastOpenFiles": [ + "01 Учёба/1 семестр/Высшая математика/math-200/Оценка.md", + "01 Учёба/1 семестр/Высшая математика/math-200/овтеты.md", + "01 Учёба/1 семестр/Высшая математика/math-200/Заметки.md", + "01 Учёба/1 семестр/Высшая математика/math-200/Д-N-up.pdf", + "01 Учёба/1 семестр/Высшая математика/math-200/Д-N.pdf", + "01 Учёба/1 семестр/Высшая математика/math-200/Untitled.md", + "01 Учёба/1 семестр/Высшая математика/math-200/! 200 ПРИМЕРОВ.pdf", + "01 Учёба/1 семестр/История России/03.10 Дополнительные вопросы и задания.md", + "README.md", + "02 Работы/Доклады/Философия/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md", + "02 Работы/Доклады/Философия", + "03 Ресурсы/00 Индекс ресурсов.md", + "03 Ресурсы/00 Индекс.md", + "00 Навигация/00 Главная.md", + "01 Учёба/1 семестр/Высшая математика/10.10 ДЗ.md", + "01 Учёба/1 семестр/Высшая математика/00 Индекс.md", + "02 Работы/00 Индекс работ.md", + "03 Ресурсы/Изображения/00 Индекс изображений.md", + "Работы/Доклады/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md", + "Работы/Доклады/Пифагор чёто там.key", + "Работы/Доклады/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства 1.md", + "Работы/Пифагорейская школа/Пифагорейская школа — Шашко Павел.pptx", + "Работы/Пифагорейская школа/assets/prepared/slide13.png", + "Работы/Пифагорейская школа/assets/prepared/slide12.png", + "Работы/Пифагорейская школа/assets/prepared/slide11.png", + "Работы/Пифагорейская школа/assets/prepared/slide10.png", + "Работы/Пифагорейская школа/assets/prepared/slide9.png", + "Работы/Пифагорейская школа/assets/prepared/slide8.png", + "Работы/Пифагорейская школа/assets/raw_slide8.src", + "Работы/Пифагорейская школа/assets/prepared/slide7.png", + "Работы/Пифагорейская школа/assets/raw_slide7.src", + "Работы/Пифагорейская школа/assets/prepared/slide6.png", + "Работы/Пифагорейская школа/assets/raw_slide6.src", + "Работы/Пифагорейская школа/assets/prepared/slide5.png", + "Работы/Пифагорейская школа/assets/raw_slide5.src", + "Работы/Пифагорейская школа/assets/prepared/slide4.png", + "Задания/ВышМат/math-200/modules/7 MODULE.md", + "Задания/ВышМат/math-200/modules/1 MODULE.md", + "Конспекты/2 СЕМ/10.02.md", + "Untitled.md", + "Задания/ВышМат/ДЗ Высшая математика.md", + "unsorted/LaTeX shortcuts.md", + "Конспекты/1 СЕМ/Введение в профессию/Установка систем Windows, Linux, macOS. Мобильные ОС, сравнение..md", + "Конспекты/1 СЕМ/Английский/Модальные глаголы и их эквиваленты.md", + "Конспекты/1 СЕМ/Английский/Сложное подлежащее.md", + "Конспекты/1 СЕМ/Английский/Условные предложения.md", + "Untitled 1.canvas", + "Untitled.canvas", + "Английский/Untitled.canvas" + ] +} \ No newline at end of file diff --git a/01 Учёба/1 семестр/Английский язык/!Учебник.pdf b/01 Учёба/1 семестр/Английский язык/!Учебник.pdf new file mode 120000 index 0000000..a921338 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/!Учебник.pdf @@ -0,0 +1 @@ +../../../03 Ресурсы/Учебники/Английский.pdf \ No newline at end of file diff --git a/01 Учёба/1 семестр/Английский язык/11.11 Вопросы.md b/01 Учёба/1 семестр/Английский язык/11.11 Вопросы.md new file mode 100644 index 0000000..ea5ab69 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/11.11 Вопросы.md @@ -0,0 +1,36 @@ +### 1 +#учеба #семестр_1 #английский_язык + +Вопрос (RU): Какие три основных типа высших учебных заведений существуют в России и какую общую роль они выполняют? +Ответ (RU): В России выделяют университеты, академии и институты; все эти типы учреждений реализуют программы высшего профессионального образования и готовят специалистов разного профиля. + +Question (EN): What are the three main types of higher education institutions in Russia and what common function do they perform? +Answer (EN): The three main types are universities, academies, and institutes; all of them provide higher professional education programmes and train specialists in various fields. + +### 2 +Вопрос (RU): Какова основная особенность университета в системе высшего образования России? +Ответ (RU): Университет отличается тем, что охватывает широкий круг направлений подготовки и может включать как технические, так и классические специальности. + +Question (EN): What is the main feature of a university within the Russian system of higher education? +Answer (EN): A university is characterized by offering a wide range of study fields, including both technical and classical disciplines. + +### 3 +Вопрос (RU): Чем академия отличается от университета по профилю подготовки? +Ответ (RU): Академия специализируется на более узком наборе специальностей, обычно связанных с одной отраслью, например сельским хозяйством, экономикой или транспортом. + +Question (EN): How does an academy differ from a university in terms of its training profile? +Answer (EN): An academy focuses on a narrower set of specialties, usually within a specific sector such as agriculture, economics, or transport. + +### 4 +Вопрос (RU): Какова роль института и как он связан с университетами и академиями? +Ответ (RU): Институт обеспечивает подготовку по одной или нескольким конкретным дисциплинам и часто ориентирован на профессиональную подготовку; он может существовать как самостоятельное учреждение или как подразделение университета или академии. + +Question (EN): What is the role of an institute and how can it be related to universities or academies? +Answer (EN): An institute provides training in one or several specific disciplines with a strong professional focus and may function either as an independent institution or as a department within a university or an academy. + +### 5 +Вопрос (RU): Как формируются учебные планы в российских вузах и какие основные элементы включают образовательные программы? +Ответ (RU): Около 80% содержания учебных планов задают государственные стандарты, а оставшиеся 20% разрабатывает сам вуз; программы включают специальные курсы, практику, научно-исследовательскую работу или проект и государственные итоговые экзамены. + +Question (EN): How are curricula formed in Russian higher education institutions and what key components do the programmes include? +Answer (EN): Around 80% of the curriculum is defined by state educational standards, while the remaining 20% is developed by the institution; programmes include specialized courses, practical training, research work or a project, and final state examinations. diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/1 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/1 задание.md new file mode 100644 index 0000000..de34301 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/1 задание.md @@ -0,0 +1,22 @@ +#учеба #семестр_1 #английский_язык + +1. **a hall of residence / residence hall / dormitory** – общежитие (обычно студенческое). +2. **to meet a deadline** – уложиться в срок, успеть к установленному сроку. +3. **fee** – плата, взнос (обычно: плата за обучение, услуги). +4. **a student loan** – студенческий кредит (заём на оплату учёбы/жизни). +5. **a rent** – арендная плата (обычно за квартиру/комнату). +6. **to have fun** – веселиться, хорошо проводить время. +7. **a tutor** – наставник / куратор / репетитор (в вузе Великобритании – личный научный руководитель/наставник). +8. **a tutorial** – семинар / практическое занятие в небольшой группе. +9. **compulsory** – обязательный. +10. **optional** – необязательный, факультативный, по выбору. +11. **to sign up for** – записаться на (курс, кружок, занятие). +12. **workload** – нагрузка, объём работы/учёбы. +13. **to be enrolled** – быть зачисленным, числиться студентом (на курсе, в вузе). +14. **to adjust** – приспосабливаться, адаптироваться; также: подстраивать, корректировать. +15. **an assignment** – задание (учебное; работа, которую нужно выполнить). +16. **an exchange program** – программа обмена (студенческого). +17. **an opportunity** – возможность (шанс). +18. **skills** – навыки, умения. +19. **apply to** – подавать заявление в (университет, компанию); обращаться к (кому-то/чему-то). +20. **to consider** – рассматривать, обдумывать, учитывать. diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/2 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/2 задание.md new file mode 100644 index 0000000..e0a0997 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/2 задание.md @@ -0,0 +1,11 @@ +#учеба #семестр_1 #английский_язык + +Краткий ответ: A–5, B–1, C–4, D–3, E–2. + +Чуть развернуто: +- A — **5) Living Space** (про общежитие, проживание, свободу и жильё). +- B — **1) Managing your time** (про планирование времени, расписание, дедлайны). +- C — **4) Money and Stuff** (про деньги, кредиты, аренду, платежи). +- D — **3) Fun, fun, fun** (про развлечения, клубы, кино, тусовки). +- E — **2) Oh yes, and you have to study too** (про лекции, учебу, самостоятельную работу). +- diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/3 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/3 задание.md new file mode 100644 index 0000000..7a5df45 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/3 задание.md @@ -0,0 +1,31 @@ +#учеба #семестр_1 #английский_язык + +1. **Living in halls of residence usually costs less money than renting a flat or house.** + → **True** + **Цитата:** +> Most students opt to live in halls of residence for their first year of study – this usually works out cheaper than finding a flat or house... + +2. **The university provides accommodation in university halls for all undergraduate students that apply before the deadline.** + → **False** (в тексте есть ограничения: только _new single undergraduate students_) + **Цитата:** +> The university also guarantees accommodation in university halls for all new single undergraduate students that apply before the deadline. + +3. **It is necessary to plan your activities with a weekly or monthly schedule.** + → **False** (это «good idea», а не строгая необходимость) + **Цитата:** +> Of course, it is a good idea to organize your time with a weekly or monthly schedule. + +4. **Along with independency students face the responsibility to take care of their own expenses.** + → **True** + **Цитата:** +> So you’re living away from home, planning your own routine and even cooking your own meals – and that means looking after your own money. + +5. **Students aren’t supposed to go to all their lectures and classes.** + → **False** + **Цитата:** +> You’ll be expected to go to all your lectures and classes. + +6. **It’s impossible to have plenty of free time to enjoy student life at the university.** + → **False** + **Цитата:** +> If you plan your time and your workload, you’ll have plenty of free time to enjoy student life at the university. diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/4 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/4 задание.md new file mode 100644 index 0000000..45d2139 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/4 задание.md @@ -0,0 +1,6 @@ +#учеба #семестр_1 #английский_язык + +1. Work pressure – 3, 7 +2. Money – 1, 5 +3. Social life – 4, 6 +4. Organization of studies – 2, 8 diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/5 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/5 задание.md new file mode 100644 index 0000000..6d9a25b --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/5 задание.md @@ -0,0 +1,19 @@ +#учеба #семестр_1 #английский_язык + +1. **Modules (модули)** +- _“…you register on a course consisting of **compulsory modules and optional modules** …”_ +- _“The early years of your course will have more **compulsory and core modules**.”_ +- _“Your personal tutor will advise you on the best **module options** to suit your particular academic interests.”_ + +2. **Qualification (квалификация)** +- _“…a course consisting of compulsory modules and optional modules that **leads to the award of a qualification**.”_ +- _“Or you register on a course that gives credit that can be counted as a part of a **qualification**.”_ + +3. **Timetable (расписание)** +- _“After registering on your program, you will be able to access a personalized academic **timetable**.”_ +- _“…you may be surprised at how much control you have over your **timetable**.”_ +- _“…allowing you to sign up for the one that fits best with your other classes and personal commitments.”_ + +4. **Academic studies (учёба, учебная нагрузка)** +- _“During term time, you’re expected to spend an average of 42–46 hours a week on your **academic studies** (including teaching/contact time and independent study)…”_ +- _“…and you also need to undertake some work during the vacations (e. g. further reading/research, revision, assignments).”_ diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/6 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/6 задание.md new file mode 100644 index 0000000..58e5994 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/6 задание.md @@ -0,0 +1,3 @@ +#учеба #семестр_1 #английский_язык + +1c, 2a, 3h, 4b, 5f, 6g, 7e, 8d diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/7 задание.md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/7 задание.md new file mode 100644 index 0000000..71554f0 --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Part 1/7 задание.md @@ -0,0 +1,3 @@ +#учеба #семестр_1 #английский_язык + +1e, 2a, 3b, 4f, 5c, 6d diff --git a/01 Учёба/1 семестр/Английский язык/4 UNIT/Work with a group-mate to discuss the following..md b/01 Учёба/1 семестр/Английский язык/4 UNIT/Work with a group-mate to discuss the following..md new file mode 100644 index 0000000..831ff2b --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/4 UNIT/Work with a group-mate to discuss the following..md @@ -0,0 +1,3 @@ +#учеба #семестр_1 #английский_язык + +I often think about different aspects of student life, such as work pressure, money, food, social life and the organization of my studies. Students’ workload can be quite heavy, because there are regular lectures, seminars, homework assignments and exam preparation, which sometimes come all at once. This study pressure is closely connected with money and food, as we have to pay for rent, buy groceries and still try to eat something healthier than fast food when we are busy. At the same time, social life is very important, because meeting friends or joining student activities helps to relax and forget about stress for a while. However, it is not always easy to find a balance between concentrating on studies and having fun with other students. Because of all these aspects, arranging my timetable can be challenging, especially in exam periods. I try to use a planner or an online calendar to write down my classes, deadlines and free evenings. In my opinion, good time management is the only way to handle workload, money and social life and still enjoy being a student. diff --git a/01 Учёба/1 семестр/Английский язык/About yourself.md b/01 Учёба/1 семестр/Английский язык/About yourself.md new file mode 100644 index 0000000..432abfb --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/About yourself.md @@ -0,0 +1,21 @@ +### RU +#учеба #семестр_1 #английский_язык + +Меня зовут Павел Шашко, на данный момент мне 18 лет. + +Родом я из Сибири. Мой родной город, Новый Уренгой, известен как «газовая столица России». Наша уренгойское газовое месторождение приносит нашей стране около 60% всего природного газа. Очень много лет Новый Уренгой не представлял из себя ничего более, чем город, в который люди приезжают на заработки, но последние пару лет его начали обустраивать, делая из него хороший город для простой жизни. + +С детства и до недавнего времени увлекался музыкой, сейчас же из этого увлечения осталось только её прослушивание. Закончил музыкальную школу с полным отличием, отсидев, как в тюрьме, 8 лет. Всегда увлекался всем, чем попало, благодаря чему на данный момент есть много разных, но не очень хорошо изученных навыков. Музыка, рисование, анимирование, программирование – вот про всё это и речь. Конечно последним увлекаюсь больше, так как нравится. Мне в целом симпатизирует технологический мир, поэтому я увлекаюсь не исключительно программированием, а так же другими сферами связанными с технологиями. + +В школе я учился неплохо, но прям особым отличием не выделялся, хотя учёба давалась относительно просто. Как у всех, так и у меня, были проблемные предметы, например географии и биологии, но школу закончил оценками, не ниже «хорошо». + +На данный момент я яро увлечен программированием Web-сайтов, GameDev'ом, системным администрированием и DevOps'ом. Моими основными знаниями являются, как некоторые языки программирования, так и многие операционные системы. Изучаю английский язык, для того, чтобы ознакамливаться с множеством разных документаций на их родном языке. В принципе для человека, который увлекается программированием английский язык обязателен. + +### EN +My name is Pavel Shashko, and I’m 18 years old. + +I’m from Siberia. My hometown, Novy Urengoy, is known as the “gas capital of Russia.” The Urengoy gas field provides about 60% of all natural gas in our country. For many years, Novy Urengoy was nothing more than a city where people came to work, but in recent years it’s been developing into a comfortable place for everyday life. + +Since childhood and until recently, I was deeply into music, though now I mostly just listen to it. I graduated from music school with excellent grades, having spent eight years there. I’ve always had a wide range of interests, which gave me many different but not deeply mastered skills: music, drawing, animation, programming and others. Programming is my main interest because I truly enjoy it. I’m drawn to the world of technology in general, so I explore not only programming but also other tech-related areas. + +Right now, I’m have very big interest in web development, game development, system administration, and DevOps. My core knowledge includes several programming languages as well as many operating systems. I’m also learning English to read a wide range of documentation in its original language. As for me, for anyone interested in programming, English is essential. diff --git a/01 Учёба/1 семестр/Английский язык/Модальные глаголы и их эквиваленты.md b/01 Учёба/1 семестр/Английский язык/Модальные глаголы и их эквиваленты.md new file mode 100644 index 0000000..5b4c68b --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/Модальные глаголы и их эквиваленты.md @@ -0,0 +1,37 @@ +8 октября + +| Present Simple | Past Simple | Equivalent(s) | +| --------------------------------------- | ------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| can
*(мочь/уметь; физ. возможность)* | could | to be able to V
| +| may
*(мочь с разрешения)* | might | to allow to V
*(позволять/разрешать)* | +| must
*(должен/обязан)* | must
*(had to)* | should
*(следует)*

ought to
*(следует с морал. точки зр.)*

have to **/** has to **/** will have to
*(приходиться)*

be to[^1]
*(должен по расписанию или по взаимной договорённости)* | +[^1]: am to; is to; are to; was to; were to; will be to; + +**Предложения:** +- It was late so he had to take a taxi. *(Было поздно, так что ему нужно было взять такси)* +- Did he have to take a taxi? *(Он взял такси?)* +- You should cut your hair. *(Тебе следует подстричься)* +- You must cut your hair. *(Тебе нужно подстричься)* +- The student was late for classes but the teacher allowed him to enter. *(Студент опоздал на занятия, но преподаватель разрешил ему войти)* + (The student ==was allowed to enter==.) (Past Simple Passive) +- Where were you to meet your friend? *(Где вы должнЫ были встретиться со своим другом?)* + We were to meet at the entrance. *(Мы должны были встретиться у входа)* + +| Подлежащее | Сказуемое | Перевод | +| ------------------------------------------------ | --------- | ------------------------------------ | +| aim/purpose
task
intention
idea
etc. | to be | Состоять/заключаться в том, чтобы... | +Предложения: +- Our task is to read with article. *(Наша задача заключается в том, чтобы прочитать эту статью)* + +## Страдательный залог у модальных глаголов +#учеба #семестр_1 #английский_язык + + +| Active Voice | Passive Voice | +| ------------------------------------------ | ------------- | +| can
may
must
have to
should... | AV + Vз/Ved | + +Would ≠ used to +Многократное совершение действия в прошлом, которого нет +[Примеры с would](!Учебник.pdf#page=61&selection=257,0,260,1|!Учебник, page 61) +[Как правило по обыкновению «обычно/регулярно/часто»](!Учебник.pdf#page=61&selection=340,0,341,20|!Учебник, page 61) diff --git a/01 Учёба/1 семестр/Английский язык/Сложное подлежащее.md b/01 Учёба/1 семестр/Английский язык/Сложное подлежащее.md new file mode 100644 index 0000000..77d48bc --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/Сложное подлежащее.md @@ -0,0 +1,4 @@ +#учеба #семестр_1 #английский_язык + +Подл-сказ-to V(V_ing) +скибиди сигмо diff --git a/01 Учёба/1 семестр/Английский язык/Текста короче да.md b/01 Учёба/1 семестр/Английский язык/Текста короче да.md new file mode 100644 index 0000000..056f6fa --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/Текста короче да.md @@ -0,0 +1,32 @@ +### Мой пересказ +#учеба #семестр_1 #английский_язык + +#### The Language We Speak Shapes How We Think +##### Старое +Language shapes how people think. When a distinction is built into a language, speakers are more likely to notice and apply it in thought. Hebrew exposure helps children identify gender earlier, and Mandarin number words make the base-ten system clearer for learners. Having the right words improves memory and precision, because words act as compact codes for complex ideas. As vocabulary grows, cognition strengthens and becomes more organized. Since human minds are flexible, languages and habitual mind-sets diverge, including how time is mapped in speech and writing. Creating new time schemas requires cognitive flexibility, and once adopted they tend to settle into stable habits. +##### Новое +Language actively shapes how people think and organize ideas. When a category is encoded in grammar or vocabulary, speakers tend to notice and use that distinction in reasoning; when it is absent, they do so less. Evidence comes from development: Hebrew learners identify gender earlier, and Mandarin number words make the base-ten structure transparent, helping children grasp arithmetic patterns sooner than Anglophones. Words serve as compact codes for complex concepts, so the right terms boost memory, sharpen categories, and reduce working-memory load. As children acquire vocabulary and constructions, their cognitive abilities grow and their mental models become more structured. Because human cognition is flexible, languages cultivate different habitual mind-sets, including distinct metaphors for time: English places the future “in front,” Aymara “behind,” and Mandarin maps past “above” and future “below”; writing direction and spatial habits also nudge timelines. Inventing such schemas requires cognitive flexibility, yet once a community adopts a system it hardens into habit. Overall, language is less a constraint than a toolkit and scaffold that guides attention, speeds pattern discovery, and diversifies how we represent the world. + +### Тезисы Лёши +- Textspeak is a youth-driven offshoot of English. +- It is fast, inventive, utilitarian, and minimalist. +- Critics object, yet sheer message volume makes it unavoidable. +- It prioritizes bare-bones communication and sound over etymology. +- It has minted a new lexicon: LOL, SUP, CUL8R, and others. +- Spelling shifts toward pronunciation; capitals can mark vowel length. +- Debate persists: passing fad or genuine change, amplified by the internet. +- David Crystal says it arose from small screens and leaves limited impact on core English. +- New Zealand exam officials have signaled openness to WOT, WANNA, and CU2, prompting backlash. +- Leakage shows elsewhere: some exam bodies accept “2B R NT 2B” and “I LUV U.” + +### Тезисы Кирилла +- Populations are aging fast; costs will rise. +- Few grasp the scale, especially in business. +- Workforces skew older; retirements surge. +- Firms are ill-prepared and youth-focused. +- Age-based pay and early exits create a two-tier market. +- The model is unsustainable as young talent shrinks. +- Companies must manage and upskill older workers. +- Trials show fixes help: ergonomic tweaks, over-50 hiring. +- Capture boomer know-how: mentoring, phased retirement. +- Rethink careers; laws can hinder useful experiments. diff --git a/01 Учёба/1 семестр/Английский язык/Условные предложения.md b/01 Учёба/1 семестр/Английский язык/Условные предложения.md new file mode 100644 index 0000000..9e05d2f --- /dev/null +++ b/01 Учёба/1 семестр/Английский язык/Условные предложения.md @@ -0,0 +1,45 @@ +### **Готовится к тесту по сказуемым** +#учеба #семестр_1 #английский_язык + + +**[Тема в учебнике](!Учебник.pdf#page=67&selection=2,0,5,32|!Учебник, page 67)** +### Conditionals +`[]` - главная часть предл. +`()` - придаточная часть предл. + +**Союзы if, when выбираются по вероятности:** +If – <50% +When – >50% + +**0-й тип** – настоящее время, реальное условие +*Схема:* +**((союз)V/Vs)\[V/Vs]** +((If we don't water plants)\[the die.] + +**1-й тип** – будущее время, реальное условие +*Схема:* +**((союз)V/Vs)\[will + V]** +(If weather is fine)\[we will go to the country.] + +**2-й тип** – настоящее/будущее время, нереальное условие +*Схема:* +**((союз) Vo/Ved)\[should/would/could + V]** +If I were you – *На твоём бы месте* +If I were in your shoes – *На твоём бы месте* +(If pigs had wings)\[they could fly.] + +**3-й тип** – прошедшее время, нереальное условие +*Схема:* +**((союз)had+Vs/Ved)\[should/would/could+have Vs/Ved]** +I got a three on my exam. (If I had revised for it better)\[I could have got a five.] + +**Союзы:** +As soon as +Till/until +Before +After +Provide/provided +Suppose/supposing +Unless – если не + +[Правила перевода](!Учебник.pdf#page=69&selection=40,0,41,35|!Учебник, page 69) diff --git a/01 Учёба/1 семестр/Введение в профессию/Установка систем Windows, Linux, macOS. Мобильные ОС, сравнение..md b/01 Учёба/1 семестр/Введение в профессию/Установка систем Windows, Linux, macOS. Мобильные ОС, сравнение..md new file mode 100644 index 0000000..093639b --- /dev/null +++ b/01 Учёба/1 семестр/Введение в профессию/Установка систем Windows, Linux, macOS. Мобильные ОС, сравнение..md @@ -0,0 +1,22 @@ +Установка Windows, Linux, macOS в корни отличается друг от друга, ведь все эти системы работают на абсолютно разных ядрах. +## Установка Windows +#учеба #семестр_1 #введение_в_профессию + +Установка Windows это наиболее знакомое рядовому пользователю действие, поскольку эта ОС доминирует на рынке персональных компьютеров. С технической точки зрения, фсовременная установка Windows представляет собой процесс **развертывания образа**: установщик не копирует тысячи мелких файлов по отдельности, а распаковывает заранее подготовленный слепок системы. Это делает процесс быстрым и предсказуемым. +Для пользователя это выглядит как почти полностью автоматизированное действие. Главная задача – выбрать целевой диск, после чего установщик берет управление на себя. Система автоматически размечает накопитель, создавая не только основной раздел с файловой системой **NTFS**, но и критически важные скрытые разделы для загрузчика и среды восстановления, скрывая эту сложность от глаз человека. +Ещё одна сильная сторона Windows – огромная база драйверов «из коробки» и тесная интеграция с уровнем аппаратных абстракций. В процессе установки система опрашивает компоненты ПК и устанавливает базовые драйверы, позволяя запустить графический интерфейс сразу после первой перезагрузки. Недостающие или специфические драйверы (например, для мощной видеокарты) система автоматически подтягивает через Центр обновлений уже на рабочем столе. +## Установка macOS +Перед самой сложной частью хочется затронуть, наоборот, самую простую – установку macOS. В отличие от других ОС, macOS неразрывно связана с «железом», так как поставляется исключительно на компьютерах Apple (MacBook, iMac, Mac Studio и др.). Благодаря этой **вертикальной интеграции**, понятие «установка» здесь сводится к минимуму. Часто система уже предустановлена, но даже процесс чистой установки (например, при сбросе) уникален: компьютер способен самостоятельно скачать образ системы с серверов Apple через интернет и развернуть его без использования загрузочных флешек. +С теоретической точки зрения, инсталлятор macOS работает в тепличных условиях. Ему не нужно сканировать тысячи вариаций материнских плат – он заранее знает конфигурацию устройства. Проблема драйверов здесь решена на архитектурном уровне: все необходимые расширения ядра уже включены в дистрибутив и оптимизированы инженерами Apple. Более того, современная установка macOS использует технологию **Signed System Volume:** система устанавливается на защищенный, криптографически подписанный раздел диска, доступный только для чтения. Это не только гарантирует идеальную совместимость, но и делает систему практически неуязвимой для вирусов, пытающихся модифицировать системные файлы на этапе загрузки. +## Установка Linux +С теоретической точки зрения, фраза «установка Linux» не совсем правильна, так как Linux – это лишь ядро. Пользователь же устанавливает **дистрибутив** – набор из ядра, системных утилит GNU и прикладного ПО. Из-за этой модульности процесс варьируется от элементарного до инженерно сложного. +Большинство современных десктопных дистрибутивов (Ubuntu, Manjaro, Fedora, Mint) используют графические установщики (например, Calamares или Anaconda), которые делают процесс даже проще, чем в Windows. Ключевая особенность здесь – **Живой режим**. Система загружается в оперативную память (RAM) без установки на диск. Это позволяет пользователю не просто «потыкать браузер», а проверить совместимость оборудования (Wi-Fi, звук, видеокарта) до внесения изменений в накопитель. На этом этапе установщик предлагает разметку диска, предлагая современные файловые системы, такие как **ext4** или **Btrfs**, которые архитектурно отличаются от NTFS в Windows. +С другой стороны спектра находятся дистрибутивы с ручной сборкой (Arch, Gentoo). Здесь нет привычного усановщика. Пользователь вручную монтирует разделы, форматирует их через консоль, устанавливает ядро и загрузчик GRUB, а затем настраивает окружение через смену корневого каталога. В случае с Gentoo происходит даже компиляция пакетов под конкретный процессор. Такой подход дает не просто «контроль», а возможность собрать уникальную операционную систему, где каждый компонент, от демона инициализации до графической оболочки, выбран и настроен пользователем осознанно, исключая любой «мусор», который навязывают коробочные системы. +## Мобильные ОС, сравнение. +Если на компьютерах понятие «установка системы» – это привычная рутина, то в мире мобильных устройств всё перевернуто с ног на голову. Здесь правильнее говорить не об установке, а о «прошивке» или обновлении, так как архитектура смартфонов требует жесткой привязки софта к конкретному железу. +### iOS +Ситуация с **iOS** максимально напоминает (и даже превосходит по строгости) подход macOS. Пользователь вообще не должен думать об установке. Система намертво "прибита" к устройству. Максимум, что дозволено владельцу iPhone – это нажать кнопку «Обновить» или, в случае критического сбоя, подключить телефон к компьютеру для восстановления через режим Recovery. Никаких драйверов, никаких разделов диска – Apple полностью контролирует этот процесс, гарантируя, что система встанет идеально, но лишая пользователя права шага влево или вправо. +### Android +С **Android** всё куда интереснее, ведь это – прямой наследник Linux. +Для 99% пользователей «установка» выглядит так же, как на iOS: купил, включил, обновился. Но энтузиасты знают другую сторону медали. Поскольку Android основан на ядре Linux, здесь существует огромный мир «кастомных прошивок». +Процесс ручной установки альтернативного Android (например, LineageOS или Pixel Experience) на смартфон – это настоящий квест. Нужно разблокировать загрузчик, установить кастомное рекавери и вручную «прошивать» файлы системы через командную строку или специальное меню. Это дает ту же свободу, что и на десктопном Linux: разогнать процессор или оживить старый смартфон свежей версией системы, которую производитель официально уже не поддерживает. diff --git a/01 Учёба/1 семестр/Высшая математика/08.09. Высшая математика.md b/01 Учёба/1 семестр/Высшая математика/08.09. Высшая математика.md new file mode 100644 index 0000000..13c38e9 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/08.09. Высшая математика.md @@ -0,0 +1,8 @@ +#учеба #семестр_1 #высшая_математика + +**Раздел всего семестра:** +1. [Комплексные числа](Комплексные%20числа.md) +2. Теория матриц +3. Решение линейных алгебраических систем +4. Аналитическая геометрия +5. Математический анализ (вплоть до 2-ого курса) diff --git a/01 Учёба/1 семестр/Высшая математика/10.10 ДЗ.md b/01 Учёба/1 семестр/Высшая математика/10.10 ДЗ.md new file mode 100644 index 0000000..a49f861 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/10.10 ДЗ.md @@ -0,0 +1,89 @@ +### 1.4 +#учеба #семестр_1 #высшая_математика + +Векторы: +$a(1;\ 2)$ +$b(-5;\ -1)$ +$c(-1;\ 3)$ + +Примеры: +1. $2a + 3b - c = (2 - 15 + 1;\ 4 - 3 - 3) = (-12;\ -2)$ +2. $16a + 5b - 9c = (16 - 25 + 9;\ 32 - 5 - 27) = (0;\ 0)$ +### 1.8 +Векторы: +$a(3;\ 0;\ -2)$ +$b(1;\ 2;\ -5)$ +$c(-1;\ 1;\ 1)$ +$d(8;\ 4;\ 1)$ + +Примеры: +1. $-5a + b - 6c + d = (-15 + 1 + 6 + 8;\ 2 - 6 + 4;\ 10 - 5 - 6 + 1) = (0;\ 0;\ 0)$ +2. $3a - b - c - d = (3 - 1 + 1 - 8;\ -2 - 1 - 4;\ -6 + 5 - 1 - 1) = (-5;\ -7;\ -3)$ + +### 1.10 +Векторы: +$a(4;\ 1;\ -1)$ +$b(3;\ -1;\ 0)$ +$c(-1;\ 1;\ 1)$ + + +### 2.1 +**Формула:** +$a\cdot b = |a| \cdot |b| \cdot \cos \alpha$ +#### 1 +$|a| = 3$ +$|b| = 1$ +$\angle(a,b) = 45\degree$ + +$a \cdot b = \frac{3\sqrt{ 2 }}{2}$ +#### 2 +$|a| = 6$ +$|b| = 7$ +$\angle(a,b) = 120\degree$ + +$a\cdot b = -21$ +#### 3 +$|a| = 4$ +$|b| = 2$ +$\angle(a,b) = 90\degree$ + +$a\cdot b = 0$ +#### 4 +$|a| = 5$ +$|b| = 1$ +$\angle(a,b) = 0\degree$ + +$a\cdot b = 5$ +#### 5 +$|a| = 2$ +$|b| = 3$ +$\angle(a,b) = 180\degree$ + +$a\cdot b=-6$ +### 2.2 +??? + +### 2.6 +**Формула:** +$a\cdot b=a_{x}\cdot b_{x} + a_{y}\cdot b_{y}+a_{z}\cdot b_{z}$ +#### 1 +Векторы: +$a(3;\ 2;\ -5)$ +$b(10;\ 1;\ 2)$ + +Произведение: +$a\cdot b= 30+2-10=22$ +#### 2 +Векторы: +$a(1;\ 0;\ 3)$ +$b(-4;\ 15;\ 1)$ + +Произведение: +$a\cdot b= -4 + 3 = -1$ +#### 3 +Векторы: +$a(2;\ 1;\ 5)$ +$b(7;\ -9;\ -1)$ + +Произведение: +$a\cdot b= 14 - 9 -5 = 0$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/! 200 ПРИМЕРОВ.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/! 200 ПРИМЕРОВ.pdf new file mode 100644 index 0000000..d6d136d Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/! 200 ПРИМЕРОВ.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/1 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/1 MODULE.pdf new file mode 100644 index 0000000..cbd9275 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/1 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/2 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/2 MODULE.pdf new file mode 100644 index 0000000..035421e Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/2 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/3 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/3 MODULE.pdf new file mode 100644 index 0000000..b686efc Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/3 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/4 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/4 MODULE.pdf new file mode 100644 index 0000000..d828222 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/4 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/5 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/5 MODULE.pdf new file mode 100644 index 0000000..5502dfb Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/5 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/6 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/6 MODULE.pdf new file mode 100644 index 0000000..7d9764a Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/6 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/7 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/7 MODULE.pdf new file mode 100644 index 0000000..6511529 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/7 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/8 MODULE.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/8 MODULE.pdf new file mode 100644 index 0000000..f944a78 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/8 MODULE.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/p89.zip b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/p89.zip new file mode 100644 index 0000000..67b69c8 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/PDFs/p89.zip differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/Untitled.md b/01 Учёба/1 семестр/Высшая математика/math-200/Untitled.md new file mode 100644 index 0000000..f5de5e2 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/Untitled.md @@ -0,0 +1,8 @@ +#учеба #семестр_1 #высшая_математика + +$y=2^{\arctan(\sqrt{ x })}$ +$y=p'(g(f(x)))\cdot g'(f(x))\cdot f'(x)$ +$p'=2^{\arctan(\sqrt{ x })}\cdot \ln 2$ +$g'=\dfrac{1}{1+x}$ +$f'=\dfrac{1}{2\sqrt{ x }}$ +$y'=2^{\arctan(\sqrt{ x })}\cdot \ln 2\cdot\dfrac{1}{1+x}\cdot\dfrac{1}{2\sqrt{ x }}=\dfrac{2^{\arctan \sqrt{ x }}\ln 2}{2\sqrt{ x }(1+x)}$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/IMG_0055.jpeg b/01 Учёба/1 семестр/Высшая математика/math-200/images/IMG_0055.jpeg new file mode 100644 index 0000000..a5e84f3 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/IMG_0055.jpeg differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/IMG_0056.jpeg b/01 Учёба/1 семестр/Высшая математика/math-200/images/IMG_0056.jpeg new file mode 100644 index 0000000..a69aa83 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/IMG_0056.jpeg differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225172031.png b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225172031.png new file mode 100644 index 0000000..eba1d4e Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225172031.png differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225172459.png b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225172459.png new file mode 100644 index 0000000..4c56c56 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225172459.png differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225173000.png b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225173000.png new file mode 100644 index 0000000..f6e6f3a Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225173000.png differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225174115.png b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225174115.png new file mode 100644 index 0000000..fa5e80c Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225174115.png differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225174710.png b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225174710.png new file mode 100644 index 0000000..f0cddc3 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/Pasted image 20251225174710.png differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/images/telegram-cloud-document-2-5407087289899717974.jpg b/01 Учёба/1 семестр/Высшая математика/math-200/images/telegram-cloud-document-2-5407087289899717974.jpg new file mode 100644 index 0000000..4e41769 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/images/telegram-cloud-document-2-5407087289899717974.jpg differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/!EXAMPLE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/!EXAMPLE.md new file mode 100644 index 0000000..1892660 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/!EXAMPLE.md @@ -0,0 +1,7 @@ +## N номер +#учеба #семестр_1 #высшая_математика + +### Пример: + + +### Решение: diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/1 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/1 MODULE.md new file mode 100644 index 0000000..5f14448 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/1 MODULE.md @@ -0,0 +1,467 @@ +## 30 номер +#учеба #семестр_1 #высшая_математика + + +### Пример: + +$x^3+1=0$ + +### Решение: + +$x^3+1=(x+1)(x^2-x+1)$ +$x = -1;$ +$x^2-x+1=0$ +$D = -3$ + +$\text{Ответ: } x=\dfrac{1\pm i\sqrt{ 3 }}{2}$ + +## 31 номер + +### Пример: + +$x^4-4x^2+5=0$ + +### Решение: + +$t=x^{2}$ +$t^2-4t+5=0$ +$D=-4$ +$t=\dfrac{4\pm 2i}{2}=2\pm i$ + +$x^2=2\pm i$ + +$\text{1. }x^2=2+i$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=2+i$ + +$$ +\begin{cases} +a^2-b^2=2 \\ +2abi=i; 2ab=1 +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=2^2+1^2=5$ +$a^2+b^2=\sqrt{5}$ +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{\sqrt{ 5 }+2}{2}$ +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{\sqrt{ 5 }-2}{2}$ +$x_{1}=\sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }+i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} }$ +$x_{2}=-( \sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }+i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} } )$ + +$\text{2. }x^2=2-i$ +$2-i=\overline{(2+i)}$ +$x_{3}=\sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }-i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} }$ +$x_{4}=-( \sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }-i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} } )$ + +$\text{Ответ:}$ + +$$ +\begin{array} \\ +x_{1}=\sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }+i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} } \\ +x_{2}=-( \sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }+i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} } ) \\ +x_{3}=\sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }-i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} } \\ +x_{4}=-( \sqrt{ \dfrac{\sqrt{ 5 }+2}{2} }-i\sqrt{ \dfrac{\sqrt{ 5 }-2}{2} } ) +\end{array} +$$ + +## 32 номер + +### Пример: + +$x^4+4x^2+20=0$ + +### Решение: + +$t=x^{2}$ +$t^2+4t+20=0$ +$D=-64$ +$t=\dfrac{-4\pm 8i}{2}=-2\pm 4i$ + +$x^2=-2\pm 4i$ + +$\text{1. }x^2=-2+4i$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=-2+4i$ + +$$ +\begin{cases} +a^2-b^2=-2 \\ +2ab=4 +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=(-2)^2+4^2=20$ +$a^2+b^2=\sqrt{20}=2\sqrt5$ +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{2\sqrt5-2}{2}=\sqrt5-1$ +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{2\sqrt5+2}{2}=\sqrt5+1$ + +$x_{1}=\sqrt{\sqrt5-1}+i\sqrt{\sqrt5+1}$ +$x_{2}=-(\sqrt{\sqrt5-1}+i\sqrt{\sqrt5+1})$ + +$\text{2. }x^2=-2-4i$ +$-2-4i=\overline{(-2+4i)}$ + +$x_{3}=\sqrt{\sqrt5-1}-i\sqrt{\sqrt5+1}$ +$x_{4}=-(\sqrt{\sqrt5-1}-i\sqrt{\sqrt5+1})$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=\sqrt{\sqrt5-1}+i\sqrt{\sqrt5+1}\\ +x_{2}=-(\sqrt{\sqrt5-1}+i\sqrt{\sqrt5+1})\\ +x_{3}=\sqrt{\sqrt5-1}-i\sqrt{\sqrt5+1}\\ +x_{4}=-(\sqrt{\sqrt5-1}-i\sqrt{\sqrt5+1}) +\end{array} +$$ + +## 33 номер + +### Пример: + +$x^4-6x^2+13=0$ + +### Решение: + +$t=x^{2}$ +$t^2-6t+13=0$ +$D=-16$ +$t=\dfrac{6\pm4i}{2}=3\pm2i$ + +$x^2=3\pm2i$ + +$\text{1. }x^2=3+2i$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=3+2i$ + +$$ +\begin{cases} +a^2-b^2=3 \\ +2ab=2 +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=3^2+2^2=13$ +$a^2+b^2=\sqrt{13}$ +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{\sqrt{13}+3}{2}$ +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{\sqrt{13}-3}{2}$ + +$x_{1}=\sqrt{\dfrac{\sqrt{13}+3}{2}}+i\sqrt{\dfrac{\sqrt{13}-3}{2}}$ +$x_{2}=-(\sqrt{\dfrac{\sqrt{13}+3}{2}}+i\sqrt{\dfrac{\sqrt{13}-3}{2}})$ + +$\text{2. }x^2=3-2i$ +$3-2i=\overline{(3+2i)}$ + +$x_{3}=\sqrt{\dfrac{\sqrt{13}+3}{2}}-i\sqrt{\dfrac{\sqrt{13}-3}{2}}$ +$x_{4}=-(\sqrt{\dfrac{\sqrt{13}+3}{2}}-i\sqrt{\dfrac{\sqrt{13}-3}{2}})$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=\sqrt{\dfrac{\sqrt{13}+3}{2}}+i\sqrt{\dfrac{\sqrt{13}-3}{2}}\\ +x_{2}=-(\sqrt{\dfrac{\sqrt{13}+3}{2}}+i\sqrt{\dfrac{\sqrt{13}-3}{2}})\\ +x_{3}=\sqrt{\dfrac{\sqrt{13}+3}{2}}-i\sqrt{\dfrac{\sqrt{13}-3}{2}}\\ +x_{4}=-(\sqrt{\dfrac{\sqrt{13}+3}{2}}-i\sqrt{\dfrac{\sqrt{13}-3}{2}}) +\end{array} +$$ + +## 34 номер + +### Пример: + +$x^4 + 2x^2 + 17 = 0$ + +### Решение: + +$t=x^{2}$ +$t^2+2t+17=0$ +$D=-64$ +$t=\dfrac{-2\pm 8i}{2}=-1\pm 4i$ + +$x^2=-1\pm 4i$ + +$\text{1. }x^2=-1+4i$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=-1+4i$ + +$$ +\begin{cases} +a^2-b^2=-1 \\ +2ab=4 +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=(-1)^2+4^2=17$ +$a^2+b^2=\sqrt{17}$ +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{\sqrt{17}-1}{2}$ +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{\sqrt{17}+1}{2}$ + +$x_{1}=\sqrt{\dfrac{\sqrt{17}-1}{2}}+i\sqrt{\dfrac{\sqrt{17}+1}{2}}$ +$x_{2}=-(\sqrt{\dfrac{\sqrt{17}-1}{2}}+i\sqrt{\dfrac{\sqrt{17}+1}{2}})$ + +$\text{2. }x^2=-1-4i$ +$-1-4i=\overline{(-1+4i)}$ + +$x_{3}=\sqrt{\dfrac{\sqrt{17}-1}{2}}-i\sqrt{\dfrac{\sqrt{17}+1}{2}}$ +$x_{4}=-(\sqrt{\dfrac{\sqrt{17}-1}{2}}-i\sqrt{\dfrac{\sqrt{17}+1}{2}})$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=\sqrt{\dfrac{\sqrt{17}-1}{2}}+i\sqrt{\dfrac{\sqrt{17}+1}{2}}\\ +x_{2}=-(\sqrt{\dfrac{\sqrt{17}-1}{2}}+i\sqrt{\dfrac{\sqrt{17}+1}{2}})\\ +x_{3}=\sqrt{\dfrac{\sqrt{17}-1}{2}}-i\sqrt{\dfrac{\sqrt{17}+1}{2}}\\ +x_{4}=-(\sqrt{\dfrac{\sqrt{17}-1}{2}}-i\sqrt{\dfrac{\sqrt{17}+1}{2}}) +\end{array} +$$ + +## 35 номер + +### Пример: + +$x^4 + 10x^2 + 61 = 0$ + +### Решение: + +$t=x^{2}$ +$t^2+10t+61=0$ +$D-144$ +$t=\dfrac{-10\pm 12i}{2}=-5\pm 6i$ + +$x^2=-5\pm 6i$ + +$\text{1. }x^2=-5+6i$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=-5+6i$ + +$$ +\begin{cases} +a^2-b^2=-5 \\ +2ab=6 +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=(-5)^2+6^2=61$ +$a^2+b^2=\sqrt{61}$ +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{\sqrt{61}-5}{2}$ +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{\sqrt{61}+5}{2}$ + +$x_{1}=\sqrt{\dfrac{\sqrt{61}-5}{2}}+i\sqrt{\dfrac{\sqrt{61}+5}{2}}$ +$x_{2}=-(\sqrt{\dfrac{\sqrt{61}-5}{2}}+i\sqrt{\dfrac{\sqrt{61}+5}{2}})$ + +$\text{2. }x^2=-5-6i$ +$-5-6i=\overline{(-5+6i)}$ + +$x_{3}=\sqrt{\dfrac{\sqrt{61}-5}{2}}-i\sqrt{\dfrac{\sqrt{61}+5}{2}}$ +$x_{4}=-(\sqrt{\dfrac{\sqrt{61}-5}{2}}-i\sqrt{\dfrac{\sqrt{61}+5}{2}})$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=\sqrt{\dfrac{\sqrt{61}-5}{2}}+i\sqrt{\dfrac{\sqrt{61}+5}{2}}\\ +x_{2}=-(\sqrt{\dfrac{\sqrt{61}-5}{2}}+i\sqrt{\dfrac{\sqrt{61}+5}{2}})\\ +x_{3}=\sqrt{\dfrac{\sqrt{61}-5}{2}}-i\sqrt{\dfrac{\sqrt{61}+5}{2}}\\ +x_{4}=-(\sqrt{\dfrac{\sqrt{61}-5}{2}}-i\sqrt{\dfrac{\sqrt{61}+5}{2}}) +\end{array} +$$ + +## 36 номер + +### Пример: + +$x^4 − x^2 + 37 = 0$ + +### Решение: + +$t=x^{2}$ +$t^2-t+37=0$ +$D-147$ +$t=\dfrac{1\pm\sqrt{-147}}{2}=\dfrac{1\pm 7i\sqrt3}{2}$ + +$x^2=\dfrac{1\pm 7i\sqrt3}{2}$ + +$\text{1. }x^2=\dfrac{1+7i\sqrt3}{2}$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=\dfrac{1+7i\sqrt3}{2}$ + +$$ +\begin{cases} +a^2-b^2=\dfrac{1}{2} \\ +2ab=\dfrac{7\sqrt3}{2} +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=(\dfrac{1}{2})^2+(\dfrac{7\sqrt3}{2})^2=\dfrac{1}{4}+\dfrac{147}{4}=37$ +$a^2+b^2=\sqrt{37}$ + +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{\sqrt{37}+\frac{1}{2}}{2}=\dfrac{2\sqrt{37}+1}{4}$ + +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{\sqrt{37}-\frac{1}{2}}{2}=\dfrac{2\sqrt{37}-1}{4}$ + +$x_{1}=\sqrt{\dfrac{2\sqrt{37}+1}{4}}+i\sqrt{\dfrac{2\sqrt{37}-1}{4}}$ +$x_{2}=-(\sqrt{\dfrac{2\sqrt{37}+1}{4}}+i\sqrt{\dfrac{2\sqrt{37}-1}{4}})$ + +$\text{2. }x^2=\dfrac{1-7i\sqrt3}{2}$ +$\dfrac{1-7i\sqrt3}{2}=\overline{(\dfrac{1+7i\sqrt3}{2})}$ + +$x_{3}=\sqrt{\dfrac{2\sqrt{37}+1}{4}}-i\sqrt{\dfrac{2\sqrt{37}-1}{4}}$ +$x_{4}=-(\sqrt{\dfrac{2\sqrt{37}+1}{4}}-i\sqrt{\dfrac{2\sqrt{37}-1}{4}})$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=\sqrt{\dfrac{2\sqrt{37}+1}{4}}+i\sqrt{\dfrac{2\sqrt{37}-1}{4}}\\ +x_{2}=-(\sqrt{\dfrac{2\sqrt{37}+1}{4}}+i\sqrt{\dfrac{2\sqrt{37}-1}{4}})\\ +x_{3}=\sqrt{\dfrac{2\sqrt{37}+1}{4}}-i\sqrt{\dfrac{2\sqrt{37}-1}{4}}\\ +x_{4}=-(\sqrt{\dfrac{2\sqrt{37}+1}{4}}-i\sqrt{\dfrac{2\sqrt{37}-1}{4}}) +\end{array} +$$ + +## 37 номер + +### Пример: + +$x^4 + 6x^2 + 8 = 0$ + +### Решение: + +$t=x^{2}$ +$t^2+6t+8=0$ +$D=6^2-4\cdot1\cdot8=36-32=4$ +$t=\dfrac{-6\pm\sqrt{4}}{2}=-3\pm1$ + +$t_1=-2,\quad t_2=-4$ + +$x^2=-2\ \ \text{or}\ \ x^2=-4$ + +$\text{1. }x^2=-2$ +$x=\pm\sqrt{-2}=\pm i\sqrt2$ +$x_{1}=i\sqrt2$ +$x_{2}=-i\sqrt2$ + +$\text{2. }x^2=-4$ +$x=\pm\sqrt{-4}=\pm 2i$ +$x_{3}=2i$ +$x_{4}=-2i$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=i\sqrt2\\ +x_{2}=-i\sqrt2\\ +x_{3}=2i\\ +x_{4}=-2i +\end{array} +$$ + +## 38 номер + +### Пример: + +$x4 + 8x^2 + 41 = 0$ + +### Решение: + +$t=x^{2}$ +$t^2+8t+41=0$ +$D=8^2-4\cdot1\cdot41=64-164=-100$ +$t=\dfrac{-8\pm\sqrt{-100}}{2}=\dfrac{-8\pm 10i}{2}=-4\pm 5i$ + +$x^2=-4\pm 5i$ + +$\text{1. }x^2=-4+5i$ +$x=a+bi$ +$(a+bi)^2=(a^2-b^2)+2abi=-4+5i$ + +$$ +\begin{cases} +a^2-b^2=-4 \\ +2ab=5 +\end{cases} +$$ + +$(a^2+b^2)^2=(a^2-b^2)^2+(2ab)^2=(-4)^2+5^2=41$ +$a^2+b^2=\sqrt{41}$ +$a^2=\dfrac{(a^2+b^2)+(a^2-b^2)}{2}=\dfrac{\sqrt{41}-4}{2}$ +$b^2=\dfrac{(a^2+b^2)-(a^2-b^2)}{2}=\dfrac{\sqrt{41}+4}{2}$ + +$x_{1}=\sqrt{\dfrac{\sqrt{41}-4}{2}}+i\sqrt{\dfrac{\sqrt{41}+4}{2}}$ +$x_{2}=-(\sqrt{\dfrac{\sqrt{41}-4}{2}}+i\sqrt{\dfrac{\sqrt{41}+4}{2}})$ + +$\text{2. }x^2=-4-5i$ +$-4-5i=\overline{(-4+5i)}$ + +$x_{3}=\sqrt{\dfrac{\sqrt{41}-4}{2}}-i\sqrt{\dfrac{\sqrt{41}+4}{2}}$ +$x_{4}=-(\sqrt{\dfrac{\sqrt{41}-4}{2}}-i\sqrt{\dfrac{\sqrt{41}+4}{2}})$ + +$\text{Ответ:}$ + +$$ +\begin{array}{l} +x_{1}=\sqrt{\dfrac{\sqrt{41}-4}{2}}+i\sqrt{\dfrac{\sqrt{41}+4}{2}}\\ +x_{2}=-(\sqrt{\dfrac{\sqrt{41}-4}{2}}+i\sqrt{\dfrac{\sqrt{41}+4}{2}})\\ +x_{3}=\sqrt{\dfrac{\sqrt{41}-4}{2}}-i\sqrt{\dfrac{\sqrt{41}+4}{2}}\\ +x_{4}=-(\sqrt{\dfrac{\sqrt{41}-4}{2}}-i\sqrt{\dfrac{\sqrt{41}+4}{2}}) +\end{array} +$$ + +## 39 номер + +### Условие: + +$z-i\leq 1$ + +### Область: + +![[Pasted image 20251225172031.png]] + +## 40 номер + +### Условие: + +$\mathrm{Re}(z)\leq 3$ + +### Область: + +![[Pasted image 20251225172459.png]] + +## 41 номер + +### Условие: + +$z\leq 2 \ \ \text{and} \ \ \mathrm{Re}(z)\geq 0$ + +### Область: + +![[Pasted image 20251225173000.png]] + +## 42 номер + +### Условие: + +$arg(z)\leq \dfrac{\pi}{6}$ + +### Область: + +![[Pasted image 20251225174710.png]] + +## 43 номер + +### Условие: +$z=5;arg(z)\leq \dfrac{\pi}{3}$ + +### Область: +![[IMG_0055.jpeg]] + +## 44 номер + +### Пример: +$z+i\leq1; \mathrm{Im}\leq -1$ + +### Решение: +![[IMG_0056.jpeg]] diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/2 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/2 MODULE.md new file mode 100644 index 0000000..6f78f7c --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/2 MODULE.md @@ -0,0 +1,615 @@ +## 4 номер – П 3.2.17 +#учеба #семестр_1 #высшая_математика + + +### Доказать: + +$\overline{d}=\overline{c}\cdot(\overline{b}\cdot\overline{a})-\overline{a}\cdot(\overline{b}\cdot\overline{c})$ +$\overline{d}\perp \overline{b}$ + +### Доказательство: + +$\overline{b}\cdot \overline{d}=\overline{b}\cdot(\overline{c}\cdot(\overline{b}\cdot\overline{a})-\overline{a}\cdot(\overline{b}\cdot\overline{c}))=\overline{b}(\overline{c}(\overline{b}\overline{c}))-\overline{b}(\overline{a}(\overline{b}\overline{a}))=(\overline{b}\overline{a})(\overline{b}\overline{c})-(\overline{b}\overline{c})(\overline{b}\overline{a})=0$ +$\text{Скалярное произведение векторов равно 0, значит векторы расположены перпендикулярно.}$ + +## 8 номер – П 3.2.21 + +### Пример: + +$\vec{F}_{1}=\vec{i}-\vec{j}+\vec{k}$ +$\vec{F}_{2}=2\vec{i}+\vec{j}+3\vec{k}$ +$M(2;-1;-1)$ + +### Решение: + +$\vec{F}=\vec{F}_{1}+\vec{F_{2}}=3\vec{i}+0\vec{j}+4\vec{k}=(3;0;4)$ +$A=\vec{F}\cdot \vec{s};$ +$\vec{s}=(2;-1;-1)$ +$A=3\cdot2+4\cdot(-1)=2$ +$\text{Ответ: 2}$ + +## 9 номер – П 3.2.22 + +### Пример: + +$\vec{b}=\lambda \vec{i}-5\vec{j}+3\vec{k}$ +$\vec{c}=\vec{i}+2\vec{j}-\lambda \vec{k}$ +$\lambda = ?;\ \vec{b}\cdot \vec{c}=0$ + +### Решение: + +$\vec{b}\cdot \vec{c}=\lambda-10-3\lambda=-2\lambda-10$ +$-2\lambda-10=0;\ -2\lambda=10;\ \lambda=-5$ + +$\text{Ответ: -5}$ + +## 13 номер – П 3.3.6 + +### Пример: + +$\vec{a}=\vec{i}-2\vec{j}+5\vec{k}$ +$\vec{b}=5\vec{j}-7\vec{k}$ +$\vec{a}=(1;-2;5)$ +$\vec{b}=(0;5;-7)$ + +### Решение: + +$S=\dfrac{1}{2}|\vec{a}\cdot\vec{b}|$ + +$\vec{a}\cdot\vec{b}=-11\vec{i}+7\vec{j}+5\vec{k}=(-11;7;5)$ + +$|\vec{a}\cdot\vec{b}|=\sqrt{(-11)^2+7^2+5^2}=\sqrt{121+49+25}=\sqrt{195}$ + +$S=\dfrac{1}{2}\sqrt{195}$ + +$\text{Ответ: }\dfrac{\sqrt{195}}{2}$ + +## 14 номер – П 3.3.15 + +### Пример: + +$|\vec{a}|=3$ +$|\vec{b}|=20$ +$\vec{a}\vec{b}=30$ +$|\vec{a}\cdot\vec{b}|=\ ?$ + +### Решение: + +$|\vec{a}\cdot\vec{b}|^2=|\vec{a}|^2\cdot|\vec{b}|^2-(\vec{a}\vec{b})^2$ + +$|\vec{a}\cdot\vec{b}|^2=3^2\cdot 20^2-30^2=9\cdot 400-900=3600-900=2700$ + +$|\vec{a}\cdot\vec{b}|=\sqrt{2700}=\sqrt{900\cdot 3}=30\sqrt{3}$ + +$\text{Ответ: }30\sqrt{3}$ + +## 18 номер – П 3.3.19 + +### Дано: + +$\vec{a}=3\vec{p}+2\vec{q}$ +$\vec{b}=2\vec{p}-\vec{q}$ +$|\vec{p}|=4$ +$|\vec{q}|=3$ +$\angle(\vec{p},\vec{q})=\dfrac{3\pi}{4}$ +$S=\ ?$ + +### Решение: + +$S=|\vec{a}\cdot\vec{b}|$ + +$\vec{a}\cdot\vec{b}=3\vec{p}\cdot\vec{p}+3\vec{p}\cdot(-\vec{q})+2\vec{q}\cdot2\vec{p}+2\vec{q}\cdot(-\vec{q})=0-3(\vec{p}\cdot\vec{q})+4(\vec{q}\cdot\vec{p})+0=-7(\vec{p}\cdot\vec{q})$ + +$|\vec{a}\cdot\vec{b}|=7|\vec{p}\cdot\vec{q}|$ + +$|\vec{p}\cdot\vec{q}|=|\vec{p}|\cdot|\vec{q}|\cdot\sin\angle(\vec{p},\vec{q})=4\cdot 3\cdot\sin(\dfrac{3\pi}{4})=12\cdot\dfrac{\sqrt{2}}{2}=6\sqrt{2}$ + +$S=7\cdot 6\sqrt{2}=42\sqrt{2}$ + +$\text{Ответ: }42\sqrt{2}$ + +## 22 номер – П 3.3.25 + +### Дано: + +$\vec{a}=(2;\,-2;\,1)$ +$\vec{b}=(2;\,3;\,6)$ +$\sin\alpha=\ ?$ + +### Решение: + +$\sin\alpha=\dfrac{|\vec{a}\cdot\vec{b}|}{|\vec{a}|\cdot|\vec{b}|}$ + +$\vec{a}\cdot\vec{b}=\vec{i}\big((-2)\cdot 6-1\cdot 3\big)-\vec{j}\big(2\cdot 6-1\cdot 2\big)+\vec{k}\big(2\cdot 3-(-2)\cdot 2\big)=(-15;\,-10;\,10)$ + +$|\vec{a}\cdot\vec{b}|=\sqrt{(-15)^2+(-10)^2+10^2}=\sqrt{225+100+100}=\sqrt{425}=5\sqrt{17}$ +$|\vec{a}|=\sqrt{2^2+(-2)^2+1^2}=3$ +$|\vec{b}|=\sqrt{2^2+3^2+6^2}=7$ + +$\sin\alpha=\dfrac{5\sqrt{17}}{3\cdot 7}=\dfrac{5\sqrt{17}}{21}$ + +$\text{Ответ: }\dfrac{5\sqrt{17}}{21}$ + +## 23 номер – П 3.4.14 + +### Дано: + +$\vec{a}\vec{b}\vec{c}=5$ +$\vec{b}(\vec{c}+\vec{a})(\vec{b}+2\vec{c})=\ ?$ + +### Решение: + +$\vec{b}(\vec{c}+\vec{a})(\vec{b}+2\vec{c})=\vec{b}\vec{c}(\vec{b}+2\vec{c})+\vec{b}\vec{a}(\vec{b}+2\vec{c})=\vec{b}\vec{c}\vec{b}+2\vec{b}\vec{c}\vec{c}+\vec{b}\vec{a}\vec{b}+2\vec{b}\vec{a}\vec{c}$ + +$\vec{b}\vec{c}\vec{b}=0,\ \vec{b}\vec{c}\vec{c}=0,\ \vec{b}\vec{a}\vec{b}=0$ + +$\vec{b}(\vec{c}+\vec{a})(\vec{b}+2\vec{c})=2\vec{b}\vec{a}\vec{c}$ +$\vec{b}\vec{a}\vec{c}=-\vec{a}\vec{b}\vec{c}=-5$ + +$\vec{b}(\vec{c}+\vec{a})(\vec{b}+2\vec{c})=2\cdot(-5)=-10$ + +$\text{Ответ: }-10$ + +## 27 номер – П 3.4.19 + +### Дано: + +$V=5$ +$A(2;\,1;\,-1)$ +$B(3;\,0;\,1)$ +$C(2;\,-1;\,3)$ +$D \ \text{лежит на оси}\ Oy$ +$D=\ ?$ + +### Решение: + +$D=(0;\,t;\,0)$ + +$\vec{AB}=B-A=(3-2;\,0-1;\,1-(-1))=(1;\,-1;\,2)$ +$\vec{AC}=C-A=(2-2;\,-1-1;\,3-(-1))=(0;\,-2;\,4)$ +$\vec{AD}=D-A=(0-2;\,t-1;\,0-(-1))=(-2;\,t-1;\,1)$ + +$V=\dfrac{1}{6}|\vec{AB}\vec{AC}\vec{AD}|$ + +$\vec{AB}\vec{AC}\vec{AD}=1\cdot\big((-2)\cdot 1-(t-1)\cdot 4\big)= -2-4(t-1)=2-4t=-2(2t-1)$ + +$5=\dfrac{1}{6}|-2(2t-1)|=\dfrac{1}{3}|2t-1|$ + +$|2t-1|=15$ +$2t-1=15;\ t=8$ +$2t-1=-15;\ t=-7$ + +$D_1=(0;\,8;\,0),\quad D_2=(0;\,-7;\,0)$ + +$\text{Ответ: }(0;\,8;\,0)\ \text{или}\ (0;\,-7;\,0)$ + +## 28 номер – П 3.4.21 + +### Дано: + +$A_{1}(1;\,2;\,3),\ A_{2}(-2;\,4;\,1),\ A_{3}(7;\,6;\,3),\ A_{4}(4;\,-3;\,-1)$ + +### Найти: + +а) $|A_{1}A_{2}|,\ |A_{1}A_{3}|,\ |A_{1}A_{4}|$ +б) $S_{\triangle A_{1}A_{2}A_{3}}$ +в) $\angle(A_{1}A_{4},A_{1}A_{3})$ +г) $V$ +д) $h$ на грань $A_{1}A_{2}A_{3}$ + +### Решение: + +$\vec{A_{1}A_{2}}=(-3;\,2;\,-2)$ +$\vec{A_{1}A_{3}}=(6;\,4;\,0)$ +$\vec{A_{1}A_{4}}=(3;\,-5;\,-4)$ + +а) +$|A_{1}A_{2}|=\sqrt{(-3)^2+2^2+(-2)^2}=\sqrt{17}$ +$|A_{1}A_{3}|=\sqrt{6^2+4^2+0^2}=2\sqrt{13}$ +$|A_{1}A_{4}|=\sqrt{3^2+(-5)^2+(-4)^2}=5\sqrt{2}$ + +б) +$S=\dfrac{1}{2}|\vec{A_{1}A_{2}}\cdot\vec{A_{1}A_{3}}|$ +$\vec{A_{1}A_{2}}\cdot\vec{A_{1}A_{3}}=(8;\,-12;\,-24)$ +$|\vec{A_{1}A_{2}}\cdot\vec{A_{1}A_{3}}|=\sqrt{784}=28$ +$S=\dfrac{1}{2}\cdot 28=14$ + +в) +$\cos\varphi=\dfrac{\vec{A_{1}A_{4}}\cdot\vec{A_{1}A_{3}}}{|A_{1}A_{4}|\cdot|A_{1}A_{3}|}$ +$\vec{A_{1}A_{4}}\cdot\vec{A_{1}A_{3}}=-2$ +$\cos\varphi=\dfrac{-2}{(5\sqrt{2})(2\sqrt{13})}=-\dfrac{1}{5\sqrt{26}}$ +$\varphi=\arccos(-\dfrac{1}{5\sqrt{26}})$ + +г) +$V=\dfrac{1}{6}|\vec{A_{1}A_{2}}\vec{A_{1}A_{3}}\vec{A_{1}A_{4}}|$ +$\vec{A_{1}A_{2}}\vec{A_{1}A_{3}}\vec{A_{1}A_{4}}=\begin{vmatrix}-3 & 2 & -2 \\ 6 & 4 & 0 \\ 3 & -5 & -4\end{vmatrix}=180$ +$V=\dfrac{1}{6}|180|=30$ + +д) +$V=\dfrac{1}{3}S_{\triangle A_{1}A_{2}A_{3}}\cdot h$ +$h=6\dfrac{3}{7}$ + +$\text{Ответ: }|A_{1}A_{2}|=\sqrt{17};\ |A_{1}A_{3}|=2\sqrt{13};\ |A_{1}A_{4}|=5\sqrt{2};\ S=14;\ \varphi=\arccos(-\dfrac{1}{5\sqrt{26}});\ V=30;\ h=\dfrac{45}{7};$ + +## 32 номер – П 4.1.13 + +### Пример: + +$A(1;\,-5),\ B(4;\,3)$ + +### Решение: + +$\vec{AB}=B-A=(4-1;\,3-(-5))=(3;\,8)$ + +$\vec{AC}=\dfrac{1}{3}\vec{AB}=(\dfrac{3}{3};\,\dfrac{8}{3})=(1;\,\dfrac{8}{3})$ +$\vec{AD}=\dfrac{2}{3}\vec{AB}=(\dfrac{6}{3};\,\dfrac{16}{3})=(2;\,\dfrac{16}{3})$ + +$C=A+\vec{AC}=(2;\,-2\dfrac{1}{3})$ +$D=A+\vec{AD}=(3;\,\dfrac{1}{3})$ + +$\text{Ответ: }C(2;\,-2\dfrac{1}{3}),\ D(3;\,\dfrac{1}{3})$ + +## 36 номер – П 4.1.23 + +### Дано: + +$A(2;\,1),\ B(-2;\,-2),\ C(-8;\,6)$ + +### Найти: + +$h_{B}$ + +### Решение: + +$\vec{AB}=B-A=(-2-2;\,-2-1)=(-4;\,-3)$ +$\vec{AC}=C-A=(-8-2;\,6-1)=(-10;\,5)$ + +$|AC|=\sqrt{(-10)^2+5^2}=5\sqrt{5}$ + +$S_{\triangle ABC}=\dfrac{1}{2}|\vec{AB}\vec{AC}|$ +$\vec{AB}\vec{AC}=(-4)\cdot5-(-3)\cdot(-10)=-50$ +$S=\dfrac{1}{2}\cdot|-50|=25$ + +$S=\dfrac{1}{2}\cdot |AC|\cdot h_{B}$ +$h_{B}=\dfrac{2S}{|AC|}=\dfrac{2\cdot 25}{5\sqrt{5}}=\dfrac{10}{\sqrt{5}}=2\sqrt{5}$ + +$\text{Ответ: }h_{B}=2\sqrt{5}$ + +## 37 номер – П 4.1.24 + +### Дано: + +$A(-2;\,6),\ B(2;\,8),\ M(2;\,2)$ + +### Найти: + +$C,\ D$ + +### Решение: + +$\text{Точка }M\ \text{середина диагоналей}$ +$M=\dfrac{A+C}{2}=\dfrac{B+D}{2}$ + +$C=2M-A=(6;\,-2)$ +$D=2M-B=(2;\,-4)$ + +$\text{Ответ: }C(6;\,-2),\ D(2;\,-4)$ + +## 41 номер – П 5.1.14 + +### Пример: + +$\text{В каких октантах могут быть расположены точки, координаты которых удовлетворяют:}$ +$1)\ x-y=0;\quad 2)\ x+z=0;\quad 3)\ xy>0;\quad 4)\ xyz<0$ + +### Решение: + +$\text{Октанты: }$ +$I:(+,+,+),\ II:(+,-,+),\ III:(+,-,-),\ IV:(+,+,-),\ V:(-,+,+),\ VI:(-,-,+),\ VII:(-,-,-),\ VIII:(-,+,-)$ + +$1)\ x-y=0; x=y$ +$x>0,\ y>0; I,\ IV$ +$x<0,\ y<0; VI,\ VII$ +$\text{Ответ: }I,\ IV,\ VI,\ VII$ + +$2)\ x+z=0; z=-x$ +$x>; z<; III,\ IV$ +$x<0; z>0; V,\ VI$ +$\text{Ответ: }III,\ IV,\ V,\ VI$ + +$3)\ xy>0$ +$x>0,\ y>0; I,\ IV$ +$x<0,\ y<0; VI,\ VII$ +$\text{Ответ: }I,\ IV,\ VI,\ VII$ + +$4)\ xyz<0; \text{нечётное число отрицательных координат}$ +$II:(+,-,+),\ IV:(+,+,-),\ V:(-,+,+),\ VII:(-,-,-)$ +$\text{Ответ: }II,\ IV,\ V,\ VII$ + +## 42 номер – П 5.1.15 + +### Дано: + +$A(4;\,-1;\,-1)$ +$\text{Сфера касается плоскостей }x=0,\ y=0,\ z=0$ + +### Найти: + +$O(x_{0};y_{0};z_{0}),\ R$ + +### Решение: + +$|x_{0}|=R$ +$|y_{0}|=R$ +$|z_{0}|=R$ + +$O=(\varepsilon_{1}R;\ \varepsilon_{2}R;\ \varepsilon_{3}R),\ \varepsilon_{1},\varepsilon_{2},\varepsilon_{3}\in\{-1;1\}$ + +$OA=R$ +$(\varepsilon_{1}R-4)^2+(\varepsilon_{2}R+1)^2+(\varepsilon_{3}R+1)^2=R^2$ + +$R^2+(-4\varepsilon_{1}+\varepsilon_{2}+\varepsilon_{3})R+9=0$ + +$\varepsilon_{2}+\varepsilon_{3}\in\{-2;0;2\}$ +$\varepsilon_{1}=1; -4\varepsilon_{1}+\varepsilon_{2}+\varepsilon_{3}\in\{-6;-4;-2\}$ +$\text{Только }-6:\ R^2-6R+9=0; (R-3)^2=0; R=3$ +$-4\varepsilon_{1}+\varepsilon_{2}+\varepsilon_{3}=-6; \varepsilon_{2}+\varepsilon_{3}=-2; \varepsilon_{2}=-1,\ \varepsilon_{3}=-1$ +чё +5:22 утра ЧЁ тут произошло + +$O=(3;\,-3;\,-3)$ + +$\text{Ответ: }O(3;\,-3;\,-3),\ R=3$ + +## 46 номер – П 4.2.2 + +### Пример: + +$y=2x-3$ + +### Решение: + +$y=2x-3$ +$y+3=2x$ +$\dfrac{y+3}{2}=x$ + +$x=0; y=-3; (0;\,-3)$ +$y=0; 2x-3=0; x=\dfrac{3}{2}; (\dfrac{3}{2};\,0)$ + +$\text{Ответ: }\dfrac{x}{\frac{3}{2}}+\dfrac{y}{-3}=1;\ (0;\,-3),\ (\dfrac{3}{2};\,0)$ + +## 50 номер – П 4.2.7 + +### Пример: + +П 4.2.7 я хз как это записать + +### Решение: + +$y=-\dfrac{A}{B}x-\dfrac{C}{B}$ +$\text{Расстояние от }O:\ p=\dfrac{|C|}{\sqrt{A^{2}+B^{2}}}$ +$\text{Нормальное: }\dfrac{A}{\sqrt{A^{2}+B^{2}}}x+\dfrac{B}{\sqrt{A^{2}+B^{2}}}y=-\dfrac{C}{\sqrt{A^{2}+B^{2}}}\ (p\ge0)$ + +а) +$2x-3y+6=0$ +$-3y=-2x-6$ +$y=\dfrac{2}{3}x+2$ +$k=\dfrac{2}{3}$ + +$y=0; 2x+6=0 \implies x=-3$ +$x=0; -3y+6=0 \implies y=2$ +$\text{В отрезках: }\dfrac{x}{-3}+\dfrac{y}{2}=1$ + +$\sqrt{A^{2}+B^{2}}=\sqrt{2^{2}+(-3)^{2}}=\sqrt{13}$ +$\dfrac{2}{\sqrt{13}}x-\dfrac{3}{\sqrt{13}}y=-\dfrac{6}{\sqrt{13}}$ +$\text{Нормальное (}p\ge0\text{): }-\dfrac{2}{\sqrt{13}}x+\dfrac{3}{\sqrt{13}}y=\dfrac{6}{\sqrt{13}}$ +$p=\dfrac{|6|}{\sqrt{13}}=\dfrac{6}{\sqrt{13}}$ + +б) +$x+2{,}5=0$ +$x=-2{,}5$ +$k\ \text{не определён (прямая вертикальная)}$ + +$\text{Нормальное: }-x=2{,}5$ +$p=2{,}5$ + +в) +$y=x-1$ +$x-y-1=0$ +$y=1\cdot x-1$ +$k=1$ + +$y=0; x=1$ +$x=0; y=-1$ +$\text{В отрезках: }\dfrac{x}{1}+\dfrac{y}{-1}=1$ + +$\sqrt{A^{2}+B^{2}}=\sqrt{1^{2}+(-1)^{2}}=\sqrt{2}$ +$\dfrac{1}{\sqrt{2}}x-\dfrac{1}{\sqrt{2}}y=\dfrac{1}{\sqrt{2}}$ +$p=\dfrac{|{-1}|}{\sqrt{2}}=\dfrac{1}{\sqrt{2}}$ + +г) +$x+5y=0$ +$y=-\dfrac{1}{5}x$ +$k=-\dfrac{1}{5}$ + +$\text{Прямая проходит через }O; \text{в отрезках не записывается (}a=0,\ b=0\text{)}$ + +$\sqrt{A^{2}+B^{2}}=\sqrt{1^{2}+5^{2}}=\sqrt{26}$ +$\dfrac{1}{\sqrt{26}}x+\dfrac{5}{\sqrt{26}}y=0$ +$p=\dfrac{|0|}{\sqrt{26}}=0$ + +## 51 номер – П 4.2.9 + +### Дано: + +$A(1;\,1)$ +$B(-2;\,3)$ +$k=\ ?,\ y_{Oy}=\ ?$ + +### Решение: + +$k=\dfrac{y_{B}-y_{A}}{x_{B}-x_{A}}=\dfrac{3-1}{-2-1}=\dfrac{2}{-3}=-\dfrac{2}{3}$ + +$y=-\dfrac{2}{3}x+b$ + +$1=-\dfrac{2}{3}\cdot 1 + b$ +$b=1+\dfrac{2}{3}=\dfrac{5}{3}$ + +$y=-\dfrac{2}{3}\cdot 0 + b = b = \dfrac{5}{3}$ + +$\text{Ответ: }k=-\dfrac{2}{3};\ \text{ордината: }\dfrac{5}{3}$ + +## 55 номер – П 4.2.24 + +### Пример: + +$A(3;\,2),\ B(3;\,8),\ C(6;\,2)$ + +### Решение: + +$\text{1) } AB:$ +$x_{A}=3,\ x_{B}=3; \text{координаты } x \text{ совпадают}$ + +$\text{2) } AC:$ +$y_{A}=2,\ y_{C}=2; \text{координаты } y \text{ совпадают}$ + +$\text{3) } BC:$ +$\dfrac{x-x_{B}}{x_{C}-x_{B}}=\dfrac{y-y_{B}}{y_{C}-y_{B}}$ + +$\dfrac{x-3}{6-3}=\dfrac{y-8}{2-8}$ + +$\dfrac{x-3}{3}=\dfrac{y-8}{-6}$ + +$-2(x-3)=1(y-8)$ +$-2x+6=y-8$ +$2x+y-14=0$ + +$\text{Ответ: }AB:\ x=3;\ AC:\ y=2;\ BC:\ 2x+y-14=0$ + +## 56 номер – П 5.2.2 + +### Пример: + +$M(-2;\,3;\,1)$ +$1)\ ||\ Oxy;\ 2)\ M\ \text{и ось}\ Oy$ + +### Решение: + +$1)$ +$Oxy; z=z_{M}$ +$z=1; z-1=0$ + +$2)$ +$Oy ; Ax+Cz=0$ +$-2A+1\cdot C=0;$ +$C=2A$ +$A=1$ +$C=2$ +$x+2z=0$ + +$\text{Ответ: }z-1=0;\ x+2z=0$ + +## 60 номер – П 5.2.9 + +### Пример: + +$M(1;\, -1;\, 0)$ +$\vec{a}=(0;\, 2;\, 3),\ \vec{b}=(-1;\, 4;\, 2)$ + +### Решение: + +$\vec{n}=\vec{a}\times\vec{b}$ +$\vec{n}=\vec{i}(4-12)-\vec{j}(0+3)+\vec{k}(0+2)=(-8;\,-3;\,2)$ + +$-8(x-1)-3(y+1)+2(z-0)=0$ +$-8x+8-3y-3+2z=0$ +$8x+3y-2z-5=0$ + +$\text{Ответ: }8x+3y-2z-5=0$ + +## 65 номер – П 5.2.19 + +### Пример: + +$-Oy \implies M(0;\,-4;\,0)$ +$\vec{n}=(3;\, -2;\, 4)$ + +### Решение: + +$A(x-x_0)+B(y-y_0)+C(z-z_0)=0$ + +$3(x-0)-2(y-(-4))+4(z-0)=0$ +$3x-2(y+4)+4z=0$ +$3x-2y-8+4z=0$ + +$\text{Ответ: }3x-2y+4z-8=0$ + +## 69 номер – П 5.3.6 + +### Пример: + +$1)\ M(1;\,0;\,-1),\ \vec{a}=(2;\,3;\,0)$ +$2)\ A(2;\,2;\,2),\ B(6;\,2;\,1)$ + +### Решение: + +$1)$ +$\begin{cases} x = 1 + 2t \\ y = 3t \\ z = -1 \end{cases}$ + +$2)$ +$\vec{s} = \vec{AB} = B - A = (4;\, 0;\, -1)$ +$\begin{cases} x = 2 + 4t \\ y = 2 + 0t \\ z = 2 - t \end{cases} ; \begin{cases} x = 2 + 4t \\ y = 2 \\ z = 2 - t \end{cases}$ + +$\text{Ответ: } 1)\ \begin{cases} x = 1 + 2t \\ y = 3t \\ z = -1 \end{cases};\ 2)\ \begin{cases} x = 2 + 4t \\ y = 2 \\ z = 2 - t \end{cases}$ + +## 70 номер – П 5.3.7 + +### Пример: + +$M_0(4;\,3;\,-2)$ +$1)\ ||\ \vec{a}=(3;\,-6;\,5)$ +$2)\ ||\ \begin{cases} x + 3y + z - 6 = 0 \\ 2x - y - 4z + 1 = 0 \end{cases}$ + +### Решение: + +$1)$ +$\vec{s}=\vec{a}=(3;\,-6;\,5)$ +$\dfrac{x-4}{3}=\dfrac{y-3}{-6}=\dfrac{z+2}{5}$ + +$2)$ +$\vec{n_1}=(1;\,3;\,1)$ +$\vec{n_2}=(2;\,-1;\,-4)$ + +$\vec{s}=\vec{n_1}\times\vec{n_2}=\vec{i}(-12+1)-\vec{j}(-4-2)+\vec{k}(-1-6)=(-11;\,6;\,-7)$ + +$\dfrac{x-4}{-11}=\dfrac{y-3}{6}=\dfrac{z+2}{-7}$ + +$\text{Ответ: } 1)\ \dfrac{x-4}{3}=\dfrac{y-3}{-6}=\dfrac{z+2}{5};\ 2)\ \dfrac{x-4}{-11}=\dfrac{y-3}{6}=\dfrac{z+2}{-7}$ + +## 74 номер – П 5.3.12 + +### Пример: + +$\dfrac{x-3}{-1}=\dfrac{y+2}{2}=\dfrac{z-5}{5}$ + +### Решение: + +$1)\ Oxy; z=0$ +$\dfrac{x-3}{-1}=\dfrac{y+2}{2}=\dfrac{0-5}{5}=-1$ +$x-3=1; x=4$ +$y+2=-2; y=-4$ +$M_1(4;\,-4;\,0)$ + +$2)\ Oxz; y=0$ +$\dfrac{x-3}{-1}=\dfrac{z-5}{5}=\dfrac{0+2}{2}=1$ +$x-3=-1; x=2$ +$z-5=5; z=10$ +$M_2(2;\,0;\,10)$ + +$3)\ Oyz; x=0$ +$\dfrac{y+2}{2}=\dfrac{z-5}{5}=\dfrac{0-3}{-1}=3$ +$y+2=6; y=4$ +$z-5=15; z=20$ +$M_3(0;\,4;\,20)$ + +$\text{Ответ: }(4;\,-4;\,0),\ (2;\,0;\,10),\ (0;\,4;\,20)$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/3 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/3 MODULE.md new file mode 100644 index 0000000..3de4725 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/3 MODULE.md @@ -0,0 +1,388 @@ +## 11 номер – П 1.1.51 +#учеба #семестр_1 #высшая_математика + + +### Пример: + +$A = \begin{pmatrix}1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}$ +$A^{n}=?$ + +### Решение: + +$A^2=A\cdot A=\begin{pmatrix}1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}\cdot \begin{pmatrix}1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}=\begin{pmatrix}1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}$ +$A^2=A$ +$A^3=A^2A=AA=\begin{pmatrix}1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}$ +$A^4=A^3A=A^2A=AA\dots$ +$\dots$ +$Ответ: A^n=\begin{pmatrix}1 & 1 & 1 \\ 0 & 0 & 0 \\ 0 & 0 & 0\end{pmatrix}$ + +## 13 номер – П 1.1.67 + +### Пример: + +$A=\begin{pmatrix}1 & 2 & -3 & 4 \\ 5 & -6 & 7 & 8 \\ -9 & 0 & 1 & 2 \\ 3 & 4 & 5 & -6\end{pmatrix}$ +$B=\begin{pmatrix}-6 & 5 & 4 & 3 \\ 2 & 1 & 0 & -9 \\ 8 & 7 & -6 & 5 \\ 4 & -3 & 2 & 1\end{pmatrix}$ + +### Решение: + +$AB=\begin{pmatrix}1 & 2 & -3 & 4 \\ 5 & -6 & 7 & 8 \\ -9 & 0 & 1 & 2 \\ 3 & 4 & 5 & -6\end{pmatrix}\cdot\begin{pmatrix}-6 & 5 & 4 & 3 \\ 2 & 1 & 0 & -9 \\ 8 & 7 & -6 & 5 \\ 4 & -3 & 2 & 1\end{pmatrix}=\begin{pmatrix}-10 & -26 & 30 & -26 \\ 46 & 44 & -6 & 112 \\ 70 & -44 & -38 & -20 \\ 6 & 72 & -30 & -8\end{pmatrix}$ +$BA=\begin{pmatrix}-6 & 5 & 4 & 3 \\ 2 & 1 & 0 & -9 \\ 8 & 7 & -6 & 5 \\ 4 & -3 & 2 & 1\end{pmatrix}\cdot\begin{pmatrix}1 & 2 & -3 & 4 \\ 5 & -6 & 7 & 8 \\ -9 & 0 & 1 & 2 \\ 3 & 4 & 5 & -6\end{pmatrix}=\begin{pmatrix}-8 & -30 & 72 & 6 \\ -20 & -38 & -44 & 70 \\ 112 & -6 & 44 & 46 \\ -26 & 30 & -26 & -10\end{pmatrix}$ + +$AB-BA\neq 0$ +$\text{Ответ: Матрицы не коммутируют}$ + +## 15 номер – П 1.1.77 + +### Пример: + +$A=\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{pmatrix}$ +$\text{Найти:} \ AA^{T};A^{T}A;$ + +### Решение: + +$A^T=\begin{pmatrix}1 & 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9\end{pmatrix}$ + +$AA^{T}=\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{pmatrix}\cdot\begin{pmatrix}1 & 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9\end{pmatrix}=\begin{pmatrix}14 & 32 & 50 \\ 32 & 77 & 122 \\ 50 & 122 & 194\end{pmatrix}$ +$A^{T}A=\begin{pmatrix}1 & 4 & 7 \\ 2 & 5 & 8 \\ 3 & 6 & 9\end{pmatrix}\cdot\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 9\end{pmatrix}=\begin{pmatrix}66 & 78 & 90 \\ 78 & 93 & 108 \\ 90 & 108 & 126\end{pmatrix}$ + +## 17 номер – П 1.2.64 + +### Пример: + +$A=\begin{pmatrix}x & x-1 \\ x^{2}+x+1 & x^{2}\end{pmatrix}$ +$\det A=?$ + +### Решение: + +$\det 2\times2=\begin{pmatrix}a & b \\ c & d\end{pmatrix}=ad-bc$ +$\det A=x\cdot x^{2}-(x-1)(x^{2}+x+1)=x^{3}-(x^{3}+x^{2}+x-x^{2}-x-1)=1$ + +## 19 номер – П 1.2.73 + +### Пример: + +$A=\begin{pmatrix}-2 & 3 & 5 \\ 4 & 1 & -2 \\ 1 & -3 & 2\end{pmatrix}$ +$\det A=?$ + +### Решение: + +$\det 3\times3=\begin{pmatrix}a & b & c \\ d & e & f \\ g & h & i\end{pmatrix}=a(ei-fh)-b(di-fg)+c(dh-eg)$ +$\det A=(-2)(1\cdot2-(-2)(-3))-3(4\cdot2-(-2)\cdot1)+5(4\cdot(-3)-1\cdot1)=-87$ + +## 21 номер – П 1.2.95 + +### Пример: + +$A=\begin{pmatrix}0 & 5 & 2 & 0 \\ 8 & 3 & 5 & 4 \\ 7 & 2 & 4 & 1 \\ 0 & 4 & 1 & 0\end{pmatrix}$ +$\det A=?$ + +### Решение: + +$\det A=0\cdot(\dots)-5\cdot\begin{pmatrix}8 & 5 & 4 \\ 7 & 4 & 1 \\ 0 & 1 & 0\end{pmatrix}+2\cdot\begin{pmatrix}8 & 3 & 4 \\ 7 & 2 & 1 \\ 0 & 4 & 0\end{pmatrix}-0\cdot(\dots)$ +$\begin{pmatrix}8 & 5 & 4 \\ 7 & 4 & 1 \\ 0 & 1 & 0\end{pmatrix}=8(4\cdot0-1\cdot1)-5(7\cdot0-1\cdot0)+4(7\cdot1-4\cdot0)=20$ + +$\begin{pmatrix}8 & 3 & 4 \\ 7 & 2 & 1 \\ 0 & 4 & 0\end{pmatrix}=8(2\cdot0-1\cdot4)-3(7\cdot0-1\cdot0)+4(7\cdot4-2\cdot0)=80$ + +$\det A=-5\cdot20+2\cdot80=60$ + +## 23 номер – П 1.2.97 + +### Пример: + +$A=\begin{pmatrix}3 & 2 & 2 & 2 \\ 9 & -8 & 5 & 10 \\ 5 & -8 & 5 & 8 \\ 6 & -5 & 4 & 7\end{pmatrix}$ +$\det A=?$ + +### Решение: + +$\det A=3\cdot\begin{pmatrix}-8 & 5 & 10 \\ -8 & 5 & 8 \\ -5 & 4 & 7\end{pmatrix}-2\cdot\begin{pmatrix}9 & 5 & 10 \\ 5 & 5 & 8 \\ 6 & 4 & 7\end{pmatrix}+2\cdot\begin{pmatrix}9 & -8 & 10 \\ 5 & -8 & 8 \\ 6 & -5 & 7\end{pmatrix}-2\cdot\begin{pmatrix}9 & -8 & 5 \\ 5 & -8 & 5 \\ 6 & -5 & 4\end{pmatrix}$ + +$\begin{pmatrix}-8 & 5 & 10 \\ -8 & 5 & 8 \\ -5 & 4 & 7\end{pmatrix}=-8(5\cdot7-8\cdot4)-5((-8)\cdot7-8\cdot(-5))+10((-8)\cdot4-5\cdot(-5))=-14$ + +$\begin{pmatrix}9 & 5 & 10 \\ 5 & 5 & 8 \\ 6 & 4 & 7\end{pmatrix}=9(5\cdot7-8\cdot4)-5(5\cdot7-8\cdot6)+10(5\cdot4-5\cdot6)=-8$ + +$\begin{pmatrix}9 & -8 & 10 \\ 5 & -8 & 8 \\ 6 & -5 & 7\end{pmatrix}=9((-8)\cdot7-8\cdot(-5))-(-8)(5\cdot7-8\cdot6)+10(5\cdot(-5)-(-8)\cdot6)=-18$ + +$\begin{pmatrix}9 & -8 & 5 \\ 5 & -8 & 5 \\ 6 & -5 & 4\end{pmatrix}=9((-8)\cdot4-5\cdot(-5))-(-8)(5\cdot4-5\cdot6)+5(5\cdot(-5)-(-8)\cdot6)=-28$ + +$\det A=3\cdot(-14)-2\cdot(-8)+2\cdot(-18)-2\cdot(-28)=-6$ + +## 25 номер – П 1.2.99 + +### Пример: + +$A=\begin{pmatrix}3 & 6 & 5 & 6 & 4 \\ 5 & 9 & 7 & 8 & 6 \\ 6 & 12 & 13 & 9 & 7 \\ 4 & 6 & 6 & 5 & 4 \\ 2 & 5 & 4 & 5 & 3\end{pmatrix}$ +$\det A=?$ + +### Решение: + +$\det A=\det\begin{pmatrix}3 & 6 & 5 & 6 & 4 \\ 2 & 3 & 2 & 2 & 2 \\ 0 & 0 & 3 & -3 & -1 \\ 1 & 0 & 1 & -1 & 0 \\ 2 & 5 & 4 & 5 & 3\end{pmatrix}$ + +$\det A=3\cdot\begin{pmatrix}3 & 6 & 6 & 4 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & -1 & 0 \\ 2 & 5 & 5 & 3\end{pmatrix}+3\cdot\begin{pmatrix}3 & 6 & 5 & 4 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & 1 & 0 \\ 2 & 5 & 4 & 3\end{pmatrix}-\begin{pmatrix}3 & 6 & 5 & 6 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & 1 & -1 \\ 2 & 5 & 4 & 5\end{pmatrix}$ + +$\det\begin{pmatrix}3 & 6 & 6 & 4 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & -1 & 0 \\ 2 & 5 & 5 & 3\end{pmatrix}=1\cdot\begin{pmatrix}6 & 6 & 4 \\ 3 & 2 & 2 \\ 5 & 5 & 3\end{pmatrix}+(-1)\cdot\begin{pmatrix}3 & 6 & 4 \\ 2 & 3 & 2 \\ 2 & 5 & 3\end{pmatrix}$ +$\det\begin{pmatrix}6 & 6 & 4 \\ 3 & 2 & 2 \\ 5 & 5 & 3\end{pmatrix}=2$ +$\det\begin{pmatrix}3 & 6 & 4 \\ 2 & 3 & 2 \\ 2 & 5 & 3\end{pmatrix}=1$ +$\det\begin{pmatrix}3 & 6 & 6 & 4 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & -1 & 0 \\ 2 & 5 & 5 & 3\end{pmatrix}=2-1 = 1$ + +$\det\begin{pmatrix}3 & 6 & 5 & 4 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & 1 & 0 \\ 2 & 5 & 4 & 3\end{pmatrix}=1\cdot\begin{pmatrix}6 & 5 & 4 \\ 3 & 2 & 2 \\ 5 & 4 & 3\end{pmatrix}+1\cdot\begin{pmatrix}3 & 6 & 4 \\ 2 & 3 & 2 \\ 2 & 5 & 3\end{pmatrix}$ +$\det\begin{pmatrix}6 & 5 & 4 \\ 3 & 2 & 2 \\ 5 & 4 & 3\end{pmatrix}=6(2\cdot3-2\cdot4)-5(3\cdot3-2\cdot5)+4(3\cdot4-2\cdot5)=1$ +$\det\begin{pmatrix}3 & 6 & 5 & 4 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & 1 & 0 \\ 2 & 5 & 4 & 3\end{pmatrix}=1+2$ + +$\det\begin{pmatrix}3 & 6 & 5 & 6 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & 1 & -1 \\ 2 & 5 & 4 & 5\end{pmatrix}=1\cdot\begin{pmatrix}6 & 5 & 6 \\ 3 & 2 & 2 \\ 5 & 4 & 5\end{pmatrix}+1\cdot\begin{pmatrix}3 & 6 & 6 \\ 2 & 3 & 2 \\ 2 & 5 & 5\end{pmatrix}+1\cdot\begin{pmatrix}3 & 6 & 5 \\ 2 & 3 & 2 \\ 2 & 5 & 4\end{pmatrix}$ +$\det\begin{pmatrix}6 & 5 & 6 \\ 3 & 2 & 2 \\ 5 & 4 & 5\end{pmatrix}=-1$ +$\det\begin{pmatrix}3 & 6 & 6 \\ 2 & 3 & 2 \\ 2 & 5 & 5\end{pmatrix}=3$ +$\det\begin{pmatrix}3 & 6 & 5 \\ 2 & 3 & 2 \\ 2 & 5 & 4\end{pmatrix}=2$ +$\det\begin{pmatrix}3 & 6 & 5 & 6 \\ 2 & 3 & 2 & 2 \\ 1 & 0 & 1 & -1 \\ 2 & 5 & 4 & 5\end{pmatrix}=-1+3+2=4$ + +$\det A=3\cdot1+3\cdot2-4=5$ + +## 27 номер – П 1.2.104 + +### Пример: + +$A=\begin{pmatrix}a_{0} & a_{1} & a_{2} & \dots & a_{n-1} & a_{n} \\ -x & x & 0 & \dots & 0 & 0 \\ 0 & -x & x & \dots & 0 & 0 \\ \vdots & \vdots & \vdots & \ddots & \vdots & \vdots \\ 0 & 0 & 0 & \dots & -x & x \end{pmatrix}$ +$\det A=?$ + +### Решение: + +$\text{Если }C_{i}=C_i+kC_j,\ \det A \text{ не меняется}$ + +$C_{n-1}=C_{n-1}+C_n,\ C_{n-2}=C_{n-2}+C_{n-1},\ \dots,\ C_{0}=C_{0}+C_{1}$ + +$\det A=\det\begin{pmatrix}a_{0}+a_{1}+\dots+a_{n} & a_{1}+a_{2}+\dots+a_{n} & \dots & a_{n-1}+a_{n} & a_{n} \\0 & x & \dots & 0 & 0 \\0 & 0 & \ddots & 0 & 0 \\\vdots & \vdots & \ddots & x & 0 \\0 & 0 & \dots & 0 & x\end{pmatrix}$ + +$\det A=(a_{0}+a_{1}+\dots+a_{n})\cdot x\cdot x\cdots x=x^{n}(a_{0}+a_{1}+\dots+a_{n})$ + +## 29 номер – П 1.2.85 + +### Пример: + +$\begin{pmatrix}2 & 0 & -1 \\ 1 & x+5 & 2-x \\ 3 & -1 & 2\end{pmatrix} \leq 4$ + +### Решение: + +$\det A=2((x+5)\cdot2-(2-x)\cdot(-1))-0(1\cdot2-(2-x)\cdot3)+(-1)(1\cdot(-1)-(x+5)\cdot3)=5(x+8)$ + +$5(x+8)\le 4$ +$x+8\le \dfrac{4}{5}$ +$x\le \dfrac{4}{5}-8=x\leq-\dfrac{36}{5}$ +$\text{Ответ: }x\le -\dfrac{36}{5}$ + +## 40 номер – П 1.4.42 + +### Пример: + +$A=\begin{pmatrix}5 & 8 & -1 \\ 2 & -3 & 2 \\ 1 & 2 & 3\end{pmatrix}$ +$A^{-1} = ?$ + +### Решение: + +$\det A=-104$ + +$C_{ij}=(-1)^{i+j}M_{ij}$ + +$C_{11}=+\begin{pmatrix}-3 & 2 \\ 2 & 3\end{pmatrix}=-13$ +$C_{12}=-\begin{pmatrix}2 & 2 \\ 1 & 3\end{pmatrix}=-4$ +$C_{13}=+\begin{pmatrix}2 & -3 \\ 1 & 2\end{pmatrix}=7$ + +$C_{21}=-\begin{pmatrix}8 & -1 \\ 2 & 3\end{pmatrix}=-26$ +$C_{22}=+\begin{pmatrix}5 & -1 \\ 1 & 3\end{pmatrix}=16$ +$C_{23}=-\begin{pmatrix}5 & 8 \\ 1 & 2\end{pmatrix}=-2$ + +$C_{31}=+\begin{pmatrix}8 & -1 \\ -3 & 2\end{pmatrix}=13$ +$C_{32}=-\begin{pmatrix}5 & -1 \\ 2 & 2\end{pmatrix}=-12$ +$C_{33}=+\begin{pmatrix}5 & 8 \\ 2 & -3\end{pmatrix}=-31$ + +$C=\begin{pmatrix}-13 & -4 & 7 \\ -26 & 16 & -2 \\ 13 & -12 & -31\end{pmatrix}$ +$C^{T}=\begin{pmatrix}-13 & -26 & 13 \\ -4 & 16 & -12 \\ 7 & -2 & -31\end{pmatrix}$ + +$A^{-1}=\dfrac{1}{\det A}С^{T}=-\dfrac{1}{104}С^{T}=\begin{pmatrix}\dfrac{1}{8} & \dfrac{1}{4} & -\dfrac{1}{8} \\ \dfrac{1}{26} & -\dfrac{2}{13} & \dfrac{3}{26} \\ -\dfrac{7}{104} & \dfrac{1}{52} & \dfrac{31}{104}\end{pmatrix}$ + +## 42 номер – П 1.4.55 + +### Пример: + +$\begin{pmatrix}1 & -1 \\ 2 & 3\end{pmatrix}\cdot X\cdot \begin{pmatrix}2 & -2 \\ -4 & 5\end{pmatrix}=\begin{pmatrix}1 & -1 \\ 2 & 3\end{pmatrix}$ + +### Решение: + +$A\cdot X\cdot B=A$ +$\det A\neq0,\ \det B\neq0:\ A^{-1}AXBB^{-1}=A^{-1}A$ +$X=B^{-1}$ + +$B=\begin{pmatrix}2 & -2 \\ -4 & 5\end{pmatrix}$ +$\det B=2\cdot5-(-2)\cdot(-4)=10-8=2$ +$B^{-1}=\dfrac{1}{2}\begin{pmatrix}5 & 2 \\ 4 & 2\end{pmatrix}=\begin{pmatrix}\dfrac{5}{2} & 1 \\ 2 & 1\end{pmatrix}$ + +$\text{Ответ: }X=\begin{pmatrix}\dfrac{5}{2} & 1 \\ 2 & 1\end{pmatrix}$ + +## 44 номер – П 1.4.57 + +### Пример: + +$\begin{pmatrix}1 & -2 & 3 \\ 2 & 3 & -1 \\ 0 & -2 & 1\end{pmatrix}\cdot X=\begin{pmatrix}2 \\ -1 \\ 3\end{pmatrix}$ + +### Решение: + +$A\cdot X=b$ +$X=\begin{pmatrix}x_{1}\\x_{2}\\x_{3}\end{pmatrix}$ + +$x_{1}=\dfrac{\Delta_{1}}{\Delta},\ x_{2}=\dfrac{\Delta_{2}}{\Delta},\ x_{3}=\dfrac{\Delta_{3}}{\Delta}$ + +$\Delta=\det A=\begin{pmatrix}1 & -2 & 3 \\ 2 & 3 & -1 \\ 0 & -2 & 1\end{pmatrix}=-7$ + +$\Delta_{1}=\begin{pmatrix}2 & -2 & 3 \\ -1 & 3 & -1 \\ 3 & -2 & 1\end{pmatrix}=-15$ + +$\Delta_{2}=\begin{pmatrix}1 & 2 & 3 \\ 2 & -1 & -1 \\ 0 & 3 & 1\end{pmatrix}=16$ + +$\Delta_{3}=\begin{pmatrix}1 & -2 & 2 \\ 2 & 3 & -1 \\ 0 & -2 & 3\end{pmatrix}=11$ + +$x_{1}=\dfrac{-15}{-7}=\dfrac{15}{7}$ +$x_{2}=\dfrac{16}{-7}=-\dfrac{16}{7}$ +$x_{3}=\dfrac{11}{-7}=-\dfrac{11}{7}$ + +$\text{Ответ: }X=\begin{pmatrix}\dfrac{15}{7}\\-\dfrac{16}{7}\\-\dfrac{11}{7}\end{pmatrix}$ + +## 46 номер – П 1.3.17 + +### Пример: + +$A=\begin{pmatrix}1 & -3 & 1 & -14 & 22 \\ -2 & 1 & 3 & 3 & -9 \\ -4 & -3 & 11 & -19 & 17\end{pmatrix}$ +$rankA=?$ + +### Решение: + +$R_2=R_2+2R_1,\ R_3=R_3+4R_1$ +$A\sim\begin{pmatrix}1 & -3 & 1 & -14 & 22 \\0 & -5 & 5 & -25 & 35 \\0 & -15 & 15 & -75 & 105\end{pmatrix}$ + +$R_3=R_3-3R_2$ +$A\sim\begin{pmatrix}1 & -3 & 1 & -14 & 22 \\0 & -5 & 5 & -25 & 35 \\0 & 0 & 0 & 0 & 0\end{pmatrix}$ + +$\text{Ответ: }rankA=2$ + +## 48 номер – П 1.3.19 + +### Пример: + +$A=\begin{pmatrix}3 & -1 & 3 & 2 & 5 \\ 5 & -3 & 2 & 3 & 4 \\ 1 & -3 & -5 & 0 & -7 \\ 7 & -5 & 1 & 4 & 1\end{pmatrix}$ +$rankA=?$ + +### Решение: + +$R_{1}\to R_3$ +$A\sim\begin{pmatrix}1 & -3 & -5 & 0 & -7 \\ 5 & -3 & 2 & 3 & 4 \\ 3 & -1 & 3 & 2 & 5 \\ 7 & -5 & 1 & 4 & 1\end{pmatrix}$ + +$R_2=R_2-5R_1,\ R_3=R_3-3R_1,\ R_4=R_4-7R_1$ +$A\sim\begin{pmatrix}1 & -3 & -5 & 0 & -7 \\ 0 & 12 & 27 & 3 & 39 \\ 0 & 8 & 18 & 2 & 26 \\ 0 & 16 & 36 & 4 & 50\end{pmatrix}$ + +$R_3=3R_3-2R_2,\ R_4=3R_4-4R_2$ +$A\sim\begin{pmatrix}1 & -3 & -5 & 0 & -7 \\ 0 & 12 & 27 & 3 & 39 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & -6\end{pmatrix}$ + +$R_3\to R_4$ +$A\sim\begin{pmatrix}1 & -3 & -5 & 0 & -7 \\ 0 & 12 & 27 & 3 & 39 \\ 0 & 0 & 0 & 0 & -6 \\ 0 & 0 & 0 & 0 & 0\end{pmatrix}$ + +$\text{Ответ: }rankA=3$ + +## 50 номер – П 1.3.21 + +### Пример: + +$A=\begin{pmatrix}4 & 3 & -5 & 2 & 3 \\ 8 & 6 & -7 & 4 & 2 \\ 4 & 3 & -8 & 2 & 7 \\ 4 & 3 & 1 & 2 & -5 \\ 8 & 6 & -1 & 4 & -6\end{pmatrix}$ +$rankA=?$ + +### Решение: + +$R_2=R_2-2R_1,\ R_3=R_3-R_1,\ R_4=R_4-R_1,\ R_5=R_5-2R_1$ +$A\sim\begin{pmatrix}4 & 3 & -5 & 2 & 3 \\ 0 & 0 & 3 & 0 & -4 \\ 0 & 0 & -3 & 0 & 4 \\ 0 & 0 & 6 & 0 & -8 \\ 0 & 0 & 9 & 0 & -12\end{pmatrix}$ + +$R_3=R_3+R_2,\ R_4=R_4-2R_2,\ R_5=R_5-3R_2$ +$A\sim\begin{pmatrix}4 & 3 & -5 & 2 & 3 \\ 0 & 0 & 3 & 0 & -4 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0\end{pmatrix}$ + +$\text{Ответ: }rankA=2$ + +## 52 номер – П 1.3.23 + +### Пример: + +$A=\begin{pmatrix}3 & -1 & 2 \\ 4 & -3 & 3 \\ 1 & 3 & 0\end{pmatrix}$ +$rankA=?$ + +### Решение: + +$M_{1}=\begin{pmatrix}3\end{pmatrix}=3\neq0$ + +$M_{2}=\begin{pmatrix}3 & -1 \\ 4 & -3\end{pmatrix}=-5\neq0$ + +$\det A=0$ + +$\text{Ответ: }rankA=2$ +$\text{Базисный минор: }M_{2}=\begin{pmatrix}3 & -1 \\ 4 & -3\end{pmatrix},\ \det M_{2}=-5$ + +## 54 номер – П 1.3.35 + +### Пример: + +$\text{Как может измениться ранг матрицы при добавлении к ней одной произвольной строки? Одного произвольного столбца?}$ + +### Решение: + +$rankA=r$ + +$\text{Добавим одну строку: }A\to \tilde A$ +$\tilde r=rank\tilde A$ +$\text{Новая строка линейно выражается через старые строки }; \tilde r=r$ +$\text{Новая строка не выражается через старые строки }; \tilde r=r+1; \tilde r\in\{r,\ r+1\}$ + +$\text{Добавим один столбец: }A\to \hat A$ +$\hat r=rank\hat A$ +$\text{Новый столбец линейно выражается через старые столбцы }; \hat r=r$ +$\text{Новый столбец не выражается через старые столбцы }; \hat r=r+1$ +$\hat r\in\{r,\ r+1\}$ + +$\text{Ответ: ранг либо не изменится, либо увеличится на 1 (уменьшиться не может).}$ + +## 56 номер – П 1.3.27 + +### Пример: + +$A=\begin{pmatrix}1 & -2 & 1 & -1 & 1 \\ 2 & 1 & -1 & 2 & -3 \\ 3 & -2 & -1 & 1 & -2 \\ 2 & -5 & 1 & -2 & 2\end{pmatrix}$ +$rankA=?$ + +### Решение: + +$R_2=R_2-2R_1,\ R_3=R_3-3R_1,\ R_4=R_4-2R_1$ +$A\sim\begin{pmatrix}1 & -2 & 1 & -1 & 1 \\ 0 & 5 & -3 & 4 & -5 \\ 0 & 4 & -4 & 4 & -5 \\ 0 & -1 & -1 & 0 & 0\end{pmatrix}$ + +$R_3=5R_3-4R_2,\ R_4=5R_4+R_2$ +$A\sim\begin{pmatrix}1 & -2 & 1 & -1 & 1 \\ 0 & 5 & -3 & 4 & -5 \\ 0 & 0 & -8 & 4 & -5 \\ 0 & 0 & -8 & 4 & -5\end{pmatrix}$ + +$R_4=R_4-R_3$ +$A\sim\begin{pmatrix}1 & -2 & 1 & -1 & 1 \\ 0 & 5 & -3 & 4 & -5 \\ 0 & 0 & -8 & 4 & -5 \\ 0 & 0 & 0 & 0 & 0\end{pmatrix}$ + +$\text{Ответ: }rankA=3$ + +## 58 номер – П 1.3.29 + +### Пример: + +$A=\begin{pmatrix}1 & -3 & 2 & 0 \\ 2 & -3 & -1 & 3 \\ 3 & -6 & -1 & \lambda \\ 1 & -2 & 0 & 1\end{pmatrix}$ +$rankA=?$ + +### Решение: + +$R_2=R_2-2R_1,\ R_3=R_3-3R_1,\ R_4=R_4-R_1$ +$A\sim\begin{pmatrix}1 & -3 & 2 & 0 \\ 0 & 3 & -5 & 3 \\ 0 & 3 & -7 & \lambda \\ 0 & 1 & -2 & 1\end{pmatrix}$ + +$R_2\to R_4$ +$A\sim\begin{pmatrix}1 & -3 & 2 & 0 \\ 0 & 1 & -2 & 1 \\ 0 & 3 & -7 & \lambda \\ 0 & 3 & -5 & 3\end{pmatrix}$ + +$R_3=R_3-3R_2,\ R_4=R_4-3R_2$ +$A\sim\begin{pmatrix}1 & -3 & 2 & 0 \\ 0 & 1 & -2 & 1 \\ 0 & 0 & -1 & \lambda-3 \\ 0 & 0 & 1 & 0\end{pmatrix}$ + +$R_4=R_4+R_3$ +$A\sim\begin{pmatrix}1 & -3 & 2 & 0 \\ 0 & 1 & -2 & 1 \\ 0 & 0 & -1 & \lambda-3 \\ 0 & 0 & 0 & \lambda-3\end{pmatrix}$ + +$\lambda\neq3; \lambda-3\neq0; rankA=4$ +$\lambda=3; \lambda-3=0; rankA=3$ + +$\text{Ответ: }rankA=\begin{cases}4,&\lambda\neq3\\3,&\lambda=3\end{cases}$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/4 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/4 MODULE.md new file mode 100644 index 0000000..479c2f9 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/4 MODULE.md @@ -0,0 +1,293 @@ +## 20 номер – П 2.2.8 +#учеба #семестр_1 #высшая_математика + + +### Пример: + +МЕТОД ОБРАТНОЙ МАТРИЦЫ + +$$ +\begin{cases} +x+2y+3z=5 \\ +4x+5y+6z=8 \\ +7x+8y=2 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}1 & 2 & 3 \\ 4 & 5 & 6 \\ 7 & 8 & 0\end{pmatrix}$ + +$x=\begin{pmatrix}x \\ y \\ z\end{pmatrix}$ + +$b=\begin{pmatrix}5 \\ 8 \\ 2\end{pmatrix}$ + +$\det A=27\neq 0$ +$A^{-1}=\begin{pmatrix}-1 \dfrac{7}{9} & \dfrac{8}{9} & -\dfrac{1}{9} \\ 1 \dfrac{5}{9} & -\dfrac{7}{9} & \dfrac{2}{9} \\ -\dfrac{1}{9} & \dfrac{2}{9} & -\dfrac{1}{9}\end{pmatrix}$ + +$x=A^{-1}b=\begin{pmatrix}-1 \dfrac{7}{9} & \dfrac{8}{9} & -\dfrac{1}{9} \\ 1 \dfrac{5}{9} & -\dfrac{7}{9} & \dfrac{2}{9} \\ -\dfrac{1}{9} & \dfrac{2}{9} & -\dfrac{1}{9}\end{pmatrix}\cdot \begin{pmatrix}5 \\ 8 \\ 2\end{pmatrix}=\begin{pmatrix}-2 \\ 2 \\ 1\end{pmatrix}$ + +$\text{Ответ: }x=-2; \ y=2; \ z=1;$ + +## 21 номер – П 2.2.9 + +### Пример: + +$$ +\begin{cases} +2x_{1}-3x_{2}+x_{3}=-7 \\ +x_{1}+2x_{2}-3x_{3}=14 \\ +-x_{1}-x_{2}+5x_{3}=-18 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}2 & -3 & 1 \\ 1 & 2 & -3 \\ -1 & -1 & 5\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix}$ + +$b=\begin{pmatrix}-7 \\ 14 \\ -18\end{pmatrix}$ + +$\det A=21\neq 0$ + +$A^{-1}=\begin{pmatrix}\dfrac{1}{3} & \dfrac{2}{3} & \dfrac{1}{3} \\ -\dfrac{2}{21} & \dfrac{11}{21} & \dfrac{1}{3} \\ \dfrac{1}{21} & \dfrac{5}{21} & \dfrac{1}{3}\end{pmatrix}$ + +$x=A^{-1}b=\begin{pmatrix}\dfrac{1}{3} & \dfrac{2}{3} & \dfrac{1}{3} \\ -\dfrac{2}{21} & \dfrac{11}{21} & \dfrac{1}{3} \\ \dfrac{1}{21} & \dfrac{5}{21} & \dfrac{1}{3}\end{pmatrix}\cdot\begin{pmatrix}-7 \\ 14 \\ -18\end{pmatrix}=\begin{pmatrix}1 \\ 2 \\ -3\end{pmatrix}$ + +$\text{Ответ: }x_{1}=1;\ x_{2}=2;\ x_{3}=-3;$ + +## 22 номер – П 2.2.9 + +### Пример: + +$$ +\begin{cases} +2x_{1}-3x_{2}+x_{3}=-7 \\ +x_{1}+2x_{2}-3x_{3}=14 \\ +-x_{1}-x_{2}+5x_{3}=-18 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}2 & -3 & 1 \\ 1 & 2 & -3 \\ -1 & -1 & 5\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix}$ + +$b=\begin{pmatrix}-7 \\ 14 \\ -18\end{pmatrix}$ + +$\det A=21\neq 0$ + +$A^{-1}=\begin{pmatrix}\dfrac{1}{3} & \dfrac{2}{3} & \dfrac{1}{3} \\ -\dfrac{2}{21} & \dfrac{11}{21} & \dfrac{1}{3} \\ \dfrac{1}{21} & \dfrac{5}{21} & \dfrac{1}{3}\end{pmatrix}$ + +$x=A^{-1}b=\begin{pmatrix}\dfrac{1}{3} & \dfrac{2}{3} & \dfrac{1}{3} \\ -\dfrac{2}{21} & \dfrac{11}{21} & \dfrac{1}{3} \\ \dfrac{1}{21} & \dfrac{5}{21} & \dfrac{1}{3}\end{pmatrix}\cdot\begin{pmatrix}-7 \\ 14 \\ -18\end{pmatrix}=\begin{pmatrix}1 \\ 2 \\ -3\end{pmatrix}$ + +$\text{Ответ: }x_{1}=1;\ x_{2}=2;\ x_{3}=-3;$ +:D + +## 23 номер – П 2.2.10 + +### Пример: + +$$ +\begin{cases} +2x_{1}+x_{2}-x_{3}=3 \\ +x_{1}+3x_{2}+2x_{3}=-1 \\ +x_{1}+x_{2}=5 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}2 & 1 & -1 \\ 1 & 3 & 2 \\ 1 & 1 & 0\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix}$ + +$b=\begin{pmatrix}3 \\ -1 \\ 5\end{pmatrix}$ + +$\det A=2(3\cdot0-2\cdot1)-1(1\cdot0-2\cdot1)+(-1)(1\cdot1-3\cdot1)=0$ + +$\det A=0; A^{-1}\ \text{не существует}$ + +$\text{Ответ: решений нет}$ + +## 24 номер – П 2.2.11 + +### Пример: + +$$ +\begin{cases} +x_{1}+2x_{2}+3x_{3}=3 \\ +2x_{1}+6x_{1}+4x_{3}=6 \\ +3x_{1}+10x_{2}+8x_{3}=21 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}1 & 2 & 3 \\ 8 & 0 & 4 \\ 3 & 10 & 8\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix}$ + +$b=\begin{pmatrix}3 \\ 6 \\ 21\end{pmatrix}$ + +$\det A=96\neq 0$ + +$A^{-1}=\begin{pmatrix}-\dfrac{5}{12} & \dfrac{7}{48} & \dfrac{1}{12} \\ -\dfrac{13}{24} & -\dfrac{1}{96} & \dfrac{5}{24} \\ \dfrac{5}{6} & -\dfrac{1}{24} & -\dfrac{1}{6}\end{pmatrix}$ + +$x=A^{-1}b=\begin{pmatrix}-\dfrac{5}{12} & \dfrac{7}{48} & \dfrac{1}{12} \\ -\dfrac{13}{24} & -\dfrac{1}{96} & \dfrac{5}{24} \\ \dfrac{5}{6} & -\dfrac{1}{24} & -\dfrac{1}{6}\end{pmatrix}\cdot\begin{pmatrix}3 \\ 6 \\ 21\end{pmatrix}=\begin{pmatrix}1\dfrac{3}{8} \\ 2\dfrac{11}{16} \\ -1\dfrac{1}{4}\end{pmatrix}$ + +$\text{Ответ: }x_{1}=1\dfrac{3}{8}; \ x_{2}=2\dfrac{11}{16}; \ x_{3}=-1\dfrac{1}{4};$ + +## 25 номер – П 2.2.12 + +### Пример: + +$$ +\begin{cases} +ax_{1}+x_{2}+x_{3}=1 \\ +x_{1}+ax_{2}+x_{3}=a \\ +x_{1}+x_{2}+ax_{3}=a^{2} +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}a & 1 & 1 \\ 1 & a & 1 \\ 1 & 1 & a\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3}\end{pmatrix}$ + +$b=\begin{pmatrix}1 \\ a \\ a^{2}\end{pmatrix}$ + +$R_2=R_2-R_1,\ R_3=R_3-R_1$ +$\det A=\det\begin{pmatrix}a & 1 & 1 \\ 1-a & a-1 & 0 \\ 1-a & 0 & a-1\end{pmatrix}$ + +$\det A=(a-1)^{2}\det\begin{pmatrix}a & 1 & 1 \\ -1 & 1 & 0 \\ -1 & 0 & 1\end{pmatrix}=(a-1)^{2}(a+2)$ + +$a\neq1,\ a\neq-2\ ; \ \det A\neq0$ + +$A^{-1}=\dfrac{1}{(a-1)(a+2)}\begin{pmatrix}a+1 & -1 & -1 \\ -1 & a+1 & -1 \\ -1 & -1 & a+1\end{pmatrix}$ + +$x=A^{-1}b=\dfrac{1}{(a-1)(a+2)}\begin{pmatrix}a+1 & -1 & -1 \\ -1 & a+1 & -1 \\ -1 & -1 &a+1\end{pmatrix}\cdot\begin{pmatrix}1 \\ a \\ a^{2}\end{pmatrix}=\dfrac{1}{(a-1)(a+2)}\begin{pmatrix}1-a^{2} \\ a-1 \\ (a-1)(a+1)^{2}\end{pmatrix}=\begin{pmatrix}-\dfrac{a+1}{a+2} \\ \dfrac{1}{a+2} \\ \dfrac{(a+1)^{2}}{a+2}\end{pmatrix}$ + +$a=1; \det A=0$ +$\begin{cases}x_{1}+x_{2}+x_{3}=1\\x_{1}+x_{2}+x_{3}=1\\x_{1}+x_{2}+x_{3}=1\end{cases}$ +$x_{1}=1-x_{2}-x_{3}$ + +$a=-2; \det A=0$ +$\begin{cases}-2x_{1}+x_{2}+x_{3}=1\\x_{1}-2x_{2}+x_{3}=-2\\x_{1}+x_{2}-2x_{3}=4\end{cases}$ +$\text{Решений нет}$ + +## 26 номер – П 2.2.13 + +### Пример: + +$$ +\begin{cases} +3x_{1}-5x_{2}+2x_{3}-4x_{4}=0 \\ +-3x_{1}+4x_{2}-5x_{3}+3x_{4}=-2 \\ +-5x_{1}+7x_{2}-7x_{3}+5x_{4}=-2 \\ +8x_{1}-8x_{2}+5x_{3}-6x_{4}=-5 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}3 & -5 & 2 & -4 \\ -3 & 4 & -5 & 3 \\ -5 & 7 & -7 & 5 \\ 8 & -8 & 5 & -6\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3} \\ x_{4}\end{pmatrix}$ + +$b=\begin{pmatrix}0 \\ -2 \\ -2 \\ -5\end{pmatrix}$ + +$\det A=17\neq 0$ + +$A^{-1}=\dfrac{1}{17}\begin{pmatrix}-5 & -3 & 5 & 6 \\ 8 & -53 & 43 & 4 \\ -2 & -8 & 2 & -1 \\ -19 & 60 & -49 & -1\end{pmatrix}$ + +$x=A^{-1}b=\dfrac{1}{17}\begin{pmatrix}-5 & -3 & 5 & 6 \\ 8 & -53 & 43 & 4 \\ -2 & -8 & 2 & -1 \\ -19 & 60 & -49 & -1\end{pmatrix}\cdot\begin{pmatrix}0 \\ -2 \\ -2 \\ -5\end{pmatrix}=\begin{pmatrix}-2 \\ 0 \\ 1 \\ -1\end{pmatrix}$ + +$\text{Ответ: }x_{1}=-2; \ x_{2}=0; \ x_{3}=1; \ x_{4}=-1;$ + +## 27 номер – П 2.2.14 + +### Пример: + +$$ +\begin{cases} +6x_{1}-5x_{2}+4x_{3}+7x_{4}=28 \\ +5x_{1}-8x_{2}+5x_{3}+8x_{4}=36 \\ +9x_{1}-8x_{2}+5x_{3}+10x_{4}=42 \\ +3x_{1}+2x_{2}+2x_{3}+2x_{4}=2 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}6 & -5 & 4 & 7 \\ 5 & -8 & 5 & 8 \\ 9 & -8 & 5 & 10 \\ 3 & 2 & 2 & 2\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3} \\ x_{4}\end{pmatrix}$ + +$b=\begin{pmatrix}28 \\ 36 \\ 42 \\ 2\end{pmatrix}$ + +$\det A=-6\neq 0$ + +$A^{-1}=\dfrac{1}{6}\begin{pmatrix}-52 & 12 & 24 & 14 \\ 34 & -9 & -15 & -8 \\ -60 & 18 & 24 & 18 \\ 104 & -27 & -45 & -28\end{pmatrix}$ + +$x=A^{-1}b=\dfrac{1}{6}\begin{pmatrix}-52 & 12 & 24 & 14 \\ 34 & -9 & -15 & -8 \\ -60 & 18 & 24 & 18 \\ 104 & -27 & -45 & -28\end{pmatrix}\cdot\begin{pmatrix}28 \\ 36 \\ 42 \\ 2\end{pmatrix}=\begin{pmatrix}2 \\ -3 \\ 2 \\ -1\end{pmatrix}$ + +$\text{Ответ: }x_{1}=2; \ x_{2}=-3; \ x_{3}=2; \ x_{4}=-1;$ + +## 28 номер – П 2.2.15 + +### Пример: + +$$ +\begin{cases} +2x_{1}+6x_{2}+x_{3}=0 \\ +x_{1}+2x_{2}-2x_{3}+4x_{4}=0 \\ +-x_{1}+4x_{2}+5x_{3}-4x_{4}=0 \\ +3x_{1}+x_{3}+2x_{4}=0 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}2 & 6 & 1 & 0 \\ 1 & 2 & -2 & 4 \\ -1 & 4 & 5 & -4 \\ 3 & 0 & 1 & 2\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3} \\ x_{4}\end{pmatrix}$ + +$b=\begin{pmatrix}0 \\ 0 \\ 0 \\ 0\end{pmatrix}$ + +$\det A=240\neq 0$ +$A^{-1}\ \text{существует}$ +$x=A^{-1}b=A^{-1}\cdot\begin{pmatrix}0 \\ 0 \\ 0 \\ 0\end{pmatrix}=\begin{pmatrix}0 \\ 0 \\ 0 \\ 0\end{pmatrix}$ + +$\text{Ответ: }x_{1}=0; \ x_{2}=0; \ x_{3}=0; \ x_{4}=0;$ + +## 29 номер – П 2.2.27 + +### Пример: + +$$ +\begin{cases} +2x_{1}+x_{2}+4x_{3}+8x_{4}=0 \\ +x_{1}+3x_{2}-6x_{3}+2x_{4}=0 \\ +3x_{1}-2x_{2}+2x_{3}-2x_{4}=0 \\ +2x_{1}-x_{2}+2x_{3}=0 +\end{cases} +$$ + +### Решение: + +$A=\begin{pmatrix}2 & 1 & 4 & 8 \\ 1 & 3 & -6 & 2 \\ 3 & -2 & 2 & -2 \\ 2 & -1 & 2 & 0\end{pmatrix}$ + +$x=\begin{pmatrix}x_{1} \\ x_{2} \\ x_{3} \\ x_{4}\end{pmatrix}$ + +$b=\begin{pmatrix}0 \\ 0 \\ 0 \\ 0\end{pmatrix}$ + +$\det A=24\neq 0$ +$A^{-1}\ \text{существует}$ + +$x=A^{-1}b=A^{-1}\cdot\begin{pmatrix}0 \\ 0 \\ 0 \\ 0\end{pmatrix}=\begin{pmatrix}0 \\ 0 \\ 0 \\ 0\end{pmatrix}$ + +$\text{Ответ: }x_{1}=0;\ x_{2}=0;\ x_{3}=0;\ x_{4}=0;$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/5 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/5 MODULE.md new file mode 100644 index 0000000..efda414 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/5 MODULE.md @@ -0,0 +1,1039 @@ +## 3 номер – Д 420 +#учеба #семестр_1 #высшая_математика + + +### Пример: + +$\lim_{ x \to 1 } \dfrac{x^4-3x+2}{x^5-4x+3}$ + +### Решение: + +$x = 1;$ +$x^4-3x+2 =0;$ +$x^5-4x+3=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$(x - 1);$ +$x^{4}−3x+2=(x−1)(x^{3}+x^{2}+x+1)−3(x−1)=(x−1)(x^{3}+x^{2}+x−2);$ +$x^{5}−4x+3=(x−1)(x^{4}+x^{3}+x^{2}+x+1)−4(x−1)=(x−1)(x^{4}+x^{3}+x^{2}+x−3);$ + +$x\neq1;$ +$\dfrac{(x−1)(x^{3}+x^{2}+x−2)}{(x−1)(x^{4}+x^{3}+x^{2}+x−3)}=\dfrac{x^{3}+x^{2}+x−2}{x^{4}+x^{3}+x^{2}+x−3}$ + +$\lim_{ x \to 1 } \dfrac{x^{3}+x^{2}+x−2}{x^{4}+x^{3}+x^{2}+x−3} = \dfrac{1+1+1-2}{1+1+1+1-3}= \dfrac{1}{1}=1;$ + +$\text{Ответ: }1$ + +## 7 номер – Д 441 + +### Пример: + +$\lim_{ x \to -2 } \dfrac{\sqrt[ 3 ]{ x-6 }+2}{x^{3}+8}$ + +### Решение: + +$x=-2;$ +$\sqrt[3]{x-6}+2=0;$ +$x^3+8=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$(x+2);$ +$(\sqrt[3]{x-6}+2)(\sqrt[3]{(x-6)^2}-2\sqrt[3]{x-6}+4)=x-6+8=x+2;$ +$x^3+8=(x+2)(x^2-2x+4);$ + +$x\neq-2;$ +$\dfrac{\sqrt[3]{x-6}+2}{x^3+8}\cdot\dfrac{\sqrt[3]{(x-6)^2}-2\sqrt[3]{x-6}+4}{\sqrt[3]{(x6)^2}-2\sqrt[3]{x-6}+4}=\dfrac{x+2}{(x+2)(x^2-2x+4)(\sqrt[3]{(x-6)^2}-2\sqrt[3]{x-6}+4)}=$ +$=\dfrac{1}{(x^2-2x+4)(\sqrt[3]{(x-6)^2}-2\sqrt[3]{x-6}+4)}$ + +$\lim_{ x \to -2 }\dfrac{1}{(x^2-2x+4)(\sqrt[3]{(x-6)^2}-2\sqrt[3]{x-6}+4)}=\dfrac{1}{(4+4+4)(4+4+4)}=\dfrac{1}{144};$ + +$\text{Ответ: }\dfrac{1}{144}$ + +## 11 номер – Д 446 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\sqrt[ 3 ]{ 8+3x-x^{2} }-2}{x+x^{2}}$ + +### Решение: + +$x=0;$ +$\sqrt[3]{8+3x-x^2}-2=\sqrt[3]{8}-2=0;$ +$x+x^2=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$a=\sqrt[3]{8+3x-x^2}$ +$a-2=\dfrac{(a-2)(a^2+2a+4)}{a^2+2a+4}=\dfrac{a^3-8}{a^2+2a+4}$ + +$a^3-8=(8+3x-x^2)-8=3x-x^2$ +$\dfrac{\sqrt[3]{8+3x-x^2}-2}{x+x^2}=\dfrac{3x-x^2}{(x+x^2)(a^2+2a+4)}$ + +$x\neq0;$ +$3x-x^2=x(3-x);\ x+x^2=x(1+x)$ +$\dfrac{3x-x^2}{(x+x^2)(a^2+2a+4)}=\dfrac{x(3-x)}{x(1+x)(a^2+2a+4)}=\dfrac{3-x}{(1+x)(a^2+2a+4)}$ + +$\lim_{x\to0}\dfrac{3-x}{(1+x)(a^2+2a+4)}=\dfrac{3}{1\cdot(2^2+2\cdot2+4)}=\dfrac{3}{12}=\dfrac{1}{4};$ + +$\text{Ответ: }\dfrac{1}{4}$ + +## 15 номер – Д 477 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\cos x-\cos 3x}{x^{2}}$ + +### Решение: + +$x=0;$ +$\cos x-\cos 3x=1-1=0;$ +$x^2=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\cos x-\cos 3x=-2\sin(\dfrac{x+3x}{2})\sin(\dfrac{x-3x}{2})=-2\sin(2x)\sin(-x)=2\sin(2x)\sin x;$ +$x\neq0;$ +$\dfrac{\cos x-\cos 3x}{x^2}=\dfrac{2\sin(2x)\sin x}{x^2}=4\cdot\dfrac{\sin(2x)}{2x}\cdot\dfrac{\sin x}{x};$ + +$\lim_{ x \to 0 }4\cdot\dfrac{\sin(2x)}{2x}\cdot\dfrac{\sin x}{x}=4\cdot1\cdot1=4;$ + +$\text{Ответ: }4$ + +## 19 номер – Д 507 + +### Пример: + +$\lim_{ x \to \infty } (\dfrac{x+2}{2x-1})^{x^{2}}$ + +### Решение: + +$x\to\infty;$ +$\dfrac{x+2}{2x-1}\to\dfrac{1}{2};$ + +$x>1;$ +$2x-1>0;$ +$\dfrac{x+2}{2x-1}>0;$ + +$y=(\dfrac{x+2}{2x-1})^{x^2};$ +$\ln y=x^2\ln(\dfrac{x+2}{2x-1});$ + +$\ln(\dfrac{x+2}{2x-1})\to\ln\dfrac{1}{2}<0;$ +$x^2\to+\infty;$ +$\ln y\to-\infty;$ +$y\to0;$ + +$\text{Ответ: }0$ + +## 22 номер – Д 510 + +### Пример: + +$\lim_{ x \to \frac{\pi}{4}+0 } [\tan(\dfrac{\pi}{8}+x)]^{\tan2x}$ + +### Решение: + +$x\to\dfrac{\pi}{4}+0;$ +$2x\to\dfrac{\pi}{2}+0;$ +$\tan2x\to-\infty;$ + +$\dfrac{\pi}{8}+x\to\dfrac{3\pi}{8};$ +$\tan(\dfrac{\pi}{8}+x)\to\tan\dfrac{3\pi}{8}=\sqrt2+1>1;$ + +$y=[\tan(\dfrac{\pi}{8}+x)]^{\tan2x};$ +$\ln y=\tan2x\cdot\ln(\tan(\dfrac{\pi}{8}+x));$ + +$\ln(\tan(\dfrac{\pi}{8}+x))\to\ln(\sqrt2+1)>0;$ +$\tan2x\to-\infty;$ +$\ln y\to-\infty;$ +$y\to0;$ + +$\text{Ответ: }0$ + +## 23 номер – Д 511 + +### Пример: + +$\lim_{ x \to \infty }(\dfrac{x^{2}-1}{x^2+1})^{\frac{x-1}{x+1}}$ + +### Решение: + +$x\to\infty;$ +$\dfrac{x^{2}-1}{x^{2}+1}=\dfrac{1-\dfrac{1}{x^{2}}}{1+\dfrac{1}{x^{2}}}\to\dfrac{1-0}{1+0}=1;$ +$\dfrac{x-1}{x+1}\to1;$ +$\text{Вид }1^{1}$ + +$y=(\dfrac{x^{2}-1}{x^{2}+1})^{\frac{x-1}{x+1}}$ +$\ln y=\dfrac{x-1}{x+1}\ln(\dfrac{x^{2}-1}{x^{2}+1})$ + +$x>1;\ \dfrac{x^{2}-1}{x^{2}+1}>0$ +$\lim_{x\to\infty}\ln(\dfrac{x^{2}-1}{x^{2}+1})=\ln(\lim_{x\to\infty}\dfrac{x^{2}-1}{x^{2}+1})=\ln1=0;$ +$\lim_{x\to\infty}\dfrac{x-1}{x+1}=1;$ +$\lim_{x\to\infty}\ln y=1\cdot0=0$ + +$\lim_{x\to\infty}y=\lim_{x\to\infty}e^{\ln y}=e^{0}=1;$ + +$\text{Ответ: }1$ + +## 26 номер – Д 514 + +### Пример: + +$\lim_{ x \to 0 } \sqrt[ x ]{ 1-2x }$ + +### Решение: + +$x=0;$ +$\sqrt[x]{1-2x}=(1-2x)^{\frac{1}{x}};$ +$1-2x=1;$ +$\text{Неопределённость }1^{\infty}$ + +$x\to0;$ +$1-2x>0;$ +$y=(1-2x)^{\frac{1}{x}};$ +$\ln y=\dfrac{1}{x}\ln(1-2x);$ + +$u=-2x;$ +$u\to0;$ +$\ln y=\dfrac{\ln(1+u)}{u}\cdot(-2);$ +$\lim_{ x \to 0 }\ln y=1\cdot(-2)=-2;$ +$\lim_{ x \to 0 }y=e^{-2};$ + +$\text{Ответ: }e^{-2}$ + +## 27 номер – Д 515 + +### Пример: + +$\lim_{ x \to \infty } (\dfrac{x+a}{x-a})^{x}$ + +### Решение: + +$x\to\infty;$ +$\dfrac{x+a}{x-a}\to1;$ +$\text{Неопределённость }1^{\infty}$ + +$x\to\infty;$ +$x-a>0;$ +$\dfrac{x+a}{x-a}>0;$ +$y=(\dfrac{x+a}{x-a})^x;$ +$\ln y=x\ln(\dfrac{x+a}{x-a})=x\ln(1+\dfrac{2a}{x-a});$ + +$u=\dfrac{2a}{x-a};$ +$u\to0;$ +$\ln y=\dfrac{\ln(1+u)}{u}\cdot x\cdot\dfrac{2a}{x-a};$ +$\lim_{ x \to \infty }\ln y=1\cdot 2a=2a;$ +$\lim_{ x \to \infty }y=e^{2a};$ + +$\text{Ответ: }e^{2a}$ + +## 30 номер – Д 519 + +### Пример: + +$\lim_{ x \to 0 } (\dfrac{1+\tan x}{1+\sin x})^{ \frac{1}{\sin x} }$ + +### Решение: + +a) +$x=0;$ +$\dfrac{1+\tan x}{1+\sin x}=\dfrac{1+0}{1+0}=1;$ +$\text{Неопределённость }1^{\infty}$ + +$y=(\dfrac{1+\tan x}{1+\sin x})^{\frac{1}{\sin x}};$ +$\ln y=\dfrac{1}{\sin x}\ln(\dfrac{1+\tan x}{1+\sin x});$ + +$u=\dfrac{\tan x-\sin x}{1+\sin x};$ +$\dfrac{1+\tan x}{1+\sin x}=1+u;$ +$\ln y=\dfrac{\ln(1+u)}{u}\cdot\dfrac{u}{\sin x};$ + +$\lim_{ x \to 0 }\dfrac{\ln(1+u)}{u}=1;$ +$\dfrac{u}{\sin x}=\dfrac{\tan x-\sin x}{\sin x(1+\sin x)}=\dfrac{\frac{\sin x}{\cos x}-\sin x}{\sin x(1+\sin x)}=\dfrac{\frac{1}{\cos x}-1}{1+\sin x}=\dfrac{1-\cos x}{\cos x(1+\sin x)};$ +$\lim_{ x \to 0 }\dfrac{u}{\sin x}=0;$ +$\lim_{ x \to 0 }\ln y=1\cdot0=0;$ +$\lim_{ x \to 0 }y=e^{0}=1;$ + +$\text{Ответ: }1$ + +## 34 номер – Д 523 + +### Пример: + +$\lim_{ x \to \frac{\pi}{2} } (\sin x)^{ \tan x}$ + +### Решение: + +$x\to\dfrac{\pi}{2};$ +$\sin x\to1;$ +$\tan x\to\pm\infty;$ +$\text{Неопределённость }1^{\infty}$ + +$t=x-\dfrac{\pi}{2};$ +$t\to0;$ +$\sin x=\sin(\dfrac{\pi}{2}+t)=\cos t;$ +$\tan x=\tan(\dfrac{\pi}{2}+t)=-\cot t;$ + +$\cos t>0\text{ при }t\to0;$ +$y=(\cos t)^{-\cot t};$ +$\ln y=-\cot t\cdot\ln(\cos t);$ + +$u=\cos t-1;$ +$u\to0;$ +$\ln(\cos t)=\ln(1+u);$ +$\ln y=\dfrac{\ln(1+u)}{u}\cdot(-\cot t)\cdot(\cos t-1);$ + +$\lim_{ t \to 0 }\dfrac{\ln(1+u)}{u}=1;$ +$(-\cot t)(\cos t-1)=-\dfrac{\cos t}{\sin t}(\cos t-1)=\dfrac{(1-\cos t)\cos t}{\sin t}=\dfrac{2\sin^2(\frac{t}{2})\cos t}{2\sin(\frac{t}{2})\cos(\frac{t}{2})}=\sin(\frac{t}{2})\cdot\dfrac{\cos t}{\cos(\frac{t}{2})};$ +$\lim_{ t \to 0 }(-\cot t)(\cos t-1)=0;$ +$\lim_{ x \to \frac{\pi}{2} }\ln y=1\cdot0=0;$ +$\lim_{ x \to \frac{\pi}{2} }y=e^{0}=1;$ + +$\text{Ответ: }1$ + +## 38 номер – Д 527 + +### Пример: + +$\lim_{ n \to \infty } (\dfrac{n+1}{n-1})^{n}$ + +### Решение: + +$n\to\infty;$ +$\dfrac{n+1}{n-1}\to1;$ +$n\to\infty;$ +$\text{Вид }1^{\infty}$ + +$y=(\dfrac{n+1}{n-1})^{n}$ +$\ln y=n\ln(\dfrac{n+1}{n-1})=n\ln(1+\dfrac{2}{n-1})$ + +$t=\dfrac{2}{n-1};\ t\to0+$ +$n=\dfrac{2}{t}+1$ +$\ln y=(\dfrac{2}{t}+1)\ln(1+t)=\dfrac{2}{t}\ln(1+t)+\ln(1+t)$ + +$t>0;$ +$\dfrac{t}{1+t}\le\ln(1+t)\le t$ +$\dfrac{2}{1+t}\le\dfrac{2}{t}\ln(1+t)\le2$ + +$t\to0+;$ +$\dfrac{2}{1+t}\to2;\ 2\to2$ +$\lim\limits_{t\to0+}\dfrac{2}{t}\ln(1+t)=2$ +$\lim\limits_{t\to0+}\ln(1+t)=\ln1=0$ + +$\lim\limits_{n\to\infty}\ln y=2+0=2$ +$\lim\limits_{n\to\infty}y=e^{2}$ + +$\text{Ответ: }e^{2}$ + +## 42 номер – Д 531 + +### Пример: + +$\lim_{ x \to a } \dfrac {\ln x - \ln a}{x-a}; (a>0)$ + +### Решение: + +$x=a;$ +$\ln x-\ln a=0;$ +$x-a=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$a>0;$ +$x>0;$ +$\ln x-\ln a=\ln\dfrac{x}{a}=\ln(1+\dfrac{x-a}{a});$ + +$h=x-a;$ +$h\to0;$ +$y=\dfrac{\ln(1+\frac{h}{a})}{h};$ +$u=\dfrac{h}{a};$ +$u\to0;$ +$y=\dfrac{1}{a}\cdot\dfrac{\ln(1+u)}{u};$ + +$\lim_{ x \to a }y=\dfrac{1}{a}\cdot1=\dfrac{1}{a};$ + +$\text{Ответ: }\dfrac{1}{a}$ + +## 46 номер – Д 476 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\sin 5x - \sin 3x}{\sin x}$ + +### Решение: + +$x=0;$ +$\sin5x-\sin3x=0;$ +$\sin x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\sin5x-\sin3x=2\cos(\dfrac{5x+3x}{2})\sin(\dfrac{5x-3x}{2})=2\cos(4x)\sin x;$ +$x\neq0;$ +$\dfrac{\sin5x-\sin3x}{\sin x}=\dfrac{2\cos(4x)\sin x}{\sin x}=2\cos(4x);$ + +$\lim_{ x \to 0 }2\cos(4x)=2\cos0=2;$ + +$\text{Ответ: }2$ + +## 50 номер – Д 460 + +### Пример: + +$\lim_{ x \to 0+ } (\sqrt{ \dfrac{1}{x}+\sqrt{ \dfrac{1}{x}+\sqrt{ \dfrac{1}{x} } } }-\sqrt{ \dfrac{1}{x}-\sqrt{ \dfrac{1}{x}+\sqrt{ \dfrac{1}{x} } } })$ + +### Решение: + +$x\to0+;$ +$\dfrac{1}{x}\to+\infty;$ + +$t=\dfrac{1}{x};$ +$t\to+\infty;$ +$y=\sqrt{t+\sqrt{t+\sqrt t}}-\sqrt{t-\sqrt{t+\sqrt t}};$ + +$A=t+\sqrt{t+\sqrt t};$ +$B=t-\sqrt{t+\sqrt t};$ +$y=\sqrt A-\sqrt B=\dfrac{A-B}{\sqrt A+\sqrt B}=\dfrac{2\sqrt{t+\sqrt t}}{\sqrt{t+\sqrt{t+\sqrt t}}+\sqrt{t-\sqrt{t+\sqrt t}}};$ + +$\sqrt{t+\sqrt t}=\sqrt t\cdot\sqrt{1+\dfrac{1}{\sqrt t}};$ +$t\to+\infty;$ +$\sqrt{1+\dfrac{1}{\sqrt t}}\to1;$ +$\sqrt{t+\sqrt t}\sim\sqrt t;$ + +$\dfrac{\sqrt{t+\sqrt t}}{t}=\dfrac{1}{\sqrt t}\cdot\sqrt{1+\dfrac{1}{\sqrt t}}\to0;$ +$\sqrt{t\pm\sqrt{t+\sqrt t}}=\sqrt t\cdot\sqrt{1\pm\dfrac{\sqrt{t+\sqrt t}}{t}}\sim\sqrt t;$ + +$y\sim\dfrac{2\sqrt t}{\sqrt t+\sqrt t}=\dfrac{2\sqrt t}{2\sqrt t}=1;$ +$\lim_{ x \to 0+ }y=1;$ + +$\text{Ответ: }1$ + +## 53 номер – Д 496 + +### Пример: + +$\lim_{ x \to \frac{\pi}{3} } \dfrac{\tan ^{3}x-3\tan x}{\cos(x+ \dfrac{\pi}{6})}$ + +### Решение: + +$x=\dfrac{\pi}{3};$ +$\tan^3x-3\tan x=(\sqrt3)^3-3\sqrt3=0;$ +$\cos(x+\dfrac{\pi}{6})=\cos(\dfrac{\pi}{2})=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\tan^3x-3\tan x=\tan x(\tan^2x-3)=\tan x(\tan x-\sqrt3)(\tan x+\sqrt3);$ +$x\neq\dfrac{\pi}{3};$ +$\dfrac{\tan ^{3}x-3\tan x}{\cos(x+ \dfrac{\pi}{6})}=\dfrac{\tan x(\tan x-\sqrt3)(\tan x+\sqrt3)}{\cos(x+ \dfrac{\pi}{6})};$ + +$t=x-\dfrac{\pi}{3};\ t\to0;$ +$\cos(x+\dfrac{\pi}{6})=\cos(t+\dfrac{\pi}{2})=-\sin t;$ +$\tan x-\sqrt3=\tan x-\tan\dfrac{\pi}{3}=\dfrac{\sin(x-\dfrac{\pi}{3})}{\cos x\cos(\dfrac{\pi}{3})}=\dfrac{\sin t}{\cos x\cdot\dfrac12}=\dfrac{2\sin t}{\cos x};$ + +$x\neq\dfrac{\pi}{3};$ +$\dfrac{\tan x(\tan x-\sqrt3)(\tan x+\sqrt3)}{\cos(x+ \dfrac{\pi}{6})}=\dfrac{\tan x\cdot\dfrac{2\sin t}{\cos x}\cdot(\tan x+\sqrt3)}{-\sin t}=-2\cdot\dfrac{\tan x(\tan x+\sqrt3)}{\cos x};$ + +$\lim_{ x \to \frac{\pi}{3} }-2\cdot\dfrac{\tan x(\tan x+\sqrt3)}{\cos x}=-2\cdot\dfrac{\sqrt3\cdot2\sqrt3}{\dfrac12}=-24;$ + +$\text{Ответ: }-24$ + +## 54 номер – Д 498 + +### Пример: + +$\lim_{ x \to \frac{\pi}{4} } \dfrac{1-\cot ^{3}x}{2-\cot x-\cot ^{3}x}$ + +### Решение: + +$x=\dfrac{\pi}{4};$ +$1-\cot^3x=1-1=0;$ +$2-\cot x-\cot^3x=2-1-1=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$u=\cot x;\ u\to1;$ +$\dfrac{1-\cot ^{3}x}{2-\cot x-\cot ^{3}x}=\dfrac{1-u^3}{2-u-u^3};$ +$1-u^3=(1-u)(1+u+u^2);$ +$2-u-u^3=-(u^3+u-2)=-(u-1)(u^2+u+2)=(1-u)(u^2+u+2);$ + +$u\neq1;$ +$\dfrac{1-u^3}{2-u-u^3}=\dfrac{(1-u)(1+u+u^2)}{(1-u)(u^2+u+2)}=\dfrac{1+u+u^2}{u^2+u+2};$ + +$\lim_{ x \to \frac{\pi}{4} }\dfrac{1+u+u^2}{u^2+u+2}=\dfrac{1+1+1}{1+1+2}=\dfrac{3}{4};$ + +$\text{Ответ: }\dfrac{3}{4}$ + +## 57 номер – Д 501 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\sqrt{ \cos x }-\sqrt[ 3 ]{ \cos x }}{\sin ^{2}x}$ + +### Решение: + +$x=0;$ +$\sqrt{\cos x}-\sqrt[3]{\cos x}=1-1=0;$ +$\sin^2x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$u=\cos x-1;\ u\to0$ +$\sqrt{\cos x}=(1+u)^{\frac12};\ \sqrt[3]{\cos x}=(1+u)^{\frac13}$ + +$(1+u)^{\alpha}-1\sim \alpha u\ (u\to0)$ +$(1+u)^{\frac12}-1\sim\dfrac12u;\ (1+u)^{\frac13}-1\sim\dfrac13u$ + +$\sqrt{\cos x}-\sqrt[3]{\cos x}=\big((1+u)^{\frac12}-1\big)-\big((1+u)^{\frac13}-1\big)\sim(\dfrac12-\dfrac13)u=\dfrac16u=\dfrac16(\cos x-1)$ + +$\cos x-1\sim-\dfrac{x^2}{2};\ \sin x\sim x;\ \sin^2x\sim x^2$ + +$\dfrac{\sqrt{\cos x}-\sqrt[3]{\cos x}}{\sin^2x}\sim\dfrac{\dfrac16(\cos x-1)}{\sin^2x}\sim\dfrac{\dfrac16(-\dfrac{x^2}{2})}{x^2}=-\dfrac{1}{12}$ + +$\text{Ответ: }-\dfrac{1}{12}$ + +## 58 номер – Д 502 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\sqrt{ 1-\cos x^{2} }}{1-\cos x}$ + +### Решение: + +$x=0;$ +$\sqrt{1-\cos x^2}=\sqrt{0}=0;$ +$1-\cos x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$1-\cos(x^2)\sim\dfrac{(x^2)^2}{2}=\dfrac{x^4}{2};$ +$\sqrt{1-\cos x^2}\sim\sqrt{\dfrac{x^4}{2}}=\dfrac{x^2}{\sqrt2};$ +$1-\cos x\sim\dfrac{x^2}{2};$ + +$\lim_{ x \to 0 }\dfrac{\sqrt{ 1-\cos x^{2} }}{1-\cos x}=\lim_{ x \to 0 }\dfrac{\dfrac{x^2}{\sqrt2}}{\dfrac{x^2}{2}}=\dfrac{2}{\sqrt2}=\sqrt2;$ + +$\text{Ответ: }\sqrt2$ + +## 61 номер – Д 505 + +### Пример: + +$\lim_{ x \to +\infty }(\sin \sqrt{ x+1 }-\sin \sqrt{ x })$ + +### Решение: + +$\sin A-\sin B=2\cos(\dfrac{A+B}{2})\sin(\dfrac{A-B}{2});$ +$A=\sqrt{x+1},\ B=\sqrt{x};$ +$\sin \sqrt{ x+1 }-\sin \sqrt{ x }=2\cos(\dfrac{\sqrt{x+1}+\sqrt{x}}{2})\sin(\dfrac{\sqrt{x+1}-\sqrt{x}}{2});$ + +$\sqrt{x+1}-\sqrt{x}=\dfrac{(x+1)-x}{\sqrt{x+1}+\sqrt{x}}=\dfrac{1}{\sqrt{x+1}+\sqrt{x}};$ +$\dfrac{\sqrt{x+1}-\sqrt{x}}{2}=\dfrac{1}{2(\sqrt{x+1}+\sqrt{x})}\to0;$ +$|\cos(\dfrac{\sqrt{x+1}+\sqrt{x}}{2})|\le1;$ +$\sin(\dfrac{\sqrt{x+1}-\sqrt{x}}{2})\sim\dfrac{\sqrt{x+1}-\sqrt{x}}{2};$ + +$|\sin \sqrt{ x+1 }-\sin \sqrt{ x }|\le2\cdot|\sin(\dfrac{\sqrt{x+1}-\sqrt{x}}{2})|\sim2\cdot\dfrac{\sqrt{x+1}-\sqrt{x}}{2}=\dfrac{1}{\sqrt{x+1}+\sqrt{x}}\to0;$ +$\lim_{ x \to +\infty }(\sin \sqrt{ x+1 }-\sin \sqrt{ x })=0;$ + +$\text{Ответ: }0$ + +## 65 номер – Д 547 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{e^{\alpha x}-e^{\beta x}}{\sin \alpha x - \sin \beta x}$ + +### Решение: + +$x=0;$ +$e^{\alpha x}-e^{\beta x}=1-1=0;$ +$\sin\alpha x-\sin\beta x=0-0=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\alpha\neq\beta;$ +$e^{\alpha x}-e^{\beta x}=e^{\beta x}(e^{(\alpha-\beta)x}-1);$ +$\sin\alpha x-\sin\beta x=2\cos(\dfrac{(\alpha+\beta)x}{2})\sin(\dfrac{(\alpha-\beta)x}{2});$ + +$t=\dfrac{(\alpha-\beta)x}{2};\ t\to0;$ +$\dfrac{e^{\alpha x}-e^{\beta x}}{\sin \alpha x - \sin \beta x}=\dfrac{e^{\beta x}(e^{2t}-1)}{2\cos(\dfrac{(\alpha+\beta)x}{2})\sin t}=\dfrac{e^{\beta x}}{\cos(\dfrac{(\alpha+\beta)x}{2})}\cdot\dfrac{e^{2t}-1}{2t}\cdot\dfrac{t}{\sin t};$ + +$e^{\beta x}\to1;$ +$\cos(\dfrac{(\alpha+\beta)x}{2})\to1;$ +$\dfrac{e^{2t}-1}{2t}\to1;$ +$\dfrac{t}{\sin t}\to1;$ +$\lim_{ x \to 0 }\dfrac{e^{\alpha x}-e^{\beta x}}{\sin \alpha x - \sin \beta x}=1;$ + +$\text{Ответ: }1$ + +## 69 номер – Д 574 + +### Пример: + +$\lim_{ x \to 1 } (2-x)^{\sec \frac{\pi x}{2}}$ + +### Решение: + +$x\to1;$ +$2-x\to1;$ +$\sec\dfrac{\pi x}{2}=\dfrac{1}{\cos(\dfrac{\pi x}{2})}\to\infty;$ +$\text{Неопределённость }1^{\infty}$ + +$t=x-1;\ t\to0;$ +$y=(1-t)^{\sec(\dfrac{\pi}{2}+\dfrac{\pi t}{2})};$ +$\ln y=\sec(\dfrac{\pi}{2}+\dfrac{\pi t}{2})\ln(1-t);$ + +$\cos(\dfrac{\pi}{2}+\dfrac{\pi t}{2})=-\sin(\dfrac{\pi t}{2});$ +$\sec(\dfrac{\pi}{2}+\dfrac{\pi t}{2})=-\dfrac{1}{\sin(\dfrac{\pi t}{2})};$ +$\ln y=-\dfrac{\ln(1-t)}{\sin(\dfrac{\pi t}{2})}=(-\dfrac{\ln(1-t)}{t})\cdot\dfrac{t}{\sin(\dfrac{\pi t}{2})};$ + +$-\dfrac{\ln(1-t)}{t}\to1;$ +$\dfrac{t}{\sin(\dfrac{\pi t}{2})}=\dfrac{2}{\pi}\cdot\dfrac{\frac{\pi t}{2}}{\sin(\frac{\pi t}{2})}\to\dfrac{2}{\pi};$ +$\lim_{ x \to 1 }\ln y=\dfrac{2}{\pi};$ +$\lim_{ x \to 1 }y=e^{2/\pi};$ + +$\text{Ответ: }e^{2/\pi}$ + +## 73 номер – Д 577 + +### Пример: + +$\lim_{ x \to +\infty } \dfrac{sh\sqrt{ x^{2}+x }-sh\sqrt{ x^{2}-x }}{ch(x)}$ + +$ch(x)=\dfrac{1}{2}(e^{x}+e^{-x})$ +$sh(x)=\dfrac{1}{2}(e^{x}-e^{-x})$ +$th(x)=\dfrac{sh(x)}{ch(x)}$ + +### Решение: + +$x\to+\infty;$ +$sh\sqrt{x^2+x}-sh\sqrt{x^2-x}\to\infty;$ +$chx\to\infty;$ +$\text{Неопределённость } \frac{\infty}{\infty}$ + +$A=\sqrt{x^2+x};\ B=\sqrt{x^2-x};$ +$\dfrac{shA-shB}{chx}=\dfrac{\frac12(e^A-e^{-A})-\frac12(e^B-e^{-B})}{\frac12(e^x+e^{-x})}=\dfrac{e^A-e^B+e^{-B}-e^{-A}}{e^x+e^{-x}};$ + +$\dfrac{shA-shB}{chx}=\dfrac{e^{A-x}-e^{B-x}+e^{-(B+x)}-e^{-(A+x)}}{1+e^{-2x}};$ +$x\to+\infty;$ +$e^{-(B+x)}\to0;$ +$e^{-(A+x)}\to0;$ +$1+e^{-2x}\to1;$ +$\lim_{ x \to +\infty }\dfrac{shA-shB}{chx}=\lim_{ x \to +\infty }(e^{A-x}-e^{B-x});$ + +$A-x=\sqrt{x^2+x}-x=\dfrac{x}{\sqrt{x^2+x}+x}=\dfrac{1}{\sqrt{1+\frac{1}{x}}+1}\to\dfrac12;$ +$B-x=\sqrt{x^2-x}-x=\dfrac{-x}{\sqrt{x^2-x}+x}=-\dfrac{1}{\sqrt{1-\frac{1}{x}}+1}\to-\dfrac12;$ + +$e^{A-x}\to e^{1/2};$ +$e^{B-x}\to e^{-1/2};$ +$\lim_{ x \to +\infty }\dfrac{sh\sqrt{ x^{2}+x }-sh\sqrt{ x^{2}-x }}{ch(x)}=e^{1/2}-e^{-1/2}=2sh(\dfrac12);$ + +$\text{Ответ: }e^{1/2}-e^{-1/2}$ + +## 77 номер – Д 581 + +### Пример: + +$\lim_{ x \to \infty } \arcsin \dfrac{1-x}{1+x}$ + +### Решение: + +$\dfrac{1-x}{1+x}=-\dfrac{x-1}{x+1}=-(1-\dfrac{2}{x+1})=-1+\dfrac{2}{x+1};$ +$x\to\infty;$ +$\dfrac{1-x}{1+x}\to-1;$ +$\arcsin$ непрерывна на $[-1;1];$ +$\lim_{ x \to \infty }\arcsin \dfrac{1-x}{1+x}=\arcsin(-1)=-\dfrac{\pi}{2};$ + +$\text{Ответ: }-\dfrac{\pi}{2}$ + +## 80 номер – Д 584 + +### Пример: + +$\lim_{ x \to -\infty } \text{arccot} \dfrac{x}{\sqrt{ 1+x^{2} }}$ + +### Решение: + +$x\to-\infty;$ +$\sqrt{1+x^2}=|x|\sqrt{1+\dfrac{1}{x^2}}=-x\sqrt{1+\dfrac{1}{x^2}};$ +$\dfrac{x}{\sqrt{1+x^2}}=\dfrac{x}{-x\sqrt{1+\frac{1}{x^2}}}=-\dfrac{1}{\sqrt{1+\frac{1}{x^2}}}\to-1;$ + +$\text{arccot}$ берём со значениями в $(0;\pi);$ +$\lim_{ x \to -\infty }\text{arccot}\dfrac{x}{\sqrt{ 1+x^{2} }}=\text{arccot}(-1)=\dfrac{3\pi}{4};$ + +$\text{Ответ: }\dfrac{3\pi}{4}$ + +## 81 номер – Д 585 + +### Пример: + +$\lim_{ h \to 0 } \dfrac{\text{arccot}(x+h)-\text{arccot}x}{h}$ + +### Решение: + +$x=\text{const};$ +$\text{arccot}\,t=\dfrac{\pi}{2}-\arctan t;$ +$\dfrac{\text{arccot}(x+h)-\text{arccot}x}{h}=\dfrac{(\dfrac{\pi}{2}-\arctan(x+h))-(\dfrac{\pi}{2}-\arctan x)}{h}=-\dfrac{\arctan(x+h)-\arctan x}{h};$ + +$y=\arctan(x+h),\ z=\arctan x;$ +$\tan(y-z)=\dfrac{\tan y-\tan z}{1+\tan y\tan z}=\dfrac{(x+h)-x}{1+x(x+h)}=\dfrac{h}{1+x^{2}+xh};$ +$y-z=\arctan(\dfrac{h}{1+x^{2}+xh});$ + +$u=\dfrac{h}{1+x^{2}+xh};\ u\to0;$ +$\dfrac{\arctan(x+h)-\arctan x}{h}=\dfrac{\arctan u}{u}\cdot\dfrac{u}{h};$ + +$t=\arctan u;\ u=\tan t;$ +$\dfrac{\arctan u}{u}=\dfrac{t}{\tan t}=\dfrac{t}{\sin t}\cdot\cos t\to1;$ +$\dfrac{u}{h}=\dfrac{1}{1+x^{2}+xh}\to\dfrac{1}{1+x^{2}};$ +$\lim_{ h \to 0 }\dfrac{\arctan(x+h)-\arctan x}{h}=\dfrac{1}{1+x^{2}};$ +$\lim_{ h \to 0 }\dfrac{\text{arccot}(x+h)-\text{arccot}x}{h}=-\dfrac{1}{1+x^{2}};$ + +$\text{Ответ: }-\dfrac{1}{1+x^{2}}$ + +## 84 номер – Д 590 + +### Пример: + +$\lim_{ n \to \infty }[1+\dfrac{(-1)^{n}}{n}]^{\text{cosec}(\pi \sqrt{ 1+n^{2} })}$ + +### Решение: + +$a_n=(1+\dfrac{(-1)^n}{n})^{\text{cosec}(\pi\sqrt{1+n^2})};$ +$n\ge2;$ +$1+\dfrac{(-1)^n}{n}>0;$ +$\sin(\pi\sqrt{1+n^2})\neq0;$ +$\text{Неопределённость }1^{\infty}$ + +$\ln a_n=\text{cosec}(\pi\sqrt{1+n^2})\cdot\ln(1+\dfrac{(-1)^n}{n});$ + +$\delta_n=\sqrt{1+n^2}-n=\dfrac{(1+n^2)-n^2}{\sqrt{1+n^2}+n}=\dfrac{1}{\sqrt{1+n^2}+n}\sim\dfrac{1}{2n};$ +$\sin(\pi\sqrt{1+n^2})=\sin(\pi(n+\delta_n))=\sin(\pi n+\pi\delta_n)=(-1)^n\sin(\pi\delta_n);$ +$\sin(\pi\delta_n)\sim\pi\delta_n;$ +$\sin(\pi\sqrt{1+n^2})\sim(-1)^n\pi\cdot\dfrac{1}{2n}=(-1)^n\dfrac{\pi}{2n};$ +$\text{cosec}(\pi\sqrt{1+n^2})=\dfrac{1}{\sin(\pi\sqrt{1+n^2})}\sim(-1)^n\dfrac{2n}{\pi};$ + +$\ln(1+\dfrac{(-1)^n}{n})\sim\dfrac{(-1)^n}{n};$ +$\ln a_n\sim((-1)^n\dfrac{2n}{\pi})\cdot(\dfrac{(-1)^n}{n})=\dfrac{2}{\pi};$ +$\lim_{n\to\infty}\ln a_n=\dfrac{2}{\pi};$ +$\lim_{n\to\infty}a_n=e^{2/\pi};$ + +$\text{Ответ: }e^{2/\pi}$ + +## 85 номер – Д 591 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{1}{x^{100}}e^{-\frac{1}{x^{2}}}$ + +### Решение: + +$x\neq0;$ +$\dfrac{1}{x^{100}}e^{-1/x^{2}}=\dfrac{1}{(x^2)^{50}}e^{-1/x^{2}};$ +$t=\dfrac{1}{x^2};\ t\to+\infty;$ +$\dfrac{1}{(x^2)^{50}}e^{-1/x^{2}}=t^{50}e^{-t};$ + +$e^{t}=1+t+\dfrac{t^2}{2!}+\dots+\dfrac{t^{51}}{51!}+\dots\ge\dfrac{t^{51}}{51!};\ (t>0);$ +$e^{-t}\le\dfrac{51!}{t^{51}};$ +$0\le t^{50}e^{-t}\le t^{50}\cdot\dfrac{51!}{t^{51}}=\dfrac{51!}{t}\to0;$ +$\lim_{ x \to 0 }\dfrac{1}{x^{100}}e^{-1/x^{2}}=0;$ + +$\text{Ответ: }0$ + +## 88 номер – Д 593Б + +### Пример: + +$\lim_{ x \to +\infty } (\sqrt{ x^{2}+x }-x)$ + +### Решение: + +$\sqrt{x^2+x}-x=\dfrac{(\sqrt{x^2+x}-x)(\sqrt{x^2+x}+x)}{\sqrt{x^2+x}+x}=\dfrac{x^2+x-x^2}{\sqrt{x^2+x}+x}=\dfrac{x}{\sqrt{x^2+x}+x};$ +$x>0;$ +$\dfrac{x}{\sqrt{x^2+x}+x}=\dfrac{x}{x\sqrt{1+\frac{1}{x}}+x}=\dfrac{1}{\sqrt{1+\frac{1}{x}}+1};$ +$x\to+\infty;$ +$\dfrac{1}{\sqrt{1+\frac{1}{x}}+1}\to\dfrac{1}{1+1}=\dfrac{1}{2};$ + +$\text{Ответ: }\dfrac{1}{2}$ + +## 89 номер – Д 594А + +### Пример: + +$\lim_{ x \to -\infty }(\sqrt{ 1+x+x^{2} }-\sqrt{ 1-x+x^{2} })$ + +### Решение: + +$\sqrt{x^2+x+1}-\sqrt{x^2-x+1}=\dfrac{(x^2+x+1)-(x^2-x+1)}{\sqrt{x^2+x+1}+\sqrt{x^2-x+1}}=\dfrac{2x}{\sqrt{x^2+x+1}+\sqrt{x^2-x+1}};$ +$x\to-\infty;$ +$\sqrt{x^2+x+1}=|x|\sqrt{1+\dfrac{1}{x}+\dfrac{1}{x^2}}=-x\sqrt{1+\dfrac{1}{x}+\dfrac{1}{x^2}};$ +$\sqrt{x^2-x+1}=|x|\sqrt{1-\dfrac{1}{x}+\dfrac{1}{x^2}}=-x\sqrt{1-\dfrac{1}{x}+\dfrac{1}{x^2}};$ + +$\dfrac{2x}{\sqrt{x^2+x+1}+\sqrt{x^2-x+1}}=\dfrac{2x}{-x(\sqrt{1+\dfrac{1}{x}+\dfrac{1}{x^2}}+\sqrt{1-\dfrac{1}{x}+\dfrac{1}{x^2}})}=-\dfrac{2}{\sqrt{1+\dfrac{1}{x}+\dfrac{1}{x^2}}+\sqrt{1-\dfrac{1}{x}+\dfrac{1}{x^2}}};$ +$x\to-\infty;$ +$-\dfrac{2}{1+1}=-1;$ + +$\text{Ответ: }-1$ + +## 92 номер – Д 1319 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{ch(x)-\cos x}{x^{2}}$ + +### Решение: + +$x=0;$ +$ch(x)-\cos x=1-1=0;$ +$x^2=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{ch(x)-\cos x}{x^{2}}=\lim_{ x \to 0 }\dfrac{(ch(x)-\cos x)'}{(x^{2})'}=\lim_{ x \to 0 }\dfrac{sh(x)+\sin x}{2x};$ +$x=0;$ +$sh(x)+\sin x=0+0=0;$ +$2x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{sh(x)+\sin x}{2x}=\lim_{ x \to 0 }\dfrac{(sh(x)+\sin x)'}{(2x)'}=\lim_{ x \to 0 }\dfrac{ch(x)+\cos x}{2}=\dfrac{1+1}{2}=1;$ + +$\text{Ответ: }1$ + +## 96 номер – Д 1323 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{x \cot x -1}{x^{2}}$ + +### Решение: + +$x=0;$ +$x\cot x-1=0;$ +$x^2=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$x\neq0;$ +$x\cot x-1=x\dfrac{\cos x}{\sin x}-1=\dfrac{x\cos x-\sin x}{\sin x};$ +$\dfrac{x\cot x-1}{x^2}=\dfrac{x\cos x-\sin x}{x^2\sin x};$ + +$\lim_{ x \to 0 }\dfrac{x\cos x-\sin x}{x^2\sin x}=\lim_{ x \to 0 }\dfrac{(x\cos x-\sin x)'}{(x^2\sin x)'}=\lim_{ x \to 0 }\dfrac{-x\sin x}{2x\sin x+x^2\cos x};$ +$x\neq0;$ +$\dfrac{-x\sin x}{2x\sin x+x^2\cos x}=\dfrac{-\sin x}{2\sin x+x\cos x};$ +$x=0;$ +$-\sin x=0;$ +$2\sin x+x\cos x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{-\sin x}{2\sin x+x\cos x}=\lim_{ x \to 0 }\dfrac{(-\sin x)'}{(2\sin x+x\cos x)'}=\lim_{ x \to 0 }\dfrac{-\cos x}{2\cos x+\cos x-x\sin x}=\dfrac{-1}{3}=-\dfrac{1}{3};$ + +$\text{Ответ: }-\dfrac{1}{3}$ + +## 100 номер – Д 1327 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\arcsin 2x -2\arcsin x}{x^{3}}$ + +### Решение: + +$x=0;$ +$\arcsin2x-2\arcsin x=0;$ +$x^3=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{\arcsin 2x -2\arcsin x}{x^{3}}=\lim_{ x \to 0 }\dfrac{(\arcsin 2x -2\arcsin x)'}{(x^{3})'}=\lim_{ x \to 0 }\dfrac{\dfrac{2}{\sqrt{1-4x^2}}-\dfrac{2}{\sqrt{1-x^2}}}{3x^2};$ +$x=0;$ +$\dfrac{2}{\sqrt{1-4x^2}}-\dfrac{2}{\sqrt{1-x^2}}=0;$ +$3x^2=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{\dfrac{2}{\sqrt{1-4x^2}}-\dfrac{2}{\sqrt{1-x^2}}}{3x^2}=\lim_{ x \to 0 }\dfrac{(\dfrac{2}{\sqrt{1-4x^2}}-\dfrac{2}{\sqrt{1-x^2}})'}{(3x^2)'}=\lim_{ x \to 0 }\dfrac{\dfrac{8x}{(1-4x^2)^{3/2}}-\dfrac{2x}{(1-x^2)^{3/2}}}{6x};$ +$x=0;$ +$\dfrac{8x}{(1-4x^2)^{3/2}}-\dfrac{2x}{(1-x^2)^{3/2}}=0;$ +$6x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{\dfrac{8x}{(1-4x^2)^{3/2}}-\dfrac{2x}{(1-x^2)^{3/2}}}{6x}=\lim_{ x \to 0 }\dfrac{(\dfrac{8x}{(1-4x^2)^{3/2}}-\dfrac{2x}{(1-x^2)^{3/2}})'}{(6x)'}=$ +$=\lim_{ x \to 0 }\dfrac{\dfrac{96x^2}{(1-4x^2)^{5/2}}-\dfrac{6x^2}{(1-x^2)^{5/2}}+\dfrac{8}{(1-4x^2)^{3/2}}-\dfrac{2}{(1-x^2)^{3/2}}}{6}=\dfrac{8-2}{6}=1;$ + +$\text{Ответ: }1$ + +## 104 номер – Д 1331 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{\ln(\sin ax)}{\ln(\sin bx)}$ + +### Решение: + +$x\to0+;$ +$\ln(\sin ax)\to-\infty;$ +$\ln(\sin bx)\to-\infty;$ +$\text{Неопределённость }\dfrac{-\infty}{-\infty}$ + +$L=\lim\limits_{x\to0+}\dfrac{\ln(\sin ax)}{\ln(\sin bx)}$ +$L=\lim\limits_{x\to0+}\dfrac{\big(\ln(\sin ax)\big)'}{\big(\ln(\sin bx)\big)'}=\lim\limits_{x\to0+}\dfrac{a\cot(ax)}{b\cot(bx)}=\dfrac{a}{b}\lim\limits_{x\to0+}\dfrac{\cot(ax)}{\cot(bx)}$ + +$\cot t=\dfrac{\cos t}{\sin t}$ +$\dfrac{\cot(ax)}{\cot(bx)}=\dfrac{\cos(ax)\sin(bx)}{\sin(ax)\cos(bx)}$ + +$\cos(ax)\sin(bx)\to1\cdot0=0;$ +$\sin(ax)\cos(bx)\to0\cdot1=0;$ +$\text{Неопределённость }\dfrac{0}{0}$ + +$\lim\limits_{x\to0+}\dfrac{\cos(ax)\sin(bx)}{\sin(ax)\cos(bx)}=\lim\limits_{x\to0+}\dfrac{\big(\cos(ax)\sin(bx)\big)'}{\big(\sin(ax)\cos(bx)\big)'}$ + +$\big(\cos(ax)\sin(bx)\big)'=-a\sin(ax)\sin(bx)+b\cos(ax)\cos(bx)$ +$\big(\sin(ax)\cos(bx)\big)'=a\cos(ax)\cos(bx)-b\sin(ax)\sin(bx)$ + +$\lim\limits_{x\to0+}\dfrac{-a\sin(ax)\sin(bx)+b\cos(ax)\cos(bx)}{a\cos(ax)\cos(bx)-b\sin(ax)\sin(bx)}=\dfrac{b}{a}$ + +$L=\dfrac{a}{b}\cdot\dfrac{b}{a}=1$ + +$\text{Ответ: }1$ + +## 108 номер – Д 1335 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{Arsh(sh(x))-Arsh(\sin x)}{sh(x) - \sin x}$ + +$Arsh(x)=\ln(x+\sqrt{ 1+x^{2} })$ + +### Решение: + +$x=0;$ +$Arsh(shx)-Arsh(\sin x)=0;$ +$shx-\sin x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{Arsh(shx)-Arsh(\sin x)}{shx-\sin x}=\lim_{ x \to 0 }\dfrac{(Arsh(shx)-Arsh(\sin x))'}{(shx-\sin x)'}=$ +$=\lim_{ x \to 0 }\dfrac{\dfrac{chx}{\sqrt{1+sh^2x}}-\dfrac{\cos x}{\sqrt{1+\sin^2x}}}{chx-\cos x};$ +$x=0;$ +$\dfrac{chx}{\sqrt{1+sh^2x}}-\dfrac{\cos x}{\sqrt{1+\sin^2x}}=0;$ +$chx-\cos x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$1+sh^2x=ch^2x;$ +$\sqrt{1+sh^2x}=chx;$ +$\lim_{ x \to 0 }\dfrac{\dfrac{chx}{\sqrt{1+sh^2x}}-\dfrac{\cos x}{\sqrt{1+\sin^2x}}}{chx-\cos x}=\lim_{ x \to 0 }\dfrac{1-\dfrac{\cos x}{\sqrt{1+\sin^2x}}}{chx-\cos x};$ + +$\lim_{ x \to 0 }\dfrac{1-\dfrac{\cos x}{\sqrt{1+\sin^2x}}}{chx-\cos x}=\lim_{ x \to 0 }\dfrac{(1-\dfrac{\cos x}{\sqrt{1+\sin^2x}})'}{(chx-\cos x)'}=$ +$=\lim_{ x \to 0 }\dfrac{\dfrac{2\sin x}{(1+\sin^2x)^{3/2}}}{shx+\sin x};$ +$x=0;$ +$\dfrac{2\sin x}{(1+\sin^2x)^{3/2}}=0;$ +$shx+\sin x=0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$\lim_{ x \to 0 }\dfrac{\dfrac{2\sin x}{(1+\sin^2x)^{3/2}}}{shx+\sin x}=\lim_{ x \to 0 }\dfrac{(\dfrac{2\sin x}{(1+\sin^2x)^{3/2}})'}{(shx+\sin x)'}=$ +$=\lim_{ x \to 0 }\dfrac{\dfrac{2\cos x\cos2x}{(1+\sin^2x)^{5/2}}}{chx+\cos x}=\dfrac{2}{2}=1;$ + +$\text{Ответ: }1$ + +## 111 номер – Д 1338 + +### Пример: + +$\lim_{ x \to 0 } \dfrac{e^{- \frac{1}{x^{2}}}}{x^{100}}$ + +### Решение: + +$x\to0;$ +$e^{-1/x^2}\to0;$ +$x^{100}\to0;$ +$\text{Неопределённость } \frac{0}{0}$ + +$x\neq0;$ +$t=\dfrac{1}{x^2};$ +$t\to+\infty;$ +$\dfrac{e^{-1/x^2}}{x^{100}}=\dfrac{e^{-t}}{(1/t)^{50}}=\dfrac{t^{50}}{e^{t}};$ +$\text{Неопределённость } \frac{\infty}{\infty}$ + +$\lim_{ t \to +\infty }\dfrac{t^{50}}{e^{t}}=\lim_{ t \to +\infty }\dfrac{(t^{50})'}{(e^{t})'}=\lim_{ t \to +\infty }\dfrac{50t^{49}}{e^{t}}=\dots=\lim_{ t \to +\infty }\dfrac{50!}{e^{t}}=0;$ +$\lim_{ x \to 0 }\dfrac{e^{- \frac{1}{x^{2}}}}{x^{100}}=0;$ + +$\text{Ответ: }0$ + +## 112 номер – Д 1339 + +### Пример: + +$\lim_{ x \to +\infty } x^{2}e^{-0,01x}$ + +### Решение: + +$x\to+\infty;$ +$x^{2}e^{-0,01x}=\dfrac{x^2}{e^{0,01x}};$ +$\dfrac{x^2}{e^{0,01x}}=\dfrac{\infty}{\infty};$ + +$\lim_{ x \to +\infty }\dfrac{x^2}{e^{0,01x}}=\lim_{ x \to +\infty }\dfrac{(x^2)'}{(e^{0,01x})'}=\lim_{ x \to +\infty }\dfrac{2x}{0,01e^{0,01x}}=\dfrac{\infty}{\infty};$ +$\lim_{ x \to +\infty }\dfrac{2x}{0,01e^{0,01x}}=\lim_{ x \to +\infty }\dfrac{(2x)'}{(0,01e^{0,01x})'}=\lim_{ x \to +\infty }\dfrac{2}{0,0001e^{0,01x}}=0;$ + +$\text{Ответ: }0$ + +## 115 номер – Д 1342 + +### Пример: + +$\lim_{ x \to +0 }x^{x}$ + +### Решение: + +$x\to0+;$ +$x^{x}=0^{0};$ +$\text{Неопределённость }0^{0}$ + +$y=x^x;$ +$\ln y=x\ln x=\dfrac{\ln x}{1/x};$ +$\dfrac{\ln x}{1/x}=\dfrac{-\infty}{\infty};$ +$\lim_{ x \to 0+ }\ln y=\lim_{ x \to 0+ }\dfrac{(\ln x)'}{(1/x)'}=\lim_{ x \to 0+ }\dfrac{1/x}{-1/x^2}=\lim_{ x \to 0+ }(-x)=0;$ +$\lim_{ x \to 0+ }y=e^{0}=1;$ + +$\text{Ответ: }1$ + +## 116 номер – Д 1343 + +### Пример: + +$\lim_{ x \to 0 }x^{x^{x}-1}$ + +### Решение: + +$x\to0+;$ +$x^{x^{x}-1}=0^{0};$ +$\text{Неопределённость }0^{0}$ + +$y=x^{x^{x}-1};$ +$\ln y=(x^x-1)\ln x=\dfrac{x^x-1}{1/\ln x};$ +$\dfrac{x^x-1}{1/\ln x}=\dfrac{0}{0};$ + +$(x^x)'=x^x(\ln x+1);$ +$\lim_{ x \to 0+ }\ln y=\lim_{ x \to 0+ }\dfrac{(x^x-1)'}{(1/\ln x)'}=\lim_{ x \to 0+ }\dfrac{x^x(\ln x+1)}{-1/(x(\ln x)^2)}=\lim_{ x \to 0+ }(-x^{x+1}(\ln x+1)(\ln x)^2);$ + +$\lim_{ x \to 0+ }x^x=1;$ +$\lim_{ x \to 0+ }x^{x+1}=\lim_{ x \to 0+ }x\cdot x^x=0;$ + +$\lim_{ x \to 0+ }x(\ln x)^2=\lim_{ x \to 0+ }\dfrac{(\ln x)^2}{1/x}=\dfrac{\infty}{\infty};$ +$\lim_{ x \to 0+ }\dfrac{(\ln x)^2}{1/x}=\lim_{ x \to 0+ }\dfrac{(2\ln x\cdot\frac{1}{x})}{(-1/x^2)}=\lim_{ x \to 0+ }(-2x\ln x);$ +$\lim_{ x \to 0+ }x\ln x=\lim_{ x \to 0+ }\dfrac{\ln x}{1/x}=\dfrac{-\infty}{\infty};$ +$\lim_{ x \to 0+ }\dfrac{\ln x}{1/x}=\lim_{ x \to 0+ }\dfrac{1/x}{-1/x^2}=\lim_{ x \to 0+ }(-x)=0;$ +$\lim_{ x \to 0+ }x(\ln x)^2=0;$ + +$\lim_{ x \to 0+ }x(\ln x)^3=\lim_{ x \to 0+ }\dfrac{(\ln x)^3}{1/x}=\dfrac{-\infty}{\infty};$ +$\lim_{ x \to 0+ }\dfrac{(\ln x)^3}{1/x}=\lim_{ x \to 0+ }\dfrac{(3(\ln x)^2\cdot\frac{1}{x})}{(-1/x^2)}=\lim_{ x \to 0+ }(-3x(\ln x)^2)=0;$ + +$\lim_{ x \to 0+ }x(\ln x+1)(\ln x)^2=\lim_{ x \to 0+ }(x(\ln x)^3+x(\ln x)^2)=0;$ +$\lim_{ x \to 0+ }\ln y=\lim_{ x \to 0+ }(-x^x)\cdot\lim_{ x \to 0+ }x(\ln x+1)(\ln x)^2= -1\cdot0=0;$ +$\lim_{ x \to 0+ }y=e^{0}=1;$ + +$\text{Ответ: }1$ + +## 119 номер – Д 1348 + +### Пример: + +$\lim_{ x \to \frac{\pi}{4} }(\tan x)^{\tan 2x}$ + +### Решение: + +$x\to\dfrac{\pi}{4};$ +$\tan x\to1;$ +$\tan2x\to\pm\infty;$ +$\text{Неопределённость }1^{\infty}$ + +$y=(\tan x)^{\tan2x};$ +$\ln y=\tan2x\cdot\ln(\tan x)=\dfrac{\ln(\tan x)}{\cot2x};$ +$\dfrac{\ln(\tan x)}{\cot2x}=\dfrac{0}{0};$ + +$\lim_{ x \to \frac{\pi}{4} }\ln y=\lim_{ x \to \frac{\pi}{4} }\dfrac{(\ln(\tan x))'}{(\cot2x)'}=\lim_{ x \to \frac{\pi}{4} }\dfrac{\dfrac{\sec^2x}{\tan x}}{-2\csc^2(2x)}=\lim_{ x \to \frac{\pi}{4} }(-\dfrac{\sin^2(2x)}{2\sin x\cos x});$ +$\sin^2(2x)=4\sin^2x\cos^2x;$ +$-\dfrac{\sin^2(2x)}{2\sin x\cos x}=-2\sin x\cos x=-\sin2x;$ +$\lim_{ x \to \frac{\pi}{4} }\ln y=-\sin\dfrac{\pi}{2}=-1;$ +$\lim_{ x \to \frac{\pi}{4} }y=e^{-1};$ + +$\text{Ответ: }e^{-1}$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/6 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/6 MODULE.md new file mode 100644 index 0000000..f652902 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/6 MODULE.md @@ -0,0 +1,794 @@ +## 3 номер - Д 847 +#учеба #семестр_1 #высшая_математика + + +### Пример: + +$y= \dfrac{x}{(1-x)^{2}(1+x)^{3}}$ +$y'=?$ + +### Решение: + +$\dfrac{x}{(1-x)^{2}(1+x)^{3}}$ + +$y= \dfrac{u}{v}; y'= \dfrac{u'v-uv'}{v^{2}};$ +$u=x; v=(1-x)^{2}(1+x)^{3}$ + +$u'=1;$ +$v=ab; v'= a'b+b'a; a=(1-x)^{2}; b=(1+x)^{3};$ +$a'=-2(1-x);$ +$b'=3(1+x)^{2}$ + +$v'=(−2(1−x))(1+x)^{3}+(1−x)^{2}3(1+x)^{2}$ + +$y'=\dfrac{(1-x)^{2}(1+x)^{3}-x[(-2(1-x))(1+x)^{3}+(1-x)^{2}3(1+x)^{2}]}{(1-x)^{4}(1+x)^{6}}=\dfrac{4x^{2}-x+1}{(1-x)^{3}(1+x)^{4}}$ + +## 7 номер - Д 851 + +### Пример: + +$y=x+\sqrt{ x }+\sqrt[ 3 ]{ x }$ +$y'=?$ + +### Решение: + +$y=x+x^{\frac{1}{2}}+x^{\frac{1}{3}}$ + +$(x)'=1;$ +$(x^{\frac{1}{2}})'=\dfrac{1}{2}x^{-\frac{1}{2}};$ +$(x^{\frac{1}{3}})'=\dfrac{1}{3}x^{-\frac{2}{3}};$ + +$y'=1+\dfrac{1}{2}x^{-\frac{1}{2}}+\dfrac{1}{3}x^{-\frac{2}{3}}=1+\dfrac{1}{2\sqrt{x}}+\dfrac{1}{3\sqrt[3]{x^{2}}}$ + +## 11 номер - Д 855 + +### Пример: + +$y=(1+x)\sqrt{ 2+x^{3} }\sqrt[ 3 ]{ 3+x^{3} }$ +$y'=?$ + +### Решение: + +$(1+x)\sqrt{2+x^3}\sqrt[3]{3+x^3}$ + +$y=abc; y'=a'bc+ab'c+abc';$ +$a=1+x;\ b=\sqrt{2+x^3};\ c=\sqrt[3]{3+x^3}$ + +$a'=1;$ +$b=(2+x^3)^{\frac{1}{2}};\ b'=\dfrac{1}{2}(2+x^3)^{-\frac{1}{2}}(3x^2)=\dfrac{3x^2}{2\sqrt{2+x^3}};$ +$c=(3+x^3)^{\frac{1}{3}};\ c'=\dfrac{1}{3}(3+x^3)^{-\frac{2}{3}}(3x^2)=\dfrac{x^2}{\sqrt[3]{(3+x^3)^2}};$ + +$y'=\sqrt{2+x^3}\sqrt[3]{3+x^3}+(1+x)\dfrac{3x^2}{2\sqrt{2+x^3}}\sqrt[3]{3+x^3}+(1+x)\sqrt{2+x^3}\cdot\dfrac{x^2}{\sqrt[3]{(3+x^3)^2}}$ + +## 15 номер - Д 859 + +### Пример: + +$y=\dfrac{1}{\sqrt{ 1+x^{2} }(x+\sqrt{ 1+x^{2} })}$ +$y'=?$ + +### Решение: + +$\dfrac{1}{\sqrt{1+x^2}(x+\sqrt{1+x^2})}$ + +$y=\dfrac{u}{v};\ y'=\dfrac{u'v-uv'}{v^2};$ +$u=1;\ v=\sqrt{1+x^2}(x+\sqrt{1+x^2})$ + +$u'=0;$ +$v=ab;\ v'=a'b+b'a;$ +$a=\sqrt{1+x^2};\ b=x+\sqrt{1+x^2}$ + +$a=(1+x^2)^{\frac{1}{2}};\ a'=\dfrac{1}{2}(1+x^2)^{-\frac{1}{2}}2x=\dfrac{x}{\sqrt{1+x^2}};$ +$b'=1+a'=1+\dfrac{x}{\sqrt{1+x^2}};$ + +$v'=\dfrac{x}{\sqrt{1+x^2}}(x+\sqrt{1+x^2})+\sqrt{1+x^2}(1+\dfrac{x}{\sqrt{1+x^2}})=\dfrac{(x+\sqrt{1+x^2})^2}{\sqrt{1+x^2}}$ + +$y'=-\dfrac{\dfrac{(x+\sqrt{1+x^2})^2}{\sqrt{1+x^2}}}{(\sqrt{1+x^2}(x+\sqrt{1+x^2}))^2}=-\dfrac{1}{(1+x^2)^{\frac{3}{2}}}$ + +## 19 номер - Д 863 + +### Пример: + +$y=(2-x^{2})\cos x + 2x \sin x$ +$y'=?$ + +### Решение: + +$(2-x^2)\cos x+2x\sin x$ + +$y=u+v;\ y'=u'+v';$ +$u=(2-x^2)\cos x;\ v=2x\sin x$ + +$u=ab;\ u'=a'b+b'a;$ +$a=2-x^2;\ b=\cos x;$ +$a'=-2x;$ +$b'=-\sin x;$ +$u'=(-2x)\cos x+(2-x^2)(-\sin x)=-2x\cos x-(2-x^2)\sin x;$ + +$v=ab;\ v'=a'b+b'a;$ +$a=2x;\ b=\sin x;$ +$a'=2;$ +$b'=\cos x;$ +$v'=2\sin x+2x\cos x;$ + +$y'=(-2x\cos x-(2-x^2)\sin x)+(2\sin x+2x\cos x)=x^2\sin x$ + +## 22 номер - Д 866 + +### Пример: + +$y=\sin[\sin(\sin x)]$ +$y'=?$ + +### Решение: + +$\sin[\sin(\sin x)]$ + +$y=\sin u;\ y'=\cos u\cdot u';$ +$u=\sin(\sin x)$ + +$u=\sin v;\ u'=\cos v\cdot v';$ +$v=\sin x$ + +$v'=\cos x;$ +$u'=\cos(\sin x)\cos x;$ +$y'=\cos(\sin(\sin x))\cos(\sin x)\cos x$ + +## 23 номер - Д 867 + +### Пример: + +$y=\dfrac{\sin ^{2}x}{\sin x^{2}}$ +$y'=?$ + +### Решение: + +$\dfrac{\sin^2x}{\sin x^2}$ + +$y=\dfrac{u}{v};\ y'=\dfrac{u'v-uv'}{v^{2}};$ +$u=\sin^2x;\ v=\sin x^2$ + +$u=(\sin x)^2;\ u'=2\sin x\cos x;$ +$v=\sin(x^2);\ v'=\cos(x^2)\cdot2x=2x\cos(x^2);$ + +$y'=\dfrac{(2\sin x\cos x)\sin(x^2)-\sin^2x\cdot(2x\cos(x^2))}{\sin^2(x^2)}$ + +## 26 номер - Д 880 + +### Пример: + +$y=e^{x}(1+\cot \dfrac{x}{2})$ +$y'=?$ + +### Решение: + +$e^x(1+\cot\frac{x}{2})$ + +$y=ab;\ y'=a'b+b'a;$ +$a=e^x;\ b=1+\cot\frac{x}{2}$ + +$a'=e^x;$ +$b'=0+(\cot\frac{x}{2})';$ +$(\cot u)'=-\dfrac{1}{\sin^2u}\cdot u';$ +$u=\dfrac{x}{2};\ u'=\dfrac{1}{2};$ +$(\cot\frac{x}{2})'=-\dfrac{1}{\sin^2(\frac{x}{2})}\cdot\dfrac{1}{2}=-\dfrac{1}{2\sin^2(\frac{x}{2})};$ + +$y'=e^x(1+\cot\frac{x}{2})+e^x(-\dfrac{1}{2\sin^2(\frac{x}{2})})=e^x(1+\cot\frac{x}{2}-\dfrac{1}{2\sin^2(\frac{x}{2})})$ + +## 27 номер - Д 881 + +### Пример: + +$y=\dfrac{\ln3\cdot \sin x + \cos x}{3^{x}}$ +$y'=?$ + +### Решение: + +$\dfrac{\ln3\sin x+\cos x}{3^x}$ + +$y=\dfrac{u}{v};\ y'=\dfrac{u'v-uv'}{v^2};$ +$u=\ln3\sin x+\cos x;\ v=3^x$ + +$u'=\ln3\cos x-\sin x;$ +$v'=3^x\ln3;$ + +$y'=\dfrac{(\ln3\cos x-\sin x)3^x-(\ln3\sin x+\cos x)3^x\ln3}{(3^x)^2}$ +$y'=\dfrac{\ln3\cos x-\sin x-(\ln3\sin x+\cos x)\ln3}{3^x}$ +$y'=\dfrac{-\sin x-(\ln3)^2\sin x}{3^x}=-\dfrac{(1+(\ln3)^2)\sin x}{3^x}$ + +## 30 номер - Д 884 + +### Пример: + +$y=(\dfrac{a}{b})^{x}(\dfrac{b}{x})^{a}(\dfrac{x}{a})^{b}$ +$y'=?$ + +### Решение: + +$(\dfrac{a}{b})^x(\dfrac{b}{x})^a(\dfrac{x}{a})^b$ + +$y=uvw;\ y'=u'vw+uv'w+uvw';$ +$u=(\dfrac{a}{b})^x;\ v=(\dfrac{b}{x})^a;\ w=(\dfrac{x}{a})^b$ + +$u=(\dfrac{a}{b})^x=e^{x\ln(\frac{a}{b})};\ u'=(\dfrac{a}{b})^x\ln(\dfrac{a}{b});$ +$v=(\dfrac{b}{x})^a=b^a x^{-a};\ v'=-ab^a x^{-a-1}=-\dfrac{a}{x}(\dfrac{b}{x})^a;$ +$w=(\dfrac{x}{a})^b=x^b a^{-b};\ w'=bx^{b-1}a^{-b}=\dfrac{b}{x}(\dfrac{x}{a})^b;$ + +$y'=(\dfrac{a}{b})^x(\dfrac{b}{x})^a(\dfrac{x}{a})^b(\ln(\dfrac{a}{b})-\dfrac{a}{x}+\dfrac{b}{x})$ + +## 34 номер - Д 888 + +### Пример: + +$y=\ln(\ln ^{2}(\ln ^{3}x))$ +$y'=?$ + +### Решение: + +$\ln(\ln^2(\ln^3x))$ + +$y=\ln u;\ y'=\dfrac{u'}{u};$ +$u=\ln^2(\ln^3x)=(\ln(\ln^3x))^2$ + +$u=v^2;\ u'=2vv';$ +$v=\ln(\ln^3x)$ +$v=\ln t;\ v'=\dfrac{t'}{t};$ +$t=\ln^3x=(\ln x)^3$ + +$t=w^3;\ t'=3w^2w';$ +$w=\ln x;\ w'=\dfrac{1}{x};$ +$t'=3(\ln x)^2\cdot\dfrac{1}{x};$ + +$v'=\dfrac{3(\ln x)^2\cdot\frac{1}{x}}{(\ln x)^3}=\dfrac{3}{x\ln x};$ +$u'=2\ln(\ln^3x)\cdot\dfrac{3}{x\ln x}=\dfrac{6\ln(\ln^3x)}{x\ln x};$ + +$y'=\dfrac{\frac{6\ln(\ln^3x)}{x\ln x}}{(\ln(\ln^3x))^2}=\dfrac{6}{x\ln x\cdot\ln(\ln^3x)}$ + +## 38 номер - Д 896 + +### Пример: + +$y=x\ln(x+\sqrt{ 1+x^{2} })-\sqrt{ 1+x^{2} }$ +$y'=?$ + +### Решение: + +$x\ln(x+\sqrt{1+x^2})-\sqrt{1+x^2}$ + +$y=u-v;\ y'=u'-v';$ +$u=x\ln(x+\sqrt{1+x^2});\ v=\sqrt{1+x^2}$ + +$u=ab;\ u'=a'b+b'a;$ +$a=x;\ b=\ln(x+\sqrt{1+x^2})$ +$a'=1;$ +$b=\ln t;\ b'=\dfrac{t'}{t};$ +$t=x+\sqrt{1+x^2};$ +$t'=1+(\sqrt{1+x^2})';$ +$(\sqrt{1+x^2})'=\dfrac{1}{2}(1+x^2)^{-\frac{1}{2}}2x=\dfrac{x}{\sqrt{1+x^2}};$ +$t'=1+\dfrac{x}{\sqrt{1+x^2}}=\dfrac{\sqrt{1+x^2}+x}{\sqrt{1+x^2}};$ +$b'=\dfrac{\frac{\sqrt{1+x^2}+x}{\sqrt{1+x^2}}}{x+\sqrt{1+x^2}}=\dfrac{1}{\sqrt{1+x^2}};$ +$u'=\ln(x+\sqrt{1+x^2})+x\cdot\dfrac{1}{\sqrt{1+x^2}};$ + +$v=(1+x^2)^{\frac{1}{2}};\ v'=\dfrac{1}{2}(1+x^2)^{-\frac{1}{2}}2x=\dfrac{x}{\sqrt{1+x^2}};$ +$y'=(\ln(x+\sqrt{1+x^2})+x\cdot\dfrac{1}{\sqrt{1+x^2}})-\dfrac{x}{\sqrt{1+x^2}}=\ln(x+\sqrt{1+x^2})$ + +## 42 номер - Д 900 + +### Пример: + +$y=\dfrac{2+3x^{2}}{x^{4}}\sqrt{ 1-x^{2} }+3\ln \dfrac{1+\sqrt{ 1-x^{2} }}{x}$ +$y'=?$ + +### Решение: + +$\dfrac{2+3x^{2}}{x^{4}}\sqrt{1-x^{2}}+3\ln\dfrac{1+\sqrt{1-x^{2}}}{x}$ + +$y=u+v;\ y'=u'+v';$ +$u=\dfrac{2+3x^{2}}{x^{4}}\sqrt{1-x^{2}};\ v=3\ln\dfrac{1+\sqrt{1-x^{2}}}{x}$ + +$u=ab;\ u'=a'b+ab';$ +$a=\dfrac{2+3x^{2}}{x^{4}};\ b=\sqrt{1-x^{2}}$ + +$a=(2+3x^{2})x^{-4};$ +$a'=6x\cdot x^{-4}+(2+3x^{2})(-4)x^{-5}=\dfrac{6}{x^{3}}-\dfrac{8+12x^{2}}{x^{5}}=-\dfrac{6x^{2}+8}{x^{5}};$ +$b=(1-x^{2})^{\frac{1}{2}};\ b'=\dfrac{1}{2}(1-x^{2})^{-\frac{1}{2}}(-2x)=-\dfrac{x}{\sqrt{1-x^{2}}};$ + +$u'=-\dfrac{6x^{2}+8}{x^{5}}\sqrt{1-x^{2}}+\dfrac{2+3x^{2}}{x^{4}}(-\dfrac{x}{\sqrt{1-x^{2}}})=-\dfrac{6x^{2}+8}{x^{5}}\sqrt{1-x^{2}}-\dfrac{2+3x^{2}}{x^{3}\sqrt{1-x^{2}}}$ + +$v=3(\ln(1+\sqrt{1-x^{2}})-\ln x);$ +$v'=3(\dfrac{(\sqrt{1-x^{2}})'}{1+\sqrt{1-x^{2}}}-\dfrac{1}{x});$ +$(\sqrt{1-x^{2}})'=-\dfrac{x}{\sqrt{1-x^{2}}};$ + +$v'=3(-\dfrac{x}{\sqrt{1-x^{2}}(1+\sqrt{1-x^{2}})}-\dfrac{1}{x})=-\dfrac{3}{x\sqrt{1-x^{2}}}$ + +$y'=-\dfrac{6x^{2}+8}{x^{5}}\sqrt{1-x^{2}}-\dfrac{2+6x^{2}}{x^{3}\sqrt{1-x^{2}}}=-\dfrac{6x^{2}+8}{x^{5}}\cdot\dfrac{1-x^{2}}{\sqrt{1-x^{2}}}-\dfrac{(2+6x^{2})x^{2}}{x^{5}\sqrt{1-x^{2}}}=-\dfrac{(6x^{2}+8)(1-x^{2})+(2+6x^{2})x^{2}}{x^{5}\sqrt{1-x^{2}}}=-\dfrac{8}{x^{5}\sqrt{1-x^{2}}}$ + +## 46 номер - Д 904 + +### Пример: + +$y=\ln \sqrt{ \dfrac{1-\sin x}{1+\sin x} }$ +$y'=?$ + +### Решение: + +$\ln\sqrt{\dfrac{1-\sin x}{1+\sin x}}$ + +$y=\ln((\dfrac{1-\sin x}{1+\sin x})^{\frac{1}{2}})=\dfrac{1}{2}\ln\dfrac{1-\sin x}{1+\sin x}=\dfrac{1}{2}(\ln(1-\sin x)-\ln(1+\sin x))$ + +$y'=\dfrac{1}{2}(\dfrac{-(\sin x)'}{1-\sin x}-\dfrac{(\sin x)'}{1+\sin x})=\dfrac{1}{2}(-\dfrac{\cos x}{1-\sin x}-\dfrac{\cos x}{1+\sin x})$ +$y'=-\dfrac{\cos x}{2}\cdot\dfrac{(1+\sin x)+(1-\sin x)}{1-\sin^{2}x}=-\dfrac{1}{\cos x}$ + +## 50 номер - Д 908 + +### Пример: + +$y= \dfrac{1}{4x^{4}}\ln \dfrac{1}{x}- \dfrac{1}{16x^{4}}$ +$y'=?$ + +### Решение: + +$\dfrac{1}{4x^{4}}\ln\dfrac{1}{x}-\dfrac{1}{16x^{4}}$ + +$y=u+v;\ y'=u'+v';$ +$u=\dfrac{1}{4x^{4}}\ln\dfrac{1}{x};\ v=-\dfrac{1}{16x^{4}}$ + +$u=\dfrac{1}{4}ab;\ u'=\dfrac{1}{4}(a'b+ab');$ +$a=x^{-4};\ b=\ln\dfrac{1}{x}$ + +$a'=-4x^{-5}=-\dfrac{4}{x^{5}};$ +$b=\ln(x^{-1});\ b'=-(\ln x)'=-\dfrac{1}{x};$ + +$u'=\dfrac{1}{4}(-\dfrac{4}{x^{5}}\ln\dfrac{1}{x}+x^{-4}(-\dfrac{1}{x}))=-\dfrac{1}{x^{5}}\ln\dfrac{1}{x}-\dfrac{1}{4x^{5}}$ +$v'=-\dfrac{1}{16}(-4)x^{-5}=\dfrac{1}{4x^{5}}$ + +$y'=-\dfrac{1}{x^{5}}\ln\dfrac{1}{x}$ + +## 53 номер - Д 963 + +### Пример: + +$y=\sqrt[ x ]{ x }; (x>0)$ +$y'=?$ + +### Решение: + +$y=\sqrt[x]{x}=x^{\frac{1}{x}}$ + +$\ln y=\ln(x^{\frac{1}{x}})=\dfrac{1}{x}\ln x$ +$\dfrac{y'}{y}=(\dfrac{\ln x}{x})'$ + +$u=\ln x;\ v=x;\ (\dfrac{u}{v})'=\dfrac{u'v-uv'}{v^{2}};$ +$u'=\dfrac{1}{x};\ v'=1;$ + +$(\dfrac{\ln x}{x})'=\dfrac{\dfrac{1}{x}\cdot x-\ln x}{x^{2}}=\dfrac{1-\ln x}{x^{2}}$ +$y'=y\cdot\dfrac{1-\ln x}{x^{2}}=x^{\frac{1}{x}}\cdot\dfrac{1-\ln x}{x^{2}}$ + +## 54 номер - Д 964 + +### Пример: + +$y=(\sin x)^{\cos x}+(\cos x)^{\sin x}$ +$y'=?$ + +### Решение: + +$(\sin x)^{\cos x}+(\cos x)^{\sin x}$ + +$y=u+v;\ y'=u'+v';$ +$u=(\sin x)^{\cos x};\ v=(\cos x)^{\sin x}$ + +$\ln u=\cos x\ln(\sin x)$ +$\dfrac{u'}{u}=(\cos x)'\ln(\sin x)+\cos x(\ln(\sin x))'=-\sin x\ln(\sin x)+\cos x\cdot\dfrac{\cos x}{\sin x}$ +$u'=u(-\sin x\ln(\sin x)+\dfrac{\cos^{2}x}{\sin x})=(\sin x)^{\cos x}(-\sin x\ln(\sin x)+\dfrac{\cos^{2}x}{\sin x})$ + +$\ln v=\sin x\ln(\cos x)$ +$\dfrac{v'}{v}=(\sin x)'\ln(\cos x)+\sin x(\ln(\cos x))'=\cos x\ln(\cos x)+\sin x(-\dfrac{\sin x}{\cos x})$ +$v'=v(\cos x\ln(\cos x)-\dfrac{\sin^{2}x}{\cos x})=(\cos x)^{\sin x}(\cos x\ln(\cos x)-\dfrac{\sin^{2}x}{\cos x})$ + +$y'=(\sin x)^{\cos x}(-\sin x\ln(\sin x)+\dfrac{\cos^{2}x}{\sin x})+(\cos x)^{\sin x}(\cos x\ln(\cos x)-\dfrac{\sin^{2}x}{\cos x})$ + +## 57 номер - Д 984Б + +### Пример: + +$y=\dfrac{x^{2}}{1-x}\sqrt[ 3 ]{ \dfrac{3-x}{(3+x)^{2}} }$ +$y'=?$ + +### Решение: + +$y=\dfrac{x^{2}}{1-x}\sqrt[3]{\dfrac{3-x}{(3+x)^{2}}}$ + +$\ln y=\ln(\dfrac{x^{2}}{1-x})+\ln((\dfrac{3-x}{(3+x)^{2}})^{\frac{1}{3}})=(2\ln x-\ln(1-x))+\dfrac{1}{3}(\ln(3-x)-2\ln(3+x))$ + +$\dfrac{y'}{y}=(2\ln x-\ln(1-x))'+\dfrac{1}{3}(\ln(3-x)-2\ln(3+x))'$ +$\dfrac{y'}{y}=\dfrac{2}{x}-(\ln(1-x))'+\dfrac{1}{3}(\dfrac{-1}{3-x}-2\cdot\dfrac{1}{3+x})$ +$(\ln(1-x))'=\dfrac{(1-x)'}{1-x}=-\dfrac{1}{1-x}$ +$\dfrac{y'}{y}=\dfrac{2}{x}+\dfrac{1}{1-x}-\dfrac{1}{3}(\dfrac{1}{3-x}+\dfrac{2}{3+x})$ + +$y'=y(\dfrac{2}{x}+\dfrac{1}{1-x}-\dfrac{1}{3}(\dfrac{1}{3-x}+\dfrac{2}{3+x}))$ + +## 58 номер - Д 984В + +### Пример: + +$y=(x-a_{1})^{a_{1}}(x-a_{2})^{a_{2}}\dots(x-a_{n})^{a_{n}}$ +$y'=?$ + +### Решение: + +$y=(x-a_{1})^{a_{1}}(x-a_{2})^{a_{2}}\dots(x-a_{n})^{a_{n}}$ + +$\ln y=\ln((x-a_{1})^{a_{1}}(x-a_{2})^{a_{2}}\dots(x-a_{n})^{a_{n}})=\ln(x-a_{1})^{a_{1}}+\ln(x-a_{2})^{a_{2}}+\dots+\ln(x-a_{n})^{a_{n}}$ +$\ln y=a_{1}\ln(x-a_{1})+a_{2}\ln(x-a_{2})+\dots+a_{n}\ln(x-a_{n})$ + +$\dfrac{y'}{y}=(a_{1}\ln(x-a_{1})+a_{2}\ln(x-a_{2})+\dots+a_{n}\ln(x-a_{n}))'$ +$\dfrac{y'}{y}=\dfrac{a_{1}}{x-a_{1}}+\dfrac{a_{2}}{x-a_{2}}+\dots+\dfrac{a_{n}}{x-a_{n}}$ + +$y'=y(\dfrac{a_{1}}{x-a_{1}}+\dfrac{a_{2}}{x-a_{2}}+\dots+\dfrac{a_{n}}{x-a_{n}})$ +$y'=(x-a_{1})^{a_{1}}(x-a_{2})^{a_{2}}\dots(x-a_{n})^{a_{n}}(\dfrac{a_{1}}{x-a_{1}}+\dfrac{a_{2}}{x-a_{2}}+\dots+\dfrac{a_{n}}{x-a_{n}})$ + +## 61 номер - Д 985Б + +### Пример: + +$y=\text{arccot} \dfrac{\phi(x)}{\psi(x)}$ +$y'=?$ + +### Решение: + +$y=\text{arccot}\dfrac{\phi(x)}{\psi(x)}$ + +$y=\text{arccot}(u);\ y'=-\dfrac{u'}{1+u^{2}};$ +$u=\dfrac{\phi(x)}{\psi(x)}$ + +$u=\dfrac{p}{q};\ u'=\dfrac{p'q-pq'}{q^{2}};$ +$p=\phi(x);\ q=\psi(x)$ + +$u'=\dfrac{\phi'(x)\psi(x)-\phi(x)\psi'(x)}{\psi^{2}(x)}$ +$1+u^{2}=1+\dfrac{\phi^{2}(x)}{\psi^{2}(x)}=\dfrac{\psi^{2}(x)+\phi^{2}(x)}{\psi^{2}(x)}$ + +$y'=-\dfrac{\dfrac{\phi'\psi-\phi\psi'}{\psi^{2}}}{\dfrac{\psi^{2}+\phi^{2}}{\psi^{2}}}=-\dfrac{\phi'\psi-\phi\psi'}{\phi^{2}+\psi^{2}}=\dfrac{\phi\psi'-\phi'\psi}{\phi^{2}+\psi^{2}}$ + +## 65 номер - Д 989 + +### Пример: + +$F(x)=\begin{vmatrix}x & x^{2} & x^{3} \\ 1 & 2x & 3x^{2} \\ 0 & 2 & 6x\end{vmatrix}$ +$F(x)'=?$ + +### Решение: + +$F(x)=\begin{vmatrix}x & x^{2} & x^{3} \\ 1 & 2x & 3x^{2} \\ 0 & 2 & 6x\end{vmatrix}$ + +$F(x)=x\begin{vmatrix}2x & 3x^{2} \\ 2 & 6x\end{vmatrix}-x^{2}\begin{vmatrix}1 & 3x^{2} \\ 0 & 6x\end{vmatrix}+x^{3}\begin{vmatrix}1 & 2x \\ 0 & 2\end{vmatrix}$ +$F(x)=x(2x\cdot6x-3x^{2}\cdot2)-x^{2}(1\cdot6x-0)+x^{3}(1\cdot2-0)$ +$F(x)=x(12x^{2}-6x^{2})-6x^{3}+2x^{3}=6x^{3}-6x^{3}+2x^{3}=2x^{3}$ + +$F'(x)=6x^{2}$ + +## 69 номер - Д 1042 + +### Пример: + +Найти производные $y'_{x}$ (параметры положительны) +$x=a\cosh t$ +$y=b \sinh t$ +$y'_{x}=?$ + +### Решение: + +$x=a\cosh t;\ y=b\sinh t$ + +$\dfrac{dy}{dx}=\dfrac{\dfrac{dy}{dt}}{\dfrac{dx}{dt}}$ +$\dfrac{dx}{dt}=a(\cosh t)'=a\sinh t$ +$\dfrac{dy}{dt}=b(\sinh t)'=b\cosh t$ + +$y'_{x}=\dfrac{b\cosh t}{a\sinh t}=\dfrac{b}{a}\cdot\dfrac{\cosh t}{\sinh t}=\dfrac{b}{a}\text{cth}\ t$ + +## 73 номер - Д 1050 + +### Пример: + +$\dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}=1 \ (эллипс)$ +$y'=?$ + +### Решение: + +$\dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}=1$ + +$(\dfrac{x^{2}}{a^{2}})'+(\dfrac{y^{2}}{b^{2}})'=0$ +$\dfrac{2x}{a^{2}}+\dfrac{2y}{b^{2}}y'=0$ +$y'=-\dfrac{2x}{a^{2}}\cdot\dfrac{b^{2}}{2y}=-\dfrac{b^{2}x}{a^{2}y}$ + +## 77 номер - Д 1086 + +### Пример: + +$y=\dfrac{1}{a}\text{arccot} \dfrac{x}{a}; (a\neq0)$ + +### Решение: + +$a=\text{const};$ +$y=\dfrac{1}{a}\text{arccot} u;\ dy=\dfrac{1}{a}d(\text{arccot} u);$ +$d(\text{arccot} u)=-\dfrac{1}{1+u^{2}}du;$ +$u=\dfrac{x}{a};\ du=\dfrac{1}{a}dx;$ + +$dy=\dfrac{1}{a}(-\dfrac{1}{1+(\frac{x}{a})^{2}}\cdot\dfrac{1}{a}dx)=-\dfrac{1}{a^{2}}\cdot\dfrac{1}{1+\frac{x^{2}}{a^{2}}}dx=-\dfrac{1}{a^{2}}\cdot\dfrac{a^{2}}{a^{2}+x^{2}}dx=-\dfrac{dx}{a^{2}+x^{2}}$ + +## 80 номер - Д 1088 + +### Пример: + +$y=\ln|x+\sqrt{ x^{2+a} }|$ + +### Решение: + +$a=\text{const};$ +$y=\ln|u|;\ dy=\dfrac{du}{u};$ +$u=x+\sqrt{x^{2+a}}$ + +$du=dx+d(\sqrt{x^{2+a}});$ +$\sqrt{x^{2+a}}=(x^{2+a})^{\frac{1}{2}};$ +$d((x^{2+a})^{\frac{1}{2}})=\dfrac{1}{2}(x^{2+a})^{-\frac{1}{2}}d(x^{2+a});$ +$d(x^{2+a})=(2+a)x^{1+a}dx;$ +$d(\sqrt{x^{2+a}})=\dfrac{1}{2}(x^{2+a})^{-\frac{1}{2}}(2+a)x^{1+a}dx=\dfrac{2+a}{2}x^{\frac{a}{2}}dx;$ + +$du=(1+\dfrac{2+a}{2}x^{\frac{a}{2}})dx;$ +$dy=\dfrac{(1+\dfrac{2+a}{2}x^{\frac{a}{2}})dx}{x+\sqrt{x^{2+a}}}$ + +## 81 номер - Д 1089 + +### Пример: + +$y=\arcsin \dfrac{x}{a}; (a\neq 0)$ + +### Решение: + +$a=\text{const};$ +$y=\arcsin u;\ dy=d(\arcsin u);$ +$d(\arcsin u)=\dfrac{1}{\sqrt{1-u^{2}}}du;$ +$u=\dfrac{x}{a};\ du=\dfrac{1}{a}dx;$ + +$dy=\dfrac{1}{\sqrt{1-(\frac{x}{a})^{2}}}\cdot\dfrac{1}{a}dx=\dfrac{dx}{a\sqrt{1-(\frac{x}{a})^{2}}}$ + +## 84 номер - Д 1090В + +### Пример: + +$d(\dfrac{1}{x^{3}})$ + +### Решение: + +$\dfrac{1}{x^3}=x^{-3}$ +$d(x^{-3})=(-3)x^{-4}dx=-\dfrac{3}{x^{4}}dx$ + +## 85 номер - Д 1090Г + +### Пример: + +$d(\dfrac{\ln x}{\sqrt{ x }})$ + +### Решение: + +$\dfrac{\ln x}{\sqrt{x}}=\ln x\cdot x^{-\frac{1}{2}}$ + +$d(uv)=u\,dv+v\,du;$ +$u=\ln x;\ v=x^{-\frac{1}{2}}$ + +$du=\dfrac{1}{x}dx;$ +$dv=-\dfrac{1}{2}x^{-\frac{3}{2}}dx;$ + +$d(\dfrac{\ln x}{\sqrt{x}})=\ln x(-\dfrac{1}{2}x^{-\frac{3}{2}}dx)+x^{-\frac{1}{2}}(\dfrac{1}{x}dx)=(-\dfrac{\ln x}{2x^{\frac{3}{2}}}+\dfrac{1}{x^{\frac{3}{2}}})dx=\dfrac{2-\ln x}{2x^{\frac{3}{2}}}dx$ + +## 88 номер - Д 1093 + +### Пример: + +$y=\dfrac{1}{\sqrt{ u^{2}+v^{2} }}$ + +### Решение: + +$y=(u^2+v^2)^{-\frac{1}{2}}$ +$dy=-\dfrac{1}{2}(u^2+v^2)^{-\frac{3}{2}}d(u^2+v^2)$ + +$d(u^2+v^2)=d(u^2)+d(v^2)=2u\,du+2v\,dv;$ +$dy=-\dfrac{1}{2}(u^2+v^2)^{-\frac{3}{2}}(2u\,du+2v\,dv)=-\dfrac{u\,du+v\,dv}{(u^2+v^2)^{\frac{3}{2}}}$ + +## 89 номер - Д 1094 + +### Пример: + +$y=\text{arccon} \dfrac{u}{v}$ + +### Решение: + +$y=\text{arccon}\,w;\ dy=d(\text{arccon}\,w);$ +$d(\text{arccon}\,w)=-\dfrac{1}{\sqrt{1-w^2}}dw;$ +$w=\dfrac{u}{v}$ + +$dw=d(\dfrac{u}{v})=\dfrac{v\,du-u\,dv}{v^2};$ +$dy=-\dfrac{1}{\sqrt{1-(\frac{u}{v})^2}}\cdot\dfrac{v\,du-u\,dv}{v^2}$ + +## 92 номер - Д 1100 + +### Пример: + +$\sin 29\degree\approx \ ?$ + +### Решение: + +$y=\sin x;$ +$x_0=30\degree=\dfrac{\pi}{6};$ +$\Delta x=29\degree-30\degree=-1\degree=-\dfrac{\pi}{180};$ +$y(x_0+\Delta x)\approx y(x_0)+y'(x_0)\Delta x;$ +$y'=\cos x;$ + +$\sin29\degree\approx\sin30\degree+\cos30\degree(-\dfrac{\pi}{180})=\dfrac{1}{2}-\dfrac{\sqrt{3}}{2}\cdot\dfrac{\pi}{180}=\dfrac{1}{2}-\dfrac{\sqrt{3}\pi}{360}\approx0,485;$ + +## 96 номер - Д 1103 + +### Пример: + +$lg 11 \approx \ ?$ + +### Решение: + +$y=lgx;$ +$x_0=10;\ \Delta x=1;$ +$y(x_0+\Delta x)\approx y(x_0)+y'(x_0)\Delta x;$ +$(lgx)'=\dfrac{1}{x\ln10};$ + +$lg11\approx lg10+\dfrac{1}{10\ln10}\cdot1=1+\dfrac{1}{10\ln10}\approx1,043;$ + +## 100 номер - Д 1105А + +### Пример: + +$\sqrt[ 3 ]{ 9 }\approx \ ?$ + +### Решение: + +$\sqrt[ 3 ]{ 9 }=\sqrt[3]{8+1};$ +$n=3;\ a=2;\ x=1;\ (a>0)$ +$\sqrt[n]{a^{n}+x}\approx a+\dfrac{x}{na^{n-1}}$ + +$\sqrt[3]{9}\approx2+\dfrac{1}{3\cdot2^{2}}=2+\dfrac{1}{12}\approx2,083;$ + +## 104 номер - РИСУНОК +![[telegram-cloud-document-2-5407087289899717974.jpg]] + +## 105 номер - АНЕКДОТ +На одном корабле работал фокусник. Так как пассажиры постоянно менялись, он без перемены проделывал одни и те же фокусы. К его несчастью, капитанский попугай просмотрел его выступления достаточно раз, чтобы разгадать все секреты. Во время каждого выступления попугай портил все фокусы своими криками «Эта не та шляпа! Он прячет пиковую даму в кармане брюк! В коробке дырочка!». Фокусник сердился, но ничего поделать не мог, попугай всё-таки капитанский. +Однажды корабль потерпел кораблекрушение, и только фокусник с попугаем чудом выжили. Продолжали они плавать в море на каком-то бревне. Фокусник постоянно злобно смотрел на попугая, который в свою очередь не переставал смотреть на фокусника. Наконец, через неделю дрейфа попугай не выдержал: +\- Ну ладно, ладно, сдаюсь! Куда ты корабль засунул то?! + + +## 108 номер - Д 1133 + +### Пример: + +$y=x^{x}$ +$d^{2}y=?$ + +### Решение: + +$x=\text{независимая};\ d(dx)=0;$ +$y=x^x$ + +$\ln y=x\ln x$ +$\dfrac{dy}{y}=d(x\ln x)=(x\ln x)'dx=(\ln x+1)dx$ +$dy=y(\ln x+1)dx$ + +$d^{2}y=d(dy)=d(y(\ln x+1)dx)=d(y(\ln x+1))dx$ +$d(y(\ln x+1))=(\ln x+1)dy+y\,d(\ln x+1)$ +$d(\ln x+1)=\dfrac{1}{x}dx$ +$d(y(\ln x+1))=(\ln x+1)\,y(\ln x+1)dx+y\cdot\dfrac{1}{x}dx=y((\ln x+1)^{2}+\dfrac{1}{x})dx$ + +$d^{2}y=x^{x}((\ln x+1)^{2}+\dfrac{1}{x})dx^{2}$ + +## 111 номер - Д 1142 + +### Пример: + +$x=a(t-\sin t)$ +$y=a(1-\cos t)$ +$y'''=?$ + +### Решение: + +$x=a(t-\sin t);\ y=a(1-\cos t)$ + +$\dfrac{dy}{dx}=\dfrac{\dfrac{dy}{dt}}{\dfrac{dx}{dt}}$ +$\dfrac{dx}{dt}=a(1-\cos t)$ +$\dfrac{dy}{dt}=a\sin t$ +$y'_{x}=\dfrac{a\sin t}{a(1-\cos t)}=\dfrac{\sin t}{1-\cos t}$ + +$y''_{x}=\dfrac{\dfrac{d}{dt}(y'_{x})}{\dfrac{dx}{dt}}$ +$\dfrac{d}{dt}(\dfrac{\sin t}{1-\cos t})=\dfrac{(\cos t)(1-\cos t)-\sin t\cdot\sin t}{(1-\cos t)^{2}}=\dfrac{\cos t-1}{(1-\cos t)^{2}}=-\dfrac{1}{1-\cos t}$ +$y''_{x}=\dfrac{-\dfrac{1}{1-\cos t}}{a(1-\cos t)}=-\dfrac{1}{a(1-\cos t)^{2}}$ + +$y'''_{x}=\dfrac{\dfrac{d}{dt}(y''_{x})}{\dfrac{dx}{dt}}$ +$\dfrac{d}{dt}(-\dfrac{1}{a}(1-\cos t)^{-2})=-\dfrac{1}{a}(-2)(1-\cos t)^{-3}\sin t=\dfrac{2\sin t}{a(1-\cos t)^{3}}$ +$y'''_{x}=\dfrac{\dfrac{2\sin t}{a(1-\cos t)^{3}}}{a(1-\cos t)}=\dfrac{2\sin t}{a^{2}(1-\cos t)^{4}}$ + +## 112 номер - Д 1143 + +### Пример: + +$x=e^{ t }\cos t$ +$y=e^{ t }\sin t$ +$y'''=?$ + +### Решение: + +$x=e^{t}\cos t;\ y=e^{t}\sin t$ + +$\dfrac{dy}{dx}=\dfrac{\dfrac{dy}{dt}}{\dfrac{dx}{dt}}$ +$\dfrac{dx}{dt}=e^{t}\cos t+e^{t}(-\sin t)=e^{t}(\cos t-\sin t)$ +$\dfrac{dy}{dt}=e^{t}\sin t+e^{t}\cos t=e^{t}(\sin t+\cos t)$ +$y'_{x}=\dfrac{e^{t}(\sin t+\cos t)}{e^{t}(\cos t-\sin t)}=\dfrac{\sin t+\cos t}{\cos t-\sin t}$ + +$y''_{x}=\dfrac{\dfrac{d}{dt}(y'_{x})}{\dfrac{dx}{dt}}$ +$\dfrac{d}{dt}(\dfrac{\sin t+\cos t}{\cos t-\sin t})=\dfrac{(\cos t-\sin t)(\cos t-\sin t)-(\sin t+\cos t)(-\sin t-\cos t)}{(\cos t-\sin t)^{2}}$ +$\dfrac{d}{dt}(\dfrac{\sin t+\cos t}{\cos t-\sin t})=\dfrac{(\cos t-\sin t)^{2}+(\sin t+\cos t)^{2}}{(\cos t-\sin t)^{2}}=\dfrac{2}{(\cos t-\sin t)^{2}}$ +$y''_{x}=\dfrac{\dfrac{2}{(\cos t-\sin t)^{2}}}{e^{t}(\cos t-\sin t)}=\dfrac{2}{e^{t}(\cos t-\sin t)^{3}}$ + +$y'''_{x}=\dfrac{\dfrac{d}{dt}(y''_{x})}{\dfrac{dx}{dt}}$ +$y''_{x}=2e^{-t}(\cos t-\sin t)^{-3}$ +$\dfrac{d}{dt}(y''_{x})=2((-e^{-t})(\cos t-\sin t)^{-3}+e^{-t}(-3)(\cos t-\sin t)^{-4}(-\sin t-\cos t))$ +$\dfrac{d}{dt}(y''_{x})=2e^{-t}(-(\cos t-\sin t)^{-3}+3(\sin t+\cos t)(\cos t-\sin t)^{-4})$ +$\dfrac{d}{dt}(y''_{x})=\dfrac{2e^{-t}(-(\cos t-\sin t)+3(\sin t+\cos t))}{(\cos t-\sin t)^{4}}=\dfrac{4e^{-t}(\cos t+2\sin t)}{(\cos t-\sin t)^{4}}$ +$y'''_{x}=\dfrac{\dfrac{4e^{-t}(\cos t+2\sin t)}{(\cos t-\sin t)^{4}}}{e^{t}(\cos t-\sin t)}=\dfrac{4(\cos t+2\sin t)}{e^{2t}(\cos t-\sin t)^{5}}$ + +## 115 номер - Д 1157 + +### Пример: + +$y= \dfrac{a}{x^{m}}$ +$y'''=?$ + +### Решение: + +$y=a x^{-m};\ a,m=\text{const};$ + +$y'=a(-m)x^{-m-1}$ +$y''=a(-m)(-m-1)x^{-m-2}$ +$y'''=a(-m)(-m-1)(-m-2)x^{-m-3}=-\dfrac{am(m+1)(m+2)}{x^{m+3}}$ + +## 116 номер - Д 1159 + +### Пример: + +$y=\dfrac{x^{2}}{1-x}$ +$y^{(8)}=?$ + +### Решение: + +$y=\dfrac{x^{2}}{1-x}=-x-1+\dfrac{1}{1-x}$ +$\dfrac{1}{1-x}=(1-x)^{-1}$ + +$((1-x)^{-1})'=(1-x)^{-2}$ +$((1-x)^{-2})'=2(1-x)^{-3}$ +$((1-x)^{-3})'=3\cdot2(1-x)^{-4}$ + +$((1-x)^{-1})^{(n)}=n!(1-x)^{-(n+1)};\ (n\ge1)$ +$(-x-1)^{(8)}=0$ +$y^{(8)}=\dfrac{8!}{(1-x)^{9}}$ + +## 119 номер - Д 1163 + +### Пример: + +$y=x\ln x$ +$y^{(5)}=?$ + +### Решение: + +$y=x\ln x$ + +$y'=(x\ln x)'=\ln x+1$ +$y''=(\ln x+1)'=\dfrac{1}{x}$ +$y'''=(\dfrac{1}{x})'=-\dfrac{1}{x^{2}}$ +$y^{(4)}=(-\dfrac{1}{x^{2}})'=\dfrac{2}{x^{3}}$ +$y^{(5)}=(\dfrac{2}{x^{3}})'=-\dfrac{6}{x^{4}}$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/7 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/7 MODULE.md new file mode 100644 index 0000000..a9cb964 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/7 MODULE.md @@ -0,0 +1,842 @@ +## 60 номер – Д 1853 +#учеба #семестр_1 #высшая_математика + + +### Пример: + +$\int \dfrac{xdx}{\sqrt{ 5+x-x^{2} }}$ + +### Решение: + +$f(x)=5+x-x^{2}$ +$f'(x)=1-2x$ + +$-\dfrac12 f'(x)=x-\dfrac12$ +$x=-\dfrac12 f'(x)+\dfrac12$ + +$I=\int \dfrac{x}{\sqrt{f(x)}}dx=-\dfrac12\int \dfrac{f'(x)}{\sqrt{f(x)}}dx+\dfrac12\int \dfrac{dx}{\sqrt{f(x)}}$ + +$I=I_1+I_2$ + +$u=f(x);\ du=f'(x)dx$ +$I_1=-\dfrac12\int \dfrac{du}{\sqrt{u}}=-\sqrt{u}=-\sqrt{f(x)}$ + +$f(x)=5+x-x^2=\dfrac{21}{4}-(x-\dfrac12)^2$ + +$t=x-\dfrac12;\ dt=dx$ +$I_2=\dfrac12\int \dfrac{dt}{\sqrt{\dfrac{21}{4}-t^2}}=\dfrac12\arcsin(\dfrac{t}{\sqrt{21}/2})=\dfrac12\arcsin(\dfrac{2x-1}{\sqrt{21}})$ + +${\,I=-\sqrt{5+x-x^{2}}+\dfrac12\arcsin(\dfrac{2x-1}{\sqrt{21}})+C\,}$ + +## 61 номер – Д 1903 + +### Пример: + +$\int \dfrac{x^{3}}{(x-1)^{100}}dx$ + +### Решение: + +$I=\int \dfrac{x^{3}}{(x-1)^{100}}dx$ + +$t=x-1;\ x=t+1;\ dt=dx$ +$I=\int \dfrac{(t+1)^{3}}{t^{100}}dt=\int \dfrac{t^{3}+3t^{2}+3t+1}{t^{100}}dt=\int (t^{-97}+3t^{-98}+3t^{-99}+t^{-100})dt$ + +$I=-\dfrac{1}{96}t^{-96}-\dfrac{3}{97}t^{-97}-\dfrac{3}{98}t^{-98}-\dfrac{1}{99}t^{-99}+C$ + +${\,I=-\dfrac{1}{96(x-1)^{96}}-\dfrac{3}{97(x-1)^{97}}-\dfrac{3}{98(x-1)^{98}}-\dfrac{1}{99(x-1)^{99}}+C\,}$ + +## 62 номер – Д 1905 + +### Пример: + +$\int \dfrac{x^{3}dx}{x^{8}+3}$ + +### Решение: + +$I=\int \dfrac{x^{3}}{x^{8}+3}dx$ + +$t=x^{4};\ dt=4x^{3}dx;\ x^{3}dx=\dfrac14dt$ +$I=\dfrac14\int \dfrac{dt}{t^{2}+3}=\dfrac14\cdot\dfrac{1}{\sqrt3}\arctan(\dfrac{t}{\sqrt3})+C$ + +${\,I=\dfrac{1}{4\sqrt3}\arctan(\dfrac{x^{4}}{\sqrt3})+C\,}$ + +## 63 номер – Д 1907 + +### Пример: + +$\int \dfrac{x^{4}-3}{x(x^{8}+3x^{4}+2)}$ + +### Решение: + +$I=\int \dfrac{x^{4}-3}{x(x^{8}+3x^{4}+2)}dx$ +$x^{8}+3x^{4}+2=(x^{4})^{2}+3x^{4}+2=(x^{4}+1)(x^{4}+2)$ + +$t=x^{4};\ dt=4x^{3}dx;\ \dfrac{dt}{t}=4\dfrac{dx}{x};\ \dfrac{dx}{x}=\dfrac{1}{4}\dfrac{dt}{t}$ +$I=\int \dfrac{x^{4}-3}{x(x^{4}+1)(x^{4}+2)}dx=\int \dfrac{t-3}{(t+1)(t+2)}\dfrac{dx}{x}=\dfrac14\int \dfrac{t-3}{t(t+1)(t+2)}dt$ + +$\dfrac{t-3}{t(t+1)(t+2)}=\dfrac{A}{t}+\dfrac{B}{t+1}+\dfrac{C}{t+2}$ +$t-3=A(t+1)(t+2)+Bt(t+2)+Ct(t+1)$ +$A=-\dfrac{3}{2};\ B=4;\ C=-\dfrac{5}{2}$ + +$I=\dfrac14\int(-\dfrac{3}{2}\dfrac{1}{t}+4\dfrac{1}{t+1}-\dfrac{5}{2}\dfrac{1}{t+2})dt$ +$I=-\dfrac{3}{8}\ln|t|+\ln|t+1|-\dfrac{5}{8}\ln|t+2|+C$ +$\ln|t|=\ln(x^{4})=4\ln|x|$ + +${\,I=\ln(x^{4}+1)-\dfrac{3}{2}\ln|x|-\dfrac{5}{8}\ln(x^{4}+2)+C\,}$ + +## 64 номер – Д 1909 + +### Пример: + +$\int \dfrac{x^{11}dx}{x^{8}+3x^{4}+2}$ + +### Решение: + +$I=\int \dfrac{x^{11}}{x^{8}+3x^{4}+2}dx$ + +$t=x^{4};\ dt=4x^{3}dx;\ x^{11}dx=x^{8}\cdot x^{3}dx=t^{2}\cdot\dfrac14dt$ +$x^{8}+3x^{4}+2=t^{2}+3t+2=(t+1)(t+2)$ + +$I=\dfrac14\int \dfrac{t^{2}}{t^{2}+3t+2}dt=\dfrac14\int(1-\dfrac{3t+2}{(t+1)(t+2)})dt$ + +$\dfrac{3t+2}{(t+1)(t+2)}=\dfrac{A}{t+1}+\dfrac{B}{t+2}$ +$3t+2=A(t+2)+B(t+1)=(A+B)t+(2A+B)$ +$A=-1;\ B=4$ + +$I=\dfrac14\int(1+\dfrac{1}{t+1}-\dfrac{4}{t+2})dt=\dfrac14(t+\ln(t+1)-4\ln(t+2))+C$ + +${\,I=\dfrac{x^{4}}{4}+\dfrac14\ln(x^{4}+1)-\ln(x^{4}+2)+C\,}$ + +## 65 номер – Д 1910 + +### Пример: + +$\int \dfrac{x^{9}dx}{(x^{10}+2x^{5}+2)^{2}}$ + +### Решение: + +$I=\int \dfrac{x^{9}}{(x^{10}+2x^{5}+2)^{2}}dx$ + +$t=x^{5};\ dt=5x^{4}dx;\ x^{9}dx=x^{5}\cdot x^{4}dx=t\cdot\dfrac15dt$ +$x^{10}+2x^{5}+2=t^{2}+2t+2$ + +$I=\dfrac15\int \dfrac{t}{(t^{2}+2t+2)^{2}}dt=\dfrac15\int(\dfrac{t+1}{(t^{2}+2t+2)^{2}}-\dfrac{1}{(t^{2}+2t+2)^{2}})dt$ +$I=\dfrac15(I_1-I_2)$ + +$u=t^{2}+2t+2;\ du=(2t+2)dt=2(t+1)dt$ +$I_1=\int \dfrac{t+1}{(t^{2}+2t+2)^{2}}dt=\dfrac12\int \dfrac{du}{u^{2}}=-\dfrac{1}{2u}=-\dfrac{1}{2(t^{2}+2t+2)}$ + +$t^{2}+2t+2=(t+1)^{2}+1$ +$s=t+1;\ ds=dt$ +$I_2=\int \dfrac{dt}{(t^{2}+2t+2)^{2}}=\int \dfrac{ds}{(s^{2}+1)^{2}}$ + +$(\dfrac{s}{s^{2}+1})'=\dfrac{1-s^{2}}{(s^{2}+1)^{2}}$ +$\dfrac{1}{(s^{2}+1)^{2}}=\dfrac{1-s^{2}}{(s^{2}+1)^{2}}+\dfrac{s^{2}}{(s^{2}+1)^{2}}=(\dfrac{s}{s^{2}+1})'+(\dfrac{1}{s^{2}+1}-\dfrac{1}{(s^{2}+1)^{2}})$ +$2\int \dfrac{ds}{(s^{2}+1)^{2}}=\dfrac{s}{s^{2}+1}+\arctan s$ +$I_2=\dfrac12(\dfrac{s}{s^{2}+1}+\arctan s)=\dfrac12(\dfrac{t+1}{t^{2}+2t+2}+\arctan(t+1))$ + +$I=\dfrac15(-\dfrac{1}{2(t^{2}+2t+2)}-\dfrac12(\dfrac{t+1}{t^{2}+2t+2}+\arctan(t+1)))+C$ +$I=-\dfrac{t+2}{10(t^{2}+2t+2)}-\dfrac{1}{10}\arctan(t+1)+C$ + +${\,I=-\dfrac{x^{5}+2}{10(x^{10}+2x^{5}+2)}-\dfrac{1}{10}\arctan(x^{5}+1)+C\,}$ + +## 66 номер – Д 1913 + +### Пример: + +$\int \dfrac{dx}{x(x^{10}+2)}$ + +### Решение: + +$I=\int \dfrac{dx}{x(x^{10}+2)}$ + +$t=x^{10};\ dt=10x^{9}dx;\ dx=\dfrac{dt}{10x^{9}}$ +$I=\int \dfrac{\dfrac{dt}{10x^{9}}}{x(t+2)}=\dfrac{1}{10}\int \dfrac{dt}{x^{10}(t+2)}=\dfrac{1}{10}\int \dfrac{dt}{t(t+2)}$ + +$\dfrac{1}{t(t+2)}=\dfrac{A}{t}+\dfrac{B}{t+2}$ +$1=A(t+2)+Bt=(A+B)t+2A$ +$A=\dfrac12;\ B=-\dfrac12$ + +$I=\dfrac{1}{10}\int(\dfrac{1}{2t}-\dfrac{1}{2(t+2)})dt=\dfrac{1}{20}(\ln|t|-\ln|t+2|)+C$ + +${\,I=\dfrac{1}{20}\ln|\dfrac{x^{10}}{x^{10}+2}|+C\,}$ + +## 67 номер – Д 1915 + +### Пример: + +$\int \dfrac{1-x^{7}}{x(1+x^{7})} \, dx$ + +### Решение: + +$I=\int \dfrac{1-x^{7}}{x(1+x^{7})}dx$ + +$\dfrac{1-x^{7}}{x(1+x^{7})}=\dfrac{1+x^{7}}{x(1+x^{7})}-\dfrac{2x^{7}}{x(1+x^{7})}=\dfrac{1}{x}-\dfrac{2x^{6}}{1+x^{7}}$ + +$I=\int \dfrac{dx}{x}-2\int \dfrac{x^{6}}{1+x^{7}}dx$ + +$u=1+x^{7};\ du=7x^{6}dx$ +$\int \dfrac{x^{6}}{1+x^{7}}dx=\dfrac{1}{7}\int \dfrac{du}{u}=\dfrac{1}{7}\ln|u|$ + +$I=\ln|x|-\dfrac{2}{7}\ln|1+x^{7}|+C$ + +## 68 номер – Д 1916 + +### Пример: + +$\int \dfrac{x^{4}-1}{x(x^{3}-5)(x^{5}-5x+1)} \, dx$ + +### Решение: + +$I=\int \dfrac{x^{4}-1}{x(x^{3}-5)(x^{5}-5x+1)}dx$ + +$\dfrac{x^{4}-1}{x(x^{3}-5)(x^{5}-5x+1)}=\dfrac{1}{5x}+\dfrac{187x^{2}+1575x+1250}{7190(x^{3}-5)}-\dfrac{325x^{4}+315x^{3}+250x^{2}+187x-1488}{1438(x^{5}-5x+1)}$ + +$I=I_1+I_2+I_3$ + +$I_1=\dfrac15\int \dfrac{dx}{x}=\dfrac15\ln|x|$ + +$I_2=\dfrac{1}{7190}\int \dfrac{187x^{2}+1575x+1250}{x^{3}-5}dx=\dfrac{1}{7190}(\dfrac{187}{3}\int \dfrac{3x^{2}}{x^{3}-5}dx+\int \dfrac{1575x+1250}{x^{3}-5}dx)$ +$u=x^{3}-5;\ du=3x^{2}dx$ +$\dfrac{187}{3}\int \dfrac{3x^{2}}{x^{3}-5}dx=\dfrac{187}{3}\ln|x^{3}-5|$ + +$a=\sqrt[3]{5};\ x^{3}-5=(x-a)(x^{2}+ax+a^{2})$ +$\dfrac{1575x+1250}{x^{3}-5}=\dfrac{A}{x-a}+\dfrac{Bx+C}{x^{2}+ax+a^{2}}$ +$A=\dfrac{1575a+1250}{3a^{2}};\ B=-A;\ C=\dfrac{1575a-2500}{3a}$ + +$\int \dfrac{A}{x-a}dx=A\ln|x-a|$ +$\int \dfrac{Bx+C}{x^{2}+ax+a^{2}}dx=\dfrac{B}{2}\ln(x^{2}+ax+a^{2})+(C-\dfrac{Ba}{2})\int \dfrac{dx}{x^{2}+ax+a^{2}}$ +$x^{2}+ax+a^{2}=(x+\dfrac{a}{2})^{2}+\dfrac{3a^{2}}{4}$ +$\int \dfrac{dx}{x^{2}+ax+a^{2}}=\dfrac{2}{a\sqrt3}\arctan(\dfrac{2x+a}{a\sqrt3})$ + +$I_2=\dfrac{1}{7190}(\dfrac{187}{3}\ln|x^{3}-5|+A\ln|x-a|+\dfrac{B}{2}\ln(x^{2}+ax+a^{2})+(C-\dfrac{Ba}{2})\dfrac{2}{a\sqrt3}\arctan(\dfrac{2x+a}{a\sqrt3}))$ + +$I_3=-\dfrac{1}{1438}\int \dfrac{325x^{4}+315x^{3}+250x^{2}+187x-1488}{x^{5}-5x+1}dx$ +$P(x)=x^{5}-5x+1;\ P'(x)=5x^{4}-5$ +$r_1,\dots,r_5\text{ — корни }P(x)=0$ +$\dfrac{325x^{4}+315x^{3}+250x^{2}+187x-1488}{P(x)}=\sum\limits_{k=1}^{5}\dfrac{325r_k^{4}+315r_k^{3}+250r_k^{2}+187r_k-1488}{P'(r_k)}\cdot\dfrac{1}{x-r_k}$ +$I_3=-\dfrac{1}{1438}\sum\limits_{k=1}^{5}\dfrac{325r_k^{4}+315r_k^{3}+250r_k^{2}+187r_k-1488}{5r_k^{4}-5}\ln(x-r_k)$ + +${\,I=\dfrac15\ln|x|+I_2+I_3+C\,}$ + +## 69 номер – Д 1917 + +### Пример: + +$\int \dfrac{x^{2}+1}{x^{4}+x^{2}+1} \, dx$ + +### Решение: + +$I=\int \dfrac{x^{2}+1}{x^{4}+x^{2}+1}dx$ + +$x^{4}+x^{2}+1=(x^{2}-x+1)(x^{2}+x+1)$ +$x^{2}+1=\dfrac12[(x^{2}-x+1)+(x^{2}+x+1)]$ + +$I=\dfrac12\int \dfrac{dx}{x^{2}-x+1}+\dfrac12\int \dfrac{dx}{x^{2}+x+1}=I_1+I_2$ + +$x^{2}-x+1=(x-\dfrac12)^{2}+\dfrac34$ +$t=x-\dfrac12;\ dt=dx$ +$I_1=\dfrac12\int \dfrac{dt}{t^{2}+(\frac{\sqrt3}{2})^{2}}=\dfrac{1}{\sqrt3}\arctan(\dfrac{2t}{\sqrt3})=\dfrac{1}{\sqrt3}\arctan(\dfrac{2x-1}{\sqrt3})$ + +$x^{2}+x+1=(x+\dfrac12)^{2}+\dfrac34$ +$s=x+\dfrac12;\ ds=dx$ +$I_2=\dfrac12\int \dfrac{ds}{s^{2}+(\frac{\sqrt3}{2})^{2}}=\dfrac{1}{\sqrt3}\arctan(\dfrac{2s}{\sqrt3})=\dfrac{1}{\sqrt3}\arctan(\dfrac{2x+1}{\sqrt3})$ + +${\,I=\dfrac{1}{\sqrt3}(\arctan(\dfrac{2x-1}{\sqrt3})+\arctan(\dfrac{2x+1}{\sqrt3}))+C\,}$ + +## 70 номер – Д 1921 + +да может ну это... ну не надо? + +## 71 номер – Д 1971 + +### Пример: + +$\int \dfrac{dx}{\sqrt{ x^{2}+1 }-\sqrt{ x^{2}-1 }}$ + +### Решение: + +$x^2-1\ge0;\ |x|\ge1;$ + +$I=\int \dfrac{dx}{\sqrt{x^2+1}-\sqrt{x^2-1}}\cdot\dfrac{\sqrt{x^2+1}+\sqrt{x^2-1}}{\sqrt{x^2+1}+\sqrt{x^2-1}}=\int \dfrac{\sqrt{x^2+1}+\sqrt{x^2-1}}{(x^2+1)-(x^2-1)}dx$ +$I=\dfrac12\int(\sqrt{x^2+1}+\sqrt{x^2-1})dx=\dfrac12\int\sqrt{x^2+1}\,dx+\dfrac12\int\sqrt{x^2-1}\,dx$ +$I=I_1+I_2$ + +$I_1=\dfrac12\int\sqrt{x^2+1}\,dx;\ \sqrt{x^2+1}=r$ +$\int r\,dx=\dfrac12(xr+\ln(x+r))$ +$I_1=\dfrac12\cdot\dfrac12(x\sqrt{x^2+1}+\ln|x+\sqrt{x^2+1}|)=\dfrac14x\sqrt{x^2+1}+\dfrac14\ln|x+\sqrt{x^2+1}|$ + +$I_2=\dfrac12\int\sqrt{x^2-1}\,dx;\ \sqrt{x^2-1}=s$ +$\int s\,dx=\dfrac12(xs-\ln|x+s|)$ +$I_2=\dfrac12\cdot\dfrac12(x\sqrt{x^2-1}-\ln|x+\sqrt{x^2-1}|)=\dfrac14x\sqrt{x^2-1}-\dfrac14\ln|x+\sqrt{x^2-1}|$ + +${\,I=\dfrac{x}{4}(\sqrt{x^{2}+1}+\sqrt{x^{2}-1})+\dfrac14\ln|\dfrac{x+\sqrt{x^{2}+1}}{x+\sqrt{x^{2}-1}}|+C\,}$ + +## 72 номер – Д 1972 + +### Пример: + +$\int \dfrac{xdx}{(1-x^{3})\sqrt{ 1-x^{2} }}$ + +### Решение: + +$I=\int \dfrac{x}{(1-x^3)\sqrt{1-x^2}}dx$ + +$\dfrac{1}{1-x^3}=\dfrac{1}{3(1-x)}+\dfrac{x+2}{3(x^2+x+1)}$ +$I=\dfrac13\int \dfrac{x}{(1-x)\sqrt{1-x^2}}dx+\dfrac13\int \dfrac{x(x+2)}{(x^2+x+1)\sqrt{1-x^2}}dx$ +$I=I_1+I_2$ + +$x=\cos t;\ dx=-\sin t\,dt;\ \sqrt{1-x^2}=\sin t$ +$I_1=\dfrac13\int \dfrac{\cos t}{(1-\cos t)\sin t}(-\sin t\,dt)=-\dfrac13\int \dfrac{\cos t}{1-\cos t}dt$ +$\dfrac{\cos t}{1-\cos t}=-1+\dfrac{1}{1-\cos t}$ +$I_1=-\dfrac13\int(-1+\dfrac{1}{1-\cos t})dt=\dfrac{t}{3}-\dfrac13\int\dfrac{dt}{1-\cos t}$ +$1-\cos t=2\sin^2\dfrac{t}{2}$ +$\int\dfrac{dt}{1-\cos t}=\int\dfrac{dt}{2\sin^2(t/2)}=-\cot\dfrac{t}{2}$ +$I_1=\dfrac{t}{3}+\dfrac13\cot\dfrac{t}{2}$ + +$I_2=\dfrac13\int \dfrac{\cos t(\cos t+2)}{(\cos^2t+\cos t+1)\sin t}(-\sin t\,dt)=-\dfrac13\int \dfrac{\cos t(\cos t+2)}{\cos^2t+\cos t+1}dt$ +$\cos t(\cos t+2)=\cos^2t+2\cos t=(\cos^2t+\cos t+1)+(\cos t-1)$ +$I_2=-\dfrac13\int(1+\dfrac{\cos t-1}{\cos^2t+\cos t+1})dt=-\dfrac{t}{3}-\dfrac13\int \dfrac{\cos t-1}{\cos^2t+\cos t+1}dt$ + +$I=I_1+I_2=\dfrac13\cot\dfrac{t}{2}-\dfrac13\int \dfrac{\cos t-1}{\cos^2t+\cos t+1}dt$ + +$u=\tan\dfrac{t}{2};\ dt=\dfrac{2\,du}{1+u^2};\ \cos t=\dfrac{1-u^2}{1+u^2}$ +$\cos t-1=-\dfrac{2u^2}{1+u^2}$ +$\cos^2t+\cos t+1=\dfrac{u^4+3}{(1+u^2)^2}$ +$\dfrac{\cos t-1}{\cos^2t+\cos t+1}dt=-\dfrac{4u^2}{u^4+3}du$ + +$I=\dfrac13\cot\dfrac{t}{2}+\dfrac{4}{3}\int\dfrac{u^2}{u^4+3}du$ + +$p=\sqrt[4]{3}$ +$u^4+3=u^4+p^4=(u^2-\sqrt2\,pu+\sqrt3)(u^2+\sqrt2\,pu+\sqrt3)$ +$\dfrac{u^2}{u^4+3}=\dfrac{\sqrt2\,p^3}{12}(\dfrac{u}{u^2-\sqrt2\,pu+\sqrt3}-\dfrac{u}{u^2+\sqrt2\,pu+\sqrt3})$ + +$\int\dfrac{u}{u^2+\sqrt2\,pu+\sqrt3}du=\dfrac12\ln(u^2+\sqrt2\,pu+\sqrt3)-\arctan(\dfrac{\sqrt2}{p}u+1)$ +$\int\dfrac{u}{u^2-\sqrt2\,pu+\sqrt3}du=\dfrac12\ln(u^2-\sqrt2\,pu+\sqrt3)+\arctan(\dfrac{\sqrt2}{p}u-1)$ + +$\int\dfrac{u^2}{u^4+3}du=\dfrac{\sqrt2\,p^3}{24}\ln(\dfrac{u^2-\sqrt2\,pu+\sqrt3}{u^2+\sqrt2\,pu+\sqrt3})+\dfrac{\sqrt2\,p^3}{12}(\arctan(\dfrac{\sqrt2}{p}u-1)+\arctan(\dfrac{\sqrt2}{p}u+1))+C$ + +$\sqrt2\,p^3=\dfrac{3\sqrt2}{p}$ +$I=\dfrac13\cot\dfrac{t}{2}+\dfrac{\sqrt2}{6p}\ln(\dfrac{u^2-\sqrt2\,pu+\sqrt3}{u^2+\sqrt2\,pu+\sqrt3})+\dfrac{\sqrt2}{3p}(\arctan(\dfrac{\sqrt2}{p}u-1)+\arctan(\dfrac{\sqrt2}{p}u+1))+C$ + +$\cot\dfrac{t}{2}=\dfrac{1+\cos t}{\sin t}=\dfrac{1+x}{\sqrt{1-x^2}}$ +$u=\tan\dfrac{t}{2}=\dfrac{\sin t}{1+\cos t}=\dfrac{\sqrt{1-x^2}}{1+x}$ + +${\,I=\dfrac{1+x}{3\sqrt{1-x^2}}+\dfrac{\sqrt2}{6\sqrt[4]{3}}\ln(\dfrac{u^2-\sqrt2\sqrt[4]{3}\,u+\sqrt3}{u^2+\sqrt2\sqrt[4]{3}\,u+\sqrt3})+\dfrac{\sqrt2}{3\sqrt[4]{3}}(\arctan(\dfrac{\sqrt2}{\sqrt[4]{3}}u-1)+\arctan(\dfrac{\sqrt2}{\sqrt[4]{3}}u+1))+C\,}$ +$u=\dfrac{\sqrt{1-x^2}}{1+x}$ + +## 73 номер – Д 1973 + +### Пример: + +$\int \dfrac{dx}{\sqrt{ 2 }+\sqrt{ 1-x }+\sqrt{ 1+x }}$ + +### Решение: + +$-1\le x\le1$ + +$I=\int \dfrac{dx}{\sqrt2+\sqrt{1-x}+\sqrt{1+x}}$ + +$x=\cos2t;\ dx=-2\sin2t\,dt$ +$\sqrt{1-x}=\sqrt{1-\cos2t}=\sqrt2\sin t$ +$\sqrt{1+x}=\sqrt{1+\cos2t}=\sqrt2\cos t$ + +$I=\int \dfrac{-2\sin2t\,dt}{\sqrt2(1+\sin t+\cos t)}=-\sqrt2\int \dfrac{\sin2t}{1+\sin t+\cos t}dt$ + +$(\sin t+\cos t)^2=1+2\sin t\cos t=1+\sin2t$ +$\sin2t=(\sin t+\cos t)^2-1$ + +$\dfrac{\sin2t}{1+\sin t+\cos t}=\dfrac{(\sin t+\cos t)^2-1}{1+\sin t+\cos t}=\sin t+\cos t-1$ + +$I=-\sqrt2\int(\sin t+\cos t-1)dt=-\sqrt2(-\cos t+\sin t-t)+C$ +$I=\sqrt2(\cos t-\sin t+t)+C$ + +$x=\cos2t\ \implies\ t=\dfrac12\arccos x$ +$\cos t=\sqrt{\dfrac{1+\cos2t}{2}}=\sqrt{\dfrac{1+x}{2}};\ \sin t=\sqrt{\dfrac{1-\cos2t}{2}}=\sqrt{\dfrac{1-x}{2}}$ + +${\,I=\sqrt{1+x}-\sqrt{1-x}+\dfrac{1}{\sqrt2}\arccos x+C\,}$ + +## 74 номер – Д 1974 + +### Пример: + +$\int \dfrac{x+\sqrt{ 1+x+x^{2} }}{1+x+\sqrt{ 1+x+x^{2} }} \, dx$ + +### Решение: + +$I=\int \dfrac{x+\sqrt{1+x+x^{2}}}{1+x+\sqrt{1+x+x^{2}}}dx$ +$S=\sqrt{1+x+x^{2}}$ + +$\dfrac{x+S}{1+x+S}=1-\dfrac{1}{1+x+S}$ +$I=\int dx-\int\dfrac{dx}{1+x+S}=x-J$ + +$J=\int\dfrac{dx}{1+x+S}\cdot\dfrac{1+x-S}{1+x-S}=\int\dfrac{1+x-S}{(1+x)^{2}-S^{2}}dx$ +$(1+x)^{2}-S^{2}=(1+2x+x^{2})-(1+x+x^{2})=x$ +$J=\int\dfrac{1+x-S}{x}dx=\int(\dfrac{1}{x}+1-\dfrac{S}{x})dx=\ln|x|+x-K$ + +$I=x-(\ln|x|+x-K)=K-\ln|x|$ +$K=\int\dfrac{S}{x}dx$ + +$S=xt+1;\ x\neq0$ +$x^{2}+x+1=(xt+1)^{2}=x^{2}t^{2}+2xt+1$ +$x+1=xt^{2}+2t$ +$x(1-t^{2})=2t-1$ +$x=\dfrac{2t-1}{1-t^{2}};\ S=xt+1$ + +$\dfrac{S}{x}=\dfrac{xt+1}{x}=t+\dfrac{1}{x}=t+\dfrac{1-t^{2}}{2t-1}=\dfrac{t^{2}-t+1}{2t-1}$ +$dx=(\dfrac{2t-1}{1-t^{2}})'dt=\dfrac{2(t^{2}-t+1)}{(t^{2}-1)^{2}}dt$ + +$K=\int\dfrac{S}{x}dx=\int\dfrac{t^{2}-t+1}{2t-1}\cdot\dfrac{2(t^{2}-t+1)}{(t^{2}-1)^{2}}dt=\int\dfrac{2(t^{2}-t+1)^{2}}{(2t-1)(t^{2}-1)^{2}}dt$ + +$\dfrac{2(t^{2}-t+1)^{2}}{(2t-1)(t^{2}-1)^{2}}=\dfrac{2}{2t-1}+\dfrac{1}{2(t+1)}-\dfrac{3}{2(t+1)^{2}}-\dfrac{1}{2(t-1)}+\dfrac{1}{2(t-1)^{2}}$ + +$K=\int(\dfrac{2}{2t-1}+\dfrac{1}{2(t+1)}-\dfrac{3}{2(t+1)^{2}}-\dfrac{1}{2(t-1)}+\dfrac{1}{2(t-1)^{2}})dt$ +$K=\ln|2t-1|+\dfrac12\ln|t+1|-\dfrac12\ln|t-1|+\dfrac{3}{2(t+1)}-\dfrac{1}{2(t-1)}+C$ + +$t=\dfrac{S-1}{x}=\dfrac{\sqrt{1+x+x^{2}}-1}{x}$ +$2t-1=\dfrac{2S-x-2}{x}$ +$t+1=\dfrac{S+x-1}{x}$ +$t-1=\dfrac{S-x-1}{x}$ + +$I=K-\ln|x|$ +$I=\ln|\dfrac{2S-x-2}{x}|+\dfrac12\ln|\dfrac{S+x-1}{S-x-1}|+\dfrac{3}{2}\cdot\dfrac{x}{S+x-1}-\dfrac{1}{2}\cdot\dfrac{x}{S-x-1}-\ln|x|+C$ + +${\,I=\ln|\dfrac{2\sqrt{1+x+x^{2}}-x-2}{x^{2}}|+\dfrac12\ln|\dfrac{\sqrt{1+x+x^{2}}+x-1}{\sqrt{1+x+x^{2}}-x-1}|+\dfrac{3x}{2(\sqrt{1+x+x^{2}}+x-1)}-\dfrac{x}{2(\sqrt{1+x+x^{2}}-x-1)}+C\,}$ + +## 75 номер – Д 1975 + +### Пример: + +$\int \dfrac{\sqrt{ x(x+1) }}{\sqrt{ x }+\sqrt{ x+1 }} \, dx$ + +### Решение: + +$I=\int \dfrac{\sqrt{x(x+1)}}{\sqrt{x}+\sqrt{x+1}}dx=\int \dfrac{\sqrt{x}\sqrt{x+1}}{\sqrt{x}+\sqrt{x+1}}dx$ + +$I=\int \dfrac{\sqrt{x}\sqrt{x+1}}{\sqrt{x}+\sqrt{x+1}}\cdot\dfrac{\sqrt{x+1}-\sqrt{x}}{\sqrt{x+1}-\sqrt{x}}dx=\int \dfrac{\sqrt{x}\sqrt{x+1}(\sqrt{x+1}-\sqrt{x})}{(\sqrt{x+1})^{2}-(\sqrt{x})^{2}}dx$ +$I=\int \sqrt{x}\sqrt{x+1}(\sqrt{x+1}-\sqrt{x})dx$ + +$I=\int(\sqrt{x}(x+1)-x\sqrt{x+1})dx=\int (x+1)\sqrt{x}\,dx-\int x\sqrt{x+1}\,dx$ +$I=I_1-I_2$ + +$I_1=\int (x+1)\sqrt{x}\,dx=\int (x^{\frac32}+x^{\frac12})dx=\dfrac{2}{5}x^{\frac52}+\dfrac{2}{3}x^{\frac32}$ + +$I_2=\int x\sqrt{x+1}\,dx$ +$t=x+1;\ x=t-1;\ dt=dx$ +$I_2=\int (t-1)\sqrt{t}\,dt=\int (t^{\frac32}-t^{\frac12})dt=\dfrac{2}{5}t^{\frac52}-\dfrac{2}{3}t^{\frac32}=\dfrac{2}{5}(x+1)^{\frac52}-\dfrac{2}{3}(x+1)^{\frac32}$ + +${\,I=\dfrac{2}{5}x^{\frac52}+\dfrac{2}{3}x^{\frac32}-\dfrac{2}{5}(x+1)^{\frac52}+\dfrac{2}{3}(x+1)^{\frac32}+C\,}$ + +## 76 номер – Д 2025 + +### Пример: + +$\int \dfrac{dx}{2\sin x-\cos x+5}$ + +### Решение: + +$I=\int \dfrac{dx}{2\sin x-\cos x+5}$ + +$t=\tan\dfrac{x}{2};\ \sin x=\dfrac{2t}{1+t^2};\ \cos x=\dfrac{1-t^2}{1+t^2};\ dx=\dfrac{2dt}{1+t^2}$ + +$I=\int \dfrac{\dfrac{2dt}{1+t^2}}{2\cdot\dfrac{2t}{1+t^2}-\dfrac{1-t^2}{1+t^2}+5}=\int \dfrac{2dt}{4t-(1-t^2)+5(1+t^2)}=\int \dfrac{2dt}{6t^2+4t+4}=\int \dfrac{dt}{3t^2+2t+2}$ + +$3t^2+2t+2=3(t+\dfrac13)^2+\dfrac53$ +$I=\int \dfrac{dt}{3(t+\dfrac13)^2+\dfrac53}=3\int \dfrac{dt}{9(t+\dfrac13)^2+5}$ + +$u=3t+1;\ du=3dt$ +$I=\int \dfrac{du}{u^2+5}=\dfrac{1}{\sqrt5}\arctan(\dfrac{u}{\sqrt5})+C=\dfrac{1}{\sqrt5}\arctan(\dfrac{3\tan\frac{x}{2}+1}{\sqrt5})+C$ + +${\,I=\dfrac{1}{\sqrt5}\arctan(\dfrac{3\tan\frac{x}{2}+1}{\sqrt5})+C\,}$ + +## 77 номер – Д 2026 + +### Пример: + +$\int \dfrac{dx}{(2+\cos x)\sin x}$ + +### Решение: + +$I=\int \dfrac{dx}{(2+\cos x)\sin x}$ + +$t=\cos x;\ dt=-(\sin x)dx;\ dx=-\dfrac{dt}{\sin x};\ \sin^{2}x=1-\cos^{2}x=1-t^{2}$ + +$I=\int \dfrac{-\dfrac{dt}{\sin x}}{(2+t)\sin x}=-\int \dfrac{dt}{(t+2)\sin^{2}x}=-\int \dfrac{dt}{(t+2)(1-t^{2})}$ +$1-t^{2}=(1-t)(1+t)$ +$I=-\int \dfrac{dt}{(t+2)(1-t)(1+t)}$ + +$\dfrac{1}{(t+2)(1-t)(1+t)}=\dfrac{A}{t+2}+\dfrac{B}{1-t}+\dfrac{C}{1+t}$ +$1=A(1-t)(1+t)+B(t+2)(1+t)+C(t+2)(1-t)$ +$A=-\dfrac13;\ B=\dfrac16;\ C=\dfrac12$ + +$I=-\int(-\dfrac{1}{3(t+2)}+\dfrac{1}{6(1-t)}+\dfrac{1}{2(1+t)})dt$ +$I=\int(\dfrac{1}{3(t+2)}-\dfrac{1}{6(1-t)}-\dfrac{1}{2(1+t)})dt$ + +$I=\dfrac13\ln|t+2|+\dfrac16\ln|1-t|-\dfrac12\ln|1+t|+C$ + +$t=\cos x$ +${\,I=\dfrac13\ln|2+\cos x|+\dfrac16\ln|1-\cos x|-\dfrac12\ln|1+\cos x|+C\,}$ + +## 78 номер – Д 2027 + +### Пример: + +$\int \dfrac{\sin ^{2}x}{\sin x+2\cos x} \, dx$ + +### Решение: + +$I=\int \dfrac{\sin^2x}{\sin x+2\cos x}dx$ + +$\sin^2x=(\sin x+2\cos x)(\sin x-2\cos x)+4\cos^2x$ +$\dfrac{\sin^2x}{\sin x+2\cos x}=\sin x-2\cos x+4\cdot\dfrac{\cos^2x}{\sin x+2\cos x}$ + +$I=\int(\sin x-2\cos x)dx+4\int\dfrac{\cos^2x}{\sin x+2\cos x}dx$ +$I=-\cos x-2\sin x+4J$ + +$J=\int\dfrac{\cos^2x}{\sin x+2\cos x}dx$ +$t=\tan\dfrac{x}{2};\ \sin x=\dfrac{2t}{1+t^2};\ \cos x=\dfrac{1-t^2}{1+t^2};\ dx=\dfrac{2dt}{1+t^2}$ + +$J=\int\dfrac{(\dfrac{1-t^2}{1+t^2})^2}{\dfrac{2t}{1+t^2}+2\cdot\dfrac{1-t^2}{1+t^2}}\cdot\dfrac{2dt}{1+t^2}=\int\dfrac{(1-t^2)^2}{(1+t^2)^2(1+t-t^2)}dt$ + +$\dfrac{(1-t^2)^2}{(1+t^2)^2(1+t-t^2)}=-\dfrac{4(t-2)}{5(t^2+1)^2}-\dfrac{4}{5(t^2+1)}-\dfrac{1}{5(t^2-t-1)}$ + +$J=-\dfrac45\int\dfrac{t-2}{(t^2+1)^2}dt-\dfrac45\int\dfrac{dt}{t^2+1}-\dfrac15\int\dfrac{dt}{t^2-t-1}$ + +$\int\dfrac{t-2}{(t^2+1)^2}dt=\int\dfrac{t}{(t^2+1)^2}dt-2\int\dfrac{dt}{(t^2+1)^2}$ +$u=t^2+1;\ du=2t\,dt$ +$\int\dfrac{t}{(t^2+1)^2}dt=\dfrac12\int\dfrac{du}{u^2}=-\dfrac{1}{2(t^2+1)}$ + +$(\dfrac{t}{t^2+1})'=\dfrac{1-t^2}{(t^2+1)^2}$ +$2\int\dfrac{dt}{(t^2+1)^2}=\dfrac{t}{t^2+1}+\int\dfrac{dt}{t^2+1}=\dfrac{t}{t^2+1}+\arctan t$ +$\int\dfrac{dt}{(t^2+1)^2}=\dfrac12(\dfrac{t}{t^2+1}+\arctan t)$ + +$\int\dfrac{t-2}{(t^2+1)^2}dt=-\dfrac{2t+1}{2(t^2+1)}-\arctan t$ + +$t^2-t-1=(t-\dfrac12)^2-(\dfrac{\sqrt5}{2})^2$ +$\int\dfrac{dt}{t^2-t-1}=\dfrac{1}{\sqrt5}\ln|\dfrac{t-\frac12-\frac{\sqrt5}{2}}{t-\frac12+\frac{\sqrt5}{2}}|$ + +$J=-\dfrac45(-\dfrac{2t+1}{2(t^2+1)}-\arctan t)-\dfrac45\arctan t-\dfrac{1}{5\sqrt5}\ln|\dfrac{t-\frac12-\frac{\sqrt5}{2}}{t-\frac12+\frac{\sqrt5}{2}}|$ +$J=\dfrac{4t+2}{5(t^2+1)}+\dfrac{\sqrt5}{25}\ln|\dfrac{2t-1+\sqrt5}{2t-1-\sqrt5}|+C$ + +$t=\tan\dfrac{x}{2}$ +$I=-\dfrac{\cos x+2\sin x}{5}+\dfrac{4\sqrt5}{25}\ln|\dfrac{2\tan\frac{x}{2}-1+\sqrt5}{2\tan\frac{x}{2}-1-\sqrt5}|+C$ + +## 79 номер – Д 2029 + +### Пример: + +$\int \dfrac{\sin ^{2}x}{1+\sin ^{2}x} \, dx$ + +### Решение: + +$I=\int \dfrac{\sin^2x}{1+\sin^2x}dx$ + +$\dfrac{\sin^2x}{1+\sin^2x}=1-\dfrac{1}{1+\sin^2x}$ +$I=\int dx-\int \dfrac{dx}{1+\sin^2x}=x-J$ + +$J=\int \dfrac{dx}{1+\sin^2x}$ +$t=\tan x;\ dt=(1+t^2)dx;\ dx=\dfrac{dt}{1+t^2}$ +$\sin^2x=\dfrac{\tan^2x}{1+\tan^2x}=\dfrac{t^2}{1+t^2}$ + +$J=\int \dfrac{\dfrac{dt}{1+t^2}}{1+\dfrac{t^2}{1+t^2}}=\int \dfrac{\dfrac{dt}{1+t^2}}{\dfrac{1+2t^2}{1+t^2}}=\int \dfrac{dt}{1+2t^2}$ + +$J=\dfrac{1}{\sqrt2}\arctan(\sqrt2\,t)+C=\dfrac{1}{\sqrt2}\arctan(\sqrt2\tan x)+C$ + +${\,I=x-\dfrac{1}{\sqrt2}\arctan(\sqrt2\tan x)+C\,}$ + +## 80 номер – Д 2030 + +### Пример: + +$\int \dfrac{dx}{a^{2}\sin ^{2}x+b^{2}\cos ^{2}x}$ + +### Решение: + +$I=\int \dfrac{dx}{a^{2}\sin^{2}x+b^{2}\cos^{2}x}$ + +$I=\int \dfrac{dx}{\cos^{2}x(a^{2}\tan^{2}x+b^{2})}=\int \dfrac{\sec^{2}x}{a^{2}\tan^{2}x+b^{2}}dx$ + +$t=\tan x;\ dt=\sec^{2}x\,dx$ +$I=\int \dfrac{dt}{a^{2}t^{2}+b^{2}}=\dfrac{1}{b^{2}}\int \dfrac{dt}{1+(\dfrac{a}{b})^{2}t^{2}}$ + +$I=\dfrac{1}{b^{2}}\cdot\dfrac{b}{a}\arctan(\dfrac{a}{b}t)+C=\dfrac{1}{ab}\arctan(\dfrac{a}{b}\tan x)+C$ + +${\,I=\dfrac{1}{ab}\arctan(\dfrac{a\tan x}{b})+C\,}$ + +## 81 номер – Д 2031 + +### Пример: + +$\int \dfrac{\cos ^{2}xdx}{( a^{2}\sin ^{2} x+b^{2}\cos ^{2} x)^{2}}$ + +### Решение: + +$I=\int \dfrac{\cos ^{2}x}{( a^{2}\sin ^{2} x+b^{2}\cos ^{2} x)^{2}}dx;\ (a\neq0,\ b\neq0)$ + +$t=\tan x;\ dt=(\tan x)'dx=\sec^2x\,dx=(1+\tan^2x)dx=(1+t^2)dx;\ dx=\dfrac{dt}{1+t^2};$ +$\sin^2x=\dfrac{t^2}{1+t^2};\ \cos^2x=\dfrac{1}{1+t^2};$ + +$I=\int \dfrac{\dfrac{1}{1+t^2}\cdot\dfrac{dt}{1+t^2}}{(a^2\dfrac{t^2}{1+t^2}+b^2\dfrac{1}{1+t^2})^2}=\int \dfrac{\dfrac{dt}{(1+t^2)^2}}{(\dfrac{a^2t^2+b^2}{1+t^2})^2}=\int \dfrac{dt}{(a^2t^2+b^2)^2}$ + +$u=\dfrac{a}{b}t;\ t=\dfrac{b}{a}u;\ dt=\dfrac{b}{a}du;$ +$a^2t^2+b^2=b^2(u^2+1);$ + +$I=\int \dfrac{\dfrac{b}{a}du}{(b^2(u^2+1))^2}=\dfrac{1}{ab^3}\int \dfrac{du}{(u^2+1)^2}$ + +$(\dfrac{u}{1+u^2})'=\dfrac{1-u^2}{(1+u^2)^2}$ +$\dfrac{1}{(1+u^2)^2}=\dfrac12(\dfrac{1-u^2}{(1+u^2)^2}+\dfrac{1}{1+u^2})$ + +$\int \dfrac{du}{(1+u^2)^2}=\dfrac12\int \dfrac{1-u^2}{(1+u^2)^2}du+\dfrac12\int \dfrac{du}{1+u^2}=\dfrac12\cdot\dfrac{u}{1+u^2}+\dfrac12\arctan u$ + +$I=\dfrac{1}{ab^3}(\dfrac12\cdot\dfrac{u}{1+u^2}+\dfrac12\arctan u)=\dfrac{1}{2ab^3}(\dfrac{u}{1+u^2}+\arctan u)+C$ + +$u=\dfrac{a}{b}\tan x;$ +$\dfrac{u}{1+u^2}=\dfrac{\frac{a}{b}\tan x}{1+(\frac{a}{b}\tan x)^2}=\dfrac{ab\tan x}{b^2+a^2\tan^2x}=\dfrac{ab\sin x\cos x}{a^2\sin^2x+b^2\cos^2x}$ + +${\,I=\dfrac{\sin x\cos x}{2b^{2}(a^{2}\sin ^{2}x+b^{2}\cos ^{2}x)}+\dfrac{1}{2ab^{3}}\arctan(\dfrac{a\tan x}{b})+C\,}$ + +## 82 номер – Д 2032 + +### Пример: + +$\int \dfrac{\sin x\cos x}{\sin x+\cos x} \, dx$ + +### Решение: + +$\sin x+\cos x\neq0;$ + +$I=\int \dfrac{\sin x\cos x}{\sin x+\cos x}dx$ + +$t=x-\dfrac{\pi}{4};\ x=t+\dfrac{\pi}{4};\ dt=dx$ +$\sin x=\sin(t+\dfrac{\pi}{4})=\dfrac{\sin t+\cos t}{\sqrt2};$ +$\cos x=\cos(t+\dfrac{\pi}{4})=\dfrac{\cos t-\sin t}{\sqrt2};$ + +$\sin x+\cos x=\dfrac{\sin t+\cos t+\cos t-\sin t}{\sqrt2}=\sqrt2\cos t;$ +$\sin x\cos x=\dfrac{(\sin t+\cos t)(\cos t-\sin t)}{2}=\dfrac{\cos^2t-\sin^2t}{2}=\dfrac12\cos2t;$ + +$I=\int \dfrac{\frac12\cos2t}{\sqrt2\cos t}dt=\dfrac{1}{2\sqrt2}\int\dfrac{\cos2t}{\cos t}dt$ +$\cos2t=2\cos^2t-1$ +$\dfrac{\cos2t}{\cos t}=2\cos t-\sec t$ + +$I=\dfrac{1}{2\sqrt2}\int(2\cos t-\sec t)dt=\dfrac{1}{\sqrt2}\int\cos t\,dt-\dfrac{1}{2\sqrt2}\int\sec t\,dt$ +$I=\dfrac{1}{\sqrt2}\sin t-\dfrac{1}{2\sqrt2}\ln|\sec t+\tan t|+C$ + +$\sin t=\sin(x-\dfrac{\pi}{4})=\dfrac{\sin x-\cos x}{\sqrt2};$ +$\sec t+\tan t=\dfrac{1+\sin t}{\cos t};\ \sin t=\dfrac{\sin x-\cos x}{\sqrt2};\ \cos t=\cos(x-\dfrac{\pi}{4})=\dfrac{\sin x+\cos x}{\sqrt2};$ +$\sec t+\tan t=\dfrac{\sqrt2+\sin x-\cos x}{\sin x+\cos x}$ + +${\,I=\dfrac{\sin x-\cos x}{2}-\dfrac{1}{2\sqrt2}\ln|\dfrac{\sqrt2+\sin x-\cos x}{\sin x+\cos x}|+C\,}$ + +## 83 номер – Д 2033 + +### Пример: + +$\int \dfrac{dx}{(a\sin x+b\cos x)^{2}}$ + +### Решение: + +$a^{2}+b^{2}\neq0;\ a\sin x+b\cos x\neq0;$ + +$I=\int \dfrac{dx}{(a\sin x+b\cos x)^{2}}$ + +$u=a\sin x+b\cos x;\ u'=a\cos x-b\sin x$ +$v=a\cos x-b\sin x;\ v'=-a\sin x-b\cos x=-u$ + +$(\dfrac{v}{u})'=\dfrac{v'u-vu'}{u^{2}}=\dfrac{(-u)u-v^{2}}{u^{2}}=-\dfrac{u^{2}+v^{2}}{u^{2}}$ + +$u^{2}+v^{2}=(a\sin x+b\cos x)^{2}+(a\cos x-b\sin x)^{2}=a^{2}+b^{2}$ + +$(\dfrac{v}{u})'=-\dfrac{a^{2}+b^{2}}{(a\sin x+b\cos x)^{2}}$ +$\dfrac{1}{(a\sin x+b\cos x)^{2}}=-\dfrac{1}{a^{2}+b^{2}}(\dfrac{v}{u})'$ + +$I=-\dfrac{1}{a^{2}+b^{2}}\int(\dfrac{v}{u})'dx=-\dfrac{1}{a^{2}+b^{2}}\cdot\dfrac{v}{u}+C$ + +${\,I=-\dfrac{a\cos x-b\sin x}{(a^{2}+b^{2})(a\sin x+b\cos x)}+C\,}$ + +## 84 номер – Д 2072 + +### Пример: + +$\int x^{7}e^{ -x^{2} } \, dx$ + +### Решение: + +$I=\int x^{7}e^{-x^{2}}dx$ + +$t=x^{2};\ dt=2x\,dx;\ x^{7}dx=x^{6}\cdot x\,dx=(x^{2})^{3}\cdot x\,dx=t^{3}\cdot\dfrac12dt$ +$I=\dfrac12\int t^{3}e^{-t}dt$ + +$J=\int t^{3}e^{-t}dt;\ J=\int u\,dv;\ u=t^{3};\ dv=e^{-t}dt$ +$du=3t^{2}dt;\ v=-e^{-t}$ +$J=uv-\int v\,du=-t^{3}e^{-t}+3\int t^{2}e^{-t}dt$ + +$J_1=\int t^{2}e^{-t}dt;\ J_1=\int u\,dv;\ u=t^{2};\ dv=e^{-t}dt$ +$du=2t\,dt;\ v=-e^{-t}$ +$J_1=-t^{2}e^{-t}+2\int t e^{-t}dt$ + +$J_2=\int t e^{-t}dt;\ J_2=\int u\,dv;\ u=t;\ dv=e^{-t}dt$ +$du=dt;\ v=-e^{-t}$ +$J_2=-t e^{-t}+\int e^{-t}dt=-t e^{-t}-e^{-t}$ + +$J_1=-t^{2}e^{-t}+2(-t e^{-t}-e^{-t})=-(t^{2}+2t+2)e^{-t}$ +$J=-t^{3}e^{-t}+3J_1=-t^{3}e^{-t}-3(t^{2}+2t+2)e^{-t}=-(t^{3}+3t^{2}+6t+6)e^{-t}$ + +$I=-\dfrac12(t^{3}+3t^{2}+6t+6)e^{-t}+C$ +$t=x^{2}$ + +${\,I=-\dfrac12e^{-x^{2}}(x^{6}+3x^{4}+6x^{2}+6)+C\,}$ + +## 85 номер – Д 2073 + +### Пример: + +$\int x^{2}e^{ \sqrt{ x } }dx$ + +### Решение: + +$x\ge0$ +$I=\int x^{2}e^{\sqrt{x}}dx$ + +$t=\sqrt{x};\ x=t^{2};\ dx=2t\,dt$ +$I=\int t^{4}e^{t}\cdot2t\,dt=2\int t^{5}e^{t}dt$ +$I=2J$ + +$J=\int t^{5}e^{t}dt;\ J=\int u\,dv;\ u=t^{5};\ dv=e^{t}dt$ +$du=5t^{4}dt;\ v=e^{t}$ +$J=t^{5}e^{t}-5\int t^{4}e^{t}dt=t^{5}e^{t}-5J_{1}$ + +$J_{1}=\int t^{4}e^{t}dt=t^{4}e^{t}-4\int t^{3}e^{t}dt=t^{4}e^{t}-4J_{2}$ +$J_{2}=\int t^{3}e^{t}dt=t^{3}e^{t}-3\int t^{2}e^{t}dt=t^{3}e^{t}-3J_{3}$ +$J_{3}=\int t^{2}e^{t}dt=t^{2}e^{t}-2\int te^{t}dt=t^{2}e^{t}-2J_{4}$ +$J_{4}=\int te^{t}dt=te^{t}-\int e^{t}dt=te^{t}-e^{t}$ + +$J_{3}=t^{2}e^{t}-2(te^{t}-e^{t})=e^{t}(t^{2}-2t+2)$ +$J_{2}=t^{3}e^{t}-3e^{t}(t^{2}-2t+2)=e^{t}(t^{3}-3t^{2}+6t-6)$ +$J_{1}=t^{4}e^{t}-4e^{t}(t^{3}-3t^{2}+6t-6)=e^{t}(t^{4}-4t^{3}+12t^{2}-24t+24)$ +$J=t^{5}e^{t}-5e^{t}(t^{4}-4t^{3}+12t^{2}-24t+24)=e^{t}(t^{5}-5t^{4}+20t^{3}-60t^{2}+120t-120)$ + +$I=2e^{t}(t^{5}-5t^{4}+20t^{3}-60t^{2}+120t-120)+C$ +$t=\sqrt{x}$ + +${\,I=2e^{\sqrt{x}}(x^{2}\sqrt{x}-5x^{2}+20x\sqrt{x}-60x+120\sqrt{x}-120)+C\,}$ + +## 86 номер – Д 2074 + +### Пример: + +$\int e^{ ax }\cos ^{2}bx \, dx$ + +### Решение: + +$I=\int e^{ax}\cos^{2}(bx)\,dx$ + +$\cos^{2}(bx)=\dfrac{1+\cos(2bx)}{2}$ +$I=\dfrac12\int e^{ax}dx+\dfrac12\int e^{ax}\cos(2bx)\,dx$ +$I=I_1+I_2$ + +$a\neq0;$ +$I_1=\dfrac12\int e^{ax}dx=\dfrac12\cdot\dfrac{e^{ax}}{a}=\dfrac{e^{ax}}{2a}$ + +$I_2=\dfrac12\int e^{ax}\cos(2bx)\,dx$ +$\int e^{ax}\cos(kx)\,dx=\dfrac{e^{ax}}{a^{2}+k^{2}}(a\cos(kx)+k\sin(kx))$ +$k=2b$ +$I_2=\dfrac12\cdot\dfrac{e^{ax}}{a^{2}+4b^{2}}(a\cos(2bx)+2b\sin(2bx))$ + +${\,I=\dfrac{e^{ax}}{2a}+\dfrac{e^{ax}}{2(a^{2}+4b^{2})}(a\cos(2bx)+2b\sin(2bx))+C\,}$ + +$a=0;$ +$I=\int \cos^{2}(bx)\,dx=\int\dfrac{1+\cos(2bx)}{2}dx=\dfrac{x}{2}+\dfrac{\sin(2bx)}{4b}+C;\ (b\neq0)$ + +## 87 номер – Д 2075 + +### Пример: + +$\int e^{ ax }\sin ^{3}bx \, dx$ + +### Решение: + +$I=\int e^{ax}\sin^{3}(bx)\,dx$ + +$\sin 3u=3\sin u-4\sin^{3}u$ +$\sin^{3}u=\dfrac{3\sin u-\sin 3u}{4}$ +$u=bx$ +$\sin^{3}(bx)=\dfrac{3\sin(bx)-\sin(3bx)}{4}$ + +$I=\dfrac14\int e^{ax}(3\sin(bx)-\sin(3bx))dx=\dfrac34\int e^{ax}\sin(bx)dx-\dfrac14\int e^{ax}\sin(3bx)dx$ +$I=\dfrac34 I_1-\dfrac14 I_2$ + +$\int e^{ax}\sin(kx)\,dx=\dfrac{e^{ax}}{a^{2}+k^{2}}(a\sin(kx)-k\cos(kx))+C$ + +$I_1=\int e^{ax}\sin(bx)\,dx=\dfrac{e^{ax}}{a^{2}+b^{2}}(a\sin(bx)-b\cos(bx))$ +$I_2=\int e^{ax}\sin(3bx)\,dx=\dfrac{e^{ax}}{a^{2}+9b^{2}}(a\sin(3bx)-3b\cos(3bx))$ + +${\,I=\dfrac{e^{ax}}{4}(\dfrac{3(a\sin bx-b\cos bx)}{a^{2}+b^{2}}-\dfrac{a\sin 3bx-3b\cos 3bx}{a^{2}+9b^{2}})+C\,}$ + +## 88 номер – Д 2076 + +### Пример: + +$\int xe^{ x }\sin x \, dx$ + +### Решение: + +$I=\int xe^{x}\sin x\,dx$ + +$I=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x;\ du=dx$ +$dv=e^{x}\sin x\,dx$ + +$v=\int e^{x}\sin x\,dx=\dfrac{e^{x}}{2}(\sin x-\cos x)$ + +$I=x\cdot\dfrac{e^{x}}{2}(\sin x-\cos x)-\int\dfrac{e^{x}}{2}(\sin x-\cos x)\,dx$ +$I=\dfrac{x e^{x}}{2}(\sin x-\cos x)-\dfrac12\int e^{x}\sin x\,dx+\dfrac12\int e^{x}\cos x\,dx$ + +$\int e^{x}\sin x\,dx=\dfrac{e^{x}}{2}(\sin x-\cos x)$ +$\int e^{x}\cos x\,dx=\dfrac{e^{x}}{2}(\sin x+\cos x)$ + +$I=\dfrac{x e^{x}}{2}(\sin x-\cos x)-\dfrac12\cdot\dfrac{e^{x}}{2}(\sin x-\cos x)+\dfrac12\cdot\dfrac{e^{x}}{2}(\sin x+\cos x)+C$ +$I=\dfrac{x e^{x}}{2}(\sin x-\cos x)+\dfrac{e^{x}}{2}\cos x+C$ + +${\,I=\dfrac{e^{x}}{2}(x\sin x+(1-x)\cos x)+C\,}$ + +## 89 номер – Д 2077 + +### Пример: + +$\int x^{2}e^{ x }\cos x \, dx$ + +### Решение: + +$I=\int x^{2}e^{x}\cos x\,dx$ + +$I=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x^{2};\ du=2x\,dx$ +$dv=e^{x}\cos x\,dx$ + +$v=\int e^{x}\cos x\,dx=\dfrac{e^{x}}{2}(\sin x+\cos x)$ + +$I=\dfrac{x^{2}e^{x}}{2}(\sin x+\cos x)-\int x e^{x}(\sin x+\cos x)\,dx$ +$I=\dfrac{x^{2}e^{x}}{2}(\sin x+\cos x)-J$ + +$J=\int x e^{x}(\sin x+\cos x)\,dx=\int x e^{x}\sin x\,dx+\int x e^{x}\cos x\,dx$ +$J=J_{1}+J_{2}$ + +$J_{1}=\int x e^{x}\sin x\,dx$ +$J_{1}=\int u\,dv;\ u=x;\ du=dx;\ dv=e^{x}\sin x\,dx$ +$\int e^{x}\sin x\,dx=\dfrac{e^{x}}{2}(\sin x-\cos x)$ +$J_{1}=x\cdot\dfrac{e^{x}}{2}(\sin x-\cos x)-\int\dfrac{e^{x}}{2}(\sin x-\cos x)\,dx$ +$\int e^{x}\sin x\,dx=\dfrac{e^{x}}{2}(\sin x-\cos x);\ \int e^{x}\cos x\,dx=\dfrac{e^{x}}{2}(\sin x+\cos x)$ +$J_{1}=\dfrac{x e^{x}}{2}(\sin x-\cos x)-\dfrac12\cdot\dfrac{e^{x}}{2}(\sin x-\cos x)+\dfrac12\cdot\dfrac{e^{x}}{2}(\sin x+\cos x)$ +$J_{1}=\dfrac{e^{x}}{2}(x\sin x+(1-x)\cos x)$ + +$J_{2}=\int x e^{x}\cos x\,dx$ +$J_{2}=\int u\,dv;\ u=x;\ du=dx;\ dv=e^{x}\cos x\,dx$ +$J_{2}=x\cdot\dfrac{e^{x}}{2}(\sin x+\cos x)-\int\dfrac{e^{x}}{2}(\sin x+\cos x)\,dx$ +$\int e^{x}(\sin x+\cos x)\,dx=\int e^{x}\sin x\,dx+\int e^{x}\cos x\,dx=e^{x}\sin x$ +$J_{2}=\dfrac{x e^{x}}{2}(\sin x+\cos x)-\dfrac{e^{x}}{2}\sin x$ + +$J=\dfrac{e^{x}}{2}(x\sin x+(1-x)\cos x)+\dfrac{e^{x}}{2}(x(\sin x+\cos x)-\sin x)=\dfrac{e^{x}}{2}((2x-1)\sin x+\cos x)$ + +$I=\dfrac{x^{2}e^{x}}{2}(\sin x+\cos x)-\dfrac{e^{x}}{2}((2x-1)\sin x+\cos x)+C$ + +${\,I=\dfrac{e^{x}}{2}((x-1)^{2}\sin x+(x^{2}-1)\cos x)+C\,}$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/modules/8 MODULE.md b/01 Учёба/1 семестр/Высшая математика/math-200/modules/8 MODULE.md new file mode 100644 index 0000000..7f94764 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/modules/8 MODULE.md @@ -0,0 +1,456 @@ +## 11 номер – Д 2239 +#учеба #семестр_1 #высшая_математика + + +### Пример: + +$\int_{0}^{\ln2} xe^{ -x } \, dx$ + +### Решение: + +$I=\int_{0}^{\ln2} xe^{-x}dx$ + +$I=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x;\ du=dx$ +$dv=e^{-x}dx;\ v=-e^{-x}$ + +$I=.x(-e^{-x})|_{0}^{\ln2}-\int_{0}^{\ln2}(-e^{-x})dx=.-xe^{-x}|_{0}^{\ln2}+\int_{0}^{\ln2}e^{-x}dx$ + +$\int e^{-x}dx=-e^{-x}$ +$I=.-xe^{-x}|_{0}^{\ln2}+.-e^{-x}|_{0}^{\ln2}$ + +$e^{-\ln2}=\dfrac12$ +$I=-(\ln2)\cdot\dfrac12- \dfrac12- (0\cdot1-1)=-\dfrac{\ln2}{2}-\dfrac12+1=\dfrac12-\dfrac{\ln2}{2}$ + +## 13 номер – Д 2241 + +### Пример: + +$\int_{0}^{2\pi} x^{2}\cos x \, dx$ + +### Решение: + +$I=\int_{0}^{2\pi} x^{2}\cos x\,dx$ + +$I=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x^{2};\ du=2x\,dx$ +$dv=\cos x\,dx;\ v=\sin x$ + +$I=.x^{2}\sin x|_{0}^{2\pi}-\int_{0}^{2\pi}2x\sin x\,dx=-2\int_{0}^{2\pi}x\sin x\,dx$ + +$J=\int_{0}^{2\pi}x\sin x\,dx$ +$J=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x;\ du=dx$ +$dv=\sin x\,dx;\ v=-\cos x$ + +$J=.-x\cos x|_{0}^{2\pi}+\int_{0}^{2\pi}\cos x\,dx=.-x\cos x|_{0}^{2\pi}+.\sin x|_{0}^{2\pi}$ +$J=-2\pi\cdot1+0-0=-2\pi$ + +$I=-2J=-2(-2\pi)=4\pi$ + +## 15 номер – Д 2244 + +### Пример: + +$\int_{0}^{\sqrt{ 3 }} x\ \text{arccot} x\, dx$ + +### Решение: + +$I=\int_{0}^{\sqrt3}x\,\text{arccot}\,x\,dx$ + +$I=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=\text{arccot}\,x;\ du=-\dfrac{1}{1+x^{2}}dx$ +$dv=x\,dx;\ v=\dfrac{x^{2}}{2}$ + +$I=.\dfrac{x^{2}}{2}\text{arccot}\,x|_{0}^{\sqrt3}-\int_{0}^{\sqrt3}\dfrac{x^{2}}{2}(-\dfrac{1}{1+x^{2}})dx=.\dfrac{x^{2}}{2}\text{arccot}\,x|_{0}^{\sqrt3}+\dfrac12\int_{0}^{\sqrt3}\dfrac{x^{2}}{1+x^{2}}dx$ + +$\dfrac{x^{2}}{1+x^{2}}=1-\dfrac{1}{1+x^{2}}$ +$I=.\dfrac{x^{2}}{2}\text{arccot}\,x|_{0}^{\sqrt3}+\dfrac12\int_{0}^{\sqrt3}(1-\dfrac{1}{1+x^{2}})dx$ +$\int \dfrac{dx}{1+x^{2}}=\arctan x$ +$I=.\dfrac{x^{2}}{2}\text{arccot}\,x|_{0}^{\sqrt3}+\dfrac12.(x-\arctan x)|_{0}^{\sqrt3}$ + +$\text{arccot}\sqrt3=\dfrac{\pi}{6};\ \arctan\sqrt3=\dfrac{\pi}{3}$ +$I=\dfrac{3}{2}\cdot\dfrac{\pi}{6}+\dfrac12(\sqrt3-\dfrac{\pi}{3})=\dfrac{\pi}{4}+\dfrac{\sqrt3}{2}-\dfrac{\pi}{6}=\dfrac{\sqrt3}{2}+\dfrac{\pi}{12}$ + +## 17 номер – Д 2246 + +### Пример: + +$\int_{0}^{a} x^{2}\sqrt{ a^{2}-x^{2} } \, dx$ + +### Решение: + +$a>0$ +$I=\int_{0}^{a} x^{2}\sqrt{a^{2}-x^{2}}\,dx$ + +$x=a\sin t;\ dx=a\cos t\,dt;\ \sqrt{a^{2}-x^{2}}=a\cos t$ +$x=0\implies t=0;\ x=a\implies t=\dfrac{\pi}{2}$ + +$I=\int_{0}^{\pi/2}(a^{2}\sin^{2}t)\cdot(a\cos t)\cdot(a\cos t)\,dt=a^{4}\int_{0}^{\pi/2}\sin^{2}t\cos^{2}t\,dt$ + +$\sin^{2}t\cos^{2}t=\dfrac14\sin^{2}2t;\ \sin^{2}2t=\dfrac{1-\cos4t}{2}$ +$I=a^{4}\int_{0}^{\pi/2}\dfrac18(1-\cos4t)\,dt=\dfrac{a^{4}}{8}(t-\dfrac{\sin4t}{4})\Big|_{0}^{\pi/2}$ + +$I=\dfrac{a^{4}}{8}(\dfrac{\pi}{2}-0)=\dfrac{\pi a^{4}}{16}$ + +## 19 номер – Д 2248 + +### Пример: + +$\int_{0}^{\ln 2} \sqrt{ e^{ x }-1 } \, dx$ + +### Решение: + +$I=\int_{0}^{\ln2}\sqrt{e^{x}-1}\,dx$ + +$t=e^{x};\ dt=e^{x}dx;\ dx=\dfrac{dt}{t}$ +$x=0\implies t=1;\ x=\ln2\implies t=2$ + +$I=\int_{1}^{2}\dfrac{\sqrt{t-1}}{t}\,dt$ + +$u=\sqrt{t-1};\ t=u^{2}+1;\ dt=2u\,du$ +$t=1\implies u=0;\ t=2\implies u=1$ + +$I=\int_{0}^{1}\dfrac{u}{u^{2}+1}\cdot2u\,du=2\int_{0}^{1}\dfrac{u^{2}}{u^{2}+1}\,du$ +$\dfrac{u^{2}}{u^{2}+1}=1-\dfrac{1}{u^{2}+1}$ + +$I=2\int_{0}^{1}(1-\dfrac{1}{u^{2}+1})du=2(u-\arctan u)\Big|_{0}^{1}$ +$I=2(1-\dfrac{\pi}{4})=2-\dfrac{\pi}{2}$ + +## 21 номер – Д 2269 + +### Пример: + +$\int_{-1}^{1} \dfrac{xdx}{x^{2}+x+1}$ + +### Решение: + +$I=\int_{-1}^{1}\dfrac{x}{x^{2}+x+1}dx$ + +$x=\dfrac12(2x+1)-\dfrac12$ +$I=\dfrac12\int_{-1}^{1}\dfrac{2x+1}{x^{2}+x+1}dx-\dfrac12\int_{-1}^{1}\dfrac{dx}{x^{2}+x+1}$ + +$I_1=\dfrac12\int_{-1}^{1}\dfrac{2x+1}{x^{2}+x+1}dx=\dfrac12.\ln(x^{2}+x+1)|_{-1}^{1}=\dfrac12(\ln3-\ln1)=\dfrac12\ln3$ + +$x^{2}+x+1=(x+\dfrac12)^{2}+\dfrac34$ +$I_2=-\dfrac12\int_{-1}^{1}\dfrac{dx}{(x+\dfrac12)^{2}+(\dfrac{\sqrt3}{2})^{2}}$ + +$\int\dfrac{dx}{(x-a)^{2}+b^{2}}=\dfrac{1}{b}\arctan\dfrac{x-a}{b}$ +$I_2=-\dfrac12\cdot\dfrac{2}{\sqrt3}.\arctan(\dfrac{x+\frac12}{\frac{\sqrt3}{2}})|_{-1}^{1}=-\dfrac{1}{\sqrt3}.\arctan(\dfrac{2x+1}{\sqrt3})|_{-1}^{1}$ + +$\arctan\dfrac{3}{\sqrt3}=\arctan\sqrt3=\dfrac{\pi}{3};\ \arctan\dfrac{-1}{\sqrt3}=-\dfrac{\pi}{6}$ +$I_2=-\dfrac{1}{\sqrt3}(\dfrac{\pi}{3}-(-\dfrac{\pi}{6}))=-\dfrac{1}{\sqrt3}\cdot\dfrac{\pi}{2}=-\dfrac{\pi}{2\sqrt3}$ + +$I=I_1+I_2=\dfrac12\ln3-\dfrac{\pi}{2\sqrt3}$ + +## 23 номер – Д 2271 + +### Пример: + +$\int_{1}^{9} x\sqrt[ 3 ]{ 1-x } \, dx$ + +### Решение: + +$I=\int_{1}^{9}x\sqrt[3]{1-x}\,dx$ + +$t=1-x;\ dt=-dx;\ x=1-t$ +$x=1; t=0;\ x=9; t=-8$ + +$I=\int_{0}^{-8}(1-t)t^{\frac13}(-dt)=\int_{-8}^{0}(1-t)t^{\frac13}dt=\int_{-8}^{0}(t^{\frac13}-t^{\frac43})dt$ + +$I=.(\dfrac{3}{4}t^{\frac43}-\dfrac{3}{7}t^{\frac73})|_{-8}^{0}=-(\dfrac{3}{4}(-8)^{\frac43}-\dfrac{3}{7}(-8)^{\frac73})$ + +$\sqrt[3]{-8}=-2;\ (-8)^{\frac43}=(\sqrt[3]{-8})^{4}=(-2)^{4}=16;\ (-8)^{\frac73}=(\sqrt[3]{-8})^{7}=(-2)^{7}=-128$ +$I=-(\dfrac{3}{4}\cdot16-\dfrac{3}{7}\cdot(-128))=-(12+\dfrac{384}{7})=-\dfrac{468}{7}$ + +## 25 номер – Д 2273 + +### Пример: + +$\int_{0}^{1} x^{15} \, \sqrt{ 1+3x^{8} } \, dx$ + +### Решение: + +$I=\int_{0}^{1}x^{15}\sqrt{1+3x^{8}}dx$ + +$u=1+3x^{8};\ du=24x^{7}dx;\ x^{7}dx=\dfrac{1}{24}du$ +$x^{15}dx=x^{8}\cdot x^{7}dx$ + +$x=0;\ u=1$ +$x=1;\ u=4$ + +$x^{8}=\dfrac{u-1}{3}$ +$I=\int_{1}^{4}\dfrac{u-1}{3}\cdot\sqrt{u}\cdot\dfrac{1}{24}du=\dfrac{1}{72}\int_{1}^{4}(u-1)u^{\frac12}du=\dfrac{1}{72}\int_{1}^{4}(u^{\frac32}-u^{\frac12})du$ + +$I=\dfrac{1}{72}(\dfrac{2}{5}u^{\frac52}-\dfrac{2}{3}u^{\frac32})\Big|_{1}^{4}=\dfrac{1}{72}(\dfrac{2}{5}(4^{\frac52}-1)-\dfrac{2}{3}(4^{\frac32}-1))$ +$4^{\frac52}=32;\ 4^{\frac32}=8$ +$I=\dfrac{1}{72}(\dfrac{2}{5}\cdot31-\dfrac{2}{3}\cdot7)=\dfrac{1}{72}(\dfrac{62}{5}-\dfrac{14}{3})=\dfrac{1}{72}\cdot\dfrac{116}{15}=\dfrac{29}{270}$ + +## 27 номер – Д 2275 + +### Пример: + +$\int_{0}^{2\pi} \dfrac{dx}{(2+\cos x)(3+\cos x)}$ + +### Решение: + +$I=\int_{0}^{2\pi}\dfrac{dx}{(2+\cos x)(3+\cos x)}$ + +$\dfrac{1}{(2+\cos x)(3+\cos x)}=\dfrac{1}{2+\cos x}-\dfrac{1}{3+\cos x}$ +$I=I_1-I_2$ +$I_1=\int_{0}^{2\pi}\dfrac{dx}{2+\cos x}$ +$I_2=\int_{0}^{2\pi}\dfrac{dx}{3+\cos x}$ + +$\cos(\pi+t)=-\cos t$ +$\int_{0}^{2\pi}\dfrac{dx}{a+\cos x}=2\int_{0}^{\pi}\dfrac{dx}{a+\cos x}\ (a>1)$ + +$I_1=2\int_{0}^{\pi}\dfrac{dx}{2+\cos x}$ +$t=\tan\dfrac{x}{2}$ +$\cos x=\dfrac{1-t^2}{1+t^2}$ +$dx=\dfrac{2dt}{1+t^2}$ +$x:0\to\pi;\ t:0\to+\infty$ + +$I_1=2\int_{0}^{+\infty}\dfrac{\frac{2dt}{1+t^2}}{2+\frac{1-t^2}{1+t^2}}=2\int_{0}^{+\infty}\dfrac{2dt}{3+t^2}=4\int_{0}^{+\infty}\dfrac{dt}{t^2+3}$ +$\int\dfrac{dt}{t^2+a^2}=\dfrac{1}{a}\arctan\dfrac{t}{a}$ +$I_1=4\cdot\dfrac{1}{\sqrt3}\arctan\dfrac{t}{\sqrt3}\Big|_{0}^{+\infty}=4\cdot\dfrac{1}{\sqrt3}(\dfrac{\pi}{2}-0)=\dfrac{2\pi}{\sqrt3}$ + +$I_2=2\int_{0}^{\pi}\dfrac{dx}{3+\cos x}$ +$t=\tan\dfrac{x}{2}$ +$\cos x=\dfrac{1-t^2}{1+t^2}$ +$dx=\dfrac{2dt}{1+t^2}$ +$x:0\to\pi;\ t:0\to+\infty$ + +$I_2=2\int_{0}^{+\infty}\dfrac{\frac{2dt}{1+t^2}}{3+\frac{1-t^2}{1+t^2}}=2\int_{0}^{+\infty}\dfrac{2dt}{4+2t^2}=2\int_{0}^{+\infty}\dfrac{dt}{t^2+2}$ +$I_2=2\cdot\dfrac{1}{\sqrt2}\arctan\dfrac{t}{\sqrt2}\Big|_{0}^{+\infty}=2\cdot\dfrac{1}{\sqrt2}(\dfrac{\pi}{2}-0)=\dfrac{\pi}{\sqrt2}$ + +$I=\dfrac{2\pi}{\sqrt3}-\dfrac{\pi}{\sqrt2}$ + +## 29 номер – Д 2278 + +### Пример: + +$\int_{0}^{\pi} (x\sin x)^{2} \, dx$ + +### Решение: + +$I=\int_{0}^{\pi}(x\sin x)^2dx=\int_{0}^{\pi}x^{2}\sin^{2}x\,dx$ + +$\sin^{2}x=\dfrac{1-\cos2x}{2}$ +$I=\dfrac12\int_{0}^{\pi}x^{2}dx-\dfrac12\int_{0}^{\pi}x^{2}\cos2x\,dx$ +$I=\dfrac12.\dfrac{x^{3}}{3}|_{0}^{\pi}-\dfrac12J=\dfrac{\pi^{3}}{6}-\dfrac12J$ + +$J=\int_{0}^{\pi}x^{2}\cos2x\,dx$ +$J=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x^{2};\ du=2x\,dx$ +$dv=\cos2x\,dx;\ v=\dfrac12\sin2x$ + +$J=.\dfrac{x^{2}}{2}\sin2x|_{0}^{\pi}-\int_{0}^{\pi}x\sin2x\,dx=-K$ + +$K=\int_{0}^{\pi}x\sin2x\,dx$ +$K=\int u\,dv;\ \int u\,dv=uv-\int v\,du$ +$u=x;\ du=dx$ +$dv=\sin2x\,dx;\ v=-\dfrac12\cos2x$ + +$K=.-\dfrac{x}{2}\cos2x|_{0}^{\pi}+\dfrac12\int_{0}^{\pi}\cos2x\,dx$ +$\int\cos2x\,dx=\dfrac12\sin2x$ +$K=-\dfrac{\pi}{2}\cdot1+\dfrac12.\dfrac12\sin2x|_{0}^{\pi}=-\dfrac{\pi}{2}$ + +$J=-K=\dfrac{\pi}{2}$ +$I=\dfrac{\pi^{3}}{6}-\dfrac12\cdot\dfrac{\pi}{2}=\dfrac{\pi^{3}}{6}-\dfrac{\pi}{4}$ + +## 40 номер – Д 2395 + +### Пример: + +$v.p. \int_{-\infty}^{+\infty} \text{arccot}x \, dx$ + +### Решение: + +$I=\text{v.p.}\int_{-\infty}^{+\infty}\text{arccot}\,x\,dx=\lim_{A\to+\infty}\int_{-A}^{A}\text{arccot}\,x\,dx$ + +$\text{arccot}\,x=\dfrac{\pi}{2}-\arctan x$ +$I(A)=\int_{-A}^{A}(\dfrac{\pi}{2}-\arctan x)dx=\dfrac{\pi}{2}\int_{-A}^{A}dx-\int_{-A}^{A}\arctan x\,dx$ + +$\arctan x\ \text{нечётная}$ +$\int_{-A}^{A}\arctan x\,dx=0$ +$I(A)=\dfrac{\pi}{2}\cdot2A=\pi A$ + +$I=\lim_{A\to+\infty}\pi A=+\infty$ +$\text{v.p. интеграл расходится увы}$ + +## 42 номер – Д 2398 + +### Пример: + +Площадь +$y=x^{2};x+y=2$ + +### Решение: + +$y=x^2;\ y=2-x$ + +$x^2=2-x$ +$x^2+x-2=0$ +$(x+2)(x-1)=0$ +$x_1=-2;\ x_2=1$ + +$S=\int_{-2}^{1}\big((2-x)-x^2\big)\,dx=\int_{-2}^{1}(2-x-x^2)\,dx$ +$S=(2x-\dfrac{x^2}{2}-\dfrac{x^3}{3})\Big|_{-2}^{1}$ +$S=(2-\dfrac12-\dfrac13)-(-4-\dfrac{4}{2}+\dfrac{8}{3})=\dfrac{7}{6}+\dfrac{10}{3}=\dfrac{9}{2}$ + +## 44 номер – Д 2400 + +### Пример: + +Площадь +$y=|lg x|; y=0;x=0,1;x=10;$ + +### Решение: + +$S=\int_{0,1}^{10}|lg x|\,dx$ +$lg x<0\ (00\ (x>1)$ +$S=\int_{0,1}^{1}(-lg x)\,dx+\int_{1}^{10}lg x\,dx$ + +$lg x=\dfrac{\ln x}{\ln 10}$ +$\int lg x\,dx=\dfrac{1}{\ln 10}\int \ln x\,dx=\dfrac{1}{\ln 10}(x\ln x-x)$ + +$S_2=\int_{1}^{10}lg x\,dx=\dfrac{1}{\ln 10}(x\ln x-x)\Big|_{1}^{10}=10-\dfrac{9}{\ln 10}$ +$S_1=\int_{0,1}^{1}(-lg x)\,dx=-\dfrac{1}{\ln 10}(x\ln x-x)\Big|_{0,1}^{1}=-(-\dfrac{1}{\ln 10}+0,1+\dfrac{0,1}{\ln 10})=-0,1+\dfrac{0,9}{\ln 10}$ + +$S=S_1+S_2=9,9-\dfrac{8,1}{\ln 10}=\dfrac{99}{10}-\dfrac{81}{10\ln 10}$ + +## 46 номер – Д 2414 + +### Пример: + +Площадь +$x=2t-t^{2};y=2t^{2}-t^{3};$ + +### Решение: + +$x=t(2-t);\ y=t^{2}(2-t)$ +$t=0;\ x=0;\ y=0$ +$t=2;\ x=0;\ y=0$ + +$S=\dfrac12\int\limits_{0}^{2}(x\dfrac{dy}{dt}-y\dfrac{dx}{dt})dt$ + +$y=tx$ +$\dfrac{dy}{dt}=x+t\dfrac{dx}{dt}$ +$x\dfrac{dy}{dt}-y\dfrac{dx}{dt}=x(x+t\dfrac{dx}{dt})-tx\dfrac{dx}{dt}=x^{2}$ + +$S=\dfrac12\int\limits_{0}^{2}x^{2}dt=\dfrac12\int\limits_{0}^{2}(t(2-t))^{2}dt=\dfrac12\int\limits_{0}^{2}(4t^{2}-4t^{3}+t^{4})dt$ +$S=\dfrac12(\dfrac{4}{3}t^{3}-t^{4}+\dfrac{1}{5}t^{5})\Big|_{0}^{2}=\dfrac12(\dfrac{32}{3}-16+\dfrac{32}{5})=\dfrac12\cdot\dfrac{16}{15}=\dfrac{8}{15}$ + +## 48 номер – Д 2418 + +### Пример: + +Площадь +$r^{2}=a^{2}\cos 2\phi \, (лемниската)$ + +### Решение: + +$r^{2}=a^{2}\cos2\phi$ +$\cos2\phi\ge0;\ \phi\in[-\dfrac{\pi}{4};\dfrac{\pi}{4}] \ \text{(одна петля)}$ + +$S_1=\dfrac12\int\limits_{-\pi/4}^{\pi/4}r^{2}d\phi=\dfrac12\int\limits_{-\pi/4}^{\pi/4}a^{2}\cos2\phi\,d\phi$ +$S_1=\dfrac{a^{2}}{2}\cdot\dfrac12\sin2\phi\Big|_{-\pi/4}^{\pi/4}=\dfrac{a^{2}}{4}(\sin\dfrac{\pi}{2}-\sin(-\dfrac{\pi}{2}))=\dfrac{a^{2}}{4}(1-(-1))=\dfrac{a^{2}}{2}$ + +$S=2S_1=a^{2}$ + +## 50 номер – Д 2431 + +### Пример: + +Длины дуг кривой +$y=x^{\frac{3}{2}}; (0 \leq x \leq 4)$ + +### Решение: + +$l=\int\limits_{0}^{4}\sqrt{1+(y')^{2}}\,dx$ +$y=x^{\frac32};\ y'=\dfrac32x^{\frac12}$ +$(y')^{2}=\dfrac{9}{4}x$ +$l=\int\limits_{0}^{4}\sqrt{1+\dfrac{9}{4}x}\,dx=\dfrac12\int\limits_{0}^{4}\sqrt{9x+4}\,dx$ + +$u=9x+4;\ du=9dx;\ dx=\dfrac{du}{9}$ +$x=0;\ u=4$ +$x=4;\ u=40$ + +$l=\dfrac12\int\limits_{4}^{40}\sqrt{u}\cdot\dfrac{du}{9}=\dfrac{1}{18}\int\limits_{4}^{40}u^{\frac12}du=\dfrac{1}{18}\cdot\dfrac{2}{3}u^{\frac32}\Big|_{4}^{40}=\dfrac{1}{27}(40^{\frac32}-4^{\frac32})$ +$40^{\frac32}=40\sqrt{40}=80\sqrt{10};\ 4^{\frac32}=8$ +$l=\dfrac{1}{27}(80\sqrt{10}-8)=\dfrac{8}{27}(10\sqrt{10}-1)$ + +## 52 номер – Д 2433 + +### Пример: + +Длины дуг кривой +$y=a\cosh \dfrac{x}{a}; \text{от точки A(0,a) до точки B(b,h)}$ + +### Решение: + +$a>0$ +$l=\int\limits_{0}^{b}\sqrt{1+(y')^{2}}\,dx$ +$y=a\cosh\dfrac{x}{a}$ +$y'=a(\cosh\dfrac{x}{a})'=a\cdot\sinh\dfrac{x}{a}\cdot\dfrac{1}{a}=\sinh\dfrac{x}{a}$ + +$1+(y')^{2}=1+\sinh^{2}\dfrac{x}{a}=\cosh^{2}\dfrac{x}{a}$ +$\sqrt{1+(y')^{2}}=\cosh\dfrac{x}{a}$ + +$l=\int\limits_{0}^{b}\cosh\dfrac{x}{a}\,dx=a\sinh\dfrac{x}{a}\Big|_{0}^{b}=a\sinh\dfrac{b}{a}$ + +$h=y(b)=a\cosh\dfrac{b}{a}$ +$\sinh\dfrac{b}{a}=\sqrt{\cosh^{2}\dfrac{b}{a}-1}=\sqrt{(\dfrac{h}{a})^{2}-1}=\dfrac{\sqrt{h^{2}-a^{2}}}{a}$ +$l=a\sinh\dfrac{b}{a}=\sqrt{h^{2}-a^{2}}$ + +## 54 номер – Д 2462 + +### Пример: + +Объём +$\dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}=1;z=\dfrac{c}{a}x;z=0;$ + +### Решение: + +$V=\iiint\limits_{(V)}dV=\iint\limits_{D}(z_{\text{верх}}-z_{\text{низ}})\,dS$ + +$D:\ \dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}\le1$ +$z_{\text{низ}}=0;\ z_{\text{верх}}=\dfrac{c}{a}x$ + +$z_{\text{верх}}\ge z_{\text{низ}};\ \dfrac{c}{a}x\ge0;\ x\ge0$ +$D_{1}=D\cap\{x\ge0\}$ + +$V=\iint\limits_{D_{1}}\dfrac{c}{a}x\,dS=\dfrac{c}{a}\iint\limits_{D_{1}}x\,dS$ + +$x=a r\cos t;\ y=b r\sin t;\ 0\le r\le1;\ -\dfrac{\pi}{2}\le t\le\dfrac{\pi}{2}$ +$dS=ab\,r\,dr\,dt$ + +$\iint\limits_{D_{1}}x\,dS=\int\limits_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\int\limits_{0}^{1}(a r\cos t)\,ab\,r\,dr\,dt=a^{2}b\int\limits_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\cos t\,dt\int\limits_{0}^{1}r^{2}\,dr$ +$\int\limits_{-\frac{\pi}{2}}^{\frac{\pi}{2}}\cos t\,dt=.\sin t|_{-\frac{\pi}{2}}^{\frac{\pi}{2}}=2;\ \int\limits_{0}^{1}r^{2}\,dr=.\dfrac{r^{3}}{3}|_{0}^{1}=\dfrac13$ +$\iint\limits_{D_{1}}x\,dS=a^{2}b\cdot2\cdot\dfrac13=\dfrac{2a^{2}b}{3}$ + +$V=\dfrac{c}{a}\cdot\dfrac{2a^{2}b}{3}=\dfrac{2abc}{3}$ + +## 56 номер – Д 2464 + +### Пример: + +Объём +$\dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}-\dfrac{z^{2}}{c^{2}}=1;z=\pm c$ + +### Решение: + +$V=\int\limits_{-c}^{c}S(z)\,dz$ + +$\dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}-\dfrac{z^{2}}{c^{2}}=1$ +$\dfrac{x^{2}}{a^{2}}+\dfrac{y^{2}}{b^{2}}=1+\dfrac{z^{2}}{c^{2}}$ + +$S(z)=\pi\cdot a\sqrt{1+\dfrac{z^{2}}{c^{2}}}\cdot b\sqrt{1+\dfrac{z^{2}}{c^{2}}}=\pi ab(1+\dfrac{z^{2}}{c^{2}})$ + +$V=\int\limits_{-c}^{c}\pi ab(1+\dfrac{z^{2}}{c^{2}})dz=\pi ab(\int\limits_{-c}^{c}dz+\dfrac{1}{c^{2}}\int\limits_{-c}^{c}z^{2}dz)$ +$\int\limits_{-c}^{c}dz=2c;\ \int\limits_{-c}^{c}z^{2}dz=.\dfrac{z^{3}}{3}|_{-c}^{c}=\dfrac{2c^{3}}{3}$ +$V=\pi ab(2c+\dfrac{1}{c^{2}}\cdot\dfrac{2c^{3}}{3})=\pi ab(2c+\dfrac{2c}{3})=\dfrac{8\pi abc}{3}$ + +## 58 номер – Д 2666 +АЦЦЦККИИИИИЙ НОМЕР он ещё и последний +и именно поэтому я его делать НЕ БУДУ :D diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/Д-N-up.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/Д-N-up.pdf new file mode 100644 index 0000000..5e41e76 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/Д-N-up.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/Д-N.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/Д-N.pdf new file mode 100644 index 0000000..eb6ced8 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/Д-N.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/Заметки.md b/01 Учёба/1 семестр/Высшая математика/math-200/Заметки.md new file mode 100644 index 0000000..eb1ebf5 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/Заметки.md @@ -0,0 +1,5 @@ +#учеба #семестр_1 #высшая_математика + +>Внимание! +>В примерах I.37 и I.38 (на комплексные числа) **опечатки**. Там должны быть биквадратные уравнения, со степенями аналогичными предыдущим примерам + diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/Оценка.md b/01 Учёба/1 семестр/Высшая математика/math-200/Оценка.md new file mode 100644 index 0000000..d0de6ac --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/Оценка.md @@ -0,0 +1,15 @@ +#учеба #семестр_1 #высшая_математика + +Привет! Сейчас я пришлю тебе список всех заданий которые я сделал в модуле по домашнему заданию по высшей математике. + +Мне нужна будет оценка от 1-100 всех заданий, без объяснений, просто в один столбец. Чем точнее оценка, тем больше ты мне поможешь. + +ВАЖНО! Оценивай задания относительно всего модуля – лёгкие задания должны служить «отправной точкой» (грубо говоря 1). Чем больше баллов ты ставишь заданию, тем задание сложнее относительно всего содержания модуля. + +Некоторые задания могут не иметь в себе ничего, их оценивай на твёрдый 0 (но естевственно не учитывай его в относительном подсчёте!). Так же визуальные задачи тоже оценивай на твёрдый 0. + +Вот собственно, весь модуль: + +``` + +``` diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/П-N.pdf b/01 Учёба/1 семестр/Высшая математика/math-200/П-N.pdf new file mode 100644 index 0000000..5886295 Binary files /dev/null and b/01 Учёба/1 семестр/Высшая математика/math-200/П-N.pdf differ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/Проверка.md b/01 Учёба/1 семестр/Высшая математика/math-200/Проверка.md new file mode 100644 index 0000000..19f63b5 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/Проверка.md @@ -0,0 +1,15 @@ +#учеба #семестр_1 #высшая_математика + +Привет! Сейчас я пришлю тебе список всех заданий которые я сделал в модуле по домашнему заданию по высшей математике. + +Мне нужна будет оценка: верно я решил задание, или нет. Чем точнее оценка, тем больше ты мне поможешь. + +Мне нужен будет простой сто + +Некоторые задания могут не иметь в себе ничего, их оценивай на НЕТ. Но визуальные задачи тоже оценивай на ДА. + +Вот собственно, весь модуль: + +``` + +``` diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/СДЕЛАНО.md b/01 Учёба/1 семестр/Высшая математика/math-200/СДЕЛАНО.md new file mode 100644 index 0000000..b815689 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/СДЕЛАНО.md @@ -0,0 +1,218 @@ +## 1 РАЗДЕЛ: +#учеба #семестр_1 #высшая_математика + +- [x] 30 +- [x] 31 +- [x] 32 +- [x] 33 +- [x] 34 +- [x] 35 +- [x] 36 +- [x] 37 +- [x] 38 +- [x] 39 +- [x] 40 +- [x] 41 +- [x] 42 +- [x] 43 +- [x] 44 + +## 2 РАЗДЕЛ: +- [x] 4 +- [x] 8 +- [x] 9 +- [x] 13 +- [x] 14 +- [x] 18 +- [x] 22 +- [x] 23 +- [x] 27 +- [x] 28 +- [x] 32 +- [x] 36 +- [x] 37 +- [x] 41 +- [x] 42 +- [x] 46 +- [x] 50 +- [x] 51 +- [x] 55 +- [x] 56 +- [x] 60 +- [x] 65 +- [x] 69 +- [x] 70 +- [x] 74 + +## 3 РАЗДЕЛ +- [x] 11 +- [x] 13 +- [x] 15 +- [x] 17 +- [x] 19 +- [x] 21 +- [x] 23 +- [x] 25 +- [x] 27 +- [x] 29 +- [x] 40 +- [x] 42 +- [x] 44 +- [x] 46 +- [x] 48 +- [x] 50 +- [x] 52 +- [x] 54 +- [x] 56 +- [x] 58 + +## 4 РАЗДЕЛ +- [x] 20 +- [x] 21 +- [x] 22 +- [x] 23 +- [x] 24 +- [x] 25 +- [x] 26 +- [x] 27 +- [x] 28 +- [x] 29 + +## 5 РАЗДЕЛ +- [x] 3 +- [x] 7 +- [x] 11 +- [x] 15 +- [x] 19 +- [x] 22 +- [x] 23 +- [x] 26 +- [x] 27 +- [x] 30 +- [x] 34 +- [x] 38 +- [x] 42 +- [x] 46 +- [x] 50 +- [x] 53 +- [x] 54 +- [x] 57 +- [x] 58 +- [x] 61 +- [x] 65 +- [x] 69 +- [x] 73 +- [x] 77 +- [x] 80 +- [x] 81 +- [x] 84 +- [x] 85 +- [x] 88 +- [x] 89 +- [x] 92 +- [x] 96 +- [x] 100 +- [x] 104 +- [x] 108 +- [x] 111 +- [x] 112 +- [x] 115 +- [x] 116 +- [x] 119 + +## 6 РАЗДЕЛ +- [x] 3 +- [x] 7 +- [x] 11 +- [x] 15 +- [x] 19 +- [x] 22 +- [x] 23 +- [x] 26 +- [x] 27 +- [x] 30 +- [x] 34 +- [x] 38 +- [x] 42 +- [x] 46 +- [x] 50 +- [x] 53 +- [x] 54 +- [x] 57 +- [x] 58 +- [x] 61 +- [x] 65 +- [x] 69 +- [x] 73 +- [x] 77 +- [x] 80 +- [x] 81 +- [x] 84 +- [x] 85 +- [x] 88 +- [x] 89 +- [x] 92 +- [x] 96 +- [x] 100 +- [ ] 104 - СЕКРЕТНОЕ +- [ ] 105 - ДОП. СЕКРЕТНОЕ +- [x] 108 +- [x] 111 +- [x] 112 +- [x] 115 +- [x] 116 +- [x] 119 + +## 7 РАЗДЕЛ +- [x] 60 +- [x] 61 +- [x] 62 +- [x] 63 +- [x] 64 +- [x] 65 +- [x] 66 +- [x] 67 +- [x] 68 +- [x] 69 +- [ ] 70 +- [x] 71 +- [x] 72 +- [x] 73 +- [x] 74 +- [x] 75 +- [x] 76 +- [x] 77 +- [x] 78 +- [x] 79 +- [x] 80 +- [x] 81 +- [x] 82 +- [x] 83 +- [x] 84 +- [x] 85 +- [x] 86 +- [x] 87 +- [x] 88 +- [x] 89 + +## 8 РАЗДЕЛ +- [x] 11 +- [x] 13 +- [x] 15 +- [x] 17 +- [x] 19 +- [x] 21 +- [x] 23 +- [x] 25 +- [x] 27 +- [x] 29 +- [x] 40 +- [x] 42 +- [x] 44 +- [x] 46 +- [x] 48 +- [x] 50 +- [x] 52 +- [x] 54 +- [x] 56 +- [x] 58 diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/овтеты.md b/01 Учёба/1 семестр/Высшая математика/math-200/овтеты.md new file mode 100644 index 0000000..f56bc6d --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/овтеты.md @@ -0,0 +1,528 @@ +#учеба #семестр_1 #высшая_математика + +1. Матрицы. Действия с матрицами. + Матрица — это прямоугольная таблица чисел. Обычно её записывают как (A=(a_{ij})), где (a_{ij}) — число на пересечении (i)-й строки и (j)-го столбца. Размер матрицы (m\times n): (m) строк и (n) столбцов. + +Сложение/вычитание. Можно только для матриц одинакового размера. Складывают “поэлементно”: ((A+B)_{ij}=a_{ij}+b_{ij}). +Умножение на число (скаляр). ((kA)_{ij}=k\cdot a_{ij}). +Транспонирование. (A^T) получают заменой строк на столбцы: ((A^T)_{ij}=a_{ji}). +Умножение матриц. Определено, если число столбцов первой матрицы равно числу строк второй. Если (A) размера (m\times n), (B) размера (n\times p), то (AB) размера (m\times p), и +[ +(AB)_{ij}=a_{i1}b_{1j}+a_{i2}b_{2j}+\dots+a_{in}b_{nj}. +] +Важно: обычно (AB\neq BA) (непереместительно). + +Пример 1 (сложение). +[ +\begin{pmatrix}1&3\-2&0\end{pmatrix}+\begin{pmatrix}4&-1\5&2\end{pmatrix} +=\begin{pmatrix}1+4&3+(-1)\-2+5&0+2\end{pmatrix} +=\begin{pmatrix}5&2\3&2\end{pmatrix}. +] +Пример 2 (умножение матриц). +(A=\begin{pmatrix}1&2\3&4\end{pmatrix}), (B=\begin{pmatrix}5\6\end{pmatrix}). Тогда +[ +AB=\begin{pmatrix}1\cdot5+2\cdot6\3\cdot5+4\cdot6\end{pmatrix} +=\begin{pmatrix}17\39\end{pmatrix}. +] + +Термины (в этом пункте). +Матрица — таблица чисел. +Элемент матрицы (a_{ij}) — число в (i)-й строке и (j)-м столбце. +Размер (m\times n) — (m) строк и (n) столбцов. +Поэлементно — отдельно в каждой позиции ((i,j)). +Скаляр — просто число, которым умножают матрицу. +Транспонирование — операция “строки ↔ столбцы”. +Произведение матриц — операция, где элемент результата есть сумма произведений элементов строки на элементы столбца. ([Wikipedia](https://en.wikipedia.org/wiki/Matrix_%28mathematics%29?utm_source=chatgpt.com "Matrix (mathematics)")) + +2. Определитель матрицы, его вычисление и свойства. + Определитель (\det A) — число, определённое для квадратной матрицы (n\times n). Он связан с обратимостью: если (\det A\neq 0), то матрица обратима (существует (A^{-1})); если (\det A=0), то обратной матрицы нет. Также (|\det A|) можно понимать как “коэффициент изменения площади/объёма” соответствующего линейного преобразования. + + +Как вычислять (базовые случаи). +Для (2\times2): +[ +\det\begin{pmatrix}a&b\c&d\end{pmatrix}=ad-bc. +] +Для (3\times3) часто используют приведение к треугольному виду элементарными преобразованиями строк (это удобно, потому что дальше будет метод Гаусса): у треугольной матрицы (\det) равен произведению диагональных элементов, но надо учитывать, как преобразования меняют (\det). + +Как строковые преобразования влияют на (\det): + +1. Поменять местами две строки → (\det) меняет знак. + +2. Умножить строку на (k) → (\det) умножится на (k). + +3. Прибавить к строке другую строку, умноженную на число → (\det) не меняется. + + +Пример (через строки). +[ +A=\begin{pmatrix}1&2&3\2&4&7\1&1&1\end{pmatrix}. +] +Сделаем (R_2\leftarrow R_2-2R_1): +[ +\begin{pmatrix}1&2&3\0&0&1\1&1&1\end{pmatrix} +] +((\det) не изменился). Потом (R_3\leftarrow R_3-R_1): +[ +\begin{pmatrix}1&2&3\0&0&1\0&-1&-2\end{pmatrix} +] +((\det) не изменился). Теперь поменяем строки (R_2) и (R_3) местами (одна перестановка → знак “минус”): +[ +\begin{pmatrix}1&2&3\0&-1&-2\0&0&1\end{pmatrix} +] +Треугольная матрица: произведение диагонали (1\cdot(-1)\cdot1=-1). Но была одна перестановка строк, значит исходный (\det A=+1). + +Ключевые свойства: (\det(AB)=\det A\cdot\det B), (\det(A^T)=\det A). ([Wikipedia](https://en.wikipedia.org/wiki/Determinant?utm_source=chatgpt.com "Determinant")) + +Термины. +Квадратная матрица — одинаковое число строк и столбцов. +Определитель (\det A) — число, связанное с “обратимостью” матрицы. +Диагональные элементы — элементы (a_{11},a_{22},\dots). +Треугольная матрица — ниже (или выше) диагонали стоят нули. +Элементарные преобразования строк — три операции из списка 1)–3) выше. +Произведение диагонали — перемножение всех диагональных элементов. ([Wikipedia](https://en.wikipedia.org/wiki/Determinant?utm_source=chatgpt.com "Determinant")) + +3. Обратная матрица, её вычисление и свойства. + Обратная матрица (A^{-1}) к квадратной матрице (A) — это такая матрица, что + [ + AA^{-1}=A^{-1}A=I, + ] + где (I) — единичная матрица (на диагонали 1, остальные элементы 0). Обратная существует тогда и только тогда, когда (\det A\neq 0) (матрица “невырожденная”). ([Wikipedia](https://en.wikipedia.org/wiki/Invertible_matrix?utm_source=chatgpt.com "Invertible matrix")) + + +Как находить (A^{-1}). +Способ A (формула для (2\times2)). +Если (A=\begin{pmatrix}a&b\c&d\end{pmatrix}) и (ad-bc\neq 0), то +[ +A^{-1}=\frac1{ad-bc}\begin{pmatrix}d&-b\-c&a\end{pmatrix}. +] +Способ B (Гаусс–Жордан). Приписывают справа единичную матрицу и строковыми преобразованиями превращают левую часть в (I); тогда справа получится (A^{-1}). ([Wikipedia](https://en.wikipedia.org/wiki/Augmented_matrix?utm_source=chatgpt.com "Augmented matrix")) + +Пример (по формуле (2\times2)). +(A=\begin{pmatrix}1&2\3&4\end{pmatrix}). (\det A=1\cdot4-2\cdot3=-2\neq 0). +[ +A^{-1}=\frac1{-2}\begin{pmatrix}4&-2\-3&1\end{pmatrix}. +] +Проверка (коротко): (AA^{-1}=I) (перемножением). Это и есть смысл обратной. + +Свойства: ((AB)^{-1}=B^{-1}A^{-1}); ((A^T)^{-1}=(A^{-1})^T); (\det(A^{-1})=1/\det(A)). ([Wikipedia](https://en.wikipedia.org/wiki/Invertible_matrix?utm_source=chatgpt.com "Invertible matrix")) + +Термины. +Единичная матрица (I) — квадратная матрица с 1 на диагонали и 0 вне диагонали. +Невырожденная (обратимая) матрица — матрица, у которой существует обратная; эквивалентно (\det\neq 0). +Гаусс–Жордан — доведение матрицы строковыми преобразованиями до (I) (с одновременным преобразованием приписанной части). ([Wikipedia](https://en.wikipedia.org/wiki/Augmented_matrix?utm_source=chatgpt.com "Augmented matrix")) + +4. Ранг матрицы, его вычисление и свойства. + Ранг матрицы (\mathrm{rank}(A)) — это максимальное число линейно независимых строк (то же самое, что максимальное число линейно независимых столбцов). Практически ранг чаще всего находят так: приводят матрицу к ступенчатому виду строковыми преобразованиями и считают число “опорных” строк (ненулевых строк), или число “пивотов” (ведущих элементов). ([Wikipedia](https://en.wikipedia.org/wiki/Rank_%28linear_algebra%29?utm_source=chatgpt.com "Rank (linear algebra)")) + + +Как вычислять (алгоритм). + +1. Записать матрицу. + +2. Привести к ступенчатому виду (как в методе Гаусса): сделать нули под ведущими элементами. + +3. Посчитать количество ненулевых строк в получившейся ступенчатой матрице — это ранг. + + +Пример. +[ +A=\begin{pmatrix}1&2&1\2&4&2\0&1&3\end{pmatrix}. +] +Сделаем (R_2\leftarrow R_2-2R_1): +[ +\begin{pmatrix}1&2&1\0&0&0\0&1&3\end{pmatrix}. +] +Переставим строки (R_2) и (R_3) местами: +[ +\begin{pmatrix}1&2&1\0&1&3\0&0&0\end{pmatrix}. +] +Ненулевых строк 2, значит (\mathrm{rank}(A)=2). + +Свойства: (\mathrm{rank}(A)\le \min(m,n)); (\mathrm{rank}(A)=\mathrm{rank}(A^T)); для квадратной (n\times n): если (\det A\neq 0), то (\mathrm{rank}(A)=n). ([Wikipedia](https://en.wikipedia.org/wiki/Rank_%28linear_algebra%29?utm_source=chatgpt.com "Rank (linear algebra)")) + +Термины. +Линейно независимые строки/столбцы — никакая строка (столбец) не выражается как линейная комбинация других. +Ступенчатый вид (row echelon form) — форма, где ведущие элементы “спускаются вправо”, а ниже каждого ведущего элемента стоят нули. +Ведущий элемент (pivot) — первый ненулевой элемент строки в ступенчатом виде. ([Wikipedia](https://en.wikipedia.org/wiki/Rank_%28linear_algebra%29?utm_source=chatgpt.com "Rank (linear algebra)")) + +5. СЛАУ. Решение с помощью обратной матрицы. + Система линейных алгебраических уравнений (СЛАУ) — это несколько линейных уравнений относительно нескольких неизвестных, например: + [ + \begin{cases} + a_{11}x_1+a_{12}x_2=b_1\ + a_{21}x_1+a_{22}x_2=b_2 + \end{cases} + ] + Её удобно записывать матрично: (Ax=b), где (A) — матрица коэффициентов, (x) — столбец неизвестных, (b) — столбец правых частей. + + +Если матрица (A) обратима ((\det A\neq 0)), то решение единственно и находится по формуле +[ +x=A^{-1}b. +] +Идея простая: умножаем (Ax=b) слева на (A^{-1}): (A^{-1}Ax=A^{-1}b\Rightarrow Ix=A^{-1}b\Rightarrow x=A^{-1}b). ([Wikipedia](https://en.wikipedia.org/wiki/Invertible_matrix?utm_source=chatgpt.com "Invertible matrix")) + +Пример. +[ +\begin{cases} +x+2y=5\ +3x+4y=11 +\end{cases} +\Rightarrow +A=\begin{pmatrix}1&2\3&4\end{pmatrix},\ +x=\begin{pmatrix}x\y\end{pmatrix},\ +b=\begin{pmatrix}5\11\end{pmatrix}. +] +Из пункта 3: +[ +A^{-1}=\frac1{-2}\begin{pmatrix}4&-2\-3&1\end{pmatrix}. +] +Тогда +[ +x=A^{-1}b=\frac1{-2} +\begin{pmatrix}4\cdot5-2\cdot11\-3\cdot5+1\cdot11\end{pmatrix} +=\frac1{-2}\begin{pmatrix}-2\-4\end{pmatrix} +=\begin{pmatrix}1\2\end{pmatrix}. +] + +Термины. +Линейное уравнение — уравнение, где неизвестные входят только в первой степени и не перемножаются друг с другом. +СЛАУ — набор линейных уравнений с общими неизвестными. +Матрица коэффициентов (A) — матрица чисел при неизвестных. +Вектор неизвестных (x) — столбец ((x_1,\dots,x_n)^T). +Вектор правых частей (b) — столбец чисел справа от “=”. +Единственное решение — ровно один набор значений неизвестных. ([Wikipedia](https://en.wikipedia.org/wiki/Invertible_matrix?utm_source=chatgpt.com "Invertible matrix")) + +6. СЛАУ. Решение методом Крамера. + Метод Крамера применим только к квадратной системе: число уравнений = числу неизвестных (n), то есть (A) — (n\times n). Если (\det A\neq 0), то решение единственно и задаётся формулами: + [ + x_i=\frac{\det A_i}{\det A}, + ] + где (A_i) — матрица, полученная из (A) заменой (i)-го столбца на столбец (b). ([Wikipedia](https://en.wikipedia.org/wiki/Cramer%27s_rule?utm_source=chatgpt.com "Cramer's rule")) + + +Пример (тот же). (\det A=-2). +Для (x) заменяем 1-й столбец на (b): +[ +A_1=\begin{pmatrix}5&2\11&4\end{pmatrix},\quad \det A_1=5\cdot4-2\cdot11=-2,\quad x=\frac{-2}{-2}=1. +] +Для (y) заменяем 2-й столбец на (b): +[ +A_2=\begin{pmatrix}1&5\3&11\end{pmatrix},\quad \det A_2=1\cdot11-5\cdot3=-4,\quad y=\frac{-4}{-2}=2. +] + +Термины. +Метод Крамера — формулы решения через определители. +Квадратная система — одинаковое число уравнений и неизвестных. +Матрица (A_i) — матрица (A) с заменой (i)-го столбца на (b). ([Wikipedia](https://en.wikipedia.org/wiki/Cramer%27s_rule?utm_source=chatgpt.com "Cramer's rule")) + +7. СЛАУ. Теорема Кронекера–Капелли. + Теорема Кронекера–Капелли (часто также Руше–Капелли) даёт критерий существования решений системы (Ax=b) через ранги. + + +Строят расширенную (присоединённую) матрицу ((A|b)): это матрица (A), к которой справа приписали столбец (b). +Тогда: +• система совместна (есть хотя бы одно решение) тогда и только тогда, когда (\mathrm{rank}(A)=\mathrm{rank}(A|b)); +• если эти ранги равны и равны числу неизвестных (n), то решение единственно; +• если ранги равны, но меньше (n), решений бесконечно много (есть свободные переменные); +• если (\mathrm{rank}(A|b)>\mathrm{rank}(A)), решений нет. ([Wikipedia](https://en.wikipedia.org/wiki/Rouch%C3%A9%E2%80%93Capelli_theorem?utm_source=chatgpt.com "Rouché–Capelli theorem")) + +Пример 1 (нет решений). +[ +\begin{cases} +x+y=1\ +2x+2y=3 +\end{cases} +\Rightarrow +(A|b)=\left(\begin{array}{cc|c}1&1&1\2&2&3\end{array}\right). +] +Приводим: (R_2\leftarrow R_2-2R_1\Rightarrow (0,0|1)). Это означает противоречие (0=1), значит (\mathrm{rank}(A|b)>\mathrm{rank}(A)) и решений нет. ([Wikipedia](https://en.wikipedia.org/wiki/Rouch%C3%A9%E2%80%93Capelli_theorem?utm_source=chatgpt.com "Rouché–Capelli theorem")) + +Пример 2 (бесконечно много решений). +[ +\begin{cases} +x+y=1\ +2x+2y=2 +\end{cases} +\Rightarrow R_2\leftarrow R_2-2R_1\Rightarrow (0,0|0). +] +Ранги равны и меньше числа неизвестных (2), значит решений бесконечно много. + +Термины. +Теорема Кронекера–Капелли — критерий совместности по рангам (A) и ((A|b)). +Расширенная матрица ((A|b)) — матрица коэффициентов с приписанным столбцом правых частей. +Совместна — имеет хотя бы одно решение. +Свободная переменная — неизвестная, которой можно задавать значения (появляется при ранге меньше числа неизвестных). ([Wikipedia](https://en.wikipedia.org/wiki/Rouch%C3%A9%E2%80%93Capelli_theorem?utm_source=chatgpt.com "Rouché–Capelli theorem")) + +8. СЛАУ. Решение методом Гаусса. + Метод Гаусса — это решение системы через преобразования строк расширенной матрицы до ступенчатого вида. + + +Шаги: + +1. Составить расширенную матрицу ((A|b)). + +2. Прямой ход: элементарными преобразованиями строк сделать нули под ведущими элементами (получить ступенчатый вид). + +3. Обратный ход (обратная подстановка): начиная с последнего уравнения, находить неизвестные. ([Wikipedia](https://en.wikipedia.org/wiki/Gaussian_elimination?utm_source=chatgpt.com "Gaussian elimination")) + + +Пример (3 неизвестных). +[ +\begin{cases} +x+y+z=6\ +2x+y+3z=13\ +x- y+2z=7 +\end{cases} +\Rightarrow +\left(\begin{array}{ccc|c} +1&1&1&6\ +2&1&3&13\ +1&-1&2&7 +\end{array}\right) +] +Прямой ход: +(R_2\leftarrow R_2-2R_1\Rightarrow (0,-1,1|1)) +(R_3\leftarrow R_3-R_1\Rightarrow (0,-2,1|1)) +Теперь уберём (-2) под (-1): (R_3\leftarrow R_3-2R_2\Rightarrow (0,0,-1|-1)) + +Получили: +[ +\left(\begin{array}{ccc|c} +1&1&1&6\ +0&-1&1&1\ +0&0&-1&-1 +\end{array}\right) +] +Обратный ход: +Из 3-й строки: (-z=-1\Rightarrow z=1). +Из 2-й: (-y+z=1\Rightarrow -y+1=1\Rightarrow y=0). +Из 1-й: (x+y+z=6\Rightarrow x+0+1=6\Rightarrow x=5). + +Термины. +Метод Гаусса — приведение системы к ступенчатому виду и обратная подстановка. +Прямой ход — шаги обнуления элементов “под диагональю”. +Обратная подстановка — нахождение неизвестных снизу вверх. +Ступенчатый вид — форма, где ниже ведущих элементов стоят нули. ([Wikipedia](https://en.wikipedia.org/wiki/Gaussian_elimination?utm_source=chatgpt.com "Gaussian elimination")) + +9. Векторы в трёхмерном пространстве. Основные понятия. Орты. + Вектор в 3D — направленный отрезок; в координатах его записывают как (\mathbf a=(a_x,a_y,a_z)). + Длина (модуль) вектора: + [ + |\mathbf a|=\sqrt{a_x^2+a_y^2+a_z^2}. + ] + Нулевой вектор (\mathbf 0=(0,0,0)) имеет длину 0 и не задаёт направления. + Единичный вектор (орт) — вектор длины 1. Самые важные — стандартные орты (базисные): + [ + \mathbf i=(1,0,0),\quad \mathbf j=(0,1,0),\quad \mathbf k=(0,0,1). + ] + Любой вектор можно разложить по ним: + [ + \mathbf a=a_x\mathbf i+a_y\mathbf j+a_z\mathbf k. + ] + + +Пример 1. (\mathbf a=(2,-1,3)=2\mathbf i-1\mathbf j+3\mathbf k). +Пример 2 (получить орт по направлению (\mathbf a)). +(|\mathbf a|=\sqrt{2^2+(-1)^2+3^2}=\sqrt{14}). +Единичный вектор того же направления: +[ +\hat{\mathbf a}=\frac{\mathbf a}{|\mathbf a|}=\left(\frac{2}{\sqrt{14}},\frac{-1}{\sqrt{14}},\frac{3}{\sqrt{14}}\right). +] + +Термины. +Вектор — объект с направлением и длиной. +Координаты вектора — числа ((a_x,a_y,a_z)) в выбранных осях. +Модуль (длина) (|\mathbf a|) — длина вектора. +Нулевой вектор (\mathbf 0) — вектор с координатами (0,0,0). +Единичный вектор (орт) — вектор длины 1. +Базисные орты (\mathbf i,\mathbf j,\mathbf k) — стандартные единичные векторы вдоль осей. ([Math Insight](https://mathinsight.org/dot_product_formula_components?utm_source=chatgpt.com "The formula for the dot product in terms of vector components")) + +10. Линейные операции с векторами. + Две базовые линейные операции: сложение и умножение на число. + + +Сложение: (\mathbf a+\mathbf b=(a_x+b_x,\ a_y+b_y,\ a_z+b_z)). Геометрически: правило параллелограмма или “конец к началу”. +Умножение на число: (\lambda\mathbf a=(\lambda a_x,\lambda a_y,\lambda a_z)). Геометрически: длина умножается на (|\lambda|), а направление меняется на противоположное, если (\lambda<0). + +Линейная комбинация — выражение вида (\lambda_1\mathbf a_1+\dots+\lambda_k\mathbf a_k). Это важно для темы ранга и СЛАУ (независимость, выражаемость). + +Пример 1. (\mathbf a=(1,2,0)), (\mathbf b=(3,-1,5)). +(\mathbf a+\mathbf b=(4,1,5)). +Пример 2. (\lambda=-2): (-2\mathbf a=(-2,-4,0)). +Пример 3 (линейная комбинация). (2\mathbf a-\mathbf b=2(1,2,0)-(3,-1,5)=(-1,5,-5)). + +Термины. +Линейные операции — операции “сложение” и “умножение на число”, сохраняющие линейную структуру. +Линейная комбинация — сумма векторов с числовыми коэффициентами. +Геометрическое правило параллелограмма — способ сложения векторов как диагональ параллелограмма. ([Math Insight](https://mathinsight.org/dot_product_formula_components?utm_source=chatgpt.com "The formula for the dot product in terms of vector components")) + +11. Проекция вектора на ось и её свойства. Координаты вектора. + Пусть есть ось (направление), заданная единичным вектором (\mathbf e) (то есть (|\mathbf e|=1)). Тогда: + + +Скалярная проекция (\mathbf a) на ось: +[ +\mathrm{comp}_{\mathbf e}\mathbf a=\mathbf a\cdot\mathbf e. +] +Это число: “сколько (\mathbf a) направлено вдоль оси” (со знаком). +Векторная проекция: +[ +\mathrm{proj}_{\mathbf e}\mathbf a=(\mathbf a\cdot\mathbf e)\mathbf e. +] +Это уже вектор, лежащий на этой оси. + +Координаты вектора (\mathbf a=(a_x,a_y,a_z)) в стандартных осях можно понимать как скалярные проекции на оси (Ox,Oy,Oz), если берём (\mathbf i,\mathbf j,\mathbf k): +(a_x=\mathbf a\cdot\mathbf i), (a_y=\mathbf a\cdot\mathbf j), (a_z=\mathbf a\cdot\mathbf k). ([Math Insight](https://mathinsight.org/dot_product_formula_components?utm_source=chatgpt.com "The formula for the dot product in terms of vector components")) + +Пример 1 (на ось (Ox)). (\mathbf a=(2,3,0)), (\mathbf e=\mathbf i=(1,0,0)). +Скалярная проекция: (\mathbf a\cdot\mathbf i=2). +Векторная: (2\mathbf i=(2,0,0)). +Пример 2 (на наклонное направление). (\mathbf e=\frac1{\sqrt2}(1,1,0)) — единичный. Тогда +(\mathbf a\cdot\mathbf e=\frac{2+3}{\sqrt2}=\frac5{\sqrt2}), +(\mathrm{proj}_{\mathbf e}\mathbf a=\frac5{\sqrt2}\cdot\frac1{\sqrt2}(1,1,0)=\frac52(1,1,0)). + +Термины. +Ось (направление) — фиксированное направление в пространстве. +Единичный вектор (\mathbf e) — вектор длины 1, задающий направление оси. +Скалярная проекция — число (\mathbf a\cdot\mathbf e). +Векторная проекция — вектор ((\mathbf a\cdot\mathbf e)\mathbf e). +Координаты вектора — его компоненты ((a_x,a_y,a_z)) в выбранном базисе. ([Math Insight](https://mathinsight.org/dot_product_formula_components?utm_source=chatgpt.com "The formula for the dot product in terms of vector components")) + +12. Скалярное произведение векторов и его свойства. + Скалярное произведение (dot product) двух векторов (\mathbf a,\mathbf b) — это число: + [ + \mathbf a\cdot\mathbf b=|\mathbf a|,|\mathbf b|\cos\varphi, + ] + где (\varphi) — угол между векторами. В координатах: + [ + (a_x,a_y,a_z)\cdot(b_x,b_y,b_z)=a_xb_x+a_yb_y+a_zb_z. + ] + Основные свойства: + • коммутативность: (\mathbf a\cdot\mathbf b=\mathbf b\cdot\mathbf a); + • линейность: ((\mathbf a+\mathbf b)\cdot\mathbf c=\mathbf a\cdot\mathbf c+\mathbf b\cdot\mathbf c); + • (\mathbf a\cdot\mathbf a=|\mathbf a|^2); + • перпендикулярность: (\mathbf a\perp\mathbf b\iff \mathbf a\cdot\mathbf b=0). ([Math Insight](https://mathinsight.org/dot_product_formula_components?utm_source=chatgpt.com "The formula for the dot product in terms of vector components")) + + +Пример 1. (\mathbf a=(1,3,-5)), (\mathbf b=(4,-2,-1)). +(\mathbf a\cdot\mathbf b=1\cdot4+3\cdot(-2)+(-5)\cdot(-1)=4-6+5=3). +Пример 2 (найти угол). Пусть (\mathbf a=(1,0,0)), (\mathbf b=(1,1,0)). +(\mathbf a\cdot\mathbf b=1). (|\mathbf a|=1), (|\mathbf b|=\sqrt2). +(\cos\varphi=\dfrac{1}{1\cdot\sqrt2}=\dfrac1{\sqrt2}\Rightarrow \varphi=45^\circ). + +Термины. +Скалярное произведение — операция, результатом которой является число. +Угол между векторами (\varphi) — угол между их направлениями (берут от 0 до (\pi)). +Перпендикулярность (\perp) — угол (90^\circ), эквивалентно нулевому скалярному произведению. +Линейность — свойство “раскрывать скобки” и выносить числа. ([Math Insight](https://mathinsight.org/dot_product_formula_components?utm_source=chatgpt.com "The formula for the dot product in terms of vector components")) + +13. Векторное произведение векторов и его свойства. + Векторное произведение (cross product) (\mathbf a\times\mathbf b) определено в 3D. Результат — вектор, который: + • перпендикулярен и (\mathbf a), и (\mathbf b); + • имеет длину (|\mathbf a\times\mathbf b|=|\mathbf a|,|\mathbf b|\sin\varphi); + • направлен по правилу правой руки. Геометрический смысл длины: площадь параллелограмма на (\mathbf a) и (\mathbf b). ([Wikipedia](https://en.wikipedia.org/wiki/Cross_product?utm_source=chatgpt.com "Cross product")) + + +В координатах: +[ +\mathbf a\times\mathbf b= +\begin{pmatrix} +a_yb_z-a_zb_y\ +a_zb_x-a_xb_z\ +a_xb_y-a_yb_x +\end{pmatrix}. +] +Свойства: +• антикоммутативность: (\mathbf a\times\mathbf b=-(\mathbf b\times\mathbf a)); +• дистрибутивность: (\mathbf a\times(\mathbf b+\mathbf c)=\mathbf a\times\mathbf b+\mathbf a\times\mathbf c); +• (\mathbf a\times\mathbf a=\mathbf 0). ([Wikipedia](https://en.wikipedia.org/wiki/Cross_product?utm_source=chatgpt.com "Cross product")) + +Пример 1. (\mathbf i\times\mathbf j=\mathbf k), а (\mathbf j\times\mathbf i=-\mathbf k). +Пример 2. (\mathbf a=(1,0,0)), (\mathbf b=(0,2,0)). Тогда +(\mathbf a\times\mathbf b=(0,0,1\cdot2-0\cdot0)=(0,0,2)). Площадь параллелограмма равна 2. + +Термины. +Векторное произведение — операция двух 3D-векторов, результатом которой является вектор. +Правило правой руки — способ определить направление (\mathbf a\times\mathbf b). +Антикоммутативность — при перестановке множителей знак меняется. +Дистрибутивность — “умножение” на сумму раскрывается в сумму. ([Wikipedia](https://en.wikipedia.org/wiki/Cross_product?utm_source=chatgpt.com "Cross product")) + +14. Смешанное произведение 3-х векторов и его свойства. + Смешанное (скалярное тройное) произведение трёх векторов: + [ + [\mathbf a,\mathbf b,\mathbf c]=\mathbf a\cdot(\mathbf b\times\mathbf c). + ] + Это число. Оно равно определителю матрицы, составленной из координат векторов: + [ + \mathbf a\cdot(\mathbf b\times\mathbf c)= + \det\begin{pmatrix} + a_x&a_y&a_z\ + b_x&b_y&b_z\ + c_x&c_y&c_z + \end{pmatrix}. + ] + Геометрический смысл: ориентированный объём параллелепипеда на (\mathbf a,\mathbf b,\mathbf c); обычный объём равен модулю: + [ + V=\left|\mathbf a\cdot(\mathbf b\times\mathbf c)\right|. + ] + Свойства: циклическая перестановка не меняет значение, перестановка двух векторов меняет знак; если значение 0, то векторы компланарны (лежат в одной плоскости). ([Math Insight](https://mathinsight.org/scalar_triple_product?utm_source=chatgpt.com "The scalar triple product")) + + +Пример 1. ([\mathbf i,\mathbf j,\mathbf k]=1) (объём единичного куба). +Пример 2 (проверка компланарности). Если (\mathbf c=\mathbf a+\mathbf b), то +([\mathbf a,\mathbf b,\mathbf a+\mathbf b]=[\mathbf a,\mathbf b,\mathbf a]+[\mathbf a,\mathbf b,\mathbf b]=0+0=0), значит (\mathbf a,\mathbf b,\mathbf a+\mathbf b) лежат в одной плоскости. + +Термины. +Смешанное произведение — число (\mathbf a\cdot(\mathbf b\times\mathbf c)). +Ориентированный объём — объём со знаком (может быть отрицательным). +Параллелепипед — “коробка”, построенная на трёх ребрах-векторах. +Компланарны — лежат в одной плоскости. ([Math Insight](https://mathinsight.org/scalar_triple_product?utm_source=chatgpt.com "The scalar triple product")) + +15. Плоскость. Различные виды уравнений плоскости. + Плоскость в 3D можно задавать разными эквивалентными уравнениями. + + +(а) Общее (линейное) уравнение плоскости: +[ +Ax+By+Cz+D=0. +] +Вектор (\mathbf n=(A,B,C)) перпендикулярен плоскости и называется нормальным. ([Mathematics LibreTexts](https://math.libretexts.org/Bookshelves/Calculus/CLP-3_Multivariable_Calculus_%28Feldman_Rechnitzer_and_Yeager%29/01%3A_Vectors_and_Geometry_in_Two_and_Three_Dimensions/1.04%3A_Equations_of_Planes_in_3d?utm_source=chatgpt.com "1.4: Equations of Planes in 3d")) + +(б) Точка–нормаль (point–normal form). Если плоскость проходит через точку (P_0(x_0,y_0,z_0)) и имеет нормаль (\mathbf n=(A,B,C)), то: +[ +A(x-x_0)+B(y-y_0)+C(z-z_0)=0. +] +Раскрывая скобки, получают общий вид. ([Wikipedia](https://en.wikipedia.org/wiki/Euclidean_planes_in_three-dimensional_space?utm_source=chatgpt.com "Euclidean planes in three-dimensional space")) + +(в) Параметрическое задание. Если известна точка (\mathbf r_0) на плоскости и два неколлинеарных направляющих вектора (\mathbf v,\mathbf w), лежащих в плоскости, то любая точка плоскости: +[ +\mathbf r=\mathbf r_0+s\mathbf v+t\mathbf w. +] +([Wikipedia](https://en.wikipedia.org/wiki/Euclidean_planes_in_three-dimensional_space?utm_source=chatgpt.com "Euclidean planes in three-dimensional space")) + +Пример 1 (по точке и нормали). +Точка (P_0(1,0,0)), нормаль (\mathbf n=(2,-1,3)). Тогда +[ +2(x-1)-1(y-0)+3(z-0)=0 \Rightarrow 2x-y+3z-2=0. +] + +Пример 2 (по трём точкам). +Пусть (A(1,0,0)), (B(0,1,0)), (C(0,0,1)). +Векторы в плоскости: (\overrightarrow{AB}=(-1,1,0)), (\overrightarrow{AC}=(-1,0,1)). +Нормаль (\mathbf n=\overrightarrow{AB}\times\overrightarrow{AC}). Считаем: +[ +(-1,1,0)\times(-1,0,1)=(1,1,1). +] +Уравнение через точку (A(1,0,0)): +[ +1(x-1)+1(y-0)+1(z-0)=0\Rightarrow x+y+z-1=0. +] + +Термины. +Плоскость — множество точек, образующее “ровную” 2D-поверхность в 3D. +Нормальный вектор (нормаль) (\mathbf n) — вектор, перпендикулярный плоскости. +Точка–нормаль форма — задание плоскости через точку на ней и нормаль. +Параметрическое уравнение — задание множества точек через параметры (s,t). +Неколлинеарные векторы — не лежат на одной прямой (не являются кратными). ([Wikipedia](https://en.wikipedia.org/wiki/Euclidean_planes_in_three-dimensional_space?utm_source=chatgpt.com "Euclidean planes in three-dimensional space")) diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/пример.md b/01 Учёба/1 семестр/Высшая математика/math-200/пример.md new file mode 100644 index 0000000..04e24ca --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/пример.md @@ -0,0 +1,68 @@ +#учеба #семестр_1 #высшая_математика + +1. $y=5x^{4}$ + $y'=20x^{3}$ +2. $y=\sqrt{ x }$ + $y'=\dfrac{1}{2\sqrt{ x }}$ +3. $y=\dfrac{1}{x^{3}}$ + $y'=-3 \dfrac{1}{x^{4}}$ +4. $y=3x^{2}-7x+1$ + $y'=6x-7$ +5. $y=(x-2)^{5}$ + $a=(x-2)^{5}$ + $a'=5(x-2)^{4}$ + $b=x-2$ + $b'=1$ + $y'=a'b\cdot b'=5(x-2)^{4}$ + +6. $y=x^{2}\sin x$ + $y'=ab'+a'b$ + $a=x^{2}$ + $a'=2x$ + $b=\sin x$ + $b'=\cos x$ + $y'=x^{2}\cos x+2x\sin x$ +7. $y=(x+1)e^{ x }$ + $y'=ab'+a'b$ + $a=(x+1)$ + $a'=1$ + $b=b'=e^{ x }$ + $y'=e^{ x }+(x+1)e^{ x }=e^{ x }(x+2)$ +8. $y=\dfrac{x^{2}+1}{x-1}$ + $y'=\dfrac{a'b-ab'}{b^{2}}$ + $a=x^{2}+1$ + $a'=2x$ + $b=x-1$ + $b'=1$ + $y'=\dfrac{2x(x-1)-(x^{2}+1)}{(x-1)^{2}}$ +9. $y=\dfrac{\ln x}{x}$ + $y'=\dfrac{a'b-ab'}{b^{2}}$ + $a=\ln x$ + $a'=\dfrac{1}{x}$ + $b=x$ + $b'=1$ + $y'=\dfrac{1-\ln x}{x^{2}}$ + +10. $y=\sin(3x)$ + $y'=3\cos(3x)$ +11. $y=\cos(x^{2})$ + $y'=-2x\sin(x^{2})$ +12. $y=e^{ 2x-1 }$ + $y'=2e^{ 2x-1 }$ +13. $y=\ln(5x+2)$ + $y'=\dfrac{5}{5x+2}$ +14. $y=\sqrt{ 1-x^{2} }$ + $y'=-\dfrac{1}{\sqrt{ 1-x^{2} }}$ + +15. $y=\dfrac{x}{(1-x)^{2}(1+x)^{3}}$ + $y'=\dfrac{a'b-ab'}{b^{2}}$ + $a=x$ + $a'=1$ + $b=(1-x)^{2}(1+x)^{3}$ + $b'=mn'+m'n$ + $m=(1-x)^{2}$ + $m'=-2(1-x)$ + $n=(1+x)^{3}$ + $n'=3(1+x)^{2}$ + $b'=(1-x)^{2}\cdot3(1+x)^{2}-2(1-x)\cdot(1+x)^{3}=(1-x)(1+x)^{2}(3(1-x)-2(1+x))$ + $y'=\dfrac{(1-x)^{2}(1+x)^{3}-x((1-x)(1+x)^{2}(3(1-x)-2(1+x)))}{((1-x)^{2}(1+x)^{3})^{2}}$ diff --git a/01 Учёба/1 семестр/Высшая математика/math-200/экзамены.md b/01 Учёба/1 семестр/Высшая математика/math-200/экзамены.md new file mode 100644 index 0000000..1cb60d2 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/math-200/экзамены.md @@ -0,0 +1,70 @@ +#учеба #семестр_1 #высшая_математика + +- [ ] 1 ОТВЕТИТЬ ЗАНОВО +- [x] 2 +- [ ] 3 ОТВЕТИТЬ ЗАНОВО +- [ ] 4 +- [ ] 5 +- [x] 6 +- [ ] 7 ОТВЕТИТЬ ЗАНОВО +- [x] 8 +- [ ] 9 +- [ ] 10 +- [ ] 11 +- [x] 12 +- [ ] 13 +- [ ] 14 +- [x] 15 +- [ ] 16 +- [ ] 17 +- [ ] 18 +- [ ] 19 +- [ ] 20 +- [ ] 21 +- [ ] 22 +- [ ] 23 +- [ ] 24 +- [ ] 25 +- [x] 26 +- [ ] 27 +- [ ] 28 +- [ ] 29 +- [x] 30 +- [x] 31 +- [ ] 32 +- [ ] 33 +- [x] 34 +- [ ] 35 +- [ ] 36 +- [ ] 37 +- [x] 38 +- [x] 39 +- [ ] 40 +- [ ] 41 +- [ ] 42 +- [ ] 43 +- [ ] 44 +- [ ] 45 +- [ ] 46 +- [ ] 47 +- [ ] 48 +- [ ] 49 +- [ ] 50 +- [ ] 51 ОТВЕТИТЬ ПОЗЖЕ +- [ ] 52 ОТВЕТИТЬ ПОЗЖЕ +- [ ] 53 +- [ ] 54 +- [ ] 55 +- [ ] 56 +- [ ] 57 +- [ ] 58 +- [ ] 59 +- [ ] 60 +- [ ] 61 +- [ ] 62 +- [x] 63 +- [ ] 64 +- [ ] 65 +- [ ] 66 +- [ ] 67 +- [ ] 68 diff --git a/01 Учёба/1 семестр/Высшая математика/Высшая математика/08.09 Высшая математика.md b/01 Учёба/1 семестр/Высшая математика/Высшая математика/08.09 Высшая математика.md new file mode 100644 index 0000000..e9759b9 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Высшая математика/08.09 Высшая математика.md @@ -0,0 +1,78 @@ +ч#Лекция #ВысшаяМатематика +# Лекция 1. Введение +#учеба #семестр_1 #высшая_математика + +1. Комплексные числа +2. Теория матриц +3. Решение линейных алгебраических систем +4. Аналитическая геометрия (векторы в трехмерном пространстве, плоскости и прямые в трехмерном пространстве) +5. Математический анализ +## Множества чисел +$N$ - натуральные числа (${1; 2; 3; 4; \dots}$) +$Z$ - множество целых чисел (${\dots; -2; -1; 0; 1; 2; \dots}$) +$Z_{+}$ - множество неотрицательных чисел +$Z_{-}$ - множество неположительных чисел +$Q = \left\{\frac{m}{n}\right\}$, где $m\in Z_{+}$, а $n\in N$ +$R$ - вещественные или действительное числа +## Модуль числа +$$ +|x| = + \begin{cases} + x, x > 0\\ + 0, x = 0 \\ + -x, x < 0 + \end{cases} +$$ +Свойства модулей: +1. $|x| \geq 0$ +2. $|x_{1}x_{2}| = |x_{1}| * |x_{2}|$ +3. $|\frac{x_{1}}{x_{2}}| = \frac{|x_{1}|}{|x_{2}|}$ +4. $|x_{1}+x_{2}|$ + +## Константные переменные +$\pi=3.141596\dots$ +$e=2.718281828\dots$ +$\log_{e}x=\ln x$ + +## Комплексные числа в алгебраической форме +Комлексное число - выражение вида $x+iy$, где $x, y$ - вещественные числа, а $i$ - мнимая единица ($i^2 = -1$) +Геометрическая интерпретация комплексного числа - точка в пространстве. + +$x = x + 0*i$ - вещественное число становится частным случаем комплексного числа. +$yi$ - чисто мнимое число +### Углы +Все углы измеряются в радианах. +$\varepsilon=\sqrt{ x^2+y^2 }$ = $|Z|$ - модуль комплексного числа +$Z = x + iy = r\cos \varphi + ir\sin \varphi = r(\cos \varphi + i\sin \varphi)$ + +Налево (против часовой стрелки) - положительные углы +Направо (по часовой стрелке) - отрицательные углы +### Пример +1. $Z=1+i\sqrt{ 3 }=2\left( \cos \frac{\pi}{3} + i\sin \frac{\pi}{3} \right)$ + $|Z|=\sqrt{ 1^2 + \sqrt{ 3 }^2 }=2$ + $\cos \varphi=\frac{1}{2}$ + $\sin \varphi=\frac{\sqrt{ 3 }}{2}$ + $\varphi=\frac{\pi}{3}$ +2. $Z=1-i=\sqrt{ 2 }\left( \cos \frac{7\pi}{4}+i\sin \frac{7\pi}{4} \right)$ + $arg\text{ Z}=\frac{7\pi}{4}$ + +$arg\text{ Z}$ - главное значение так, что $arg\text{ Z}\in[0;2\pi)$ +$\varphi=Arg\text{ Z}=arg\text{ Z} + 2\pi k$, где $k\in Z$ + +$Z=x+iy$ +$x=\mathrm{Re}Z$ ($\mathrm{Re}$ - real, вещественный) +$y=\mathrm{Im}Z$ ($\mathrm{Im}$ - imaginaire, мнимый) +### Действия +1. **Равенство** + $Z_{1}=x_{1}+iy_{1};Z_{2}=x_{2}+iy_{2}$ + $Z_{1}=Z_{2}\Leftrightarrow \begin{cases} x_{1}=x_{2}\\y_{1}=y_{2} \end{cases}\Leftrightarrow\begin{cases}r_{1}=r_{2}\\\varphi_{1}+2\pi k=\varphi_{2}+2\pi k, k\in Z_{+}\end{cases}$ + $(Z=0\Leftrightarrow\begin{cases}x=0\\y=0\end{cases})$ +2. **Сложение** + $Z=Z_{1}+Z_{2}\Leftrightarrow\begin{cases}x=x_{1}+x_{2}\\y=y_{1}+y_{2}\end{cases}$ + Пример: $(2+3i)+(1-i)=(2+1)+i(3-1)=3+2i$ +3. **Вычитание** + Обратное сложению действие +4. **Умножение** + $Z=Z_{1}*Z_{2}\Leftrightarrow\begin{cases}x=x_{1}x_{2}\\y=y_{1}y_{2}\end{cases}$ + $(x_{1}+iy_{1})(x_{2}+iy_{2})=x_{1}x_{2}+ix_{1}y_{2}+ix_{2}y_{1}+i^2y_{1}y_{2}$ + Пример: $(2-3i)(5+i)=2*5-3*5i+7i-3i^2=10+3+i(-15+2)=13-13i$ diff --git a/01 Учёба/1 семестр/Высшая математика/ДЗ Высшая математика.md b/01 Учёба/1 семестр/Высшая математика/ДЗ Высшая математика.md new file mode 100644 index 0000000..59c86ed --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/ДЗ Высшая математика.md @@ -0,0 +1,71 @@ +#учеба #семестр_1 #высшая_математика + +1) +Пример: +$\mathrm{Re}\left( \frac{3-i}{1+3i} \right)\times \mathrm{Im}\left( \frac{2-i}{1+3i} \right)$ + +Решение: +$\mathrm{Re}:$ +$\frac{(3-i)(1-3i)}{1^{2}+3^{2}}=\frac{0-10i}{10}=-i$ +$\mathrm{Im}:$ +$\frac{(2-i)(1-3i)}{1^{2}+3^{2}}=\frac{-1-7i}{10}=-0.1-0.7i$ +$\mathrm{Re}\times \mathrm{Im}=0\times(-0.7)=0$ + + +3) +Пример: +$z^{2}+(2+4i)z+6+4i=0$ + +Решение: +$D=(2+4i)^{2}-24-16i=4-16+16i-24-16i=-36$ +$z_{1,2}=\frac{-2-4i\pm\sqrt{ -36 }}{2}=-1-5i;-1+i$ + + +4) +Пример: +$|z|+z=8+4i$ + +Решение: +$(z=a+ib)$ +$$ +\sqrt{ a^{2}+b^{2} }+a-8+ib-4i=0 \implies +\begin{cases} +\sqrt{ a^{2}+b^{2} }+a-8=0 \\ +ib-4i=0 +\end{cases} +$$ +$b=4$ +$\sqrt{ a^{2}+16 }=8-a\implies a\leq 8$ +$a^{2}+16=a^{2}-16a+64$ +$a=3$ +$z=3+4i$ + + +5) +Пример: +$$ +\begin{cases} +2z_{1}+3z_{2}=7-i \\ +iz_{1}-2z_{2}=-3+4i +\end{cases} +$$ + +Решение: +$z_{1}=3.5-0.5i-1.5z_{2}$ +$3.5i+0.5-1.5iz_{2}-2z_{2}=-3+4i$ +$z_{2}(2+1.5i)=3-4i+3.5i+0.5$ +$z_{2}=\frac{3.5-0.5i}{2+1.5i}=\frac{(3.5-0.5i)(2-1.5i)}{4+2.25}=\frac{7-0.75-i-5.25i}{6.25}=1-i$ +$2z_{1}+3-3i=7-i$ +$z_{1}=2+i$ +$z_{2}=1-i$ + + +7) +Пример: +$\frac{(1-i)(-3-i\sqrt{ 3 })}{(2+2i)(i+\sqrt{ 3 })}$ + +Решение: +$\frac{-\sqrt{ 3 }(1-i){(i+\sqrt{ 3 })}}{2(1+i){(i+\sqrt{ 3 })}}=$ +$-\frac{\sqrt{ 3 }}{2}\cdot\frac{(1-i)^{2}}{1^{2}+1^{2}}=$ +$-\frac{\sqrt{ 3 }}{2}\cdot\frac{-2i}{2}=\frac{i\sqrt{ 3 }}{2}$ + diff --git a/01 Учёба/1 семестр/Высшая математика/Интегралы. Первообразная.md b/01 Учёба/1 семестр/Высшая математика/Интегралы. Первообразная.md new file mode 100644 index 0000000..a6d33f4 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Интегралы. Первообразная.md @@ -0,0 +1,3 @@ +#учеба #семестр_1 #высшая_математика + +$\int\frac{2x^2 + 5x + 5}{(x^2 - 1)(x + 1)}dx$ diff --git a/01 Учёба/1 семестр/Высшая математика/Комплексные числа.md b/01 Учёба/1 семестр/Высшая математика/Комплексные числа.md new file mode 100644 index 0000000..914077f --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Комплексные числа.md @@ -0,0 +1,29 @@ +**[Методичка](https://t.me/c/3049795901/1/1290)** + +$N$ – натуральные числа. $N$ это бесконечное множество чисел $(1, 2, 3...)$, которые используют для счёта. + +Отрицальные, $0$ и $N$ – целые числа, обозначаемые $Z$. +Из $Z$ иногда выделяют $Z+$ и $Z-$, где $Z+$ – множество неотрицательных чисел, а $Z-$ – множество неположительных чисел. + +Рациональные числа – $Q = \{\frac{m}{n}, m \in Z, n \in N\}$ +Вещественные или действительные числа – $R$. Оно объединяет в себе рациональные и иррациональные числа. Они изображаются точками на вещественной оси. Вещественная ось – прямая, заданная направление, далее задана точка, означающая ноль, и масштаб. Тогда любая точка на такой оси означает вещественное число. + +Символ принадлежности к множеству – $x$. Для любого вещественного числа можно ввести понятие модуля. Модуль – расстояние точки от начала координат до числа. Модуль всегда имеет неотрицательное значение. Модуль отношения является отношение модулей, а для суммы выполняется неравенство треугольника. + +### Иррациональные числа +#учеба #семестр_1 #высшая_математика + +1. $\pi = 3.14159265...$ +2. $e = 2.7118281828...$ + +### Комплексные числа +Комплексное числом называется выражение вида, где $xy \in R$ + +$i$ называется мнимая единица, обладает свойством $i^2 = -1$. В этом случае геометрическая интерпритация такого числа это точка на плоскости. У этой точки две координаты = $(x, y)$. Поэтому ось числе Y называется мнимой осью, а ось числа X называется вещественной осью. Вещественные числа становятся частным случаем комплексного числаeeeeeeee + +Числа вида yi соотсвествтую чисто мнимым. + +Точку на плоскости можно связать вектором, а + +это пиздец +короче потом надо переписать у кого-нибудь diff --git a/01 Учёба/1 семестр/Высшая математика/Контрольная.md b/01 Учёба/1 семестр/Высшая математика/Контрольная.md new file mode 100644 index 0000000..a3ba4b8 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Контрольная.md @@ -0,0 +1,20 @@ +### 1 (40 минут) +#учеба #семестр_1 #высшая_математика + +$\lim_{ x \to 3 } \frac{\sqrt{ x+13 }-2\sqrt{ x+1 }}{x^2-4x+3}$ +$\frac{\sqrt{ x+13 }-2\sqrt{ x+1 }}{x^2-4x+3}=\frac{\sqrt{ x+13 }-2\sqrt{ x+1 }}{(x-1)(x-3)}\cdot \frac{\sqrt{ x+13 }+2\sqrt{ x+1 }}{\sqrt{ x+13 }+2\sqrt{ x+1 }}=\frac{\sqrt{ x+13 }^2-(2\sqrt{ x+1 })^2}{(x-1)(x-3)(\sqrt{ x+13 }+2\sqrt{ x+1 })}=\frac{(x+13)-4(x+1)}{(x-1)(x-3)(\sqrt{ x+13 }+2\sqrt{ x+1 })}=$ +$=\frac{x+13-4x-4}{(x-1)(x-3)(\sqrt{ x+13 }+2\sqrt{ x+1 })}=\frac{-3x+9}{(x-1)(x-3)(\sqrt{ x+13 }+2\sqrt{ x+1 })}=\frac{-3(x-3)}{(x-1)(x-3)(\sqrt{ x+13 }+2\sqrt{ x+1 })}=\frac{-3}{(x-1)(\sqrt{ x+13 }+2\sqrt{ x+1 })}$ +$x \equiv 3$ +$\lim_{ x \to 3 } \frac{\sqrt{ x+13 }-2\sqrt{ x+1 }}{x^2-4x+3} = -\frac{3}{16}$ + +### 6 (20 минут) +$$ +\begin{array} \\ +x=1+\ln(t+2) \\ +y=4t+e^{-5t} +\end{array} +$$ +$x' = (\ln(t+2))'\cdot(t+2)'=\frac{1}{t+2}\cdot 1=\frac{1}{t+2}$ +$y'=4-5e^{-5t}$ +$\frac{y'}{x'}=4-5e^{-5t}: \frac{1}{t+2}=(4-5e^{-5t})(t+2)$ + diff --git a/01 Учёба/1 семестр/Высшая математика/Матрица.md b/01 Учёба/1 семестр/Высшая математика/Матрица.md new file mode 100644 index 0000000..f34dcb2 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Матрица.md @@ -0,0 +1,13 @@ +#учеба #семестр_1 #высшая_математика + +Матрицей называется прямоугольная таблица из чисел с некоторым количеством столбцов и строк. + +$\begin{pmatrix}a_{11} & a_{12} & \dots & a_{1n} \\ a_{21} & a_{22} & \dots & a_{2n} \\ \dots \\ a_{m_{1}} & a_{m_{2}} & \dots & a_{mn}\end{pmatrix}$ + +$]$ - Математическое «пусть» +$]A_{[mxa]} = ||a_{ij}||, B_{[mxa]} = ||b_{ij}||, М-ца С_{[mxa]} = ||c_{ij}||$ + +$] A_{[mxa]}, \lambda \in R$ + + +:LiFolder: diff --git a/01 Учёба/1 семестр/Высшая математика/Несобственные интегралы.md b/01 Учёба/1 семестр/Высшая математика/Несобственные интегралы.md new file mode 100644 index 0000000..43cc5d0 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Несобственные интегралы.md @@ -0,0 +1,7 @@ +#учеба #семестр_1 #высшая_математика + +$\int_{a}^{+\infty} f(x) \, dx=\lim_{ b \to +\infty }\int_{a}^{b} f(x) \, dx$ + +$f(x)=\frac{1}{x^2}$ +$\int_{1}^{+\infty} \frac{1}{x^2} \, dx=\frac{1}{x}|_{1}^{+\infty}=-\frac{1}{+\infty}-\left( -\frac{1}{1} \right)=1$ + diff --git a/01 Учёба/1 семестр/Высшая математика/Определённый интеграл.md b/01 Учёба/1 семестр/Высшая математика/Определённый интеграл.md new file mode 100644 index 0000000..0b4a851 --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Определённый интеграл.md @@ -0,0 +1,30 @@ +$\lim_{ n \to \infty } \sum_{i=1}^{n} f(\xi_{i})∂x_{i}=\int^{b}_{a} f(x)dx=F(b)-F(a)=F(x)|^b_{a}$ +$\lambda(P)\to 0$ +$\lambda(P)=max(\Delta x_{i})$ +$C+F(x)=\int f(x)dx$ + +$\int^{b}_{a}(\alpha f+\beta g)(x)dx=\alpha \int^b_{a}f(x)dz+\beta \int^b_{a}g(x)dx$ + +$\int^b_{a}f(x) \, dx=\int ^c_{a} f(x)\, dx+\int ^b_{c}f(x) \, dx; \forall a,b,c$ +$\int_{a}^{b} f(x) \, dx=-\int_{b}^{a} f(x) \, dx$ + +$\int_{a}^{b} (uv )'x\, dx=(uv)(x)|^b_{a}-\int_{a}^{b} (u'v)(x) \, dx$ + +$\int_{a}^{b} f(x) \, dx=\int_{\alpha}^{\beta} f(\gamma(t))\phi'(t) \, dt; \gamma(\alpha)=a,\gamma(\beta)=b$ + +## Пример 1 +#учеба #семестр_1 #высшая_математика + +$\int_{-1}^{1} \sqrt{ 1-x^2 } \, dx=$ +$$\begin{array} \\ +x=\sin t \\ +dx=\cos t\cdot dt \\ +\sin (2)=1; \alpha=\arcsin1=\frac{\pi}{2} +\sin(\beta)=-1; \beta=-\frac{\pi}{2} +\end{array}$$ +$=\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \sqrt{ 1-\sin^2t }\cos t \, dt=\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} \cos^2t \, dt=\frac{1}{2}\int_{-\frac{\pi}{2}}^{\frac{\pi}{2}} (1+\cos 2t) \, dt=$ +$=\frac{1}{2}t|^ \frac{\pi}{2}_{-\frac{\pi}{2}}-\frac{1}{4}\sin 2t|^ \frac{\pi}{2}_{\frac{\pi}{2}}=\frac{1}{2}\left( \frac{\pi}{2}+\frac{\pi}{2} \right)-\frac{1}{4}(0-0)=\frac{\pi}{2}$ + +$\int_{-1}^{7} \frac{dt}{\sqrt{ 3t+4 }}$ +$(3t+4)^{-\frac{1}{2}}$ +$\frac{1}{5}-\dots$ diff --git a/01 Учёба/1 семестр/Высшая математика/Приложения интеграла.md b/01 Учёба/1 семестр/Высшая математика/Приложения интеграла.md new file mode 100644 index 0000000..da85f8a --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Приложения интеграла.md @@ -0,0 +1,20 @@ + +### S криволинейной трапеции +#учеба #семестр_1 #высшая_математика + +![[Pasted image 20251216164141.png]] +$dx\to0$ +$\int aABb=\lim_{ dx \to 0 }\sum\dots=\int_{a}^{b} f(x) \, dx$ + + +![[Pasted image 20251216164449.png]] +$x, f(x)=y(t(x))$ + +$$ +\begin{array} \\ +t \in [0,1], x(t), y(t) \\ +a(t=0),b(t=1) \\ +l[a,b]=\int_{0}^{1} \sqrt{ \dot{x}^2(t) +\dot{y}^2(t)} \, dx \\ +l=\int_{a}^{b} \sqrt{ 1+(f'(x))^2 } \, dx \\ +\end{array} +$$ diff --git a/01 Учёба/1 семестр/Высшая математика/Производные.md b/01 Учёба/1 семестр/Высшая математика/Производные.md new file mode 100644 index 0000000..97251bb --- /dev/null +++ b/01 Учёба/1 семестр/Высшая математика/Производные.md @@ -0,0 +1,60 @@ + +## Определение: +#учеба #семестр_1 #высшая_математика + +*Доска* \![[telegram-cloud-photo-size-2-5242271244680367817-w.jpg]] + +Формула нахождения производной: +$f'(x_0) = \lim_{x \to x_0} \frac{f(x) - f(x_0)}{x - x_0}= \lim_{h \to 0} \frac{f(x_0 + h) - f(x_0)}{h}$ + + +## Производная $(x^n)'$ +*Доска* \![[Pasted image 20251115145729.png]] + +Формула нахождения *(неполная)*: +$(x^n)' = \lim_{h \to 0} \frac{(x+h)^n - x^n}{h} = n x^{n-1}$ + + +## Основные свойства производных +*Доска-1* \![[telegram-cloud-photo-size-2-5242271244680367853-w.jpg]] +*Доска-2* \![[telegram-cloud-photo-size-2-5242271244680367854-w.jpg]] + +1. $(f(x)+g(x))' = f'(x) + g'(x)$ +2. $(fg)' = f'g + g'f$ +3. $\left( \frac{f}{g} \right)' = \frac{f'g - g'f}{g^2}$ +4. $(f(g(x)))' = f'(g(x)) \cdot g'(x)$ +## Примеры +### 124.3 +$$ +\begin{array} \\ +f(x) = \sqrt{ x } \\ +\\ +f(x)' = \lim_{ h \to 0 }\frac{f(x + h)-f(x)}{h} = \lim_{ h \to 0 } \frac{\sqrt{ x + h } - \sqrt{ x }}{h} = \lim_{ h \to 0 } \frac{\sqrt{ x+h }- \sqrt{ x }}{h} \cdot \frac{\sqrt{ x+h }+\sqrt{ x }}{\sqrt{ x+h }+\sqrt{ x }} = \\ += \lim_{ h \to 0 } \frac{(x+h) - x}{h(\sqrt{ x+h }+\sqrt{ x })} = \lim_{ h \to 0 } \frac{h}{h(\sqrt{ x+h }+\sqrt{ x })} = \lim_{ h \to 0 } \frac{1}{\sqrt{ x+h }+\sqrt{ x }} \\ +h = 0 \\ +Ответ:\frac{1}{2\sqrt{ x }} + +\end{array} +$$ +### N +$$ +\begin{array} \\ +f(x) = (1 + 5x)^3 \\ \\ + +f(x)' = \lim_{h \to 0} \frac{f(x + h) - f(x)}{h} = \lim_{ h \to 0 } \frac{(1 + 5(x + h))^3 - (1+5x)^3}{h} = \lim_{ h \to 0 } \frac{(1 + 5x+5h)^3-(1+5x)^3}{h} = \\ += 15(1+5x)^2 + +\end{array} +$$ + +### ĎÐẞÆ + + +# Изучить самому: +Решить **домашку**!! +**Дифференсация** +Нормали кривой + + +## Аутсайдерские записи с доски +Какой-то график \![[telegram-cloud-photo-size-2-5242271244680367818-w.jpg]] diff --git a/01 Учёба/1 семестр/История России/03.10 Дополнительные вопросы и задания.md b/01 Учёба/1 семестр/История России/03.10 Дополнительные вопросы и задания.md new file mode 100644 index 0000000..f1f529f --- /dev/null +++ b/01 Учёба/1 семестр/История России/03.10 Дополнительные вопросы и задания.md @@ -0,0 +1,67 @@ +### 1. Хроники Никиты Хониата +#учеба #семестр_1 #история_россии + +1. **Вопрос:** Подумайте, почему рыцари-крестоносцы, целью которых была борьба с мусульманами, взяли штурмом и разграбили христианский город Константинополь? + **Ответ:** Из-за долгов перед Венецией и обещанных, но не выплаченных выплат Алексея IV крестоносцы свернули поход, взяли богатый, но уязвимый Константинополь и удовлетворили финансовые и политические интересы, забыв первоначальную цель. +2. **Вопрос:** Сравните поведение захвативших Константинополь христиан-крестоносцев с поведением язычников-монголов хана Батыя, бравших штурмом города Руси + **Ответ:** Латиняне оскверняли храмы и реликвии единоверцев; монголы, хотя и уничтожали города, к религиозным объектам относились нейтрально, ограничиваясь тотальным военным подавлением. + +### 2. Таблица «Великие географические открытия» + +| Мореплаватель | Год | Территория | +| ---------------------------------------- | --------- | -------------------------------------------- | +| Бартоломеу Диаш | 1488 | мыс Доброй Надежды (юг Африки) | +| Христофор Колумб | 1492 | острова Карибского моря (Америка) | +| Васко да Гама | 1498 | морской путь в Индию вокруг Африки, Каликут | +| Америго Веспуччи | 1501-1502 | восточное побережье Южной Америки | +| Фернан Магеллан / Хуан Себастьян Элькано | 1519-1522 | первое кругосветное плавание | +| Джон Кабот | 1497 | Ньюфаундленд, северо-восток Северной Америки + +### 3. Грамота Едигея +1. **Вопрос:** Какую позицию занимал московский князь Василий Дмитриевич по отношению к Орде? + **Ответ:** Полу-самостоятельная позиция: формально признаёт Орду, но фактически игнорирует хана и уклоняется от дани. +2. **Вопрос:** Как изменилось положение русских земель и Орды в XV в. по сравнению с предшествующим периодом (вторая половина XIII в.)? + **Ответ:** Орда ослабла, распадаясь на части; Москва и другие русские княжества усилились и уже навязывают хану свою линию. +3. **Вопрос:** Почему в письме упоминается Великое княжество Литовское? + **Ответ:** Литва была главным внешним врагом Москвы; Едигей использует этот конфликт как аргумент, что князю всё равно нужна Орда, значит следует платить выход. + +### 4. Духовная грамота Дмитрия Ивановича +1. **Вопрос:** Назовите наследников Дмитрия Донского. + **Ответ:** Василий, Юрий, Андрей, Пётр, Иван Дмитриевичи. +2. **Вопрос:** Кому из наследников передал власть Дмитрий Донской? + **Ответ:** Старшему сыну Василию Дмитриевичу (будущему Василию I). +3. **Вопрос:** Кто должен был наследовать московский престол во вторую очередь? + **Ответ:** Юрий Дмитриевич (князь Звенигородский). +4. **Вопрос:** Почему Юрий Дмитриевич мог претендовать на московский стол после смерти старшего брата Василия I? + **Ответ:** Потому что завещание Дмитрия прямо предусматривает передачу власти следующему брату, то есть Юрию, если Василий умрёт. +5. **Вопрос:** Что говорит Дмитрий Донской о выплате дани Орде? + **Ответ:** Платить дань, пока Орда сильна, если Орда падёт, дани больше не давать. + +### 6. Таблица «Расширение территории Московского государства в конце XIV – середине XV в.» + +| Годы | События | +| --------- | ----------------------------------------------------------------------------------------------------------------------- | +| 1389 | По духовной грамоте Дмитрия Донского Коломна, Дмитров, Можайск окончательно закреплены за великокняжеским домом Москвы. | +| 1392 | Василий I, получив ханский ярлык, присоединил Нижегородско-Суздальское княжество. | +| 1397–1398 | К Москве отошли Муром, Таруса, Бежецкий Верх, Углич. | +| 1428 | Галич-Белозерские князья «вышли на службу» Москве; их земли фактически включены в состав великого княжества. | +| 1456 | Яжелбицкий мир: Новгород признал верховенство Москвы и ограничил свою политическую самостоятельность. | + +### 7. Текст «Новгород и Псков в начале XV в.» +1. **Вопрос:** Через какие земли путешественник проехал по дороге в Новгород? + **Ответ:** Рига – Ливонские города Зегевальд, Венден, Вольдемария, Вейсенштейн – Нарва – замок Низлот – Новгород. +2. **Вопрос:** Что интересного путешественник сообщает о жителях Новгорода и Пскова? + **Ответ:** Новгородцы богаты, самоуправляемы, расчёт шкурками и слитками, жён покупают; псковичи тоже независимы, суровы к чужим, имеют особый вид причёсок/головных уборов. +3. **Вопрос:** Какие товары продавали в Новгороде? + **Ответ:** Замороженные мясо, рыба, птица; пушнина (белка, куница) используется и как товар, и как мелкая монета. +4. **Вопрос:** Насколько сильно были укреплены Новгород и Псков? + **Ответ:** Новгород – слабые земляные стены, Псков — мощные каменные укрепления. + +### 8. Таблица «Русская культура в XIII–XV вв.» +| Сфера | Ключевые черты / примеры XIII–XV вв. | +| -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Письменность, грамотность, образование | - Берестяные грамоты Новгорода (до XV в.)
- Летописные своды: Лаврентьевская (1377), Ипатьевская редакции
- Книжное писание в монастырях; школы при епископских дворах | +| Литература | - «Слово о житии и преставлении Александра Невского» (XIII в.)
- «Повесть о разорении Рязани Батыем»
- «Задонщина» и «Сказание о Мамаевом побоище» (конец XIV – начало XV в.)
- Жития Епифания Премудрого: Сергия Радонежского, Стефана Пермского | +| Архитектура | - Белокаменный Кремль Дмитрия Донского (1367)
- Успенский собор во Владимире — образец для подражания
- Церковь Спаса на Ильине улице в Новгороде (1374)
- Псковско-новгородские одноглавые храмы с «кокошниками» | +| Живопись | - Феофан Грек — росписи Спаса на Ильине (1378)
- Андрей Рублёв — «Троица», иконы Благовещенского собора (ок. 1408)
- Дионисий и его школа (конец XV в.) | +| Общественная мысль | - Проповедь Сергия Радонежского о единстве Руси
- Борьба со стригольнической ересью (Новгород, XIV в.)
- Начало спора «нестяжатели» (Нил Сорский) – «иосифляне» (Иосиф Волоцкий) в конце XV в. | diff --git a/01 Учёба/1 семестр/История России/05.09 Лекция.md b/01 Учёба/1 семестр/История России/05.09 Лекция.md new file mode 100644 index 0000000..a93ce52 --- /dev/null +++ b/01 Учёба/1 семестр/История России/05.09 Лекция.md @@ -0,0 +1,206 @@ +**Конспекты вести правильно, будет спрашивать по лекции** +Учебник, прочитать чтобы было легче на зачёте, [Истории России, Петрова](https://pstu.su/wp-content/uploads/2024/09/%D0%A3%D1%87%D0%B5%D0%B1%D0%BD%D0%B8%D0%BA_%D0%98%D1%81%D1%82%D0%BE%D1%80%D0%B8%D1%8F_%D0%A0%D0%BE%D1%81%D1%81%D0%B8%D0%B8_%D0%B8%D0%BD%D0%B6%D0%B5%D0%BD%D0%B5%D1%80%D1%8B.x98261.pdf) +Для презентаций – *прослушал* + +За непроветренные факты из Интернета будет ставить 2 балла +За посещаемость легко получить зачёт, но автомат не поставит (как оказалось поставит!) +Опаздывать не стоит + +# **Предыстория России** +#учеба #семестр_1 #история_россии + +## **План лекции:** +1. Понятие объект, предмет. Методология исторической науки +2. Восточные-славянские времена в VIII - IX вв. +3. Появление государства у восточных славян + +### **Понятие объект, предмет. Методология исторической науки** +История рассматривается в двух значениях: +1. Процесс развития природы и человечества +2. Система наук, изучающая прошлое природы и общества +**Главная задача истории** – обобщение накопленного человечеством опыта. +**Как область самостоятельного сознания история** формируется в XVIII - половине XIX вв. +**Объект истории** – совокупность фактов характеризующих жизнь общества в прошлом и настоящем. +**Предмет истории** – изучение человеческого общества, как единого и противоречивого процесса. + +**Как наука история включает** всемирную историю и историю отдельных стран, при этом она подразделяется на историю первобытного общества, древнюю, средневековую, новую и новейшую. + +### **Основные принципы истории** +1. Принцип историзма +2. Принцип объективности + _–_ _Требует рассматривать факт явления события во всей многогранности и противоречивости_ +3. Принцип социального подхода + _– Предполагает, что в развитии общественных процессов проявляются социальные интересы_ +4. Принцип альтернативности + _– Определяет степень вероятности осуществления того или иного события_ + +**Методы:** + +1. Общенаучные методы (например, логические) +2. Собственно-исторические методы (например, хронологические, сравнительно-исторические) +3. Специальные методы (например, математический анализ, социологической смены) + + + +### **Восточные-славянские времена в XVIII - XIX вв.** + +Славяне выделились из Индо-европейской культурной общности во втором тысячелетии до н.э. В III-VI вв. н.э. славяне освоили территории центральной, восточной и юго-восточной Европы. + + + +Жили они в лесной, лесостепной зоне, а основным занятием было оседлое земледелие. Славяне так же занимались скотоводством, охотой, рыболовством и [бортничеством](https://ru.wikipedia.org/wiki/%D0%91%D0%BE%D1%80%D1%82%D0%B5%D0%B2%D0%BE%D0%B5_%D0%BF%D1%87%D0%B5%D0%BB%D0%BE%D0%B2%D0%BE%D0%B4%D1%81%D1%82%D0%B2%D0%BE). В VI веке формируются племенные союзы восточных славян, включающие по 120-150 млн. славян. + + + +_Основа всех племенных союзов – военная._ + + + +**VI-VII вв. – появились первые дружины.** Поделились они на старшие и младшие.  + + + +Основой древнеславянского общества была соседская община, которая возникла из родовой общины.  + +Благодаря соседским общинам и военным походам появились личные сообщества. + + + +В передаче князьями права владения землёй старшедружинникам или феодалам, часть общин попала под контроль феодалов, которые затем будут называться боярами. + + + +А оставшиеся общины платили деньги князю, а затем государству.  + + + +В VII в. от земледелия отделилось ремесло (_изначально литейное, кузнечное, гончарное и ювелирное_), которое сосредотачивалось в племенных центрах – городищах. + + + + + +### **Появление государства у восточных славян** + +Образование государства было обусловленно разложением родоплеменных и кровнородственных отношений, на смену которым пришли территориальные, политические и военные связи. К VIII славяне сформировали 14 племенных союзов и организации сохранения этих союзов требовали усиление власти князей и правящей верхушки.  + + + +Затем эти союзы стали объединяться в супер-союзы и накануне образования древнерусского государства существовало 3 супер-союза. Названия: Куяба (Киев), Славия (Новгород) и Аркания (Рязани).  + + + +На основании летописной «Легенды» известно, что накануне образования государства северные славянские племена платили дань варягам (скандинавские воины), а южные платили дань хазарам. В 859 году славяне изгнали варягов и это привело к междоусобице. Чтобы прекратить конфликт, они призвали в качестве князей трёх варягов – Рюрика, Синеуса и Трувора. В XVII веке немецкие профессора сформировали нормандскую теорию образования государства.  + + + + + +# **Государство Русь** + +## **План лекции:** + +1. Первые русские князья (Рюрик - ?) +2. Правление Святослава +3. Правление Владимира I +4. Правление Ярослава Мудрого +5. Государственная власть и становление ранних феодальных отношений + + + +### **Первые русские князья** + +**Князь Рюрик (862-879 годы правления)** + +В 862 году Рюрик утвердился в Новгороде и по традиции с этой даты отсчитывают начало русской государственности. + +Затем у Киева и Новгорода случился конфликт за земли Гринвича(?). + + + +**Следующий князь после Рюрик – Олег (879-912 годы правления)** + +В 882 году Олег совершил поход на Киев. По пути он взял Смоленск и Любич, затем захватил Киев и сделал его столицей объединенного Русского государства, а ? убил. + + + +С конца IX века в состав древнерусского государства были включены земли: древлян, северян, родимичей и другие. Эти территории были освобождены от казанской зависимости, в которой остались вядичие.  + + + +В 907-911 годах Олег совершил два успешных похода на Византию и заключил выгодные для Руси договоры.  + +Объединив восточнославянские народы от врагов и от чужеземцев Олег придал княжеской власти невиданные авторитет и международный престиж. Киевский князь был сюзереном, а правители отдельных земель стали его вассалами. + + + +**Следующий князь после Олега – Игорь (912-945 годы правления)** + +Игорь совершил два похода на Византию в 941 (неудачный) и в 944 (удачный). Благодаря этому ему удалось получить признание на присоединение новых земель и в основном подтвердить прежние договоры.  + +В 945 году произошло первое известное народное восстание – древлян.  + + + +**Следующий правитель после Игоря – княгиня Ольга (945-957 годы правления)** + +Ольга страшно отомстила за смерть мужа, но затем упорядочила сбор дани, установив уроки (размер дани) и погосты (места сбора дани). + + + +В 957 году Ольга во главе посольства посетила Константинополь, подтвердила действие прежних договоров, и приняла крещение из рук Патриарха. + + + +Княжение Игоря и Ольги ? были присоединены земли киевцев, улицей и окончательно земли древлян.  + + + +**Правление Святослава (957-972 годы правления)** + +В 964-967 годах, Святослав уничтожил хазарский каганат, и присоединил вятичей, разгромил Волжскую Булгарию, Буртасов, Ясов, оставив на завоеванной территории гарнизоны, он вернулся в Киев и начал давление на Византию. + + + +В результате договоров с Византией, Святослав получил её добро на поход против Дунайской Болгарии и обещал отступить от Крымских владений.  + + + +В 967 году Святослав вместе с союзными венграми выступил против Дунайской Болгарии и разгромил её.  + +В 970 году Византия подписала со Святославом мир, на его условиях.  + + + +В 971 году император из Византии неожиданно вошёл в Болгарию. В результате византийцы окружили Святослава в крепости. В том же году, под Ростовом состоялось несколько сражений, по итогам которых был заключен мир, но в этот раз на условиях Византии. По условиям мира Русь (то есть Святослав) уходили из Болгарии но сохранял Причерноморье и Поволжье, восстанавливались условия торговых договоров, кроме того была выплачена денежная компенсация семьям погибших воинов. Армия Святослава после битвы под Ростовом быстро ослабла.  + + + +Святослав умер 972. После смерти Святослава случилась первая усобица на Руси. В Киеве правила Ярополк, у древлян Олег, а в Новгороде Владимир.  + + + +Узнав о гибели брата Владимир бежал в варягам. А вскоре вернулся с наёмника. Ярополк не сумер собрать войска и во время военных переговорных были бил варягами.  + +**Правление Владимира I (980-1015 годы правления)** +Владимир объединил все земли восточных славян в составе древнерусского государства. Окончательно были присоединены вятиче, земли по обе сторон Карпат, и Червенские города. Была решена задача защиты Руси от печенегов.  + +Во время правления Владимира обозначилось западное направление внешней политики Руси. Здесь появилась сильное Польское государство, к тому же принявшее Христианство, по католическому обряду. Владимир осваемые Польши пограничные земли Червенской Руси, а политическое объединение Руси он подкрепил религиозно. Первоначально сознал Пантеон важнейших Языческих Богов, а затем, в 988 году, он крестил Русь по православному обряду.  + +**Правление Ярослава Мудрого (1019-1054 годы правления)** +У Владимира было 12 сыновей. ?. По приказу которого были безвинно убили ?. Против Святополка его брат Ярослав, из Новгорода, который опираясь на новгородцев и варягов, изгнал Святополка. + +Ему удалось обезопасить Русь от печенегов, в 1030 году он основал город Юрев, в Прибалтике. Затем он вновь забрал у Польши Червенские города. Покровительствовал просвещению, заставлял боярских детей учиться.  + +После смерти брата Мстислава ?-ского, в 1035 году, владевшего землями ?, Ярослав объединил Русь, а Киев стал одним из крупнейших городов Европы. После войны с Византией 1043-1046 годов Ярослав самостоятельно назначил Киевским метрополитом, русского по происхождению, Леролион. Леролион написал «Слово о законе и благодати» обосновавшее государственно-идеологическую концепцию русского государства.  + +При Ярослава сформировалась русская письменная законодательство «Русская правда». + + + +**Государственная власть и становление ранних феодальных отношений** +Основная часть населения Руси делилась на: свободных и зависимых людей, хотя были и промежуточные категории. Свободные – городские жители или посадские люди и смердные общины. +Само посадское население делилось на бояр, духовенство, купечество и низы. Кроме того существовали зависимые от феодалов смерды. +Верхний слой общества – князья, бояре, княжьи мужи, а особую группу составляло духовенство (делились на белых (священники) и чёрные (монархи)).  +Государственный строй древней Руси можно определить как ранне феодальную монархию. Во главе стоит киевский князь, который опирается на дружину и совет старейшин, а значение народного собрания уменьшается. Управление на местах осуществляли наместники князя. Князья продолжили раздавать земли за службу. В это же время появляются первые боярские вотчины. +Местное оформление осуществлялось с помощью системы кормлений, а орган крестьянского самоуправления достался общинам. diff --git a/01 Учёба/1 семестр/История России/13.09 Лекция.md b/01 Учёба/1 семестр/История России/13.09 Лекция.md new file mode 100644 index 0000000..fbf48e8 --- /dev/null +++ b/01 Учёба/1 семестр/История России/13.09 Лекция.md @@ -0,0 +1,23 @@ +#Лекция #ИсторияРоссии +Органом самоуправления крестьянства оставалась территориальная община или мир. Она сочитала в себе элементы ???. Община полностью управлялась делами села + +В процессе создания единого государства, меняется городская жизнь. Зачатки – преждие городки, в которых жила рабоплеменная знать и находились языческие церкви, зато набираю силу города, стоявшие на оживлённых торговых путях, где осидали купцы и ремесленники. Наибольшую экономическую мощь и известность приобретают города, ставшие политическими и административными центрами. Там жили князь, бояре, размещалась дружина. Так же эти города становились религиозными центрами. + +Начинают организовываться библиотеки. В середине XI - первой половине XII века, на Руси было 42 крупных города. А к середине XIII века уже 62. Каждый город был центром торговли в ближайшей округе. + + +## Русские земли в начале XII - первой половине XIII века +#учеба #семестр_1 #история_россии + +План: +- Предпосылки феодальной раздробленности +- Новые политические ценности +- Значения периода раздробленности + +### Предпосылки +С середины 11 - в начале 12 века русское госудраство, вступило в новый, удельный этап своей истории. +Политическая раздробленность стала новой формой организации русской государственности. С самого начала Русь была обширным, но не стабильным государством. + +В 11-12 веках появляются новые факторы, способствующие раздробленности. Главной силой распределительного процесса выступало боярство. + +Рост населения и военного потенциала отдельных земель. diff --git a/01 Учёба/1 семестр/История России/Доклад 5.4.md b/01 Учёба/1 семестр/История России/Доклад 5.4.md new file mode 100644 index 0000000..3605bb0 --- /dev/null +++ b/01 Учёба/1 семестр/История России/Доклад 5.4.md @@ -0,0 +1,26 @@ +#ИсторияРоссии #Доклад +### Введение +#учеба #семестр_1 #история_россии + +В западной истории «Северные Крестовые Походы» охватывают войны с 1198 по 1411  года, против язычников Прибалтики. Русская история же сужает его до столкновений с 1240 по 1242  года, когда Ливонский и Тевтонский ордена вторглись в земли Новгорода и Пскова. Эти походы велись под папскими индульгенциями и потому формально признавались крестовыми походами. На Руси их воспринимали не как «священную войну», а как обычную агрессию соседей‑католиков, при этом в летописях подчёркивался религиозный мотив врага + +### Причины походов +Причины северных крестовых походов лежали в узле идеологических, экономических и политических интересов латинского Запада. Для папства это был способ расширить полномочия Рима и отвлечь рыцарей от бесконечных междоусобиц; дарованная индульгенция придавала захвату чужих земель ореол духовного подвига. Тевтонский и Ливонский ордена одновременно искали себе новый ресурсный тыл: Орденам были нужны меха, воск и контроль над выходом к Балтийскому морю – всё это давали прибалтийские земли и новгородские торговые пути. После слияния меченосцев с тевтонцами в 1237 году объединённый орден нуждался в постоянных боевых действиях, иначе дисциплина и финансирование распались бы. Наконец, важным стимулирующим фактором стала угроза укрепления православной Руси и одновременное продвижение монголов: для Запада поход против Новгорода виделся шансом навязать собственную зону влияния до того, как там укоренится Орда. В итоге религиозный лозунг «креста» служил витриной для прагматичной борьбы за рынки, людей и пространство. + +### Политический фон Руси в первой трети 13 в. +К началу 12 века северо‑западные княжества оставались сравнительно независимыми от монгольской угрозы, но испытывали давление шведов, датчан и немцев, объединённых в рыцарские ордена. Новгород и Псков контролировали торговые пути между Балтийским и Чёрным морями и платили дань за сопредельные финские территории. Эти экономические интересы сделали их первыми целями конфедерации орденов после объединения меченосцев с Тевтонским. + +### История крестовых походов на Руси +В июле 1240  года шведская флотилия высадилась в устье Невы, рассчитывая отрезать Новгород от Балтики. Князь Александр Ярославич, действуя на опережение, атаковал лагерь противника и одержал победу, вошедшую в русскую историю как Невская битва. Хотя западные хроники почти не упоминают сражение, для Новгорода оно стало символом защиты православных рубежей. +Успех шведов был локален, но вскоре крестоносцы Ливонского ордена захватили Изборск и Псков, опираясь на внутренние раздоры псковских бояр. Немцы построили крепость Копорье, чтобы контролировать выход к Финскому заливу. Для Новгорода это означало угрозу потери торговли на Варяжском море и постепенную католизацию региона. +В 1241 году Александр Невский вернулся в Новгород, разрушил Копорье и освободил Псков. Решающее столкновение произошло 5 апреля 1242 года на льду Чудского озера. Соединённые силы Новгорода и Владимира разбили конницу Ливонского ордена; хроники отмечают, что ливонцы понесли тяжёлые потери, а орден на годы утратил наступательную инициативу. + +### Русь и «восточные» крестовые походы: косвенные контакты +Русские князья напрямую в ближневосточных крестовых походах не участвовали, но контакты были. Паломники из Новгорода и Киева посещали Святую землю, наблюдая жизнь Латинского королевства, о чём сохранились записи в дорожниках 12 века. С дипломатической точки зрения Русь поддерживала связи через Византию; именно константинопольские источники дали первые сведения о франкской Латинской империи русской книжности. + +### Итоги и значение северных крестовых походов для Руси +Отражение шведского и ливонского натиска сохранило независимость Новгорода и Пскова и закрепило православие на северо‑западе. Но главное – походы заметно отразились на обычных людях. Военные вторжения опустошили приграничные волости: деревни вокруг Пскова и Чудского озера выгорали, жители уходили глубже в страну или переселялись в укреплённые посадские слободы. Эти миграции увеличили население Новгорода, ускорили рост ремесленных кварталов и расширили рынок. +Постоянная опасность сделала княжескую дружину и народное ополчение частью повседневной жизни. Весной горожане чинили стены и ладили оружие. Посадники вводили особые налоги на охрану застав; эти сборы распределялись по сельским общинам, так что крестьяне ощущали войну на собственном кошельке. Экономика изменилась. Караваны в Балтику шли под охраной, из‑за чего перевозка дорожала. Зато военные заказы на железо, дёготь и корабли давали заработок ремесленникам и лесным артельщикам. +Культурным итогом стала консолидация памяти. Песни о «Ледовом побоище» быстро разошлись по Руси, а образ «чужеземца‑католика» укрепил границу между «своим» и «чужим». В 14 веке культ Александра Невского объединил и знать, и рядовых горожан: его имя включали в молебны «о здравии града». +В долгосрочной перспективе северные походы сплотили общины вокруг идеи общей обороны и укрепили вечевой созыв: именно народные собрания решали, сколько дать продовольствия гарнизону и кого послать на стены. Этот опыт мобилизации пригодился позже, когда на северо‑восток пришла Орда. +Таким образом, крестовые походы затронули народ не только через прямое насилие, но и через налоговую, хозяйственную и культурную перестройку, сделав оборону общим делом всего общества. diff --git a/01 Учёба/1 семестр/История России/Доклад 6.2.md b/01 Учёба/1 семестр/История России/Доклад 6.2.md new file mode 100644 index 0000000..19695b8 --- /dev/null +++ b/01 Учёба/1 семестр/История России/Доклад 6.2.md @@ -0,0 +1,32 @@ +#ИсторияРоссии #Доклад + +Эпоха Возрождения в общеевропейской оптике — это длинный процесс секуляризации знаний, возврата к античной учености и художественному подражанию природе. Для конца 13 — второй половины 14 веков речь идёт о ранней фазе, обычно локализуемой в Италии и частично в Византии, с прямыми и косвенными откликами в Северной и Восточной Европе. В этот период закладываются культурные и институциональные механизмы, благодаря которым ренессансные формы позже распространяются шире, в том числе в русских землях, хотя их непосредственное освоение Русью относится уже к 15 в. + +### Европейский фон (слайд) +#учеба #семестр_1 #история_россии + +В итальянских коммунах укрепляется городской капитал и цеховая организация. Финансовые дома, торговые сети и университеты создают спрос на прикладные знания и грамотность. Кризис схоластики стимулирует новые формы чтения и комментария античных текстов. Символами перелома становятся Данте, Джотто с его объемной пластикой и наблюдением за реальным пространством, а затем Петрарка и Боккаччо, формирующие гуманистическое понимание античности как живого образа. Эти процессы прерываются или видоизменяются внешними шоками: Авиньонское пленение пап с 1309 по 1377 и падение авторитета папства, Столетняя война с 1337 года, Великая Чума 1347–1353 гг., резко сократившая население и перестроившая рынок труда и благотворительность. Но даже кризисы ускоряют институциональные изменения, усиливая роль светских городских элит и меценатства. + +### Византия и «Палеологовское возрождение» +После 1261 г. в Константинополе разворачивается оживление книжности, философии и искусства. Возрождаются филологические практики, развивается иконопись с утонченным рисунком и сложной колористикой, укрепляется интерес к античному наследию в христианском ключе. Именно этот византийский ренессанс важен для Руси, поскольку русские земли находятся в орбите православной традиции и церковно-славянского письма, а каналы культурной передачи идут через митрополию, монастыри, паломничества и мастерские иконописцев. + +### Русь в политико-экономических условиях 14 века +Русские княжества переживают ордынскую зависимость и внутреннюю конкуренцию центров. Речь про Владимир, Тверь, Москву, Новгород. Экономика опирается на земледелие, ремесло и транзитную торговлю. Новгород и Псков интегрированы в балтийские цепочки обмена через Ганзу; отсюда контакты с Северной Европой, денежная культура и правовые практики городских сообществ. Параллельно идёт сбор земель вокруг Москвы, формирование новой политической координации и церковного лидерства (митрополиты Пётр и Алексий). На фоне ордынской системы выстраиваются механизмы налогового и судебного администрирования, что косвенно поддерживает книжное дело и монастырскую экономику. + +### Культурные каналы и формы влияния (слайд) +Прямого «итальянского» гуманизма на Руси в 14 веке нет, но есть три ключевых траектории, сопрягающие Русь с ренессансным процессом: +1. **Первая — византийская**: приезд мастеров и циркуляция рукописей обеспечивают перенос художественных норм. Феофан Грек, работавший в Византии, вероятно в Трапезунде и Константинополе, затем в Новгороде и Москве (кон. 14 в.), приносит сложную живописную манеру, внимание к индивидуализированному луку, пространству и свету. Это не «итальянская перспектива», но это рост наблюдательности к форме и внутренней психологии образа, согласующийся с византийским интеллектуальным оживлением. +2. **Вторая — балтийско-ганзейская**: торговля Новгорода с Любеком, Готландом, Ригой и др. ведёт к обмену предметами, техникой, монетой и правовыми текстами. Через купеческие сети приходят технические новшества, пигменты, пергамент, инструмент, навыки счета, элементы городской культуры, которые в Европе питают ранний Ренессанс. +3. **Третья — южнославянская**: контакты с Болгарией и Сербией на фоне их собственных культурных подъемов ведут к обновлению переводной литературы, стилистическим влияниям в книжном орнаменте и языковых нормативах. Эти течения, в свою очередь, связаны с византийской интеллектуальной средой. + +### Интеллектуальные сдвиги (слайд) +Ренессансный интерес к тексту и источнику в 14 в. отвечает русской традиции внимательного чтения и комментирования Священного Писания и отцов Церкви. На Руси укрепляются летописание и книжное производство; возникает спрос на компиляции, хронографы, поучения. Русские книжники упрочивают дисциплину текста и цитирования. Это не гуманизм Петрарки, но это совпадение в установке на систематизацию знания и филологическую добросовестность. На рубеже веков складывается иконописная школа, где в начале 15 в. проявится Андрей Рублёв; фундамент для этого — именно 14 век и византийско-русский художественный обмен. + +### Вера, власть и публичность +Авиньонское папство и Великая схизма 1378 г. подрывают западную церковную вертикаль. В православном мире авторитет Константинополя сохраняется, но империя слабеет, и растёт относительное значение местных центров. На Руси это облегчает более самостоятельную роль митрополии как культурного интегратора. Монастыри становятся производителями текстов и образов, инвесторами в ремесло и аграрные технологии, а также площадками передачи византийских норм письма и живописи. + +### Черная смерть и экономические последствия +Демографический шок 1347–1353 гг. в Европе меняет структуру заработков и цен, стимулирует мобильность и беспрецедентные благотворительные практики. Русь затронута меньше в силу иной траектории эпидемий и расселения, но испытывает косвенные эффекты через торговые каналы и цены. Это важно, потому что стоимость материалов и труда влияет на производство рукописей и икон, а значит — на объём тиражирования культурных образцов. + +### Итог для заявленного периода (слайд) +В конце 13 — второй половине 14 вв. Ренессанс существует как ранняя, неоднородная фаза. Его итальянские проявления ещё локальны, но уже институционально обеспечены городом, университетом и меценатством. Византия переживает собственное «возрождение» при Палеологах и транслирует его на Русь через церковь и искусство. Русские земли, находясь в ордынской политической системе и балтийских торговых сетях, аккумулируют художественные и книжные импульсы, подготавливая условия для всплеска 15 в. Таким образом, Русь не «участвует» в итальянском Ренессансе напрямую в 14 в., но включена в его восточно-христианскую и северо-европейскую периферию, что формирует культурную базу для последующего принятия и переработки ренессансных форм. diff --git a/01 Учёба/1 семестр/История России/Отличия российской цивилизации от западной цивилизации.md b/01 Учёба/1 семестр/История России/Отличия российской цивилизации от западной цивилизации.md new file mode 100644 index 0000000..930f911 --- /dev/null +++ b/01 Учёба/1 семестр/История России/Отличия российской цивилизации от западной цивилизации.md @@ -0,0 +1,8 @@ +#учеба #семестр_1 #история_россии + +- **Религия и ценности** – Запад вырос из латинского христианства и сделал ставку на личную ответственность; Россия держится православной «соборности», где коллектив важнее индивида. +- **Власть** – В Европе власть ограничивали парламентами ещё со Средневековья; в России закрепилась монархия. +- **Право и собственность** – Римско-германское право рано защитило частную собственность, в России её защита традиционно слабее. +- **Ценность личности** – Запад ставит личные права выше всего, российская культура — общинное и государственное. +- **Экономическая роль государства** – На Западе государство «ночной сторож», в России оно главный игрок и заказчик. +- **Модернизация** – Запад развивался поступательно, Россия догоняла рывками через централизацию и мобилизацию. diff --git a/01 Учёба/1 семестр/История России/Подъем национально-освободительного движения. Народные ополчения..md b/01 Учёба/1 семестр/История России/Подъем национально-освободительного движения. Народные ополчения..md new file mode 100644 index 0000000..12c62e9 --- /dev/null +++ b/01 Учёба/1 семестр/История России/Подъем национально-освободительного движения. Народные ополчения..md @@ -0,0 +1,23 @@ +## Россия и мир в конце XVI — начале XVII вв. +#учеба #семестр_1 #история_россии + +Русское государство вышло из Ливонской войны ослабленным, в 1598 пресеклась династия Рюриковичей, что запустило кризис легитимности. Великий голод 1600-ых резко обострил социально-экономическую ситуацию. Во внешней среде польско-литовский гарнизон стоял в Москве в 1610-х, Швеция навязала Столбовский мир в 1617 с потерей выхода к Балтике, на юге продолжались крымско-ногайские набеги. Современная история определяет Смуту как «период бурных социально-политических процессов начавшийся на рубеже 16–17 вв.». +## Причины подъёма национально-освободительного движения +1. Династический вакуум и борьба элит. Пресечение династии Рюриковичей и междоусобица превратили кризис власти в общеимперский конфликт, что открыло окно самозванцам и внешнему вмешательству. +2. Экономический кризис и голод. Неурожай и Великий голод 1601–1603 подорвали хозяйство и социальную стабильность, спровоцировали разбой и восстания, усилив готовность к мобилизации. +3. Ввод польско-литовского гарнизона в Москву и расширение интервенции. По решению «Семибоярщины» войска Жолкевского заняли Кремль, Китай-город и Белый город, что сделало сопротивление общенациональной задачей. +4. Религиозно-ценностная мобилизация: грамоты патриарха Гермогена. С января 1611 его грамоты легитимировали «земское» движение и придали ему цель («стояли бы все за веру, не щадя живота своего»). +## Народные ополчения как форма самоорганизации общества +Термин закрепился за объединениями 1611 и 1612 годов: добровольные многосословные войска, сформированные «всем миром» через городские сходы и «Совет всей земли», с собственным управлением и сбором средств. Вербовка и снабжение шли за счёт чрезвычайных сборов, в том числе и «пятой деньгой», и пожертвований. Политическая цель – блокада и освобождение Москвы и восстановление законной власти. Второе ополчение отличалось устойчивым центром в Ярославле и более жёсткой дисциплиной, что обеспечило результат. +### Первое ополчение 1611 года +Ополчение состояло из дворянских полков уездов, стрельцов и казаков, а лидерами ополчения стали Прокопий Ляпунов, Иван Заруцкий и князь Дмитрий Трубецкой. Политическим центром был «Совет всей земли» из Ярославлся. Целью стала блокировка польско-литовского гарнизона и выбивание интервентов из страны. Весной 1611 года начался поход на Москву – в самой столице вспыхнуло восстание, но пожары и контрудары гарнизона сорвали успех. Конфликт между «дворянской» и «казачьей» частями привёл к убийству Ляпунова и распаду единого командования. Грамоты патриарха Гермогена начала 1611 г. – ключ к общерусской мобилизации. В них были отказ от повиновения «семибоярщине» и призыв «не поддерживать поляков», что и привело к моральной легитимации сопротивления. В итоге же Гермоген был заточён и погиб мученически. +### Второе ополчение (1611–1612) +После кризиса Первого ополчения Нижний Новгород создал новое «земское» войско. Организатором финансов и набора был Кузьма Минин, а воеводой князь Дмитрий Пожарский. Введён чрезвычайный сбор «пятая деньга», учреждён «приказ» и регулярные выплаты ратным. Из Нижнего Новгорода оформился «Совет всей земли», который весной 1612 развернули в Ярославле и от имени которого рассылали грамоты, вели сбор ратников, припасов и денег, закрепив принцип не избирать государя без общего совета. Летом этого же года ополчение выступило к Москве, у столичных стен объединилось со лагерем Трубецкого, организовало осаду и с августа по сентябрь разбило корпус Ходкевича, сорвав деблокаду Кремля. 22 октября, взят Китай-город; 26 и 27 октября принята капитуляция гарнизона и ополченцы вступили в Кремль. Эта связка управления, снабжения и дисциплины обеспечила результат и открыла путь к Земскому собору 1613 г. +#### Поход и освобождение Москвы +С лета по осень 1612 года объединённые силы Второго и лагеря Первого ополчений отразили корпус гетмана Ходкевича у Москвы, сорвали подвоз в Кремль и перешли к штурму. 22 октября взят Китай-город, 26 октября гарнизон согласился на капитуляцию, а на следующий день ополченцы вступили в Кремль. 4 ноября в современной традиции связано с кульминацией московских событий и почитанием Казанской иконы, именно в эту дату отмечается государственный праздник – День народного единства. +## Значение подъёма и ополчений +Ополчения сняли угрозу распада государства, восстановили «вертикаль» власти снизу вверх, укрепили легитимацию «земского» представительства и практику межсословной солидарности города и уезда, а так же создали прецедент общенациональной мобилизации вокруг религиозно-патриотической идеи, что позже стало важным элементом политической культуры. +## Завершение Смуты и внешнеполитические итоги +В 1613 году Земский собор избрал Михаила Фёдоровича, после чего основным стало внешнеполитическое урегулирование. Со Швецией заключён Столбовский мир, по которому осуществлялся возврат Новгорода при утрате выхода к Балтике, это позволило сосредоточиться против Речи Посполитой. С Польшей подписано Деулинское перемирие, а то есть потеря Смоленска и ряда городов на 14 с половиной лет, но прекращение боевых действий и окно для восстановления. К концу 1618-го территория была освобождена от врагов, кроме уступленных участков. +## Вывод +Подъём национально-освободительного движения в Смуту – это не вспышка «стихии», а управляемая самоорганизация городских обществ и уездного дворянства, легитимированная церковной властью и опёртая на новую финансовую дисциплину. Первое ополчение показало потенциал и уязвимость «земского» механизма. Второе, устранив организационные слабости, решило главную задачу – освобождение Москвы – и открыло путь к восстановлению государственности. diff --git a/01 Учёба/1 семестр/ОДК/Доклад №27.md b/01 Учёба/1 семестр/ОДК/Доклад №27.md new file mode 100644 index 0000000..8771365 --- /dev/null +++ b/01 Учёба/1 семестр/ОДК/Доклад №27.md @@ -0,0 +1,26 @@ +## Введение +#учеба #семестр_1 #одк + +В любой профессиональной среде ключевую роль играет не только обмен информацией, но и умение обсуждать сложные вопросы, защищать свою позицию и слышать других. Именно поэтому спор, дискуссия и полемика занимают особое место в системе деловых коммуникаций. Они позволяют выявлять разногласия и превращать их в источник развития, способствуют рождению новых идей и формированию коллективных решений. Без умения аргументированно отстаивать мнение и конструктивно реагировать на возражения невозможно построить эффективное взаимодействие в команде, принять взвешенное управленческое решение или провести успешные переговоры. +Ценность споров и дискуссий заключается в том, что они создают интеллектуальное напряжение, побуждающее участников глубже анализировать проблему. Полемика, в свою очередь, помогает оттачивать навыки убеждения, развивает риторику и уверенность в публичных выступлениях. Все эти формы общения делают коммуникацию живой, осмысленной и продуктивной, превращая разногласия не в конфликт, а в двигатель профессионального роста. +## Что есть что? +Под ==спором== в деловых коммуникациях понимается столкновение разных точек зрения, возникающее при расхождении мнений относительно определённого вопроса. Основная цель спора – доказать правоту своей позиции и убедить собеседника в её правильности. В отличие от повседневных ссор, деловой спор строится на аргументах, логике и фактах, а не на эмоциях. Он может быть полезен, если обе стороны придерживаются правил корректности и ориентированы на достижение истины. Однако если участники сосредоточены исключительно на победе, спор превращается в бесплодную конфронтацию, мешающую эффективному общению. +==Дискуссия== же, это более мягкая и конструктивная форма обмена мнениями. Её цель — совместный поиск решения, выработка общего подхода к проблеме. В дискуссии участники не стремятся доказать свою правоту любой ценой. Напротив, они анализируют доводы друг друга, уточняют позиции, ищут компромиссы. Для деловых коммуникаций дискуссия — наиболее продуктивная форма взаимодействия, поскольку она способствует выработке коллективных решений и формированию атмосферы взаимного уважения. Именно в дискуссиях рождаются новые идеи, концепции и управленческие решения, когда каждая точка зрения рассматривается не как угроза, а как вклад в общий результат. +==Полемика== представляет собой особую, наиболее острую форму спора. Это интеллектуальное противостояние, направленное не только на убеждение собеседника, но и на воздействие на аудиторию. Полемика чаще всего возникает в публичных выступлениях, дебатах, конференциях, когда важно не только аргументировать свою позицию, но и показать слабые стороны оппонента. В отличие от дискуссии, полемика допускает эмоциональные элементы, выразительные средства речи и даже элементы риторического давления. Однако и здесь необходимо соблюдать рамки корректности и профессиональной этики: переход на личности, насмешки или манипуляции недопустимы, особенно в деловой среде. +В деловых коммуникациях выбор формы общения зависит от цели взаимодействия. Если необходимо найти компромисс и выработать общее решение, предпочтительна дискуссия. Когда нужно отстоять принципиальную позицию или доказать эффективность своего подхода, уместен конструктивный спор. Полемика же используется там, где важно публично защитить идею, повлиять на мнение аудитории или продемонстрировать профессиональную компетентность. Таким образом, каждая из трёх форм служит своим задачам и требует разного уровня эмоционального и риторического контроля. +## Правила ведения конструктивного спора и дискуссии +Эффективность любой формы делового обсуждения зависит от соблюдения определённых норм. Главный принцип – уважительное отношение к собеседнику. Важно не только говорить, но и слушать, не перебивать и не искажать позицию другого участника. Аргументы должны быть основаны на фактах, логике и опыте, а не на эмоциях или личных симпатиях. Любая дискуссия теряет смысл, если участники переходят на личности или пытаются «победить» ради самой победы. +Не менее важно чётко формулировать свои мысли. Неясные, расплывчатые или эмоциональные высказывания мешают пониманию и создают атмосферу недоверия. В деловой дискуссии ценится лаконичность, точность и последовательность. Если спор или полемика происходят публично, необходимо также следить за тоном речи, жестами и интонацией: излишняя агрессия может подорвать восприятие аргументов, даже если они логически верны. +Полезным навыком является умение признавать обоснованность чужой позиции. Это не проявление слабости, а показатель зрелости и гибкости мышления. В деловой среде выигрывает не тот, кто «переорал» оппонента, а тот, кто сумел объединить разные мнения ради общей цели. +## Роль такого вида диалогов в деловых коммуникациях +В современной организации спор и дискуссия выполняют несколько важных функций. Прежде всего, они позволяют выявить разные точки зрения на проблему и оценить их аргументированность. Это даёт возможность избежать ошибок при принятии решений, поскольку каждая позиция подвергается логической проверке. Кроме того, участие в спорах и дискуссиях формирует у сотрудников культуру аргументации, умение выстраивать логичные высказывания, слушать и понимать оппонента. +Полемика же, особенно в публичной форме, играет роль инструмента убеждения. Она необходима при защите проектов, презентациях, деловых переговорах. Умение вести полемику помогает специалисту отстаивать свои идеи, влиять на мнение аудитории и поддерживать имидж компетентного профессионала. В итоге и выходит, что спор, дискуссия и полемика – это не просто формы общения, а средства развития коммуникационной компетентности и профессионального авторитета. +## Практическое значение и примеры применения +Споры и дискуссии постоянно возникают в профессиональной деятельности — при обсуждении стратегий, распределении ресурсов, принятии управленческих решений. Например, при разработке нового продукта в команде могут существовать разные подходы к его продвижению. Один специалист настаивает на традиционной рекламе, другой — на работе с блогерами, третий — на внутренней мотивации клиентов. Конструктивная дискуссия помогает объединить эти подходы, оценить их эффективность и выбрать оптимальный вариант. +Полемика чаще встречается в публичных форматах: на конференциях, совещаниях с внешними партнёрами, переговорах с инвесторами. Здесь важно не только иметь аргументы, но и уметь убедительно их преподнести, управлять вниманием аудитории и демонстрировать уверенность. Именно такие формы коммуникации и формируют профессиональный имидж человека, показывая его способность мыслить логично, держать удар и сохранять самообладание. +## Значение в формировании культуры общения +Освоение навыков ведения спора, дискуссии и полемики способствует формированию общей культуры общения в коллективе. Когда сотрудники умеют грамотно обсуждать вопросы, организация получает более эффективную систему внутреннего взаимодействия. Конфликты становятся редкостью, а обмен идеями — нормой. Кроме того, культура аргументированного общения повышает доверие между коллегами и укрепляет корпоративную этику. +Для руководителя эти формы общения — инструмент управления. Умение направить спор в конструктивное русло, поддерживать продуктивную дискуссию и контролировать полемику делает коммуникацию управляемой и результативной. Это снижает эмоциональную напряжённость в коллективе и способствует принятию взвешенных решений. +## Итоги +Спор, дискуссия и полемика – неотъемлемые элементы делового общения, каждая из которых выполняет свою функцию. Спор выявляет противоположные точки зрения и помогает уточнить границы проблемы. Дискуссия способствует совместному поиску решений и укрепляет взаимопонимание между участниками. Полемика, в свою очередь, развивает навыки убеждения и публичного выступления. Все три формы требуют соблюдения норм этики, логики и уважения. Их грамотное использование делает деловую коммуникацию более эффективной, а сам процесс взаимодействия – осмысленным и профессиональным. +В конечном счёте умение грамотно вести такие диалоги является признаком высокой коммуникативной культуры личности. Тот, кто владеет этими формами общения, способен не только защищать свою позицию, но и находить компромиссы, понимать мотивы других людей и строить диалог, ведущий к результату. Это качество особенно важно в современном деловом мире, где успех зависит не только от знаний и компетенций, но и от способности слушать, убеждать и сотрудничать. diff --git a/01 Учёба/1 семестр/ОДК/Публичные ораторы (исторические и современные).md b/01 Учёба/1 семестр/ОДК/Публичные ораторы (исторические и современные).md new file mode 100644 index 0000000..8d3c0f7 --- /dev/null +++ b/01 Учёба/1 семестр/ОДК/Публичные ораторы (исторические и современные).md @@ -0,0 +1,55 @@ +## 0) Введение +#учеба #семестр_1 #одк + +Публичный оратор — это человек, который умеет управлять вниманием и смыслом в большой аудитории: объяснять, убеждать, мотивировать, иногда менять поведение людей. Важно, что ораторство — не просто “красивые слова”, а работа с конкретной ситуацией: цель, аудитория и контекст. +## План доклада +1. Кто такой публичный оратор и по каким признакам речь “сильная” +2. Исторические ораторы: несколько ключевых примеров и приёмов +3. Современные ораторы +4. Общие техники и вывод: короткий чеклист подготовки + +--- +### 1) Кто такой публичный оратор и почему это важно +Чтобы говорить о выдающихся ораторах, удобно опираться на базовые принципы риторики: **ethos** (доверие к личности), **logos** (логика/аргументы) и **pathos** (эмоции/сопричастность). Эта триада традиционно связывается с аристотелевской риторикой и до сих пор используется как рабочая модель анализа убедительности речи. + +--- +### 2) Исторические ораторы: от античности до XX века + +#### Античность: Демосфен и “ремесло речи” +В античной Греции оратор был одновременно и политиком, и “медиа”. Один из самых известных примеров — **Демосфен**, которого часто приводят как символ того, что ораторство можно натренировать. В биографической традиции есть конкретные эпизоды про упражнения: проговаривание текста с камешками во рту, тренировка голоса и дикции в тяжёлых условиях. Это важно не как “лайфхак”, а как идея: сильная речь — результат дисциплины и техники, а не только таланта. +#### Рим: Цицерон и системный подход к риторике +В Древнем Риме образцовый оратор — **Цицерон**. В трактатах об ораторском искусстве он подчёркивает, что хорошая речь не сводится к красивым словам: оратору нужны знания, понимание людей и умение выстраивать аргументацию. В тексте “De Oratore” прямо звучит мысль, что оратор должен серьёзно разбираться в вопросах, иначе речь будет пустой. + +От античности также идёт удобная “памятка” подготовки выступления — **пять канонов риторики**: изобретение (что сказать), расположение (как выстроить), стиль (как сформулировать), память, произнесение/подача. Эту схему часто связывают с римской традицией и объясняют как универсальные шаги подготовки речи. + +--- +### 3) Классика публичных речей нового времени: когда речь меняла историю + +#### Уинстон Черчилль +Черчилль — пример “военного” оратора, у которого задача речи предельно практичная: удержать общество в стойкости. В знаменитом выступлении с повтором “We shall fight…” работает простая техника: **анафора** (повтор начала фраз), создающая ритм и ощущение неизбежности действия. Текст речи в стенограммах и архивах демонстрирует этот повтор буквально строка за строкой. +Повтор — не украшение, а инструмент управления вниманием и эмоциями. +#### Мартин Лютер Кинг +Кинг — пример оратора, который соединяет **pathos** и **logos**: он не просто вызывает эмоции, а строит моральный аргумент и рисует конкретный образ будущего. В “I Have a Dream” ключевая сила — тоже в повторе (анафора “I have a dream…”) и в переходе от описания несправедливости к позитивной программе надежды. +#### Нельсон Мандела +Мандела интересен тем, что его риторика — это риторика примирения и “сборки” общества. В торжественной речи 1994 года он формулирует новую общую рамку для страны (“новая эра”, “победа для всех людей”), и это классический пример ораторства, где цель — создать общий язык для бывших противников. Тексты речи широко опубликованы в университетских и исторических коллекциях. + +--- +### 4) Современные публичные ораторы: новые медиа и новые правила +Главное отличие современности — среда. Речь живёт не только “в зале”, а в клипах, цитатах, нарезках. Оратор одновременно выступает и “на сцене”, и “в ленте”. +#### Малала Юсуфзай и Грета Тунберг +Современная публичная речь активистов часто выигрывает за счёт ясной морали и минимализма: “что происходит”, “кто отвечает”, “что нужно сделать”. У Малалы есть сильный пример обращения в ООН 2013 года: акцент на праве на образование и отказ от языка мести — это одновременно ethos (позиция) и pathos (человеческий смысл). +У Греты Тунберг (ООН, 2019) работает “жёсткая” эмоциональная подача и прямые обвинительные формулировки (“How dare you”), что идеально ложится в логику медиа: фраза становится цитатой, а цитата — вирусным носителем смысла. +#### TED-ораторы: “объяснить сложное просто” +Отдельный тип современного оратора — популяризатор. Например, Кен Робинсон с лекцией “Do Schools Kill Creativity?” — это пример публичного выступления, которое живёт как культурная цитата и как образовательный продукт. Транскрипты речи широко распространяются в открытых источниках. +Здесь важна техника: ясная идея, юмор, понятные примеры, аккуратная структура — то есть “ораторство для объяснения”, а не для мобилизации. + +--- +### 5) Что объединяет великих ораторов? +1. **Баланс ethos–logos–pathos**: доверие к личности + аргументы + эмоции. +2. **Чёткая структура** (проблема → смысл → решение/призыв), что хорошо ложится на “каноны риторики” и базовую логику построения речи. +3. **Ритм и повтор**: анафора как усилитель смысла (Кинг, Черчилль). +4. **Соответствие моменту и аудитории** (kairos / риторическая ситуация): сильные речи всегда “попадают” в контекст. + +--- +### 6) Вывод +Исторические и современные ораторы отличаются контекстом и медиа, но логика силы речи примерно одна: оратор либо создаёт доверие и объясняет, либо мобилизует и объединяет, либо даёт людям смысл и направление. С античности до наших дней меняются площадки и скорость распространения, но остаются инструменты: структура, аргументы, эмоции, повтор и точное попадание в момент. diff --git a/01 Учёба/1 семестр/ОДК/Слухи, сплетни в ДК и работа с ними.md b/01 Учёба/1 семестр/ОДК/Слухи, сплетни в ДК и работа с ними.md new file mode 100644 index 0000000..02576f0 --- /dev/null +++ b/01 Учёба/1 семестр/ОДК/Слухи, сплетни в ДК и работа с ними.md @@ -0,0 +1,113 @@ +### 1) Вступление: почему тема важна +#учеба #семестр_1 #одк + +В любой организации есть формальные каналы коммуникации: письма, собрания, регламенты. Но параллельно всегда живёт – «неформальная сеть» — разговоры в чатах, на кухне, в личных переписках. Именно там быстрее всего распространяются слухи и сплетни. +Проблема в том, что они напрямую влияют на доверие, мотивацию и поведение сотрудников: люди начинают принимать решения не на основе фактов, а на основе «я слышал(а), что…». HR-практика отмечает, что офисные сплетни могут снижать мораль, повышать тревожность и бить по продуктивности. + +#### План доклада: +1. Различия между слухами и сплетнями как явления деловой коммуникации. +2. Принцип, почему они возникают и как распространяются. +3. Определить рабочие методы профилактики и реакции. + +--- +### 2) Понятия: слухи и сплетни +**Слух** — это неподтверждённая информация о событиях или решениях («будут сокращения», «нас покупают», «премий не будет»). +**Сплетня** — разновидность неформальной коммуникации, чаще о людях, которые сейчас отсутствуют (“он получил повышение через связи”, “она уходит, потому что конфликт”). + +Важно: не вся сплетня = зло. Исследователи и управленцы отмечают, что “сплетни” могут выполнять социальные функции: помогать людям понимать нормы группы и ориентироваться в отношениях, хотя руководители часто воспринимают любые сплетни как “непрофессиональный”. +Но граница проходит там, где начинается травля, дискриминация, подрыв репутации, нарушение приватности и рабочие конфликты — и это уже зона управленческого вмешательства. + +--- +### 3) Почему слухи возникают? +Классическая идея психологии слухов гласит, что слухи “разгоняются”, когда тема **важна** для людей и при этом есть **неопределённость/неясность**. У Аллпорта и Постмана это выражено формулой интенсивности слуха: $Слух \approx важность \times неопределенность$ +Современные работы продолжают использовать этот принцип: чем выше ставки и туманнее официальная информация — тем легче слуху стать “заменителем” фактов. + +Практический вывод для менеджмента: слухи — это часто не “плохие люди”, а симптом информационного вакуума. + +--- + +### 4) Чем слухи и сплетни опасны (и иногда полезны)? + +**Риски для организации:** +1. **Падение доверия** к руководству: если люди верят коллегам, а не Вам, значит официальный канал слабый. +2. **Тревожность и выгорание**: при неопределённости мозг достраивает худшие сценарии. +3. **Потери времени и продуктивности**: обсуждение замещает работу. +4. **Репутационный и юридический хвост**: персональные сплетни могут переходить в травлю или дискриминацию, особенно если затрагивают защищённые признаки. +5. **Срыв изменений**: при реорганизациях слухи могут саботировать внедрение решений ещё до их официального запуска. Психология организационных изменений прямо выделяет слухи как фактор периода перемен. + +**Но есть и полезные функции**: +- индикатор проблем (“почему люди так думают?”) +- механизм социальной регуляции (группа обсуждает нормы) +- быстрый “датчик” доверия и качества внутренних коммуникаций + +--- +### 5) Как распространяются слухи? +Упрощённо цикл выглядит так: +1. **Рычаг** (новость, намёк, задержка выплат, странное письмо, кадровые изменения). +2. **Вакуум информации** (нет ясного объяснения, сроки непонятны). +3. **Интерпретация** (люди заполняют пробелы догадками). +4. **Усиление** (каждый пересказ добавляет “детали”). +5. **Закрепление** (слух становится “общеизвестным фактом”). + +Если слух не остановить, он начинает влиять на поведение: кто-то срочно ищет работу, кто-то конфликтует, кто-то перестаёт вкладываться в проект. + +--- +### 6) Что реально работает в работе со слухами и сплетнями? + +#### A) Профилактика +1. **Регулярная прозрачная коммуникация** + Короткие новости “что происходит / что не происходит / когда будет ясно” снижают неопределенность — а значит, и спрос на слухи. +2. **Официальный быстрый канал “вопрос–ответ”** + Например: еженедельный пост руководителя, внутренний ЧаВо в корпоративном чате (без наказаний за вопросы, естественно). +3. **Коммуникация в период изменений** + Организационные изменения — “питательная среда” для слухов, поэтому нужны заранее подготовленные сообщения, частые синхронизации и объяснение причин решений. +4. **Нормы и границы** + Полезно проговорить: обсуждать рабочие процессы и решения — нормально, но обсуждать личную жизнь/унижать/распространять непроверенное про людей — отнюдь нет. +#### B) Реакция: алгоритм из 5 шагов +**Шаг 1. Зафиксировать слух точно** +Не “там что-то говорят”, а конкретно: _что именно утверждают, где, кто аудитория, какой ущерб уже есть_. + +**Шаг 2. Оценить риск** +- безопасность, деньги, сокращения, репутацию? +- конкретный человек (риск конфликта/травли)? +- влияние на решения команды прямо сейчас? + +**Шаг 3. Выбрать стратегию ответа** +- **Если слух частично правдив, но преждевременный**, то дать рамку – “да, обсуждаем, решения будут такого-то числа; пока никаких действий от вас не требуется”. +- **Если слух ложный**, то коротко и уверенно опровергнуть, без “воды”, прикрепив фактами. +- **Если информацую пока нельзя раскрывать** (например, переговоры), то честно сказать “пока нельзя комментировать” и назвать дату/условие, когда сможете. Это лучше, чем просто молчать. + +**Шаг 4. Донести через правильного “носителя доверия”** +Иногда письмо от HR хуже работает, чем разговор руководителя команды. Важен источник: доверие к менеджменту снижает активность слухов — это отдельно обсуждается в исследованиях о слухах в организациях. + +**Шаг 5. Закрепить и проверить** +Сделать короткий созвон: “мы это обсудили, вопросы здесь”, и посмотреть, стихло ли. Если нет — значит, либо не хватает ясности, либо проблема глубже. +#### C) Если сплетни направлены на конкретного сотрудника +Тут важно действовать аккуратно: +- не устраивать публичную “порку” +- защитить человека +- остановить распространение + +Практичный подход: личный разговор с источником/активными распространителями, фиксация границ (“обсуждать человека за спиной недопустимо”), и перевод в конструктив: если есть претензия — поднимать по процедуре. + +--- + +### 7) Мини-пример +Допустим, в компании задержали объявление бонусов, и пошёл слух: “премий не будет, деньги кончились”. +По модели $важность \times неопределенность$ это идеально: тема важная, ясности нет. +Правильная реакция: руководитель/HR в тот же день пишет коротко: +- “Премии будут, но дата сместилась из-за согласования бюджета”; +- “Точная дата — пятница”; +- “Если у вас есть персональные вопросы — приходите”. + И отдельно: менеджеры команд проговаривают это на созвонах. Итог: неопределенность падает — слуху нечем “питаться”. + +--- + +### 8) Вывод + +Слухи и сплетни — не случайная “грязь”, а естественный продукт неформальной коммуникации. Они усиливаются там, где высока важность темы и низка ясность официальной информации. +Управленческая задача — не “запретить людям говорить” (это невозможно), а: +- закрывать информационные вакуумы +- быстро и честно комментировать чувствительные темы +- защищать сотрудников от персональных атак +- строить культуру, где вопросы можно задавать напрямую diff --git a/01 Учёба/1 семестр/ОРГ/Моя малая родина.md b/01 Учёба/1 семестр/ОРГ/Моя малая родина.md new file mode 100644 index 0000000..b61e188 --- /dev/null +++ b/01 Учёба/1 семестр/ОРГ/Моя малая родина.md @@ -0,0 +1,29 @@ +### 1 СЛАЙД +#учеба #семестр_1 #орг + +Я родом из Нового Уренгоя, города в Ямало-Ненецком Автономном Округе. Этот город довольно-таки молодой, по сравнению с городами России, в этом году ему исполнилось 50 лет. Новый Уренгой возник при освоении Уренгойского газового месторождения. Символический колышек будущего посёлка «Ягельное» забили 22 сентября 1973 года. В 1975 началось бурение и стройка, а 16 июня 1980 посёлок получил статус города. Самой датой основания посёлка считается 7 августа 1975 года. + +### 2 СЛАЙД +Новый Уренгой известен как «газовая столица России», ведь именно отсюда, а если быть точнее, то с Уренгойского супергигансткого газового месторождения, добывается около 60% всего природного газа страны. Оно было открыто ещё в 1966 году, а уже в 1978 началась промышленная добыча газа, и вскоре, в 1984, была открыта международная магистраль «Уренгой-Помары-Ужгород». + + +### 3 СЛАЙД +Климат здесь, конечно же, не особо гостеприимный, так как это все ещё Сибирь. Зима тут 6 месяцев в году, со снегом и тёмными днями. Средняя температура зимой составляет от -25 до -20 градусов, но за последние года часто доходило до -35. Не очень часто, но даже мне удалось застать температуру на улице ниже -40. Зимы тут «карикатурные», всё как по методичке – куча снега, все укутываются в 3 слоя одежды, темно на улице почти всегда, в день бывает от часа до получаса света, остальную часть дня мы проводим в тени. Зато зима здесь красивая, а так как неподалеку тут Тундра, то душа упивается такими видами. А вот в отличии от зимы, летом у нас очень светло. Темного времени суток почти нет, спутать день и ночь очень просто. + +Лето тут тоже хорошее. Казалось бы, в таком месте лето тоже должно быть холодным, но за последнее время с мая по август средняя температура была от +20 до +25 градусов. Естественно ни о каком снеге речи и не идёт! Городок не обделен солнышком, которое тоже греет нас, как и всех летом. В общем, насколько хорошие тут зимы, настолько и приятные лета тут. + +### 4 СЛАЙД +Но несмотря на такой радужный рассказ скрывать минусы становится труднее и труднее: +- Такой холод зимой утомляет, а вместе с вечной тьмой просыпаться и делать что-то по утру сравни с невозможным. Из-за отсутствия света появляется вечное чувство усталости, голова просыпается только ближе к вечеру, когда уже все важные дела закончились. Это безумно мешало учёбе, ведь первые пару уроков уходили просто на то, чтобы проснуться. +- Наплыв снега очень большой. Его не всегда успевают чистить, и часто приходиться ходить и самому растаптывать себе путь. А когда попадаешь под этот снегопад, то и не видишь сам ни черта, из-за чего передвижение на улице становится ещё труднее. +- Город вахтовой, рабочий. Тут нечего делать. Походить, полюбоваться видами – да, но на пару раз, а жить тут надо несколько лет, поэтому это становится скучнее-скучнее-и-скучнее, из-за чего и сложно. +- Воздух грязный, что неудивительно. Газовая промышленность даёт о себе знать. За 18 лет конечно привыкаешь и не замечаешь, но вот новому человеку очень тяжело даётся атмосфера нашего города. + +### 5 СЛАЙД +И даже при всех минусах есть и плюсы, конечно же! +- Самое главное, конечно же, доходность! Это север, так ещё и множество районных коэффициентов, в итоге обычный оклад поднимается с 90% до 100%! Работу тут найти не трудно. Если готовы к климату – езжайте сюда, не стесняйтесь! +- Из-за важности города, его начали отстраивать. Это как раз идёт в противовес к одному из озвученных минусов. Конечно результаты этого всего наблюдаются не прямо сейчас, но обещают всё закончить в течении следующих трёх лет! +- Природа тут шикарна. Если же вы такой человек, который всей душой ценит природу и её красоты, то вам сюда. Рядом располагающаяся Тундра станет для вас хорошим подарком, и зимой и летом. Зимой тут можно полюбоваться снежными видами, а летом пособирать грибов и других прелестей лесов. + +### 6 СЛАЙД +Новый Уренгой вызывает у меня тёплые чувства и воспоминания, так как всё своё детство я провёл именно здесь. Не знаю, посоветовал бы я приезжать сюда кому-нибудь, но сам я сюда буду возвращаться с улыбкой на лице! diff --git a/01 Учёба/2 семестр/Английский язык/Text summary 24 feb.md b/01 Учёба/2 семестр/Английский язык/Text summary 24 feb.md new file mode 100644 index 0000000..cbc7ea1 --- /dev/null +++ b/01 Учёба/2 семестр/Английский язык/Text summary 24 feb.md @@ -0,0 +1,15 @@ +#учеба #семестр_2 #английский_язык + +1. **The title of the text/article** + The text I have read is headlined “Computers from past to present”. +2. **The main idea of the text/article** + The main idea of the text is to describe how computers have developed from early calculating devices to modern systems and how this development has influenced everyday life. +3. **The contents of the text/article. Some facts, names, figures** + The text is divided into four logical parts. + At the first logical part the author starts by gives a definition of a computer and explains the origin of the word “computer”. + The second logical part is devoted to the five generations of computers and their main technological changes, with examples such as ENIAC and UNIVAC at the 1st generation, IBM 1620 at the 2nd, IBM-360 at the 3rd, CRAY-1 at the 4th, and modern PC systems at the 5th. + The third logical part touches upon the next generation – quantum computers – and briefly explains the idea of qubits and why quantum computing may become important. + The final, fourth logical part describes how computers are used today: banking and ATMs, e-commerce and contactless payments, smartphones, virtual reality, and education. + In conclusion, the author states that computers have become essential in modern life and will continue to develop. +4. **Your opinion** + I found the text informative and useful because it presents the history of computers in a clear way and connects it with real-life applications. diff --git a/01 Учёба/2 семестр/Дискретная математика/!SHORTCUTS TESTING.md b/01 Учёба/2 семестр/Дискретная математика/!SHORTCUTS TESTING.md new file mode 100644 index 0000000..6bc9ffd --- /dev/null +++ b/01 Учёба/2 семестр/Дискретная математика/!SHORTCUTS TESTING.md @@ -0,0 +1 @@ +#учеба #семестр_2 #дискретная_математика diff --git a/01 Учёба/2 семестр/Дискретная математика/16.02.md b/01 Учёба/2 семестр/Дискретная математика/16.02.md new file mode 100644 index 0000000..6bc9ffd --- /dev/null +++ b/01 Учёба/2 семестр/Дискретная математика/16.02.md @@ -0,0 +1 @@ +#учеба #семестр_2 #дискретная_математика diff --git a/01 Учёба/2 семестр/Дискретная математика/Таблица Булева функций.md b/01 Учёба/2 семестр/Дискретная математика/Таблица Булева функций.md new file mode 100644 index 0000000..cb9060d --- /dev/null +++ b/01 Учёба/2 семестр/Дискретная математика/Таблица Булева функций.md @@ -0,0 +1,15 @@ +#учеба #семестр_2 #дискретная_математика + +$\bar{asd}$ +$\neg{test}$ +$\overline{test}$ +$\overline{test}$ +$\overline{test}$ +$A \land X$ +$A \lor B$ +$\cup$ +$\cap$ +$\$ + +$\forall$ + diff --git a/01 Учёба/2 семестр/Неразобранное/10.02.md b/01 Учёба/2 семестр/Неразобранное/10.02.md new file mode 100644 index 0000000..aa07f28 --- /dev/null +++ b/01 Учёба/2 семестр/Неразобранное/10.02.md @@ -0,0 +1,469 @@ +# Дискретная математика +#учеба #семестр_2 #неразобранное + +#ДискретнаяМатематика +#Лекция + +Дискретная математика изучает структуры, которые состоят из отдельных элементов, таких например, как целые числа, графы, логика и множества. +Главное свойство таких объектов – дискретность, то есть их разделимость на отдельные неделимые части. Это отличается дискретную математика от мат. анализа и физика, где работают с непрерывными величинами, такими как функции и пределы. + +**Множество** – это совокупность некоторых объектов произвольной природы, объединённых общим свойством. +Важные свойства множества: порядок элементов не имеет значения, а одинаковые элементы не повторяются. + +**Создателем** теории множеств считается **Георг Кантор**, немецкий математик, разработал: +- Теорию бесконечных множеств +- Теорию трансфинитивных чисел + +==**Множество** – это элементарное неопределяемое понятие в математике. Мы не можем его определить так же, как точку в геометрии, числа в арифметике.== + +## Основные понятия +1. Объекты, обращующие некоторое множество, называются его элементами. Принадленость некоторго элемента $x$ множеству как $x \in A$ – «$x$ это элемент множества $A$»; + Непринадлежность некоторых элемента $a$ множеству $M$ обозначается: $a \not\in M$; + Знак «» или «» при описании множеств обозначает «такой, что» или «обладающий свойством». +2. Существуют 3 основным способа заданий множеств: + 1. Перечисление элементов $X=\{x_{1},x_{2}\dots x_{n}\};$ + 2. Задание порождающей процедуры $A=\{x|x=f\};$ + Порождающая процедура описывается способ получения элементов множества из уже полученных элементов либо из других объектов. Элементами множества считаются все объекты, которые могут быть посмотрены с помощью такой процедуры $B=\{B=x|x^{2}-3x+2=0\} \to B=\{1,2\}$ + 3. Описание характеристического свойства $A=\{x|x=P(X)\}$ +3. Множества могут быть конечными (группа студентов) или бесконечными (натуральные числа). Множества, элементами которых также являются множества называются классом (семейством, системной) множеств. +4. Для конечного множества $A=\{a_{1},a_{2},\dots,a_{n}\}$ количество элементов $n$ называется **мощностью** множества и обозначается $|A|$. + Для конкретного элемента $a$ и множества $A$ можно определить, принадлежит элемент $a$ множеству $A$ или не принадлежит. + Пример: $A=\{x\mid 5 \le x \le 10,\ x \in N\}\Rightarrow |A|=6$. + Мощность пустого множества равна нулю: $|\varnothing|=0$. +5. Множество, состоящее из одного элемента, обозначается $\{a\}$. + Множество, не содержащее элементов, называется **пустым** и обозначается $\varnothing$ (например, $A=\varnothing$). + Пустое множество является подмножеством любого множества. +6. Множество $U$ называется **универсальным**, если оно содержит все элементы и все множества являются его подмножествами. + Всегда необходимо оговаривать, что понимается под универсальным множеством $U$. +7. Множество $A$ называется **подмножеством** множества $B$, если все элементы множества $A$ являются также элементами множества $B$. + Говорят, что $A$ включается в $B$, и обозначают: $A \subseteq B$. + Таким образом, $A \subseteq B$, если для любого элемента $x$: если $x \in A$, то $x \in B$. + Если множество $B$ содержит хотя бы один элемент, не принадлежащий множеству $A$, то $A \subset B$ — строгое включение. +8. Равенство двух множеств $A$ и $B$ означает, что множества состоят из одних и тех же элементов. + То есть выполняются два включения: $A \subseteq B$ и $B \subseteq A$. +9. Связь между произвольным множеством и всеми его подмножествами определяется **булеаном**. + Булеан множества — это множество всех подмножеств данного множества $A$, включая пустое множество. + Обозначения булеана: $P(A)$, $2^{A}$, $B(A)$. + Пример: для $A=\{1,2,3\}$ булеан равен + $P(A)=\{\varnothing,\{1\},\{2\},\{3\},\{1,2\},\{1,3\},\{2,3\},\{1,2,3\}\}$. + +## Операции над множествами +1. **Объединение** ($A \cup B$) — множество всех элементов, которые принадлежат хотя бы одному из множеств $A$ или $B$. + $A \cup B=\{x \mid x \in A \text{ или } x \in B\}$. + Пример: $A=\{1,2\},\ B=\{2,3\}$, тогда $A \cup B=\{1,2,3\}$. + Если $A=B$, то $A \cup B=A=B$. + Если $B \subseteq A$, то $A \cup B=A$. + Если $A \cap B=\varnothing$, то объединение состоит из всех элементов $A$ и $B$ без повторений. +2. **Пересечение** ($A \cap B$) — множество всех элементов, которые одновременно принадлежат $A$ и $B$. + $A \cap B=\{x \mid x \in A \text{ и } x \in B\}$. + Пример: $A=\{1,2\},\ B=\{2,3\}$, тогда $A \cap B=\{2\}$. + Если $A=B$, то $A \cap B=A=B$. + Если $B \subseteq A$, то $A \cap B=B$. + Если множества не имеют общих элементов, то $A \cap B=\varnothing$. +3. **Разность множеств** ($A \setminus B$) — множество элементов, которые принадлежат $A$ и не принадлежат $B$. + Обозначается $A \setminus B$ и читается как «разность множеств $A$ и $B$». + $A \setminus B=\{x \mid x \in A \text{ и } x \notin B\}$. + В общем случае $A \setminus B \ne B \setminus A$. + Пример: пусть $A=\{4,5,8,12,16,21\}$, $B=\{1,2,5,7,12,17,21,30\}$. + Тогда $A \setminus B=\{4,8,16\}$, а $B \setminus A=\{1,2,7,17,30\}$. +4. **Симметрическая разность** множеств $A$ и $B$ — множество элементов, которые принадлежат исходным множествам, но не принадлежат одновременно обоим. + Обозначается: $A \triangle B$. + $A \triangle B=(A \cup B)\setminus(A \cap B)=(A \setminus B)\cup(B \setminus A)$. + Пример: пусть $A=\{1,2,3,4\}$, $B=\{3,4,5,6\}$. + Тогда $A \triangle B=\{1,2,5,6\}$. +5. **Дополнение** (или **отрицание**) множества $A$ — множество элементов универсального множества $U$, не принадлежащих $A$. + То есть дополнение к $A$ — это разность между универсальным множеством $U$ и множеством $A$. + Обозначают: $\overline{A}$ (иногда $A^c$). + $\overline{A}=U \setminus A=\{x \mid x \in U \text{ и } x \notin A\}$. + Пример: $A=\{1,2,3,4,5\}$, $B=\{4,5,6,7\}$. + Если рассматриваем только элементы из $A$ и $B$, то универсальное множество + $U=A \cup B=\{1,2,3,4,5,6,7\}$. + Тогда $\overline{A}=U \setminus A=\{6,7\}$, а $\overline{B}=U \setminus B=\{1,2,3\}$. + +## Законы и тождества алгебры множеств +Пусть $U$ — универсальное множество, а $A,B,C$ — его подмножества. Тогда следующие равенства являются тождествами. + +| Группа законов | Для объединения | Для пересечения | +|---|---|---| +| 1. Законы коммутативности | $A \cup B = B \cup A$ | $A \cap B = B \cap A$ | +| 2. Законы ассоциативности | $A \cup (B \cup C) = (A \cup B) \cup C$ | $A \cap (B \cap C) = (A \cap B) \cap C$ | +| 3. Законы дистрибутивности | $A \cup (B \cap C) = (A \cup B) \cap (A \cup C)$ | $A \cap (B \cup C) = (A \cap B) \cup (A \cap C)$ | +| 4. Законы тождества | $A \cup \varnothing = A$; $A \cup U = U$ | $A \cap U = A$; $A \cap \varnothing = \varnothing$ | +| 5. Законы дополнения | $A \cup \overline{A} = U$; $\overline{\overline{A}} = A$ | $A \cap \overline{A} = \varnothing$; $\overline{\varnothing}=U,\ \overline{U}=\varnothing$ | +| 6. Законы идемпотентности | $A \cup A = A$ | $A \cap A = A$ | +| 7. Законы де Моргана | $\overline{A \cup B} = \overline{A} \cap \overline{B}$ | $\overline{A \cap B} = \overline{A} \cup \overline{B}$ | +| 8. Законы поглощения | $A \cup (A \cap B) = A$ | $A \cap (A \cup B) = A$ | + +## Основные свойства сложения (умножения) +1. **Коммутативность** (перестановочный закон) означает, что можно менять местами слагаемые (множители), и результат не изменится: + $a+b=b+a$, $ab=ba$. +2. **Ассоциативность** (сочетательный закон) означает, что можно по-разному расставлять скобки при сложении и умножении: + $a+(b+c)=(a+b)+c$, + $a(bc)=(ab)c$. +3. **Дистрибутивность** (распределительный закон) умножения относительно сложения: + $a\cdot(b+c)=a\cdot b+a\cdot c$. +4. **Идемпотентность** — операция, которая при повторном применении к одному и тому же объекту не меняет результат. + В теории множеств операции объединения и пересечения идемпотентны: + $A\cup A=A$ и $A\cap A=A$ для любого множества $A$. + +## Доказательство закона де Моргана +Докажем один из законов алгебры множеств: +$\overline{A \cup B}=\overline{A}\cap\overline{B}$. + +Огастес (Август) де Морган (27.06.1806–18.03.1871) — шотландский математик и логик, первый президент Лондонского математического общества. С его именем связаны известные соотношения в логике и теории множеств (законы де Моргана). + +**Доказательство:** +$$ +\overline{A\cup B}=\{x\mid x\notin A\cup B\}=\{x\mid x\notin A\ \text{и}\ x\notin B\}, +$$ +$$ +\{x\mid x\notin A\ \text{и}\ x\notin B\}=\{x\mid x\in\overline{A}\ \text{и}\ x\in\overline{B}\}=\overline{A}\cap\overline{B}. +$$ +Что и требовалось доказать. + +Для доказательства законов множеств обычно используют два основных подхода: +1. Аналитический метод: доказывается, что если элемент принадлежит одной стороне равенства, то он принадлежит и другой, и наоборот. +2. Геометрический метод: используется наглядность диаграмм Эйлера-Венна. + +Леонард Эйлер (15.04.1707–18.09.1783) — швейцарский, немецкий и российский математик и механик, внёсший фундаментальный вклад в развитие математики, физики и астрономии. + +Джон Венн (04.08.1834–04.04.1923) — английский логик и философ. Развил диаграммы Эйлера-Венна, которые широко применяются в теории множеств, вероятности, логике, статистике и информатике. + +Приоритет операций в алгебре множеств: +1. $\overline{A}$ (дополнение) +2. $A \cap B$ (пересечение) +3. $A \cup B$ (объединение) +4. $A \setminus B$ (разность) + +## Задачи +1. Доказать свойство дистрибутивности: + $A\cap(B\cup C)=(A\cap B)\cup(A\cap C)$. + + Доказательство. + Пусть $x\in A\cap(B\cup C)$. Тогда $x\in A$ и $(x\in B$ или $x\in C)$. + Значит, $(x\in A$ и $x\in B)$ или $(x\in A$ и $x\in C)$, то есть + $x\in (A\cap B)\cup(A\cap C)$. + + Обратно, пусть $x\in (A\cap B)\cup(A\cap C)$. + Тогда $(x\in A$ и $x\in B)$ или $(x\in A$ и $x\in C)$. + Следовательно, $x\in A$ и $(x\in B$ или $x\in C)$, то есть + $x\in A\cap(B\cup C)$. + + Итак, обе части равны: + $A\cap(B\cup C)=(A\cap B)\cup(A\cap C)$, что и требовалось доказать. + +--- +# Философия +#Философия +#Лекция + +## План +1. Предмет философии, её функции и роль в развитии человека и общества. +2. Философия как мировоззрение. +3. Сущность современного антропоцентризма. +4. Философия и частные науки. +5. Структура философского знания. +6. Эпистемология: философское учение о знании. +7. Теоретическое «конструирование» знания. +8. Научное и вненаучное знание. +9. Картины мира: РКМ, ФКМ, НКМ. Синергетика как реальное видение. + +## Понятие философии +**Философия**: +1. Форма общественного сознания, направленная на выработку целостного взгляда на мир и место в нём человека. +2. Учение об общих принципах бытия и познания, об отношении человека к миру. +3. Наука о всеобщих законах развития природы, общества и мышления. + +### Ключевые отношения +1. Человек - человек. +2. Человек - общество. +3. Человек - природа. +4. Человек - мир. + +Связанные сферы: **человек**, **общество**, **природа**, **окружающий мир**. + +## Основной вопрос философии +Традиционная трактовка: отношение сознания к материи, духа к природе. + +1. Первая сторона: что первично — материя или сознание? + - **Материализм**: материя первична, сознание — свойство высокоорганизованной материи. + - **Дуализм**: материя и сознание — два первоначала, существующие независимо друг от друга. + - **Идеализм**: первично сознание; материя независимо от сознания не существует. +2. Вторая сторона: тождество мышления и бытия (вопрос о познаваемости мира). + - **Мир познаваем**: + - **Материализм**: сознание отражает объективный мир. + - **Идеализм** (объективный идеализм): сознание человека есть постижение духовного основания мира, самопознание духа. + - **Мир непознаваем**: + - **Агностицизм** (в том числе субъективный идеализм). + - Д. Юм (1711-1776): человек имеет дело только с ощущениями; мы не знаем, что за ними, каков мир и существует ли он вне нас. + - И. Кант (1724-1804): мир «вещей в себе» непознаваем. + +### Основной вопрос философии: решение материализмом +Соотношение сознания и материального мира: +1. Первичность материального мира и вторичность сознания: + - материя -> сознание. +2. Тождество мышления и бытия (познаваемость мира): + - процесс познания и истина; + - формы и методы познания; + - практика как основа, цель и критерий познания. + +Атрибуты материи: +1. Движение. +2. Пространство. +3. Время. +4. Отражение. + +#### Основные характеристики материализма +Материализм — направление в философии, признающее первичность материи и считающее сознание свойством материи, то есть вторичным по отношению к ней. + +Различают: +1. По отношению к общественно-исторической практике: + - созерцательный материализм; + - практически действенный материализм. +2. С точки зрения используемого метода: + - метафизический материализм; + - диалектический материализм. +3. По толкованию сущности сознания: + - научный материализм; + - вульгарный материализм. +4. С точки зрения оценки роли сторон процесса познания: + - рационалистический материализм; + - сенсуалистический материализм. +5. По степени философской оформленности: + - сознательный материализм; + - стихийный (наивный), философски не оформленный материализм. + +#### Основные формы материализма +1. **Наивный (созерцательный) материализм**. + Основной метод познания: созерцательный. + Представители: + - Фалес (625-547 до н.э.); + - Гераклит (544-482 до н.э.); + - Демокрит (460-371 до н.э.); + - Эпикур (341-270 до н.э.); + - Лукреций Кар (99-55 до н.э.). +2. **Метафизический материализм**. + Основной метод познания: метафизический. + Представители: + - Ф. Бэкон (1561-1626); + - Б. Спиноза (1632-1677); + - Д. Локк (1632-1704); + - П. Гольбах (1723-1789); + - М. Ломоносов (1711-1765); + - Л. Фейербах (1804-1872). +3. **Диалектический материализм**. + Основной метод познания: диалектический. + Представители: + - К. Маркс (1818-1883); + - Ф. Энгельс (1820-1895); + - И. Дицген (1828-1888); + - Г. Плеханов (1856-1918); + - В. Ленин (1870-1924). + +#### Общая характеристика идеализма +Идеализм — направление в философии, исходящее из первичности духа, идеи, сознания и вторичности материи, природы, бытия. + +1. **Объективный идеализм**. + Объективные идеалисты принимают за первичное некую идею вообще, безликий разум, который называют «абсолютной идеей», «мировой волей». Идеальное начало, мировой дух, по их мнению, творит мир и все бытие. + Представители: + - Платон (460-370 до н.э.); + - Г. Лейбниц (1647-1716); + - Г. Гегель (1770-1831); + - Ф. Шеллинг (1775-1854); + - неотомизм. +2. **Субъективный идеализм**. + За первичное принимается сознание субъекта, чувствующего и мыслящего «Я», а природа выводится из человеческого сознания. На этом основании в той или иной форме отрицается самостоятельное существование предметов реального мира и объективный характер законов его развития; человек воспринимает прежде всего свои ощущения. + Представители: + - Дж. Беркли (1685-1753); + - Д. Юм (1711-1776); + - И. Фихте (1762-1814); + - Э. Мах (1838-1916); + - Р. Авенариус (1843-1896). + +## Функции философии +Функции философии — основные направления применения философии, через которые реализуется её назначение. + +### Основные функции +1. **Мировоззренческая**: + - выработка средств мировоззренческой ориентации человека; + - выработка системы взглядов на объективный мир и место в нём человека, на отношение человека к окружающей действительности и самому себе, а также связанных с этим жизненных позиций, убеждений, идеалов, принципов познания и деятельности, ценностных ориентаций. +2. **Методологическая**: + - выработка системы принципов и способов теоретической и практической деятельности; + - выработка методологических принципов исследования в области частных наук. + +### Другие функции +1. Гносеологическая. +2. Аксиологическая. +3. Воспитательно-гуманитарная. +4. Логическая. +5. Критическая. +6. Прогностическая. + +### Краткие пояснения к функциям +1. **Мировоззренческая** — рационально-теоретический способ ориентации в мире как следствие обобщения и интеграции всех видов человеческой практики и культуры. +2. **Гносеологическая** — оценка принципиальных возможностей познания, разработка учения о характере и закономерностях познавательного процесса. +3. **Методологическая** — разработка теории поисковой деятельности, её принципов, способов, норм (на основе логической субординации). +4. **Социальная** — гармонизация общественных отношений на гуманитарных основаниях. +5. **Аксиологическая** — утверждение социально-удостоверенных ценностей, стандартов, идеалов, регламентирующих многообразие общественных и личных отношений. +6. **Гуманистическая** — сверхзадача философии: показать, «каким» надо быть, чтобы быть человеком. + +## Философия и мировоззрение +**Мировоззрение** — обобщённая система взглядов человека на мир в целом, на своё собственное место в нём, понимание и оценка смысла своей жизни и деятельности. + +**Философия** — рационально-теоретическая форма общественного сознания, направленная на выработку целостного взгляда на мир и на место в нём человека, исследующая вытекающие отсюда познавательные, этические и эстетические отношения человека к миру. + +### Связь философии и мировоззрения +#### Общее +Мировоззрение и философия объединяет поиск ответов на вопросы: +1. Что представляет собой природа, окружающий мир? +2. Каково место человека в этом мире? +3. Может ли человек познать мир и каким образом достигается познание? +4. Как человек должен вести себя по отношению к другим людям? +5. Что такое истина, добро, красота и т.д.? + +#### Различие +1. Понятие «мировоззрение» шире по объёму, чем понятие «философия». +2. Мировоззрение появляется задолго до того, как возникает философия. +3. Существуют различные типы мировоззрения, в том числе мифология и религия. +4. Философия, в отличие от мировоззрения, не является достоянием широких масс. +5. Философия отличается от стихийного мировоззрения тем, что реализует мировоззренческую функцию на основе теоретического отношения к действительности. + +### Исторические типы мировоззрения +1. **Мифология**. + Миф — ранняя форма духовной культуры человечества, объединявшая в себе зачатки знания, фантазии и верования. +2. **Религия**. + Удвоение мира, вера в существование сверхъестественных сил и в их главенствующую роль в мироздании и жизни людей. +3. **Философия**. + Рационально-теоретическая форма мировоззрения, система общих теоретических взглядов на мир и на место в нём человека. + +#### Общее +Все три формы относятся к типам мировоззрения и отвечают на фундаментальные вопросы о мире и человеке. + +#### Различия +1. Мифология и религия в большей степени опираются на веру, переживание, эмоционально-образное восприятие. +2. Философия опирается на разум, реальные наблюдения, логический анализ, обобщения, выводы и доказательства. + +### Основные типы мировоззрения +1. **Повседневное (обыденное) мировоззрение**. + Существует в форме здравого смысла, стихийных, несистематизированных, традиционных представлений о мире. +2. **Религиозное мировоззрение**. + Связано с признанием сверхъестественного мирового начала; его основа выражается в иррациональной и эмоционально-образной форме. +3. **Философское мировоззрение**. + Выступает в понятийной, категориальной форме, опираясь на достижения науки о природе и обществе, и обладает определённой мерой логической доказательности. +4. **Научное мировоззрение**. + Теоретические взгляды на окружающий мир, основанные на данных науки. + +#### Уровни (аспекты) мировоззрения +1. **Мироощущение, мировосприятие, миросозерцание** — целостное осознание и переживание воздействующей на человека реальности в форме ощущений, восприятий, представлений и эмоций. +2. **Миропонимание** — понятийный, категориальный, интеллектуальный аспект мировоззрения. + +## Структура философского знания +1. Онтология (учение о бытии). +2. Гносеология (учение о познании). +3. Методология (учение о методе). +4. Логика. +5. Философия природы. +6. Социальная философия. +7. Философская антропология. +8. Эстетика (учение о прекрасном). +9. Этика (теория морали). +10. История философии. + +## Классификация философских учений (история и современность) +### История философии (исторические формы) +1. Философия Древнего мира. +2. Философия Средних веков. +3. Философия Возрождения. +4. Философия Нового времени. +5. Философия XVIII-XIX вв. +6. Философия XX века — современные типы философских систем: + - отечественная философия; + - западноевропейская философия; + - американская философия; + - восточная философия и т.д. + +### Теория философии +1. Теория всеобщего. +2. Теория бытия. +3. Философия природы. +4. Теория развития (диалектика). +5. Социальная философия. +6. Философия истории. +7. Философия политики. +8. Философия науки, техники, морали. +9. Философия человека. +10. Философская антропология. +11. Философия познания. +12. Теория мышления (логика). +13. Философия войны, мира и армии. + +## РКМ (религиозная картина мира) +Религия — определённая система взглядов и чувств, обусловленная верой в сверхъестественное. + +И философия, и религия обсуждают проблемы устройства мироздания, природы и сущности человека, однако между ними существуют принципиальные отличия: +1. Религиозный результат формулируется в конкретных и наглядных образах. +2. Религия предлагает человеку верить и сопереживать. +3. Религия предлагает готовые ответы на мировоззренческие вопросы и не предусматривает критики фундаментальных положений. +4. Религия предлагает человеку абсолютные идеалы и ценности. +5. Религиозные идеи сопровождаются конкретными действиями: обрядами, ритуалами, молитвами. + +## Центр религиозной картины мира +1. Центр религиозной картины мира — Бог или множество богов. +2. Бог непознаваем, поскольку является существом, чьи качества превосходят возможности человеческого восприятия и понимания. +3. Способом объединения верующего с Богом выступает культ: обряды, ритуалы, молитвы; местом для них служит храм. + +## Сакральный и профанный мир +Принципиальная особенность религиозного миропонимания — удвоение мира. +Действительность существует в двух плоскостях: +1. Сакральной: священное, божественное, почитаемое. +2. Профанной: обыденное, мирское. + +Мир сакрального и мир профанного определяются через противопоставление друг другу: они взаимно исключаются, но соотносятся. + +## Типы религиозных картин мира +1. **Атеизм**: + - в широком смысле — отвержение веры в существование богов; + - в узком смысле — убеждение в том, что богов не существует. +2. **Пантеизм** — религиозно-философское учение, объединяющее и иногда отождествляющее Бога и мир. +3. **Деизм** — религиозно-философское направление, признающее существование Бога и сотворение им мира, но отрицающее его дальнейшее вмешательство в ход мира. + +## Картина мироздания +Общая картина мироздания включает: +1. Мифологическую картину мира. +2. Религиозную картину мира. +3. Естественнонаучную картину мира. +4. Философскую картину мира. + +## Общая научная картина мира +Общая научная картина мира выступает особой формой теоретического знания. Она интегрирует наиболее важные достижения естественных, гуманитарных и технических наук. + +Любая философская система, построенная на принципах рационального объяснения бытия, затрагивает проблему всеобщей обусловленности явлений и процессов в мире, которая обозначается понятием **детерминизм** (от лат. *determinare* — определять, отделять, отграничивать). + +**Детерминизм** — учение о всеобщей обусловленности объективных явлений: любое событие, факт, явление имеют свою причину и могут выступать причиной других событий, фактов и явлений. + +## НКМ (научная картина мира) +Выделяют три этапа НКМ: +1. Классическая. +2. Неклассическая. +3. Постнеклассическая. + +### Классическая картина мира +1. Связана с научной революцией Ньютона и классическим естествознанием. +2. Период: XVII-XIX века. +3. Основная идея: переход от геоцентрической модели мира к гелиоцентрической. +4. Ключевые открытия связаны с Н. Коперником, Г. Галилеем, И. Кеплером, Р. Декартом. +5. И. Ньютон подвёл итог этим исследованиям и сформулировал базовые принципы новой научной картины мира. + +### Неклассическая картина мира +1. Связана с эйнштейновской революцией. +2. Период: рубеж XIX-XX веков. +3. Важные открытия: + - сложная структура атома; + - явление радиоактивности; + - развитие теории относительности и квантовых представлений о мире. + +### Постнеклассическая картина мира +1. Центральная идея — синергетика как междисциплинарное направление исследований. +2. Задача: изучение природных явлений и процессов на основе принципов самоорганизации систем (состоящих из подсистем). +3. Особое внимание уделяется структурам, возникающим в процессе самоорганизации. +4. В познание включаются ценностные аспекты. diff --git a/02 Работы/Доклады/Философия/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md b/02 Работы/Доклады/Философия/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md new file mode 100644 index 0000000..7a397f9 --- /dev/null +++ b/02 Работы/Доклады/Философия/Пифагорейская школа. «Все есть число». Разработка форм обоснования и доказательства.md @@ -0,0 +1,38 @@ +#работы #доклады #пифагорейская_школа +## Слайд 1. Пифагорейская школа и её основные особенности +**Подзаголовок:** Возникновение школы, её устройство и круг идей +Пифагорейская школа занимает особое место в истории античной философии, потому что именно в ней мысль о мире как об упорядоченном целом впервые была последовательно связана с числом, мерой и пропорцией. Пифагореизм возник как учение Пифагора Самосского, жившего приблизительно в 570–490 годах до н. э. Пифагорейское сообщество сложилось в Кротоне в Южной Италии около 525 года до н. э. Это сообщество объединяло черты философской школы и религиозно-этического братства со строгим образом жизни, дисциплиной, внутренней иерархией и элементами тайного знания. + +Особенность пифагорейской школы состоит в том, что она соединяла сразу несколько направлений: философию, математику, музыку, космологию и этику. Для пифагорейцев философия была связана с очищением души и приведением человеческой жизни в согласие с космическим порядком. Поэтому у пифагорейцев математическое знание имело познавательное и мировоззренческое значение: через число человек, по их убеждению, приобщается к скрытой гармонии мира. Одной из центральных идей пифагореизма было представление о том, что реальность — включая музыку и астрономию — в своей глубине имеет математическую структуру. + +## Слайд 2. «Всё есть число» и число как основа порядка +**Подзаголовок:** Смысл центрального тезиса пифагорейцев +Именно отсюда возникает знаменитая формула, которую обычно передают словами «всё есть число». В учебной традиции она стала символом пифагорейского взгляда на мир. Однако современная историко-философская литература уточняет эту формулу. В «Метафизике» Аристотель излагает позицию пифагорейцев так: вещи либо суть числа, либо сделаны из чисел. Автор статьи в Stanford Encyclopedia of Philosophy подчёркивает, что здесь, вероятно, представлена аристотелевская интерпретация их системы. Более того, применительно к Филолаю — одному из важнейших пифагорейцев V века до н. э. — точнее говорить о познавательной роли числа: через число вещи становятся познаваемыми, а космос осмысляется как порядок, основанный на мере, границе и гармонии. + +Почему же число оказалось для пифагорейцев таким фундаментальным принципом? Во-первых, число понималось ими как структура, ритм и отношение. Они видели, что музыкальные созвучия можно выразить простыми числовыми отношениями: например, октава, квинта и кварта соотносятся с простыми отношениями целых чисел. Для них это было чрезвычайно важно: если музыка, которая непосредственно воспринимается слухом как гармония, подчиняется числу, значит и космос в целом может быть устроен по тем же законам. + +Во-вторых, число у пифагорейцев было связано с идеей предела и порядка. В пифагореизме часто отмечается противопоставление предела и беспредельного, даже есть знаменитая таблица противоположностей: предел и беспредельное, нечётное и чётное, единое и многое, покой и движение, свет и тьма и так далее. Это показывает, что для пифагорейцев число было способом упорядочить хаотическое многообразие мира. Через числовую структуру хаос становится космосом, то есть упорядоченным миром. + +## Слайд 3. От символизма к рациональному знанию +**Подзаголовок:** Пифагореизм, как переходный этап в развитии мышления +Важно и то, что пифагорейская школа стояла на границе двух типов мышления. В ней сохранялись элементы сакральности, символизма и полумистического отношения к числам. Пифагореизм соединял рациональную теорию числа с мистической нумерологией. Вместе с этим школа делала решительный шаг к рационализации знания: число начинает рассматриваться как универсальный принцип объяснения, а математическая структура становится основанием понимания мира. Поэтому пифагореизм можно считать переходным звеном от религиозно-символического мышления к теоретической философии и математической науке. + +## Слайд 4. Пифагорейцы и развитие доказательства +**Подзаголовок:** Переход от практического знания к доказательной математике +Значение пифагорейцев здесь огромно, хотя и требует правильной формулировки. До греков многие цивилизации — например, египетская и вавилонская — уже обладали значительными математическими знаниями. Греческая традиция постепенно превращает геометрию из практического искусства в дедуктивную науку. Именно в древнегреческой культуре геометрия стала доказательной дисциплиной. Это значит, что в греческом мире происходит переход от знания, основанного на результате, к знанию, основанному на понимании причины и необходимости. + +Пифагорейцы были одной из ключевых ранних сил этого перехода. Их школа собирала математические факты и стремилась выявить в них общие основания. Именно поэтому с пифагорейцами традиционно связывают знаменитую теорему Пифагора и более широкий поворот к теоретическому, принципиальному рассмотрению геометрии. Сама теорема была известна ещё в Вавилоне задолго до Пифагора, однако Пифагор или его школа могли быть первыми, кто дал ей доказательство. Это очень важное различие: открыть правило и доказать его — разные этапы развития знания. Правило может быть получено из опыта, измерений или многочисленных примеров. Доказательство показывает, что утверждение обладает необходимой истинностью. + +## Слайд 5. Логическое обоснование, Евклид и кризис несоизмеримости +**Подзаголовок:** Развитие строгого мышления и его первые трудности +В этом и состоит философская ценность пифагорейской математики. Для пифагорейцев число и фигура становятся инструментами вычисления и средствами логического обоснования. В дальнейшем именно такой подход приведёт к классической греческой модели науки, где истина строится как цепь выводов: от исходных положений — к следствиям, от определений и допущений — к теоремам. Позднее наивысшее выражение эта линия получит у Евклида, который начинает «Начала» с определений, общих положений и постулатов, а затем разворачивает знания как упорядоченную систему доказательств. Возможность такого хода мысли была подготовлена более ранней традицией, в том числе пифагорейской. + +Особенно показателен здесь кризис, связанный с несоизмеримыми величинами. Крупной вехой греческой математики стало открытие пифагорейцами того факта, что не все длины соизмеримы одной общей мерой. Речь идёт прежде всего об отношении стороны квадрата к его диагонали: для единичного квадрата диагональ равна √2, и это отношение не выражается как отношение двух целых чисел. Для школы, для которой целое число и его отношения казались универсальным основанием реальности, это стало серьёзным философским вызовом. + +Почему это открытие так важно для темы доказательства? Потому что оно показало границы уверенности в том, что «всё» можно свести к простым числовым соотношениям в смысле целых чисел. Иначе говоря, сама пифагорейская математика породила проблему, которая потребовала более строгих способов рассуждения, более тонкого понятия пропорции и более чёткого различения между арифметическим и геометрическим. С этим связаны дальнейшее развитие теории пропорций и попытки осмыслить несоизмеримое, которые позже получат оформление у Евклида. Следовательно, пифагорейская школа сыграла историческую роль в утверждении числа как принципа порядка и в выявлении границ этого принципа, что стало признаком зрелости мысли. + +## Слайд 6. Главный вклад пифагорейцев и общий вывод +**Подзаголовок:** Значение пифагорейской школы для философии и науки +Главный вклад пифагорейцев в развитие обоснования состоит в трёх вещах. Во-первых, они сделали число универсальным объяснительным принципом. Во-вторых, они связали истину с рационально обнаруживаемой структурой — мерой, пропорцией, симметрией. В-третьих, их математические исследования подготовили переход к доказательному идеалу греческой науки, где необходимо выводить результат из оснований. Исторически пифагореизм ещё не является полностью сложившейся аксиоматикой, но уже задаёт направление, в котором истина понимается как обоснованная необходимость. + +Пифагорейская школа — это один из истоков европейской рациональности. Она предложила идею мира как гармонически устроенного целого, постижимого через число. Тезис «всё есть число» в строгом историческом смысле нуждается в уточнении, но как краткая формула он точно выражает главное: для пифагорейцев порядок бытия структурен, измерим и соразмерен. Из этого выросла особая философия космоса и новое понимание знания как доказуемого. Именно поэтому пифагорейцы важны для истории античной мысли и для всей истории науки: они помогли превратить математическое умение в математическое доказательство, а созерцание гармонии — в философию порядка. diff --git a/02 Работы/Доклады/Философия/Пифагорейская школа.key b/02 Работы/Доклады/Философия/Пифагорейская школа.key new file mode 100644 index 0000000..5b6568e Binary files /dev/null and b/02 Работы/Доклады/Философия/Пифагорейская школа.key differ diff --git a/02 Работы/Лабы/ОИТ/ОИТ-ЛР1.docx b/02 Работы/Лабы/ОИТ/ОИТ-ЛР1.docx new file mode 100644 index 0000000..33de04a Binary files /dev/null and b/02 Работы/Лабы/ОИТ/ОИТ-ЛР1.docx differ diff --git a/02 Работы/Практики/ТехПрог/ТехПрог-ПР1.docx b/02 Работы/Практики/ТехПрог/ТехПрог-ПР1.docx new file mode 100644 index 0000000..c2dc1fa Binary files /dev/null and b/02 Работы/Практики/ТехПрог/ТехПрог-ПР1.docx differ diff --git a/03 Ресурсы/Изображения/Pasted image 20251216164139.png b/03 Ресурсы/Изображения/Pasted image 20251216164139.png new file mode 100644 index 0000000..408107a Binary files /dev/null and b/03 Ресурсы/Изображения/Pasted image 20251216164139.png differ diff --git a/03 Ресурсы/Изображения/Pasted image 20251216164141.png b/03 Ресурсы/Изображения/Pasted image 20251216164141.png new file mode 100644 index 0000000..408107a Binary files /dev/null and b/03 Ресурсы/Изображения/Pasted image 20251216164141.png differ diff --git a/03 Ресурсы/Изображения/Pasted image 20251216164449.png b/03 Ресурсы/Изображения/Pasted image 20251216164449.png new file mode 100644 index 0000000..224f482 Binary files /dev/null and b/03 Ресурсы/Изображения/Pasted image 20251216164449.png differ diff --git a/03 Ресурсы/Учебники/Английский.pdf b/03 Ресурсы/Учебники/Английский.pdf new file mode 100644 index 0000000..537ea8e Binary files /dev/null and b/03 Ресурсы/Учебники/Английский.pdf differ diff --git a/03 Ресурсы/Учебники/ВышМат Сборник Бек..pdf b/03 Ресурсы/Учебники/ВышМат Сборник Бек..pdf new file mode 100644 index 0000000..4bcb17a Binary files /dev/null and b/03 Ресурсы/Учебники/ВышМат Сборник Бек..pdf differ diff --git a/03 Ресурсы/Шпаргалки/LaTeX shortcuts.md b/03 Ресурсы/Шпаргалки/LaTeX shortcuts.md new file mode 100644 index 0000000..a4373a0 --- /dev/null +++ b/03 Ресурсы/Шпаргалки/LaTeX shortcuts.md @@ -0,0 +1,143 @@ +#ресурсы #шпаргалки + +$\alpha$ - @a +$\beta$ - @b +$\gamma$ - @g $\Gamma$ - @G +$\delta$ - @d $\Delta$ - @D +$\zeta$ -@z +$\sigma$ - @s $\Sigma$ - @S +$\kappa$ - @k +$\lambda$ - @l $\Lambda$ - @L +$\epsilon$ - @e $\varepsilon$ - :e +$\theta$ - @t $\Theta$ - @T $\vartheta$ - :t +$\upsilon$ - @u +$\iota$ - @i +$\omega$ - @o; ome $\Omega$ - @O; Ome + +$_\text{smol}$ - sts +$x^{2}$ - sr +$x^{3}$ - cb +$x^{y}$ - rd +$x_{1}$ = _ +$\sqrt{ x }$ - sq +$\frac{x}{y}$ - // +$e^{ x }$ - ee +$x^{-1}$ - invs +$x^{*}$ - conj +$\mathrm{Re}$ - Re +$\mathrm{Im}$ - Im +$\mathbf{letter}$ - bf +$\mathrm{letter}$ - rm +$\mathrm{Tr}$ - trace + +$\hat{x}$ - hat +$\bar{x}$ - bar +$\dot{x}$ - dot +$\ddot{x}$ - ddot +$x\cdot x$ - cdot +$\tilde{x}$ - tilde +$\underline{x}$ - und +$\vec{x}$ - vec +$\infty$ - ooo +$\sum$ - sum +$\prod$ - prod +$$ +\sum_{i=1}^{N} +$$ sum+Tab +$$ +\prod_{i=1}^{N} +$$ prod+Tab +$\lim_{ n \to \infty }$ - lim +$\pm$ - +- +$\mp$ - -+ +$\dots$ - ... +$\nabla$ - nabl; del +$\times$ - xx +$\cdot$ - ** +$\parallel$ - para +$\equiv$ - === +$\neq$ - != +$\geq$ - >= +$\leq$ - <= +$\gg$ - >> +$\ll$ - << +$\sim$ - simm +$\simeq$ - sim= +$\propto$ - prop +$\leftrightarrow$ - <-> +$\to$ - -> +$\mapsto$ - !> +$\implies$ = => +$\impliedby$ - =< +$\iff$ - iff +$\cap$ - and +$\cup$ - orr +$\in$ - inn +$\not\in$ - notin +$\subseteq$ - sub= +$\supseteq$ - sup= +$\emptyset$ - eset +$\{ x \}$ - set +$\exists$ - exists + +$\mathcal{L}$ - LL +$\mathcal{H}$ - HH +$\mathbb{C}$ - CC +$\mathbb{R}$ - RR +$\mathbb{Q}$ - QQ +$\mathbb{Z}$ - ZZ + +$\frac{ \partial y }{ \partial x }$ - par +$\frac{d}{dt}$ - ddt +$\int x \, dx$ - int+Tab +$\int_{0}^{1} \, dx$ - dint +$\oint$ - oint +$\iint$ - iint +$\iiint$ - iiint +$\int_{0}^{\infty} x \, dx$ - oinf +$\int_{-\infty}^{\infty} x \, dx$ - infi + +$$ +\begin{matrix} +a_{1} & a_{2} & a_{3} \\ +b_{1} & & b_{3} \\ +\dots & \dots & \dots \\ + & x_{2} & x_{3} +\end{matrix} +$$ +matrix (Tab for column, Enter for row) +$\begin{pmatrix}x_{1} & x_{2} \\ x_{3} & x_{4}\end{pmatrix}$ - pmat +$\begin{bmatrix}x_{1} & x_{2} \\ x_{3} & x_{4}\end{bmatrix}$ - bmat +$\begin{Bmatrix}x_{1} & x_{2} \\ x_{3} & x_{4}\end{Bmatrix}$ - Bmat +$\begin{vmatrix}x_{1} & x_{2} \\ x_{3} & x_{4}\end{vmatrix}$ - vmat +$\begin{Vmatrix}x_{1} & x_{2} \\ x_{3} & x_{4}\end{Vmatrix}$ - Vmat +$$ +\begin{cases} +function_{1} \\ +function_{2} \\ +function_{3} +\end{cases} +$$ cases +$$ +\begin{array} +x_{1} & x_{2} & x_{3} \\ +two \\ +three +\end{array} +$$ array +$$ +\begin{align} +x_{1} & & x_{2} & & x_{3} \\ +y_{1} & & y_{2} & & y_{3} +\end{align} +$$ align +(for structuring content) + +$\langle x \rangle$ - avg +$\lvert x \rvert$ - norm +$\lVert x \rVert$ - Norm +$\lceil x_{1}x_{2} \rceil$ - ceil +$\lfloor x_{1}x_{2} \rfloor$ - floor +$|x_{1}x_{2}|$ - mod +$\left( x_{1}x_{2} \right)$ - lr(; lr{; lr[ +$\left< x \right>$ - lra diff --git a/README.md b/README.md new file mode 100644 index 0000000..fe55774 --- /dev/null +++ b/README.md @@ -0,0 +1,3 @@ +## Ссылки: +- [Информационные технологии (Google Drive)](https://drive.google.com/drive/u/0/mobile/folders/1u6dd9H0Q5k9PNiXVlmTLJOJf5OaxgY-X?usp=sharing) +- [История России (доклады)](https://docs.google.com/spreadsheets/d/1kArIm1Aue289fNVtm9CI3ve_4aXBMYt-3su3EBucySQ/edit?usp=sharing)