{"version":3,"sources":["webpack:///./node_modules/asn1.js/lib/asn1/constants/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/der.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/der.js","webpack:///./node_modules/base64-js/index.js","webpack:///./node_modules/asn1.js/lib/asn1/base/reporter.js","webpack:///./node_modules/asn1.js/lib/asn1/constants/der.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/decoders/pem.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/index.js","webpack:///./node_modules/asn1.js/lib/asn1/encoders/pem.js"],"names":["constants","exports","_reverse","map","res","Object","keys","forEach","key","value","der","inherits","asn1","base","bignum","DERDecoder","entity","this","enc","name","tree","DERNode","_init","body","parent","Node","call","derDecodeTag","buf","fail","tag","readUInt8","isError","cls","tagClass","primitive","oct","tagStr","derDecodeLen","len","num","error","i","j","module","prototype","decode","data","options","DecoderBuffer","_decode","_peekTag","buffer","any","isEmpty","state","save","decodedTag","restore","_decodeTag","skip","_skipUntilEnd","offset","_decodeList","decoder","result","possibleEnd","push","_decodeStr","unused","raw","length","str","String","fromCharCode","readUInt16BE","numstr","toString","_isNumstr","printstr","_isPrintstr","test","_decodeObjid","values","relative","identifiers","ident","subident","first","second","concat","slice","tmp","join","undefined","_decodeTime","year","mon","day","hour","min","sec","Date","UTC","_decodeNull","_decodeBool","_decodeInt","_use","obj","_getDecoder","Buffer","DEREncoder","two","encode","reporter","_encode","_encodeComposite","content","header","encodedTag","tagByName","hasOwnProperty","tagClassByName","encodeTag","_createEncoderBuffer","lenOctets","_encodeStr","writeUInt16BE","charCodeAt","_encodeObjid","id","split","Array","isArray","JSON","stringify","splice","size","objid","_encodeTime","time","date","getFullYear","getUTCMonth","getUTCDate","getUTCHours","getUTCMinutes","getUTCSeconds","_encodeNull","_encodeInt","isBuffer","numArray","toArray","sign","unshift","out","copy","_encodeBool","_getEncoder","_skipDefault","dataBuffer","_baseState","defaultBuffer","_encodeValue","byteLength","b64","lens","getLens","validLen","placeHoldersLen","toByteArray","arr","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","parts","maxChunkLength","len2","encodeChunk","lookup","Uint8Array","code","Error","indexOf","start","end","output","Reporter","_reporterState","path","errors","ReporterError","msg","rethrow","pathLen","enterKey","exitKey","index","leaveKey","enterObject","prev","leaveObject","now","err","inherited","elem","message","stack","partial","wrapResult","captureStackTrace","e","decoders","pem","PEMDecoder","lines","label","toUpperCase","re","match","base64","replace","input","encoders","PEMEncoder","p"],"mappings":"8EAAA,IAAIA,EAAYC,EAGhBD,EAAUE,SAAW,SAAiBC,GACpC,IAAIC,EAAM,CAAC,EAOX,OANAC,OAAOC,KAAKH,GAAKI,SAAQ,SAAUC,IAEtB,EAANA,IAAYA,IAAKA,GAAY,GAClC,IAAIC,EAAQN,EAAIK,GAChBJ,EAAIK,GAASD,CACf,IACOJ,CACT,EACAJ,EAAUU,IAAM,EAAQ,I,sBCbxB,IAAIC,EAAW,EAAQ,GACnBC,EAAO,EAAQ,KACfC,EAAOD,EAAKC,KACZC,EAASF,EAAKE,OAGdJ,EAAME,EAAKZ,UAAUU,IACzB,SAASK,EAAWC,GAClBC,KAAKC,IAAM,MACXD,KAAKE,KAAOH,EAAOG,KACnBF,KAAKD,OAASA,EAGdC,KAAKG,KAAO,IAAIC,EAChBJ,KAAKG,KAAKE,MAAMN,EAAOO,KACzB,CAUA,SAASF,EAAQG,GACfX,EAAKY,KAAKC,KAAKT,KAAM,MAAOO,EAC9B,CAgKA,SAASG,EAAaC,EAAKC,GACzB,IAAIC,EAAMF,EAAIG,UAAUF,GACxB,GAAID,EAAII,QAAQF,GAAM,OAAOA,EAC7B,IAAIG,EAAMvB,EAAIwB,SAASJ,GAAO,GAC1BK,EAA6B,KAAV,GAANL,GAGjB,GAAqB,MAAV,GAANA,GAAsB,CACzB,IAAIM,EAAMN,EAEV,IADAA,EAAM,EACkB,OAAV,IAANM,IAAsB,CAE5B,GADAA,EAAMR,EAAIG,UAAUF,GAChBD,EAAII,QAAQI,GAAM,OAAOA,EAC7BN,IAAQ,EACRA,GAAa,IAANM,CACT,CACF,MACEN,GAAO,GAGT,MAAO,CACLG,IAAKA,EACLE,UAAWA,EACXL,IAAKA,EACLO,OALW3B,EAAIoB,IAAIA,GAOvB,CACA,SAASQ,EAAaV,EAAKO,EAAWN,GACpC,IAAIU,EAAMX,EAAIG,UAAUF,GACxB,GAAID,EAAII,QAAQO,GAAM,OAAOA,EAG7B,IAAKJ,GAAqB,MAARI,EAAc,OAAO,KAGvC,GAAqB,KAAV,IAANA,GAEH,OAAOA,EAIT,IAAIC,EAAY,IAAND,EACV,GAAIC,EAAM,EAAG,OAAOZ,EAAIa,MAAM,6BAC9BF,EAAM,EACN,IAAK,IAAIG,EAAI,EAAGA,EAAIF,EAAKE,IAAK,CAC5BH,IAAQ,EACR,IAAII,EAAIf,EAAIG,UAAUF,GACtB,GAAID,EAAII,QAAQW,GAAI,OAAOA,EAC3BJ,GAAOI,CACT,CACA,OAAOJ,CACT,CA7NAK,EAAO3C,QAAUc,EACjBA,EAAW8B,UAAUC,OAAS,SAAgBC,EAAMC,GAElD,OADMD,aAAgBlC,EAAKoC,gBAAgBF,EAAO,IAAIlC,EAAKoC,cAAcF,EAAMC,IACxE/B,KAAKG,KAAK8B,QAAQH,EAAMC,EACjC,EAOArC,EAASU,EAASR,EAAKY,MACvBJ,EAAQwB,UAAUM,SAAW,SAAiBC,EAAQtB,EAAKuB,GACzD,GAAID,EAAOE,UAAW,OAAO,EAC7B,IAAIC,EAAQH,EAAOI,OACfC,EAAa9B,EAAayB,EAAQ,wBAA0BtB,EAAM,KACtE,OAAIsB,EAAOpB,QAAQyB,GAAoBA,GACvCL,EAAOM,QAAQH,GACRE,EAAW3B,MAAQA,GAAO2B,EAAWpB,SAAWP,GAAO2B,EAAWpB,OAAS,OAASP,GAAOuB,EACpG,EACAhC,EAAQwB,UAAUc,WAAa,SAAmBP,EAAQtB,EAAKuB,GAC7D,IAAII,EAAa9B,EAAayB,EAAQ,4BAA8BtB,EAAM,KAC1E,GAAIsB,EAAOpB,QAAQyB,GAAa,OAAOA,EACvC,IAAIlB,EAAMD,EAAac,EAAQK,EAAWtB,UAAW,4BAA8BL,EAAM,KAGzF,GAAIsB,EAAOpB,QAAQO,GAAM,OAAOA,EAChC,IAAKc,GAAOI,EAAW3B,MAAQA,GAAO2B,EAAWpB,SAAWP,GAAO2B,EAAWpB,OAAS,OAASP,EAC9F,OAAOsB,EAAOX,MAAM,yBAA2BX,EAAM,KAEvD,GAAI2B,EAAWtB,WAAqB,OAARI,EAAc,OAAOa,EAAOQ,KAAKrB,EAAK,6BAA+BT,EAAM,KAGvG,IAAIyB,EAAQH,EAAOI,OACfpD,EAAMa,KAAK4C,cAAcT,EAAQ,2CAA6CnC,KAAKa,IAAM,KAC7F,OAAIsB,EAAOpB,QAAQ5B,GAAaA,GAChCmC,EAAMa,EAAOU,OAASP,EAAMO,OAC5BV,EAAOM,QAAQH,GACRH,EAAOQ,KAAKrB,EAAK,6BAA+BT,EAAM,KAC/D,EACAT,EAAQwB,UAAUgB,cAAgB,SAAsBT,EAAQvB,GAC9D,OAAa,CACX,IAAIC,EAAMH,EAAayB,EAAQvB,GAC/B,GAAIuB,EAAOpB,QAAQF,GAAM,OAAOA,EAChC,IAEI1B,EAFAmC,EAAMD,EAAac,EAAQtB,EAAIK,UAAWN,GAC9C,GAAIuB,EAAOpB,QAAQO,GAAM,OAAOA,EAKhC,GAHmCnC,EAA/B0B,EAAIK,WAAqB,OAARI,EAAoBa,EAAOQ,KAAKrB,GAAgBtB,KAAK4C,cAAcT,EAAQvB,GAG5FuB,EAAOpB,QAAQ5B,GAAM,OAAOA,EAChC,GAAmB,QAAf0B,EAAIO,OAAkB,KAC5B,CACF,EACAhB,EAAQwB,UAAUkB,YAAc,SAAoBX,EAAQtB,EAAKkC,EAAShB,GAExE,IADA,IAAIiB,EAAS,IACLb,EAAOE,WAAW,CACxB,IAAIY,EAAcjD,KAAKkC,SAASC,EAAQ,OACxC,GAAIA,EAAOpB,QAAQkC,GAAc,OAAOA,EACxC,IAAI9D,EAAM4D,EAAQlB,OAAOM,EAAQ,MAAOJ,GACxC,GAAII,EAAOpB,QAAQ5B,IAAQ8D,EAAa,MACxCD,EAAOE,KAAK/D,EACd,CACA,OAAO6D,CACT,EACA5C,EAAQwB,UAAUuB,WAAa,SAAmBhB,EAAQtB,GACxD,GAAY,WAARA,EAAkB,CACpB,IAAIuC,EAASjB,EAAOrB,YACpB,OAAIqB,EAAOpB,QAAQqC,GAAgBA,EAC5B,CACLA,OAAQA,EACRtB,KAAMK,EAAOkB,MAEjB,CAAO,GAAY,WAARxC,EAAkB,CAC3B,IAAIwC,EAAMlB,EAAOkB,MACjB,GAAIA,EAAIC,OAAS,IAAM,EAAG,OAAOnB,EAAOX,MAAM,mDAE9C,IADA,IAAI+B,EAAM,GACD9B,EAAI,EAAGA,EAAI4B,EAAIC,OAAS,EAAG7B,IAClC8B,GAAOC,OAAOC,aAAaJ,EAAIK,aAAiB,EAAJjC,IAE9C,OAAO8B,CACT,CAAO,GAAY,WAAR1C,EAAkB,CAC3B,IAAI8C,EAASxB,EAAOkB,MAAMO,SAAS,SACnC,OAAK5D,KAAK6D,UAAUF,GAGbA,EAFExB,EAAOX,MAAM,yDAGxB,CAAO,GAAY,WAARX,EACT,OAAOsB,EAAOkB,MACT,GAAY,YAARxC,EACT,OAAOsB,EAAOkB,MACT,GAAY,aAARxC,EAAoB,CAC7B,IAAIiD,EAAW3B,EAAOkB,MAAMO,SAAS,SACrC,OAAK5D,KAAK+D,YAAYD,GAGfA,EAFE3B,EAAOX,MAAM,2DAGxB,CAAO,MAAI,OAAOwC,KAAKnD,GACdsB,EAAOkB,MAAMO,WAEbzB,EAAOX,MAAM,4BAA8BX,EAAM,eAE5D,EACAT,EAAQwB,UAAUqC,aAAe,SAAqB9B,EAAQ+B,EAAQC,GAIpE,IAHA,IAAInB,EACAoB,EAAc,GACdC,EAAQ,GACJlC,EAAOE,WAAW,CACxB,IAAIiC,EAAWnC,EAAOrB,YACtBuD,IAAU,EACVA,GAAoB,IAAXC,EACiB,KAAV,IAAXA,KACHF,EAAYlB,KAAKmB,GACjBA,EAAQ,EAEZ,CACe,IAAXC,GAAiBF,EAAYlB,KAAKmB,GACtC,IAAIE,EAAQH,EAAY,GAAK,GAAK,EAC9BI,EAASJ,EAAY,GAAK,GAE9B,GADcpB,EAAVmB,EAAmBC,EAA0B,CAACG,EAAOC,GAAQC,OAAOL,EAAYM,MAAM,IACtFR,EAAQ,CACV,IAAIS,EAAMT,EAAOlB,EAAO4B,KAAK,WACjBC,IAARF,IAAmBA,EAAMT,EAAOlB,EAAO4B,KAAK,YACpCC,IAARF,IAAmB3B,EAAS2B,EAClC,CACA,OAAO3B,CACT,EACA5C,EAAQwB,UAAUkD,YAAc,SAAoB3C,EAAQtB,GAC1D,IAAI0C,EAAMpB,EAAOkB,MAAMO,WACvB,GAAY,YAAR/C,EACF,IAAIkE,EAAyB,EAAlBxB,EAAImB,MAAM,EAAG,GACpBM,EAAwB,EAAlBzB,EAAImB,MAAM,EAAG,GACnBO,EAAwB,EAAlB1B,EAAImB,MAAM,EAAG,GACnBQ,EAA0B,EAAnB3B,EAAImB,MAAM,EAAG,IACpBS,EAA0B,EAApB5B,EAAImB,MAAM,GAAI,IACpBU,EAA0B,EAApB7B,EAAImB,MAAM,GAAI,QACnB,IAAY,YAAR7D,EAST,OAAOsB,EAAOX,MAAM,YAAcX,EAAM,8BARpCkE,EAAyB,EAAlBxB,EAAImB,MAAM,EAAG,GACpBM,EAAwB,EAAlBzB,EAAImB,MAAM,EAAG,GACnBO,EAAwB,EAAlB1B,EAAImB,MAAM,EAAG,GACnBQ,EAAyB,EAAlB3B,EAAImB,MAAM,EAAG,GACpBS,EAAyB,EAAnB5B,EAAImB,MAAM,EAAG,IACnBU,EAA0B,EAApB7B,EAAImB,MAAM,GAAI,IACTK,EAAXA,EAAO,GAAW,IAAOA,EAAiB,KAAOA,CAGvD,CACA,OAAOM,KAAKC,IAAIP,EAAMC,EAAM,EAAGC,EAAKC,EAAMC,EAAKC,EAAK,EACtD,EACAhF,EAAQwB,UAAU2D,YAAc,SAAoBpD,GAClD,OAAO,IACT,EACA/B,EAAQwB,UAAU4D,YAAc,SAAoBrD,GAClD,IAAIhD,EAAMgD,EAAOrB,YACjB,OAAIqB,EAAOpB,QAAQ5B,GAAaA,EAAwB,IAARA,CAClD,EACAiB,EAAQwB,UAAU6D,WAAa,SAAmBtD,EAAQ+B,GAExD,IAAIb,EAAMlB,EAAOkB,MACblE,EAAM,IAAIU,EAAOwD,GAErB,OADIa,IAAQ/E,EAAM+E,EAAO/E,EAAIyE,SAAS,MAAQzE,GACvCA,CACT,EACAiB,EAAQwB,UAAU8D,KAAO,SAAa3F,EAAQ4F,GAE5C,MADsB,oBAAX5F,IAAuBA,EAASA,EAAO4F,IAC3C5F,EAAO6F,YAAY,OAAOzF,IACnC,C,sBCvLA,IAAIT,EAAW,EAAQ,GACnBmG,EAAS,EAAQ,IAAUA,OAC3BlG,EAAO,EAAQ,KACfC,EAAOD,EAAKC,KAGZH,EAAME,EAAKZ,UAAUU,IACzB,SAASqG,EAAW/F,GAClBC,KAAKC,IAAM,MACXD,KAAKE,KAAOH,EAAOG,KACnBF,KAAKD,OAASA,EAGdC,KAAKG,KAAO,IAAIC,EAChBJ,KAAKG,KAAKE,MAAMN,EAAOO,KACzB,CASA,SAASF,EAAQG,GACfX,EAAKY,KAAKC,KAAKT,KAAM,MAAOO,EAC9B,CAmFA,SAASwF,EAAIxE,GACX,OAAIA,EAAM,GAAW,IAAMA,EAAgBA,CAC7C,CA9FAI,EAAO3C,QAAU8G,EACjBA,EAAWlE,UAAUoE,OAAS,SAAgBlE,EAAMmE,GAClD,OAAOjG,KAAKG,KAAK+F,QAAQpE,EAAMmE,GAAUrB,MAC3C,EAOAlF,EAASU,EAASR,EAAKY,MACvBJ,EAAQwB,UAAUuE,iBAAmB,SAAyBtF,EAAKK,EAAWF,EAAKoF,GACjF,IAcIC,EAdAC,EA6JN,SAAmBzF,EAAKK,EAAWF,EAAKiF,GACtC,IAAI9G,EACQ,UAAR0B,EAAiBA,EAAM,MAAuB,UAARA,IAAiBA,EAAM,OACjE,GAAIpB,EAAI8G,UAAUC,eAAe3F,GAAM1B,EAAMM,EAAI8G,UAAU1F,OAAU,IAAmB,kBAARA,IAA2B,EAANA,KAAaA,EAAoB,OAAOoF,EAASzE,MAAM,gBAAkBX,GAAvD1B,EAAM0B,CAAqD,CAClL,GAAI1B,GAAO,GAAM,OAAO8G,EAASzE,MAAM,wCAClCN,IAAW/B,GAAO,IAEvB,OADAA,GAAOM,EAAIgH,eAAezF,GAAO,cAAgB,EAC1C7B,CACT,CArKmBuH,CAAU7F,EAAKK,EAAWF,EAAKhB,KAAKiG,UAGrD,GAAIG,EAAQ9C,OAAS,IAInB,OAHI+C,EAAS,IAAIR,EAAO,IACjB,GAAKS,EACZD,EAAO,GAAKD,EAAQ9C,OACbtD,KAAK2G,qBAAqB,CAACN,EAAQD,IAM5C,IADA,IAAIQ,EAAY,EACPnF,EAAI2E,EAAQ9C,OAAQ7B,GAAK,IAAOA,IAAM,EAAGmF,KAC9CP,EAAS,IAAIR,EAAO,EAAQe,IACzB,GAAKN,EACZD,EAAO,GAAK,IAAOO,EACVnF,EAAI,EAAImF,EAAjB,IAAK,IAAuBlF,EAAI0E,EAAQ9C,OAAQ5B,EAAI,EAAGD,IAAKC,IAAM,EAAG2E,EAAO5E,GAAS,IAAJC,EACjF,OAAO1B,KAAK2G,qBAAqB,CAACN,EAAQD,GAC5C,EACAhG,EAAQwB,UAAUiF,WAAa,SAAmBtD,EAAK1C,GACrD,GAAY,WAARA,EACF,OAAOb,KAAK2G,qBAAqB,CAAc,EAAbpD,EAAIH,OAAYG,EAAIzB,OACjD,GAAY,WAARjB,EAAkB,CAE3B,IADA,IAAIF,EAAM,IAAIkF,EAAoB,EAAbtC,EAAID,QAChB7B,EAAI,EAAGA,EAAI8B,EAAID,OAAQ7B,IAC9Bd,EAAImG,cAAcvD,EAAIwD,WAAWtF,GAAQ,EAAJA,GAEvC,OAAOzB,KAAK2G,qBAAqBhG,EACnC,CAAO,MAAY,WAARE,EACJb,KAAK6D,UAAUN,GAGbvD,KAAK2G,qBAAqBpD,GAFxBvD,KAAKiG,SAASzE,MAAM,kEAGZ,aAARX,EACJb,KAAK+D,YAAYR,GAGfvD,KAAK2G,qBAAqBpD,GAFxBvD,KAAKiG,SAASzE,MAAM,qNAGpB,OAAOwC,KAAKnD,IAEJ,YAARA,EADFb,KAAK2G,qBAAqBpD,GAI1BvD,KAAKiG,SAASzE,MAAM,4BAA8BX,EAAM,eAEnE,EACAT,EAAQwB,UAAUoF,aAAe,SAAqBC,EAAI/C,EAAQC,GAChE,GAAkB,kBAAP8C,EAAiB,CAC1B,IAAK/C,EAAQ,OAAOlE,KAAKiG,SAASzE,MAAM,+CACxC,IAAK0C,EAAOsC,eAAeS,GAAK,OAAOjH,KAAKiG,SAASzE,MAAM,iCAC3DyF,EAAK/C,EAAO+C,GAAIC,MAAM,YACtB,IAAK,IAAIzF,EAAI,EAAGA,EAAIwF,EAAG3D,OAAQ7B,IAAKwF,EAAGxF,IAAM,CAC/C,MAAO,GAAI0F,MAAMC,QAAQH,GAAK,CAC5BA,EAAKA,EAAGvC,QACR,IAASjD,EAAI,EAAGA,EAAIwF,EAAG3D,OAAQ7B,IAAKwF,EAAGxF,IAAM,CAC/C,CACA,IAAK0F,MAAMC,QAAQH,GACjB,OAAOjH,KAAKiG,SAASzE,MAAM,kDAAyD6F,KAAKC,UAAUL,IAErG,IAAK9C,EAAU,CACb,GAAI8C,EAAG,IAAM,GAAI,OAAOjH,KAAKiG,SAASzE,MAAM,+BAC5CyF,EAAGM,OAAO,EAAG,EAAW,GAARN,EAAG,GAAUA,EAAG,GAClC,CAGA,IAAIO,EAAO,EACX,IAAS/F,EAAI,EAAGA,EAAIwF,EAAG3D,OAAQ7B,IAAK,CAClC,IAAI4C,EAAQ4C,EAAGxF,GACf,IAAK+F,IAAQnD,GAAS,IAAMA,IAAU,EAAGmD,GAC3C,CACA,IAAIC,EAAQ,IAAI5B,EAAO2B,GACnB3E,EAAS4E,EAAMnE,OAAS,EAC5B,IAAS7B,EAAIwF,EAAG3D,OAAS,EAAG7B,GAAK,EAAGA,IAAK,CACnC4C,EAAQ4C,EAAGxF,GAEf,IADAgG,EAAM5E,KAAoB,IAARwB,GACVA,IAAU,GAAK,GAAGoD,EAAM5E,KAAY,IAAe,IAARwB,CACrD,CACA,OAAOrE,KAAK2G,qBAAqBc,EACnC,EAIArH,EAAQwB,UAAU8F,YAAc,SAAoBC,EAAM9G,GACxD,IAAI0C,EACAqE,EAAO,IAAIvC,KAAKsC,GAQpB,MAPY,YAAR9G,EACF0C,EAAM,CAACwC,EAAI6B,EAAKC,eAAgB9B,EAAI6B,EAAKE,cAAgB,GAAI/B,EAAI6B,EAAKG,cAAehC,EAAI6B,EAAKI,eAAgBjC,EAAI6B,EAAKK,iBAAkBlC,EAAI6B,EAAKM,iBAAkB,KAAKtD,KAAK,IAC7J,YAAR/D,EACT0C,EAAM,CAACwC,EAAI6B,EAAKC,cAAgB,KAAM9B,EAAI6B,EAAKE,cAAgB,GAAI/B,EAAI6B,EAAKG,cAAehC,EAAI6B,EAAKI,eAAgBjC,EAAI6B,EAAKK,iBAAkBlC,EAAI6B,EAAKM,iBAAkB,KAAKtD,KAAK,IAEpL5E,KAAKiG,SAASzE,MAAM,YAAcX,EAAM,8BAEnCb,KAAK6G,WAAWtD,EAAK,SAC9B,EACAnD,EAAQwB,UAAUuG,YAAc,WAC9B,OAAOnI,KAAK2G,qBAAqB,GACnC,EACAvG,EAAQwB,UAAUwG,WAAa,SAAmB7G,EAAK2C,GACrD,GAAmB,kBAAR3C,EAAkB,CAC3B,IAAK2C,EAAQ,OAAOlE,KAAKiG,SAASzE,MAAM,+CACxC,IAAK0C,EAAOsC,eAAejF,GACzB,OAAOvB,KAAKiG,SAASzE,MAAM,+BAAkC6F,KAAKC,UAAU/F,IAE9EA,EAAM2C,EAAO3C,EACf,CAGA,GAAmB,kBAARA,IAAqBsE,EAAOwC,SAAS9G,GAAM,CACpD,IAAI+G,EAAW/G,EAAIgH,WACdhH,EAAIiH,MAAsB,IAAdF,EAAS,IACxBA,EAASG,QAAQ,GAEnBlH,EAAM,IAAIsE,EAAOyC,EACnB,CACA,GAAIzC,EAAOwC,SAAS9G,GAAM,CACxB,IAAIiG,EAAOjG,EAAI+B,OACI,IAAf/B,EAAI+B,QAAckE,IACtB,IAAIkB,EAAM,IAAI7C,EAAO2B,GAGrB,OAFAjG,EAAIoH,KAAKD,GACU,IAAfnH,EAAI+B,SAAcoF,EAAI,GAAK,GACxB1I,KAAK2G,qBAAqB+B,EACnC,CACA,GAAInH,EAAM,IAAM,OAAOvB,KAAK2G,qBAAqBpF,GACjD,GAAIA,EAAM,IAAO,OAAOvB,KAAK2G,qBAAqB,CAAC,EAAGpF,IAClDiG,EAAO,EACX,IADA,IACS/F,EAAIF,EAAKE,GAAK,IAAOA,IAAM,EAAG+F,IAEvC,IAAS/F,GADLiH,EAAM,IAAIvB,MAAMK,IACHlE,OAAS,EAAG7B,GAAK,EAAGA,IACnCiH,EAAIjH,GAAW,IAANF,EACTA,IAAQ,EAKV,OAHa,IAATmH,EAAI,IACNA,EAAID,QAAQ,GAEPzI,KAAK2G,qBAAqB,IAAId,EAAO6C,GAC9C,EACAtI,EAAQwB,UAAUgH,YAAc,SAAoBpJ,GAClD,OAAOQ,KAAK2G,qBAAqBnH,EAAQ,IAAO,EAClD,EACAY,EAAQwB,UAAU8D,KAAO,SAAa3F,EAAQ4F,GAE5C,MADsB,oBAAX5F,IAAuBA,EAASA,EAAO4F,IAC3C5F,EAAO8I,YAAY,OAAO1I,IACnC,EACAC,EAAQwB,UAAUkH,aAAe,SAAqBC,EAAY9C,EAAU1F,GAC1E,IACIkB,EADAa,EAAQtC,KAAKgJ,WAEjB,GAAyB,OAArB1G,EAAe,QAAY,OAAO,EACtC,IAAIR,EAAOiH,EAAWnE,OAEtB,QAD4BC,IAAxBvC,EAAM2G,gBAA6B3G,EAAM2G,cAAgBjJ,KAAKkJ,aAAa5G,EAAe,QAAG2D,EAAU1F,GAAQqE,QAC/G9C,EAAKwB,SAAWhB,EAAM2G,cAAc3F,OAAQ,OAAO,EACvD,IAAK7B,EAAI,EAAGA,EAAIK,EAAKwB,OAAQ7B,IAAK,GAAIK,EAAKL,KAAOa,EAAM2G,cAAcxH,GAAI,OAAO,EACjF,OAAO,CACT,C,mCCpLAzC,EAAQmK,WA+BR,SAAoBC,GAClB,IAAIC,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GAC3B,OAAsC,GAA9BE,EAAWC,GAAuB,EAAIA,CAChD,EAnCAxK,EAAQyK,YAuCR,SAAqBL,GACnB,IAAIzE,EASAlD,EARA4H,EAAOC,EAAQF,GACfG,EAAWF,EAAK,GAChBG,EAAkBH,EAAK,GACvBK,EAAM,IAAIC,EARhB,SAAqBP,EAAKG,EAAUC,GAClC,OAAsC,GAA9BD,EAAWC,GAAuB,EAAIA,CAChD,CAMoBI,CAAYR,EAAKG,EAAUC,IACzCK,EAAU,EAGVvI,EAAMkI,EAAkB,EAAID,EAAW,EAAIA,EAE/C,IAAK9H,EAAI,EAAGA,EAAIH,EAAKG,GAAK,EACxBkD,EAAMmF,EAAUV,EAAIrC,WAAWtF,KAAO,GAAKqI,EAAUV,EAAIrC,WAAWtF,EAAI,KAAO,GAAKqI,EAAUV,EAAIrC,WAAWtF,EAAI,KAAO,EAAIqI,EAAUV,EAAIrC,WAAWtF,EAAI,IACzJiI,EAAIG,KAAalF,GAAO,GAAK,IAC7B+E,EAAIG,KAAalF,GAAO,EAAI,IAC5B+E,EAAIG,KAAmB,IAANlF,EAEK,IAApB6E,IACF7E,EAAMmF,EAAUV,EAAIrC,WAAWtF,KAAO,EAAIqI,EAAUV,EAAIrC,WAAWtF,EAAI,KAAO,EAC9EiI,EAAIG,KAAmB,IAANlF,GAEK,IAApB6E,IACF7E,EAAMmF,EAAUV,EAAIrC,WAAWtF,KAAO,GAAKqI,EAAUV,EAAIrC,WAAWtF,EAAI,KAAO,EAAIqI,EAAUV,EAAIrC,WAAWtF,EAAI,KAAO,EACvHiI,EAAIG,KAAalF,GAAO,EAAI,IAC5B+E,EAAIG,KAAmB,IAANlF,GAEnB,OAAO+E,CACT,EAjEA1K,EAAQ+K,cA8ER,SAAuBC,GAQrB,IAPA,IAAIrF,EACArD,EAAM0I,EAAM1G,OACZ2G,EAAa3I,EAAM,EACnB4I,EAAQ,GACRC,EAAiB,MAGZ1I,EAAI,EAAG2I,EAAO9I,EAAM2I,EAAYxI,EAAI2I,EAAM3I,GAAK0I,EACtDD,EAAMhH,KAAKmH,EAAYL,EAAOvI,EAAGA,EAAI0I,EAAiBC,EAAOA,EAAO3I,EAAI0I,IAIvD,IAAfF,GACFtF,EAAMqF,EAAM1I,EAAM,GAClB4I,EAAMhH,KAAKoH,EAAO3F,GAAO,GAAK2F,EAAO3F,GAAO,EAAI,IAAQ,OAChC,IAAfsF,IACTtF,GAAOqF,EAAM1I,EAAM,IAAM,GAAK0I,EAAM1I,EAAM,GAC1C4I,EAAMhH,KAAKoH,EAAO3F,GAAO,IAAM2F,EAAO3F,GAAO,EAAI,IAAQ2F,EAAO3F,GAAO,EAAI,IAAQ,MAErF,OAAOuF,EAAMtF,KAAK,GACpB,EA9FA,IAJA,IAAI0F,EAAS,GACTR,EAAY,GACZH,EAA4B,qBAAfY,WAA6BA,WAAapD,MACvDqD,EAAO,mEACF/I,EAAI,EAAsBA,EAAb+I,KAAwB/I,EAC5C6I,EAAO7I,GAAK+I,EAAK/I,GACjBqI,EAAUU,EAAKzD,WAAWtF,IAAMA,EAOlC,SAAS6H,EAAQF,GACf,IAAI9H,EAAM8H,EAAI9F,OACd,GAAIhC,EAAM,EAAI,EACZ,MAAM,IAAImJ,MAAM,kDAKlB,IAAIlB,EAAWH,EAAIsB,QAAQ,KAG3B,OAFkB,IAAdnB,IAAiBA,EAAWjI,GAEzB,CAACiI,EADcA,IAAajI,EAAM,EAAI,EAAIiI,EAAW,EAE9D,CA2CA,SAASc,EAAYL,EAAOW,EAAOC,GAGjC,IAFA,IAAIjG,EAJmBpD,EAKnBsJ,EAAS,GACJpJ,EAAIkJ,EAAOlJ,EAAImJ,EAAKnJ,GAAK,EAChCkD,GAAOqF,EAAMvI,IAAM,GAAK,WAAauI,EAAMvI,EAAI,IAAM,EAAI,QAA0B,IAAfuI,EAAMvI,EAAI,IAC9EoJ,EAAO3H,KAPFoH,GADgB/I,EAQOoD,IAPT,GAAK,IAAQ2F,EAAO/I,GAAO,GAAK,IAAQ+I,EAAO/I,GAAO,EAAI,IAAQ+I,EAAa,GAAN/I,IAS9F,OAAOsJ,EAAOjG,KAAK,GACrB,CAjEAkF,EAAU,IAAI/C,WAAW,IAAM,GAC/B+C,EAAU,IAAI/C,WAAW,IAAM,E,sBCjB/B,IAAIrH,EAAW,EAAQ,GACvB,SAASoL,EAAS/I,GAChB/B,KAAK+K,eAAiB,CACpBpF,IAAK,KACLqF,KAAM,GACNjJ,QAASA,GAAW,CAAC,EACrBkJ,OAAQ,GAEZ,CAmEA,SAASC,EAAcF,EAAMG,GAC3BnL,KAAKgL,KAAOA,EACZhL,KAAKoL,QAAQD,EACf,CArEAnM,EAAQ8L,SAAWA,EACnBA,EAASlJ,UAAUb,QAAU,SAAiB4E,GAC5C,OAAOA,aAAeuF,CACxB,EACAJ,EAASlJ,UAAUW,KAAO,WACxB,IAAID,EAAQtC,KAAK+K,eACjB,MAAO,CACLpF,IAAKrD,EAAMqD,IACX0F,QAAS/I,EAAM0I,KAAK1H,OAExB,EACAwH,EAASlJ,UAAUa,QAAU,SAAiBX,GAC5C,IAAIQ,EAAQtC,KAAK+K,eACjBzI,EAAMqD,IAAM7D,EAAK6D,IACjBrD,EAAM0I,KAAO1I,EAAM0I,KAAKtG,MAAM,EAAG5C,EAAKuJ,QACxC,EACAP,EAASlJ,UAAU0J,SAAW,SAAkB/L,GAC9C,OAAOS,KAAK+K,eAAeC,KAAK9H,KAAK3D,EACvC,EACAuL,EAASlJ,UAAU2J,QAAU,SAAiBC,GAC5C,IAAIlJ,EAAQtC,KAAK+K,eACjBzI,EAAM0I,KAAO1I,EAAM0I,KAAKtG,MAAM,EAAG8G,EAAQ,EAC3C,EACAV,EAASlJ,UAAU6J,SAAW,SAAkBD,EAAOjM,EAAKC,GAC1D,IAAI8C,EAAQtC,KAAK+K,eACjB/K,KAAKuL,QAAQC,GACK,OAAdlJ,EAAMqD,MAAcrD,EAAMqD,IAAIpG,GAAOC,EAC3C,EACAsL,EAASlJ,UAAUoJ,KAAO,WACxB,OAAOhL,KAAK+K,eAAeC,KAAKpG,KAAK,IACvC,EACAkG,EAASlJ,UAAU8J,YAAc,WAC/B,IAAIpJ,EAAQtC,KAAK+K,eACbY,EAAOrJ,EAAMqD,IAEjB,OADArD,EAAMqD,IAAM,CAAC,EACNgG,CACT,EACAb,EAASlJ,UAAUgK,YAAc,SAAqBD,GACpD,IAAIrJ,EAAQtC,KAAK+K,eACbc,EAAMvJ,EAAMqD,IAEhB,OADArD,EAAMqD,IAAMgG,EACLE,CACT,EACAf,EAASlJ,UAAUJ,MAAQ,SAAe2J,GACxC,IAAIW,EACAxJ,EAAQtC,KAAK+K,eACbgB,EAAYZ,aAAeD,EAQ/B,GANEY,EADEC,EACIZ,EAEA,IAAID,EAAc5I,EAAM0I,KAAK9L,KAAI,SAAU8M,GAC/C,MAAO,IAAM3E,KAAKC,UAAU0E,GAAQ,GACtC,IAAGpH,KAAK,IAAKuG,EAAIc,SAAWd,EAAKA,EAAIe,QAElC5J,EAAMP,QAAQoK,QAAS,MAAML,EAElC,OADKC,GAAWzJ,EAAM2I,OAAO/H,KAAK4I,GAC3BA,CACT,EACAhB,EAASlJ,UAAUwK,WAAa,SAAoBpJ,GAClD,IAAIV,EAAQtC,KAAK+K,eACjB,OAAKzI,EAAMP,QAAQoK,QACZ,CACLnJ,OAAQhD,KAAKe,QAAQiC,GAAU,KAAOA,EACtCiI,OAAQ3I,EAAM2I,QAHmBjI,CAKrC,EAMAtD,EAASwL,EAAeT,OACxBS,EAActJ,UAAUwJ,QAAU,SAAiBD,GAGjD,GAFAnL,KAAKiM,QAAUd,EAAM,SAAWnL,KAAKgL,MAAQ,aACzCP,MAAM4B,mBAAmB5B,MAAM4B,kBAAkBrM,KAAMkL,IACtDlL,KAAKkM,MACR,IAEE,MAAM,IAAIzB,MAAMzK,KAAKiM,QACvB,CAAE,MAAOK,GACPtM,KAAKkM,MAAQI,EAAEJ,KACjB,CAEF,OAAOlM,IACT,C,sBC7FA,IAAIjB,EAAY,EAAQ,KACxBC,EAAQiC,SAAW,CACjB,EAAG,YACH,EAAG,cACH,EAAG,UACH,EAAG,WAELjC,EAAQyH,eAAiB1H,EAAUE,SAASD,EAAQiC,UACpDjC,EAAQ6B,IAAM,CACZ,EAAM,MACN,EAAM,OACN,EAAM,MACN,EAAM,SACN,EAAM,SACN,EAAM,QACN,EAAM,QACN,EAAM,UACN,EAAM,WACN,EAAM,OACN,GAAM,OACN,GAAM,QACN,GAAM,UACN,GAAM,cACN,GAAM,MACN,GAAM,MACN,GAAM,SACN,GAAM,WACN,GAAM,SACN,GAAM,WACN,GAAM,SACN,GAAM,UACN,GAAM,UACN,GAAM,WACN,GAAM,YACN,GAAM,SACN,GAAM,SACN,GAAM,UACN,GAAM,UAER7B,EAAQuH,UAAYxH,EAAUE,SAASD,EAAQ6B,I,sBCvC/C,IAAI0L,EAAWvN,EACfuN,EAAS9M,IAAM,EAAQ,KACvB8M,EAASC,IAAM,EAAQ,I,sBCFvB,IAAI9M,EAAW,EAAQ,GACnBmG,EAAS,EAAQ,IAAUA,OAC3B/F,EAAa,EAAQ,KACzB,SAAS2M,EAAW1M,GAClBD,EAAWW,KAAKT,KAAMD,GACtBC,KAAKC,IAAM,KACb,CAEAP,EAAS+M,EAAY3M,GACrB6B,EAAO3C,QAAUyN,EACjBA,EAAW7K,UAAUC,OAAS,SAAgBC,EAAMC,GAMlD,IALA,IAAI2K,EAAQ5K,EAAK8B,WAAWsD,MAAM,YAC9ByF,EAAQ5K,EAAQ4K,MAAMC,cACtBC,EAAK,kCACLlC,GAAS,EACTC,GAAO,EACFnJ,EAAI,EAAGA,EAAIiL,EAAMpJ,OAAQ7B,IAAK,CACrC,IAAIqL,EAAQJ,EAAMjL,GAAGqL,MAAMD,GAC3B,GAAc,OAAVC,GACAA,EAAM,KAAOH,EAAjB,CACA,IAAe,IAAXhC,EAGG,CACL,GAAiB,QAAbmC,EAAM,GAAc,MACxBlC,EAAMnJ,EACN,KACF,CANE,GAAiB,UAAbqL,EAAM,GAAgB,MAC1BnC,EAAQlJ,CAHsB,CASlC,CACA,IAAe,IAAXkJ,IAAyB,IAATC,EAAY,MAAM,IAAIH,MAAM,8BAAgCkC,GAChF,IAAII,EAASL,EAAMhI,MAAMiG,EAAQ,EAAGC,GAAKhG,KAAK,IAE9CmI,EAAOC,QAAQ,oBAAqB,IACpC,IAAIC,EAAQ,IAAIpH,EAAOkH,EAAQ,UAC/B,OAAOjN,EAAW8B,UAAUC,OAAOpB,KAAKT,KAAMiN,EAAOlL,EACvD,C,sBCnCA,IAAImL,EAAWlO,EACfkO,EAASzN,IAAM,EAAQ,KACvByN,EAASV,IAAM,EAAQ,I,sBCFvB,IAAI9M,EAAW,EAAQ,GACnBoG,EAAa,EAAQ,KACzB,SAASqH,EAAWpN,GAClB+F,EAAWrF,KAAKT,KAAMD,GACtBC,KAAKC,IAAM,KACb,CAEAP,EAASyN,EAAYrH,GACrBnE,EAAO3C,QAAUmO,EACjBA,EAAWvL,UAAUoE,OAAS,SAAgBlE,EAAMC,GAIlD,IAHA,IACIqL,EADMtH,EAAWlE,UAAUoE,OAAOvF,KAAKT,KAAM8B,GACrC8B,SAAS,UACjB8E,EAAM,CAAC,cAAgB3G,EAAQ4K,MAAQ,SAClClL,EAAI,EAAGA,EAAI2L,EAAE9J,OAAQ7B,GAAK,GAAIiH,EAAIxF,KAAKkK,EAAE1I,MAAMjD,EAAGA,EAAI,KAE/D,OADAiH,EAAIxF,KAAK,YAAcnB,EAAQ4K,MAAQ,SAChCjE,EAAI9D,KAAK,KAClB,C","file":"js/index~2a42e354-a6b4bded1398960932a5.chunk.js","sourcesContent":["var constants = exports;\n\n// Helper\nconstants._reverse = function reverse(map) {\n  var res = {};\n  Object.keys(map).forEach(function (key) {\n    // Convert key to integer if it is stringified\n    if ((key | 0) == key) key = key | 0;\n    var value = map[key];\n    res[value] = key;\n  });\n  return res;\n};\nconstants.der = require('./der');","var inherits = require('inherits');\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\nvar bignum = asn1.bignum;\n\n// Import DER constants\nvar der = asn1.constants.der;\nfunction DERDecoder(entity) {\n  this.enc = 'der';\n  this.name = entity.name;\n  this.entity = entity;\n\n  // Construct base tree\n  this.tree = new DERNode();\n  this.tree._init(entity.body);\n}\n;\nmodule.exports = DERDecoder;\nDERDecoder.prototype.decode = function decode(data, options) {\n  if (!(data instanceof base.DecoderBuffer)) data = new base.DecoderBuffer(data, options);\n  return this.tree._decode(data, options);\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n  base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\nDERNode.prototype._peekTag = function peekTag(buffer, tag, any) {\n  if (buffer.isEmpty()) return false;\n  var state = buffer.save();\n  var decodedTag = derDecodeTag(buffer, 'Failed to peek tag: \"' + tag + '\"');\n  if (buffer.isError(decodedTag)) return decodedTag;\n  buffer.restore(state);\n  return decodedTag.tag === tag || decodedTag.tagStr === tag || decodedTag.tagStr + 'of' === tag || any;\n};\nDERNode.prototype._decodeTag = function decodeTag(buffer, tag, any) {\n  var decodedTag = derDecodeTag(buffer, 'Failed to decode tag of \"' + tag + '\"');\n  if (buffer.isError(decodedTag)) return decodedTag;\n  var len = derDecodeLen(buffer, decodedTag.primitive, 'Failed to get length of \"' + tag + '\"');\n\n  // Failure\n  if (buffer.isError(len)) return len;\n  if (!any && decodedTag.tag !== tag && decodedTag.tagStr !== tag && decodedTag.tagStr + 'of' !== tag) {\n    return buffer.error('Failed to match tag: \"' + tag + '\"');\n  }\n  if (decodedTag.primitive || len !== null) return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n\n  // Indefinite length... find END tag\n  var state = buffer.save();\n  var res = this._skipUntilEnd(buffer, 'Failed to skip indefinite length body: \"' + this.tag + '\"');\n  if (buffer.isError(res)) return res;\n  len = buffer.offset - state.offset;\n  buffer.restore(state);\n  return buffer.skip(len, 'Failed to match body of: \"' + tag + '\"');\n};\nDERNode.prototype._skipUntilEnd = function skipUntilEnd(buffer, fail) {\n  while (true) {\n    var tag = derDecodeTag(buffer, fail);\n    if (buffer.isError(tag)) return tag;\n    var len = derDecodeLen(buffer, tag.primitive, fail);\n    if (buffer.isError(len)) return len;\n    var res;\n    if (tag.primitive || len !== null) res = buffer.skip(len);else res = this._skipUntilEnd(buffer, fail);\n\n    // Failure\n    if (buffer.isError(res)) return res;\n    if (tag.tagStr === 'end') break;\n  }\n};\nDERNode.prototype._decodeList = function decodeList(buffer, tag, decoder, options) {\n  var result = [];\n  while (!buffer.isEmpty()) {\n    var possibleEnd = this._peekTag(buffer, 'end');\n    if (buffer.isError(possibleEnd)) return possibleEnd;\n    var res = decoder.decode(buffer, 'der', options);\n    if (buffer.isError(res) && possibleEnd) break;\n    result.push(res);\n  }\n  return result;\n};\nDERNode.prototype._decodeStr = function decodeStr(buffer, tag) {\n  if (tag === 'bitstr') {\n    var unused = buffer.readUInt8();\n    if (buffer.isError(unused)) return unused;\n    return {\n      unused: unused,\n      data: buffer.raw()\n    };\n  } else if (tag === 'bmpstr') {\n    var raw = buffer.raw();\n    if (raw.length % 2 === 1) return buffer.error('Decoding of string type: bmpstr length mismatch');\n    var str = '';\n    for (var i = 0; i < raw.length / 2; i++) {\n      str += String.fromCharCode(raw.readUInt16BE(i * 2));\n    }\n    return str;\n  } else if (tag === 'numstr') {\n    var numstr = buffer.raw().toString('ascii');\n    if (!this._isNumstr(numstr)) {\n      return buffer.error('Decoding of string type: ' + 'numstr unsupported characters');\n    }\n    return numstr;\n  } else if (tag === 'octstr') {\n    return buffer.raw();\n  } else if (tag === 'objDesc') {\n    return buffer.raw();\n  } else if (tag === 'printstr') {\n    var printstr = buffer.raw().toString('ascii');\n    if (!this._isPrintstr(printstr)) {\n      return buffer.error('Decoding of string type: ' + 'printstr unsupported characters');\n    }\n    return printstr;\n  } else if (/str$/.test(tag)) {\n    return buffer.raw().toString();\n  } else {\n    return buffer.error('Decoding of string type: ' + tag + ' unsupported');\n  }\n};\nDERNode.prototype._decodeObjid = function decodeObjid(buffer, values, relative) {\n  var result;\n  var identifiers = [];\n  var ident = 0;\n  while (!buffer.isEmpty()) {\n    var subident = buffer.readUInt8();\n    ident <<= 7;\n    ident |= subident & 0x7f;\n    if ((subident & 0x80) === 0) {\n      identifiers.push(ident);\n      ident = 0;\n    }\n  }\n  if (subident & 0x80) identifiers.push(ident);\n  var first = identifiers[0] / 40 | 0;\n  var second = identifiers[0] % 40;\n  if (relative) result = identifiers;else result = [first, second].concat(identifiers.slice(1));\n  if (values) {\n    var tmp = values[result.join(' ')];\n    if (tmp === undefined) tmp = values[result.join('.')];\n    if (tmp !== undefined) result = tmp;\n  }\n  return result;\n};\nDERNode.prototype._decodeTime = function decodeTime(buffer, tag) {\n  var str = buffer.raw().toString();\n  if (tag === 'gentime') {\n    var year = str.slice(0, 4) | 0;\n    var mon = str.slice(4, 6) | 0;\n    var day = str.slice(6, 8) | 0;\n    var hour = str.slice(8, 10) | 0;\n    var min = str.slice(10, 12) | 0;\n    var sec = str.slice(12, 14) | 0;\n  } else if (tag === 'utctime') {\n    var year = str.slice(0, 2) | 0;\n    var mon = str.slice(2, 4) | 0;\n    var day = str.slice(4, 6) | 0;\n    var hour = str.slice(6, 8) | 0;\n    var min = str.slice(8, 10) | 0;\n    var sec = str.slice(10, 12) | 0;\n    if (year < 70) year = 2000 + year;else year = 1900 + year;\n  } else {\n    return buffer.error('Decoding ' + tag + ' time is not supported yet');\n  }\n  return Date.UTC(year, mon - 1, day, hour, min, sec, 0);\n};\nDERNode.prototype._decodeNull = function decodeNull(buffer) {\n  return null;\n};\nDERNode.prototype._decodeBool = function decodeBool(buffer) {\n  var res = buffer.readUInt8();\n  if (buffer.isError(res)) return res;else return res !== 0;\n};\nDERNode.prototype._decodeInt = function decodeInt(buffer, values) {\n  // Bigint, return as it is (assume big endian)\n  var raw = buffer.raw();\n  var res = new bignum(raw);\n  if (values) res = values[res.toString(10)] || res;\n  return res;\n};\nDERNode.prototype._use = function use(entity, obj) {\n  if (typeof entity === 'function') entity = entity(obj);\n  return entity._getDecoder('der').tree;\n};\n\n// Utility methods\n\nfunction derDecodeTag(buf, fail) {\n  var tag = buf.readUInt8(fail);\n  if (buf.isError(tag)) return tag;\n  var cls = der.tagClass[tag >> 6];\n  var primitive = (tag & 0x20) === 0;\n\n  // Multi-octet tag - load\n  if ((tag & 0x1f) === 0x1f) {\n    var oct = tag;\n    tag = 0;\n    while ((oct & 0x80) === 0x80) {\n      oct = buf.readUInt8(fail);\n      if (buf.isError(oct)) return oct;\n      tag <<= 7;\n      tag |= oct & 0x7f;\n    }\n  } else {\n    tag &= 0x1f;\n  }\n  var tagStr = der.tag[tag];\n  return {\n    cls: cls,\n    primitive: primitive,\n    tag: tag,\n    tagStr: tagStr\n  };\n}\nfunction derDecodeLen(buf, primitive, fail) {\n  var len = buf.readUInt8(fail);\n  if (buf.isError(len)) return len;\n\n  // Indefinite form\n  if (!primitive && len === 0x80) return null;\n\n  // Definite form\n  if ((len & 0x80) === 0) {\n    // Short form\n    return len;\n  }\n\n  // Long form\n  var num = len & 0x7f;\n  if (num > 4) return buf.error('length octect is too long');\n  len = 0;\n  for (var i = 0; i < num; i++) {\n    len <<= 8;\n    var j = buf.readUInt8(fail);\n    if (buf.isError(j)) return j;\n    len |= j;\n  }\n  return len;\n}","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\nvar asn1 = require('../../asn1');\nvar base = asn1.base;\n\n// Import DER constants\nvar der = asn1.constants.der;\nfunction DEREncoder(entity) {\n  this.enc = 'der';\n  this.name = entity.name;\n  this.entity = entity;\n\n  // Construct base tree\n  this.tree = new DERNode();\n  this.tree._init(entity.body);\n}\n;\nmodule.exports = DEREncoder;\nDEREncoder.prototype.encode = function encode(data, reporter) {\n  return this.tree._encode(data, reporter).join();\n};\n\n// Tree methods\n\nfunction DERNode(parent) {\n  base.Node.call(this, 'der', parent);\n}\ninherits(DERNode, base.Node);\nDERNode.prototype._encodeComposite = function encodeComposite(tag, primitive, cls, content) {\n  var encodedTag = encodeTag(tag, primitive, cls, this.reporter);\n\n  // Short form\n  if (content.length < 0x80) {\n    var header = new Buffer(2);\n    header[0] = encodedTag;\n    header[1] = content.length;\n    return this._createEncoderBuffer([header, content]);\n  }\n\n  // Long form\n  // Count octets required to store length\n  var lenOctets = 1;\n  for (var i = content.length; i >= 0x100; i >>= 8) lenOctets++;\n  var header = new Buffer(1 + 1 + lenOctets);\n  header[0] = encodedTag;\n  header[1] = 0x80 | lenOctets;\n  for (var i = 1 + lenOctets, j = content.length; j > 0; i--, j >>= 8) header[i] = j & 0xff;\n  return this._createEncoderBuffer([header, content]);\n};\nDERNode.prototype._encodeStr = function encodeStr(str, tag) {\n  if (tag === 'bitstr') {\n    return this._createEncoderBuffer([str.unused | 0, str.data]);\n  } else if (tag === 'bmpstr') {\n    var buf = new Buffer(str.length * 2);\n    for (var i = 0; i < str.length; i++) {\n      buf.writeUInt16BE(str.charCodeAt(i), i * 2);\n    }\n    return this._createEncoderBuffer(buf);\n  } else if (tag === 'numstr') {\n    if (!this._isNumstr(str)) {\n      return this.reporter.error('Encoding of string type: numstr supports ' + 'only digits and space');\n    }\n    return this._createEncoderBuffer(str);\n  } else if (tag === 'printstr') {\n    if (!this._isPrintstr(str)) {\n      return this.reporter.error('Encoding of string type: printstr supports ' + 'only latin upper and lower case letters, ' + 'digits, space, apostrophe, left and rigth ' + 'parenthesis, plus sign, comma, hyphen, ' + 'dot, slash, colon, equal sign, ' + 'question mark');\n    }\n    return this._createEncoderBuffer(str);\n  } else if (/str$/.test(tag)) {\n    return this._createEncoderBuffer(str);\n  } else if (tag === 'objDesc') {\n    return this._createEncoderBuffer(str);\n  } else {\n    return this.reporter.error('Encoding of string type: ' + tag + ' unsupported');\n  }\n};\nDERNode.prototype._encodeObjid = function encodeObjid(id, values, relative) {\n  if (typeof id === 'string') {\n    if (!values) return this.reporter.error('string objid given, but no values map found');\n    if (!values.hasOwnProperty(id)) return this.reporter.error('objid not found in values map');\n    id = values[id].split(/[\\s\\.]+/g);\n    for (var i = 0; i < id.length; i++) id[i] |= 0;\n  } else if (Array.isArray(id)) {\n    id = id.slice();\n    for (var i = 0; i < id.length; i++) id[i] |= 0;\n  }\n  if (!Array.isArray(id)) {\n    return this.reporter.error('objid() should be either array or string, ' + 'got: ' + JSON.stringify(id));\n  }\n  if (!relative) {\n    if (id[1] >= 40) return this.reporter.error('Second objid identifier OOB');\n    id.splice(0, 2, id[0] * 40 + id[1]);\n  }\n\n  // Count number of octets\n  var size = 0;\n  for (var i = 0; i < id.length; i++) {\n    var ident = id[i];\n    for (size++; ident >= 0x80; ident >>= 7) size++;\n  }\n  var objid = new Buffer(size);\n  var offset = objid.length - 1;\n  for (var i = id.length - 1; i >= 0; i--) {\n    var ident = id[i];\n    objid[offset--] = ident & 0x7f;\n    while ((ident >>= 7) > 0) objid[offset--] = 0x80 | ident & 0x7f;\n  }\n  return this._createEncoderBuffer(objid);\n};\nfunction two(num) {\n  if (num < 10) return '0' + num;else return num;\n}\nDERNode.prototype._encodeTime = function encodeTime(time, tag) {\n  var str;\n  var date = new Date(time);\n  if (tag === 'gentime') {\n    str = [two(date.getFullYear()), two(date.getUTCMonth() + 1), two(date.getUTCDate()), two(date.getUTCHours()), two(date.getUTCMinutes()), two(date.getUTCSeconds()), 'Z'].join('');\n  } else if (tag === 'utctime') {\n    str = [two(date.getFullYear() % 100), two(date.getUTCMonth() + 1), two(date.getUTCDate()), two(date.getUTCHours()), two(date.getUTCMinutes()), two(date.getUTCSeconds()), 'Z'].join('');\n  } else {\n    this.reporter.error('Encoding ' + tag + ' time is not supported yet');\n  }\n  return this._encodeStr(str, 'octstr');\n};\nDERNode.prototype._encodeNull = function encodeNull() {\n  return this._createEncoderBuffer('');\n};\nDERNode.prototype._encodeInt = function encodeInt(num, values) {\n  if (typeof num === 'string') {\n    if (!values) return this.reporter.error('String int or enum given, but no values map');\n    if (!values.hasOwnProperty(num)) {\n      return this.reporter.error('Values map doesn\\'t contain: ' + JSON.stringify(num));\n    }\n    num = values[num];\n  }\n\n  // Bignum, assume big endian\n  if (typeof num !== 'number' && !Buffer.isBuffer(num)) {\n    var numArray = num.toArray();\n    if (!num.sign && numArray[0] & 0x80) {\n      numArray.unshift(0);\n    }\n    num = new Buffer(numArray);\n  }\n  if (Buffer.isBuffer(num)) {\n    var size = num.length;\n    if (num.length === 0) size++;\n    var out = new Buffer(size);\n    num.copy(out);\n    if (num.length === 0) out[0] = 0;\n    return this._createEncoderBuffer(out);\n  }\n  if (num < 0x80) return this._createEncoderBuffer(num);\n  if (num < 0x100) return this._createEncoderBuffer([0, num]);\n  var size = 1;\n  for (var i = num; i >= 0x100; i >>= 8) size++;\n  var out = new Array(size);\n  for (var i = out.length - 1; i >= 0; i--) {\n    out[i] = num & 0xff;\n    num >>= 8;\n  }\n  if (out[0] & 0x80) {\n    out.unshift(0);\n  }\n  return this._createEncoderBuffer(new Buffer(out));\n};\nDERNode.prototype._encodeBool = function encodeBool(value) {\n  return this._createEncoderBuffer(value ? 0xff : 0);\n};\nDERNode.prototype._use = function use(entity, obj) {\n  if (typeof entity === 'function') entity = entity(obj);\n  return entity._getEncoder('der').tree;\n};\nDERNode.prototype._skipDefault = function skipDefault(dataBuffer, reporter, parent) {\n  var state = this._baseState;\n  var i;\n  if (state['default'] === null) return false;\n  var data = dataBuffer.join();\n  if (state.defaultBuffer === undefined) state.defaultBuffer = this._encodeValue(state['default'], reporter, parent).join();\n  if (data.length !== state.defaultBuffer.length) return false;\n  for (i = 0; i < data.length; i++) if (data[i] !== state.defaultBuffer[i]) return false;\n  return true;\n};\n\n// Utility methods\n\nfunction encodeTag(tag, primitive, cls, reporter) {\n  var res;\n  if (tag === 'seqof') tag = 'seq';else if (tag === 'setof') tag = 'set';\n  if (der.tagByName.hasOwnProperty(tag)) res = der.tagByName[tag];else if (typeof tag === 'number' && (tag | 0) === tag) res = tag;else return reporter.error('Unknown tag: ' + tag);\n  if (res >= 0x1f) return reporter.error('Multi-octet tag encoding unsupported');\n  if (!primitive) res |= 0x20;\n  res |= der.tagClassByName[cls || 'universal'] << 6;\n  return res;\n}","'use strict';\n\nexports.byteLength = byteLength;\nexports.toByteArray = toByteArray;\nexports.fromByteArray = fromByteArray;\nvar lookup = [];\nvar revLookup = [];\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array;\nvar code = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/';\nfor (var i = 0, len = code.length; i < len; ++i) {\n  lookup[i] = code[i];\n  revLookup[code.charCodeAt(i)] = i;\n}\n\n// Support decoding URL-safe base64 strings, as Node.js does.\n// See: https://en.wikipedia.org/wiki/Base64#URL_applications\nrevLookup['-'.charCodeAt(0)] = 62;\nrevLookup['_'.charCodeAt(0)] = 63;\nfunction getLens(b64) {\n  var len = b64.length;\n  if (len % 4 > 0) {\n    throw new Error('Invalid string. Length must be a multiple of 4');\n  }\n\n  // Trim off extra bytes after placeholder bytes are found\n  // See: https://github.com/beatgammit/base64-js/issues/42\n  var validLen = b64.indexOf('=');\n  if (validLen === -1) validLen = len;\n  var placeHoldersLen = validLen === len ? 0 : 4 - validLen % 4;\n  return [validLen, placeHoldersLen];\n}\n\n// base64 is 4/3 + up to two characters of the original data\nfunction byteLength(b64) {\n  var lens = getLens(b64);\n  var validLen = lens[0];\n  var placeHoldersLen = lens[1];\n  return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction _byteLength(b64, validLen, placeHoldersLen) {\n  return (validLen + placeHoldersLen) * 3 / 4 - placeHoldersLen;\n}\nfunction toByteArray(b64) {\n  var tmp;\n  var lens = getLens(b64);\n  var validLen = lens[0];\n  var placeHoldersLen = lens[1];\n  var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen));\n  var curByte = 0;\n\n  // if there are placeholders, only get up to the last complete 4 chars\n  var len = placeHoldersLen > 0 ? validLen - 4 : validLen;\n  var i;\n  for (i = 0; i < len; i += 4) {\n    tmp = revLookup[b64.charCodeAt(i)] << 18 | revLookup[b64.charCodeAt(i + 1)] << 12 | revLookup[b64.charCodeAt(i + 2)] << 6 | revLookup[b64.charCodeAt(i + 3)];\n    arr[curByte++] = tmp >> 16 & 0xFF;\n    arr[curByte++] = tmp >> 8 & 0xFF;\n    arr[curByte++] = tmp & 0xFF;\n  }\n  if (placeHoldersLen === 2) {\n    tmp = revLookup[b64.charCodeAt(i)] << 2 | revLookup[b64.charCodeAt(i + 1)] >> 4;\n    arr[curByte++] = tmp & 0xFF;\n  }\n  if (placeHoldersLen === 1) {\n    tmp = revLookup[b64.charCodeAt(i)] << 10 | revLookup[b64.charCodeAt(i + 1)] << 4 | revLookup[b64.charCodeAt(i + 2)] >> 2;\n    arr[curByte++] = tmp >> 8 & 0xFF;\n    arr[curByte++] = tmp & 0xFF;\n  }\n  return arr;\n}\nfunction tripletToBase64(num) {\n  return lookup[num >> 18 & 0x3F] + lookup[num >> 12 & 0x3F] + lookup[num >> 6 & 0x3F] + lookup[num & 0x3F];\n}\nfunction encodeChunk(uint8, start, end) {\n  var tmp;\n  var output = [];\n  for (var i = start; i < end; i += 3) {\n    tmp = (uint8[i] << 16 & 0xFF0000) + (uint8[i + 1] << 8 & 0xFF00) + (uint8[i + 2] & 0xFF);\n    output.push(tripletToBase64(tmp));\n  }\n  return output.join('');\n}\nfunction fromByteArray(uint8) {\n  var tmp;\n  var len = uint8.length;\n  var extraBytes = len % 3; // if we have 1 byte left, pad 2 bytes\n  var parts = [];\n  var maxChunkLength = 16383; // must be multiple of 3\n\n  // go through the array every three bytes, we'll deal with trailing stuff later\n  for (var i = 0, len2 = len - extraBytes; i < len2; i += maxChunkLength) {\n    parts.push(encodeChunk(uint8, i, i + maxChunkLength > len2 ? len2 : i + maxChunkLength));\n  }\n\n  // pad the end with zeros, but make sure to not forget the extra bytes\n  if (extraBytes === 1) {\n    tmp = uint8[len - 1];\n    parts.push(lookup[tmp >> 2] + lookup[tmp << 4 & 0x3F] + '==');\n  } else if (extraBytes === 2) {\n    tmp = (uint8[len - 2] << 8) + uint8[len - 1];\n    parts.push(lookup[tmp >> 10] + lookup[tmp >> 4 & 0x3F] + lookup[tmp << 2 & 0x3F] + '=');\n  }\n  return parts.join('');\n}","var inherits = require('inherits');\nfunction Reporter(options) {\n  this._reporterState = {\n    obj: null,\n    path: [],\n    options: options || {},\n    errors: []\n  };\n}\nexports.Reporter = Reporter;\nReporter.prototype.isError = function isError(obj) {\n  return obj instanceof ReporterError;\n};\nReporter.prototype.save = function save() {\n  var state = this._reporterState;\n  return {\n    obj: state.obj,\n    pathLen: state.path.length\n  };\n};\nReporter.prototype.restore = function restore(data) {\n  var state = this._reporterState;\n  state.obj = data.obj;\n  state.path = state.path.slice(0, data.pathLen);\n};\nReporter.prototype.enterKey = function enterKey(key) {\n  return this._reporterState.path.push(key);\n};\nReporter.prototype.exitKey = function exitKey(index) {\n  var state = this._reporterState;\n  state.path = state.path.slice(0, index - 1);\n};\nReporter.prototype.leaveKey = function leaveKey(index, key, value) {\n  var state = this._reporterState;\n  this.exitKey(index);\n  if (state.obj !== null) state.obj[key] = value;\n};\nReporter.prototype.path = function path() {\n  return this._reporterState.path.join('/');\n};\nReporter.prototype.enterObject = function enterObject() {\n  var state = this._reporterState;\n  var prev = state.obj;\n  state.obj = {};\n  return prev;\n};\nReporter.prototype.leaveObject = function leaveObject(prev) {\n  var state = this._reporterState;\n  var now = state.obj;\n  state.obj = prev;\n  return now;\n};\nReporter.prototype.error = function error(msg) {\n  var err;\n  var state = this._reporterState;\n  var inherited = msg instanceof ReporterError;\n  if (inherited) {\n    err = msg;\n  } else {\n    err = new ReporterError(state.path.map(function (elem) {\n      return '[' + JSON.stringify(elem) + ']';\n    }).join(''), msg.message || msg, msg.stack);\n  }\n  if (!state.options.partial) throw err;\n  if (!inherited) state.errors.push(err);\n  return err;\n};\nReporter.prototype.wrapResult = function wrapResult(result) {\n  var state = this._reporterState;\n  if (!state.options.partial) return result;\n  return {\n    result: this.isError(result) ? null : result,\n    errors: state.errors\n  };\n};\nfunction ReporterError(path, msg) {\n  this.path = path;\n  this.rethrow(msg);\n}\n;\ninherits(ReporterError, Error);\nReporterError.prototype.rethrow = function rethrow(msg) {\n  this.message = msg + ' at: ' + (this.path || '(shallow)');\n  if (Error.captureStackTrace) Error.captureStackTrace(this, ReporterError);\n  if (!this.stack) {\n    try {\n      // IE only adds stack when thrown\n      throw new Error(this.message);\n    } catch (e) {\n      this.stack = e.stack;\n    }\n  }\n  return this;\n};","var constants = require('../constants');\nexports.tagClass = {\n  0: 'universal',\n  1: 'application',\n  2: 'context',\n  3: 'private'\n};\nexports.tagClassByName = constants._reverse(exports.tagClass);\nexports.tag = {\n  0x00: 'end',\n  0x01: 'bool',\n  0x02: 'int',\n  0x03: 'bitstr',\n  0x04: 'octstr',\n  0x05: 'null_',\n  0x06: 'objid',\n  0x07: 'objDesc',\n  0x08: 'external',\n  0x09: 'real',\n  0x0a: 'enum',\n  0x0b: 'embed',\n  0x0c: 'utf8str',\n  0x0d: 'relativeOid',\n  0x10: 'seq',\n  0x11: 'set',\n  0x12: 'numstr',\n  0x13: 'printstr',\n  0x14: 't61str',\n  0x15: 'videostr',\n  0x16: 'ia5str',\n  0x17: 'utctime',\n  0x18: 'gentime',\n  0x19: 'graphstr',\n  0x1a: 'iso646str',\n  0x1b: 'genstr',\n  0x1c: 'unistr',\n  0x1d: 'charstr',\n  0x1e: 'bmpstr'\n};\nexports.tagByName = constants._reverse(exports.tag);","var decoders = exports;\ndecoders.der = require('./der');\ndecoders.pem = require('./pem');","var inherits = require('inherits');\nvar Buffer = require('buffer').Buffer;\nvar DERDecoder = require('./der');\nfunction PEMDecoder(entity) {\n  DERDecoder.call(this, entity);\n  this.enc = 'pem';\n}\n;\ninherits(PEMDecoder, DERDecoder);\nmodule.exports = PEMDecoder;\nPEMDecoder.prototype.decode = function decode(data, options) {\n  var lines = data.toString().split(/[\\r\\n]+/g);\n  var label = options.label.toUpperCase();\n  var re = /^-----(BEGIN|END) ([^-]+)-----$/;\n  var start = -1;\n  var end = -1;\n  for (var i = 0; i < lines.length; i++) {\n    var match = lines[i].match(re);\n    if (match === null) continue;\n    if (match[2] !== label) continue;\n    if (start === -1) {\n      if (match[1] !== 'BEGIN') break;\n      start = i;\n    } else {\n      if (match[1] !== 'END') break;\n      end = i;\n      break;\n    }\n  }\n  if (start === -1 || end === -1) throw new Error('PEM section not found for: ' + label);\n  var base64 = lines.slice(start + 1, end).join('');\n  // Remove excessive symbols\n  base64.replace(/[^a-z0-9\\+\\/=]+/gi, '');\n  var input = new Buffer(base64, 'base64');\n  return DERDecoder.prototype.decode.call(this, input, options);\n};","var encoders = exports;\nencoders.der = require('./der');\nencoders.pem = require('./pem');","var inherits = require('inherits');\nvar DEREncoder = require('./der');\nfunction PEMEncoder(entity) {\n  DEREncoder.call(this, entity);\n  this.enc = 'pem';\n}\n;\ninherits(PEMEncoder, DEREncoder);\nmodule.exports = PEMEncoder;\nPEMEncoder.prototype.encode = function encode(data, options) {\n  var buf = DEREncoder.prototype.encode.call(this, data);\n  var p = buf.toString('base64');\n  var out = ['-----BEGIN ' + options.label + '-----'];\n  for (var i = 0; i < p.length; i += 64) out.push(p.slice(i, i + 64));\n  out.push('-----END ' + options.label + '-----');\n  return out.join('\\n');\n};"],"sourceRoot":""}