!function(e){if("object"==typeofexports&&"undefined"!=typeofmodule)module.exports=e();elseif("function"==typeofdefine&&define.amd)define([],e);else{("undefined"!=typeofwindow?window:"undefined"!=typeofglobal?global:"undefined"!=typeofself?self:this).ethers=e()}}(function(){returnfunctiono(s,a,u){functionl(t,e){if(!a[t]){if(!s[t]){varr="function"==typeofrequire&&require;if(!e&&r)returnr(t,!0);if(h)returnh(t,!0);varn=newError("Cannot find module '"+t+"'");thrown.code="MODULE_NOT_FOUND",n}vari=a[t]={exports:{}};s[t][0].call(i.exports,function(e){returnl(s[t][1][e]||e)},i,i.exports,o,s,a,u)}returna[t].exports}for(varh="function"==typeofrequire&&require,e=0;e<u.length;e++)l(u[e]);returnl}({1:[function(e,t,r){"use strict";Object.defineProperty(r,"__esModule",{value:!0}),r.version="4.0.0-beta.3"},{}],2:[function(e,t,r){"use strict";varn=this&&this.__importStar||function(e){if(e&&e.__esModule)returne;vart={};if(null!=e)for(varrine)Object.hasOwnProperty.call(e,r)&&(t[r]=e[r]);returnt.default=e,t};Object.defineProperty(r,"__esModule",{value:!0});vari=e("./interface"),u=e("../utils/abi-coder"),a=e("../utils/address"),l=e("../utils/bignumber"),h=e("../utils/bytes"),f=e("../utils/properties"),o=e("../utils/web"),c=e("../utils/types"),d=n(e("../utils/errors")),p={data:!0,from:!0,gasLimit:!0,gasPrice:!0,nonce:!0,to:!0,value:!0};functionv(o,e,s){vara=o.interface.functions[e];returnfunction(){for(vare=[],t=0;t<arguments.length;t++)e[t]=arguments[t];vari={};if(e.length===a.inputs.length+1&&"object"==typeofe[e.length-1])for(varrini=f.shallowCopy(e.pop()))if(!p[r])thrownewError("unknown transaction override "+r);if(e.length!=a.inputs.length)thrownewError("incorrect number of arguments");return["data","to"].forEach(function(e){null!=i[e]&&d.throwError("cannot override "+e,d.UNSUPPORTED_OPERATION,{operation:e})}),i.to=o.addressPromise,functionn(i,o,e){if(Array.isArray(e)){vars=[];returne.forEach(function(e,t){varr=null;r=Array.isArray(o)?o[t]:o[e.name],s.push(n(i,r,e))}),Promise.all(s)}return"address"===e.type?i.resolveName(o):e.components?n(i,o,e.components):Promise.resolve(o)}(o.provider,e,a.inputs).then(function(n){if(i.data=a.encode(n),"call"===a.type)returns?Promise.resolve(l.ConstantZero):(o.provider||d.throwError("call (constant functions) require a provider or a signer with a provider",d.UNSUPPORTED_OPERATION,{operation:"call"}),["gasLimit","gasPrice","value"].forEach(function(e){if(null!=i[e])thrownewError("call cannot override "+e)}),null==i.from&&o.signer&&(i.from=o.signer.getAddress()),o.provider.call(i).then(function(t){if(h.hexDataLength(t)%32==4&&"0x08c379a0"===h.hexDataSlice(t,0,4)){vare=u.defaultAbiCoder.decode(["string"],h.hexDataSlice(t,4));d.throwError("call revert exception",d.CALL_EXCEPTION,{address:o.address,args:n,method:a.signature,errorSignature:"Error(string)",errorArgs:[e],reason:e,transaction:i})}try{varr=a.decode(t);return1===a.outputs.length&&(r=r[0]),r}catch(e){throw"0x"===t&&0<a.outputs.length&&d.throwError("call exception",d.CALL_EXCEPTION,{address:o.address,method:a.signature,args:n}),e}}));if("transaction"===a.type)returns?(o.provider||d.throwError("estimate gas require a provider or a signer with a provider",d.UNSUPPORTED_OPERATION,{operation:"estimateGas"}),null==i.from&&o.signer&&(i.from=o.signer.getAddress()),o.provider.estimateGas(i)):(o.signer||d.throwError("sending a transaction require a signer",d.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),null!=i.from&&d.throwError("cannot override from in a transaction",d.UNSUPPORTED_OPERATION,{operation:"sendTransaction"}),o.signer.sendTransaction(i));thrownewError("invalid type - "+a.type)})}}functiony(e){return(e.address||"")+(e.topics?e.topics.join(":"):"")}vars=function(){functions(t,e,r){varn=this;if(d.checkNew(this,s),einstanceofi.Interface?f.defineReadOnly(this,"interface",e):f.defineReadOnly(this,"interface",newi.Interface(e)),rinstanceofc.Signer?(f.defineReadOnly(this,"provider",r.provider),f.defineReadOnly(this,"signer",r)):rinstanceofc.MinimalProvider?(f.defineReadOnly(this,