(function(n,t){typeof exports=="object"&&typeof module!="undefined"?t(exports):typeof define=="function"&&define.amd?define(["exports"],t):t(n.WHATWGFetch={})})(this,function(n){"use strict";function b(n){return n&&DataView.prototype.isPrototypeOf(n)}function f(n){if(typeof n!="string"&&(n=String(n)),/[^a-z0-9\-#$%&'*+.^_`|~]/i.test(n))throw new TypeError("Invalid character in header field name");return n.toLowerCase()}function l(n){return typeof n!="string"&&(n=String(n)),n}function e(n){var t={next:function(){var t=n.shift();return{done:t===undefined,value:t}}};return i.iterable&&(t[Symbol.iterator]=function(){return t}),t}function t(n){this.map={};n instanceof t?n.forEach(function(n,t){this.append(t,n)},this):Array.isArray(n)?n.forEach(function(n){this.append(n[0],n[1])},this):n&&Object.getOwnPropertyNames(n).forEach(function(t){this.append(t,n[t])},this)}function o(n){if(n.bodyUsed)return Promise.reject(new TypeError("Already read"));n.bodyUsed=!0}function a(n){return new Promise(function(t,i){n.onload=function(){t(n.result)};n.onerror=function(){i(n.error)}})}function k(n){var t=new FileReader,i=a(t);return t.readAsArrayBuffer(n),i}function d(n){var t=new FileReader,i=a(t);return t.readAsText(n),i}function g(n){for(var i=new Uint8Array(n),r=new Array(i.length),t=0;t<i.length;t++)r[t]=String.fromCharCode(i[t]);return r.join("")}function v(n){if(n.slice)return n.slice(0);var t=new Uint8Array(n.byteLength);return t.set(new Uint8Array(n)),t.buffer}function y(){return this.bodyUsed=!1,this._initBody=function(n){this._bodyInit=n;n?typeof n=="string"?this._bodyText=n:i.blob&&Blob.prototype.isPrototypeOf(n)?this._bodyBlob=n:i.formData&&FormData.prototype.isPrototypeOf(n)?this._bodyFormData=n:i.searchParams&&URLSearchParams.prototype.isPrototypeOf(n)?this._bodyText=n.toString():i.arrayBuffer&&i.blob&&b(n)?(this._bodyArrayBuffer=v(n.buffer),this._bodyInit=new Blob([this._bodyArrayBuffer])):i.arrayBuffer&&(ArrayBuffer.prototype.isPrototypeOf(n)||c(n))?this._bodyArrayBuffer=v(n):this._bodyText=n=Object.prototype.toString.call(n):this._bodyText="";this.headers.get("content-type")||(typeof n=="string"?this.headers.set("content-type","text/plain;charset=UTF-8"):this._bodyBlob&&this._bodyBlob.type?this.headers.set("content-type",this._bodyBlob.type):i.searchParams&&URLSearchParams.prototype.isPrototypeOf(n)&&this.headers.set("content-type","application/x-www-form-urlencoded;charset=UTF-8"))},i.blob&&(this.blob=function(){var n=o(this);if(n)return n;if(this._bodyBlob)return Promise.resolve(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(new Blob([this._bodyArrayBuffer]));if(this._bodyFormData)throw new Error("could not read FormData body as blob");else return Promise.resolve(new Blob([this._bodyText]))},this.arrayBuffer=function(){return this._bodyArrayBuffer?o(this)||Promise.resolve(this._bodyArrayBuffer):this.blob().then(k)}),this.text=function(){var n=o(this);if(n)return n;if(this._bodyBlob)return d(this._bodyBlob);if(this._bodyArrayBuffer)return Promise.resolve(g(this._bodyArrayBuffer));if(this._bodyFormData)throw new Error("could not read FormData body as text");else return Promise.resolve(this._bodyText)},i.formData&&(this.formData=function(){return this.text().then(tt)}),this.json=function(){return this.text().then(JSON.parse)},this}function nt(n){var t=n.toUpperCase();return p.indexOf(t)>-1?t:n}function u(n,i){i=i||{};var r=i.body;if(n instanceof u){if(n.bodyUsed)throw new TypeError("Already read");this.url=n.url;this.credentials=n.credentials;i.headers||(this.headers=new t(n.headers));this.method=n.method;this.mode=n.mode;this.signal=n.signal;r||n._bodyInit==null||(r=n._bodyInit,n.bodyUsed=!0)}else this.url=String(n);if(this.credentials=i.credentials||this.credentials||"same-origin",(i.headers||!this.headers)&&(this.headers=new t(i.headers)),this.method=nt(i.method||this.method||"GET"),this.mode=i.mode||this.mode||null,this.signal=i.signal||this.signal,this.referrer=null,(this.method==="GET"||this.method==="HEAD")&&r)throw new TypeError("Body not allowed for GET or HEAD requests");this._initBody(r)}function tt(n){var t=new FormData;return n.trim().split("&").forEach(function(n){if(n){var i=n.split("="),r=i.shift().replace(/\+/g," "),u=i.join("=").replace(/\+/g," ");t.append(decodeURIComponent(r),decodeURIComponent(u))}}),t}function it(n){var i=new t,r=n.replace(/\r?\n[\t ]+/g," ");return r.split(/\r?\n/).forEach(function(n){var t=n.split(":"),r=t.shift().trim(),u;r&&(u=t.join(":").trim(),i.append(r,u))}),i}function r(n,i){i||(i={});this.type="default";this.status=i.status===undefined?200:i.status;this.ok=this.status>=200&&this.status<300;this.statusText="statusText"in i?i.statusText:"OK";this.headers=new t(i.headers);this.url=i.url||"";this._initBody(n)}function s(t,f){return new Promise(function(e,o){function c(){s.abort()}var h=new u(t,f),s;if(h.signal&&h.signal.aborted)return o(new n.DOMException("Aborted","AbortError"));s=new XMLHttpRequest;s.onload=function(){var n={status:s.status,statusText:s.statusText,headers:it(s.getAllResponseHeaders()||"")},t;n.url="responseURL"in s?s.responseURL:n.headers.get("X-Request-URL");t="response"in s?s.response:s.responseText;e(new r(t,n))};s.onerror=function(){o(new TypeError("Network request failed"))};s.ontimeout=function(){o(new TypeError("Network request failed"))};s.onabort=function(){o(new n.DOMException("Aborted","AbortError"))};s.open(h.method,h.url,!0);h.credentials==="include"?s.withCredentials=!0:h.credentials==="omit"&&(s.withCredentials=!1);"responseType"in s&&i.blob&&(s.responseType="blob");h.headers.forEach(function(n,t){s.setRequestHeader(t,n)});h.signal&&(h.signal.addEventListener("abort",c),s.onreadystatechange=function(){s.readyState===4&&h.signal.removeEventListener("abort",c)});s.send(typeof h._bodyInit=="undefined"?null:h._bodyInit)})}var i={searchParams:"URLSearchParams"in self,iterable:"Symbol"in self&&"iterator"in Symbol,blob:"FileReader"in self&&"Blob"in self&&function(){try{return new Blob,!0}catch(n){return!1}}(),formData:"FormData"in self,arrayBuffer:"ArrayBuffer"in self},h,c,p,w;i.arrayBuffer&&(h=["[object Int8Array]","[object Uint8Array]","[object Uint8ClampedArray]","[object Int16Array]","[object Uint16Array]","[object Int32Array]","[object Uint32Array]","[object Float32Array]","[object Float64Array]"],c=ArrayBuffer.isView||function(n){return n&&h.indexOf(Object.prototype.toString.call(n))>-1});t.prototype.append=function(n,t){n=f(n);t=l(t);var i=this.map[n];this.map[n]=i?i+", "+t:t};t.prototype["delete"]=function(n){delete this.map[f(n)]};t.prototype.get=function(n){return n=f(n),this.has(n)?this.map[n]:null};t.prototype.has=function(n){return this.map.hasOwnProperty(f(n))};t.prototype.set=function(n,t){this.map[f(n)]=l(t)};t.prototype.forEach=function(n,t){for(var i in this.map)this.map.hasOwnProperty(i)&&n.call(t,this.map[i],i,this)};t.prototype.keys=function(){var n=[];return this.forEach(function(t,i){n.push(i)}),e(n)};t.prototype.values=function(){var n=[];return this.forEach(function(t){n.push(t)}),e(n)};t.prototype.entries=function(){var n=[];return this.forEach(function(t,i){n.push([i,t])}),e(n)};i.iterable&&(t.prototype[Symbol.iterator]=t.prototype.entries);p=["DELETE","GET","HEAD","OPTIONS","POST","PUT"];u.prototype.clone=function(){return new u(this,{body:this._bodyInit})};y.call(u.prototype);y.call(r.prototype);r.prototype.clone=function(){return new r(this._bodyInit,{status:this.status,statusText:this.statusText,headers:new t(this.headers),url:this.url})};r.error=function(){var n=new r(null,{status:0,statusText:""});return n.type="error",n};w=[301,302,303,307,308];r.redirect=function(n,t){if(w.indexOf(t)===-1)throw new RangeError("Invalid status code");return new r(null,{status:t,headers:{location:n}})};n.DOMException=self.DOMException;try{new n.DOMException}catch(rt){n.DOMException=function(n,t){this.message=n;this.name=t;var i=Error(n);this.stack=i.stack};n.DOMException.prototype=Object.create(Error.prototype);n.DOMException.prototype.constructor=n.DOMException}s.polyfill=!0;self.fetch||(self.fetch=s,self.Headers=t,self.Request=u,self.Response=r);n.Headers=t;n.Request=u;n.Response=r;n.fetch=s;Object.defineProperty(n,"__esModule",{value:!0})})