{"version":3,"file":"static/chunks/pages/_app-b7a3326ab6f1c6f0.js","mappings":"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wO,EACP3vN,MAAO2vN,MAGIC,EAAc,CACzB,mBACA,kBACA,0BACA,YACA,aACA,mBACA,uBACA,oBACA,gBACA,iBACA,4BACA,8BACA,iBACA,4BACA,mBAGWC,EAAiB,CAC5B,oBACA,oBACA,qBACA,oBACA,+BACA,cACA,eACA,aACA,mBACA,iBACA,gBACA,iBACA,gBACA,iBACA,oBACA,8BACA,eACA,iBACA,4BACA,cAGWC,EAAmB,CAC9BC,UAAW,oBACX,mBAAoB,4BAGTC,EAAa,kB,yqDCtIbC,EAA2B,CACtC,WACA,gBACA,eACA,SACA,aACA,SAWWC,EARe,CAC1B,UACA,UACA,mBACA,WACA,SAG6CzvO,KAAI,SAAC0vO,G,MAAa,CAC/DzwO,MAAOywO,EACPnwN,MAAOmwN,MAGIC,EAAuB,CAClC,WAAY,WACZ,cAAe,cACf,aAAc,aACdC,WAAY,aACZ,YAAa,YACbC,WAAY,aACZ7iD,MAAO,SAEI8iD,EAAqB,CAChCC,YACE,+LACFC,aACE,8F,WCnCSC,EAAU,CACrB,UACA,gBACA,WACA,YACA,WAGWC,EAAa,CACxB,UAEA,WACA,YACA,UACA,QAGWC,EAAQ,CACnB,QACA,SACA,sBACA,wBACA,6BACA,0BAGWC,EAAiB,CAC5B,iBACA,iBACA,oBACA,qBACA,kBACA,gBACA,UACA,YAGWC,EAAQ,CACnB,QACA,iBACA,gBACA,UACA,aACA,aACA,YACA,eACA,gBACA,gBACA,aACA,QACA,YACA,YACA,gBACA,UACA,YAGWC,EAAW,CACtB,QACA,iBACA,gBACA,UACA,aACA,aACA,YACA,eACA,gBACA,gBACA,aACA,QACA,YACA,YAEA,iBACA,UACA,YAGWC,EAAQ,CACnB,QACA,SACA,eACA,MACA,SACA,wBACA,kBAGWC,EAAW,CACtB,QACA,SACA,eACA,MACA,SAEA,sBACA,kBChGWC,EAAiB,CAC5B,CACE7hH,KAAM,YACN3vH,MAAO,YACPyxO,OAAQ,MACRC,aAAc,CAAC,KAAM,MAAO,YAAa,cAE3C,CAAE/hH,KAAM,eAAgB3vH,MAAO,eAAgByxO,OAAQ,SACvD,CACE9hH,KAAM,YACN3vH,MAAO,YACPyxO,OAAQ,MACRC,aAAc,CAAC,QAAS,QAE1B,CAAE/hH,KAAM,SAAU3vH,MAAO,SAAUyxO,OAAQ,OAC3C,CAAE9hH,KAAM,YAAa3vH,MAAO,YAAayxO,OAAQ,OAEtCE,EAAwB,CACnC,YAAa,YACbC,OAAQ,WAGGC,EAAe,CAAC,YAAa,WAE7BC,EAAmB,CAC9B,CAAE9xO,MAAO,KAAMsgB,MAAO,sCACtB,CACEtgB,MAAO,KACPsgB,MAAO,oBAET,CACEtgB,MAAO,KACPsgB,MAAO,iBAET,CACEtgB,MAAO,MACPsgB,MAAO,aAET,CACEtgB,MAAO,KACPsgB,MAAO,cAET,CACEtgB,MAAO,KACPsgB,MAAO,qBAET,CACEtgB,MAAO,MACPsgB,MAAO,aAET,CACEtgB,MAAO,MACPsgB,MAAO,oBAET,CACEtgB,MAAO,KACPsgB,MAAO,eAET,CACEtgB,MAAO,KACPsgB,MAAO,sBAET,CACEtgB,MAAO,KACPsgB,MAAO,mBAET,CACEtgB,MAAO,MACPsgB,MAAO,gBAET,CACEtgB,MAAO,MACPsgB,MAAO,qBAET,CACEtgB,MAAO,KACPsgB,MAAO,kBAET,CACEtgB,MAAO,MACPsgB,MAAO,iBAET,CACEtgB,MAAO,KACPsgB,MAAO,WAET,CACEtgB,MAAO,MACPsgB,MAAO,yBAET,CACEtgB,MAAO,OACPsgB,MAAO,eAET,CACEtgB,MAAO,MACPsgB,MAAO,sBAET,CACEtgB,MAAO,KACPsgB,MAAO,eAET,CACEtgB,MAAO,KACPsgB,MAAO,iBAET,CACEtgB,MAAO,MACPsgB,MAAO,qBAET,CACEtgB,MAAO,OACPsgB,MAAO,gBChHEyxN,EAAM,CACjB,MACA,SACA,aACA,WACA,aAGWC,EAAS,CACpB,MACA,aACA,WACA,YACA,WACA,UAGWC,EAAQ,CACnB,QACA,SACA,WACA,eACA,eACA,eACA,UACA,OACA,OAGWC,EAAW,CACtB,QACA,SACA,WACA,eACA,eACA,UACA,OACA,MACA,eAGWC,EAAa,CACxB,aACA,UACA,aACA,aACA,YACA,WACA,OACA,KACA,SACA,kBACA,UACA,WACA,cACA,cACA,YACA,gBACA,aACA,kBACA,qBACA,QACA,UACA,oBACA,eACA,SACA,iBACA,WAGWC,EAAgB,CAC3B,aACA,UACA,aAGA,kBACA,WACA,OACA,KACA,SAEA,UACA,WACA,cAEA,cACA,YAEA,iBACA,aAEA,oBACA,qBACA,QACA,UACA,YACA,oBACA,eACA,SACA,cACA,iBACA,WAGWC,EAAQ,CACnB,QACA,QACA,SACA,gBACA,WACA,YACA,mBACA,SAGWC,EAAe,CAC1B,eACA,SACA,gBACA,YACA,gBACA,QACA,aACA,mBACA,WACA,WACA,OACA,eACA,eACA,UACA,YAGWC,EAAkB,CAC7B,eACA,SACA,gBACA,YACA,gBACA,QACA,aAEA,mBACA,WACA,WACA,OACA,eACA,eAEA,UACA,YAGWC,EAAQ,CACnB,QACA,UACA,YACA,WACA,aACA,YACA,gBACA,UACA,SACA,eACA,gBACA,WACA,UACA,WACA,UACA,OACA,aACA,SACA,mBACA,cACA,WACA,YACA,WACA,cACA,eACA,MACA,kBACA,UACA,aACA,YACA,eACA,iBACA,iBACA,QACA,eACA,gBACA,gBACA,iBACA,eACA,SACA,WACA,UACA,WACA,SACA,QACA,aACA,YACA,QAGWC,EAAW,CACtB,QACA,oBACA,UACA,YACA,WACA,aACA,YAEA,eACA,UACA,SACA,eACA,gBAEA,WACA,UACA,WACA,UACA,OACA,aACA,SAEA,eACA,cAEA,YACA,YACA,WAEA,aACA,eACA,MAEA,iBACA,UACA,aACA,YAEA,gBAEA,gBACA,iBACA,QACA,eACA,gBACA,gBACA,iBACA,eAEA,WACA,UACA,WACA,SACA,QACA,aACA,YACA,QAGWC,EAAY,CACvB,YACA,SACA,UACA,UACA,QACA,QACA,UACA,QACA,SACA,SACA,QACA,wBACA,QACA,eACA,UACA,WACA,WACA,SACA,iBACA,UACA,SACA,aACA,WACA,UACA,gBACA,UACA,UACA,OACA,UACA,YACA,OACA,aACA,oB,sBCrSWC,EAAmB,CAC9B,WACA,eACA,qBACA,oBACA,oBACA,yBACA,yBACA,kBACA,oBACA,QAGWC,EAAqBD,EAAiB5xO,KAAI,SAACg8K,G,MAAa,CACnEz8J,MAAOy8J,EACP/8K,MAAO+8K,MAKI81D,GAFYC,EAAAA,EAAAA,KAAW,IAAI/nO,MAAOkkJ,cAAe,MAAMvnH,UAE1B3mC,KAAI,SAAC23F,G,MAAU,CACvDp4E,MAAOo4E,EACP14F,MAAO04F,MAgBIq6I,EAbY,CACvB,cACA,MACA,QACA,YACA,gBACA,MACA,SACA,QACA,aACA,SAGwChyO,KAAI,SAACiyO,G,MAAa,CAC1D1yN,MAAO0yN,EACPhzO,MAAOgzO,MAGIC,EAAwBC,EAAAA,GAAAA,KAAc,SAACC,G,MAAkB,CACpE7yN,MAAO6yN,EACPnzO,MAAOmzO,MAoBIC,EAjBa,CACxB,QACA,QACA,OACA,SACA,OACA,MACA,QACA,WACA,MACA,SACA,SACA,QACA,OACA,UAG0CryO,KAAI,SAACsyO,G,MAAc,CAC7D/yN,MAAO+yN,EACPrzO,MAAOqzO,MAGIC,EAAsBC,EAAAA,EAAAA,KACjC,Y,IAAGC,EAAO,EAAPA,Q,MAAe,CAChBlzN,MAAOkzN,EACPxzO,MAAOwzO,O,quBC3EEC,EAAa,CACxB,UACA,OACA,mBACA,WACA,QACA,oBACA,4BACA,iBAGWC,EAAoBD,EAAW1yO,KAAI,SAAC4yO,G,MAAc,CAC7D3zO,MAAO2zO,EACPrzN,MAAOqzN,MAGIC,EAAc,CACzB,OACA,UACA,QACA,SACA,OACA,WACA,aAEWC,EAAsBD,EAAY7yO,KAAI,SAAC+yO,G,MAAgB,CAClE9zO,MAAO8zO,EACPxzN,MAAOwzN,MAGIC,EAAa,CACxB,QACA,cACA,SACA,QACA,MACA,OACA,QACA,OACA,SAEWC,EAAqBD,EAAWhzO,KAAI,SAACkzO,G,MAAe,CAC/Dj0O,MAAOi0O,EACP3zN,MAAO2zN,MAGIC,EAAY,CACvB,OACA,QACA,QACA,QACA,QACA,QAEWC,EAAoBD,EAAUnzO,KAAI,SAACqzO,G,MAAc,CAC5D9zN,MAAO8zN,EACPp0O,MAAOo0O,MAGIC,EAAiB,qPAEjBC,EAAQ,CACnB,KACA,IACA,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MAGWC,EAAM,CACjB,KACA,IACA,IACA,IACA,IACA,KACA,MACA,IACA,IACA,IACA,IACA,KAuBWC,EAAQ,CACnB,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,IACA,MACA,KACA,OACA,KACA,OACA,KACA,OACA,KACA,OACA,MAGWC,EAAQ,CAAC,KAAM,IAAK,IAAK,IAAK,KAAM,MAAO,QAE3CC,EAAyB,CACpC,SACA,KACA,SACA,KACA,SACA,SACA,KACA,SACA,KACA,SACA,SACA,SACA,UAGWC,EAAyB,CACpC,SACA,SACA,SACA,SACA,SACA,SACA,SACA,UAiCWzB,EAAY,CACvB,kBACA,cACA,0BAsBW0B,EAZiB7rO,MAAM,GACjCgO,KAAK,GACLhD,QAAuB,SAACsB,EAAK+W,EAAGyoN,GAC/B,IAAMC,EAAOD,EAAU,EACjBE,EAAiBhsO,MAAM,IAC1BgO,KAAK,GACLhW,KAAkB,SAACqrB,EAAG4oN,G,MAAY,CACjCC,gBAAiB,GAAcD,OAAXF,EAAK,QAAa,OAAPE,EAAO,OACtCA,OAAe,GAAPF,EAAYE,MAExB,OAAO3/N,EAAItW,OAAOg2O,KACjB,IACkDh0O,KACrD,Y,OAAS,EAANi0O,UAGQE,EAAoBN,EAAyB7zO,KAAI,SAACi0O,G,MAAY,CACzEh1O,MAAOg1O,EACP10N,OAAO60N,EAAAA,EAAAA,IAAwBH,OAqCpBI,EAAqB,CAChCC,MAAOf,EACPgB,IAAKf,EACLgB,UAAWf,EACXgB,WAAYf,EACZgB,MAvCgC,CAChC,KACA,KACA,KACA,KACA,KACA,KACA,MAiCAC,MA9BgC,CAChC,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OAuBWC,EAAqB,SAChCC,G,IACAC,EAAU,UAAH,8CAEP,MAAqB,QAAjBD,EACKC,EAAUlB,EAAyBD,EAErCU,EAAmBQ,IAGfE,EAAuB,SAClCF,GAEA,OAAOG,EAAqBH,IAGjBI,EAAe,CAC1BC,IAAK,CAAEruN,IAAK,GAAI+jB,IAAK,IACrB+pM,MAAO,CAAE9tN,IAAK,GAAI+jB,IAAK,IACvBuqM,WAAY,CAAEtuN,IAAK,GAAI+jB,IAAK,IAC5BwqM,KAAM,CAAEvuN,IAAK,GAAI+jB,IAAK,IACtByqM,KAAM,CAAExuN,IAAK,GAAI+jB,IAAK,IACtB0qM,OAAQ,CAAEzuN,IAAK,GAAI+jB,IAAK,IACxB2qM,OAAQ,CAAE1uN,IAAK,GAAI+jB,IAAK,IACxB4qM,MAAO,CAAE3uN,IAAK,EAAG+jB,IAAK,KAGX6qM,EAAgB,CAC3BC,IAAK,WACLjB,WAAY,aACZD,UAAW,YACXG,MAAO,aACPJ,IAAK,WACLa,KAAM,YACNd,MAAO,aACPY,IAAK,WACLM,MAAO,YACPL,WAAY,aACZI,OAAQ,cACRF,KAAM,YACNC,OAAQ,eAGGK,EAAkB,CAC7BC,IAAK,MACLC,MAAO,aACPC,KAAM,YACNC,MAAO,QACP,cAAe,MACf,eAAgB,OAChB,gBAAiB,QACjB,eAAgB,MAChB,eAAgB,QAChB,cAAe,aACf,eAAgB,SAChB,aAAc,OACd,eAAgB,UAGLC,EAA4B,CACvCC,KAAM,CACJ,MACA,QACA,OACA,QACA,cACA,eACA,aACA,gBAEFC,OAAQ,CACN,MACA,QACA,OACA,QACA,cACA,eACA,gBACA,eACA,gBAEFC,MAAO,CACL,MACA,QACA,OACA,QACA,cACA,eACA,gBACA,eACA,eACA,cACA,eACA,aACA,gBAEF,aAAc,CACZ,MACA,QACA,OACA,QACA,cACA,eACA,gBACA,eACA,eACA,cACA,eACA,eAISnB,EAAuB,CAClCoB,UAAUrE,EAAAA,EAAAA,IAAW,GAAI,EAAG,GAC5BuD,QAAQvD,EAAAA,EAAAA,IAAW,GAAI,GAAI,IAC3BsD,MAAMtD,EAAAA,EAAAA,IAAW,GAAI,GAAI,IACzBoD,YAAYpD,EAAAA,EAAAA,IAAW,GAAI,GAAI,IAC/B2C,OAAO3C,EAAAA,EAAAA,IAAW,GAAI,GAAI,IAC1BwC,IAlToB,CACpB,KACA,IACA,IACA,IACA,IACA,KACA,IACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,KACA,IACA,MAkSA8B,WAAWtE,EAAAA,EAAAA,IAAW,GAAI,GAAI,GAC9B4C,OAAO5C,EAAAA,EAAAA,IAAW,GAAI,GAAI,IAC1BuE,eAAevE,EAAAA,EAAAA,IAAW,GAAI,GAAI,IAClCwE,eAAexE,EAAAA,EAAAA,IAAW,GAAI,GAAI,GAClCmD,KAAKnD,EAAAA,EAAAA,IAAW,GAAI,GAAI,IACxBwD,QAAQxD,EAAAA,EAAAA,IAAW,GAAI,GAAI,GAC3ByE,SAASzE,EAAAA,EAAAA,IAAW,GAAI,EAAG,IAC3BhqO,MAAMgqO,EAAAA,EAAAA,IAAW,GAAI,GAAI,KAGd0E,EAAiB,GAEjBC,EAAkB,CAC7BN,SAAU,aACVruO,KAAM,YACNstO,KAAM,cACNC,OAAQ,cACRZ,MAAO,aACPS,WAAY,kBACZZ,IAAK,WACL8B,UAAW,iBACX1B,MAAO,aACP2B,cAAe,qBACfC,cAAe,qBACfrB,IAAK,YACLK,OAAQ,kBACRiB,QAAS,aAGEG,EAAoB,CAC/B,aAAc,WACdC,KAAM,OACNC,OAAQ,OACRC,OAAQ,SACR,cAAe,QACf,iCAAkC,aAClCC,IAAK,MACLC,UAAW,YACX,4BAA6B,QAC7B,sBAAuB,gBACvB,sBAAuB,gBACvBC,KAAM,MACN,aAAc,SACd,YAAa,WAGFC,EAA+B,CAC1CjB,KAAM,CACJ,OACA,SACA,SACA,cACA,sBACA,sBACA,aACA,aAEFC,OAAQ,CACN,aACA,OACA,SACA,iCACA,MACA,YACA,4BACA,OACA,aAEFC,MAAO,CACL,aACA,OACA,SACA,SACA,iCACA,MACA,YACA,4BACA,OACA,aACA,aAEF,aAAc,CACZ,aACA,OACA,SACA,SACA,iCACA,MACA,YACA,4BACA,OACA,aACA,e,0FClfG,IAAM3D,EAA2B,CACtC,CACEC,QAAS,SACT0E,UAAW,CACT,MACA,MACA,MACA,aACA,OACA,eACA,cAGJ,CAAE1E,QAAS,KAAM0E,UAAW,CAAC,cAAe,UAC5C,CACE1E,QAAS,QACT0E,UAAW,CACT,YACA,OACA,QACA,YACA,YACA,aAGJ,CACE1E,QAAS,aACT0E,UAAW,CACT,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,KACA,mBACA,OACA,QACA,SACA,YACA,KACA,MACA,OACA,SACA,UACA,KACA,WAGJ,CAAE1E,QAAS,SAAU0E,UAAW,CAAC,SACjC,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,WAC/B,CACE1E,QAAS,eACT0E,UAAW,CACT,SACA,OACA,MACA,MACA,MACA,mBACA,MACA,SACA,KACA,WACA,UACA,WAGJ,CACE1E,QAAS,OACT0E,UAAW,CACT,KACA,KACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,YACA,QACA,SACA,YACA,KACA,KACA,YACA,KACA,KACA,KACA,YACA,KACA,KACA,OAGJ,CACE1E,QAAS,SACT0E,UAAW,CAAC,UAAW,QAAS,OAAQ,YAE1C,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,SAC9B,CACE1E,QAAS,UACT0E,UAAW,CACT,SACA,oBACA,WACA,aACA,0BACA,iBACA,WACA,QACA,cACA,WACA,YAGJ,CACE1E,QAAS,MACT0E,UAAW,CACT,WACA,WACA,OACA,WACA,WACA,WACA,WACA,WACA,WACA,SACA,KACA,KACA,KACA,KACA,KACA,MACA,MACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,OAGJ,CACE1E,QAAS,aACT0E,UAAW,CACT,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,MACA,QAGJ,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,WAAY,YAC9C,CACE1E,QAAS,WACT0E,UAAW,CAAC,MAAO,MAAO,WAAY,UAAW,MAAO,MAAO,QAEjE,CAAE1E,QAAS,WAAY0E,UAAW,CAAC,gBACnC,CACE1E,QAAS,YACT0E,UAAW,CACT,OACA,SACA,SACA,UACA,WACA,QACA,QACA,QACA,UACA,QACA,UACA,QACA,SACA,OACA,SAGJ,CACE1E,QAAS,WACT0E,UAAW,CACT,OACA,YACA,QACA,cACA,gBACA,OACA,aACA,UACA,UACA,YAGJ,CACE1E,QAAS,aACT0E,UAAW,CACT,OACA,MACA,KACA,WACA,sBACA,KACA,KACA,KACA,KACA,cACA,aACA,aACA,SACA,KACA,YACA,aACA,iBACA,KACA,OACA,KACA,KACA,YACA,KACA,SACA,iBACA,MACA,MACA,MACA,aACA,OACA,SACA,gBACA,mBACA,uBACA,kBACA,OACA,cACA,WACA,OACA,SACA,KACA,QACA,gBACA,OAGJ,CACE1E,QAAS,gBACT0E,UAAW,CACT,aACA,YACA,SACA,YACA,UACA,YAGJ,CAAE1E,QAAS,WAAY0E,UAAW,CAAC,KAAM,aACzC,CAAE1E,QAAS,QAAS0E,UAAW,CAAC,QAAS,OAAQ,YAAa,SAC9D,CACE1E,QAAS,QACT0E,UAAW,CAAC,SAAU,SAAU,QAAS,YAE3C,CACE1E,QAAS,SACT0E,UAAW,CACT,SACA,QACA,UACA,UACA,QACA,UACA,QACA,QACA,QACA,SACA,WAGJ,CACE1E,QAAS,WACT0E,UAAW,CACT,WACA,UACA,WACA,QACA,QACA,SACA,WACA,aACA,UACA,OACA,OACA,SACA,WACA,SACA,QAGJ,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,SAAU,gBAC5C,CAAE1E,QAAS,YAAa0E,UAAW,CAAC,UACpC,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,UAC/B,CACE1E,QAAS,QACT0E,UAAW,CAAC,UAAW,UAAW,UAAW,QAAS,MAAO,WAE/D,CACE1E,QAAS,KACT0E,UAAW,CACT,IACA,IACA,IACA,IACA,IACA,cACA,sBACA,YACA,gBAGJ,CAAE1E,QAAS,QAAS0E,UAAW,CAAC,SAAU,cAC1C,CAAE1E,QAAS,SAAU0E,UAAW,CAAC,QACjC,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,WAC9B,CACE1E,QAAS,UACT0E,UAAW,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,UACA,gBACA,aACA,eACA,OACA,gBACA,OACA,MACA,OACA,MACA,OACA,KACA,YACA,UACA,YACA,eAGJ,CACE1E,QAAS,OACT0E,UAAW,CACT,MACA,MACA,aACA,eACA,OACA,WACA,OACA,YACA,QACA,QACA,cACA,QACA,QACA,QACA,UACA,eACA,OACA,QACA,WACA,QACA,QACA,YACA,OACA,SACA,QACA,SACA,WACA,QACA,SACA,SACA,OACA,SACA,MACA,SAGJ,CACE1E,QAAS,OACT0E,UAAW,CACT,QACA,QACA,QACA,SACA,WACA,OACA,SACA,WACA,SACA,QACA,cACA,SACA,SACA,UACA,cACA,wBACA,KACA,OACA,WACA,SACA,UACA,iBACA,QACA,QACA,OACA,UACA,SACA,kBACA,QACA,WACA,kBACA,kBACA,wBACA,mBAGJ,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,OAAQ,aAAc,OAAQ,YAC5D,CACE1E,QAAS,UACT0E,UAAW,CAAC,MAAO,MAAO,OAAQ,OAAQ,SAE5C,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,cAClC,CACE1E,QAAS,QACT0E,UAAW,CACT,SACA,UACA,QACA,WACA,OACA,MACA,OACA,IACA,OACA,OACA,UACA,UACA,iBACA,OACA,SACA,OACA,MACA,UACA,QACA,UACA,WAGJ,CAAE1E,QAAS,SAAU0E,UAAW,CAAC,KAAM,OACvC,CACE1E,QAAS,UACT0E,UAAW,CACT,SACA,QACA,OACA,QACA,QACA,UACA,UACA,OACA,WACA,MACA,MACA,MACA,MACA,OACA,QACA,UACA,UACA,iBACA,OACA,OACA,OACA,gBACA,SACA,SACA,OACA,UACA,WACA,UACA,SACA,UACA,WACA,SACA,SACA,WACA,SAGJ,CAAE1E,QAAS,QAAS0E,UAAW,CAAC,cAChC,CACE1E,QAAS,WACT0E,UAAW,CAAC,KAAM,KAAM,IAAK,IAAK,MAAO,MAAO,MAAO,SAEzD,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,OAClC,CAAE1E,QAAS,QAAS0E,UAAW,CAAC,SAAU,YAC1C,CACE1E,QAAS,SACT0E,UAAW,CACT,SACA,SACA,SACA,SACA,SACA,KACA,KACA,KACA,MACA,OACA,KACA,MACA,WAGJ,CACE1E,QAAS,OACT0E,UAAW,CACT,UACA,WACA,YACA,UACA,iBACA,UACA,WACA,WACA,uBAGJ,CAAE1E,QAAS,SAAU0E,UAAW,CAAC,QACjC,CACE1E,QAAS,MACT0E,UAAW,CACT,SACA,OACA,SACA,SACA,SACA,MACA,WACA,SACA,OACA,UACA,SACA,UACA,QACA,UACA,MACA,SACA,QACA,WACA,UACA,OACA,UACA,WACA,UACA,SACA,QACA,UAGJ,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,UAC9B,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,OAAQ,OAAQ,WAC/C,CACE1E,QAAS,cACT0E,UAAW,CACT,YACA,SACA,WACA,UACA,aACA,SAGJ,CACE1E,QAAS,SACT0E,UAAW,CACT,OACA,QACA,QACA,cACA,SACA,QACA,QAGJ,CACE1E,QAAS,aACT0E,UAAW,CACT,WACA,YACA,kBACA,aACA,cACA,qBACA,oBACA,sBAGJ,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,OAC/B,CACE1E,QAAS,QACT0E,UAAW,CACT,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,gBAGJ,CAAE1E,QAAS,SAAU0E,UAAW,CAAC,QAAS,SAC1C,CACE1E,QAAS,QACT0E,UAAW,CACT,WACA,OACA,SACA,QACA,aACA,QACA,SACA,SACA,QACA,QACA,UAGJ,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,MAAO,SACrC,CAAE1E,QAAS,WAAY0E,UAAW,CAAC,QACnC,CACE1E,QAAS,SACT0E,UAAW,CAAC,KAAM,YAAa,UAAW,SAAU,QAEtD,CACE1E,QAAS,SACT0E,UAAW,CAAC,OAAQ,SAAU,UAAW,kBAE3C,CACE1E,QAAS,WACT0E,UAAW,CACT,MACA,MACA,UACA,QACA,SACA,iBACA,YACA,cACA,UACA,UACA,OACA,eACA,SACA,WAGJ,CAAE1E,QAAS,QAAS0E,UAAW,CAAC,WAChC,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,KAAM,OACxC,CACE1E,QAAS,QACT0E,UAAW,CACT,IACA,IACA,IACA,IACA,MACA,MACA,MACA,MACA,OACA,QACA,OACA,QACA,OACA,QACA,MACA,OACA,QACA,OACA,OACA,UACA,OACA,OACA,UACA,UACA,YAGJ,CACE1E,QAAS,UACT0E,UAAW,CACT,OACA,QACA,OACA,QACA,OACA,OACA,cACA,QACA,OACA,QACA,SACA,KACA,KACA,UAGJ,CACE1E,QAAS,eACT0E,UAAW,CAAC,OAAQ,UAAW,MAAO,UAAW,MAAO,MAAO,KAAM,OAEvE,CACE1E,QAAS,gBACT0E,UAAW,CACT,aACA,sBACA,UACA,SACA,UACA,UACA,WACA,KACA,MACA,YACA,MACA,MACA,MACA,UACA,MACA,MACA,MACA,MACA,MACA,MACA,UACA,YACA,MACA,MACA,YACA,WACA,MACA,YACA,MACA,YACA,UACA,UACA,UACA,UACA,MACA,YACA,WACA,MACA,YACA,QACA,UACA,UAGJ,CACE1E,QAAS,KACT0E,UAAW,CACT,IACA,KACA,KACA,MACA,SACA,MACA,KACA,KACA,KACA,KACA,QACA,OAGJ,CAAE1E,QAAS,cAAe0E,UAAW,CAAC,WAAY,MAAO,MAAO,OAChE,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,IAAK,MACnC,CACE1E,QAAS,WACT0E,UAAW,CAAC,KAAM,UAAW,OAAQ,UAAW,UAElD,CACE1E,QAAS,OACT0E,UAAW,CACT,UACA,cACA,WACA,aACA,QACA,iBACA,YACA,oBACA,UACA,aAGJ,CACE1E,QAAS,aACT0E,UAAW,CACT,UACA,MACA,UACA,OACA,SACA,gBACA,MACA,SACA,UACA,IACA,SACA,SACA,aACA,SACA,YACA,UACA,SACA,eACA,eACA,QACA,eACA,aACA,cACA,UACA,WAGJ,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,SAC/B,CACE1E,QAAS,SACT0E,UAAW,CACT,YACA,SACA,aACA,0BACA,wBACA,aACA,YACA,WACA,aAGJ,CACE1E,QAAS,SACT0E,UAAW,CACT,SACA,SACA,cACA,SACA,OACA,OACA,SACA,cACA,QACA,WACA,SACA,OACA,OACA,OACA,SACA,OACA,SACA,YACA,QACA,SACA,OACA,cACA,aACA,SACA,OACA,UACA,UACA,SACA,UACA,YACA,KACA,SACA,SACA,cACA,cACA,SACA,QACA,UACA,YAGJ,CAAE1E,QAAS,QAAS0E,UAAW,CAAC,QAChC,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,QAAS,UACxC,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,SAAU,SAAU,OAAQ,UAC9D,CACE1E,QAAS,UACT0E,UAAW,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,OACA,OACA,OACA,OACA,eACA,SACA,QACA,WACA,cACA,eACA,eACA,MACA,gBACA,gBACA,MACA,SACA,cAGJ,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,WAAY,iBAC1C,CAAE1E,QAAS,WAAY0E,UAAW,CAAC,IAAK,IAAK,MAC7C,CACE1E,QAAS,UACT0E,UAAW,CACT,MACA,MACA,MACA,MACA,MACA,cACA,aACA,UACA,UACA,SACA,QACA,WACA,WAGJ,CAAE1E,QAAS,cAAe0E,UAAW,CAAC,WACtC,CACE1E,QAAS,SACT0E,UAAW,CACT,UACA,QACA,QACA,QACA,SACA,MACA,UACA,QACA,SACA,aACA,QACA,SAGJ,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,iBAAkB,WAAY,QAChE,CACE1E,QAAS,UACT0E,UAAW,CACT,IACA,IACA,IACA,KACA,KACA,KACA,KACA,KACA,SACA,WACA,SACA,OACA,SACA,UACA,eACA,cACA,eACA,aACA,SACA,SACA,SACA,SACA,SACA,gBACA,gBACA,QACA,UACA,SACA,eACA,SACA,QACA,YACA,OACA,QAGJ,CACE1E,QAAS,cACT0E,UAAW,CACT,WACA,WACA,WACA,OACA,QACA,wBACA,UACA,cACA,gBACA,gBACA,gBACA,cACA,gBACA,WAGJ,CACE1E,QAAS,QACT0E,UAAW,CACT,KACA,KACA,KACA,MACA,MACA,MACA,MACA,MACA,YACA,QACA,OACA,MACA,eAGJ,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,MAAO,OAAQ,MAAO,QACrD,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,UAC9B,CAAE1E,QAAS,MAAO0E,UAAW,CAAC,UAC9B,CACE1E,QAAS,OACT0E,UAAW,CACT,WACA,QACA,QACA,QACA,QACA,UACA,OACA,QACA,OACA,SACA,WACA,MACA,eACA,UACA,cACA,WAGJ,CACE1E,QAAS,QACT0E,UAAW,CACT,SACA,WACA,QACA,UACA,QACA,UACA,UACA,QACA,QACA,SACA,UACA,QACA,WACA,QACA,SACA,SAGJ,CACE1E,QAAS,QACT0E,UAAW,CACT,OACA,aACA,aACA,YACA,UACA,SACA,aAGJ,CACE1E,QAAS,YACT0E,UAAW,CACT,UACA,QACA,QACA,SACA,WACA,SACA,iBACA,SACA,aACA,YAGJ,CACE1E,QAAS,SACT0E,UAAW,CACT,UACA,cACA,aACA,MACA,WACA,UACA,QACA,WACA,SACA,SACA,UACA,WACA,MACA,QACA,MACA,WACA,OAGJ,CACE1E,QAAS,SACT0E,UAAW,CACT,SACA,OACA,SACA,aACA,UACA,eACA,QACA,QACA,UACA,QACA,UACA,KACA,SACA,QACA,QACA,MACA,cACA,SACA,WACA,SAGJ,CAAE1E,QAAS,SAAU0E,UAAW,CAAC,UACjC,CAAE1E,QAAS,OAAQ0E,UAAW,CAAC,WAC/B,CAAE1E,QAAS,UAAW0E,UAAW,CAAC,YAClC,CACE1E,QAAS,QACT0E,UAAW,CAAC,UAAW,UAAW,UAAW,UAAW,aAE1D,CACE1E,QAAS,SACT0E,UAAW,CACT,WACA,QACA,UACA,gBACA,OACA,OACA,QACA,SACA,WACA,SACA,OACA,UACA,WACA,OACA,OACA,aACA,KACA,eACA,sBACA,wBACA,kBACA,MACA,QACA,SACA,SACA,QACA,oBACA,QACA,OACA,gBACA,UACA,QACA,SACA,gBACA,QACA,QACA,gBAGJ,CACE1E,QAAS,MACT0E,UAAW,CACT,UACA,WACA,WACA,IACA,UACA,OACA,OACA,OACA,SACA,SACA,SACA,OAGJ,CACE1E,QAAS,WACT0E,UAAW,CACT,OACA,QACA,SACA,SACA,QACA,gBACA,UACA,UACA,UACA,WACA,QACA,aACA,eACA,QACA,UACA,YACA,cACA,WACA,YACA,cACA,WACA,SACA,QACA,UACA,SACA,WACA,OACA,QACA,UACA,SACA,SACA,QACA,SACA,OACA,SACA,cACA,gBACA,gBACA,QACA,OACA,WAGJ,CACE1E,QAAS,aACT0E,UAAW,CACT,SACA,SACA,cACA,OACA,QACA,aACA,aACA,oBACA,kBACA,aACA,YACA,KACA,UACA,SACA,MACA,OACA,MACA,OACA,mBACA,UACA,MACA,MACA,MACA,QACA,OACA,WACA,SACA,UACA,OACA,WACA,SACA,QACA,UACA,SACA,UACA,SACA,QACA,KACA,UAGJ,CACE1E,QAAS,QACT0E,UAAW,CACT,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,aACA,MACA,MACA,MACA,OACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,MACA,OACA,gBACA,OACA,OACA,SAGJ,CAAE1E,QAAS,YAAa0E,UAAW,CAAC,QACpC,CACE1E,QAAS,OACT0E,UAAW,CAAC,MAAO,YAAa,KAAM,KAAM,aAAc,UAIjDC,EAAoB5E,EAAyBx/N,QACxD,SAACsB,EAAK+iO,GAEJ,OADA/iO,EAAI+iO,EAAe5E,SAAW4E,EAAeF,UACtC7iO,IAET,K,sKCt4CWgjO,EAAQ,SAACr4O,G,OACV,OAAVA,QAA4BM,IAAVN,GAEP8yO,EAAa,SAACjvO,GAEzB,I,IAFsCihB,EAAQ,UAAH,6CAAG,EAAGmB,EAAO,UAAH,6CAAG,EAClDq4E,EAAQ,GACLh/F,EAAIwlB,EAAOxlB,GAAKuE,EAAKvE,GAAK2mB,EACjCq4E,EAAM59F,KAAKpB,GAEb,OAAOg/F,GAGIg6I,EAAc,SAACC,GAC1B,OAAIxI,EAAAA,GAAAA,SAA2BwI,GACtBA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,EAAAA,QAAU,KACnD,qB,SAAGz2R,M,iCCsHZ,IApJc,CACZ83L,QAAS,CACP35L,QAAS,CACP4Z,UACA,UACA,UACA,yBACAA,UACA,UACA,UACA,UACA,mBACA,UACA,UACA,UACA,UACAA,YACA,YACA,UACAA,WAEFghR,UAAW,CACT,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEFh9R,MAAO,CACL,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEFi9L,OAAQ,CACN,yCACAjhL,uCACA,qCAEFnF,KAAM,CACJ,UACA,UACA,UACA,uBAEFu7E,MAAO,CAACp2E,WACRu2Q,OAAQ,CAACv2Q,WACTihR,UAAW,CACT,UACA,0BAEFvoR,QAAS,CACP,WAEFqoE,QAAS,CACP,WAEFr9D,MAAO,CACL,WAEFu5B,UAAW,CACT,UACA,UACA,UACA,UACA,UACA,UACA,UACA,WAEFw2E,KAAM,CACJ,UACA,UACA,UACA,UACA,UACA,UACA,kBACA,qBACA,UACA,UACA,WAEF3vD,OAAQ,CACN,UACA,UACA,UACA,UACA,6BAEF48N,KAAM,CAAC1gR,WAEP0+K,OAAQ,CACN,UACA,UACA,UACA,WAGFsC,eAAgB,CAAC,OAAQ,OAAQ,OAAQ,OAAQ,OAAQ,QACzDT,aAAc,CACZ,OACA,OACA,OACA,OACA,OACA,OACA,OACA,QAEFP,eAAgB,CAAC,MAAO,OACxBkhG,SAAU,CACR,UACA,UACA,UACA,UACA,UACA,UACAlhR,UACA,UACA,YAGJmhR,MAAO,CACL/6R,QAAS,iCACTolF,IAAK,0D,sIC3II41M,EAAmB,Y,QAC9BvxR,MAAAA,OAAK,IAAG,OAAI,MACZ+K,OAAAA,OAAM,IAAG,OAAI,MACb8jL,OAAAA,OAAM,IAAG,EAAA95L,EAAAA,EAAAA,QAAAA,KAAAA,GAAqB,E,OAE9B,SAACq3G,MAAG,CACFwiF,MAAM,6BACN5uL,MAAOA,EACP+K,OAAQA,EACRC,KAAK,OACL2jL,QAAQ,Y,UAER,SAACzyL,OAAI,CACH2yL,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","sources":["webpack://_N_E/./node_modules/@ant-design/colors/dist/index.esm.js","webpack://_N_E/./node_modules/@emotion/hash/dist/hash.browser.esm.js","webpack://_N_E/./node_modules/stylis/src/Enum.js","webpack://_N_E/./node_modules/stylis/src/Utility.js","webpack://_N_E/./node_modules/stylis/src/Serializer.js","webpack://_N_E/./node_modules/stylis/src/Tokenizer.js","webpack://_N_E/./node_modules/stylis/src/Parser.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/Cache.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/StyleContext.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/hooks/useHMR.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/hooks/useGlobalCache.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/util.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/hooks/useStyleRegister.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/hooks/useCacheToken.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/Keyframes.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/theme/ThemeCache.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/theme/Theme.js","webpack://_N_E/./node_modules/@ant-design/cssinjs/es/theme/createTheme.js","webpack://_N_E/./node_modules/@ant-design/icons/es/utils.js","webpack://_N_E/./node_modules/@ant-design/icons/es/components/IconBase.js","webpack://_N_E/./node_modules/@ant-design/icons/es/components/twoTonePrimaryColor.js","webpack://_N_E/./node_modules/@ant-design/icons/es/components/AntdIcon.js","webpack://_N_E/./node_modules/@ant-design/icons/es/components/Context.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CheckCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CheckCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CheckOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CheckOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CloseCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CloseCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CloseOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CloseOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/DownOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/DownOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/ExclamationCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/ExclamationCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/EyeOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/EyeOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/InfoCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/InfoCircleFilled.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/LoadingOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/LoadingOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/SearchOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/SearchOutlined.js","webpack://_N_E/./node_modules/@aws-amplify/auth/lib-esm/types/Auth.js","webpack://_N_E/./node_modules/@aws-crypto/ie11-detection/build/CryptoOperation.js","webpack://_N_E/./node_modules/@aws-crypto/ie11-detection/build/Key.js","webpack://_N_E/./node_modules/@aws-crypto/ie11-detection/build/KeyOperation.js","webpack://_N_E/./node_modules/@aws-crypto/ie11-detection/build/MsSubtleCrypto.js","webpack://_N_E/./node_modules/@aws-crypto/ie11-detection/build/MsWindow.js","webpack://_N_E/./node_modules/@aws-crypto/ie11-detection/build/index.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-browser/build/constants.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-browser/build/crossPlatformSha256.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-browser/build/ie11Sha256.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-browser/build/index.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-browser/build/isEmptyData.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-browser/build/webCryptoSha256.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-js/build/RawSha256.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-js/build/constants.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-js/build/index.js","webpack://_N_E/./node_modules/@aws-crypto/sha256-js/build/jsSha256.js","webpack://_N_E/./node_modules/@aws-crypto/supports-web-crypto/build/index.js","webpack://_N_E/./node_modules/@aws-crypto/supports-web-crypto/build/supportsWebCrypto.js","webpack://_N_E/./node_modules/@aws-crypto/util/build/convertToBuffer.js","webpack://_N_E/./node_modules/@aws-crypto/util/build/index.js","webpack://_N_E/./node_modules/@aws-crypto/util/build/isEmptyData.js","webpack://_N_E/./node_modules/@aws-crypto/util/build/numToUint8.js","webpack://_N_E/./node_modules/@aws-crypto/util/build/uint32ArrayFrom.js","webpack://_N_E/./node_modules/@aws-sdk/util-uri-escape/dist/es/escape-uri.js","webpack://_N_E/./node_modules/@aws-sdk/util-base64-browser/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/fetch-http-handler/dist/es/fetch-http-handler.js","webpack://_N_E/./node_modules/@aws-sdk/querystring-builder/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/fetch-http-handler/dist/es/request-timeout.js","webpack://_N_E/./node_modules/@aws-sdk/fetch-http-handler/dist/es/stream-collector.js","webpack://_N_E/./node_modules/@aws-sdk/invalid-dependency/dist/es/invalidProvider.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/retryMiddleware.js","webpack://_N_E/./node_modules/@aws-sdk/service-error-classification/dist/es/constants.js","webpack://_N_E/./node_modules/@aws-sdk/service-error-classification/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/delayDecider.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/constants.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/retryDecider.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/defaultStrategy.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/defaultRetryQuota.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-retry/dist/es/configurations.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/endpoints.js","webpack://_N_E/./node_modules/@aws-sdk/url-parser/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/runtimeConfig.shared.js","webpack://_N_E/./node_modules/@aws-sdk/querystring-parser/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/runtimeConfig.browser.js","webpack://_N_E/./node_modules/@aws-sdk/util-body-length-browser/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/util-user-agent-browser/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/config-resolver/dist/es/EndpointsConfig.js","webpack://_N_E/./node_modules/@aws-sdk/config-resolver/dist/es/RegionConfig.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-content-length/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-host-header/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-logger/dist/es/loggerMiddleware.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/constants.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/credentialDerivation.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/getCanonicalHeaders.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/getPayloadHash.js","webpack://_N_E/./node_modules/@aws-sdk/is-array-buffer/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/cloneRequest.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/prepareRequest.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/utilDate.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/SignatureV4.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/moveHeadersToQuery.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/hasHeader.js","webpack://_N_E/./node_modules/@aws-sdk/signature-v4/dist/es/getCanonicalQuery.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-signing/dist/es/configurations.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-user-agent/dist/es/constants.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-user-agent/dist/es/user-agent-middleware.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/CognitoIdentityClient.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-user-agent/dist/es/configurations.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/commands/GetCredentialsForIdentityCommand.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/commands/GetIdCommand.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/models/models_0.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/dist/es/protocols/Aws_json1_1.js","webpack://_N_E/./node_modules/@aws-sdk/client-cognito-identity/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/fromCognitoIdentity.js","webpack://_N_E/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/IndexedDbStorage.js","webpack://_N_E/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/localStorage.js","webpack://_N_E/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/InMemoryStorage.js","webpack://_N_E/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/fromCognitoIdentityPool.js","webpack://_N_E/./node_modules/@aws-sdk/credential-provider-cognito-identity/dist/es/resolveLogins.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-serde/dist/es/serdePlugin.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-serde/dist/es/deserializerMiddleware.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-serde/dist/es/serializerMiddleware.js","webpack://_N_E/./node_modules/@aws-sdk/property-provider/dist/es/ProviderError.js","webpack://_N_E/./node_modules/@aws-sdk/protocol-http/dist/es/httpResponse.js","webpack://_N_E/./node_modules/@aws-sdk/protocol-http/dist/es/httpRequest.js","webpack://_N_E/./node_modules/@aws-sdk/middleware-stack/dist/es/MiddlewareStack.js","webpack://_N_E/./node_modules/@aws-sdk/smithy-client/dist/es/client.js","webpack://_N_E/./node_modules/@aws-sdk/smithy-client/dist/es/command.js","webpack://_N_E/./node_modules/@aws-sdk/smithy-client/dist/es/lazy-json.js","webpack://_N_E/./node_modules/@aws-sdk/util-hex-encoding/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/util-locate-window/dist-es/index.js","webpack://_N_E/./node_modules/@aws-sdk/util-utf8-browser/dist/es/index.js","webpack://_N_E/./node_modules/@aws-sdk/util-utf8-browser/dist/es/whatwgEncodingApi.js","webpack://_N_E/./node_modules/@aws-sdk/util-utf8-browser/dist/es/pureJs.js","webpack://_N_E/./node_modules/@ctrl/tinycolor/dist/module/conversion.js","webpack://_N_E/./node_modules/@ctrl/tinycolor/dist/module/css-color-names.js","webpack://_N_E/./node_modules/@ctrl/tinycolor/dist/module/format-input.js","webpack://_N_E/./node_modules/@ctrl/tinycolor/dist/module/index.js","webpack://_N_E/./node_modules/@ctrl/tinycolor/dist/module/util.js","webpack://_N_E/./node_modules/@emotion/unitless/dist/unitless.browser.esm.js","webpack://_N_E/./node_modules/@rc-component/portal/es/Context.js","webpack://_N_E/./node_modules/@rc-component/portal/es/useDom.js","webpack://_N_E/./node_modules/@rc-component/portal/es/useScrollLocker.js","webpack://_N_E/./node_modules/@rc-component/portal/es/util.js","webpack://_N_E/./node_modules/@rc-component/portal/es/mock.js","webpack://_N_E/./node_modules/@rc-component/portal/es/Portal.js","webpack://_N_E/./node_modules/@rc-component/portal/es/index.js","webpack://_N_E/./node_modules/immer/dist/immer.esm.mjs","webpack://_N_E/./node_modules/redux/es/redux.js","webpack://_N_E/./node_modules/redux-thunk/es/index.js","webpack://_N_E/./node_modules/@reduxjs/toolkit/dist/redux-toolkit.esm.js","webpack://_N_E/./node_modules/@sentry/utils/esm/node.js","webpack://_N_E/./node_modules/@sentry/utils/esm/env.js","webpack://_N_E/./node_modules/@sentry/utils/esm/time.js","webpack://_N_E/./node_modules/@sentry/utils/esm/worldwide.js","webpack://_N_E/./node_modules/antd/es/_util/colors.js","webpack://_N_E/./node_modules/antd/es/_util/hooks/useFlexGapSupport.js","webpack://_N_E/./node_modules/antd/es/_util/motion.js","webpack://_N_E/./node_modules/antd/es/_util/placements.js","webpack://_N_E/./node_modules/antd/es/_util/reactNode.js","webpack://_N_E/./node_modules/antd/es/_util/responsiveObserve.js","webpack://_N_E/./node_modules/antd/es/_util/statusUtils.js","webpack://_N_E/./node_modules/antd/es/_util/styleChecker.js","webpack://_N_E/./node_modules/antd/es/_util/type.js","webpack://_N_E/./node_modules/antd/es/_util/raf.js","webpack://_N_E/./node_modules/antd/es/_util/wave/index.js","webpack://_N_E/./node_modules/antd/es/_util/wave/style.js","webpack://_N_E/./node_modules/antd/es/button/button-group.js","webpack://_N_E/./node_modules/antd/es/button/LoadingIcon.js","webpack://_N_E/./node_modules/antd/es/button/style/group.js","webpack://_N_E/./node_modules/antd/es/style/compact-item-vertical.js","webpack://_N_E/./node_modules/antd/es/button/style/index.js","webpack://_N_E/./node_modules/antd/es/button/button.js","webpack://_N_E/./node_modules/antd/es/button/index.js","webpack://_N_E/./node_modules/antd/es/config-provider/DisabledContext.js","webpack://_N_E/./node_modules/antd/es/config-provider/SizeContext.js","webpack://_N_E/./node_modules/antd/es/config-provider/context.js","webpack://_N_E/./node_modules/antd/es/locale-provider/index.js","webpack://_N_E/./node_modules/antd/es/config-provider/cssVariables.js","webpack://_N_E/./node_modules/antd/es/config-provider/index.js","webpack://_N_E/./node_modules/antd/es/config-provider/style/index.js","webpack://_N_E/./node_modules/antd/es/config-provider/hooks/useTheme.js","webpack://_N_E/./node_modules/antd/es/divider/style/index.js","webpack://_N_E/./node_modules/antd/es/divider/index.js","webpack://_N_E/./node_modules/antd/es/form/context.js","webpack://_N_E/./node_modules/antd/es/form/hooks/useDebounce.js","webpack://_N_E/./node_modules/antd/es/form/style/explain.js","webpack://_N_E/./node_modules/antd/es/form/style/index.js","webpack://_N_E/./node_modules/antd/es/form/ErrorList.js","webpack://_N_E/./node_modules/compute-scroll-into-view/dist/index.mjs","webpack://_N_E/./node_modules/scroll-into-view-if-needed/es/index.js","webpack://_N_E/./node_modules/antd/es/form/util.js","webpack://_N_E/./node_modules/antd/es/form/hooks/useForm.js","webpack://_N_E/./node_modules/antd/es/form/Form.js","webpack://_N_E/./node_modules/antd/es/form/hooks/useFormItemStatus.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/QuestionCircleOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/QuestionCircleOutlined.js","webpack://_N_E/./node_modules/antd/es/form/FormItemLabel.js","webpack://_N_E/./node_modules/antd/es/form/FormItemInput.js","webpack://_N_E/./node_modules/antd/es/form/FormItem/ItemHolder.js","webpack://_N_E/./node_modules/antd/es/form/FormItem/index.js","webpack://_N_E/./node_modules/antd/es/form/hooks/useFrameState.js","webpack://_N_E/./node_modules/antd/es/form/hooks/useItemRef.js","webpack://_N_E/./node_modules/antd/es/form/FormList.js","webpack://_N_E/./node_modules/antd/es/form/index.js","webpack://_N_E/./node_modules/antd/es/form/hooks/useFormInstance.js","webpack://_N_E/./node_modules/antd/es/grid/RowContext.js","webpack://_N_E/./node_modules/antd/es/grid/col.js","webpack://_N_E/./node_modules/antd/es/grid/row.js","webpack://_N_E/./node_modules/antd/es/grid/style/index.js","webpack://_N_E/./node_modules/rc-input/es/utils/commonUtils.js","webpack://_N_E/./node_modules/rc-input/es/BaseInput.js","webpack://_N_E/./node_modules/rc-input/es/Input.js","webpack://_N_E/./node_modules/rc-input/es/index.js","webpack://_N_E/./node_modules/antd/es/input/Input.js","webpack://_N_E/./node_modules/antd/es/input/utils.js","webpack://_N_E/./node_modules/rc-textarea/es/calculateNodeHeight.js","webpack://_N_E/./node_modules/rc-textarea/es/ResizableTextArea.js","webpack://_N_E/./node_modules/rc-textarea/es/index.js","webpack://_N_E/./node_modules/antd/es/input/ClearableLabeledInput.js","webpack://_N_E/./node_modules/antd/es/input/TextArea.js","webpack://_N_E/./node_modules/antd/es/input/hooks/useRemovePasswordTimeout.js","webpack://_N_E/./node_modules/antd/es/input/Group.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/EyeInvisibleOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/EyeInvisibleOutlined.js","webpack://_N_E/./node_modules/antd/es/input/Password.js","webpack://_N_E/./node_modules/antd/es/input/Search.js","webpack://_N_E/./node_modules/antd/es/input/index.js","webpack://_N_E/./node_modules/antd/es/input/style/index.js","webpack://_N_E/./node_modules/antd/es/locale-provider/LocaleReceiver.js","webpack://_N_E/./node_modules/antd/es/locale-provider/context.js","webpack://_N_E/./node_modules/rc-picker/es/locale/en_US.js","webpack://_N_E/./node_modules/antd/es/time-picker/locale/en_US.js","webpack://_N_E/./node_modules/antd/es/date-picker/locale/en_US.js","webpack://_N_E/./node_modules/antd/es/calendar/locale/en_US.js","webpack://_N_E/./node_modules/antd/es/locale/en_US.js","webpack://_N_E/./node_modules/rc-notification/es/Notice.js","webpack://_N_E/./node_modules/rc-notification/es/Notifications.js","webpack://_N_E/./node_modules/rc-notification/es/useNotification.js","webpack://_N_E/./node_modules/antd/es/message/style/index.js","webpack://_N_E/./node_modules/antd/es/message/PurePanel.js","webpack://_N_E/./node_modules/antd/es/message/util.js","webpack://_N_E/./node_modules/antd/es/message/useMessage.js","webpack://_N_E/./node_modules/antd/es/message/index.js","webpack://_N_E/./node_modules/antd/es/_util/ActionButton.js","webpack://_N_E/./node_modules/rc-util/es/hooks/useId.js","webpack://_N_E/./node_modules/rc-dialog/es/Dialog/Mask.js","webpack://_N_E/./node_modules/rc-dialog/es/util.js","webpack://_N_E/./node_modules/rc-dialog/es/Dialog/Content/MemoChildren.js","webpack://_N_E/./node_modules/rc-dialog/es/Dialog/Content/Panel.js","webpack://_N_E/./node_modules/rc-dialog/es/Dialog/Content/index.js","webpack://_N_E/./node_modules/rc-dialog/es/Dialog/index.js","webpack://_N_E/./node_modules/rc-dialog/es/DialogWrap.js","webpack://_N_E/./node_modules/rc-dialog/es/index.js","webpack://_N_E/./node_modules/antd/es/style/motion/fade.js","webpack://_N_E/./node_modules/antd/es/modal/style/index.js","webpack://_N_E/./node_modules/antd/es/modal/PurePanel.js","webpack://_N_E/./node_modules/antd/es/modal/Modal.js","webpack://_N_E/./node_modules/antd/es/modal/ConfirmDialog.js","webpack://_N_E/./node_modules/antd/es/modal/destroyFns.js","webpack://_N_E/./node_modules/antd/es/modal/confirm.js","webpack://_N_E/./node_modules/antd/es/modal/useModal/HookModal.js","webpack://_N_E/./node_modules/antd/es/modal/useModal/index.js","webpack://_N_E/./node_modules/antd/es/_util/hooks/usePatchElement.js","webpack://_N_E/./node_modules/antd/es/modal/index.js","webpack://_N_E/./node_modules/antd/es/modal/locale.js","webpack://_N_E/./node_modules/antd/es/_util/getRenderPropValue.js","webpack://_N_E/./node_modules/antd/es/popover/style/index.js","webpack://_N_E/./node_modules/antd/es/popover/PurePanel.js","webpack://_N_E/./node_modules/antd/es/popover/index.js","webpack://_N_E/./node_modules/antd/es/row/index.js","webpack://_N_E/./node_modules/antd/es/space/Compact.js","webpack://_N_E/./node_modules/antd/es/space/style/compact.js","webpack://_N_E/./node_modules/antd/es/space/style/index.js","webpack://_N_E/./node_modules/antd/es/style/compact-item.js","webpack://_N_E/./node_modules/antd/es/style/index.js","webpack://_N_E/./node_modules/antd/es/style/motion/collapse.js","webpack://_N_E/./node_modules/antd/es/style/motion/motion.js","webpack://_N_E/./node_modules/antd/es/style/motion/zoom.js","webpack://_N_E/./node_modules/antd/es/style/operationUnit.js","webpack://_N_E/./node_modules/antd/es/style/placementArrow.js","webpack://_N_E/./node_modules/antd/es/style/roundedArrow.js","webpack://_N_E/./node_modules/antd/es/theme/interface/presetColors.js","webpack://_N_E/./node_modules/antd/es/theme/themes/shared/genControlHeight.js","webpack://_N_E/./node_modules/antd/es/theme/themes/shared/genRadius.js","webpack://_N_E/./node_modules/antd/es/theme/themes/shared/genCommonMapToken.js","webpack://_N_E/./node_modules/antd/es/theme/themes/shared/genFontSizes.js","webpack://_N_E/./node_modules/antd/es/theme/themes/default/colorAlgorithm.js","webpack://_N_E/./node_modules/antd/es/theme/themes/default/colors.js","webpack://_N_E/./node_modules/antd/es/theme/util/getAlphaColor.js","webpack://_N_E/./node_modules/antd/es/theme/util/alias.js","webpack://_N_E/./node_modules/antd/es/theme/internal.js","webpack://_N_E/./node_modules/antd/es/theme/themes/default/index.js","webpack://_N_E/./node_modules/antd/es/theme/themes/shared/genColorMapToken.js","webpack://_N_E/./node_modules/antd/es/theme/themes/shared/genSizeMapToken.js","webpack://_N_E/./node_modules/antd/es/theme/themes/seed.js","webpack://_N_E/./node_modules/antd/es/theme/util/genComponentStyleHook.js","webpack://_N_E/./node_modules/antd/es/theme/util/statistic.js","webpack://_N_E/./node_modules/antd/es/tooltip/style/index.js","webpack://_N_E/./node_modules/antd/es/tooltip/util.js","webpack://_N_E/./node_modules/antd/es/tooltip/index.js","webpack://_N_E/./node_modules/antd/es/tooltip/PurePanel.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/CopyOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/CopyOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/EditOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/EditOutlined.js","webpack://_N_E/./node_modules/antd/es/_util/transButton.js","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/EnterOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/EnterOutlined.js","webpack://_N_E/./node_modules/antd/es/typography/style/index.js","webpack://_N_E/./node_modules/antd/es/typography/style/mixins.js","webpack://_N_E/./node_modules/antd/es/typography/Editable.js","webpack://_N_E/./node_modules/antd/es/typography/hooks/useMergedConfig.js","webpack://_N_E/./node_modules/antd/es/typography/hooks/useUpdatedEffect.js","webpack://_N_E/./node_modules/antd/es/typography/Typography.js","webpack://_N_E/./node_modules/antd/es/typography/Base/Ellipsis.js","webpack://_N_E/./node_modules/antd/es/typography/Base/EllipsisTooltip.js","webpack://_N_E/./node_modules/antd/es/typography/Base/index.js","webpack://_N_E/./node_modules/antd/es/typography/Link.js","webpack://_N_E/./node_modules/antd/es/typography/Paragraph.js","webpack://_N_E/./node_modules/antd/es/typography/Text.js","webpack://_N_E/./node_modules/antd/es/typography/Title.js","webpack://_N_E/./node_modules/antd/es/typography/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/types/Auth.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/UniversalStorage/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/utils/cryptoSecureRandomInt.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/AuthenticationDetails.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/utils/WordArray.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/BigInteger.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoJwtToken.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoAccessToken.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoIdToken.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoRefreshToken.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoUserSession.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/DateHelper.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoUserAttribute.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/StorageHelper.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoUser.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/Platform/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/UserAgent.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/Client.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CognitoUserPool.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/common/AuthErrorStrings.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/amazon-cognito-identity-js/es/CookieStorage.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/OAuth/urlOpener.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/OAuth/OAuth.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Util/StringUtils.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/OAuth/oauthStorage.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/Errors.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/Auth.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/auth/lib-esm/urlListener.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Amplify.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Util/Retry.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/OAuthHelper/GoogleOAuth.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/OAuthHelper/FacebookOAuth.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/OAuthHelper/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Credentials.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Hub.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/JS.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Logger/ConsoleLogger.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Util/Constants.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Platform/version.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Platform/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/StorageHelper/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/parseAWSExports.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/adapters/xhr.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/axios.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/cancel/Cancel.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/cancel/CancelToken.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/cancel/isCancel.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/Axios.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/InterceptorManager.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/buildFullPath.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/createError.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/dispatchRequest.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/enhanceError.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/mergeConfig.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/settle.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/core/transformData.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/defaults.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/env/data.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/bind.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/buildURL.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/combineURLs.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/cookies.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/isAxiosError.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/normalizeHeaderName.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/parseHeaders.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/spread.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/helpers/validator.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/axios/lib/utils.js","webpack://_N_E/./node_modules/axios/node_modules/form-data/lib/browser.js","webpack://_N_E/./node_modules/base64-js/index.js","webpack://_N_E/./node_modules/bowser/es5.js","webpack://_N_E/./node_modules/buffer/index.js","webpack://_N_E/./node_modules/charenc/charenc.js","webpack://_N_E/./node_modules/classnames/index.js","webpack://_N_E/./node_modules/cookie/index.js","webpack://_N_E/./node_modules/copy-to-clipboard/index.js","webpack://_N_E/./node_modules/core-js-pure/es/array/virtual/concat.js","webpack://_N_E/./node_modules/core-js-pure/es/array/virtual/filter.js","webpack://_N_E/./node_modules/core-js-pure/es/array/virtual/map.js","webpack://_N_E/./node_modules/core-js-pure/es/array/virtual/reduce.js","webpack://_N_E/./node_modules/core-js-pure/es/array/virtual/slice.js","webpack://_N_E/./node_modules/core-js-pure/es/instance/concat.js","webpack://_N_E/./node_modules/core-js-pure/es/instance/filter.js","webpack://_N_E/./node_modules/core-js-pure/es/instance/map.js","webpack://_N_E/./node_modules/core-js-pure/es/instance/reduce.js","webpack://_N_E/./node_modules/core-js-pure/es/instance/slice.js","webpack://_N_E/./node_modules/core-js-pure/es/json/stringify.js","webpack://_N_E/./node_modules/core-js-pure/es/object/assign.js","webpack://_N_E/./node_modules/core-js-pure/es/object/define-properties.js","webpack://_N_E/./node_modules/core-js-pure/es/object/define-property.js","webpack://_N_E/./node_modules/core-js-pure/es/object/get-own-property-descriptor.js","webpack://_N_E/./node_modules/core-js-pure/es/object/get-own-property-descriptors.js","webpack://_N_E/./node_modules/core-js-pure/es/object/get-own-property-symbols.js","webpack://_N_E/./node_modules/core-js-pure/es/object/keys.js","webpack://_N_E/./node_modules/core-js-pure/es/parse-float.js","webpack://_N_E/./node_modules/core-js-pure/es/reflect/construct.js","webpack://_N_E/./node_modules/core-js-pure/internals/a-callable.js","webpack://_N_E/./node_modules/core-js-pure/internals/a-constructor.js","webpack://_N_E/./node_modules/core-js-pure/internals/an-object.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-includes.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-iteration.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-method-has-species-support.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-method-is-strict.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-reduce.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-slice-simple.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-slice.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-species-constructor.js","webpack://_N_E/./node_modules/core-js-pure/internals/array-species-create.js","webpack://_N_E/./node_modules/core-js-pure/internals/classof-raw.js","webpack://_N_E/./node_modules/core-js-pure/internals/classof.js","webpack://_N_E/./node_modules/core-js-pure/internals/create-non-enumerable-property.js","webpack://_N_E/./node_modules/core-js-pure/internals/create-property-descriptor.js","webpack://_N_E/./node_modules/core-js-pure/internals/create-property.js","webpack://_N_E/./node_modules/core-js-pure/internals/define-built-in.js","webpack://_N_E/./node_modules/core-js-pure/internals/define-global-property.js","webpack://_N_E/./node_modules/core-js-pure/internals/descriptors.js","webpack://_N_E/./node_modules/core-js-pure/internals/document-all.js","webpack://_N_E/./node_modules/core-js-pure/internals/document-create-element.js","webpack://_N_E/./node_modules/core-js-pure/internals/does-not-exceed-safe-integer.js","webpack://_N_E/./node_modules/core-js-pure/internals/engine-is-node.js","webpack://_N_E/./node_modules/core-js-pure/internals/engine-user-agent.js","webpack://_N_E/./node_modules/core-js-pure/internals/engine-v8-version.js","webpack://_N_E/./node_modules/core-js-pure/internals/entry-virtual.js","webpack://_N_E/./node_modules/core-js-pure/internals/enum-bug-keys.js","webpack://_N_E/./node_modules/core-js-pure/internals/export.js","webpack://_N_E/./node_modules/core-js-pure/internals/fails.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-apply.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-bind-context.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-bind-native.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-bind.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-call.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-uncurry-this-clause.js","webpack://_N_E/./node_modules/core-js-pure/internals/function-uncurry-this.js","webpack://_N_E/./node_modules/core-js-pure/internals/get-built-in.js","webpack://_N_E/./node_modules/core-js-pure/internals/get-method.js","webpack://_N_E/./node_modules/core-js-pure/internals/global.js","webpack://_N_E/./node_modules/core-js-pure/internals/has-own-property.js","webpack://_N_E/./node_modules/core-js-pure/internals/hidden-keys.js","webpack://_N_E/./node_modules/core-js-pure/internals/html.js","webpack://_N_E/./node_modules/core-js-pure/internals/ie8-dom-define.js","webpack://_N_E/./node_modules/core-js-pure/internals/indexed-object.js","webpack://_N_E/./node_modules/core-js-pure/internals/inspect-source.js","webpack://_N_E/./node_modules/core-js-pure/internals/internal-state.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-array.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-callable.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-constructor.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-forced.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-null-or-undefined.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-object.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-pure.js","webpack://_N_E/./node_modules/core-js-pure/internals/is-symbol.js","webpack://_N_E/./node_modules/core-js-pure/internals/length-of-array-like.js","webpack://_N_E/./node_modules/core-js-pure/internals/math-trunc.js","webpack://_N_E/./node_modules/core-js-pure/internals/number-parse-float.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-assign.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-create.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-define-properties.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-define-property.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-get-own-property-descriptor.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-get-own-property-names-external.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-get-own-property-names.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-get-own-property-symbols.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-is-prototype-of.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-keys-internal.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-keys.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-property-is-enumerable.js","webpack://_N_E/./node_modules/core-js-pure/internals/object-to-string.js","webpack://_N_E/./node_modules/core-js-pure/internals/ordinary-to-primitive.js","webpack://_N_E/./node_modules/core-js-pure/internals/own-keys.js","webpack://_N_E/./node_modules/core-js-pure/internals/path.js","webpack://_N_E/./node_modules/core-js-pure/internals/require-object-coercible.js","webpack://_N_E/./node_modules/core-js-pure/internals/set-to-string-tag.js","webpack://_N_E/./node_modules/core-js-pure/internals/shared-key.js","webpack://_N_E/./node_modules/core-js-pure/internals/shared-store.js","webpack://_N_E/./node_modules/core-js-pure/internals/shared.js","webpack://_N_E/./node_modules/core-js-pure/internals/string-trim.js","webpack://_N_E/./node_modules/core-js-pure/internals/symbol-constructor-detection.js","webpack://_N_E/./node_modules/core-js-pure/internals/symbol-define-to-primitive.js","webpack://_N_E/./node_modules/core-js-pure/internals/symbol-registry-detection.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-absolute-index.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-indexed-object.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-integer-or-infinity.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-length.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-object.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-primitive.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-property-key.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-string-tag-support.js","webpack://_N_E/./node_modules/core-js-pure/internals/to-string.js","webpack://_N_E/./node_modules/core-js-pure/internals/try-to-string.js","webpack://_N_E/./node_modules/core-js-pure/internals/uid.js","webpack://_N_E/./node_modules/core-js-pure/internals/use-symbol-as-uid.js","webpack://_N_E/./node_modules/core-js-pure/internals/v8-prototype-define-bug.js","webpack://_N_E/./node_modules/core-js-pure/internals/weak-map-basic-detection.js","webpack://_N_E/./node_modules/core-js-pure/internals/well-known-symbol-define.js","webpack://_N_E/./node_modules/core-js-pure/internals/well-known-symbol-wrapped.js","webpack://_N_E/./node_modules/core-js-pure/internals/well-known-symbol.js","webpack://_N_E/./node_modules/core-js-pure/internals/whitespaces.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.array.concat.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.array.filter.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.array.map.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.array.reduce.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.array.slice.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.json.stringify.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.assign.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.define-properties.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.define-property.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.get-own-property-descriptor.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.get-own-property-descriptors.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.get-own-property-symbols.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.object.keys.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.parse-float.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.reflect.construct.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.symbol.constructor.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.symbol.for.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.symbol.js","webpack://_N_E/./node_modules/core-js-pure/modules/es.symbol.key-for.js","webpack://_N_E/./node_modules/core-js-pure/stable/instance/concat.js","webpack://_N_E/./node_modules/core-js-pure/stable/instance/filter.js","webpack://_N_E/./node_modules/core-js-pure/stable/instance/map.js","webpack://_N_E/./node_modules/core-js-pure/stable/instance/reduce.js","webpack://_N_E/./node_modules/core-js-pure/stable/instance/slice.js","webpack://_N_E/./node_modules/core-js-pure/stable/json/stringify.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/assign.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/define-properties.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/define-property.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/get-own-property-descriptor.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/get-own-property-descriptors.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/get-own-property-symbols.js","webpack://_N_E/./node_modules/core-js-pure/stable/object/keys.js","webpack://_N_E/./node_modules/core-js-pure/stable/parse-float.js","webpack://_N_E/./node_modules/core-js-pure/stable/reflect/construct.js","webpack://_N_E/./node_modules/crypt/crypt.js","webpack://_N_E/./node_modules/dayjs/dayjs.min.js","webpack://_N_E/./node_modules/hoist-non-react-statics/dist/hoist-non-react-statics.cjs.js","webpack://_N_E/./node_modules/hoist-non-react-statics/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/hoist-non-react-statics/node_modules/react-is/index.js","webpack://_N_E/./node_modules/ieee754/index.js","webpack://_N_E/./node_modules/is-retina/index.js","webpack://_N_E/./node_modules/isarray/index.js","webpack://_N_E/./node_modules/js-cookie/src/js.cookie.js","webpack://_N_E/./node_modules/lodash/_DataView.js","webpack://_N_E/./node_modules/lodash/_Hash.js","webpack://_N_E/./node_modules/lodash/_ListCache.js","webpack://_N_E/./node_modules/lodash/_Map.js","webpack://_N_E/./node_modules/lodash/_MapCache.js","webpack://_N_E/./node_modules/lodash/_Promise.js","webpack://_N_E/./node_modules/lodash/_Set.js","webpack://_N_E/./node_modules/lodash/_SetCache.js","webpack://_N_E/./node_modules/lodash/_Stack.js","webpack://_N_E/./node_modules/lodash/_Symbol.js","webpack://_N_E/./node_modules/lodash/_Uint8Array.js","webpack://_N_E/./node_modules/lodash/_WeakMap.js","webpack://_N_E/./node_modules/lodash/_arrayFilter.js","webpack://_N_E/./node_modules/lodash/_arrayLikeKeys.js","webpack://_N_E/./node_modules/lodash/_arrayPush.js","webpack://_N_E/./node_modules/lodash/_arraySome.js","webpack://_N_E/./node_modules/lodash/_assocIndexOf.js","webpack://_N_E/./node_modules/lodash/_baseGetAllKeys.js","webpack://_N_E/./node_modules/lodash/_baseGetTag.js","webpack://_N_E/./node_modules/lodash/_baseIsArguments.js","webpack://_N_E/./node_modules/lodash/_baseIsEqual.js","webpack://_N_E/./node_modules/lodash/_baseIsEqualDeep.js","webpack://_N_E/./node_modules/lodash/_baseIsNative.js","webpack://_N_E/./node_modules/lodash/_baseIsTypedArray.js","webpack://_N_E/./node_modules/lodash/_baseKeys.js","webpack://_N_E/./node_modules/lodash/_baseTimes.js","webpack://_N_E/./node_modules/lodash/_baseUnary.js","webpack://_N_E/./node_modules/lodash/_cacheHas.js","webpack://_N_E/./node_modules/lodash/_coreJsData.js","webpack://_N_E/./node_modules/lodash/_equalArrays.js","webpack://_N_E/./node_modules/lodash/_equalByTag.js","webpack://_N_E/./node_modules/lodash/_equalObjects.js","webpack://_N_E/./node_modules/lodash/_freeGlobal.js","webpack://_N_E/./node_modules/lodash/_getAllKeys.js","webpack://_N_E/./node_modules/lodash/_getMapData.js","webpack://_N_E/./node_modules/lodash/_getNative.js","webpack://_N_E/./node_modules/lodash/_getRawTag.js","webpack://_N_E/./node_modules/lodash/_getSymbols.js","webpack://_N_E/./node_modules/lodash/_getTag.js","webpack://_N_E/./node_modules/lodash/_getValue.js","webpack://_N_E/./node_modules/lodash/_hashClear.js","webpack://_N_E/./node_modules/lodash/_hashDelete.js","webpack://_N_E/./node_modules/lodash/_hashGet.js","webpack://_N_E/./node_modules/lodash/_hashHas.js","webpack://_N_E/./node_modules/lodash/_hashSet.js","webpack://_N_E/./node_modules/lodash/_isIndex.js","webpack://_N_E/./node_modules/lodash/_isKeyable.js","webpack://_N_E/./node_modules/lodash/_isMasked.js","webpack://_N_E/./node_modules/lodash/_isPrototype.js","webpack://_N_E/./node_modules/lodash/_listCacheClear.js","webpack://_N_E/./node_modules/lodash/_listCacheDelete.js","webpack://_N_E/./node_modules/lodash/_listCacheGet.js","webpack://_N_E/./node_modules/lodash/_listCacheHas.js","webpack://_N_E/./node_modules/lodash/_listCacheSet.js","webpack://_N_E/./node_modules/lodash/_mapCacheClear.js","webpack://_N_E/./node_modules/lodash/_mapCacheDelete.js","webpack://_N_E/./node_modules/lodash/_mapCacheGet.js","webpack://_N_E/./node_modules/lodash/_mapCacheHas.js","webpack://_N_E/./node_modules/lodash/_mapCacheSet.js","webpack://_N_E/./node_modules/lodash/_mapToArray.js","webpack://_N_E/./node_modules/lodash/_nativeCreate.js","webpack://_N_E/./node_modules/lodash/_nativeKeys.js","webpack://_N_E/./node_modules/lodash/_nodeUtil.js","webpack://_N_E/./node_modules/lodash/_objectToString.js","webpack://_N_E/./node_modules/lodash/_overArg.js","webpack://_N_E/./node_modules/lodash/_root.js","webpack://_N_E/./node_modules/lodash/_setCacheAdd.js","webpack://_N_E/./node_modules/lodash/_setCacheHas.js","webpack://_N_E/./node_modules/lodash/_setToArray.js","webpack://_N_E/./node_modules/lodash/_stackClear.js","webpack://_N_E/./node_modules/lodash/_stackDelete.js","webpack://_N_E/./node_modules/lodash/_stackGet.js","webpack://_N_E/./node_modules/lodash/_stackHas.js","webpack://_N_E/./node_modules/lodash/_stackSet.js","webpack://_N_E/./node_modules/lodash/_toSource.js","webpack://_N_E/./node_modules/lodash/eq.js","webpack://_N_E/./node_modules/lodash/isArguments.js","webpack://_N_E/./node_modules/lodash/isArray.js","webpack://_N_E/./node_modules/lodash/isArrayLike.js","webpack://_N_E/./node_modules/lodash/isBuffer.js","webpack://_N_E/./node_modules/lodash/isEqual.js","webpack://_N_E/./node_modules/lodash/isFunction.js","webpack://_N_E/./node_modules/lodash/isLength.js","webpack://_N_E/./node_modules/lodash/isObject.js","webpack://_N_E/./node_modules/lodash/isObjectLike.js","webpack://_N_E/./node_modules/lodash/isTypedArray.js","webpack://_N_E/./node_modules/lodash/keys.js","webpack://_N_E/./node_modules/lodash/stubArray.js","webpack://_N_E/./node_modules/lodash/stubFalse.js","webpack://_N_E/./node_modules/md5/md5.js","webpack://_N_E/./node_modules/md5/node_modules/is-buffer/index.js","webpack://_N_E/./node_modules/next/dist/build/polyfills/fetch/index.js","webpack://_N_E/?adc8","webpack://_N_E/./src/svg/EverysetBlue.png","webpack://_N_E/./node_modules/next/dist/client/get-domain-locale.js","webpack://_N_E/./node_modules/next/dist/client/link.js","webpack://_N_E/./node_modules/next/dist/client/use-intersection.js","webpack://_N_E/./node_modules/next/dist/shared/lib/app-router-context.js","webpack://_N_E/./src/assets/icons/AttachmentIcon.tsx","webpack://_N_E/./src/assets/icons/Checkmark.tsx","webpack://_N_E/./src/assets/icons/Chevron.tsx","webpack://_N_E/./src/assets/icons/Close.tsx","webpack://_N_E/./src/assets/icons/GoogleLogo.tsx","webpack://_N_E/./src/assets/icons/HamburgerMenu.tsx","webpack://_N_E/./src/assets/icons/MessageCross.tsx","webpack://_N_E/./src/assets/icons/PlusIcon.tsx","webpack://_N_E/./src/assets/icons/UploadIcon.tsx","webpack://_N_E/./src/assets/icons/PictureUploadArrow.tsx","webpack://_N_E/./src/assets/img/EverysetLogo.tsx","webpack://_N_E/./src/assets/img/SaaSLogo.tsx","webpack://_N_E/./src/assets/img/EverysetIcon.tsx","webpack://_N_E/./src/components/Button/Button.tsx","webpack://_N_E/./src/components/Form/Form.tsx","webpack://_N_E/./src/components/Input/Input.tsx","webpack://_N_E/./node_modules/@ant-design/icons-svg/es/asn/UpOutlined.js","webpack://_N_E/./node_modules/@ant-design/icons/es/icons/UpOutlined.js","webpack://_N_E/./node_modules/rc-input-number/es/utils/supportUtil.js","webpack://_N_E/./node_modules/rc-input-number/es/utils/numberUtil.js","webpack://_N_E/./node_modules/rc-input-number/es/utils/MiniDecimal.js","webpack://_N_E/./node_modules/rc-input-number/es/StepHandler.js","webpack://_N_E/./node_modules/rc-input-number/es/InputNumber.js","webpack://_N_E/./node_modules/rc-input-number/es/hooks/useCursor.js","webpack://_N_E/./node_modules/rc-input-number/es/hooks/useFrame.js","webpack://_N_E/./node_modules/rc-input-number/es/index.js","webpack://_N_E/./node_modules/antd/es/input-number/style/index.js","webpack://_N_E/./node_modules/antd/es/input-number/index.js","webpack://_N_E/./src/components/Input/NumericInput.tsx","webpack://_N_E/./src/components/Input/PasswordInput.tsx","webpack://_N_E/./src/components/Input/TextArea.tsx","webpack://_N_E/./src/components/Label/Label.tsx","webpack://_N_E/./src/lib/api/endpoints/projects/query.ts","webpack://_N_E/./src/context/ClientEnvironmentContext/ClientEnvironmentContext.tsx","webpack://_N_E/./src/context/SidebarContext.tsx","webpack://_N_E/./src/context/onboarding/OnboardingStateContext.tsx","webpack://_N_E/./src/hooks/shared/useUserVehicles/useUserVehicles.ts","webpack://_N_E/./src/layouts/components/Header/Profile.tsx","webpack://_N_E/./src/layouts/components/Header/Header.tsx","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/@aws-amplify/cache/node_modules/@aws-amplify/core/lib-esm/Logger/ConsoleLogger.js","webpack://_N_E/./node_modules/@aws-amplify/cache/node_modules/@aws-amplify/core/lib-esm/Util/Constants.js","webpack://_N_E/./node_modules/@aws-amplify/cache/node_modules/@aws-amplify/core/lib-esm/Amplify.js","webpack://_N_E/./node_modules/@aws-amplify/cache/node_modules/@aws-amplify/core/lib-esm/StorageHelper/index.js","webpack://_N_E/./node_modules/@aws-amplify/cache/lib-esm/Utils/CacheUtils.js","webpack://_N_E/./node_modules/@aws-amplify/cache/lib-esm/StorageCache.js","webpack://_N_E/./node_modules/@aws-amplify/cache/lib-esm/BrowserStorageCache.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api-rest/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Util/DateUtils.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/Signer.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api-rest/lib-esm/RestClient.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api-rest/lib-esm/RestAPI.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api-graphql/node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/graphql/jsutils/isObjectLike.mjs","webpack://_N_E/./node_modules/graphql/polyfills/symbols.mjs","webpack://_N_E/./node_modules/graphql/language/location.mjs","webpack://_N_E/./node_modules/graphql/language/printLocation.mjs","webpack://_N_E/./node_modules/graphql/error/GraphQLError.mjs","webpack://_N_E/./node_modules/graphql/error/syntaxError.mjs","webpack://_N_E/./node_modules/graphql/language/kinds.mjs","webpack://_N_E/./node_modules/graphql/jsutils/nodejsCustomInspectSymbol.mjs","webpack://_N_E/./node_modules/graphql/jsutils/defineInspect.mjs","webpack://_N_E/./node_modules/graphql/jsutils/invariant.mjs","webpack://_N_E/./node_modules/graphql/language/ast.mjs","webpack://_N_E/./node_modules/graphql/language/tokenKind.mjs","webpack://_N_E/./node_modules/graphql/jsutils/inspect.mjs","webpack://_N_E/./node_modules/graphql/jsutils/devAssert.mjs","webpack://_N_E/./node_modules/graphql/jsutils/instanceOf.mjs","webpack://_N_E/./node_modules/graphql/language/source.mjs","webpack://_N_E/./node_modules/graphql/language/directiveLocation.mjs","webpack://_N_E/./node_modules/graphql/language/blockString.mjs","webpack://_N_E/./node_modules/graphql/language/lexer.mjs","webpack://_N_E/./node_modules/graphql/language/parser.mjs","webpack://_N_E/./node_modules/graphql/language/visitor.mjs","webpack://_N_E/./node_modules/graphql/language/printer.mjs","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/core/lib-esm/constants.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Logger/ConsoleLogger.js","webpack://_N_E/./node_modules/zen-observable-ts/lib/bundle.esm.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/JS.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/types/PubSub.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Util/Constants.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/constants.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Amplify.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/PubSubProvider.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Hub.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/constants.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Util/Reachability.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/utils/ReachabilityMonitor/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/utils/ConnectionStateMonitor.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/utils/ReconnectionMonitor.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/MqttOverWSProvider.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/AWSAppSyncProvider.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Platform/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/I18n/I18n.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/I18n/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/StorageHelper/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Util/Retry.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/OAuthHelper/GoogleOAuth.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/OAuthHelper/FacebookOAuth.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/OAuthHelper/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/parseAWSExports.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Credentials.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/types/Auth.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Util/DateUtils.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Signer.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/UniversalStorage/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/AuthenticationDetails.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/utils/cryptoSecureRandomInt.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/utils/WordArray.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/BigInteger.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/AuthenticationHelper.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoJwtToken.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoAccessToken.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoIdToken.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoRefreshToken.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoUserSession.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/DateHelper.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoUserAttribute.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/StorageHelper.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoUser.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/Platform/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/UserAgent.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/Client.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CognitoUserPool.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/common/AuthErrorStrings.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/amazon-cognito-identity-js/es/CookieStorage.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/OAuth/urlOpener.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/OAuth/OAuth.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/core/lib-esm/Util/StringUtils.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/OAuth/oauthStorage.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/Errors.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/Auth.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/node_modules/@aws-amplify/auth/lib-esm/urlListener.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/Providers/AWSAppSyncRealTimeProvider/index.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api-graphql/lib-esm/types/index.js","webpack://_N_E/./node_modules/@aws-amplify/pubsub/lib-esm/PubSub.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api-graphql/lib-esm/GraphQLAPI.js","webpack://_N_E/./node_modules/aws-amplify/node_modules/@aws-amplify/api/lib-esm/API.js","webpack://_N_E/./src/lib/api/apiProxy/authToken.ts","webpack://_N_E/./src/lib/api/apiProxy/aws.ts","webpack://_N_E/./src/lib/api/apiProxy/httpMethod.ts","webpack://_N_E/./src/lib/api/apiProxy/apiProxy.ts","webpack://_N_E/./src/lib/api/apiProxy/apiRequest.ts","webpack://_N_E/./src/lib/api/endpoints/Applications/query.ts","webpack://_N_E/./src/lib/api/endpoints/bookings/query.ts","webpack://_N_E/./src/lib/api/endpoints/firstAvail/query.ts","webpack://_N_E/./src/lib/api/endpoints/photos/command.ts","webpack://_N_E/./src/lib/api/endpoints/photos/query.ts","webpack://_N_E/./src/lib/api/endpoints/invites/query.ts","webpack://_N_E/./src/lib/api/endpoints/users/command.ts","webpack://_N_E/./src/lib/api/endpoints/users/query.ts","webpack://_N_E/./src/lib/utils/authHelper.ts","webpack://_N_E/./src/lib/auth/index.tsx","webpack://_N_E/./src/hooks/impersonation/useImpersonateUser/useImpersonateUser.ts","webpack://_N_E/./src/lib/auth/useOnboardingStatus.ts","webpack://_N_E/./src/lib/auth/listener.ts","webpack://_N_E/./src/lib/auth/useSession.ts","webpack://_N_E/./src/lib/auth/googleSignout.ts","webpack://_N_E/./src/lib/redux.lib/slices/appSlice.ts","webpack://_N_E/./src/lib/redux.lib/store.ts","webpack://_N_E/./src/lib/utils/arrayHelper.ts","webpack://_N_E/./src/lib/utils/constants/demographicConstants.ts","webpack://_N_E/./src/lib/utils/constants/miscelaneousConstants.ts","webpack://_N_E/./src/lib/utils/constants/PropType.ts","webpack://_N_E/./src/lib/utils/constants/representationConstants.ts","webpack://_N_E/./src/lib/utils/constants/SkillType.ts","webpack://_N_E/./src/lib/utils/constants/transportation.ts","webpack://_N_E/./src/lib/utils/constants/profileConstants.ts","webpack://_N_E/./src/lib/utils/constants/ukCarMakesModels.ts","webpack://_N_E/./src/lib/utils/general.ts","webpack://_N_E/./src/lib/utils/measureHelper.ts","webpack://_N_E/./src/lib/utils/useSessionStorage.tsx","webpack://_N_E/./node_modules/posthog-js/dist/module.js","webpack://_N_E/./node_modules/posthog-js/react/dist/esm/index.js","webpack://_N_E/./src/aws-exports.js","webpack://_N_E/./node_modules/@sentry/utils/esm/logger.js","webpack://_N_E/./node_modules/@sentry/utils/esm/is.js","webpack://_N_E/./node_modules/@sentry/utils/esm/syncpromise.js","webpack://_N_E/./node_modules/@sentry/utils/esm/misc.js","webpack://_N_E/./node_modules/@sentry/utils/esm/object.js","webpack://_N_E/./node_modules/@sentry/core/esm/session.js","webpack://_N_E/./node_modules/@sentry/core/esm/scope.js","webpack://_N_E/./node_modules/@sentry/core/esm/hub.js","webpack://_N_E/./src/lib/errors/index.tsx","webpack://_N_E/./node_modules/@sentry/core/esm/exports.js","webpack://_N_E/./src/lib/locations/GoogleMapsApi.tsx","webpack://_N_E/./src/styles/antTheme.ts","webpack://_N_E/./src/lib/amplify.lib.ts","webpack://_N_E/./src/pages/_app.tsx","webpack://_N_E/./src/lib/posthog.lib.ts","webpack://_N_E/./src/pages/apps/ProjectDetails.tsx","webpack://_N_E/./src/pages/apps/ProjectDetailsUK.tsx","webpack://_N_E/./src/pages/apps/[application_id]/index.tsx","webpack://_N_E/./src/pages/auth/login.tsx","webpack://_N_E/./src/pages/auth/protect.tsx","webpack://_N_E/./src/styles/theme.ts","webpack://_N_E/./src/assets/icons/ExternalLink.tsx","webpack://_N_E/./src/assets/icons/WarningAlert.tsx","webpack://_N_E/./src/views/apps/ArchivedApplicationBanner/ArchivedAplicationBanner.tsx","webpack://_N_E/./node_modules/next/dist/compiled/native-url/index.js","webpack://_N_E/./node_modules/next/head.js","webpack://_N_E/./node_modules/next/link.js","webpack://_N_E/./node_modules/next/router.js","webpack://_N_E/./node_modules/next/script.js","webpack://_N_E/./node_modules/paho-mqtt/paho-mqtt.js","webpack://_N_E/./node_modules/process/browser.js","webpack://_N_E/./node_modules/prop-types/factoryWithThrowingShims.js","webpack://_N_E/./node_modules/prop-types/index.js","webpack://_N_E/./node_modules/prop-types/lib/ReactPropTypesSecret.js","webpack://_N_E/./node_modules/querystring/decode.js","webpack://_N_E/./node_modules/querystring/encode.js","webpack://_N_E/./node_modules/querystring/index.js","webpack://_N_E/./node_modules/rc-field-form/es/FieldContext.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/typeUtil.js","webpack://_N_E/./node_modules/async-validator/dist-web/index.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/messages.js","webpack://_N_E/./node_modules/rc-util/es/utils/get.js","webpack://_N_E/./node_modules/rc-util/es/utils/set.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/cloneDeep.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/valueUtil.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/validateUtil.js","webpack://_N_E/./node_modules/rc-field-form/es/Field.js","webpack://_N_E/./node_modules/rc-field-form/es/ListContext.js","webpack://_N_E/./node_modules/rc-field-form/es/List.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/NameMap.js","webpack://_N_E/./node_modules/rc-field-form/es/useForm.js","webpack://_N_E/./node_modules/rc-field-form/es/utils/asyncUtil.js","webpack://_N_E/./node_modules/rc-field-form/es/FormContext.js","webpack://_N_E/./node_modules/rc-field-form/es/Form.js","webpack://_N_E/./node_modules/rc-field-form/es/useWatch.js","webpack://_N_E/./node_modules/rc-field-form/es/index.js","webpack://_N_E/./node_modules/rc-motion/es/util/motion.js","webpack://_N_E/./node_modules/rc-motion/es/interface.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useIsomorphicLayoutEffect.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useStepQueue.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useNextFrame.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useStatus.js","webpack://_N_E/./node_modules/rc-motion/es/hooks/useDomMotionEvents.js","webpack://_N_E/./node_modules/rc-motion/es/DomWrapper.js","webpack://_N_E/./node_modules/rc-motion/es/CSSMotion.js","webpack://_N_E/./node_modules/rc-motion/es/util/diff.js","webpack://_N_E/./node_modules/rc-motion/es/CSSMotionList.js","webpack://_N_E/./node_modules/rc-motion/es/index.js","webpack://_N_E/./node_modules/rc-pagination/es/locale/en_US.js","webpack://_N_E/./node_modules/rc-resize-observer/es/utils/observerUtil.js","webpack://_N_E/./node_modules/rc-resize-observer/es/SingleObserver/DomWrapper.js","webpack://_N_E/./node_modules/rc-resize-observer/es/Collection.js","webpack://_N_E/./node_modules/rc-resize-observer/es/SingleObserver/index.js","webpack://_N_E/./node_modules/rc-resize-observer/es/index.js","webpack://_N_E/./node_modules/rc-tooltip/es/Popup.js","webpack://_N_E/./node_modules/rc-tooltip/es/Tooltip.js","webpack://_N_E/./node_modules/rc-tooltip/es/index.js","webpack://_N_E/./node_modules/rc-tooltip/es/placements.js","webpack://_N_E/./node_modules/rc-util/es/Portal.js","webpack://_N_E/./node_modules/rc-trigger/es/utils/alignUtil.js","webpack://_N_E/./node_modules/rc-trigger/es/utils/legacyUtil.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/Mask.js","webpack://_N_E/./node_modules/dom-align/dist-web/index.js","webpack://_N_E/./node_modules/rc-align/es/util.js","webpack://_N_E/./node_modules/rc-align/es/Align.js","webpack://_N_E/./node_modules/rc-align/es/hooks/useBuffer.js","webpack://_N_E/./node_modules/rc-align/es/index.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/useVisibleStatus.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/PopupInner.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/useStretchStyle.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/MobilePopupInner.js","webpack://_N_E/./node_modules/rc-trigger/es/Popup/index.js","webpack://_N_E/./node_modules/rc-trigger/es/context.js","webpack://_N_E/./node_modules/rc-trigger/es/index.js","webpack://_N_E/./node_modules/rc-util/es/Children/toArray.js","webpack://_N_E/./node_modules/rc-util/es/Dom/addEventListener.js","webpack://_N_E/./node_modules/rc-util/es/Dom/canUseDom.js","webpack://_N_E/./node_modules/rc-util/es/Dom/contains.js","webpack://_N_E/./node_modules/rc-util/es/Dom/dynamicCSS.js","webpack://_N_E/./node_modules/rc-util/es/Dom/findDOMNode.js","webpack://_N_E/./node_modules/rc-util/es/Dom/isVisible.js","webpack://_N_E/./node_modules/rc-util/es/Dom/styleChecker.js","webpack://_N_E/./node_modules/rc-util/es/KeyCode.js","webpack://_N_E/./node_modules/rc-util/es/React/render.js","webpack://_N_E/./node_modules/rc-util/es/getScrollBarSize.js","webpack://_N_E/./node_modules/rc-util/es/hooks/useEvent.js","webpack://_N_E/./node_modules/rc-util/es/hooks/useLayoutEffect.js","webpack://_N_E/./node_modules/rc-util/es/hooks/useMemo.js","webpack://_N_E/./node_modules/rc-util/es/hooks/useMergedState.js","webpack://_N_E/./node_modules/rc-util/es/hooks/useState.js","webpack://_N_E/./node_modules/rc-util/es/isMobile.js","webpack://_N_E/./node_modules/rc-util/es/omit.js","webpack://_N_E/./node_modules/rc-util/es/pickAttrs.js","webpack://_N_E/./node_modules/rc-util/es/raf.js","webpack://_N_E/./node_modules/rc-util/es/ref.js","webpack://_N_E/./node_modules/rc-util/es/warning.js","webpack://_N_E/./node_modules/rc-util/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/rc-util/node_modules/react-is/index.js","webpack://_N_E/./node_modules/react-avatar/es/cache.js","webpack://_N_E/./node_modules/react-avatar/es/utils.js","webpack://_N_E/./node_modules/react-avatar/es/context.js","webpack://_N_E/./node_modules/react-avatar/es/internal-state.js","webpack://_N_E/./node_modules/react-avatar/es/data-provider.js","webpack://_N_E/./node_modules/react-avatar/es/components/wrapper.js","webpack://_N_E/./node_modules/react-avatar/es/components/image.js","webpack://_N_E/./node_modules/react-avatar/es/components/text.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Gravatar.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Facebook.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Github.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Skype.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Value.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Src.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Icon.js","webpack://_N_E/./node_modules/react-avatar/es/sources/AvatarRedirect.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Twitter.js","webpack://_N_E/./node_modules/react-avatar/es/sources/VKontakte.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Instagram.js","webpack://_N_E/./node_modules/react-avatar/es/index.js","webpack://_N_E/./node_modules/react-avatar/es/avatar.js","webpack://_N_E/./node_modules/react-avatar/es/sources/Google.js","webpack://_N_E/./node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/react-is/index.js","webpack://_N_E/./node_modules/react-query/es/core/focusManager.js","webpack://_N_E/./node_modules/react-query/es/core/logger.js","webpack://_N_E/./node_modules/react-query/es/core/mutation.js","webpack://_N_E/./node_modules/react-query/es/core/notifyManager.js","webpack://_N_E/./node_modules/react-query/es/core/onlineManager.js","webpack://_N_E/./node_modules/react-query/es/core/query.js","webpack://_N_E/./node_modules/react-query/es/core/queryCache.js","webpack://_N_E/./node_modules/react-query/es/core/mutationCache.js","webpack://_N_E/./node_modules/react-query/es/core/infiniteQueryBehavior.js","webpack://_N_E/./node_modules/react-query/es/core/queryClient.js","webpack://_N_E/./node_modules/react-query/es/core/retryer.js","webpack://_N_E/./node_modules/react-query/es/core/subscribable.js","webpack://_N_E/./node_modules/react-query/es/core/utils.js","webpack://_N_E/./node_modules/react-query/es/react/reactBatchedUpdates.js","webpack://_N_E/./node_modules/react-query/es/react/setBatchUpdatesFn.js","webpack://_N_E/./node_modules/react-query/es/react/logger.js","webpack://_N_E/./node_modules/react-query/es/react/setLogger.js","webpack://_N_E/./node_modules/react-query/es/react/QueryClientProvider.js","webpack://_N_E/./node_modules/react-query/es/core/mutationObserver.js","webpack://_N_E/./node_modules/react-query/es/react/utils.js","webpack://_N_E/./node_modules/react-query/es/react/useMutation.js","webpack://_N_E/./node_modules/react-query/es/core/queryObserver.js","webpack://_N_E/./node_modules/react-query/es/react/QueryErrorResetBoundary.js","webpack://_N_E/./node_modules/react-query/es/react/useBaseQuery.js","webpack://_N_E/./node_modules/react-query/es/react/useQuery.js","webpack://_N_E/./node_modules/react-redux/es/components/Context.js","webpack://_N_E/./node_modules/react-redux/es/utils/batch.js","webpack://_N_E/./node_modules/react-redux/es/utils/Subscription.js","webpack://_N_E/./node_modules/react-redux/es/utils/useIsomorphicLayoutEffect.js","webpack://_N_E/./node_modules/react-redux/es/components/Provider.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useReduxContext.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useStore.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useDispatch.js","webpack://_N_E/./node_modules/react-redux/es/hooks/useSelector.js","webpack://_N_E/./node_modules/react-redux/es/index.js","webpack://_N_E/./node_modules/react-redux/node_modules/react-is/cjs/react-is.production.min.js","webpack://_N_E/./node_modules/react-redux/node_modules/react-is/index.js","webpack://_N_E/./node_modules/resize-observer-polyfill/dist/ResizeObserver.es.js","webpack://_N_E/./node_modules/shallowequal/index.js","webpack://_N_E/./node_modules/@emotion/stylis/dist/stylis.browser.esm.js","webpack://_N_E/./node_modules/@emotion/memoize/dist/emotion-memoize.esm.js","webpack://_N_E/./node_modules/@emotion/is-prop-valid/dist/emotion-is-prop-valid.esm.js","webpack://_N_E/./node_modules/styled-components/dist/styled-components.browser.esm.js","webpack://_N_E/./node_modules/toggle-selection/index.js","webpack://_N_E/./node_modules/tslib/tslib.es6.js","webpack://_N_E/./node_modules/universal-cookie/es6/utils.js","webpack://_N_E/./node_modules/universal-cookie/es6/Cookies.js","webpack://_N_E/./node_modules/universal-cookie/es6/index.js","webpack://_N_E/./node_modules/uuid/index.js","webpack://_N_E/./node_modules/uuid/lib/bytesToUuid.js","webpack://_N_E/./node_modules/uuid/lib/rng-browser.js","webpack://_N_E/./node_modules/uuid/v1.js","webpack://_N_E/./node_modules/uuid/v4.js","webpack://_N_E/./node_modules/zen-observable/index.js","webpack://_N_E/./node_modules/zen-observable/lib/Observable.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/asyncToGenerator.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/createSuper.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/isNativeReflectConstruct.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/extends.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/inheritsLoose.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/iterableToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectSpread2.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectWithoutProperties.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/objectWithoutPropertiesLoose.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/regeneratorRuntime.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toConsumableArray.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/arrayWithoutHoles.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/nonIterableSpread.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://_N_E/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://_N_E/./node_modules/@swc/helpers/src/_array_like_to_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_array_with_holes.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_async_to_generator.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_class_call_check.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_define_property.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_iterable_to_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_non_iterable_rest.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_spread.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_spread_props.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_without_properties.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_object_without_properties_loose.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_sliced_to_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_tagged_template_literal.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_to_consumable_array.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_array_without_holes.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_non_iterable_spread.mjs","webpack://_N_E/./node_modules/@swc/helpers/src/_unsupported_iterable_to_array.mjs","webpack://_N_E/./node_modules/axios/lib/helpers/bind.js","webpack://_N_E/./node_modules/axios/lib/utils.js","webpack://_N_E/./node_modules/axios/lib/core/AxiosError.js","webpack://_N_E/./node_modules/axios/lib/env/classes/FormData.js","webpack://_N_E/./node_modules/axios/lib/helpers/toFormData.js","webpack://_N_E/./node_modules/axios/lib/helpers/AxiosURLSearchParams.js","webpack://_N_E/./node_modules/axios/lib/helpers/buildURL.js","webpack://_N_E/./node_modules/axios/lib/core/InterceptorManager.js","webpack://_N_E/./node_modules/axios/lib/defaults/transitional.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/classes/URLSearchParams.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/classes/FormData.js","webpack://_N_E/./node_modules/axios/lib/platform/browser/index.js","webpack://_N_E/./node_modules/axios/lib/helpers/formDataToJSON.js","webpack://_N_E/./node_modules/axios/lib/defaults/index.js","webpack://_N_E/./node_modules/axios/lib/helpers/toURLEncodedForm.js","webpack://_N_E/./node_modules/axios/lib/helpers/parseHeaders.js","webpack://_N_E/./node_modules/axios/lib/core/AxiosHeaders.js","webpack://_N_E/./node_modules/axios/lib/core/transformData.js","webpack://_N_E/./node_modules/axios/lib/cancel/isCancel.js","webpack://_N_E/./node_modules/axios/lib/cancel/CanceledError.js","webpack://_N_E/./node_modules/axios/lib/helpers/cookies.js","webpack://_N_E/./node_modules/axios/lib/core/buildFullPath.js","webpack://_N_E/./node_modules/axios/lib/helpers/isAbsoluteURL.js","webpack://_N_E/./node_modules/axios/lib/helpers/combineURLs.js","webpack://_N_E/./node_modules/axios/lib/helpers/isURLSameOrigin.js","webpack://_N_E/./node_modules/axios/lib/helpers/speedometer.js","webpack://_N_E/./node_modules/axios/lib/adapters/xhr.js","webpack://_N_E/./node_modules/axios/lib/adapters/adapters.js","webpack://_N_E/./node_modules/axios/lib/helpers/null.js","webpack://_N_E/./node_modules/axios/lib/core/settle.js","webpack://_N_E/./node_modules/axios/lib/helpers/parseProtocol.js","webpack://_N_E/./node_modules/axios/lib/core/dispatchRequest.js","webpack://_N_E/./node_modules/axios/lib/core/mergeConfig.js","webpack://_N_E/./node_modules/axios/lib/env/data.js","webpack://_N_E/./node_modules/axios/lib/helpers/validator.js","webpack://_N_E/./node_modules/axios/lib/core/Axios.js","webpack://_N_E/./node_modules/axios/lib/cancel/CancelToken.js","webpack://_N_E/./node_modules/axios/lib/axios.js","webpack://_N_E/./node_modules/axios/lib/helpers/spread.js","webpack://_N_E/./node_modules/axios/lib/helpers/isAxiosError.js"],"sourcesContent":["import { inputToRGB, rgbToHex, rgbToHsv } from '@ctrl/tinycolor';\n\nvar hueStep = 2; // 色相阶梯\n\nvar saturationStep = 0.16; // 饱和度阶梯,浅色部分\n\nvar saturationStep2 = 0.05; // 饱和度阶梯,深色部分\n\nvar brightnessStep1 = 0.05; // 亮度阶梯,浅色部分\n\nvar brightnessStep2 = 0.15; // 亮度阶梯,深色部分\n\nvar lightColorCount = 5; // 浅色数量,主色上\n\nvar darkColorCount = 4; // 深色数量,主色下\n// 暗色主题颜色映射关系表\n\nvar darkColorMap = [{\n index: 7,\n opacity: 0.15\n}, {\n index: 6,\n opacity: 0.25\n}, {\n index: 5,\n opacity: 0.3\n}, {\n index: 5,\n opacity: 0.45\n}, {\n index: 5,\n opacity: 0.65\n}, {\n index: 5,\n opacity: 0.85\n}, {\n index: 4,\n opacity: 0.9\n}, {\n index: 3,\n opacity: 0.95\n}, {\n index: 2,\n opacity: 0.97\n}, {\n index: 1,\n opacity: 0.98\n}]; // Wrapper function ported from TinyColor.prototype.toHsv\n// Keep it here because of `hsv.h * 360`\n\nfunction toHsv(_ref) {\n var r = _ref.r,\n g = _ref.g,\n b = _ref.b;\n var hsv = rgbToHsv(r, g, b);\n return {\n h: hsv.h * 360,\n s: hsv.s,\n v: hsv.v\n };\n} // Wrapper function ported from TinyColor.prototype.toHexString\n// Keep it here because of the prefix `#`\n\n\nfunction toHex(_ref2) {\n var r = _ref2.r,\n g = _ref2.g,\n b = _ref2.b;\n return \"#\".concat(rgbToHex(r, g, b, false));\n} // Wrapper function ported from TinyColor.prototype.mix, not treeshakable.\n// Amount in range [0, 1]\n// Assume color1 & color2 has no alpha, since the following src code did so.\n\n\nfunction mix(rgb1, rgb2, amount) {\n var p = amount / 100;\n var rgb = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b\n };\n return rgb;\n}\n\nfunction getHue(hsv, i, light) {\n var hue; // 根据色相不同,色相转向不同\n\n if (Math.round(hsv.h) >= 60 && Math.round(hsv.h) <= 240) {\n hue = light ? Math.round(hsv.h) - hueStep * i : Math.round(hsv.h) + hueStep * i;\n } else {\n hue = light ? Math.round(hsv.h) + hueStep * i : Math.round(hsv.h) - hueStep * i;\n }\n\n if (hue < 0) {\n hue += 360;\n } else if (hue >= 360) {\n hue -= 360;\n }\n\n return hue;\n}\n\nfunction getSaturation(hsv, i, light) {\n // grey color don't change saturation\n if (hsv.h === 0 && hsv.s === 0) {\n return hsv.s;\n }\n\n var saturation;\n\n if (light) {\n saturation = hsv.s - saturationStep * i;\n } else if (i === darkColorCount) {\n saturation = hsv.s + saturationStep;\n } else {\n saturation = hsv.s + saturationStep2 * i;\n } // 边界值修正\n\n\n if (saturation > 1) {\n saturation = 1;\n } // 第一格的 s 限制在 0.06-0.1 之间\n\n\n if (light && i === lightColorCount && saturation > 0.1) {\n saturation = 0.1;\n }\n\n if (saturation < 0.06) {\n saturation = 0.06;\n }\n\n return Number(saturation.toFixed(2));\n}\n\nfunction getValue(hsv, i, light) {\n var value;\n\n if (light) {\n value = hsv.v + brightnessStep1 * i;\n } else {\n value = hsv.v - brightnessStep2 * i;\n }\n\n if (value > 1) {\n value = 1;\n }\n\n return Number(value.toFixed(2));\n}\n\nfunction generate(color) {\n var opts = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var patterns = [];\n var pColor = inputToRGB(color);\n\n for (var i = lightColorCount; i > 0; i -= 1) {\n var hsv = toHsv(pColor);\n var colorString = toHex(inputToRGB({\n h: getHue(hsv, i, true),\n s: getSaturation(hsv, i, true),\n v: getValue(hsv, i, true)\n }));\n patterns.push(colorString);\n }\n\n patterns.push(toHex(pColor));\n\n for (var _i = 1; _i <= darkColorCount; _i += 1) {\n var _hsv = toHsv(pColor);\n\n var _colorString = toHex(inputToRGB({\n h: getHue(_hsv, _i),\n s: getSaturation(_hsv, _i),\n v: getValue(_hsv, _i)\n }));\n\n patterns.push(_colorString);\n } // dark theme patterns\n\n\n if (opts.theme === 'dark') {\n return darkColorMap.map(function (_ref3) {\n var index = _ref3.index,\n opacity = _ref3.opacity;\n var darkColorString = toHex(mix(inputToRGB(opts.backgroundColor || '#141414'), inputToRGB(patterns[index]), opacity * 100));\n return darkColorString;\n });\n }\n\n return patterns;\n}\n\nvar presetPrimaryColors = {\n red: '#F5222D',\n volcano: '#FA541C',\n orange: '#FA8C16',\n gold: '#FAAD14',\n yellow: '#FADB14',\n lime: '#A0D911',\n green: '#52C41A',\n cyan: '#13C2C2',\n blue: '#1890FF',\n geekblue: '#2F54EB',\n purple: '#722ED1',\n magenta: '#EB2F96',\n grey: '#666666'\n};\nvar presetPalettes = {};\nvar presetDarkPalettes = {};\nObject.keys(presetPrimaryColors).forEach(function (key) {\n presetPalettes[key] = generate(presetPrimaryColors[key]);\n presetPalettes[key].primary = presetPalettes[key][5]; // dark presetPalettes\n\n presetDarkPalettes[key] = generate(presetPrimaryColors[key], {\n theme: 'dark',\n backgroundColor: '#141414'\n });\n presetDarkPalettes[key].primary = presetDarkPalettes[key][5];\n});\nvar red = presetPalettes.red;\nvar volcano = presetPalettes.volcano;\nvar gold = presetPalettes.gold;\nvar orange = presetPalettes.orange;\nvar yellow = presetPalettes.yellow;\nvar lime = presetPalettes.lime;\nvar green = presetPalettes.green;\nvar cyan = presetPalettes.cyan;\nvar blue = presetPalettes.blue;\nvar geekblue = presetPalettes.geekblue;\nvar purple = presetPalettes.purple;\nvar magenta = presetPalettes.magenta;\nvar grey = presetPalettes.grey;\n\nexport { blue, cyan, geekblue, generate, gold, green, grey, lime, magenta, orange, presetDarkPalettes, presetPalettes, presetPrimaryColors, purple, red, volcano, yellow };\n","/* eslint-disable */\n// Inspired by https://github.com/garycourt/murmurhash-js\n// Ported from https://github.com/aappleby/smhasher/blob/61a0530f28277f2e850bfc39600ce61d02b518de/src/MurmurHash2.cpp#L37-L86\nfunction murmur2(str) {\n // 'm' and 'r' are mixing constants generated offline.\n // They're not really 'magic', they just happen to work well.\n // const m = 0x5bd1e995;\n // const r = 24;\n // Initialize the hash\n var h = 0; // Mix 4 bytes at a time into the hash\n\n var k,\n i = 0,\n len = str.length;\n\n for (; len >= 4; ++i, len -= 4) {\n k = str.charCodeAt(i) & 0xff | (str.charCodeAt(++i) & 0xff) << 8 | (str.charCodeAt(++i) & 0xff) << 16 | (str.charCodeAt(++i) & 0xff) << 24;\n k =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16);\n k ^=\n /* k >>> r: */\n k >>> 24;\n h =\n /* Math.imul(k, m): */\n (k & 0xffff) * 0x5bd1e995 + ((k >>> 16) * 0xe995 << 16) ^\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Handle the last few bytes of the input array\n\n\n switch (len) {\n case 3:\n h ^= (str.charCodeAt(i + 2) & 0xff) << 16;\n\n case 2:\n h ^= (str.charCodeAt(i + 1) & 0xff) << 8;\n\n case 1:\n h ^= str.charCodeAt(i) & 0xff;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n } // Do a few final mixes of the hash to ensure the last few\n // bytes are well-incorporated.\n\n\n h ^= h >>> 13;\n h =\n /* Math.imul(h, m): */\n (h & 0xffff) * 0x5bd1e995 + ((h >>> 16) * 0xe995 << 16);\n return ((h ^ h >>> 15) >>> 0).toString(36);\n}\n\nexport default murmur2;\n","export var MS = '-ms-'\nexport var MOZ = '-moz-'\nexport var WEBKIT = '-webkit-'\n\nexport var COMMENT = 'comm'\nexport var RULESET = 'rule'\nexport var DECLARATION = 'decl'\n\nexport var PAGE = '@page'\nexport var MEDIA = '@media'\nexport var IMPORT = '@import'\nexport var CHARSET = '@charset'\nexport var VIEWPORT = '@viewport'\nexport var SUPPORTS = '@supports'\nexport var DOCUMENT = '@document'\nexport var NAMESPACE = '@namespace'\nexport var KEYFRAMES = '@keyframes'\nexport var FONT_FACE = '@font-face'\nexport var COUNTER_STYLE = '@counter-style'\nexport var FONT_FEATURE_VALUES = '@font-feature-values'\n","/**\n * @param {number}\n * @return {number}\n */\nexport var abs = Math.abs\n\n/**\n * @param {number}\n * @return {string}\n */\nexport var from = String.fromCharCode\n\n/**\n * @param {object}\n * @return {object}\n */\nexport var assign = Object.assign\n\n/**\n * @param {string} value\n * @param {number} length\n * @return {number}\n */\nexport function hash (value, length) {\n\treturn charat(value, 0) ^ 45 ? (((((((length << 2) ^ charat(value, 0)) << 2) ^ charat(value, 1)) << 2) ^ charat(value, 2)) << 2) ^ charat(value, 3) : 0\n}\n\n/**\n * @param {string} value\n * @return {string}\n */\nexport function trim (value) {\n\treturn value.trim()\n}\n\n/**\n * @param {string} value\n * @param {RegExp} pattern\n * @return {string?}\n */\nexport function match (value, pattern) {\n\treturn (value = pattern.exec(value)) ? value[0] : value\n}\n\n/**\n * @param {string} value\n * @param {(string|RegExp)} pattern\n * @param {string} replacement\n * @return {string}\n */\nexport function replace (value, pattern, replacement) {\n\treturn value.replace(pattern, replacement)\n}\n\n/**\n * @param {string} value\n * @param {string} search\n * @return {number}\n */\nexport function indexof (value, search) {\n\treturn value.indexOf(search)\n}\n\n/**\n * @param {string} value\n * @param {number} index\n * @return {number}\n */\nexport function charat (value, index) {\n\treturn value.charCodeAt(index) | 0\n}\n\n/**\n * @param {string} value\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function substr (value, begin, end) {\n\treturn value.slice(begin, end)\n}\n\n/**\n * @param {string} value\n * @return {number}\n */\nexport function strlen (value) {\n\treturn value.length\n}\n\n/**\n * @param {any[]} value\n * @return {number}\n */\nexport function sizeof (value) {\n\treturn value.length\n}\n\n/**\n * @param {any} value\n * @param {any[]} array\n * @return {any}\n */\nexport function append (value, array) {\n\treturn array.push(value), value\n}\n\n/**\n * @param {string[]} array\n * @param {function} callback\n * @return {string}\n */\nexport function combine (array, callback) {\n\treturn array.map(callback).join('')\n}\n","import {IMPORT, COMMENT, RULESET, DECLARATION, KEYFRAMES} from './Enum.js'\nimport {strlen, sizeof} from './Utility.js'\n\n/**\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function serialize (children, callback) {\n\tvar output = ''\n\tvar length = sizeof(children)\n\n\tfor (var i = 0; i < length; i++)\n\t\toutput += callback(children[i], i, children, callback) || ''\n\n\treturn output\n}\n\n/**\n * @param {object} element\n * @param {number} index\n * @param {object[]} children\n * @param {function} callback\n * @return {string}\n */\nexport function stringify (element, index, children, callback) {\n\tswitch (element.type) {\n\t\tcase IMPORT: case DECLARATION: return element.return = element.return || element.value\n\t\tcase COMMENT: return ''\n\t\tcase KEYFRAMES: return element.return = element.value + '{' + serialize(element.children, callback) + '}'\n\t\tcase RULESET: element.value = element.props.join(',')\n\t}\n\n\treturn strlen(children = serialize(element.children, callback)) ? element.return = element.value + '{' + children + '}' : ''\n}\n","import {from, trim, charat, strlen, substr, append, assign} from './Utility.js'\n\nexport var line = 1\nexport var column = 1\nexport var length = 0\nexport var position = 0\nexport var character = 0\nexport var characters = ''\n\n/**\n * @param {string} value\n * @param {object | null} root\n * @param {object | null} parent\n * @param {string} type\n * @param {string[] | string} props\n * @param {object[] | string} children\n * @param {number} length\n */\nexport function node (value, root, parent, type, props, children, length) {\n\treturn {value: value, root: root, parent: parent, type: type, props: props, children: children, line: line, column: column, length: length, return: ''}\n}\n\n/**\n * @param {object} root\n * @param {object} props\n * @return {object}\n */\nexport function copy (root, props) {\n\treturn assign(node('', null, null, '', null, null, 0), root, {length: -root.length}, props)\n}\n\n/**\n * @return {number}\n */\nexport function char () {\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function prev () {\n\tcharacter = position > 0 ? charat(characters, --position) : 0\n\n\tif (column--, character === 10)\n\t\tcolumn = 1, line--\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function next () {\n\tcharacter = position < length ? charat(characters, position++) : 0\n\n\tif (column++, character === 10)\n\t\tcolumn = 1, line++\n\n\treturn character\n}\n\n/**\n * @return {number}\n */\nexport function peek () {\n\treturn charat(characters, position)\n}\n\n/**\n * @return {number}\n */\nexport function caret () {\n\treturn position\n}\n\n/**\n * @param {number} begin\n * @param {number} end\n * @return {string}\n */\nexport function slice (begin, end) {\n\treturn substr(characters, begin, end)\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function token (type) {\n\tswitch (type) {\n\t\t// \\0 \\t \\n \\r \\s whitespace token\n\t\tcase 0: case 9: case 10: case 13: case 32:\n\t\t\treturn 5\n\t\t// ! + , / > @ ~ isolate token\n\t\tcase 33: case 43: case 44: case 47: case 62: case 64: case 126:\n\t\t// ; { } breakpoint token\n\t\tcase 59: case 123: case 125:\n\t\t\treturn 4\n\t\t// : accompanied token\n\t\tcase 58:\n\t\t\treturn 3\n\t\t// \" ' ( [ opening delimit token\n\t\tcase 34: case 39: case 40: case 91:\n\t\t\treturn 2\n\t\t// ) ] closing delimit token\n\t\tcase 41: case 93:\n\t\t\treturn 1\n\t}\n\n\treturn 0\n}\n\n/**\n * @param {string} value\n * @return {any[]}\n */\nexport function alloc (value) {\n\treturn line = column = 1, length = strlen(characters = value), position = 0, []\n}\n\n/**\n * @param {any} value\n * @return {any}\n */\nexport function dealloc (value) {\n\treturn characters = '', value\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function delimit (type) {\n\treturn trim(slice(position - 1, delimiter(type === 91 ? type + 2 : type === 40 ? type + 1 : type)))\n}\n\n/**\n * @param {string} value\n * @return {string[]}\n */\nexport function tokenize (value) {\n\treturn dealloc(tokenizer(alloc(value)))\n}\n\n/**\n * @param {number} type\n * @return {string}\n */\nexport function whitespace (type) {\n\twhile (character = peek())\n\t\tif (character < 33)\n\t\t\tnext()\n\t\telse\n\t\t\tbreak\n\n\treturn token(type) > 2 || token(character) > 3 ? '' : ' '\n}\n\n/**\n * @param {string[]} children\n * @return {string[]}\n */\nexport function tokenizer (children) {\n\twhile (next())\n\t\tswitch (token(character)) {\n\t\t\tcase 0: append(identifier(position - 1), children)\n\t\t\t\tbreak\n\t\t\tcase 2: append(delimit(character), children)\n\t\t\t\tbreak\n\t\t\tdefault: append(from(character), children)\n\t\t}\n\n\treturn children\n}\n\n/**\n * @param {number} index\n * @param {number} count\n * @return {string}\n */\nexport function escaping (index, count) {\n\twhile (--count && next())\n\t\t// not 0-9 A-F a-f\n\t\tif (character < 48 || character > 102 || (character > 57 && character < 65) || (character > 70 && character < 97))\n\t\t\tbreak\n\n\treturn slice(index, caret() + (count < 6 && peek() == 32 && next() == 32))\n}\n\n/**\n * @param {number} type\n * @return {number}\n */\nexport function delimiter (type) {\n\twhile (next())\n\t\tswitch (character) {\n\t\t\t// ] ) \" '\n\t\t\tcase type:\n\t\t\t\treturn position\n\t\t\t// \" '\n\t\t\tcase 34: case 39:\n\t\t\t\tif (type !== 34 && type !== 39)\n\t\t\t\t\tdelimiter(character)\n\t\t\t\tbreak\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (type === 41)\n\t\t\t\t\tdelimiter(type)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tnext()\n\t\t\t\tbreak\n\t\t}\n\n\treturn position\n}\n\n/**\n * @param {number} type\n * @param {number} index\n * @return {number}\n */\nexport function commenter (type, index) {\n\twhile (next())\n\t\t// //\n\t\tif (type + character === 47 + 10)\n\t\t\tbreak\n\t\t// /*\n\t\telse if (type + character === 42 + 42 && peek() === 47)\n\t\t\tbreak\n\n\treturn '/*' + slice(index, position - 1) + '*' + from(type === 47 ? type : next())\n}\n\n/**\n * @param {number} index\n * @return {string}\n */\nexport function identifier (index) {\n\twhile (!token(peek()))\n\t\tnext()\n\n\treturn slice(index, position)\n}\n","import {COMMENT, RULESET, DECLARATION} from './Enum.js'\nimport {abs, charat, trim, from, sizeof, strlen, substr, append, replace, indexof} from './Utility.js'\nimport {node, char, prev, next, peek, caret, alloc, dealloc, delimit, whitespace, escaping, identifier, commenter} from './Tokenizer.js'\n\n/**\n * @param {string} value\n * @return {object[]}\n */\nexport function compile (value) {\n\treturn dealloc(parse('', null, null, null, [''], value = alloc(value), 0, [0], value))\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {string[]} rule\n * @param {string[]} rules\n * @param {string[]} rulesets\n * @param {number[]} pseudo\n * @param {number[]} points\n * @param {string[]} declarations\n * @return {object}\n */\nexport function parse (value, root, parent, rule, rules, rulesets, pseudo, points, declarations) {\n\tvar index = 0\n\tvar offset = 0\n\tvar length = pseudo\n\tvar atrule = 0\n\tvar property = 0\n\tvar previous = 0\n\tvar variable = 1\n\tvar scanning = 1\n\tvar ampersand = 1\n\tvar character = 0\n\tvar type = ''\n\tvar props = rules\n\tvar children = rulesets\n\tvar reference = rule\n\tvar characters = type\n\n\twhile (scanning)\n\t\tswitch (previous = character, character = next()) {\n\t\t\t// (\n\t\t\tcase 40:\n\t\t\t\tif (previous != 108 && charat(characters, length - 1) == 58) {\n\t\t\t\t\tif (indexof(characters += replace(delimit(character), '&', '&\\f'), '&\\f') != -1)\n\t\t\t\t\t\tampersand = -1\n\t\t\t\t\tbreak\n\t\t\t\t}\n\t\t\t// \" ' [\n\t\t\tcase 34: case 39: case 91:\n\t\t\t\tcharacters += delimit(character)\n\t\t\t\tbreak\n\t\t\t// \\t \\n \\r \\s\n\t\t\tcase 9: case 10: case 13: case 32:\n\t\t\t\tcharacters += whitespace(previous)\n\t\t\t\tbreak\n\t\t\t// \\\n\t\t\tcase 92:\n\t\t\t\tcharacters += escaping(caret() - 1, 7)\n\t\t\t\tcontinue\n\t\t\t// /\n\t\t\tcase 47:\n\t\t\t\tswitch (peek()) {\n\t\t\t\t\tcase 42: case 47:\n\t\t\t\t\t\tappend(comment(commenter(next(), caret()), root, parent), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tcharacters += '/'\n\t\t\t\t}\n\t\t\t\tbreak\n\t\t\t// {\n\t\t\tcase 123 * variable:\n\t\t\t\tpoints[index++] = strlen(characters) * ampersand\n\t\t\t// } ; \\0\n\t\t\tcase 125 * variable: case 59: case 0:\n\t\t\t\tswitch (character) {\n\t\t\t\t\t// \\0 }\n\t\t\t\t\tcase 0: case 125: scanning = 0\n\t\t\t\t\t// ;\n\t\t\t\t\tcase 59 + offset:\n\t\t\t\t\t\tif (property > 0 && (strlen(characters) - length))\n\t\t\t\t\t\t\tappend(property > 32 ? declaration(characters + ';', rule, parent, length - 1) : declaration(replace(characters, ' ', '') + ';', rule, parent, length - 2), declarations)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @ ;\n\t\t\t\t\tcase 59: characters += ';'\n\t\t\t\t\t// { rule/at-rule\n\t\t\t\t\tdefault:\n\t\t\t\t\t\tappend(reference = ruleset(characters, root, parent, index, offset, rules, points, type, props = [], children = [], length), rulesets)\n\n\t\t\t\t\t\tif (character === 123)\n\t\t\t\t\t\t\tif (offset === 0)\n\t\t\t\t\t\t\t\tparse(characters, root, reference, reference, props, rulesets, length, points, children)\n\t\t\t\t\t\t\telse\n\t\t\t\t\t\t\t\tswitch (atrule === 99 && charat(characters, 3) === 110 ? 100 : atrule) {\n\t\t\t\t\t\t\t\t\t// d m s\n\t\t\t\t\t\t\t\t\tcase 100: case 109: case 115:\n\t\t\t\t\t\t\t\t\t\tparse(value, reference, reference, rule && append(ruleset(value, reference, reference, 0, 0, rules, points, type, rules, props = [], length), children), rules, children, length, points, rule ? props : children)\n\t\t\t\t\t\t\t\t\t\tbreak\n\t\t\t\t\t\t\t\t\tdefault:\n\t\t\t\t\t\t\t\t\t\tparse(characters, reference, reference, reference, [''], children, 0, points, children)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tindex = offset = property = 0, variable = ampersand = 1, type = characters = '', length = pseudo\n\t\t\t\tbreak\n\t\t\t// :\n\t\t\tcase 58:\n\t\t\t\tlength = 1 + strlen(characters), property = previous\n\t\t\tdefault:\n\t\t\t\tif (variable < 1)\n\t\t\t\t\tif (character == 123)\n\t\t\t\t\t\t--variable\n\t\t\t\t\telse if (character == 125 && variable++ == 0 && prev() == 125)\n\t\t\t\t\t\tcontinue\n\n\t\t\t\tswitch (characters += from(character), character * variable) {\n\t\t\t\t\t// &\n\t\t\t\t\tcase 38:\n\t\t\t\t\t\tampersand = offset > 0 ? 1 : (characters += '\\f', -1)\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// ,\n\t\t\t\t\tcase 44:\n\t\t\t\t\t\tpoints[index++] = (strlen(characters) - 1) * ampersand, ampersand = 1\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// @\n\t\t\t\t\tcase 64:\n\t\t\t\t\t\t// -\n\t\t\t\t\t\tif (peek() === 45)\n\t\t\t\t\t\t\tcharacters += delimit(next())\n\n\t\t\t\t\t\tatrule = peek(), offset = length = strlen(type = characters += identifier(caret())), character++\n\t\t\t\t\t\tbreak\n\t\t\t\t\t// -\n\t\t\t\t\tcase 45:\n\t\t\t\t\t\tif (previous === 45 && strlen(characters) == 2)\n\t\t\t\t\t\t\tvariable = 0\n\t\t\t\t}\n\t\t}\n\n\treturn rulesets\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} index\n * @param {number} offset\n * @param {string[]} rules\n * @param {number[]} points\n * @param {string} type\n * @param {string[]} props\n * @param {string[]} children\n * @param {number} length\n * @return {object}\n */\nexport function ruleset (value, root, parent, index, offset, rules, points, type, props, children, length) {\n\tvar post = offset - 1\n\tvar rule = offset === 0 ? rules : ['']\n\tvar size = sizeof(rule)\n\n\tfor (var i = 0, j = 0, k = 0; i < index; ++i)\n\t\tfor (var x = 0, y = substr(value, post + 1, post = abs(j = points[i])), z = value; x < size; ++x)\n\t\t\tif (z = trim(j > 0 ? rule[x] + ' ' + y : replace(y, /&\\f/g, rule[x])))\n\t\t\t\tprops[k++] = z\n\n\treturn node(value, root, parent, offset === 0 ? RULESET : type, props, children, length)\n}\n\n/**\n * @param {number} value\n * @param {object} root\n * @param {object?} parent\n * @return {object}\n */\nexport function comment (value, root, parent) {\n\treturn node(value, root, parent, COMMENT, from(char()), substr(value, 2, -2), 0)\n}\n\n/**\n * @param {string} value\n * @param {object} root\n * @param {object?} parent\n * @param {number} length\n * @return {object}\n */\nexport function declaration (value, root, parent, length) {\n\treturn node(value, root, parent, DECLARATION, substr(value, 0, length), substr(value, length + 1, -1), length)\n}\n","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nvar Entity = /*#__PURE__*/function () {\n function Entity() {\n _classCallCheck(this, Entity);\n this.cache = new Map();\n }\n _createClass(Entity, [{\n key: \"get\",\n value: function get(keys) {\n return this.cache.get(keys.join('%')) || null;\n }\n }, {\n key: \"update\",\n value: function update(keys, valueFn) {\n var path = keys.join('%');\n var prevValue = this.cache.get(path);\n var nextValue = valueFn(prevValue);\n if (nextValue === null) {\n this.cache.delete(path);\n } else {\n this.cache.set(path, nextValue);\n }\n }\n }]);\n return Entity;\n}();\nexport default Entity;","import * as React from 'react';\nimport CacheEntity from './Cache';\nexport var ATTR_TOKEN = 'data-token-hash';\nexport var ATTR_MARK = 'data-css-hash';\nexport var ATTR_DEV_CACHE_PATH = 'data-dev-cache-path';\n// Mark css-in-js instance in style element\nexport var CSS_IN_JS_INSTANCE = '__cssinjs_instance__';\nexport var CSS_IN_JS_INSTANCE_ID = Math.random().toString(12).slice(2);\nexport function createCache() {\n if (typeof document !== 'undefined') {\n var styles = document.body.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"));\n var firstChild = document.head.firstChild;\n Array.from(styles).forEach(function (style) {\n style[CSS_IN_JS_INSTANCE] = style[CSS_IN_JS_INSTANCE] || CSS_IN_JS_INSTANCE_ID;\n document.head.insertBefore(style, firstChild);\n });\n // Deduplicate of moved styles\n var styleHash = {};\n Array.from(document.querySelectorAll(\"style[\".concat(ATTR_MARK, \"]\"))).forEach(function (style) {\n var hash = style.getAttribute(ATTR_MARK);\n if (styleHash[hash]) {\n if (style[CSS_IN_JS_INSTANCE] === CSS_IN_JS_INSTANCE_ID) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n } else {\n styleHash[hash] = true;\n }\n });\n }\n return new CacheEntity();\n}\nvar StyleContext = /*#__PURE__*/React.createContext({\n hashPriority: 'low',\n cache: createCache(),\n defaultCache: true\n});\nexport var StyleProvider = function StyleProvider(props) {\n var autoClear = props.autoClear,\n mock = props.mock,\n cache = props.cache,\n hashPriority = props.hashPriority,\n container = props.container,\n children = props.children;\n var _React$useContext = React.useContext(StyleContext),\n parentCache = _React$useContext.cache,\n parentAutoClear = _React$useContext.autoClear,\n parentMock = _React$useContext.mock,\n parentDefaultCache = _React$useContext.defaultCache,\n parentHashPriority = _React$useContext.hashPriority,\n parentContainer = _React$useContext.container;\n var context = React.useMemo(function () {\n return {\n autoClear: autoClear !== null && autoClear !== void 0 ? autoClear : parentAutoClear,\n mock: mock !== null && mock !== void 0 ? mock : parentMock,\n cache: cache || parentCache || createCache(),\n defaultCache: !cache && parentDefaultCache,\n hashPriority: hashPriority !== null && hashPriority !== void 0 ? hashPriority : parentHashPriority,\n container: container || parentContainer\n };\n }, [autoClear, parentAutoClear, parentMock, parentCache, mock, cache, parentDefaultCache, hashPriority, parentHashPriority, container, parentContainer]);\n return /*#__PURE__*/React.createElement(StyleContext.Provider, {\n value: context\n }, children);\n};\nexport default StyleContext;","function useProdHMR() {\n return false;\n}\nvar webpackHMR = false;\nfunction useDevHMR() {\n return webpackHMR;\n}\nexport default process.env.NODE_ENV === 'production' ? useProdHMR : useDevHMR;\n// Webpack `module.hot.accept` do not support any deps update trigger\n// We have to hack handler to force mark as HRM\nif (process.env.NODE_ENV !== 'production' && typeof module !== 'undefined' && module && module.hot) {\n var win = window;\n if (typeof win.webpackHotUpdate === 'function') {\n var originWebpackHotUpdate = win.webpackHotUpdate;\n win.webpackHotUpdate = function () {\n webpackHMR = true;\n setTimeout(function () {\n webpackHMR = false;\n }, 0);\n return originWebpackHotUpdate.apply(void 0, arguments);\n };\n }\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport StyleContext from '../StyleContext';\nimport useHMR from './useHMR';\nexport default function useClientCache(prefix, keyPath, cacheFn, onCacheRemove) {\n var _React$useContext = React.useContext(StyleContext),\n globalCache = _React$useContext.cache;\n var fullPath = [prefix].concat(_toConsumableArray(keyPath));\n var HMRUpdate = useHMR();\n // Create cache\n React.useMemo(function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref = prevCache || [],\n _ref2 = _slicedToArray(_ref, 2),\n _ref2$ = _ref2[0],\n times = _ref2$ === void 0 ? 0 : _ref2$,\n cache = _ref2[1];\n // HMR should always ignore cache since developer may change it\n var tmpCache = cache;\n if (process.env.NODE_ENV !== 'production' && cache && HMRUpdate) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(tmpCache, HMRUpdate);\n tmpCache = null;\n }\n var mergedCache = tmpCache || cacheFn();\n return [times + 1, mergedCache];\n });\n }, /* eslint-disable react-hooks/exhaustive-deps */\n [fullPath.join('_')]);\n // Remove if no need anymore\n React.useEffect(function () {\n return function () {\n globalCache.update(fullPath, function (prevCache) {\n var _ref3 = prevCache || [],\n _ref4 = _slicedToArray(_ref3, 2),\n _ref4$ = _ref4[0],\n times = _ref4$ === void 0 ? 0 : _ref4$,\n cache = _ref4[1];\n var nextCount = times - 1;\n if (nextCount === 0) {\n onCacheRemove === null || onCacheRemove === void 0 ? void 0 : onCacheRemove(cache, false);\n return null;\n }\n return [times - 1, cache];\n });\n };\n }, fullPath);\n return globalCache.get(fullPath)[1];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport hash from '@emotion/hash';\nimport devWarning from \"rc-util/es/warning\";\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nexport function flattenToken(token) {\n var str = '';\n Object.keys(token).forEach(function (key) {\n var value = token[key];\n str += key;\n if (value && _typeof(value) === 'object') {\n str += flattenToken(value);\n } else {\n str += value;\n }\n });\n return str;\n}\n/**\n * Convert derivative token to key string\n */\nexport function token2key(token, slat) {\n return hash(\"\".concat(slat, \"_\").concat(flattenToken(token)));\n}\nexport function warning(message, path) {\n devWarning(false, \"[Ant Design CSS-in-JS] \".concat(path ? \"Error in '\".concat(path, \"': \") : '').concat(message));\n}\nexport var styleValidate = function styleValidate(key, value) {\n var info = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var path = info.path,\n hashId = info.hashId;\n switch (key) {\n case 'content':\n // From emotion: https://github.com/emotion-js/emotion/blob/main/packages/serialize/src/index.js#L63\n var contentValuePattern = /(attr|counters?|url|(((repeating-)?(linear|radial))|conic)-gradient)\\(|(no-)?(open|close)-quote/;\n var contentValues = ['normal', 'none', 'initial', 'inherit', 'unset'];\n if (typeof value !== 'string' || contentValues.indexOf(value) === -1 && !contentValuePattern.test(value) && (value.charAt(0) !== value.charAt(value.length - 1) || value.charAt(0) !== '\"' && value.charAt(0) !== \"'\")) {\n warning(\"You seem to be using a value for 'content' without quotes, try replacing it with `content: '\\\"\".concat(value, \"\\\"'`\"), path);\n }\n return;\n case 'marginLeft':\n case 'marginRight':\n case 'paddingLeft':\n case 'paddingRight':\n case 'left':\n case 'right':\n case 'borderLeft':\n case 'borderLeftWidth':\n case 'borderLeftStyle':\n case 'borderLeftColor':\n case 'borderRight':\n case 'borderRightWidth':\n case 'borderRightStyle':\n case 'borderRightColor':\n case 'borderTopLeftRadius':\n case 'borderTopRightRadius':\n case 'borderBottomLeftRadius':\n case 'borderBottomRightRadius':\n warning(\"You seem to be using non-logical property '\".concat(key, \"' which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.\"), path);\n return;\n case 'margin':\n case 'padding':\n case 'borderWidth':\n case 'borderStyle':\n // case 'borderColor':\n if (typeof value === 'string') {\n var valueArr = value.split(' ').map(function (item) {\n return item.trim();\n });\n if (valueArr.length === 4 && valueArr[1] !== valueArr[3]) {\n warning(\"You seem to be using '\".concat(key, \"' property with different left \").concat(key, \" and right \").concat(key, \", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.\"), path);\n }\n }\n return;\n case 'clear':\n case 'textAlign':\n if (value === 'left' || value === 'right') {\n warning(\"You seem to be using non-logical value '\".concat(value, \"' of \").concat(key, \", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.\"), path);\n }\n return;\n case 'borderRadius':\n if (typeof value === 'string') {\n var radiusGroups = value.split('/').map(function (item) {\n return item.trim();\n });\n var invalid = radiusGroups.reduce(function (result, group) {\n if (result) {\n return result;\n }\n var radiusArr = group.split(' ').map(function (item) {\n return item.trim();\n });\n // borderRadius: '2px 4px'\n if (radiusArr.length >= 2 && radiusArr[0] !== radiusArr[1]) {\n return true;\n }\n // borderRadius: '4px 4px 2px'\n if (radiusArr.length === 3 && radiusArr[1] !== radiusArr[2]) {\n return true;\n }\n // borderRadius: '4px 4px 2px 4px'\n if (radiusArr.length === 4 && radiusArr[2] !== radiusArr[3]) {\n return true;\n }\n return result;\n }, false);\n if (invalid) {\n warning(\"You seem to be using non-logical value '\".concat(value, \"' of \").concat(key, \", which is not compatible with RTL mode. Please use logical properties and values instead. For more information: https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties.\"), path);\n }\n }\n return;\n case 'animation':\n if (hashId && value !== 'none') {\n warning(\"You seem to be using hashed animation '\".concat(value, \"', in which case 'animationName' with Keyframe as value is recommended.\"), path);\n }\n default:\n return;\n }\n};\nvar layerKey = \"layer-\".concat(Date.now(), \"-\").concat(Math.random()).replace(/\\./g, '');\nvar layerWidth = '903px';\nfunction supportSelector(styleStr, handleElement) {\n if (canUseDom()) {\n var _ele$parentNode;\n updateCSS(styleStr, layerKey);\n var ele = document.createElement('div');\n ele.style.position = 'fixed';\n ele.style.left = '0';\n ele.style.top = '0';\n handleElement === null || handleElement === void 0 ? void 0 : handleElement(ele);\n document.body.appendChild(ele);\n if (process.env.NODE_ENV !== 'production') {\n ele.innerHTML = 'Test';\n ele.style.zIndex = '9999999';\n }\n var support = getComputedStyle(ele).width === layerWidth;\n (_ele$parentNode = ele.parentNode) === null || _ele$parentNode === void 0 ? void 0 : _ele$parentNode.removeChild(ele);\n removeCSS(layerKey);\n return support;\n }\n return false;\n}\nvar canLayer = undefined;\nexport function supportLayer() {\n if (canLayer === undefined) {\n canLayer = supportSelector(\"@layer \".concat(layerKey, \" { .\").concat(layerKey, \" { width: \").concat(layerWidth, \"!important; } }\"), function (ele) {\n ele.className = layerKey;\n });\n }\n return canLayer;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport * as React from 'react';\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport hash from '@emotion/hash';\n// @ts-ignore\nimport unitless from '@emotion/unitless';\nimport { compile, serialize, stringify } from 'stylis';\nimport useGlobalCache from './useGlobalCache';\nimport StyleContext, { ATTR_MARK, ATTR_TOKEN, ATTR_DEV_CACHE_PATH, CSS_IN_JS_INSTANCE, CSS_IN_JS_INSTANCE_ID } from '../StyleContext';\nimport { styleValidate, supportLayer } from '../util';\nvar isClientSide = canUseDom();\nvar SKIP_CHECK = '_skip_check_';\n// ============================================================================\n// == Parser ==\n// ============================================================================\n// Preprocessor style content to browser support one\nexport function normalizeStyle(styleStr) {\n var serialized = serialize(compile(styleStr), stringify);\n return serialized.replace(/\\{%%%\\:[^;];}/g, ';');\n}\nfunction isCompoundCSSProperty(value) {\n return _typeof(value) === 'object' && value && SKIP_CHECK in value;\n}\nexport var animationStatistics = {};\n// 注入 hash 值\nfunction injectSelectorHash(key, hashId, hashPriority) {\n if (!hashId) {\n return key;\n }\n var hashClassName = \".\".concat(hashId);\n var hashSelector = hashPriority === 'low' ? \":where(\".concat(hashClassName, \")\") : hashClassName;\n // 注入 hashId\n var keys = key.split(',').map(function (k) {\n var _firstPath$match;\n var fullPath = k.trim().split(/\\s+/);\n // 如果 Selector 第一个是 HTML Element,那我们就插到它的后面。反之,就插到最前面。\n var firstPath = fullPath[0] || '';\n var htmlElement = ((_firstPath$match = firstPath.match(/^\\w+/)) === null || _firstPath$match === void 0 ? void 0 : _firstPath$match[0]) || '';\n firstPath = \"\".concat(htmlElement).concat(hashSelector).concat(firstPath.slice(htmlElement.length));\n return [firstPath].concat(_toConsumableArray(fullPath.slice(1))).join(' ');\n });\n return keys.join(',');\n}\n// Global effect style will mount once and not removed\n// The effect will not save in SSR cache (e.g. keyframes)\nvar globalEffectStyleKeys = new Set();\n/**\n * @private Test only. Clear the global effect style keys.\n */\nexport var _cf = process.env.NODE_ENV !== 'production' ? function () {\n return globalEffectStyleKeys.clear();\n} : undefined;\n// Parse CSSObject to style content\nexport var parseStyle = function parseStyle(interpolation) {\n var config = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var _ref = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n root: true\n },\n root = _ref.root,\n injectHash = _ref.injectHash;\n var hashId = config.hashId,\n layer = config.layer,\n path = config.path,\n hashPriority = config.hashPriority;\n var styleStr = '';\n var effectStyle = {};\n function parseKeyframes(keyframes) {\n var animationName = keyframes.getName(hashId);\n if (!effectStyle[animationName]) {\n var _parseStyle = parseStyle(keyframes.style, config, {\n root: false\n }),\n _parseStyle2 = _slicedToArray(_parseStyle, 1),\n parsedStr = _parseStyle2[0];\n effectStyle[animationName] = \"@keyframes \".concat(keyframes.getName(hashId)).concat(parsedStr);\n }\n }\n function flattenList(list) {\n var fullList = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n list.forEach(function (item) {\n if (Array.isArray(item)) {\n flattenList(item, fullList);\n } else if (item) {\n fullList.push(item);\n }\n });\n return fullList;\n }\n var flattenStyleList = flattenList(Array.isArray(interpolation) ? interpolation : [interpolation]);\n flattenStyleList.forEach(function (originStyle) {\n // Only root level can use raw string\n var style = typeof originStyle === 'string' && !root ? {} : originStyle;\n if (typeof style === 'string') {\n styleStr += \"\".concat(style, \"\\n\");\n } else if (style._keyframe) {\n // Keyframe\n parseKeyframes(style);\n } else {\n // Normal CSSObject\n Object.keys(style).forEach(function (key) {\n var value = style[key];\n if (_typeof(value) === 'object' && value && (key !== 'animationName' || !value._keyframe) && !isCompoundCSSProperty(value)) {\n var subInjectHash = false;\n // 当成嵌套对象来处理\n var mergedKey = key.trim();\n // Whether treat child as root. In most case it is false.\n var nextRoot = false;\n // 拆分多个选择器\n if ((root || injectHash) && hashId) {\n if (mergedKey.startsWith('@')) {\n // 略过媒体查询,交给子节点继续插入 hashId\n subInjectHash = true;\n } else {\n // 注入 hashId\n mergedKey = injectSelectorHash(key, hashId, hashPriority);\n }\n } else if (root && !hashId && (mergedKey === '&' || mergedKey === '')) {\n // In case of `{ '&': { a: { color: 'red' } } }` or `{ '': { a: { color: 'red' } } }` without hashId,\n // we will get `&{a:{color:red;}}` or `{a:{color:red;}}` string for stylis to compile.\n // But it does not conform to stylis syntax,\n // and finally we will get `{color:red;}` as css, which is wrong.\n // So we need to remove key in root, and treat child `{ a: { color: 'red' } }` as root.\n mergedKey = '';\n nextRoot = true;\n }\n var _parseStyle3 = parseStyle(value, _objectSpread(_objectSpread({}, config), {}, {\n path: \"\".concat(path, \" -> \").concat(mergedKey)\n }), {\n root: nextRoot,\n injectHash: subInjectHash\n }),\n _parseStyle4 = _slicedToArray(_parseStyle3, 2),\n parsedStr = _parseStyle4[0],\n childEffectStyle = _parseStyle4[1];\n effectStyle = _objectSpread(_objectSpread({}, effectStyle), childEffectStyle);\n styleStr += \"\".concat(mergedKey).concat(parsedStr);\n } else {\n var _value$value;\n var actualValue = (_value$value = value === null || value === void 0 ? void 0 : value.value) !== null && _value$value !== void 0 ? _value$value : value;\n if (process.env.NODE_ENV !== 'production' && (_typeof(value) !== 'object' || !(value === null || value === void 0 ? void 0 : value[SKIP_CHECK]))) {\n styleValidate(key, actualValue, {\n path: path,\n hashId: hashId\n });\n }\n // 如果是样式则直接插入\n var styleName = key.replace(/[A-Z]/g, function (match) {\n return \"-\".concat(match.toLowerCase());\n });\n // Auto suffix with px\n var formatValue = actualValue;\n if (!unitless[key] && typeof formatValue === 'number' && formatValue !== 0) {\n formatValue = \"\".concat(formatValue, \"px\");\n }\n // handle animationName & Keyframe value\n if (key === 'animationName' && (value === null || value === void 0 ? void 0 : value._keyframe)) {\n parseKeyframes(value);\n formatValue = value.getName(hashId);\n }\n styleStr += \"\".concat(styleName, \":\").concat(formatValue, \";\");\n }\n });\n }\n });\n if (!root) {\n styleStr = \"{\".concat(styleStr, \"}\");\n } else if (layer && supportLayer()) {\n var layerCells = layer.split(',');\n var layerName = layerCells[layerCells.length - 1].trim();\n styleStr = \"@layer \".concat(layerName, \" {\").concat(styleStr, \"}\");\n // Order of layer if needed\n if (layerCells.length > 1) {\n // zombieJ: stylis do not support layer order, so we need to handle it manually.\n styleStr = \"@layer \".concat(layer, \"{%%%:%}\").concat(styleStr);\n }\n }\n return [styleStr, effectStyle];\n};\n// ============================================================================\n// == Register ==\n// ============================================================================\nfunction uniqueHash(path, styleStr) {\n return hash(\"\".concat(path.join('%')).concat(styleStr));\n}\nfunction Empty() {\n return null;\n}\n/**\n * Register a style to the global style sheet.\n */\nexport default function useStyleRegister(info, styleFn) {\n var token = info.token,\n path = info.path,\n hashId = info.hashId,\n layer = info.layer;\n var _React$useContext = React.useContext(StyleContext),\n autoClear = _React$useContext.autoClear,\n mock = _React$useContext.mock,\n defaultCache = _React$useContext.defaultCache,\n hashPriority = _React$useContext.hashPriority,\n container = _React$useContext.container;\n var tokenKey = token._tokenKey;\n var fullPath = [tokenKey].concat(_toConsumableArray(path));\n // Check if need insert style\n var isMergedClientSide = isClientSide;\n if (process.env.NODE_ENV !== 'production' && mock !== undefined) {\n isMergedClientSide = mock === 'client';\n }\n var _useGlobalCache = useGlobalCache('style', fullPath,\n // Create cache if needed\n function () {\n var styleObj = styleFn();\n var _parseStyle5 = parseStyle(styleObj, {\n hashId: hashId,\n hashPriority: hashPriority,\n layer: layer,\n path: path.join('-')\n }),\n _parseStyle6 = _slicedToArray(_parseStyle5, 2),\n parsedStyle = _parseStyle6[0],\n effectStyle = _parseStyle6[1];\n var styleStr = normalizeStyle(parsedStyle);\n var styleId = uniqueHash(fullPath, styleStr);\n // Clear animation statistics\n animationStatistics = {};\n if (isMergedClientSide) {\n var style = updateCSS(styleStr, styleId, {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container\n });\n style[CSS_IN_JS_INSTANCE] = CSS_IN_JS_INSTANCE_ID;\n // Used for `useCacheToken` to remove on batch when token removed\n style.setAttribute(ATTR_TOKEN, tokenKey);\n // Dev usage to find which cache path made this easily\n if (process.env.NODE_ENV !== 'production') {\n style.setAttribute(ATTR_DEV_CACHE_PATH, fullPath.join('|'));\n }\n // Inject client side effect style\n Object.keys(effectStyle).forEach(function (effectKey) {\n if (!globalEffectStyleKeys.has(effectKey)) {\n globalEffectStyleKeys.add(effectKey);\n // Inject\n updateCSS(normalizeStyle(effectStyle[effectKey]), \"_effect-\".concat(effectKey), {\n mark: ATTR_MARK,\n prepend: 'queue',\n attachTo: container\n });\n }\n });\n }\n return [styleStr, tokenKey, styleId];\n },\n // Remove cache if no need\n function (_ref2, fromHMR) {\n var _ref3 = _slicedToArray(_ref2, 3),\n styleId = _ref3[2];\n if ((fromHMR || autoClear) && isClientSide) {\n removeCSS(styleId, {\n mark: ATTR_MARK\n });\n }\n }),\n _useGlobalCache2 = _slicedToArray(_useGlobalCache, 3),\n cachedStyleStr = _useGlobalCache2[0],\n cachedTokenKey = _useGlobalCache2[1],\n cachedStyleId = _useGlobalCache2[2];\n return function (node) {\n var styleNode;\n if (isMergedClientSide || !defaultCache) {\n styleNode = /*#__PURE__*/React.createElement(Empty, null);\n } else {\n var _objectSpread2;\n styleNode = /*#__PURE__*/React.createElement(\"style\", _objectSpread(_objectSpread({}, (_objectSpread2 = {}, _defineProperty(_objectSpread2, ATTR_TOKEN, cachedTokenKey), _defineProperty(_objectSpread2, ATTR_MARK, cachedStyleId), _objectSpread2)), {}, {\n dangerouslySetInnerHTML: {\n __html: cachedStyleStr\n }\n }));\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, styleNode, node);\n };\n}\n// ============================================================================\n// == SSR ==\n// ============================================================================\nexport function extractStyle(cache) {\n // prefix with `style` is used for `useStyleRegister` to cache style context\n var styleKeys = Array.from(cache.cache.keys()).filter(function (key) {\n return key.startsWith('style%');\n });\n // const tokenStyles: Record = {};\n var styleText = '';\n styleKeys.forEach(function (key) {\n var _cache$cache$get$ = _slicedToArray(cache.cache.get(key)[1], 3),\n styleStr = _cache$cache$get$[0],\n tokenKey = _cache$cache$get$[1],\n styleId = _cache$cache$get$[2];\n styleText += \"\");\n });\n return styleText;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport hash from '@emotion/hash';\nimport { ATTR_TOKEN, CSS_IN_JS_INSTANCE, CSS_IN_JS_INSTANCE_ID } from '../StyleContext';\nimport useGlobalCache from './useGlobalCache';\nimport { flattenToken, token2key } from '../util';\nvar EMPTY_OVERRIDE = {};\n// Generate different prefix to make user selector break in production env.\n// This helps developer not to do style override directly on the hash id.\nvar hashPrefix = process.env.NODE_ENV !== 'production' ? 'css-dev-only-do-not-override' : 'css';\nvar tokenKeys = new Map();\nfunction recordCleanToken(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) + 1);\n}\nfunction removeStyleTags(key) {\n if (typeof document !== 'undefined') {\n var styles = document.querySelectorAll(\"style[\".concat(ATTR_TOKEN, \"=\\\"\").concat(key, \"\\\"]\"));\n styles.forEach(function (style) {\n if (style[CSS_IN_JS_INSTANCE] === CSS_IN_JS_INSTANCE_ID) {\n var _style$parentNode;\n (_style$parentNode = style.parentNode) === null || _style$parentNode === void 0 ? void 0 : _style$parentNode.removeChild(style);\n }\n });\n }\n}\n// Remove will check current keys first\nfunction cleanTokenStyle(tokenKey) {\n tokenKeys.set(tokenKey, (tokenKeys.get(tokenKey) || 0) - 1);\n var tokenKeyList = Array.from(tokenKeys.keys());\n var cleanableKeyList = tokenKeyList.filter(function (key) {\n var count = tokenKeys.get(key) || 0;\n return count <= 0;\n });\n if (cleanableKeyList.length < tokenKeyList.length) {\n cleanableKeyList.forEach(function (key) {\n removeStyleTags(key);\n tokenKeys.delete(key);\n });\n }\n}\n/**\n * Cache theme derivative token as global shared one\n * @param theme Theme entity\n * @param tokens List of tokens, used for cache. Please do not dynamic generate object directly\n * @param option Additional config\n * @returns Call Theme.getDerivativeToken(tokenObject) to get token\n */\nexport default function useCacheToken(theme, tokens) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var _option$salt = option.salt,\n salt = _option$salt === void 0 ? '' : _option$salt,\n _option$override = option.override,\n override = _option$override === void 0 ? EMPTY_OVERRIDE : _option$override,\n formatToken = option.formatToken;\n // Basic - We do basic cache here\n var mergedToken = React.useMemo(function () {\n return Object.assign.apply(Object, [{}].concat(_toConsumableArray(tokens)));\n }, [tokens]);\n var tokenStr = React.useMemo(function () {\n return flattenToken(mergedToken);\n }, [mergedToken]);\n var overrideTokenStr = React.useMemo(function () {\n return flattenToken(override);\n }, [override]);\n var cachedToken = useGlobalCache('token', [salt, theme.id, tokenStr, overrideTokenStr], function () {\n var derivativeToken = theme.getDerivativeToken(mergedToken);\n // Merge with override\n var mergedDerivativeToken = _objectSpread(_objectSpread({}, derivativeToken), override);\n // Format if needed\n if (formatToken) {\n mergedDerivativeToken = formatToken(mergedDerivativeToken);\n }\n // Optimize for `useStyleRegister` performance\n var tokenKey = token2key(mergedDerivativeToken, salt);\n mergedDerivativeToken._tokenKey = tokenKey;\n recordCleanToken(tokenKey);\n var hashId = \"\".concat(hashPrefix, \"-\").concat(hash(tokenKey));\n mergedDerivativeToken._hashId = hashId; // Not used\n return [mergedDerivativeToken, hashId];\n }, function (cache) {\n // Remove token will remove all related style\n cleanTokenStyle(cache[0]._tokenKey);\n });\n return cachedToken;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nvar Keyframe = /*#__PURE__*/function () {\n function Keyframe(name, style) {\n _classCallCheck(this, Keyframe);\n this.name = void 0;\n this.style = void 0;\n this._keyframe = true;\n this.name = name;\n this.style = style;\n }\n _createClass(Keyframe, [{\n key: \"getName\",\n value: function getName() {\n var hashId = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : '';\n return hashId ? \"\".concat(hashId, \"-\").concat(this.name) : this.name;\n }\n }]);\n return Keyframe;\n}();\nexport default Keyframe;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nexport function sameDerivativeOption(left, right) {\n if (left.length !== right.length) {\n return false;\n }\n for (var i = 0; i < left.length; i++) {\n if (left[i] !== right[i]) {\n return false;\n }\n }\n return true;\n}\nvar ThemeCache = /*#__PURE__*/function () {\n function ThemeCache() {\n _classCallCheck(this, ThemeCache);\n this.cache = void 0;\n this.keys = void 0;\n this.cacheCallTimes = void 0;\n this.cache = new Map();\n this.keys = [];\n this.cacheCallTimes = 0;\n }\n _createClass(ThemeCache, [{\n key: \"size\",\n value: function size() {\n return this.keys.length;\n }\n }, {\n key: \"internalGet\",\n value: function internalGet(derivativeOption) {\n var _cache2, _cache3;\n var updateCallTimes = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var cache = {\n map: this.cache\n };\n derivativeOption.forEach(function (derivative) {\n if (!cache) {\n cache = undefined;\n } else {\n var _cache, _cache$map;\n cache = (_cache = cache) === null || _cache === void 0 ? void 0 : (_cache$map = _cache.map) === null || _cache$map === void 0 ? void 0 : _cache$map.get(derivative);\n }\n });\n if (((_cache2 = cache) === null || _cache2 === void 0 ? void 0 : _cache2.value) && updateCallTimes) {\n cache.value[1] = this.cacheCallTimes++;\n }\n return (_cache3 = cache) === null || _cache3 === void 0 ? void 0 : _cache3.value;\n }\n }, {\n key: \"get\",\n value: function get(derivativeOption) {\n var _this$internalGet;\n return (_this$internalGet = this.internalGet(derivativeOption, true)) === null || _this$internalGet === void 0 ? void 0 : _this$internalGet[0];\n }\n }, {\n key: \"has\",\n value: function has(derivativeOption) {\n return !!this.internalGet(derivativeOption);\n }\n }, {\n key: \"set\",\n value: function set(derivativeOption, value) {\n var _this = this;\n // New cache\n if (!this.has(derivativeOption)) {\n if (this.size() + 1 > ThemeCache.MAX_CACHE_SIZE + ThemeCache.MAX_CACHE_OFFSET) {\n var _this$keys$reduce = this.keys.reduce(function (result, key) {\n var _result = _slicedToArray(result, 2),\n callTimes = _result[1];\n if (_this.internalGet(key)[1] < callTimes) {\n return [key, _this.internalGet(key)[1]];\n }\n return result;\n }, [this.keys[0], this.cacheCallTimes]),\n _this$keys$reduce2 = _slicedToArray(_this$keys$reduce, 1),\n targetKey = _this$keys$reduce2[0];\n this.delete(targetKey);\n }\n this.keys.push(derivativeOption);\n }\n var cache = this.cache;\n derivativeOption.forEach(function (derivative, index) {\n if (index === derivativeOption.length - 1) {\n cache.set(derivative, {\n value: [value, _this.cacheCallTimes++]\n });\n } else {\n var cacheValue = cache.get(derivative);\n if (!cacheValue) {\n cache.set(derivative, {\n map: new Map()\n });\n } else if (!cacheValue.map) {\n cacheValue.map = new Map();\n }\n cache = cache.get(derivative).map;\n }\n });\n }\n }, {\n key: \"deleteByPath\",\n value: function deleteByPath(currentCache, derivatives) {\n var cache = currentCache.get(derivatives[0]);\n if (derivatives.length === 1) {\n var _cache$value;\n if (!cache.map) {\n currentCache.delete(derivatives[0]);\n } else {\n currentCache.set(derivatives[0], {\n map: cache.map\n });\n }\n return (_cache$value = cache.value) === null || _cache$value === void 0 ? void 0 : _cache$value[0];\n }\n var result = this.deleteByPath(cache.map, derivatives.slice(1));\n if ((!cache.map || cache.map.size === 0) && !cache.value) {\n currentCache.delete(derivatives[0]);\n }\n return result;\n }\n }, {\n key: \"delete\",\n value: function _delete(derivativeOption) {\n // If cache exists\n if (this.has(derivativeOption)) {\n this.keys = this.keys.filter(function (item) {\n return !sameDerivativeOption(item, derivativeOption);\n });\n return this.deleteByPath(this.cache, derivativeOption);\n }\n return undefined;\n }\n }]);\n return ThemeCache;\n}();\nThemeCache.MAX_CACHE_SIZE = 20;\nThemeCache.MAX_CACHE_OFFSET = 5;\nexport { ThemeCache as default };","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport { warning } from \"rc-util/es/warning\";\nvar uuid = 0;\n/**\n * Theme with algorithms to derive tokens from design tokens.\n * Use `createTheme` first which will help to manage the theme instance cache.\n */\nvar Theme = /*#__PURE__*/function () {\n function Theme(derivatives) {\n _classCallCheck(this, Theme);\n this.derivatives = void 0;\n this.id = void 0;\n this.derivatives = Array.isArray(derivatives) ? derivatives : [derivatives];\n this.id = uuid;\n if (derivatives.length === 0) {\n warning(derivatives.length > 0, '[Ant Design CSS-in-JS] Theme should have at least one derivative function.');\n }\n uuid += 1;\n }\n _createClass(Theme, [{\n key: \"getDerivativeToken\",\n value: function getDerivativeToken(token) {\n return this.derivatives.reduce(function (result, derivative) {\n return derivative(token, result);\n }, undefined);\n }\n }]);\n return Theme;\n}();\nexport { Theme as default };","import ThemeCache from './ThemeCache';\nimport Theme from './Theme';\nvar cacheThemes = new ThemeCache();\n/**\n * Same as new Theme, but will always return same one if `derivative` not changed.\n */\nexport default function createTheme(derivatives) {\n var derivativeArr = Array.isArray(derivatives) ? derivatives : [derivatives];\n // Create new theme if not exist\n if (!cacheThemes.has(derivativeArr)) {\n cacheThemes.set(derivativeArr, new Theme(derivativeArr));\n }\n // Get theme from cache and return\n return cacheThemes.get(derivativeArr);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { generate as generateColor } from '@ant-design/colors';\nimport React, { useContext, useEffect } from 'react';\nimport warn from \"rc-util/es/warning\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport IconContext from './components/Context';\nexport function warning(valid, message) {\n warn(valid, \"[@ant-design/icons] \".concat(message));\n}\nexport function isIconDefinition(target) {\n return _typeof(target) === 'object' && typeof target.name === 'string' && typeof target.theme === 'string' && (_typeof(target.icon) === 'object' || typeof target.icon === 'function');\n}\nexport function normalizeAttrs() {\n var attrs = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n return Object.keys(attrs).reduce(function (acc, key) {\n var val = attrs[key];\n switch (key) {\n case 'class':\n acc.className = val;\n delete acc.class;\n break;\n default:\n acc[key] = val;\n }\n return acc;\n }, {});\n}\nexport function generate(node, key, rootProps) {\n if (!rootProps) {\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n }\n return /*#__PURE__*/React.createElement(node.tag, _objectSpread(_objectSpread({\n key: key\n }, normalizeAttrs(node.attrs)), rootProps), (node.children || []).map(function (child, index) {\n return generate(child, \"\".concat(key, \"-\").concat(node.tag, \"-\").concat(index));\n }));\n}\nexport function getSecondaryColor(primaryColor) {\n // choose the second color\n return generateColor(primaryColor)[0];\n}\nexport function normalizeTwoToneColors(twoToneColor) {\n if (!twoToneColor) {\n return [];\n }\n return Array.isArray(twoToneColor) ? twoToneColor : [twoToneColor];\n}\n// These props make sure that the SVG behaviours like general text.\n// Reference: https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\nexport var svgBaseProps = {\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true',\n focusable: 'false'\n};\nexport var iconStyles = \"\\n.anticon {\\n display: inline-block;\\n color: inherit;\\n font-style: normal;\\n line-height: 0;\\n text-align: center;\\n text-transform: none;\\n vertical-align: -0.125em;\\n text-rendering: optimizeLegibility;\\n -webkit-font-smoothing: antialiased;\\n -moz-osx-font-smoothing: grayscale;\\n}\\n\\n.anticon > * {\\n line-height: 1;\\n}\\n\\n.anticon svg {\\n display: inline-block;\\n}\\n\\n.anticon::before {\\n display: none;\\n}\\n\\n.anticon .anticon-icon {\\n display: block;\\n}\\n\\n.anticon[tabindex] {\\n cursor: pointer;\\n}\\n\\n.anticon-spin::before,\\n.anticon-spin {\\n display: inline-block;\\n -webkit-animation: loadingCircle 1s infinite linear;\\n animation: loadingCircle 1s infinite linear;\\n}\\n\\n@-webkit-keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\\n@keyframes loadingCircle {\\n 100% {\\n -webkit-transform: rotate(360deg);\\n transform: rotate(360deg);\\n }\\n}\\n\";\nexport var useInsertStyles = function useInsertStyles() {\n var styleStr = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : iconStyles;\n var _useContext = useContext(IconContext),\n csp = _useContext.csp;\n useEffect(function () {\n updateCSS(styleStr, '@ant-design-icons', {\n prepend: true,\n csp: csp\n });\n }, []);\n};","import _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar _excluded = [\"icon\", \"className\", \"onClick\", \"style\", \"primaryColor\", \"secondaryColor\"];\nimport { generate, getSecondaryColor, isIconDefinition, warning, useInsertStyles } from '../utils';\nvar twoToneColorPalette = {\n primaryColor: '#333',\n secondaryColor: '#E6E6E6',\n calculated: false\n};\nfunction setTwoToneColors(_ref) {\n var primaryColor = _ref.primaryColor,\n secondaryColor = _ref.secondaryColor;\n twoToneColorPalette.primaryColor = primaryColor;\n twoToneColorPalette.secondaryColor = secondaryColor || getSecondaryColor(primaryColor);\n twoToneColorPalette.calculated = !!secondaryColor;\n}\nfunction getTwoToneColors() {\n return _objectSpread({}, twoToneColorPalette);\n}\nvar IconBase = function IconBase(props) {\n var icon = props.icon,\n className = props.className,\n onClick = props.onClick,\n style = props.style,\n primaryColor = props.primaryColor,\n secondaryColor = props.secondaryColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var colors = twoToneColorPalette;\n if (primaryColor) {\n colors = {\n primaryColor: primaryColor,\n secondaryColor: secondaryColor || getSecondaryColor(primaryColor)\n };\n }\n useInsertStyles();\n warning(isIconDefinition(icon), \"icon should be icon definiton, but got \".concat(icon));\n if (!isIconDefinition(icon)) {\n return null;\n }\n var target = icon;\n if (target && typeof target.icon === 'function') {\n target = _objectSpread(_objectSpread({}, target), {}, {\n icon: target.icon(colors.primaryColor, colors.secondaryColor)\n });\n }\n return generate(target.icon, \"svg-\".concat(target.name), _objectSpread({\n className: className,\n onClick: onClick,\n style: style,\n 'data-icon': target.name,\n width: '1em',\n height: '1em',\n fill: 'currentColor',\n 'aria-hidden': 'true'\n }, restProps));\n};\nIconBase.displayName = 'IconReact';\nIconBase.getTwoToneColors = getTwoToneColors;\nIconBase.setTwoToneColors = setTwoToneColors;\nexport default IconBase;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ReactIcon from './IconBase';\nimport { normalizeTwoToneColors } from '../utils';\nexport function setTwoToneColor(twoToneColor) {\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return ReactIcon.setTwoToneColors({\n primaryColor: primaryColor,\n secondaryColor: secondaryColor\n });\n}\nexport function getTwoToneColor() {\n var colors = ReactIcon.getTwoToneColors();\n if (!colors.calculated) {\n return colors.primaryColor;\n }\n return [colors.primaryColor, colors.secondaryColor];\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"className\", \"icon\", \"spin\", \"rotate\", \"tabIndex\", \"onClick\", \"twoToneColor\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport Context from './Context';\nimport ReactIcon from './IconBase';\nimport { getTwoToneColor, setTwoToneColor } from './twoTonePrimaryColor';\nimport { normalizeTwoToneColors } from '../utils';\n// Initial setting\n// should move it to antd main repo?\nsetTwoToneColor('#1890ff');\nvar Icon = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var className = props.className,\n icon = props.icon,\n spin = props.spin,\n rotate = props.rotate,\n tabIndex = props.tabIndex,\n onClick = props.onClick,\n twoToneColor = props.twoToneColor,\n restProps = _objectWithoutProperties(props, _excluded);\n var _React$useContext = React.useContext(Context),\n _React$useContext$pre = _React$useContext.prefixCls,\n prefixCls = _React$useContext$pre === void 0 ? 'anticon' : _React$useContext$pre,\n rootClassName = _React$useContext.rootClassName;\n var classString = classNames(rootClassName, prefixCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-\").concat(icon.name), !!icon.name), _defineProperty(_classNames, \"\".concat(prefixCls, \"-spin\"), !!spin || icon.name === 'loading'), _classNames), className);\n var iconTabIndex = tabIndex;\n if (iconTabIndex === undefined && onClick) {\n iconTabIndex = -1;\n }\n var svgStyle = rotate ? {\n msTransform: \"rotate(\".concat(rotate, \"deg)\"),\n transform: \"rotate(\".concat(rotate, \"deg)\")\n } : undefined;\n var _normalizeTwoToneColo = normalizeTwoToneColors(twoToneColor),\n _normalizeTwoToneColo2 = _slicedToArray(_normalizeTwoToneColo, 2),\n primaryColor = _normalizeTwoToneColo2[0],\n secondaryColor = _normalizeTwoToneColo2[1];\n return /*#__PURE__*/React.createElement(\"span\", _objectSpread(_objectSpread({\n role: \"img\",\n \"aria-label\": icon.name\n }, restProps), {}, {\n ref: ref,\n tabIndex: iconTabIndex,\n onClick: onClick,\n className: classString\n }), /*#__PURE__*/React.createElement(ReactIcon, {\n icon: icon,\n primaryColor: primaryColor,\n secondaryColor: secondaryColor,\n style: svgStyle\n }));\n});\nIcon.displayName = 'AntdIcon';\nIcon.getTwoToneColor = getTwoToneColor;\nIcon.setTwoToneColor = setTwoToneColor;\nexport default Icon;","import { createContext } from 'react';\nvar IconContext = /*#__PURE__*/createContext({});\nexport default IconContext;","// This icon file is generated automatically.\nvar CheckCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm193.5 301.7l-210.6 292a31.8 31.8 0 01-51.7 0L318.5 484.9c-3.8-5.3 0-12.7 6.5-12.7h46.9c10.2 0 19.9 4.9 25.9 13.3l71.2 98.8 157.2-218c6-8.3 15.6-13.3 25.9-13.3H699c6.5 0 10.3 7.4 6.5 12.7z\" } }] }, \"name\": \"check-circle\", \"theme\": \"filled\" };\nexport default CheckCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CheckCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CheckCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar CheckCircleFilled = function CheckCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CheckCircleFilledSvg\n }));\n};\nCheckCircleFilled.displayName = 'CheckCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(CheckCircleFilled);","// This icon file is generated automatically.\nvar CheckOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M912 190h-69.9c-9.8 0-19.1 4.5-25.1 12.2L404.7 724.5 207 474a32 32 0 00-25.1-12.2H112c-6.7 0-10.4 7.7-6.3 12.9l273.9 347c12.8 16.2 37.4 16.2 50.3 0l488.4-618.9c4.1-5.1.4-12.8-6.3-12.8z\" } }] }, \"name\": \"check\", \"theme\": \"outlined\" };\nexport default CheckOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CheckOutlinedSvg from \"@ant-design/icons-svg/es/asn/CheckOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CheckOutlined = function CheckOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CheckOutlinedSvg\n }));\n};\nCheckOutlined.displayName = 'CheckOutlined';\nexport default /*#__PURE__*/React.forwardRef(CheckOutlined);","// This icon file is generated automatically.\nvar CloseCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm165.4 618.2l-66-.3L512 563.4l-99.3 118.4-66.1.3c-4.4 0-8-3.5-8-8 0-1.9.7-3.7 1.9-5.2l130.1-155L340.5 359a8.32 8.32 0 01-1.9-5.2c0-4.4 3.6-8 8-8l66.1.3L512 464.6l99.3-118.4 66-.3c4.4 0 8 3.5 8 8 0 1.9-.7 3.7-1.9 5.2L553.5 514l130 155c1.2 1.5 1.9 3.3 1.9 5.2 0 4.4-3.6 8-8 8z\" } }] }, \"name\": \"close-circle\", \"theme\": \"filled\" };\nexport default CloseCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseCircleFilledSvg from \"@ant-design/icons-svg/es/asn/CloseCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar CloseCircleFilled = function CloseCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseCircleFilledSvg\n }));\n};\nCloseCircleFilled.displayName = 'CloseCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(CloseCircleFilled);","// This icon file is generated automatically.\nvar CloseOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M563.8 512l262.5-312.9c4.4-5.2.7-13.1-6.1-13.1h-79.8c-4.7 0-9.2 2.1-12.3 5.7L511.6 449.8 295.1 191.7c-3-3.6-7.5-5.7-12.3-5.7H203c-6.8 0-10.5 7.9-6.1 13.1L459.4 512 196.9 824.9A7.95 7.95 0 00203 838h79.8c4.7 0 9.2-2.1 12.3-5.7l216.5-258.1 216.5 258.1c3 3.6 7.5 5.7 12.3 5.7h79.8c6.8 0 10.5-7.9 6.1-13.1L563.8 512z\" } }] }, \"name\": \"close\", \"theme\": \"outlined\" };\nexport default CloseOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CloseOutlinedSvg from \"@ant-design/icons-svg/es/asn/CloseOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CloseOutlined = function CloseOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CloseOutlinedSvg\n }));\n};\nCloseOutlined.displayName = 'CloseOutlined';\nexport default /*#__PURE__*/React.forwardRef(CloseOutlined);","// This icon file is generated automatically.\nvar DownOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M884 256h-75c-5.1 0-9.9 2.5-12.9 6.6L512 654.2 227.9 262.6c-3-4.1-7.8-6.6-12.9-6.6h-75c-6.5 0-10.3 7.4-6.5 12.7l352.6 486.1c12.8 17.6 39 17.6 51.7 0l352.6-486.1c3.9-5.3.1-12.7-6.4-12.7z\" } }] }, \"name\": \"down\", \"theme\": \"outlined\" };\nexport default DownOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport DownOutlinedSvg from \"@ant-design/icons-svg/es/asn/DownOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar DownOutlined = function DownOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: DownOutlinedSvg\n }));\n};\nDownOutlined.displayName = 'DownOutlined';\nexport default /*#__PURE__*/React.forwardRef(DownOutlined);","// This icon file is generated automatically.\nvar ExclamationCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm-32 232c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V296zm32 440a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"exclamation-circle\", \"theme\": \"filled\" };\nexport default ExclamationCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport ExclamationCircleFilledSvg from \"@ant-design/icons-svg/es/asn/ExclamationCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar ExclamationCircleFilled = function ExclamationCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: ExclamationCircleFilledSvg\n }));\n};\nExclamationCircleFilled.displayName = 'ExclamationCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(ExclamationCircleFilled);","// This icon file is generated automatically.\nvar EyeOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2C847.4 286.5 704.1 186 512 186c-192.2 0-335.4 100.5-430.2 300.3a60.3 60.3 0 000 51.5C176.6 737.5 319.9 838 512 838c192.2 0 335.4-100.5 430.2-300.3 7.7-16.2 7.7-35 0-51.5zM512 766c-161.3 0-279.4-81.8-362.7-254C232.6 339.8 350.7 258 512 258c161.3 0 279.4 81.8 362.7 254C791.5 684.2 673.4 766 512 766zm-4-430c-97.2 0-176 78.8-176 176s78.8 176 176 176 176-78.8 176-176-78.8-176-176-176zm0 288c-61.9 0-112-50.1-112-112s50.1-112 112-112 112 50.1 112 112-50.1 112-112 112z\" } }] }, \"name\": \"eye\", \"theme\": \"outlined\" };\nexport default EyeOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeOutlined = function EyeOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeOutlinedSvg\n }));\n};\nEyeOutlined.displayName = 'EyeOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeOutlined);","// This icon file is generated automatically.\nvar InfoCircleFilled = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm32 664c0 4.4-3.6 8-8 8h-48c-4.4 0-8-3.6-8-8V456c0-4.4 3.6-8 8-8h48c4.4 0 8 3.6 8 8v272zm-32-344a48.01 48.01 0 010-96 48.01 48.01 0 010 96z\" } }] }, \"name\": \"info-circle\", \"theme\": \"filled\" };\nexport default InfoCircleFilled;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport InfoCircleFilledSvg from \"@ant-design/icons-svg/es/asn/InfoCircleFilled\";\nimport AntdIcon from '../components/AntdIcon';\nvar InfoCircleFilled = function InfoCircleFilled(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: InfoCircleFilledSvg\n }));\n};\nInfoCircleFilled.displayName = 'InfoCircleFilled';\nexport default /*#__PURE__*/React.forwardRef(InfoCircleFilled);","// This icon file is generated automatically.\nvar LoadingOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"0 0 1024 1024\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M988 548c-19.9 0-36-16.1-36-36 0-59.4-11.6-117-34.6-171.3a440.45 440.45 0 00-94.3-139.9 437.71 437.71 0 00-139.9-94.3C629 83.6 571.4 72 512 72c-19.9 0-36-16.1-36-36s16.1-36 36-36c69.1 0 136.2 13.5 199.3 40.3C772.3 66 827 103 874 150c47 47 83.9 101.8 109.7 162.7 26.7 63.1 40.2 130.2 40.2 199.3.1 19.9-16 36-35.9 36z\" } }] }, \"name\": \"loading\", \"theme\": \"outlined\" };\nexport default LoadingOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport LoadingOutlinedSvg from \"@ant-design/icons-svg/es/asn/LoadingOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar LoadingOutlined = function LoadingOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: LoadingOutlinedSvg\n }));\n};\nLoadingOutlined.displayName = 'LoadingOutlined';\nexport default /*#__PURE__*/React.forwardRef(LoadingOutlined);","// This icon file is generated automatically.\nvar SearchOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M909.6 854.5L649.9 594.8C690.2 542.7 712 479 712 412c0-80.2-31.3-155.4-87.9-212.1-56.6-56.7-132-87.9-212.1-87.9s-155.5 31.3-212.1 87.9C143.2 256.5 112 331.8 112 412c0 80.1 31.3 155.5 87.9 212.1C256.5 680.8 331.8 712 412 712c67 0 130.6-21.8 182.7-62l259.7 259.6a8.2 8.2 0 0011.6 0l43.6-43.5a8.2 8.2 0 000-11.6zM570.4 570.4C528 612.7 471.8 636 412 636s-116-23.3-158.4-65.6C211.3 528 188 471.8 188 412s23.3-116.1 65.6-158.4C296 211.3 352.2 188 412 188s116.1 23.2 158.4 65.6S636 352.2 636 412s-23.3 116.1-65.6 158.4z\" } }] }, \"name\": \"search\", \"theme\": \"outlined\" };\nexport default SearchOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport SearchOutlinedSvg from \"@ant-design/icons-svg/es/asn/SearchOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar SearchOutlined = function SearchOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: SearchOutlinedSvg\n }));\n};\nSearchOutlined.displayName = 'SearchOutlined';\nexport default /*#__PURE__*/React.forwardRef(SearchOutlined);","/*\n * Copyright 2017-2017 Amazon.com, Inc. or its affiliates. All Rights Reserved.\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\"). You may not use this file except in compliance with\n * the License. A copy of the License is located at\n *\n * http://aws.amazon.com/apache2.0/\n *\n * or in the \"license\" file accompanying this file. This file is distributed on an \"AS IS\" BASIS, WITHOUT WARRANTIES OR\n * CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions\n * and limitations under the License.\n */\nexport var CognitoHostedUIIdentityProvider;\n(function (CognitoHostedUIIdentityProvider) {\n CognitoHostedUIIdentityProvider[\"Cognito\"] = \"COGNITO\";\n CognitoHostedUIIdentityProvider[\"Google\"] = \"Google\";\n CognitoHostedUIIdentityProvider[\"Facebook\"] = \"Facebook\";\n CognitoHostedUIIdentityProvider[\"Amazon\"] = \"LoginWithAmazon\";\n CognitoHostedUIIdentityProvider[\"Apple\"] = \"SignInWithApple\";\n})(CognitoHostedUIIdentityProvider || (CognitoHostedUIIdentityProvider = {}));\nexport function isFederatedSignInOptions(obj) {\n var keys = ['provider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isFederatedSignInOptionsCustom(obj) {\n var keys = ['customProvider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function hasCustomState(obj) {\n var keys = ['customState'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isCognitoHostedOpts(oauth) {\n return oauth.redirectSignIn !== undefined;\n}\nexport var AuthErrorTypes;\n(function (AuthErrorTypes) {\n AuthErrorTypes[\"NoConfig\"] = \"noConfig\";\n AuthErrorTypes[\"MissingAuthConfig\"] = \"missingAuthConfig\";\n AuthErrorTypes[\"EmptyUsername\"] = \"emptyUsername\";\n AuthErrorTypes[\"InvalidUsername\"] = \"invalidUsername\";\n AuthErrorTypes[\"EmptyPassword\"] = \"emptyPassword\";\n AuthErrorTypes[\"EmptyCode\"] = \"emptyCode\";\n AuthErrorTypes[\"SignUpError\"] = \"signUpError\";\n AuthErrorTypes[\"NoMFA\"] = \"noMFA\";\n AuthErrorTypes[\"InvalidMFA\"] = \"invalidMFA\";\n AuthErrorTypes[\"EmptyChallengeResponse\"] = \"emptyChallengeResponse\";\n AuthErrorTypes[\"NoUserSession\"] = \"noUserSession\";\n AuthErrorTypes[\"Default\"] = \"default\";\n})(AuthErrorTypes || (AuthErrorTypes = {}));\nexport function isUsernamePasswordOpts(obj) {\n return !!obj.username;\n}\n//# sourceMappingURL=Auth.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=CryptoOperation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=Key.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=KeyOperation.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\n//# sourceMappingURL=MsSubtleCrypto.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isMsWindow = void 0;\nvar msSubtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nfunction quacksLikeAnMsWindow(window) {\n return \"MSInputMethodContext\" in window && \"msCrypto\" in window;\n}\n/**\n * Determines if the provided window is (or is like) the window object one would\n * expect to encounter in Internet Explorer 11.\n */\nfunction isMsWindow(window) {\n if (quacksLikeAnMsWindow(window) && window.msCrypto.subtle !== undefined) {\n var _a = window.msCrypto, getRandomValues = _a.getRandomValues, subtle_1 = _a.subtle;\n return msSubtleCryptoMethods\n .map(function (methodName) { return subtle_1[methodName]; })\n .concat(getRandomValues)\n .every(function (method) { return typeof method === \"function\"; });\n }\n return false;\n}\nexports.isMsWindow = isMsWindow;\n//# sourceMappingURL=MsWindow.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./CryptoOperation\"), exports);\ntslib_1.__exportStar(require(\"./Key\"), exports);\ntslib_1.__exportStar(require(\"./KeyOperation\"), exports);\ntslib_1.__exportStar(require(\"./MsSubtleCrypto\"), exports);\ntslib_1.__exportStar(require(\"./MsWindow\"), exports);\n//# sourceMappingURL=index.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.EMPTY_DATA_SHA_256 = exports.SHA_256_HMAC_ALGO = exports.SHA_256_HASH = void 0;\nexports.SHA_256_HASH = { name: \"SHA-256\" };\nexports.SHA_256_HMAC_ALGO = {\n name: \"HMAC\",\n hash: exports.SHA_256_HASH\n};\nexports.EMPTY_DATA_SHA_256 = new Uint8Array([\n 227,\n 176,\n 196,\n 66,\n 152,\n 252,\n 28,\n 20,\n 154,\n 251,\n 244,\n 200,\n 153,\n 111,\n 185,\n 36,\n 39,\n 174,\n 65,\n 228,\n 100,\n 155,\n 147,\n 76,\n 164,\n 149,\n 153,\n 27,\n 120,\n 82,\n 184,\n 85\n]);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBYSxRQUFBLFlBQVksR0FBd0IsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLENBQUM7QUFFeEQsUUFBQSxpQkFBaUIsR0FBZ0Q7SUFDNUUsSUFBSSxFQUFFLE1BQU07SUFDWixJQUFJLEVBQUUsb0JBQVk7Q0FDbkIsQ0FBQztBQUVXLFFBQUEsa0JBQWtCLEdBQUcsSUFBSSxVQUFVLENBQUM7SUFDL0MsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEVBQUU7SUFDRixHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEVBQUU7SUFDRixHQUFHO0lBQ0gsRUFBRTtJQUNGLEdBQUc7SUFDSCxHQUFHO0lBQ0gsR0FBRztJQUNILEdBQUc7SUFDSCxFQUFFO0lBQ0YsR0FBRztJQUNILEdBQUc7SUFDSCxHQUFHO0lBQ0gsRUFBRTtJQUNGLEdBQUc7SUFDSCxFQUFFO0lBQ0YsR0FBRztJQUNILEVBQUU7Q0FDSCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgU0hBXzI1Nl9IQVNIOiB7IG5hbWU6IFwiU0hBLTI1NlwiIH0gPSB7IG5hbWU6IFwiU0hBLTI1NlwiIH07XG5cbmV4cG9ydCBjb25zdCBTSEFfMjU2X0hNQUNfQUxHTzogeyBuYW1lOiBcIkhNQUNcIjsgaGFzaDogeyBuYW1lOiBcIlNIQS0yNTZcIiB9IH0gPSB7XG4gIG5hbWU6IFwiSE1BQ1wiLFxuICBoYXNoOiBTSEFfMjU2X0hBU0hcbn07XG5cbmV4cG9ydCBjb25zdCBFTVBUWV9EQVRBX1NIQV8yNTYgPSBuZXcgVWludDhBcnJheShbXG4gIDIyNyxcbiAgMTc2LFxuICAxOTYsXG4gIDY2LFxuICAxNTIsXG4gIDI1MixcbiAgMjgsXG4gIDIwLFxuICAxNTQsXG4gIDI1MSxcbiAgMjQ0LFxuICAyMDAsXG4gIDE1MyxcbiAgMTExLFxuICAxODUsXG4gIDM2LFxuICAzOSxcbiAgMTc0LFxuICA2NSxcbiAgMjI4LFxuICAxMDAsXG4gIDE1NSxcbiAgMTQ3LFxuICA3NixcbiAgMTY0LFxuICAxNDksXG4gIDE1MyxcbiAgMjcsXG4gIDEyMCxcbiAgODIsXG4gIDE4NCxcbiAgODVcbl0pO1xuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar ie11Sha256_1 = require(\"./ie11Sha256\");\nvar webCryptoSha256_1 = require(\"./webCryptoSha256\");\nvar sha256_js_1 = require(\"@aws-crypto/sha256-js\");\nvar supports_web_crypto_1 = require(\"@aws-crypto/supports-web-crypto\");\nvar ie11_detection_1 = require(\"@aws-crypto/ie11-detection\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if ((0, supports_web_crypto_1.supportsWebCrypto)((0, util_locate_window_1.locateWindow)())) {\n this.hash = new webCryptoSha256_1.Sha256(secret);\n }\n else if ((0, ie11_detection_1.isMsWindow)((0, util_locate_window_1.locateWindow)())) {\n this.hash = new ie11Sha256_1.Sha256(secret);\n }\n else {\n this.hash = new sha256_js_1.Sha256(secret);\n }\n }\n Sha256.prototype.update = function (data, encoding) {\n this.hash.update(data, encoding);\n };\n Sha256.prototype.digest = function () {\n return this.hash.digest();\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3Jvc3NQbGF0Zm9ybVNoYTI1Ni5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jcm9zc1BsYXRmb3JtU2hhMjU2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUFvRDtBQUNwRCxxREFBOEQ7QUFDOUQsbURBQTJEO0FBRTNELHVFQUFvRTtBQUNwRSw2REFBd0Q7QUFDeEQsa0VBQTJEO0FBRTNEO0lBR0UsZ0JBQVksTUFBbUI7UUFDN0IsSUFBSSxJQUFBLHVDQUFpQixFQUFDLElBQUEsaUNBQVksR0FBRSxDQUFDLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLHdCQUFlLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDekM7YUFBTSxJQUFJLElBQUEsMkJBQVUsRUFBQyxJQUFBLGlDQUFZLEdBQUUsQ0FBQyxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxtQkFBVSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3BDO2FBQU07WUFDTCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksa0JBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUNsQztJQUNILENBQUM7SUFFRCx1QkFBTSxHQUFOLFVBQU8sSUFBZ0IsRUFBRSxRQUFzQztRQUM3RCxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDbkMsQ0FBQztJQUVELHVCQUFNLEdBQU47UUFDRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUM7SUFDNUIsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBcEJELElBb0JDO0FBcEJZLHdCQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2hhMjU2IGFzIEllMTFTaGEyNTYgfSBmcm9tIFwiLi9pZTExU2hhMjU2XCI7XG5pbXBvcnQgeyBTaGEyNTYgYXMgV2ViQ3J5cHRvU2hhMjU2IH0gZnJvbSBcIi4vd2ViQ3J5cHRvU2hhMjU2XCI7XG5pbXBvcnQgeyBTaGEyNTYgYXMgSnNTaGEyNTYgfSBmcm9tIFwiQGF3cy1jcnlwdG8vc2hhMjU2LWpzXCI7XG5pbXBvcnQgeyBIYXNoLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBzdXBwb3J0c1dlYkNyeXB0byB9IGZyb20gXCJAYXdzLWNyeXB0by9zdXBwb3J0cy13ZWItY3J5cHRvXCI7XG5pbXBvcnQgeyBpc01zV2luZG93IH0gZnJvbSBcIkBhd3MtY3J5cHRvL2llMTEtZGV0ZWN0aW9uXCI7XG5pbXBvcnQgeyBsb2NhdGVXaW5kb3cgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1sb2NhdGUtd2luZG93XCI7XG5cbmV4cG9ydCBjbGFzcyBTaGEyNTYgaW1wbGVtZW50cyBIYXNoIHtcbiAgcHJpdmF0ZSByZWFkb25seSBoYXNoOiBIYXNoO1xuXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IFNvdXJjZURhdGEpIHtcbiAgICBpZiAoc3VwcG9ydHNXZWJDcnlwdG8obG9jYXRlV2luZG93KCkpKSB7XG4gICAgICB0aGlzLmhhc2ggPSBuZXcgV2ViQ3J5cHRvU2hhMjU2KHNlY3JldCk7XG4gICAgfSBlbHNlIGlmIChpc01zV2luZG93KGxvY2F0ZVdpbmRvdygpKSkge1xuICAgICAgdGhpcy5oYXNoID0gbmV3IEllMTFTaGEyNTYoc2VjcmV0KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5oYXNoID0gbmV3IEpzU2hhMjU2KHNlY3JldCk7XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlKGRhdGE6IFNvdXJjZURhdGEsIGVuY29kaW5nPzogXCJ1dGY4XCIgfCBcImFzY2lpXCIgfCBcImxhdGluMVwiKTogdm9pZCB7XG4gICAgdGhpcy5oYXNoLnVwZGF0ZShkYXRhLCBlbmNvZGluZyk7XG4gIH1cblxuICBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuaGFzaC5kaWdlc3QoKTtcbiAgfVxufVxuIl19","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar isEmptyData_1 = require(\"./isEmptyData\");\nvar constants_1 = require(\"./constants\");\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n if (secret) {\n this.operation = getKeyPromise(secret).then(function (keyData) {\n return (0, util_locate_window_1.locateWindow)().msCrypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, keyData);\n });\n this.operation.catch(function () { });\n }\n else {\n this.operation = Promise.resolve((0, util_locate_window_1.locateWindow)().msCrypto.subtle.digest(\"SHA-256\"));\n }\n }\n Sha256.prototype.update = function (toHash) {\n var _this = this;\n if ((0, isEmptyData_1.isEmptyData)(toHash)) {\n return;\n }\n this.operation = this.operation.then(function (operation) {\n operation.onerror = function () {\n _this.operation = Promise.reject(new Error(\"Error encountered updating hash\"));\n };\n operation.process(toArrayBufferView(toHash));\n return operation;\n });\n this.operation.catch(function () { });\n };\n Sha256.prototype.digest = function () {\n return this.operation.then(function (operation) {\n return new Promise(function (resolve, reject) {\n operation.onerror = function () {\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n operation.oncomplete = function () {\n if (operation.result) {\n resolve(new Uint8Array(operation.result));\n }\n reject(new Error(\"Error encountered finalizing hash\"));\n };\n operation.finish();\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction getKeyPromise(secret) {\n return new Promise(function (resolve, reject) {\n var keyOperation = (0, util_locate_window_1.locateWindow)().msCrypto.subtle.importKey(\"raw\", toArrayBufferView(secret), constants_1.SHA_256_HMAC_ALGO, false, [\"sign\"]);\n keyOperation.oncomplete = function () {\n if (keyOperation.result) {\n resolve(keyOperation.result);\n }\n reject(new Error(\"ImportKey completed without importing key.\"));\n };\n keyOperation.onerror = function () {\n reject(new Error(\"ImportKey failed to import key.\"));\n };\n });\n}\nfunction toArrayBufferView(data) {\n if (typeof data === \"string\") {\n return (0, util_utf8_browser_1.fromUtf8)(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaWUxMVNoYTI1Ni5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9pZTExU2hhMjU2LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDZDQUE0QztBQUM1Qyx5Q0FBZ0Q7QUFFaEQsZ0VBQXNEO0FBRXRELGtFQUEyRDtBQUUzRDtJQUdFLGdCQUFZLE1BQW1CO1FBQzdCLElBQUksTUFBTSxFQUFFO1lBQ1YsSUFBSSxDQUFDLFNBQVMsR0FBRyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUEsT0FBTztnQkFDakQsT0FBQyxJQUFBLGlDQUFZLEdBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FDL0MsNkJBQWlCLEVBQ2pCLE9BQU8sQ0FDUjtZQUhELENBR0MsQ0FDRixDQUFDO1lBQ0YsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsY0FBTyxDQUFDLENBQUMsQ0FBQztTQUNoQzthQUFNO1lBQ0wsSUFBSSxDQUFDLFNBQVMsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUM3QixJQUFBLGlDQUFZLEdBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FDL0QsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUVELHVCQUFNLEdBQU4sVUFBTyxNQUFrQjtRQUF6QixpQkFnQkM7UUFmQyxJQUFJLElBQUEseUJBQVcsRUFBQyxNQUFNLENBQUMsRUFBRTtZQUN2QixPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFVBQUEsU0FBUztZQUM1QyxTQUFTLENBQUMsT0FBTyxHQUFHO2dCQUNsQixLQUFJLENBQUMsU0FBUyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQzdCLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQzdDLENBQUM7WUFDSixDQUFDLENBQUM7WUFDRixTQUFTLENBQUMsT0FBTyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7WUFFN0MsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCx1QkFBTSxHQUFOO1FBQ0UsT0FBTyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FDeEIsVUFBQSxTQUFTO1lBQ1AsT0FBQSxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO2dCQUMxQixTQUFTLENBQUMsT0FBTyxHQUFHO29CQUNsQixNQUFNLENBQUMsSUFBSSxLQUFLLENBQUMsbUNBQW1DLENBQUMsQ0FBQyxDQUFDO2dCQUN6RCxDQUFDLENBQUM7Z0JBQ0YsU0FBUyxDQUFDLFVBQVUsR0FBRztvQkFDckIsSUFBSSxTQUFTLENBQUMsTUFBTSxFQUFFO3dCQUNwQixPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7cUJBQzNDO29CQUNELE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxtQ0FBbUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ3pELENBQUMsQ0FBQztnQkFFRixTQUFTLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDckIsQ0FBQyxDQUFDO1FBWkYsQ0FZRSxDQUNMLENBQUM7SUFDSixDQUFDO0lBQ0gsYUFBQztBQUFELENBQUMsQUF2REQsSUF1REM7QUF2RFksd0JBQU07QUF5RG5CLFNBQVMsYUFBYSxDQUFDLE1BQWtCO0lBQ3ZDLE9BQU8sSUFBSSxPQUFPLENBQUMsVUFBQyxPQUFPLEVBQUUsTUFBTTtRQUNqQyxJQUFNLFlBQVksR0FBSSxJQUFBLGlDQUFZLEdBQWUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDekUsS0FBSyxFQUNMLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxFQUN6Qiw2QkFBaUIsRUFDakIsS0FBSyxFQUNMLENBQUMsTUFBTSxDQUFDLENBQ1QsQ0FBQztRQUVGLFlBQVksQ0FBQyxVQUFVLEdBQUc7WUFDeEIsSUFBSSxZQUFZLENBQUMsTUFBTSxFQUFFO2dCQUN2QixPQUFPLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQzlCO1lBRUQsTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDRDQUE0QyxDQUFDLENBQUMsQ0FBQztRQUNsRSxDQUFDLENBQUM7UUFDRixZQUFZLENBQUMsT0FBTyxHQUFHO1lBQ3JCLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxpQ0FBaUMsQ0FBQyxDQUFDLENBQUM7UUFDdkQsQ0FBQyxDQUFDO0lBQ0osQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBQyxJQUFnQjtJQUN6QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUEsNEJBQVEsRUFBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUVELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixPQUFPLElBQUksVUFBVSxDQUNuQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQy9DLENBQUM7S0FDSDtJQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzRW1wdHlEYXRhIH0gZnJvbSBcIi4vaXNFbXB0eURhdGFcIjtcbmltcG9ydCB7IFNIQV8yNTZfSE1BQ19BTEdPIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBIYXNoLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmcm9tVXRmOCB9IGZyb20gXCJAYXdzLXNkay91dGlsLXV0ZjgtYnJvd3NlclwiO1xuaW1wb3J0IHsgQ3J5cHRvT3BlcmF0aW9uLCBLZXksIE1zV2luZG93IH0gZnJvbSBcIkBhd3MtY3J5cHRvL2llMTEtZGV0ZWN0aW9uXCI7XG5pbXBvcnQgeyBsb2NhdGVXaW5kb3cgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC1sb2NhdGUtd2luZG93XCI7XG5cbmV4cG9ydCBjbGFzcyBTaGEyNTYgaW1wbGVtZW50cyBIYXNoIHtcbiAgcHJpdmF0ZSBvcGVyYXRpb246IFByb21pc2U8Q3J5cHRvT3BlcmF0aW9uPjtcblxuICBjb25zdHJ1Y3RvcihzZWNyZXQ/OiBTb3VyY2VEYXRhKSB7XG4gICAgaWYgKHNlY3JldCkge1xuICAgICAgdGhpcy5vcGVyYXRpb24gPSBnZXRLZXlQcm9taXNlKHNlY3JldCkudGhlbihrZXlEYXRhID0+XG4gICAgICAgIChsb2NhdGVXaW5kb3coKSBhcyBNc1dpbmRvdykubXNDcnlwdG8uc3VidGxlLnNpZ24oXG4gICAgICAgICAgU0hBXzI1Nl9ITUFDX0FMR08sXG4gICAgICAgICAga2V5RGF0YVxuICAgICAgICApXG4gICAgICApO1xuICAgICAgdGhpcy5vcGVyYXRpb24uY2F0Y2goKCkgPT4ge30pO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLm9wZXJhdGlvbiA9IFByb21pc2UucmVzb2x2ZShcbiAgICAgICAgKGxvY2F0ZVdpbmRvdygpIGFzIE1zV2luZG93KS5tc0NyeXB0by5zdWJ0bGUuZGlnZXN0KFwiU0hBLTI1NlwiKVxuICAgICAgKTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUodG9IYXNoOiBTb3VyY2VEYXRhKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHlEYXRhKHRvSGFzaCkpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICB0aGlzLm9wZXJhdGlvbiA9IHRoaXMub3BlcmF0aW9uLnRoZW4ob3BlcmF0aW9uID0+IHtcbiAgICAgIG9wZXJhdGlvbi5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICB0aGlzLm9wZXJhdGlvbiA9IFByb21pc2UucmVqZWN0KFxuICAgICAgICAgIG5ldyBFcnJvcihcIkVycm9yIGVuY291bnRlcmVkIHVwZGF0aW5nIGhhc2hcIilcbiAgICAgICAgKTtcbiAgICAgIH07XG4gICAgICBvcGVyYXRpb24ucHJvY2Vzcyh0b0FycmF5QnVmZmVyVmlldyh0b0hhc2gpKTtcblxuICAgICAgcmV0dXJuIG9wZXJhdGlvbjtcbiAgICB9KTtcbiAgICB0aGlzLm9wZXJhdGlvbi5jYXRjaCgoKSA9PiB7fSk7XG4gIH1cblxuICBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMub3BlcmF0aW9uLnRoZW48VWludDhBcnJheT4oXG4gICAgICBvcGVyYXRpb24gPT5cbiAgICAgICAgbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICAgIG9wZXJhdGlvbi5vbmVycm9yID0gKCkgPT4ge1xuICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkVycm9yIGVuY291bnRlcmVkIGZpbmFsaXppbmcgaGFzaFwiKSk7XG4gICAgICAgICAgfTtcbiAgICAgICAgICBvcGVyYXRpb24ub25jb21wbGV0ZSA9ICgpID0+IHtcbiAgICAgICAgICAgIGlmIChvcGVyYXRpb24ucmVzdWx0KSB7XG4gICAgICAgICAgICAgIHJlc29sdmUobmV3IFVpbnQ4QXJyYXkob3BlcmF0aW9uLnJlc3VsdCkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkVycm9yIGVuY291bnRlcmVkIGZpbmFsaXppbmcgaGFzaFwiKSk7XG4gICAgICAgICAgfTtcblxuICAgICAgICAgIG9wZXJhdGlvbi5maW5pc2goKTtcbiAgICAgICAgfSlcbiAgICApO1xuICB9XG59XG5cbmZ1bmN0aW9uIGdldEtleVByb21pc2Uoc2VjcmV0OiBTb3VyY2VEYXRhKTogUHJvbWlzZTxLZXk+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCBrZXlPcGVyYXRpb24gPSAobG9jYXRlV2luZG93KCkgYXMgTXNXaW5kb3cpLm1zQ3J5cHRvLnN1YnRsZS5pbXBvcnRLZXkoXG4gICAgICBcInJhd1wiLFxuICAgICAgdG9BcnJheUJ1ZmZlclZpZXcoc2VjcmV0KSxcbiAgICAgIFNIQV8yNTZfSE1BQ19BTEdPLFxuICAgICAgZmFsc2UsXG4gICAgICBbXCJzaWduXCJdXG4gICAgKTtcblxuICAgIGtleU9wZXJhdGlvbi5vbmNvbXBsZXRlID0gKCkgPT4ge1xuICAgICAgaWYgKGtleU9wZXJhdGlvbi5yZXN1bHQpIHtcbiAgICAgICAgcmVzb2x2ZShrZXlPcGVyYXRpb24ucmVzdWx0KTtcbiAgICAgIH1cblxuICAgICAgcmVqZWN0KG5ldyBFcnJvcihcIkltcG9ydEtleSBjb21wbGV0ZWQgd2l0aG91dCBpbXBvcnRpbmcga2V5LlwiKSk7XG4gICAgfTtcbiAgICBrZXlPcGVyYXRpb24ub25lcnJvciA9ICgpID0+IHtcbiAgICAgIHJlamVjdChuZXcgRXJyb3IoXCJJbXBvcnRLZXkgZmFpbGVkIHRvIGltcG9ydCBrZXkuXCIpKTtcbiAgICB9O1xuICB9KTtcbn1cblxuZnVuY3Rpb24gdG9BcnJheUJ1ZmZlclZpZXcoZGF0YTogU291cmNlRGF0YSk6IFVpbnQ4QXJyYXkge1xuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZnJvbVV0ZjgoZGF0YSk7XG4gIH1cblxuICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFxuICAgICAgZGF0YS5idWZmZXIsXG4gICAgICBkYXRhLmJ5dGVPZmZzZXQsXG4gICAgICBkYXRhLmJ5dGVMZW5ndGggLyBVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.WebCryptoSha256 = exports.Ie11Sha256 = void 0;\nvar tslib_1 = require(\"tslib\");\n(0, tslib_1.__exportStar)(require(\"./crossPlatformSha256\"), exports);\nvar ie11Sha256_1 = require(\"./ie11Sha256\");\nObject.defineProperty(exports, \"Ie11Sha256\", { enumerable: true, get: function () { return ie11Sha256_1.Sha256; } });\nvar webCryptoSha256_1 = require(\"./webCryptoSha256\");\nObject.defineProperty(exports, \"WebCryptoSha256\", { enumerable: true, get: function () { return webCryptoSha256_1.Sha256; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHFFQUFzQztBQUN0QywyQ0FBb0Q7QUFBM0Msd0dBQUEsTUFBTSxPQUFjO0FBQzdCLHFEQUE4RDtBQUFyRCxrSEFBQSxNQUFNLE9BQW1CIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vY3Jvc3NQbGF0Zm9ybVNoYTI1NlwiO1xuZXhwb3J0IHsgU2hhMjU2IGFzIEllMTFTaGEyNTYgfSBmcm9tIFwiLi9pZTExU2hhMjU2XCI7XG5leHBvcnQgeyBTaGEyNTYgYXMgV2ViQ3J5cHRvU2hhMjU2IH0gZnJvbSBcIi4vd2ViQ3J5cHRvU2hhMjU2XCI7XG4iXX0=","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNFbXB0eURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaXNFbXB0eURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBRUEsU0FBZ0IsV0FBVyxDQUFDLElBQWdCO0lBQzFDLElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLE9BQU8sSUFBSSxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUM7S0FDMUI7SUFFRCxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssQ0FBQyxDQUFDO0FBQy9CLENBQUM7QUFORCxrQ0FNQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlEYXRhKGRhdGE6IFNvdXJjZURhdGEpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGRhdGEubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuYnl0ZUxlbmd0aCA9PT0gMDtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar util_1 = require(\"@aws-crypto/util\");\nvar constants_1 = require(\"./constants\");\nvar util_locate_window_1 = require(\"@aws-sdk/util-locate-window\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.toHash = new Uint8Array(0);\n if (secret !== void 0) {\n this.key = new Promise(function (resolve, reject) {\n (0, util_locate_window_1.locateWindow)()\n .crypto.subtle.importKey(\"raw\", (0, util_1.convertToBuffer)(secret), constants_1.SHA_256_HMAC_ALGO, false, [\"sign\"])\n .then(resolve, reject);\n });\n this.key.catch(function () { });\n }\n }\n Sha256.prototype.update = function (data) {\n if ((0, util_1.isEmptyData)(data)) {\n return;\n }\n var update = (0, util_1.convertToBuffer)(data);\n var typedArray = new Uint8Array(this.toHash.byteLength + update.byteLength);\n typedArray.set(this.toHash, 0);\n typedArray.set(update, this.toHash.byteLength);\n this.toHash = typedArray;\n };\n Sha256.prototype.digest = function () {\n var _this = this;\n if (this.key) {\n return this.key.then(function (key) {\n return (0, util_locate_window_1.locateWindow)()\n .crypto.subtle.sign(constants_1.SHA_256_HMAC_ALGO, key, _this.toHash)\n .then(function (data) { return new Uint8Array(data); });\n });\n }\n if ((0, util_1.isEmptyData)(this.toHash)) {\n return Promise.resolve(constants_1.EMPTY_DATA_SHA_256);\n }\n return Promise.resolve()\n .then(function () {\n return (0, util_locate_window_1.locateWindow)().crypto.subtle.digest(constants_1.SHA_256_HASH, _this.toHash);\n })\n .then(function (data) { return Promise.resolve(new Uint8Array(data)); });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViQ3J5cHRvU2hhMjU2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3dlYkNyeXB0b1NoYTI1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSx5Q0FBZ0U7QUFDaEUseUNBSXFCO0FBQ3JCLGtFQUEyRDtBQUUzRDtJQUlFLGdCQUFZLE1BQW1CO1FBRnZCLFdBQU0sR0FBZSxJQUFJLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUc3QyxJQUFJLE1BQU0sS0FBSyxLQUFLLENBQUMsRUFBRTtZQUNyQixJQUFJLENBQUMsR0FBRyxHQUFHLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07Z0JBQ3JDLElBQUEsaUNBQVksR0FBRTtxQkFDWCxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FDdEIsS0FBSyxFQUNMLElBQUEsc0JBQWUsRUFBQyxNQUFNLENBQUMsRUFDdkIsNkJBQWlCLEVBQ2pCLEtBQUssRUFDTCxDQUFDLE1BQU0sQ0FBQyxDQUNUO3FCQUNBLElBQUksQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLENBQUM7WUFDM0IsQ0FBQyxDQUFDLENBQUM7WUFDSCxJQUFJLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELHVCQUFNLEdBQU4sVUFBTyxJQUFnQjtRQUNyQixJQUFJLElBQUEsa0JBQVcsRUFBQyxJQUFJLENBQUMsRUFBRTtZQUNyQixPQUFPO1NBQ1I7UUFFRCxJQUFNLE1BQU0sR0FBRyxJQUFBLHNCQUFlLEVBQUMsSUFBSSxDQUFDLENBQUM7UUFDckMsSUFBTSxVQUFVLEdBQUcsSUFBSSxVQUFVLENBQy9CLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQzNDLENBQUM7UUFDRixVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDL0IsVUFBVSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvQyxJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztJQUMzQixDQUFDO0lBRUQsdUJBQU0sR0FBTjtRQUFBLGlCQWtCQztRQWpCQyxJQUFJLElBQUksQ0FBQyxHQUFHLEVBQUU7WUFDWixPQUFPLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQUMsR0FBRztnQkFDdkIsT0FBQSxJQUFBLGlDQUFZLEdBQUU7cUJBQ1gsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsNkJBQWlCLEVBQUUsR0FBRyxFQUFFLEtBQUksQ0FBQyxNQUFNLENBQUM7cUJBQ3ZELElBQUksQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLElBQUksVUFBVSxDQUFDLElBQUksQ0FBQyxFQUFwQixDQUFvQixDQUFDO1lBRnZDLENBRXVDLENBQ3hDLENBQUM7U0FDSDtRQUVELElBQUksSUFBQSxrQkFBVyxFQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM1QixPQUFPLE9BQU8sQ0FBQyxPQUFPLENBQUMsOEJBQWtCLENBQUMsQ0FBQztTQUM1QztRQUVELE9BQU8sT0FBTyxDQUFDLE9BQU8sRUFBRTthQUNyQixJQUFJLENBQUM7WUFDSixPQUFBLElBQUEsaUNBQVksR0FBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLHdCQUFZLEVBQUUsS0FBSSxDQUFDLE1BQU0sQ0FBQztRQUE5RCxDQUE4RCxDQUMvRDthQUNBLElBQUksQ0FBQyxVQUFDLElBQUksSUFBSyxPQUFBLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsRUFBckMsQ0FBcUMsQ0FBQyxDQUFDO0lBQzNELENBQUM7SUFDSCxhQUFDO0FBQUQsQ0FBQyxBQXRERCxJQXNEQztBQXREWSx3QkFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhhc2gsIFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IGlzRW1wdHlEYXRhLCBjb252ZXJ0VG9CdWZmZXIgfSBmcm9tIFwiQGF3cy1jcnlwdG8vdXRpbFwiO1xuaW1wb3J0IHtcbiAgRU1QVFlfREFUQV9TSEFfMjU2LFxuICBTSEFfMjU2X0hBU0gsXG4gIFNIQV8yNTZfSE1BQ19BTEdPLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGxvY2F0ZVdpbmRvdyB9IGZyb20gXCJAYXdzLXNkay91dGlsLWxvY2F0ZS13aW5kb3dcIjtcblxuZXhwb3J0IGNsYXNzIFNoYTI1NiBpbXBsZW1lbnRzIEhhc2gge1xuICBwcml2YXRlIHJlYWRvbmx5IGtleTogUHJvbWlzZTxDcnlwdG9LZXk+IHwgdW5kZWZpbmVkO1xuICBwcml2YXRlIHRvSGFzaDogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDApO1xuXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IFNvdXJjZURhdGEpIHtcbiAgICBpZiAoc2VjcmV0ICE9PSB2b2lkIDApIHtcbiAgICAgIHRoaXMua2V5ID0gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICBsb2NhdGVXaW5kb3coKVxuICAgICAgICAgIC5jcnlwdG8uc3VidGxlLmltcG9ydEtleShcbiAgICAgICAgICAgIFwicmF3XCIsXG4gICAgICAgICAgICBjb252ZXJ0VG9CdWZmZXIoc2VjcmV0KSxcbiAgICAgICAgICAgIFNIQV8yNTZfSE1BQ19BTEdPLFxuICAgICAgICAgICAgZmFsc2UsXG4gICAgICAgICAgICBbXCJzaWduXCJdXG4gICAgICAgICAgKVxuICAgICAgICAgIC50aGVuKHJlc29sdmUsIHJlamVjdCk7XG4gICAgICB9KTtcbiAgICAgIHRoaXMua2V5LmNhdGNoKCgpID0+IHt9KTtcbiAgICB9XG4gIH1cblxuICB1cGRhdGUoZGF0YTogU291cmNlRGF0YSk6IHZvaWQge1xuICAgIGlmIChpc0VtcHR5RGF0YShkYXRhKSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIGNvbnN0IHVwZGF0ZSA9IGNvbnZlcnRUb0J1ZmZlcihkYXRhKTtcbiAgICBjb25zdCB0eXBlZEFycmF5ID0gbmV3IFVpbnQ4QXJyYXkoXG4gICAgICB0aGlzLnRvSGFzaC5ieXRlTGVuZ3RoICsgdXBkYXRlLmJ5dGVMZW5ndGhcbiAgICApO1xuICAgIHR5cGVkQXJyYXkuc2V0KHRoaXMudG9IYXNoLCAwKTtcbiAgICB0eXBlZEFycmF5LnNldCh1cGRhdGUsIHRoaXMudG9IYXNoLmJ5dGVMZW5ndGgpO1xuICAgIHRoaXMudG9IYXNoID0gdHlwZWRBcnJheTtcbiAgfVxuXG4gIGRpZ2VzdCgpOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICBpZiAodGhpcy5rZXkpIHtcbiAgICAgIHJldHVybiB0aGlzLmtleS50aGVuKChrZXkpID0+XG4gICAgICAgIGxvY2F0ZVdpbmRvdygpXG4gICAgICAgICAgLmNyeXB0by5zdWJ0bGUuc2lnbihTSEFfMjU2X0hNQUNfQUxHTywga2V5LCB0aGlzLnRvSGFzaClcbiAgICAgICAgICAudGhlbigoZGF0YSkgPT4gbmV3IFVpbnQ4QXJyYXkoZGF0YSkpXG4gICAgICApO1xuICAgIH1cblxuICAgIGlmIChpc0VtcHR5RGF0YSh0aGlzLnRvSGFzaCkpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlc29sdmUoRU1QVFlfREFUQV9TSEFfMjU2KTtcbiAgICB9XG5cbiAgICByZXR1cm4gUHJvbWlzZS5yZXNvbHZlKClcbiAgICAgIC50aGVuKCgpID0+XG4gICAgICAgIGxvY2F0ZVdpbmRvdygpLmNyeXB0by5zdWJ0bGUuZGlnZXN0KFNIQV8yNTZfSEFTSCwgdGhpcy50b0hhc2gpXG4gICAgICApXG4gICAgICAudGhlbigoZGF0YSkgPT4gUHJvbWlzZS5yZXNvbHZlKG5ldyBVaW50OEFycmF5KGRhdGEpKSk7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.RawSha256 = void 0;\nvar constants_1 = require(\"./constants\");\n/**\n * @internal\n */\nvar RawSha256 = /** @class */ (function () {\n function RawSha256() {\n this.state = Int32Array.from(constants_1.INIT);\n this.temp = new Int32Array(64);\n this.buffer = new Uint8Array(64);\n this.bufferLength = 0;\n this.bytesHashed = 0;\n /**\n * @internal\n */\n this.finished = false;\n }\n RawSha256.prototype.update = function (data) {\n if (this.finished) {\n throw new Error(\"Attempted to update an already finished hash.\");\n }\n var position = 0;\n var byteLength = data.byteLength;\n this.bytesHashed += byteLength;\n if (this.bytesHashed * 8 > constants_1.MAX_HASHABLE_LENGTH) {\n throw new Error(\"Cannot hash more than 2^53 - 1 bits\");\n }\n while (byteLength > 0) {\n this.buffer[this.bufferLength++] = data[position++];\n byteLength--;\n if (this.bufferLength === constants_1.BLOCK_SIZE) {\n this.hashBuffer();\n this.bufferLength = 0;\n }\n }\n };\n RawSha256.prototype.digest = function () {\n if (!this.finished) {\n var bitsHashed = this.bytesHashed * 8;\n var bufferView = new DataView(this.buffer.buffer, this.buffer.byteOffset, this.buffer.byteLength);\n var undecoratedLength = this.bufferLength;\n bufferView.setUint8(this.bufferLength++, 0x80);\n // Ensure the final block has enough room for the hashed length\n if (undecoratedLength % constants_1.BLOCK_SIZE >= constants_1.BLOCK_SIZE - 8) {\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE; i++) {\n bufferView.setUint8(i, 0);\n }\n this.hashBuffer();\n this.bufferLength = 0;\n }\n for (var i = this.bufferLength; i < constants_1.BLOCK_SIZE - 8; i++) {\n bufferView.setUint8(i, 0);\n }\n bufferView.setUint32(constants_1.BLOCK_SIZE - 8, Math.floor(bitsHashed / 0x100000000), true);\n bufferView.setUint32(constants_1.BLOCK_SIZE - 4, bitsHashed);\n this.hashBuffer();\n this.finished = true;\n }\n // The value in state is little-endian rather than big-endian, so flip\n // each word into a new Uint8Array\n var out = new Uint8Array(constants_1.DIGEST_LENGTH);\n for (var i = 0; i < 8; i++) {\n out[i * 4] = (this.state[i] >>> 24) & 0xff;\n out[i * 4 + 1] = (this.state[i] >>> 16) & 0xff;\n out[i * 4 + 2] = (this.state[i] >>> 8) & 0xff;\n out[i * 4 + 3] = (this.state[i] >>> 0) & 0xff;\n }\n return out;\n };\n RawSha256.prototype.hashBuffer = function () {\n var _a = this, buffer = _a.buffer, state = _a.state;\n var state0 = state[0], state1 = state[1], state2 = state[2], state3 = state[3], state4 = state[4], state5 = state[5], state6 = state[6], state7 = state[7];\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n if (i < 16) {\n this.temp[i] =\n ((buffer[i * 4] & 0xff) << 24) |\n ((buffer[i * 4 + 1] & 0xff) << 16) |\n ((buffer[i * 4 + 2] & 0xff) << 8) |\n (buffer[i * 4 + 3] & 0xff);\n }\n else {\n var u = this.temp[i - 2];\n var t1_1 = ((u >>> 17) | (u << 15)) ^ ((u >>> 19) | (u << 13)) ^ (u >>> 10);\n u = this.temp[i - 15];\n var t2_1 = ((u >>> 7) | (u << 25)) ^ ((u >>> 18) | (u << 14)) ^ (u >>> 3);\n this.temp[i] =\n ((t1_1 + this.temp[i - 7]) | 0) + ((t2_1 + this.temp[i - 16]) | 0);\n }\n var t1 = ((((((state4 >>> 6) | (state4 << 26)) ^\n ((state4 >>> 11) | (state4 << 21)) ^\n ((state4 >>> 25) | (state4 << 7))) +\n ((state4 & state5) ^ (~state4 & state6))) |\n 0) +\n ((state7 + ((constants_1.KEY[i] + this.temp[i]) | 0)) | 0)) |\n 0;\n var t2 = ((((state0 >>> 2) | (state0 << 30)) ^\n ((state0 >>> 13) | (state0 << 19)) ^\n ((state0 >>> 22) | (state0 << 10))) +\n ((state0 & state1) ^ (state0 & state2) ^ (state1 & state2))) |\n 0;\n state7 = state6;\n state6 = state5;\n state5 = state4;\n state4 = (state3 + t1) | 0;\n state3 = state2;\n state2 = state1;\n state1 = state0;\n state0 = (t1 + t2) | 0;\n }\n state[0] += state0;\n state[1] += state1;\n state[2] += state2;\n state[3] += state3;\n state[4] += state4;\n state[5] += state5;\n state[6] += state6;\n state[7] += state7;\n };\n return RawSha256;\n}());\nexports.RawSha256 = RawSha256;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmF3U2hhMjU2LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL1Jhd1NoYTI1Ni50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FNcUI7QUFFckI7O0dBRUc7QUFDSDtJQUFBO1FBQ1UsVUFBSyxHQUFlLFVBQVUsQ0FBQyxJQUFJLENBQUMsZ0JBQUksQ0FBQyxDQUFDO1FBQzFDLFNBQUksR0FBZSxJQUFJLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0QyxXQUFNLEdBQWUsSUFBSSxVQUFVLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDeEMsaUJBQVksR0FBVyxDQUFDLENBQUM7UUFDekIsZ0JBQVcsR0FBVyxDQUFDLENBQUM7UUFFaEM7O1dBRUc7UUFDSCxhQUFRLEdBQVksS0FBSyxDQUFDO0lBOEk1QixDQUFDO0lBNUlDLDBCQUFNLEdBQU4sVUFBTyxJQUFnQjtRQUNyQixJQUFJLElBQUksQ0FBQyxRQUFRLEVBQUU7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQywrQ0FBK0MsQ0FBQyxDQUFDO1NBQ2xFO1FBRUQsSUFBSSxRQUFRLEdBQUcsQ0FBQyxDQUFDO1FBQ1gsSUFBQSxVQUFVLEdBQUssSUFBSSxXQUFULENBQVU7UUFDMUIsSUFBSSxDQUFDLFdBQVcsSUFBSSxVQUFVLENBQUM7UUFFL0IsSUFBSSxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsR0FBRywrQkFBbUIsRUFBRTtZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7U0FDeEQ7UUFFRCxPQUFPLFVBQVUsR0FBRyxDQUFDLEVBQUU7WUFDckIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNwRCxVQUFVLEVBQUUsQ0FBQztZQUViLElBQUksSUFBSSxDQUFDLFlBQVksS0FBSyxzQkFBVSxFQUFFO2dCQUNwQyxJQUFJLENBQUMsVUFB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LENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQztnQkFFbkUsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN0QixJQUFNLElBQUUsR0FDTixDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDO2dCQUVqRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztvQkFDVixDQUFDLENBQUMsSUFBRSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2FBQ2xFO1lBRUQsSUFBTSxFQUFFLEdBQ04sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNsQyxDQUFDLENBQUMsTUFBTSxLQUFLLEVBQUUsQ0FBQyxHQUFHLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUM7Z0JBQ2xDLENBQUMsQ0FBQyxNQUFNLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDO2dCQUN6QyxDQUFDLENBQUM7Z0JBQ0YsQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsZUFBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO2dCQUNqRCxDQUFDLENBQUM7WUFFSixJQUFNLEVBQUUsR0FDTixDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDakMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQztnQkFDbEMsQ0FBQyxDQUFDLE1BQU0sS0FBSyxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUNuQyxDQUFDLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxHQUFHLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUM7Z0JBQzlELENBQUMsQ0FBQztZQUVKLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDaEIsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ2hCLE1BQU0sR0FBRyxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDM0IsTUFBTSxHQUFHLE1BQU0sQ0FBQztZQUNoQixNQUFNLEdBQUcsTUFBTSxDQUFDO1lBQ2hCLE1BQU0sR0FBRyxNQUFNLENBQUM7WUFDaEIsTUFBTSxHQUFHLENBQUMsRUFBRSxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUNuQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztRQUNuQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksTUFBTSxDQUFDO1FBQ25CLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxNQUFNLENBQUM7UUFDbkIsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUNyQixDQUFDO0lBQ0gsZ0JBQUM7QUFBRCxDQUFDLEFBeEpELElBd0pDO0FBeEpZLDhCQUFTIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQkxPQ0tfU0laRSxcbiAgRElHRVNUX0xFTkdUSCxcbiAgSU5JVCxcbiAgS0VZLFxuICBNQVhfSEFTSEFCTEVfTEVOR1RIXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY2xhc3MgUmF3U2hhMjU2IHtcbiAgcHJpdmF0ZSBzdGF0ZTogSW50MzJBcnJheSA9IEludDMyQXJyYXkuZnJvbShJTklUKTtcbiAgcHJpdmF0ZSB0ZW1wOiBJbnQzMkFycmF5ID0gbmV3IEludDMyQXJyYXkoNjQpO1xuICBwcml2YXRlIGJ1ZmZlcjogVWludDhBcnJheSA9IG5ldyBVaW50OEFycmF5KDY0KTtcbiAgcHJpdmF0ZSBidWZmZXJMZW5ndGg6IG51bWJlciA9IDA7XG4gIHByaXZhdGUgYnl0ZXNIYXNoZWQ6IG51bWJlciA9IDA7XG5cbiAgLyoqXG4gICAqIEBpbnRlcm5hbFxuICAgKi9cbiAgZmluaXNoZWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICB1cGRhdGUoZGF0YTogVWludDhBcnJheSk6IHZvaWQge1xuICAgIGlmICh0aGlzLmZpbmlzaGVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBdHRlbXB0ZWQgdG8gdXBkYXRlIGFuIGFscmVhZHkgZmluaXNoZWQgaGFzaC5cIik7XG4gICAgfVxuXG4gICAgbGV0IHBvc2l0aW9uID0gMDtcbiAgICBsZXQgeyBieXRlTGVuZ3RoIH0gPSBkYXRhO1xuICAgIHRoaXMuYnl0ZXNIYXNoZWQgKz0gYnl0ZUxlbmd0aDtcblxuICAgIGlmICh0aGlzLmJ5dGVzSGFzaGVkICogOCA+IE1BWF9IQVNIQUJMRV9MRU5HVEgpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCBoYXNoIG1vcmUgdGhhbiAyXjUzIC0gMSBiaXRzXCIpO1xuICAgIH1cblxuICAgIHdoaWxlIChieXRlTGVuZ3RoID4gMCkge1xuICAgICAgdGhpcy5idWZmZXJbdGhpcy5idWZmZXJMZW5ndGgrK10gPSBkYXRhW3Bvc2l0aW9uKytdO1xuICAgICAgYnl0ZUxlbmd0aC0tO1xuXG4gICAgICBpZiAodGhpcy5idWZmZXJMZW5ndGggPT09IEJMT0NLX1NJWkUpIHtcbiAgICAgICAgdGhpcy5oYXNoQnVmZmVyKCk7XG4gICAgICAgIHRoaXMuYnVmZmVyTGVuZ3RoID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBkaWdlc3QoKTogVWludDhBcnJheSB7XG4gICAgaWYgKCF0aGlzLmZpbmlzaGVkKSB7XG4gICAgICBjb25zdCBiaXRzSGFzaGVkID0gdGhpcy5ieXRlc0hhc2hlZCAqIDg7XG4gICAgICBjb25zdCBidWZmZXJWaWV3ID0gbmV3IERhdGFWaWV3KFxuICAgICAgICB0aGlzLmJ1ZmZlci5idWZmZXIsXG4gICAgICAgIHRoaXMuYnVmZmVyLmJ5dGVPZmZzZXQsXG4gICAgICAgIHRoaXMuYnVmZmVyLmJ5dGVMZW5ndGhcbiAgICAgICk7XG5cbiAgICAgIGNvbnN0IHVuZGVjb3JhdGVkTGVuZ3RoID0gdGhpcy5idWZmZXJMZW5ndGg7XG4gICAgICBidWZmZXJWaWV3LnNldFVpbnQ4KHRoaXMuYnVmZmVyTGVuZ3RoKyssIDB4ODApO1xuXG4gICAgICAvLyBFbnN1cmUgdGhlIGZpbmFsIGJsb2NrIGhhcyBlbm91Z2ggcm9vbSBmb3IgdGhlIGhhc2hlZCBsZW5ndGhcbiAgICAgIGlmICh1bmRlY29yYXRlZExlbmd0aCAlIEJMT0NLX1NJWkUgPj0gQkxPQ0tfU0laRSAtIDgpIHtcbiAgICAgICAgZm9yIChsZXQgaSA9IHRoaXMuYnVmZmVyTGVuZ3RoOyBpIDwgQkxPQ0tfU0laRTsgaSsrKSB7XG4gICAgICAgICAgYnVmZmVyVmlldy5zZXRVaW50OChpLCAwKTtcbiAgICAgICAgfVxuICAgICAgICB0aGlzLmhhc2hCdWZmZXIoKTtcbiAgICAgICAgdGhpcy5idWZmZXJMZW5ndGggPSAwO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGxldCBpID0gdGhpcy5idWZmZXJMZW5ndGg7IGkgPCBCTE9DS19TSVpFIC0gODsgaSsrKSB7XG4gICAgICAgIGJ1ZmZlclZpZXcuc2V0VWludDgoaSwgMCk7XG4gICAgICB9XG4gICAgICBidWZmZXJWaWV3LnNldFVpbnQzMihcbiAgICAgICAgQkxPQ0tfU0laRSAtIDgsXG4gICAgICAgIE1hdGguZmxvb3IoYml0c0hhc2hlZCAvIDB4MTAwMDAwMDAwKSxcbiAgICAgICAgdHJ1ZVxuICAgICAgKTtcbiAgICAgIGJ1ZmZlclZpZXcuc2V0VWludDMyKEJMT0NLX1NJWkUgLSA0LCBiaXRzSGFzaGVkKTtcblxuICAgICAgdGhpcy5oYXNoQnVmZmVyKCk7XG5cbiAgICAgIHRoaXMuZmluaXNoZWQgPSB0cnVlO1xuICAgIH1cblxuICAgIC8vIFRoZSB2YWx1ZSBpbiBzdGF0ZSBpcyBsaXR0bGUtZW5kaWFuIHJhdGhlciB0aGFuIGJpZy1lbmRpYW4sIHNvIGZsaXBcbiAgICAvLyBlYWNoIHdvcmQgaW50byBhIG5ldyBVaW50OEFycmF5XG4gICAgY29uc3Qgb3V0ID0gbmV3IFVpbnQ4QXJyYXkoRElHRVNUX0xFTkdUSCk7XG4gICAgZm9yIChsZXQgaSA9IDA7IGkgPCA4OyBpKyspIHtcbiAgICAgIG91dFtpICogNF0gPSAodGhpcy5zdGF0ZVtpXSA+Pj4gMjQpICYgMHhmZjtcbiAgICAgIG91dFtpICogNCArIDFdID0gKHRoaXMuc3RhdGVbaV0gPj4+IDE2KSAmIDB4ZmY7XG4gICAgICBvdXRbaSAqIDQgKyAyXSA9ICh0aGlzLnN0YXRlW2ldID4+PiA4KSAmIDB4ZmY7XG4gICAgICBvdXRbaSAqIDQgKyAzXSA9ICh0aGlzLnN0YXRlW2ldID4+PiAwKSAmIDB4ZmY7XG4gICAgfVxuXG4gICAgcmV0dXJuIG91dDtcbiAgfVxuXG4gIHByaXZhdGUgaGFzaEJ1ZmZlcigpOiB2b2lkIHtcbiAgICBjb25zdCB7IGJ1ZmZlciwgc3RhdGUgfSA9IHRoaXM7XG5cbiAgICBsZXQgc3RhdGUwID0gc3RhdGVbMF0sXG4gICAgICBzdGF0ZTEgPSBzdGF0ZVsxXSxcbiAgICAgIHN0YXRlMiA9IHN0YXRlWzJdLFxuICAgICAgc3RhdGUzID0gc3RhdGVbM10sXG4gICAgICBzdGF0ZTQgPSBzdGF0ZVs0XSxcbiAgICAgIHN0YXRlNSA9IHN0YXRlWzVdLFxuICAgICAgc3RhdGU2ID0gc3RhdGVbNl0sXG4gICAgICBzdGF0ZTcgPSBzdGF0ZVs3XTtcblxuICAgIGZvciAobGV0IGkgPSAwOyBpIDwgQkxPQ0tfU0laRTsgaSsrKSB7XG4gICAgICBpZiAoaSA8IDE2KSB7XG4gICAgICAgIHRoaXMudGVtcFtpXSA9XG4gICAgICAgICAgKChidWZmZXJbaSAqIDRdICYgMHhmZikgPDwgMjQpIHxcbiAgICAgICAgICAoKGJ1ZmZlcltpICogNCArIDFdICYgMHhmZikgPDwgMTYpIHxcbiAgICAgICAgICAoKGJ1ZmZlcltpICogNCArIDJdICYgMHhmZikgPDwgOCkgfFxuICAgICAgICAgIChidWZmZXJbaSAqIDQgKyAzXSAmIDB4ZmYpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgbGV0IHUgPSB0aGlzLnRlbXBbaSAtIDJdO1xuICAgICAgICBjb25zdCB0MSA9XG4gICAgICAgICAgKCh1ID4+PiAxNykgfCAodSA8PCAxNSkpIF4gKCh1ID4+PiAxOSkgfCAodSA8PCAxMykpIF4gKHUgPj4+IDEwKTtcblxuICAgICAgICB1ID0gdGhpcy50ZW1wW2kgLSAxNV07XG4gICAgICAgIGNvbnN0IHQyID1cbiAgICAgICAgICAoKHUgPj4+IDcpIHwgKHUgPDwgMjUpKSBeICgodSA+Pj4gMTgpIHwgKHUgPDwgMTQpKSBeICh1ID4+PiAzKTtcblxuICAgICAgICB0aGlzLnRlbXBbaV0gPVxuICAgICAgICAgICgodDEgKyB0aGlzLnRlbXBbaSAtIDddKSB8IDApICsgKCh0MiArIHRoaXMudGVtcFtpIC0gMTZdKSB8IDApO1xuICAgICAgfVxuXG4gICAgICBjb25zdCB0MSA9XG4gICAgICAgICgoKCgoKHN0YXRlNCA+Pj4gNikgfCAoc3RhdGU0IDw8IDI2KSkgXlxuICAgICAgICAgICgoc3RhdGU0ID4+PiAxMSkgfCAoc3RhdGU0IDw8IDIxKSkgXlxuICAgICAgICAgICgoc3RhdGU0ID4+PiAyNSkgfCAoc3RhdGU0IDw8IDcpKSkgK1xuICAgICAgICAgICgoc3RhdGU0ICYgc3RhdGU1KSBeICh+c3RhdGU0ICYgc3RhdGU2KSkpIHxcbiAgICAgICAgICAwKSArXG4gICAgICAgICAgKChzdGF0ZTcgKyAoKEtFWVtpXSArIHRoaXMudGVtcFtpXSkgfCAwKSkgfCAwKSkgfFxuICAgICAgICAwO1xuXG4gICAgICBjb25zdCB0MiA9XG4gICAgICAgICgoKChzdGF0ZTAgPj4+IDIpIHwgKHN0YXRlMCA8PCAzMCkpIF5cbiAgICAgICAgICAoKHN0YXRlMCA+Pj4gMTMpIHwgKHN0YXRlMCA8PCAxOSkpIF5cbiAgICAgICAgICAoKHN0YXRlMCA+Pj4gMjIpIHwgKHN0YXRlMCA8PCAxMCkpKSArXG4gICAgICAgICAgKChzdGF0ZTAgJiBzdGF0ZTEpIF4gKHN0YXRlMCAmIHN0YXRlMikgXiAoc3RhdGUxICYgc3RhdGUyKSkpIHxcbiAgICAgICAgMDtcblxuICAgICAgc3RhdGU3ID0gc3RhdGU2O1xuICAgICAgc3RhdGU2ID0gc3RhdGU1O1xuICAgICAgc3RhdGU1ID0gc3RhdGU0O1xuICAgICAgc3RhdGU0ID0gKHN0YXRlMyArIHQxKSB8IDA7XG4gICAgICBzdGF0ZTMgPSBzdGF0ZTI7XG4gICAgICBzdGF0ZTIgPSBzdGF0ZTE7XG4gICAgICBzdGF0ZTEgPSBzdGF0ZTA7XG4gICAgICBzdGF0ZTAgPSAodDEgKyB0MikgfCAwO1xuICAgIH1cblxuICAgIHN0YXRlWzBdICs9IHN0YXRlMDtcbiAgICBzdGF0ZVsxXSArPSBzdGF0ZTE7XG4gICAgc3RhdGVbMl0gKz0gc3RhdGUyO1xuICAgIHN0YXRlWzNdICs9IHN0YXRlMztcbiAgICBzdGF0ZVs0XSArPSBzdGF0ZTQ7XG4gICAgc3RhdGVbNV0gKz0gc3RhdGU1O1xuICAgIHN0YXRlWzZdICs9IHN0YXRlNjtcbiAgICBzdGF0ZVs3XSArPSBzdGF0ZTc7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.MAX_HASHABLE_LENGTH = exports.INIT = exports.KEY = exports.DIGEST_LENGTH = exports.BLOCK_SIZE = void 0;\n/**\n * @internal\n */\nexports.BLOCK_SIZE = 64;\n/**\n * @internal\n */\nexports.DIGEST_LENGTH = 32;\n/**\n * @internal\n */\nexports.KEY = new Uint32Array([\n 0x428a2f98,\n 0x71374491,\n 0xb5c0fbcf,\n 0xe9b5dba5,\n 0x3956c25b,\n 0x59f111f1,\n 0x923f82a4,\n 0xab1c5ed5,\n 0xd807aa98,\n 0x12835b01,\n 0x243185be,\n 0x550c7dc3,\n 0x72be5d74,\n 0x80deb1fe,\n 0x9bdc06a7,\n 0xc19bf174,\n 0xe49b69c1,\n 0xefbe4786,\n 0x0fc19dc6,\n 0x240ca1cc,\n 0x2de92c6f,\n 0x4a7484aa,\n 0x5cb0a9dc,\n 0x76f988da,\n 0x983e5152,\n 0xa831c66d,\n 0xb00327c8,\n 0xbf597fc7,\n 0xc6e00bf3,\n 0xd5a79147,\n 0x06ca6351,\n 0x14292967,\n 0x27b70a85,\n 0x2e1b2138,\n 0x4d2c6dfc,\n 0x53380d13,\n 0x650a7354,\n 0x766a0abb,\n 0x81c2c92e,\n 0x92722c85,\n 0xa2bfe8a1,\n 0xa81a664b,\n 0xc24b8b70,\n 0xc76c51a3,\n 0xd192e819,\n 0xd6990624,\n 0xf40e3585,\n 0x106aa070,\n 0x19a4c116,\n 0x1e376c08,\n 0x2748774c,\n 0x34b0bcb5,\n 0x391c0cb3,\n 0x4ed8aa4a,\n 0x5b9cca4f,\n 0x682e6ff3,\n 0x748f82ee,\n 0x78a5636f,\n 0x84c87814,\n 0x8cc70208,\n 0x90befffa,\n 0xa4506ceb,\n 0xbef9a3f7,\n 0xc67178f2\n]);\n/**\n * @internal\n */\nexports.INIT = [\n 0x6a09e667,\n 0xbb67ae85,\n 0x3c6ef372,\n 0xa54ff53a,\n 0x510e527f,\n 0x9b05688c,\n 0x1f83d9ab,\n 0x5be0cd19\n];\n/**\n * @internal\n */\nexports.MAX_HASHABLE_LENGTH = Math.pow(2, 53) - 1;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQTs7R0FFRztBQUNVLFFBQUEsVUFBVSxHQUFXLEVBQUUsQ0FBQztBQUVyQzs7R0FFRztBQUNVLFFBQUEsYUFBYSxHQUFXLEVBQUUsQ0FBQztBQUV4Qzs7R0FFRztBQUNVLFFBQUEsR0FBRyxHQUFHLElBQUksV0FBVyxDQUFDO0lBQ2pDLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7Q0FDWCxDQUFDLENBQUM7QUFFSDs7R0FFRztBQUNVLFFBQUEsSUFBSSxHQUFHO0lBQ2xCLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0lBQ1YsVUFBVTtJQUNWLFVBQVU7SUFDVixVQUFVO0NBQ1gsQ0FBQztBQUVGOztHQUVHO0FBQ1UsUUFBQSxtQkFBbUIsR0FBRyxTQUFBLENBQUMsRUFBSSxFQUFFLENBQUEsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgQkxPQ0tfU0laRTogbnVtYmVyID0gNjQ7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBjb25zdCBESUdFU1RfTEVOR1RIOiBudW1iZXIgPSAzMjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IEtFWSA9IG5ldyBVaW50MzJBcnJheShbXG4gIDB4NDI4YTJmOTgsXG4gIDB4NzEzNzQ0OTEsXG4gIDB4YjVjMGZiY2YsXG4gIDB4ZTliNWRiYTUsXG4gIDB4Mzk1NmMyNWIsXG4gIDB4NTlmMTExZjEsXG4gIDB4OTIzZjgyYTQsXG4gIDB4YWIxYzVlZDUsXG4gIDB4ZDgwN2FhOTgsXG4gIDB4MTI4MzViMDEsXG4gIDB4MjQzMTg1YmUsXG4gIDB4NTUwYzdkYzMsXG4gIDB4NzJiZTVkNzQsXG4gIDB4ODBkZWIxZmUsXG4gIDB4OWJkYzA2YTcsXG4gIDB4YzE5YmYxNzQsXG4gIDB4ZTQ5YjY5YzEsXG4gIDB4ZWZiZTQ3ODYsXG4gIDB4MGZjMTlkYzYsXG4gIDB4MjQwY2ExY2MsXG4gIDB4MmRlOTJjNmYsXG4gIDB4NGE3NDg0YWEsXG4gIDB4NWNiMGE5ZGMsXG4gIDB4NzZmOTg4ZGEsXG4gIDB4OTgzZTUxNTIsXG4gIDB4YTgzMWM2NmQsXG4gIDB4YjAwMzI3YzgsXG4gIDB4YmY1OTdmYzcsXG4gIDB4YzZlMDBiZjMsXG4gIDB4ZDVhNzkxNDcsXG4gIDB4MDZjYTYzNTEsXG4gIDB4MTQyOTI5NjcsXG4gIDB4MjdiNzBhODUsXG4gIDB4MmUxYjIxMzgsXG4gIDB4NGQyYzZkZmMsXG4gIDB4NTMzODBkMTMsXG4gIDB4NjUwYTczNTQsXG4gIDB4NzY2YTBhYmIsXG4gIDB4ODFjMmM5MmUsXG4gIDB4OTI3MjJjODUsXG4gIDB4YTJiZmU4YTEsXG4gIDB4YTgxYTY2NGIsXG4gIDB4YzI0YjhiNzAsXG4gIDB4Yzc2YzUxYTMsXG4gIDB4ZDE5MmU4MTksXG4gIDB4ZDY5OTA2MjQsXG4gIDB4ZjQwZTM1ODUsXG4gIDB4MTA2YWEwNzAsXG4gIDB4MTlhNGMxMTYsXG4gIDB4MWUzNzZjMDgsXG4gIDB4Mjc0ODc3NGMsXG4gIDB4MzRiMGJjYjUsXG4gIDB4MzkxYzBjYjMsXG4gIDB4NGVkOGFhNGEsXG4gIDB4NWI5Y2NhNGYsXG4gIDB4NjgyZTZmZjMsXG4gIDB4NzQ4ZjgyZWUsXG4gIDB4NzhhNTYzNmYsXG4gIDB4ODRjODc4MTQsXG4gIDB4OGNjNzAyMDgsXG4gIDB4OTBiZWZmZmEsXG4gIDB4YTQ1MDZjZWIsXG4gIDB4YmVmOWEzZjcsXG4gIDB4YzY3MTc4ZjJcbl0pO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgY29uc3QgSU5JVCA9IFtcbiAgMHg2YTA5ZTY2NyxcbiAgMHhiYjY3YWU4NSxcbiAgMHgzYzZlZjM3MixcbiAgMHhhNTRmZjUzYSxcbiAgMHg1MTBlNTI3ZixcbiAgMHg5YjA1Njg4YyxcbiAgMHgxZjgzZDlhYixcbiAgMHg1YmUwY2QxOVxuXTtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGNvbnN0IE1BWF9IQVNIQUJMRV9MRU5HVEggPSAyICoqIDUzIC0gMTtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\n(0, tslib_1.__exportStar)(require(\"./jsSha256\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsMERBQTJCIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vanNTaGEyNTZcIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.Sha256 = void 0;\nvar tslib_1 = require(\"tslib\");\nvar constants_1 = require(\"./constants\");\nvar RawSha256_1 = require(\"./RawSha256\");\nvar util_1 = require(\"@aws-crypto/util\");\nvar Sha256 = /** @class */ (function () {\n function Sha256(secret) {\n this.hash = new RawSha256_1.RawSha256();\n if (secret) {\n this.outer = new RawSha256_1.RawSha256();\n var inner = bufferFromSecret(secret);\n var outer = new Uint8Array(constants_1.BLOCK_SIZE);\n outer.set(inner);\n for (var i = 0; i < constants_1.BLOCK_SIZE; i++) {\n inner[i] ^= 0x36;\n outer[i] ^= 0x5c;\n }\n this.hash.update(inner);\n this.outer.update(outer);\n // overwrite the copied key in memory\n for (var i = 0; i < inner.byteLength; i++) {\n inner[i] = 0;\n }\n }\n }\n Sha256.prototype.update = function (toHash) {\n if ((0, util_1.isEmptyData)(toHash) || this.error) {\n return;\n }\n try {\n this.hash.update((0, util_1.convertToBuffer)(toHash));\n }\n catch (e) {\n this.error = e;\n }\n };\n /* This synchronous method keeps compatibility\n * with the v2 aws-sdk.\n */\n Sha256.prototype.digestSync = function () {\n if (this.error) {\n throw this.error;\n }\n if (this.outer) {\n if (!this.outer.finished) {\n this.outer.update(this.hash.digest());\n }\n return this.outer.digest();\n }\n return this.hash.digest();\n };\n /* The underlying digest method here is synchronous.\n * To keep the same interface with the other hash functions\n * the default is to expose this as an async method.\n * However, it can sometimes be useful to have a sync method.\n */\n Sha256.prototype.digest = function () {\n return (0, tslib_1.__awaiter)(this, void 0, void 0, function () {\n return (0, tslib_1.__generator)(this, function (_a) {\n return [2 /*return*/, this.digestSync()];\n });\n });\n };\n return Sha256;\n}());\nexports.Sha256 = Sha256;\nfunction bufferFromSecret(secret) {\n var input = (0, util_1.convertToBuffer)(secret);\n if (input.byteLength > constants_1.BLOCK_SIZE) {\n var bufferHash = new RawSha256_1.RawSha256();\n bufferHash.update(input);\n input = bufferHash.digest();\n }\n var buffer = new Uint8Array(constants_1.BLOCK_SIZE);\n buffer.set(input);\n return buffer;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoianNTaGEyNTYuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvanNTaGEyNTYudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLHlDQUF5QztBQUN6Qyx5Q0FBd0M7QUFFeEMseUNBQWdFO0FBRWhFO0lBS0UsZ0JBQVksTUFBbUI7UUFKZCxTQUFJLEdBQUcsSUFBSSxxQkFBUyxFQUFFLENBQUM7UUFLdEMsSUFBSSxNQUFNLEVBQUU7WUFDVixJQUFJLENBQUMsS0FBSyxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1lBQzdCLElBQU0sS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO1lBQ3ZDLElBQU0sS0FBSyxHQUFHLElBQUksVUFBVSxDQUFDLHNCQUFVLENBQUMsQ0FBQztZQUN6QyxLQUFLLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBRWpCLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxzQkFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUNuQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2dCQUNqQixLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDO2FBQ2xCO1lBRUQsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7WUFFekIscUNBQXFDO1lBQ3JDLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLENBQUMsVUFBVSxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN6QyxLQUFLLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO2FBQ2Q7U0FDRjtJQUNILENBQUM7SUFFRCx1QkFBTSxHQUFOLFVBQU8sTUFBa0I7UUFDdkIsSUFBSSxJQUFBLGtCQUFXLEVBQUMsTUFBTSxDQUFDLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNyQyxPQUFPO1NBQ1I7UUFFRCxJQUFJO1lBQ0YsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBQSxzQkFBZSxFQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDM0M7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDO1NBQ2hCO0lBQ0gsQ0FBQztJQUVEOztPQUVHO0lBQ0gsMkJBQVUsR0FBVjtRQUNFLElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQztTQUNsQjtRQUVELElBQUksSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNkLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsRUFBRTtnQkFDeEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO1lBRUQsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRSxDQUFDO1NBQzVCO1FBRUQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzVCLENBQUM7SUFFRDs7OztPQUlHO0lBQ0csdUJBQU0sR0FBWjs7O2dCQUNFLHNCQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsRUFBQzs7O0tBQzFCO0lBQ0gsYUFBQztBQUFELENBQUMsQUFsRUQsSUFrRUM7QUFsRVksd0JBQU07QUFvRW5CLFNBQVMsZ0JBQWdCLENBQUMsTUFBa0I7SUFDMUMsSUFBSSxLQUFLLEdBQUcsSUFBQSxzQkFBZSxFQUFDLE1BQU0sQ0FBQyxDQUFDO0lBRXBDLElBQUksS0FBSyxDQUFDLFVBQVUsR0FBRyxzQkFBVSxFQUFFO1FBQ2pDLElBQU0sVUFBVSxHQUFHLElBQUkscUJBQVMsRUFBRSxDQUFDO1FBQ25DLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDekIsS0FBSyxHQUFHLFVBQVUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztLQUM3QjtJQUVELElBQU0sTUFBTSxHQUFHLElBQUksVUFBVSxDQUFDLHNCQUFVLENBQUMsQ0FBQztJQUMxQyxNQUFNLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sTUFBTSxDQUFDO0FBQ2hCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBCTE9DS19TSVpFIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5pbXBvcnQgeyBSYXdTaGEyNTYgfSBmcm9tIFwiLi9SYXdTaGEyNTZcIjtcbmltcG9ydCB7IEhhc2gsIFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IGlzRW1wdHlEYXRhLCBjb252ZXJ0VG9CdWZmZXIgfSBmcm9tIFwiQGF3cy1jcnlwdG8vdXRpbFwiO1xuXG5leHBvcnQgY2xhc3MgU2hhMjU2IGltcGxlbWVudHMgSGFzaCB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaGFzaCA9IG5ldyBSYXdTaGEyNTYoKTtcbiAgcHJpdmF0ZSByZWFkb25seSBvdXRlcj86IFJhd1NoYTI1NjtcbiAgcHJpdmF0ZSBlcnJvcjogYW55O1xuXG4gIGNvbnN0cnVjdG9yKHNlY3JldD86IFNvdXJjZURhdGEpIHtcbiAgICBpZiAoc2VjcmV0KSB7XG4gICAgICB0aGlzLm91dGVyID0gbmV3IFJhd1NoYTI1NigpO1xuICAgICAgY29uc3QgaW5uZXIgPSBidWZmZXJGcm9tU2VjcmV0KHNlY3JldCk7XG4gICAgICBjb25zdCBvdXRlciA9IG5ldyBVaW50OEFycmF5KEJMT0NLX1NJWkUpO1xuICAgICAgb3V0ZXIuc2V0KGlubmVyKTtcblxuICAgICAgZm9yIChsZXQgaSA9IDA7IGkgPCBCTE9DS19TSVpFOyBpKyspIHtcbiAgICAgICAgaW5uZXJbaV0gXj0gMHgzNjtcbiAgICAgICAgb3V0ZXJbaV0gXj0gMHg1YztcbiAgICAgIH1cblxuICAgICAgdGhpcy5oYXNoLnVwZGF0ZShpbm5lcik7XG4gICAgICB0aGlzLm91dGVyLnVwZGF0ZShvdXRlcik7XG5cbiAgICAgIC8vIG92ZXJ3cml0ZSB0aGUgY29waWVkIGtleSBpbiBtZW1vcnlcbiAgICAgIGZvciAobGV0IGkgPSAwOyBpIDwgaW5uZXIuYnl0ZUxlbmd0aDsgaSsrKSB7XG4gICAgICAgIGlubmVyW2ldID0gMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB1cGRhdGUodG9IYXNoOiBTb3VyY2VEYXRhKTogdm9pZCB7XG4gICAgaWYgKGlzRW1wdHlEYXRhKHRvSGFzaCkgfHwgdGhpcy5lcnJvcikge1xuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICB0aGlzLmhhc2gudXBkYXRlKGNvbnZlcnRUb0J1ZmZlcih0b0hhc2gpKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmVycm9yID0gZTtcbiAgICB9XG4gIH1cblxuICAvKiBUaGlzIHN5bmNocm9ub3VzIG1ldGhvZCBrZWVwcyBjb21wYXRpYmlsaXR5XG4gICAqIHdpdGggdGhlIHYyIGF3cy1zZGsuXG4gICAqL1xuICBkaWdlc3RTeW5jKCk6IFVpbnQ4QXJyYXkge1xuICAgIGlmICh0aGlzLmVycm9yKSB7XG4gICAgICB0aHJvdyB0aGlzLmVycm9yO1xuICAgIH1cblxuICAgIGlmICh0aGlzLm91dGVyKSB7XG4gICAgICBpZiAoIXRoaXMub3V0ZXIuZmluaXNoZWQpIHtcbiAgICAgICAgdGhpcy5vdXRlci51cGRhdGUodGhpcy5oYXNoLmRpZ2VzdCgpKTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHRoaXMub3V0ZXIuZGlnZXN0KCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuaGFzaC5kaWdlc3QoKTtcbiAgfVxuXG4gIC8qIFRoZSB1bmRlcmx5aW5nIGRpZ2VzdCBtZXRob2QgaGVyZSBpcyBzeW5jaHJvbm91cy5cbiAgICogVG8ga2VlcCB0aGUgc2FtZSBpbnRlcmZhY2Ugd2l0aCB0aGUgb3RoZXIgaGFzaCBmdW5jdGlvbnNcbiAgICogdGhlIGRlZmF1bHQgaXMgdG8gZXhwb3NlIHRoaXMgYXMgYW4gYXN5bmMgbWV0aG9kLlxuICAgKiBIb3dldmVyLCBpdCBjYW4gc29tZXRpbWVzIGJlIHVzZWZ1bCB0byBoYXZlIGEgc3luYyBtZXRob2QuXG4gICAqL1xuICBhc3luYyBkaWdlc3QoKTogUHJvbWlzZTxVaW50OEFycmF5PiB7XG4gICAgcmV0dXJuIHRoaXMuZGlnZXN0U3luYygpO1xuICB9XG59XG5cbmZ1bmN0aW9uIGJ1ZmZlckZyb21TZWNyZXQoc2VjcmV0OiBTb3VyY2VEYXRhKTogVWludDhBcnJheSB7XG4gIGxldCBpbnB1dCA9IGNvbnZlcnRUb0J1ZmZlcihzZWNyZXQpO1xuXG4gIGlmIChpbnB1dC5ieXRlTGVuZ3RoID4gQkxPQ0tfU0laRSkge1xuICAgIGNvbnN0IGJ1ZmZlckhhc2ggPSBuZXcgUmF3U2hhMjU2KCk7XG4gICAgYnVmZmVySGFzaC51cGRhdGUoaW5wdXQpO1xuICAgIGlucHV0ID0gYnVmZmVySGFzaC5kaWdlc3QoKTtcbiAgfVxuXG4gIGNvbnN0IGJ1ZmZlciA9IG5ldyBVaW50OEFycmF5KEJMT0NLX1NJWkUpO1xuICBidWZmZXIuc2V0KGlucHV0KTtcbiAgcmV0dXJuIGJ1ZmZlcjtcbn1cbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nvar tslib_1 = require(\"tslib\");\ntslib_1.__exportStar(require(\"./supportsWebCrypto\"), exports);\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsOERBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSBcIi4vc3VwcG9ydHNXZWJDcnlwdG9cIjtcbiJdfQ==","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.supportsZeroByteGCM = exports.supportsSubtleCrypto = exports.supportsSecureRandom = exports.supportsWebCrypto = void 0;\nvar tslib_1 = require(\"tslib\");\nvar subtleCryptoMethods = [\n \"decrypt\",\n \"digest\",\n \"encrypt\",\n \"exportKey\",\n \"generateKey\",\n \"importKey\",\n \"sign\",\n \"verify\"\n];\nfunction supportsWebCrypto(window) {\n if (supportsSecureRandom(window) &&\n typeof window.crypto.subtle === \"object\") {\n var subtle = window.crypto.subtle;\n return supportsSubtleCrypto(subtle);\n }\n return false;\n}\nexports.supportsWebCrypto = supportsWebCrypto;\nfunction supportsSecureRandom(window) {\n if (typeof window === \"object\" && typeof window.crypto === \"object\") {\n var getRandomValues = window.crypto.getRandomValues;\n return typeof getRandomValues === \"function\";\n }\n return false;\n}\nexports.supportsSecureRandom = supportsSecureRandom;\nfunction supportsSubtleCrypto(subtle) {\n return (subtle &&\n subtleCryptoMethods.every(function (methodName) { return typeof subtle[methodName] === \"function\"; }));\n}\nexports.supportsSubtleCrypto = supportsSubtleCrypto;\nfunction supportsZeroByteGCM(subtle) {\n return tslib_1.__awaiter(this, void 0, void 0, function () {\n var key, zeroByteAuthTag, _a;\n return tslib_1.__generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!supportsSubtleCrypto(subtle))\n return [2 /*return*/, false];\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, subtle.generateKey({ name: \"AES-GCM\", length: 128 }, false, [\"encrypt\"])];\n case 2:\n key = _b.sent();\n return [4 /*yield*/, subtle.encrypt({\n name: \"AES-GCM\",\n iv: new Uint8Array(Array(12)),\n additionalData: new Uint8Array(Array(16)),\n tagLength: 128\n }, key, new Uint8Array(0))];\n case 3:\n zeroByteAuthTag = _b.sent();\n return [2 /*return*/, zeroByteAuthTag.byteLength === 16];\n case 4:\n _a = _b.sent();\n return [2 /*return*/, false];\n case 5: return [2 /*return*/];\n }\n });\n });\n}\nexports.supportsZeroByteGCM = supportsZeroByteGCM;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3VwcG9ydHNXZWJDcnlwdG8uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvc3VwcG9ydHNXZWJDcnlwdG8udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7OztBQVVBLElBQU0sbUJBQW1CLEdBQThCO0lBQ3JELFNBQVM7SUFDVCxRQUFRO0lBQ1IsU0FBUztJQUNULFdBQVc7SUFDWCxhQUFhO0lBQ2IsV0FBVztJQUNYLE1BQU07SUFDTixRQUFRO0NBQ1QsQ0FBQztBQUVGLFNBQWdCLGlCQUFpQixDQUFDLE1BQWM7SUFDOUMsSUFDRSxvQkFBb0IsQ0FBQyxNQUFNLENBQUM7UUFDNUIsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxRQUFRLEVBQ3hDO1FBQ1EsSUFBQSxNQUFNLEdBQUssTUFBTSxDQUFDLE1BQU0sT0FBbEIsQ0FBbUI7UUFFakMsT0FBTyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsQ0FBQztLQUNyQztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVhELDhDQVdDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBYztJQUNqRCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsSUFBSSxPQUFPLE1BQU0sQ0FBQyxNQUFNLEtBQUssUUFBUSxFQUFFO1FBQzNELElBQUEsZUFBZSxHQUFLLE1BQU0sQ0FBQyxNQUFNLGdCQUFsQixDQUFtQjtRQUUxQyxPQUFPLE9BQU8sZUFBZSxLQUFLLFVBQVUsQ0FBQztLQUM5QztJQUVELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQVJELG9EQVFDO0FBRUQsU0FBZ0Isb0JBQW9CLENBQUMsTUFBb0I7SUFDdkQsT0FBTyxDQUNMLE1BQU07UUFDTixtQkFBbUIsQ0FBQyxLQUFLLENBQ3ZCLFVBQUEsVUFBVSxJQUFJLE9BQUEsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssVUFBVSxFQUF4QyxDQUF3QyxDQUN2RCxDQUNGLENBQUM7QUFDSixDQUFDO0FBUEQsb0RBT0M7QUFFRCxTQUFzQixtQkFBbUIsQ0FBQyxNQUFvQjs7Ozs7O29CQUM1RCxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDO3dCQUFFLHNCQUFPLEtBQUssRUFBQzs7OztvQkFFbEMscUJBQU0sTUFBTSxDQUFDLFdBQVcsQ0FDbEMsRUFBRSxJQUFJLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsRUFDaEMsS0FBSyxFQUNMLENBQUMsU0FBUyxDQUFDLENBQ1osRUFBQTs7b0JBSkssR0FBRyxHQUFHLFNBSVg7b0JBQ3VCLHFCQUFNLE1BQU0sQ0FBQyxPQUFPLENBQzFDOzRCQUNFLElBQUksRUFBRSxTQUFTOzRCQUNmLEVBQUUsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQzdCLGNBQWMsRUFBRSxJQUFJLFVBQVUsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7NEJBQ3pDLFNBQVMsRUFBRSxHQUFHO3lCQUNmLEVBQ0QsR0FBRyxFQUNILElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUNsQixFQUFBOztvQkFUSyxlQUFlLEdBQUcsU0FTdkI7b0JBQ0Qsc0JBQU8sZUFBZSxDQUFDLFVBQVUsS0FBSyxFQUFFLEVBQUM7OztvQkFFekMsc0JBQU8sS0FBSyxFQUFDOzs7OztDQUVoQjtBQXRCRCxrREFzQkMiLCJzb3VyY2VzQ29udGVudCI6WyJ0eXBlIFN1YnRsZUNyeXB0b01ldGhvZCA9XG4gIHwgXCJkZWNyeXB0XCJcbiAgfCBcImRpZ2VzdFwiXG4gIHwgXCJlbmNyeXB0XCJcbiAgfCBcImV4cG9ydEtleVwiXG4gIHwgXCJnZW5lcmF0ZUtleVwiXG4gIHwgXCJpbXBvcnRLZXlcIlxuICB8IFwic2lnblwiXG4gIHwgXCJ2ZXJpZnlcIjtcblxuY29uc3Qgc3VidGxlQ3J5cHRvTWV0aG9kczogQXJyYXk8U3VidGxlQ3J5cHRvTWV0aG9kPiA9IFtcbiAgXCJkZWNyeXB0XCIsXG4gIFwiZGlnZXN0XCIsXG4gIFwiZW5jcnlwdFwiLFxuICBcImV4cG9ydEtleVwiLFxuICBcImdlbmVyYXRlS2V5XCIsXG4gIFwiaW1wb3J0S2V5XCIsXG4gIFwic2lnblwiLFxuICBcInZlcmlmeVwiXG5dO1xuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNXZWJDcnlwdG8od2luZG93OiBXaW5kb3cpOiBib29sZWFuIHtcbiAgaWYgKFxuICAgIHN1cHBvcnRzU2VjdXJlUmFuZG9tKHdpbmRvdykgJiZcbiAgICB0eXBlb2Ygd2luZG93LmNyeXB0by5zdWJ0bGUgPT09IFwib2JqZWN0XCJcbiAgKSB7XG4gICAgY29uc3QgeyBzdWJ0bGUgfSA9IHdpbmRvdy5jcnlwdG87XG5cbiAgICByZXR1cm4gc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlKTtcbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHN1cHBvcnRzU2VjdXJlUmFuZG9tKHdpbmRvdzogV2luZG93KTogYm9vbGVhbiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiICYmIHR5cGVvZiB3aW5kb3cuY3J5cHRvID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgeyBnZXRSYW5kb21WYWx1ZXMgfSA9IHdpbmRvdy5jcnlwdG87XG5cbiAgICByZXR1cm4gdHlwZW9mIGdldFJhbmRvbVZhbHVlcyA9PT0gXCJmdW5jdGlvblwiO1xuICB9XG5cbiAgcmV0dXJuIGZhbHNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlOiBTdWJ0bGVDcnlwdG8pIHtcbiAgcmV0dXJuIChcbiAgICBzdWJ0bGUgJiZcbiAgICBzdWJ0bGVDcnlwdG9NZXRob2RzLmV2ZXJ5KFxuICAgICAgbWV0aG9kTmFtZSA9PiB0eXBlb2Ygc3VidGxlW21ldGhvZE5hbWVdID09PSBcImZ1bmN0aW9uXCJcbiAgICApXG4gICk7XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzdXBwb3J0c1plcm9CeXRlR0NNKHN1YnRsZTogU3VidGxlQ3J5cHRvKSB7XG4gIGlmICghc3VwcG9ydHNTdWJ0bGVDcnlwdG8oc3VidGxlKSkgcmV0dXJuIGZhbHNlO1xuICB0cnkge1xuICAgIGNvbnN0IGtleSA9IGF3YWl0IHN1YnRsZS5nZW5lcmF0ZUtleShcbiAgICAgIHsgbmFtZTogXCJBRVMtR0NNXCIsIGxlbmd0aDogMTI4IH0sXG4gICAgICBmYWxzZSxcbiAgICAgIFtcImVuY3J5cHRcIl1cbiAgICApO1xuICAgIGNvbnN0IHplcm9CeXRlQXV0aFRhZyA9IGF3YWl0IHN1YnRsZS5lbmNyeXB0KFxuICAgICAge1xuICAgICAgICBuYW1lOiBcIkFFUy1HQ01cIixcbiAgICAgICAgaXY6IG5ldyBVaW50OEFycmF5KEFycmF5KDEyKSksXG4gICAgICAgIGFkZGl0aW9uYWxEYXRhOiBuZXcgVWludDhBcnJheShBcnJheSgxNikpLFxuICAgICAgICB0YWdMZW5ndGg6IDEyOFxuICAgICAgfSxcbiAgICAgIGtleSxcbiAgICAgIG5ldyBVaW50OEFycmF5KDApXG4gICAgKTtcbiAgICByZXR1cm4gemVyb0J5dGVBdXRoVGFnLmJ5dGVMZW5ndGggPT09IDE2O1xuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cbiJdfQ==","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.convertToBuffer = void 0;\nvar util_utf8_browser_1 = require(\"@aws-sdk/util-utf8-browser\");\n// Quick polyfill\nvar fromUtf8 = typeof Buffer !== \"undefined\" && Buffer.from\n ? function (input) { return Buffer.from(input, \"utf8\"); }\n : util_utf8_browser_1.fromUtf8;\nfunction convertToBuffer(data) {\n // Already a Uint8, do nothing\n if (data instanceof Uint8Array)\n return data;\n if (typeof data === \"string\") {\n return fromUtf8(data);\n }\n if (ArrayBuffer.isView(data)) {\n return new Uint8Array(data.buffer, data.byteOffset, data.byteLength / Uint8Array.BYTES_PER_ELEMENT);\n }\n return new Uint8Array(data);\n}\nexports.convertToBuffer = convertToBuffer;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udmVydFRvQnVmZmVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbnZlcnRUb0J1ZmZlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQzs7O0FBR3RDLGdFQUF5RTtBQUV6RSxpQkFBaUI7QUFDakIsSUFBTSxRQUFRLEdBQ1osT0FBTyxNQUFNLEtBQUssV0FBVyxJQUFJLE1BQU0sQ0FBQyxJQUFJO0lBQzFDLENBQUMsQ0FBQyxVQUFDLEtBQWEsSUFBSyxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxFQUExQixDQUEwQjtJQUMvQyxDQUFDLENBQUMsNEJBQWUsQ0FBQztBQUV0QixTQUFnQixlQUFlLENBQUMsSUFBZ0I7SUFDOUMsOEJBQThCO0lBQzlCLElBQUksSUFBSSxZQUFZLFVBQVU7UUFBRSxPQUFPLElBQUksQ0FBQztJQUU1QyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUVELElBQUksV0FBVyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsRUFBRTtRQUM1QixPQUFPLElBQUksVUFBVSxDQUNuQixJQUFJLENBQUMsTUFBTSxFQUNYLElBQUksQ0FBQyxVQUFVLEVBQ2YsSUFBSSxDQUFDLFVBQVUsR0FBRyxVQUFVLENBQUMsaUJBQWlCLENBQy9DLENBQUM7S0FDSDtJQUVELE9BQU8sSUFBSSxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7QUFDOUIsQ0FBQztBQWpCRCwwQ0FpQkMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuaW1wb3J0IHsgU291cmNlRGF0YSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuaW1wb3J0IHsgZnJvbVV0ZjggYXMgZnJvbVV0ZjhCcm93c2VyIH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtdXRmOC1icm93c2VyXCI7XG5cbi8vIFF1aWNrIHBvbHlmaWxsXG5jb25zdCBmcm9tVXRmOCA9XG4gIHR5cGVvZiBCdWZmZXIgIT09IFwidW5kZWZpbmVkXCIgJiYgQnVmZmVyLmZyb21cbiAgICA/IChpbnB1dDogc3RyaW5nKSA9PiBCdWZmZXIuZnJvbShpbnB1dCwgXCJ1dGY4XCIpXG4gICAgOiBmcm9tVXRmOEJyb3dzZXI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjb252ZXJ0VG9CdWZmZXIoZGF0YTogU291cmNlRGF0YSk6IFVpbnQ4QXJyYXkge1xuICAvLyBBbHJlYWR5IGEgVWludDgsIGRvIG5vdGhpbmdcbiAgaWYgKGRhdGEgaW5zdGFuY2VvZiBVaW50OEFycmF5KSByZXR1cm4gZGF0YTtcblxuICBpZiAodHlwZW9mIGRhdGEgPT09IFwic3RyaW5nXCIpIHtcbiAgICByZXR1cm4gZnJvbVV0ZjgoZGF0YSk7XG4gIH1cblxuICBpZiAoQXJyYXlCdWZmZXIuaXNWaWV3KGRhdGEpKSB7XG4gICAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFxuICAgICAgZGF0YS5idWZmZXIsXG4gICAgICBkYXRhLmJ5dGVPZmZzZXQsXG4gICAgICBkYXRhLmJ5dGVMZW5ndGggLyBVaW50OEFycmF5LkJZVEVTX1BFUl9FTEVNRU5UXG4gICAgKTtcbiAgfVxuXG4gIHJldHVybiBuZXcgVWludDhBcnJheShkYXRhKTtcbn1cbiJdfQ==","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = exports.numToUint8 = exports.isEmptyData = exports.convertToBuffer = void 0;\nvar convertToBuffer_1 = require(\"./convertToBuffer\");\nObject.defineProperty(exports, \"convertToBuffer\", { enumerable: true, get: function () { return convertToBuffer_1.convertToBuffer; } });\nvar isEmptyData_1 = require(\"./isEmptyData\");\nObject.defineProperty(exports, \"isEmptyData\", { enumerable: true, get: function () { return isEmptyData_1.isEmptyData; } });\nvar numToUint8_1 = require(\"./numToUint8\");\nObject.defineProperty(exports, \"numToUint8\", { enumerable: true, get: function () { return numToUint8_1.numToUint8; } });\nvar uint32ArrayFrom_1 = require(\"./uint32ArrayFrom\");\nObject.defineProperty(exports, \"uint32ArrayFrom\", { enumerable: true, get: function () { return uint32ArrayFrom_1.uint32ArrayFrom; } });\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUV0QyxxREFBb0Q7QUFBM0Msa0hBQUEsZUFBZSxPQUFBO0FBQ3hCLDZDQUE0QztBQUFuQywwR0FBQSxXQUFXLE9BQUE7QUFDcEIsMkNBQTBDO0FBQWpDLHdHQUFBLFVBQVUsT0FBQTtBQUNuQixxREFBa0Q7QUFBMUMsa0hBQUEsZUFBZSxPQUFBIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20gSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmV4cG9ydCB7IGNvbnZlcnRUb0J1ZmZlciB9IGZyb20gXCIuL2NvbnZlcnRUb0J1ZmZlclwiO1xuZXhwb3J0IHsgaXNFbXB0eURhdGEgfSBmcm9tIFwiLi9pc0VtcHR5RGF0YVwiO1xuZXhwb3J0IHsgbnVtVG9VaW50OCB9IGZyb20gXCIuL251bVRvVWludDhcIjtcbmV4cG9ydCB7dWludDMyQXJyYXlGcm9tfSBmcm9tICcuL3VpbnQzMkFycmF5RnJvbSc7XG4iXX0=","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.isEmptyData = void 0;\nfunction isEmptyData(data) {\n if (typeof data === \"string\") {\n return data.length === 0;\n }\n return data.byteLength === 0;\n}\nexports.isEmptyData = isEmptyData;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXNFbXB0eURhdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaXNFbXB0eURhdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLG9FQUFvRTtBQUNwRSxzQ0FBc0M7OztBQUl0QyxTQUFnQixXQUFXLENBQUMsSUFBZ0I7SUFDMUMsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsT0FBTyxJQUFJLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztLQUMxQjtJQUVELE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxDQUFDLENBQUM7QUFDL0IsQ0FBQztBQU5ELGtDQU1DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20gSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbmltcG9ydCB7IFNvdXJjZURhdGEgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGlzRW1wdHlEYXRhKGRhdGE6IFNvdXJjZURhdGEpOiBib29sZWFuIHtcbiAgaWYgKHR5cGVvZiBkYXRhID09PSBcInN0cmluZ1wiKSB7XG4gICAgcmV0dXJuIGRhdGEubGVuZ3RoID09PSAwO1xuICB9XG5cbiAgcmV0dXJuIGRhdGEuYnl0ZUxlbmd0aCA9PT0gMDtcbn1cbiJdfQ==","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.numToUint8 = void 0;\nfunction numToUint8(num) {\n return new Uint8Array([\n (num & 0xff000000) >> 24,\n (num & 0x00ff0000) >> 16,\n (num & 0x0000ff00) >> 8,\n num & 0x000000ff,\n ]);\n}\nexports.numToUint8 = numToUint8;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibnVtVG9VaW50OC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9udW1Ub1VpbnQ4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxvRUFBb0U7QUFDcEUsc0NBQXNDOzs7QUFFdEMsU0FBZ0IsVUFBVSxDQUFDLEdBQVc7SUFDcEMsT0FBTyxJQUFJLFVBQVUsQ0FBQztRQUNwQixDQUFDLEdBQUcsR0FBRyxVQUFVLENBQUMsSUFBSSxFQUFFO1FBQ3hCLENBQUMsR0FBRyxHQUFHLFVBQVUsQ0FBQyxJQUFJLEVBQUU7UUFDeEIsQ0FBQyxHQUFHLEdBQUcsVUFBVSxDQUFDLElBQUksQ0FBQztRQUN2QixHQUFHLEdBQUcsVUFBVTtLQUNqQixDQUFDLENBQUM7QUFDTCxDQUFDO0FBUEQsZ0NBT0MiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBDb3B5cmlnaHQgQW1hem9uLmNvbSBJbmMuIG9yIGl0cyBhZmZpbGlhdGVzLiBBbGwgUmlnaHRzIFJlc2VydmVkLlxuLy8gU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEFwYWNoZS0yLjBcblxuZXhwb3J0IGZ1bmN0aW9uIG51bVRvVWludDgobnVtOiBudW1iZXIpIHtcbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KFtcbiAgICAobnVtICYgMHhmZjAwMDAwMCkgPj4gMjQsXG4gICAgKG51bSAmIDB4MDBmZjAwMDApID4+IDE2LFxuICAgIChudW0gJiAweDAwMDBmZjAwKSA+PiA4LFxuICAgIG51bSAmIDB4MDAwMDAwZmYsXG4gIF0pO1xufVxuIl19","\"use strict\";\n// Copyright Amazon.com Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.uint32ArrayFrom = void 0;\n// IE 11 does not support Array.from, so we do it manually\nfunction uint32ArrayFrom(a_lookUpTable) {\n if (!Array.from) {\n var return_array = new Uint32Array(a_lookUpTable.length);\n var a_index = 0;\n while (a_index < a_lookUpTable.length) {\n return_array[a_index] = a_lookUpTable[a_index];\n }\n return return_array;\n }\n return Uint32Array.from(a_lookUpTable);\n}\nexports.uint32ArrayFrom = uint32ArrayFrom;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidWludDMyQXJyYXlGcm9tLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3VpbnQzMkFycmF5RnJvbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsb0VBQW9FO0FBQ3BFLHNDQUFzQzs7O0FBRXRDLDBEQUEwRDtBQUMxRCxTQUFnQixlQUFlLENBQUMsYUFBNEI7SUFDMUQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUU7UUFDZixJQUFNLFlBQVksR0FBRyxJQUFJLFdBQVcsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUQsSUFBSSxPQUFPLEdBQUcsQ0FBQyxDQUFBO1FBQ2YsT0FBTyxPQUFPLEdBQUcsYUFBYSxDQUFDLE1BQU0sRUFBRTtZQUNyQyxZQUFZLENBQUMsT0FBTyxDQUFDLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO1NBQy9DO1FBQ0QsT0FBTyxZQUFZLENBQUE7S0FDcEI7SUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUE7QUFDeEMsQ0FBQztBQVZELDBDQVVDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gQ29weXJpZ2h0IEFtYXpvbi5jb20gSW5jLiBvciBpdHMgYWZmaWxpYXRlcy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC5cbi8vIFNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBcGFjaGUtMi4wXG5cbi8vIElFIDExIGRvZXMgbm90IHN1cHBvcnQgQXJyYXkuZnJvbSwgc28gd2UgZG8gaXQgbWFudWFsbHlcbmV4cG9ydCBmdW5jdGlvbiB1aW50MzJBcnJheUZyb20oYV9sb29rVXBUYWJsZTogQXJyYXk8bnVtYmVyPik6IFVpbnQzMkFycmF5IHtcbiAgaWYgKCFBcnJheS5mcm9tKSB7XG4gICAgY29uc3QgcmV0dXJuX2FycmF5ID0gbmV3IFVpbnQzMkFycmF5KGFfbG9va1VwVGFibGUubGVuZ3RoKVxuICAgIGxldCBhX2luZGV4ID0gMFxuICAgIHdoaWxlIChhX2luZGV4IDwgYV9sb29rVXBUYWJsZS5sZW5ndGgpIHtcbiAgICAgIHJldHVybl9hcnJheVthX2luZGV4XSA9IGFfbG9va1VwVGFibGVbYV9pbmRleF1cbiAgICB9XG4gICAgcmV0dXJuIHJldHVybl9hcnJheVxuICB9XG4gIHJldHVybiBVaW50MzJBcnJheS5mcm9tKGFfbG9va1VwVGFibGUpXG59XG4iXX0=","export var escapeUri = function (uri) {\n // AWS percent-encodes some extra non-standard characters in a URI\n return encodeURIComponent(uri).replace(/[!'()*]/g, hexEncode);\n};\nvar hexEncode = function (c) { return \"%\" + c.charCodeAt(0).toString(16).toUpperCase(); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXNjYXBlLXVyaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9lc2NhcGUtdXJpLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxJQUFNLFNBQVMsR0FBRyxVQUFDLEdBQVc7SUFDbkMsa0VBQWtFO0lBQ2xFLE9BQUEsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRSxTQUFTLENBQUM7QUFBdEQsQ0FBc0QsQ0FBQztBQUV6RCxJQUFNLFNBQVMsR0FBRyxVQUFDLENBQVMsSUFBSyxPQUFBLE1BQUksQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLENBQUMsV0FBVyxFQUFJLEVBQWhELENBQWdELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZXNjYXBlVXJpID0gKHVyaTogc3RyaW5nKTogc3RyaW5nID0+XG4gIC8vIEFXUyBwZXJjZW50LWVuY29kZXMgc29tZSBleHRyYSBub24tc3RhbmRhcmQgY2hhcmFjdGVycyBpbiBhIFVSSVxuICBlbmNvZGVVUklDb21wb25lbnQodXJpKS5yZXBsYWNlKC9bIScoKSpdL2csIGhleEVuY29kZSk7XG5cbmNvbnN0IGhleEVuY29kZSA9IChjOiBzdHJpbmcpID0+IGAlJHtjLmNoYXJDb2RlQXQoMCkudG9TdHJpbmcoMTYpLnRvVXBwZXJDYXNlKCl9YDtcbiJdfQ==","var alphabetByEncoding = {};\nvar alphabetByValue = new Array(64);\nfor (var i = 0, start = \"A\".charCodeAt(0), limit = \"Z\".charCodeAt(0); i + start <= limit; i++) {\n var char = String.fromCharCode(i + start);\n alphabetByEncoding[char] = i;\n alphabetByValue[i] = char;\n}\nfor (var i = 0, start = \"a\".charCodeAt(0), limit = \"z\".charCodeAt(0); i + start <= limit; i++) {\n var char = String.fromCharCode(i + start);\n var index = i + 26;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nfor (var i = 0; i < 10; i++) {\n alphabetByEncoding[i.toString(10)] = i + 52;\n var char = i.toString(10);\n var index = i + 52;\n alphabetByEncoding[char] = index;\n alphabetByValue[index] = char;\n}\nalphabetByEncoding[\"+\"] = 62;\nalphabetByValue[62] = \"+\";\nalphabetByEncoding[\"/\"] = 63;\nalphabetByValue[63] = \"/\";\nvar bitsPerLetter = 6;\nvar bitsPerByte = 8;\nvar maxLetterValue = 63;\n/**\n * Converts a base-64 encoded string to a Uint8Array of bytes.\n *\n * @param input The base-64 encoded string\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function fromBase64(input) {\n var totalByteLength = (input.length / 4) * 3;\n if (input.substr(-2) === \"==\") {\n totalByteLength -= 2;\n }\n else if (input.substr(-1) === \"=\") {\n totalByteLength--;\n }\n var out = new ArrayBuffer(totalByteLength);\n var dataView = new DataView(out);\n for (var i = 0; i < input.length; i += 4) {\n var bits = 0;\n var bitLength = 0;\n for (var j = i, limit = i + 3; j <= limit; j++) {\n if (input[j] !== \"=\") {\n bits |= alphabetByEncoding[input[j]] << ((limit - j) * bitsPerLetter);\n bitLength += bitsPerLetter;\n }\n else {\n bits >>= bitsPerLetter;\n }\n }\n var chunkOffset = (i / 4) * 3;\n bits >>= bitLength % bitsPerByte;\n var byteLength = Math.floor(bitLength / bitsPerByte);\n for (var k = 0; k < byteLength; k++) {\n var offset = (byteLength - k - 1) * bitsPerByte;\n dataView.setUint8(chunkOffset + k, (bits & (255 << offset)) >> offset);\n }\n }\n return new Uint8Array(out);\n}\n/**\n * Converts a Uint8Array of binary data to a base-64 encoded string.\n *\n * @param input The binary data to encode\n *\n * @see https://tools.ietf.org/html/rfc4648#section-4\n */\nexport function toBase64(input) {\n var str = \"\";\n for (var i = 0; i < input.length; i += 3) {\n var bits = 0;\n var bitLength = 0;\n for (var j = i, limit = Math.min(i + 3, input.length); j < limit; j++) {\n bits |= input[j] << ((limit - j - 1) * bitsPerByte);\n bitLength += bitsPerByte;\n }\n var bitClusterCount = Math.ceil(bitLength / bitsPerLetter);\n bits <<= bitClusterCount * bitsPerLetter - bitLength;\n for (var k = 1; k <= bitClusterCount; k++) {\n var offset = (bitClusterCount - k) * bitsPerLetter;\n str += alphabetByValue[(bits & (maxLetterValue << offset)) >> offset];\n }\n str += \"==\".slice(0, 4 - bitClusterCount);\n }\n return str;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxrQkFBa0IsR0FBOEIsRUFBRSxDQUFDO0FBQ3pELElBQU0sZUFBZSxHQUFrQixJQUFJLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztBQUVyRCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEdBQUcsR0FBRyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxJQUFJLEtBQUssRUFBRSxDQUFDLEVBQUUsRUFBRTtJQUM3RixJQUFNLElBQUksR0FBRyxNQUFNLENBQUMsWUFBWSxDQUFDLENBQUMsR0FBRyxLQUFLLENBQUMsQ0FBQztJQUM1QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDN0IsZUFBZSxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQztDQUMzQjtBQUVELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssR0FBRyxHQUFHLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxLQUFLLElBQUksS0FBSyxFQUFFLENBQUMsRUFBRSxFQUFFO0lBQzdGLElBQU0sSUFBSSxHQUFHLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDO0lBQzVDLElBQU0sS0FBSyxHQUFHLENBQUMsR0FBRyxFQUFFLENBQUM7SUFDckIsa0JBQWtCLENBQUMsSUFBSSxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQ2pDLGVBQWUsQ0FBQyxLQUFLLENBQUMsR0FBRyxJQUFJLENBQUM7Q0FDL0I7QUFFRCxLQUFLLElBQUksQ0FB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QyxDQUFDLElBQUksR0FBRyxDQUFDLGNBQWMsSUFBSSxNQUFNLENBQUMsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxDQUFDO1NBQ3ZFO1FBRUQsR0FBRyxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUMsR0FBRyxlQUFlLENBQUMsQ0FBQztLQUMzQztJQUVELE9BQU8sR0FBRyxDQUFDO0FBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImNvbnN0IGFscGhhYmV0QnlFbmNvZGluZzogeyBba2V5OiBzdHJpbmddOiBudW1iZXIgfSA9IHt9O1xuY29uc3QgYWxwaGFiZXRCeVZhbHVlOiBBcnJheTxzdHJpbmc+ID0gbmV3IEFycmF5KDY0KTtcblxuZm9yIChsZXQgaSA9IDAsIHN0YXJ0ID0gXCJBXCIuY2hhckNvZGVBdCgwKSwgbGltaXQgPSBcIlpcIi5jaGFyQ29kZUF0KDApOyBpICsgc3RhcnQgPD0gbGltaXQ7IGkrKykge1xuICBjb25zdCBjaGFyID0gU3RyaW5nLmZyb21DaGFyQ29kZShpICsgc3RhcnQpO1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbY2hhcl0gPSBpO1xuICBhbHBoYWJldEJ5VmFsdWVbaV0gPSBjaGFyO1xufVxuXG5mb3IgKGxldCBpID0gMCwgc3RhcnQgPSBcImFcIi5jaGFyQ29kZUF0KDApLCBsaW1pdCA9IFwielwiLmNoYXJDb2RlQXQoMCk7IGkgKyBzdGFydCA8PSBsaW1pdDsgaSsrKSB7XG4gIGNvbnN0IGNoYXIgPSBTdHJpbmcuZnJvbUNoYXJDb2RlKGkgKyBzdGFydCk7XG4gIGNvbnN0IGluZGV4ID0gaSArIDI2O1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbY2hhcl0gPSBpbmRleDtcbiAgYWxwaGFiZXRCeVZhbHVlW2luZGV4XSA9IGNoYXI7XG59XG5cbmZvciAobGV0IGkgPSAwOyBpIDwgMTA7IGkrKykge1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbaS50b1N0cmluZygxMCldID0gaSArIDUyO1xuICBjb25zdCBjaGFyID0gaS50b1N0cmluZygxMCk7XG4gIGNvbnN0IGluZGV4ID0gaSArIDUyO1xuICBhbHBoYWJldEJ5RW5jb2RpbmdbY2hhcl0gPSBpbmRleDtcbiAgYWxwaGFiZXRCeVZhbHVlW2luZGV4XSA9IGNoYXI7XG59XG5cbmFscGhhYmV0QnlFbmNvZGluZ1tcIitcIl0gPSA2MjtcbmFscGhhYmV0QnlWYWx1ZVs2Ml0gPSBcIitcIjtcbmFscGhhYmV0QnlFbmNvZGluZ1tcIi9cIl0gPSA2MztcbmFscGhhYmV0QnlWYWx1ZVs2M10gPSBcIi9cIjtcblxuY29uc3QgYml0c1BlckxldHRlciA9IDY7XG5jb25zdCBiaXRzUGVyQnl0ZSA9IDg7XG5jb25zdCBtYXhMZXR0ZXJWYWx1ZSA9IDBiMTExMTExO1xuXG4vKipcbiAqIENvbnZlcnRzIGEgYmFzZS02NCBlbmNvZGVkIHN0cmluZyB0byBhIFVpbnQ4QXJyYXkgb2YgYnl0ZXMuXG4gKlxuICogQHBhcmFtIGlucHV0IFRoZSBiYXNlLTY0IGVuY29kZWQgc3RyaW5nXG4gKlxuICogQHNlZSBodHRwczovL3Rvb2xzLmlldGYub3JnL2h0bWwvcmZjNDY0OCNzZWN0aW9uLTRcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21CYXNlNjQoaW5wdXQ6IHN0cmluZyk6IFVpbnQ4QXJyYXkge1xuICBsZXQgdG90YWxCeXRlTGVuZ3RoID0gKGlucHV0Lmxlbmd0aCAvIDQpICogMztcbiAgaWYgKGlucHV0LnN1YnN0cigtMikgPT09IFwiPT1cIikge1xuICAgIHRvdGFsQnl0ZUxlbmd0aCAtPSAyO1xuICB9IGVsc2UgaWYgKGlucHV0LnN1YnN0cigtMSkgPT09IFwiPVwiKSB7XG4gICAgdG90YWxCeXRlTGVuZ3RoLS07XG4gIH1cbiAgY29uc3Qgb3V0ID0gbmV3IEFycmF5QnVmZmVyKHRvdGFsQnl0ZUxlbmd0aCk7XG4gIGNvbnN0IGRhdGFWaWV3ID0gbmV3IERhdGFWaWV3KG91dCk7XG4gIGZvciAobGV0IGkgPSAwOyBpIDwgaW5wdXQubGVuZ3RoOyBpICs9IDQpIHtcbiAgICBsZXQgYml0cyA9IDA7XG4gICAgbGV0IGJpdExlbmd0aCA9IDA7XG4gICAgZm9yIChsZXQgaiA9IGksIGxpbWl0ID0gaSArIDM7IGogPD0gbGltaXQ7IGorKykge1xuICAgICAgaWYgKGlucHV0W2pdICE9PSBcIj1cIikge1xuICAgICAgICBiaXRzIHw9IGFscGhhYmV0QnlFbmNvZGluZ1tpbnB1dFtqXV0gPDwgKChsaW1pdCAtIGopICogYml0c1BlckxldHRlcik7XG4gICAgICAgIGJpdExlbmd0aCArPSBiaXRzUGVyTGV0dGVyO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYml0cyA+Pj0gYml0c1BlckxldHRlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBjb25zdCBjaHVua09mZnNldCA9IChpIC8gNCkgKiAzO1xuICAgIGJpdHMgPj49IGJpdExlbmd0aCAlIGJpdHNQZXJCeXRlO1xuICAgIGNvbnN0IGJ5dGVMZW5ndGggPSBNYXRoLmZsb29yKGJpdExlbmd0aCAvIGJpdHNQZXJCeXRlKTtcbiAgICBmb3IgKGxldCBrID0gMDsgayA8IGJ5dGVMZW5ndGg7IGsrKykge1xuICAgICAgY29uc3Qgb2Zmc2V0ID0gKGJ5dGVMZW5ndGggLSBrIC0gMSkgKiBiaXRzUGVyQnl0ZTtcbiAgICAgIGRhdGFWaWV3LnNldFVpbnQ4KGNodW5rT2Zmc2V0ICsgaywgKGJpdHMgJiAoMjU1IDw8IG9mZnNldCkpID4+IG9mZnNldCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIG5ldyBVaW50OEFycmF5KG91dCk7XG59XG5cbi8qKlxuICogQ29udmVydHMgYSBVaW50OEFycmF5IG9mIGJpbmFyeSBkYXRhIHRvIGEgYmFzZS02NCBlbmNvZGVkIHN0cmluZy5cbiAqXG4gKiBAcGFyYW0gaW5wdXQgVGhlIGJpbmFyeSBkYXRhIHRvIGVuY29kZVxuICpcbiAqIEBzZWUgaHR0cHM6Ly90b29scy5pZXRmLm9yZy9odG1sL3JmYzQ2NDgjc2VjdGlvbi00XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0Jhc2U2NChpbnB1dDogVWludDhBcnJheSk6IHN0cmluZyB7XG4gIGxldCBzdHIgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGlucHV0Lmxlbmd0aDsgaSArPSAzKSB7XG4gICAgbGV0IGJpdHMgPSAwO1xuICAgIGxldCBiaXRMZW5ndGggPSAwO1xuICAgIGZvciAobGV0IGogPSBpLCBsaW1pdCA9IE1hdGgubWluKGkgKyAzLCBpbnB1dC5sZW5ndGgpOyBqIDwgbGltaXQ7IGorKykge1xuICAgICAgYml0cyB8PSBpbnB1dFtqXSA8PCAoKGxpbWl0IC0gaiAtIDEpICogYml0c1BlckJ5dGUpO1xuICAgICAgYml0TGVuZ3RoICs9IGJpdHNQZXJCeXRlO1xuICAgIH1cblxuICAgIGNvbnN0IGJpdENsdXN0ZXJDb3VudCA9IE1hdGguY2VpbChiaXRMZW5ndGggLyBiaXRzUGVyTGV0dGVyKTtcbiAgICBiaXRzIDw8PSBiaXRDbHVzdGVyQ291bnQgKiBiaXRzUGVyTGV0dGVyIC0gYml0TGVuZ3RoO1xuICAgIGZvciAobGV0IGsgPSAxOyBrIDw9IGJpdENsdXN0ZXJDb3VudDsgaysrKSB7XG4gICAgICBjb25zdCBvZmZzZXQgPSAoYml0Q2x1c3RlckNvdW50IC0gaykgKiBiaXRzUGVyTGV0dGVyO1xuICAgICAgc3RyICs9IGFscGhhYmV0QnlWYWx1ZVsoYml0cyAmIChtYXhMZXR0ZXJWYWx1ZSA8PCBvZmZzZXQpKSA+PiBvZmZzZXRdO1xuICAgIH1cblxuICAgIHN0ciArPSBcIj09XCIuc2xpY2UoMCwgNCAtIGJpdENsdXN0ZXJDb3VudCk7XG4gIH1cblxuICByZXR1cm4gc3RyO1xufVxuIl19","import { __values } from \"tslib\";\nimport { HttpResponse } from \"@aws-sdk/protocol-http\";\nimport { buildQueryString } from \"@aws-sdk/querystring-builder\";\nimport { requestTimeout } from \"./request-timeout\";\nvar FetchHttpHandler = /** @class */ (function () {\n function FetchHttpHandler(_a) {\n var _b = _a === void 0 ? {} : _a, requestTimeout = _b.requestTimeout;\n this.requestTimeout = requestTimeout;\n }\n FetchHttpHandler.prototype.destroy = function () {\n // Do nothing. TLS and HTTP/2 connection pooling is handled by the browser.\n };\n FetchHttpHandler.prototype.handle = function (request, _a) {\n var _b = _a === void 0 ? {} : _a, abortSignal = _b.abortSignal;\n var requestTimeoutInMs = this.requestTimeout;\n // if the request was already aborted, prevent doing extra work\n if (abortSignal === null || abortSignal === void 0 ? void 0 : abortSignal.aborted) {\n var abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n return Promise.reject(abortError);\n }\n var path = request.path;\n if (request.query) {\n var queryString = buildQueryString(request.query);\n if (queryString) {\n path += \"?\" + queryString;\n }\n }\n var port = request.port, method = request.method;\n var url = request.protocol + \"//\" + request.hostname + (port ? \":\" + port : \"\") + path;\n // Request constructor doesn't allow GET/HEAD request with body\n // ref: https://github.com/whatwg/fetch/issues/551\n var body = method === \"GET\" || method === \"HEAD\" ? undefined : request.body;\n var requestOptions = {\n body: body,\n headers: new Headers(request.headers),\n method: method,\n };\n // some browsers support abort signal\n if (typeof AbortController !== \"undefined\") {\n requestOptions[\"signal\"] = abortSignal;\n }\n var fetchRequest = new Request(url, requestOptions);\n var raceOfPromises = [\n fetch(fetchRequest).then(function (response) {\n var e_1, _a;\n var fetchHeaders = response.headers;\n var transformedHeaders = {};\n try {\n for (var _b = __values(fetchHeaders.entries()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var pair = _c.value;\n transformedHeaders[pair[0]] = pair[1];\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n var hasReadableStream = response.body !== undefined;\n // Return the response with buffered body\n if (!hasReadableStream) {\n return response.blob().then(function (body) { return ({\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: body,\n }),\n }); });\n }\n // Return the response with streaming body\n return {\n response: new HttpResponse({\n headers: transformedHeaders,\n statusCode: response.status,\n body: response.body,\n }),\n };\n }),\n requestTimeout(requestTimeoutInMs),\n ];\n if (abortSignal) {\n raceOfPromises.push(new Promise(function (resolve, reject) {\n abortSignal.onabort = function () {\n var abortError = new Error(\"Request aborted\");\n abortError.name = \"AbortError\";\n reject(abortError);\n };\n }));\n }\n return Promise.race(raceOfPromises);\n };\n return FetchHttpHandler;\n}());\nexport { FetchHttpHandler };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmV0Y2gtaHR0cC1oYW5kbGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ZldGNoLWh0dHAtaGFuZGxlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUE0QixZQUFZLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNoRixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUdoRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFlbkQ7SUFHRSwwQkFBWSxFQUFnRDtZQUFoRCxxQkFBOEMsRUFBRSxLQUFBLEVBQTlDLGNBQWMsb0JBQUE7UUFDMUIsSUFBSSxDQUFDLGNBQWMsR0FBRyxjQUFjLENBQUM7SUFDdkMsQ0FBQztJQUVELGtDQUFPLEdBQVA7UUFDRSwyRUFBMkU7SUFDN0UsQ0FBQztJQUVELGlDQUFNLEdBQU4sVUFBTyxPQUFvQixFQUFFLEVBQXdDO1lBQXhDLHFCQUFzQyxFQUFFLEtBQUEsRUFBdEMsV0FBVyxpQkFBQTtRQUN4QyxJQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFFL0MsK0RBQStEO1FBQy9ELElBQUksV0FBVyxhQUFYLFdBQVcsdUJBQVgsV0FBVyxDQUFFLE9BQU8sRUFBRTtZQUN4QixJQUFNLFVBQVUsR0FBRyxJQUFJLEtBQUssQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDO1lBQ2hELFVBQVUsQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQy9CLE9BQU8sT0FBTyxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUNuQztRQUVELElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUM7UUFDeEIsSUFBSSxPQUFPLENBQUMsS0FBSyxFQUFFO1lBQ2pCLElBQU0sV0FBVyxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUNwRCxJQUFJLFdBQVcsRUFBRTtnQkFDZixJQUFJLElB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Q0FBQyxjQUFjLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBQ0gsdUJBQUM7QUFBRCxDQUFDLEFBM0ZELElBMkZDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cEhhbmRsZXIsIEh0dHBSZXF1ZXN0LCBIdHRwUmVzcG9uc2UgfSBmcm9tIFwiQGF3cy1zZGsvcHJvdG9jb2wtaHR0cFwiO1xuaW1wb3J0IHsgYnVpbGRRdWVyeVN0cmluZyB9IGZyb20gXCJAYXdzLXNkay9xdWVyeXN0cmluZy1idWlsZGVyXCI7XG5pbXBvcnQgeyBIZWFkZXJCYWcsIEh0dHBIYW5kbGVyT3B0aW9ucyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyByZXF1ZXN0VGltZW91dCB9IGZyb20gXCIuL3JlcXVlc3QtdGltZW91dFwiO1xuXG5kZWNsYXJlIGxldCBBYm9ydENvbnRyb2xsZXI6IGFueTtcblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBodHRwIG9wdGlvbnMgdGhhdCBjYW4gYmUgcGFzc2VkIHRvIGEgYnJvd3NlciBodHRwIGNsaWVudC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBGZXRjaEh0dHBIYW5kbGVyT3B0aW9ucyB7XG4gIC8qKlxuICAgKiBUaGUgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyBhIHJlcXVlc3QgY2FuIHRha2UgYmVmb3JlIGJlaW5nIGF1dG9tYXRpY2FsbHlcbiAgICogdGVybWluYXRlZC5cbiAgICovXG4gIHJlcXVlc3RUaW1lb3V0PzogbnVtYmVyO1xufVxuXG5leHBvcnQgY2xhc3MgRmV0Y2hIdHRwSGFuZGxlciBpbXBsZW1lbnRzIEh0dHBIYW5kbGVyIHtcbiAgcHJpdmF0ZSByZWFkb25seSByZXF1ZXN0VGltZW91dD86IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcih7IHJlcXVlc3RUaW1lb3V0IH06IEZldGNoSHR0cEhhbmRsZXJPcHRpb25zID0ge30pIHtcbiAgICB0aGlzLnJlcXVlc3RUaW1lb3V0ID0gcmVxdWVzdFRpbWVvdXQ7XG4gIH1cblxuICBkZXN0cm95KCk6IHZvaWQge1xuICAgIC8vIERvIG5vdGhpbmcuIFRMUyBhbmQgSFRUUC8yIGNvbm5lY3Rpb24gcG9vbGluZyBpcyBoYW5kbGVkIGJ5IHRoZSBicm93c2VyLlxuICB9XG5cbiAgaGFuZGxlKHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LCB7IGFib3J0U2lnbmFsIH06IEh0dHBIYW5kbGVyT3B0aW9ucyA9IHt9KTogUHJvbWlzZTx7IHJlc3BvbnNlOiBIdHRwUmVzcG9uc2UgfT4ge1xuICAgIGNvbnN0IHJlcXVlc3RUaW1lb3V0SW5NcyA9IHRoaXMucmVxdWVzdFRpbWVvdXQ7XG5cbiAgICAvLyBpZiB0aGUgcmVxdWVzdCB3YXMgYWxyZWFkeSBhYm9ydGVkLCBwcmV2ZW50IGRvaW5nIGV4dHJhIHdvcmtcbiAgICBpZiAoYWJvcnRTaWduYWw/LmFib3J0ZWQpIHtcbiAgICAgIGNvbnN0IGFib3J0RXJyb3IgPSBuZXcgRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIik7XG4gICAgICBhYm9ydEVycm9yLm5hbWUgPSBcIkFib3J0RXJyb3JcIjtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChhYm9ydEVycm9yKTtcbiAgICB9XG5cbiAgICBsZXQgcGF0aCA9IHJlcXVlc3QucGF0aDtcbiAgICBpZiAocmVxdWVzdC5xdWVyeSkge1xuICAgICAgY29uc3QgcXVlcnlTdHJpbmcgPSBidWlsZFF1ZXJ5U3RyaW5nKHJlcXVlc3QucXVlcnkpO1xuICAgICAgaWYgKHF1ZXJ5U3RyaW5nKSB7XG4gICAgICAgIHBhdGggKz0gYD8ke3F1ZXJ5U3RyaW5nfWA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgeyBwb3J0LCBtZXRob2QgfSA9IHJlcXVlc3Q7XG4gICAgY29uc3QgdXJsID0gYCR7cmVxdWVzdC5wcm90b2NvbH0vLyR7cmVxdWVzdC5ob3N0bmFtZX0ke3BvcnQgPyBgOiR7cG9ydH1gIDogXCJcIn0ke3BhdGh9YDtcbiAgICAvLyBSZXF1ZXN0IGNvbnN0cnVjdG9yIGRvZXNuJ3QgYWxsb3cgR0VUL0hFQUQgcmVxdWVzdCB3aXRoIGJvZHlcbiAgICAvLyByZWY6IGh0dHBzOi8vZ2l0aHViLmNvbS93aGF0d2cvZmV0Y2gvaXNzdWVzLzU1MVxuICAgIGNvbnN0IGJvZHkgPSBtZXRob2QgPT09IFwiR0VUXCIgfHwgbWV0aG9kID09PSBcIkhFQURcIiA/IHVuZGVmaW5lZCA6IHJlcXVlc3QuYm9keTtcbiAgICBjb25zdCByZXF1ZXN0T3B0aW9uczogUmVxdWVzdEluaXQgPSB7XG4gICAgICBib2R5LFxuICAgICAgaGVhZGVyczogbmV3IEhlYWRlcnMocmVxdWVzdC5oZWFkZXJzKSxcbiAgICAgIG1ldGhvZDogbWV0aG9kLFxuICAgIH07XG5cbiAgICAvLyBzb21lIGJyb3dzZXJzIHN1cHBvcnQgYWJvcnQgc2lnbmFsXG4gICAgaWYgKHR5cGVvZiBBYm9ydENvbnRyb2xsZXIgIT09IFwidW5kZWZpbmVkXCIpIHtcbiAgICAgIChyZXF1ZXN0T3B0aW9ucyBhcyBhbnkpW1wic2lnbmFsXCJdID0gYWJvcnRTaWduYWw7XG4gICAgfVxuXG4gICAgY29uc3QgZmV0Y2hSZXF1ZXN0ID0gbmV3IFJlcXVlc3QodXJsLCByZXF1ZXN0T3B0aW9ucyk7XG4gICAgY29uc3QgcmFjZU9mUHJvbWlzZXMgPSBbXG4gICAgICBmZXRjaChmZXRjaFJlcXVlc3QpLnRoZW4oKHJlc3BvbnNlKSA9PiB7XG4gICAgICAgIGNvbnN0IGZldGNoSGVhZGVyczogYW55ID0gcmVzcG9uc2UuaGVhZGVycztcbiAgICAgICAgY29uc3QgdHJhbnNmb3JtZWRIZWFkZXJzOiBIZWFkZXJCYWcgPSB7fTtcblxuICAgICAgICBmb3IgKGNvbnN0IHBhaXIgb2YgPEFycmF5PHN0cmluZ1tdPj5mZXRjaEhlYWRlcnMuZW50cmllcygpKSB7XG4gICAgICAgICAgdHJhbnNmb3JtZWRIZWFkZXJzW3BhaXJbMF1dID0gcGFpclsxXTtcbiAgICAgICAgfVxuXG4gICAgICAgIGNvbnN0IGhhc1JlYWRhYmxlU3RyZWFtID0gcmVzcG9uc2UuYm9keSAhPT0gdW5kZWZpbmVkO1xuXG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2Ugd2l0aCBidWZmZXJlZCBib2R5XG4gICAgICAgIGlmICghaGFzUmVhZGFibGVTdHJlYW0pIHtcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2UuYmxvYigpLnRoZW4oKGJvZHkpID0+ICh7XG4gICAgICAgICAgICByZXNwb25zZTogbmV3IEh0dHBSZXNwb25zZSh7XG4gICAgICAgICAgICAgIGhlYWRlcnM6IHRyYW5zZm9ybWVkSGVhZGVycyxcbiAgICAgICAgICAgICAgc3RhdHVzQ29kZTogcmVzcG9uc2Uuc3RhdHVzLFxuICAgICAgICAgICAgICBib2R5LFxuICAgICAgICAgICAgfSksXG4gICAgICAgICAgfSkpO1xuICAgICAgICB9XG4gICAgICAgIC8vIFJldHVybiB0aGUgcmVzcG9uc2Ugd2l0aCBzdHJlYW1pbmcgYm9keVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHJlc3BvbnNlOiBuZXcgSHR0cFJlc3BvbnNlKHtcbiAgICAgICAgICAgIGhlYWRlcnM6IHRyYW5zZm9ybWVkSGVhZGVycyxcbiAgICAgICAgICAgIHN0YXR1c0NvZGU6IHJlc3BvbnNlLnN0YXR1cyxcbiAgICAgICAgICAgIGJvZHk6IHJlc3BvbnNlLmJvZHksXG4gICAgICAgICAgfSksXG4gICAgICAgIH07XG4gICAgICB9KSxcbiAgICAgIHJlcXVlc3RUaW1lb3V0KHJlcXVlc3RUaW1lb3V0SW5NcyksXG4gICAgXTtcbiAgICBpZiAoYWJvcnRTaWduYWwpIHtcbiAgICAgIHJhY2VPZlByb21pc2VzLnB1c2goXG4gICAgICAgIG5ldyBQcm9taXNlPG5ldmVyPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgICAgYWJvcnRTaWduYWwub25hYm9ydCA9ICgpID0+IHtcbiAgICAgICAgICAgIGNvbnN0IGFib3J0RXJyb3IgPSBuZXcgRXJyb3IoXCJSZXF1ZXN0IGFib3J0ZWRcIik7XG4gICAgICAgICAgICBhYm9ydEVycm9yLm5hbWUgPSBcIkFib3J0RXJyb3JcIjtcbiAgICAgICAgICAgIHJlamVjdChhYm9ydEVycm9yKTtcbiAgICAgICAgICB9O1xuICAgICAgICB9KVxuICAgICAgKTtcbiAgICB9XG4gICAgcmV0dXJuIFByb21pc2UucmFjZShyYWNlT2ZQcm9taXNlcyk7XG4gIH1cbn1cbiJdfQ==","import { __values } from \"tslib\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\nexport function buildQueryString(query) {\n var e_1, _a;\n var parts = [];\n try {\n for (var _b = __values(Object.keys(query).sort()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var key = _c.value;\n var value = query[key];\n key = escapeUri(key);\n if (Array.isArray(value)) {\n for (var i = 0, iLen = value.length; i < iLen; i++) {\n parts.push(key + \"=\" + escapeUri(value[i]));\n }\n }\n else {\n var qsEntry = key;\n if (value || typeof value === \"string\") {\n qsEntry += \"=\" + escapeUri(value);\n }\n parts.push(qsEntry);\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return parts.join(\"&\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsS0FBd0I7O0lBQ3ZELElBQU0sS0FBSyxHQUFhLEVBQUUsQ0FBQzs7UUFDM0IsS0FBZ0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxnQkFBQSw0QkFBRTtZQUF0QyxJQUFJLEdBQUcsV0FBQTtZQUNWLElBQU0sS0FBSyxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6QixHQUFHLEdBQUcsU0FBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3JCLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsRUFBRTtnQkFDeEIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsSUFBSSxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLElBQUksRUFBRSxDQUFDLEVBQUUsRUFBRTtvQkFDbEQsS0FBSyxDQUFDLElBQUksQ0FBSSxHQUFHLFNBQUksU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBRyxDQUFDLENBQUM7aUJBQzdDO2FBQ0Y7aUJBQU07Z0JBQ0wsSUFBSSxPQUFPLEdBQUcsR0FBRyxDQUFDO2dCQUNsQixJQUFJLEtBQUssSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7b0JBQ3RDLE9BQU8sSUFBSSxNQUFJLFNBQVMsQ0FBQyxLQUFLLENBQUcsQ0FBQztpQkFDbkM7Z0JBQ0QsS0FBSyxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsQ0FBQzthQUNyQjtTQUNGOzs7Ozs7Ozs7SUFFRCxPQUFPLEtBQUssQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDekIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFF1ZXJ5UGFyYW1ldGVyQmFnIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBlc2NhcGVVcmkgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC11cmktZXNjYXBlXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBidWlsZFF1ZXJ5U3RyaW5nKHF1ZXJ5OiBRdWVyeVBhcmFtZXRlckJhZyk6IHN0cmluZyB7XG4gIGNvbnN0IHBhcnRzOiBzdHJpbmdbXSA9IFtdO1xuICBmb3IgKGxldCBrZXkgb2YgT2JqZWN0LmtleXMocXVlcnkpLnNvcnQoKSkge1xuICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XTtcbiAgICBrZXkgPSBlc2NhcGVVcmkoa2V5KTtcbiAgICBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIGZvciAobGV0IGkgPSAwLCBpTGVuID0gdmFsdWUubGVuZ3RoOyBpIDwgaUxlbjsgaSsrKSB7XG4gICAgICAgIHBhcnRzLnB1c2goYCR7a2V5fT0ke2VzY2FwZVVyaSh2YWx1ZVtpXSl9YCk7XG4gICAgICB9XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBxc0VudHJ5ID0ga2V5O1xuICAgICAgaWYgKHZhbHVlIHx8IHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICBxc0VudHJ5ICs9IGA9JHtlc2NhcGVVcmkodmFsdWUpfWA7XG4gICAgICB9XG4gICAgICBwYXJ0cy5wdXNoKHFzRW50cnkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBwYXJ0cy5qb2luKFwiJlwiKTtcbn1cbiJdfQ==","export function requestTimeout(timeoutInMs) {\n if (timeoutInMs === void 0) { timeoutInMs = 0; }\n return new Promise(function (resolve, reject) {\n if (timeoutInMs) {\n setTimeout(function () {\n var timeoutError = new Error(\"Request did not complete within \" + timeoutInMs + \" ms\");\n timeoutError.name = \"TimeoutError\";\n reject(timeoutError);\n }, timeoutInMs);\n }\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC10aW1lb3V0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JlcXVlc3QtdGltZW91dC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLFVBQVUsY0FBYyxDQUFDLFdBQWU7SUFBZiw0QkFBQSxFQUFBLGVBQWU7SUFDNUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxVQUFDLE9BQU8sRUFBRSxNQUFNO1FBQ2pDLElBQUksV0FBVyxFQUFFO1lBQ2YsVUFBVSxDQUFDO2dCQUNULElBQU0sWUFBWSxHQUFHLElBQUksS0FBSyxDQUFDLHFDQUFtQyxXQUFXLFFBQUssQ0FBQyxDQUFDO2dCQUNwRixZQUFZLENBQUMsSUFBSSxHQUFHLGNBQWMsQ0FBQztnQkFDbkMsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQ3ZCLENBQUMsRUFBRSxXQUFXLENBQUMsQ0FBQztTQUNqQjtJQUNILENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiByZXF1ZXN0VGltZW91dCh0aW1lb3V0SW5NcyA9IDApOiBQcm9taXNlPG5ldmVyPiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgaWYgKHRpbWVvdXRJbk1zKSB7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgY29uc3QgdGltZW91dEVycm9yID0gbmV3IEVycm9yKGBSZXF1ZXN0IGRpZCBub3QgY29tcGxldGUgd2l0aGluICR7dGltZW91dEluTXN9IG1zYCk7XG4gICAgICAgIHRpbWVvdXRFcnJvci5uYW1lID0gXCJUaW1lb3V0RXJyb3JcIjtcbiAgICAgICAgcmVqZWN0KHRpbWVvdXRFcnJvcik7XG4gICAgICB9LCB0aW1lb3V0SW5Ncyk7XG4gICAgfVxuICB9KTtcbn1cbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { fromBase64 } from \"@aws-sdk/util-base64-browser\";\n//reference: https://snack.expo.io/r1JCSWRGU\nexport var streamCollector = function (stream) {\n if (typeof Blob === \"function\" && stream instanceof Blob) {\n return collectBlob(stream);\n }\n return collectStream(stream);\n};\nfunction collectBlob(blob) {\n return __awaiter(this, void 0, void 0, function () {\n var base64, arrayBuffer;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, readToBase64(blob)];\n case 1:\n base64 = _a.sent();\n arrayBuffer = fromBase64(base64);\n return [2 /*return*/, new Uint8Array(arrayBuffer)];\n }\n });\n });\n}\nfunction collectStream(stream) {\n return __awaiter(this, void 0, void 0, function () {\n var res, reader, isDone, _a, done, value, prior;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n res = new Uint8Array(0);\n reader = stream.getReader();\n isDone = false;\n _b.label = 1;\n case 1:\n if (!!isDone) return [3 /*break*/, 3];\n return [4 /*yield*/, reader.read()];\n case 2:\n _a = _b.sent(), done = _a.done, value = _a.value;\n if (value) {\n prior = res;\n res = new Uint8Array(prior.length + value.length);\n res.set(prior);\n res.set(value, prior.length);\n }\n isDone = done;\n return [3 /*break*/, 1];\n case 3: return [2 /*return*/, res];\n }\n });\n });\n}\nfunction readToBase64(blob) {\n return new Promise(function (resolve, reject) {\n var reader = new FileReader();\n reader.onloadend = function () {\n var _a;\n // reference: https://developer.mozilla.org/en-US/docs/Web/API/FileReader/readAsDataURL\n // response from readAsDataURL is always prepended with \"data:*/*;base64,\"\n if (reader.readyState !== 2) {\n return reject(new Error(\"Reader aborted too early\"));\n }\n var result = ((_a = reader.result) !== null && _a !== void 0 ? _a : \"\");\n // Response can include only 'data:' for empty blob, return empty string in this case.\n // Otherwise, return the string after ','\n var commaIndex = result.indexOf(\",\");\n var dataOffset = commaIndex > -1 ? commaIndex + 1 : result.length;\n resolve(result.substring(dataOffset));\n };\n reader.onabort = function () { return reject(new Error(\"Read aborted\")); };\n reader.onerror = function () { return reject(reader.error); };\n // reader.readAsArrayBuffer is not always available\n reader.readAsDataURL(blob);\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RyZWFtLWNvbGxlY3Rvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdHJlYW0tY29sbGVjdG9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFFMUQsNENBQTRDO0FBQzVDLE1BQU0sQ0FBQyxJQUFNLGVBQWUsR0FBb0IsVUFBQyxNQUE2QjtJQUM1RSxJQUFJLE9BQU8sSUFBSSxLQUFLLFVBQVUsSUFBSSxNQUFNLFlBQVksSUFBSSxFQUFFO1FBQ3hELE9BQU8sV0FBVyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzVCO0lBRUQsT0FBTyxhQUFhLENBQUMsTUFBd0IsQ0FBQyxDQUFDO0FBQ2pELENBQUMsQ0FBQztBQUVGLFNBQWUsV0FBVyxDQUFDLElBQVU7Ozs7O3dCQUNwQixxQkFBTSxZQUFZLENBQUMsSUFBSSxDQUFDLEVBQUE7O29CQUFqQyxNQUFNLEdBQUcsU0FBd0I7b0JBQ2pDLFdBQVcsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDLENBQUM7b0JBQ3ZDLHNCQUFPLElBQUksVUFBVSxDQUFDLFdBQVcsQ0FBQyxFQUFDOzs7O0NBQ3BDO0FBRUQsU0FBZSxhQUFhLENBQUMsTUFBc0I7Ozs7OztvQkFDN0MsR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO29CQUN0QixNQUFNLEdBQUcsTUFBTSxDQUFDLFNBQVMsRUFBRSxDQUFDO29CQUM5QixNQUFNLEdBQUcsS0FBSyxDQUFDOzs7eUJBQ1osQ0FBQyxNQUFNO29CQUNZLHFCQUFNLE1BQU0sQ0FBQyxJQUFJLEVBQUUsRUFBQTs7b0JBQXJDLEtBQWtCLFNBQW1CLEVBQW5DLElBQUksVUFBQSxFQUFFLEtBQUssV0FBQTtvQkFDbkIsSUFBSSxLQUFLLEVBQUU7d0JBQ0gsS0FBSyxHQUFHLEdBQUcsQ0FBQzt3QkFDbEIsR0FBRyxHQUFHLElBQUksVUFBVSxDQUFDLEtBQUssQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUNsRCxHQUFHLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO3dCQUNmLEdBQUcsQ0FBQyxHQUFHLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDOUI7b0JBQ0QsTUFBTSxHQUFHLElBQUksQ0FBQzs7d0JBRWhCLHNCQUFPLEdBQUcsRUFBQzs7OztDQUNaO0FBRUQsU0FBUyxZQUFZLENBQUMsSUFBVTtJQUM5QixPQUFPLElBQUksT0FBTyxDQUFDLFVBQUMsT0FBTyxFQUFFLE1BQU07UUFDakMsSUFBTSxNQUFNLEdBQUcsSUFBSSxVQUFVLEVBQUUsQ0FBQztRQUNoQyxNQUFNLENBQUMsU0FBUyxHQUFHOztZQUNqQix1RkFBdUY7WUFDdkYsMEVBQTBFO1lBQzFFLElBQUksTUFBTSxDQUFDLFVBQVUsS0FBSyxDQUFDLEVBQUU7Z0JBQzNCLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUMsQ0FBQzthQUN0RDtZQUNELElBQU0sTUFBTSxHQUFHLE9BQUMsTUFBTSxDQUFDLE1BQU0sbUNBQUksRUFBRSxDQUFXLENBQUM7WUFDL0Msc0ZBQXNGO1lBQ3RGLHlDQUF5QztZQUN6QyxJQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ3ZDLElBQU0sVUFBVSxHQUFHLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztZQUNwRSxPQUFPLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQztRQUNGLE1BQU0sQ0FBQyxPQUFPLEdBQUcsY0FBTSxPQUFBLE1BQU0sQ0FBQyxJQUFJLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQyxFQUFqQyxDQUFpQyxDQUFDO1FBQ3pELE1BQU0sQ0FBQyxPQUFPLEdBQUcsY0FBTSxPQUFBLE1BQU0sQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEVBQXBCLENBQW9CLENBQUM7UUFDNUMsbURBQW1EO1FBQ25ELE1BQU0sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDN0IsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU3RyZWFtQ29sbGVjdG9yIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBmcm9tQmFzZTY0IH0gZnJvbSBcIkBhd3Mtc2RrL3V0aWwtYmFzZTY0LWJyb3dzZXJcIjtcblxuLy9yZWZlcmVuY2U6IGh0dHBzOi8vc25hY2suZXhwby5pby9yMUpDU1dSR1VcbmV4cG9ydCBjb25zdCBzdHJlYW1Db2xsZWN0b3I6IFN0cmVhbUNvbGxlY3RvciA9IChzdHJlYW06IEJsb2IgfCBSZWFkYWJsZVN0cmVhbSk6IFByb21pc2U8VWludDhBcnJheT4gPT4ge1xuICBpZiAodHlwZW9mIEJsb2IgPT09IFwiZnVuY3Rpb25cIiAmJiBzdHJlYW0gaW5zdGFuY2VvZiBCbG9iKSB7XG4gICAgcmV0dXJuIGNvbGxlY3RCbG9iKHN0cmVhbSk7XG4gIH1cblxuICByZXR1cm4gY29sbGVjdFN0cmVhbShzdHJlYW0gYXMgUmVhZGFibGVTdHJlYW0pO1xufTtcblxuYXN5bmMgZnVuY3Rpb24gY29sbGVjdEJsb2IoYmxvYjogQmxvYik6IFByb21pc2U8VWludDhBcnJheT4ge1xuICBjb25zdCBiYXNlNjQgPSBhd2FpdCByZWFkVG9CYXNlNjQoYmxvYik7XG4gIGNvbnN0IGFycmF5QnVmZmVyID0gZnJvbUJhc2U2NChiYXNlNjQpO1xuICByZXR1cm4gbmV3IFVpbnQ4QXJyYXkoYXJyYXlCdWZmZXIpO1xufVxuXG5hc3luYyBmdW5jdGlvbiBjb2xsZWN0U3RyZWFtKHN0cmVhbTogUmVhZGFibGVTdHJlYW0pOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgbGV0IHJlcyA9IG5ldyBVaW50OEFycmF5KDApO1xuICBjb25zdCByZWFkZXIgPSBzdHJlYW0uZ2V0UmVhZGVyKCk7XG4gIGxldCBpc0RvbmUgPSBmYWxzZTtcbiAgd2hpbGUgKCFpc0RvbmUpIHtcbiAgICBjb25zdCB7IGRvbmUsIHZhbHVlIH0gPSBhd2FpdCByZWFkZXIucmVhZCgpO1xuICAgIGlmICh2YWx1ZSkge1xuICAgICAgY29uc3QgcHJpb3IgPSByZXM7XG4gICAgICByZXMgPSBuZXcgVWludDhBcnJheShwcmlvci5sZW5ndGggKyB2YWx1ZS5sZW5ndGgpO1xuICAgICAgcmVzLnNldChwcmlvcik7XG4gICAgICByZXMuc2V0KHZhbHVlLCBwcmlvci5sZW5ndGgpO1xuICAgIH1cbiAgICBpc0RvbmUgPSBkb25lO1xuICB9XG4gIHJldHVybiByZXM7XG59XG5cbmZ1bmN0aW9uIHJlYWRUb0Jhc2U2NChibG9iOiBCbG9iKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgIHJlYWRlci5vbmxvYWRlbmQgPSAoKSA9PiB7XG4gICAgICAvLyByZWZlcmVuY2U6IGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0FQSS9GaWxlUmVhZGVyL3JlYWRBc0RhdGFVUkxcbiAgICAgIC8vIHJlc3BvbnNlIGZyb20gcmVhZEFzRGF0YVVSTCBpcyBhbHdheXMgcHJlcGVuZGVkIHdpdGggXCJkYXRhOiovKjtiYXNlNjQsXCJcbiAgICAgIGlmIChyZWFkZXIucmVhZHlTdGF0ZSAhPT0gMikge1xuICAgICAgICByZXR1cm4gcmVqZWN0KG5ldyBFcnJvcihcIlJlYWRlciBhYm9ydGVkIHRvbyBlYXJseVwiKSk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXN1bHQgPSAocmVhZGVyLnJlc3VsdCA/PyBcIlwiKSBhcyBzdHJpbmc7XG4gICAgICAvLyBSZXNwb25zZSBjYW4gaW5jbHVkZSBvbmx5ICdkYXRhOicgZm9yIGVtcHR5IGJsb2IsIHJldHVybiBlbXB0eSBzdHJpbmcgaW4gdGhpcyBjYXNlLlxuICAgICAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHN0cmluZyBhZnRlciAnLCdcbiAgICAgIGNvbnN0IGNvbW1hSW5kZXggPSByZXN1bHQuaW5kZXhPZihcIixcIik7XG4gICAgICBjb25zdCBkYXRhT2Zmc2V0ID0gY29tbWFJbmRleCA+IC0xID8gY29tbWFJbmRleCArIDEgOiByZXN1bHQubGVuZ3RoO1xuICAgICAgcmVzb2x2ZShyZXN1bHQuc3Vic3RyaW5nKGRhdGFPZmZzZXQpKTtcbiAgICB9O1xuICAgIHJlYWRlci5vbmFib3J0ID0gKCkgPT4gcmVqZWN0KG5ldyBFcnJvcihcIlJlYWQgYWJvcnRlZFwiKSk7XG4gICAgcmVhZGVyLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVhZGVyLmVycm9yKTtcbiAgICAvLyByZWFkZXIucmVhZEFzQXJyYXlCdWZmZXIgaXMgbm90IGFsd2F5cyBhdmFpbGFibGVcbiAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgfSk7XG59XG4iXX0=","export var invalidProvider = function (message) { return function () { return Promise.reject(message); }; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW52YWxpZFByb3ZpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludmFsaWRQcm92aWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQXVDLFVBQUMsT0FBZSxJQUFLLE9BQUEsY0FBTSxPQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLEVBQXZCLENBQXVCLEVBQTdCLENBQTZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuZXhwb3J0IGNvbnN0IGludmFsaWRQcm92aWRlcjogKG1lc3NhZ2U6IHN0cmluZykgPT4gUHJvdmlkZXI8YW55PiA9IChtZXNzYWdlOiBzdHJpbmcpID0+ICgpID0+IFByb21pc2UucmVqZWN0KG1lc3NhZ2UpO1xuIl19","import { __awaiter, __generator, __read, __spread } from \"tslib\";\nexport var retryMiddleware = function (options) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var _a;\n return __generator(this, function (_b) {\n if ((_a = options === null || options === void 0 ? void 0 : options.retryStrategy) === null || _a === void 0 ? void 0 : _a.mode)\n context.userAgent = __spread((context.userAgent || []), [[\"cfg/retry-mode\", options.retryStrategy.mode]]);\n return [2 /*return*/, options.retryStrategy.retry(next, args)];\n });\n}); }; }; };\nexport var retryMiddlewareOptions = {\n name: \"retryMiddleware\",\n tags: [\"RETRY\"],\n step: \"finalizeRequest\",\n priority: \"high\",\n override: true,\n};\nexport var getRetryPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(retryMiddleware(options), retryMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnlNaWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JldHJ5TWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBYUEsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFVBQUMsT0FBNEIsSUFBSyxPQUFBLFVBQy9ELElBQWtDLEVBQ2xDLE9BQWdDLElBQ0MsT0FBQSxVQUNqQyxJQUFtQzs7O1FBRW5DLFVBQUksT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLGFBQWEsMENBQUUsSUFBSTtZQUM5QixPQUFPLENBQUMsU0FBUyxZQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsSUFBSSxFQUFFLENBQUMsR0FBRSxDQUFDLGdCQUFnQixFQUFFLE9BQU8sQ0FBQyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUMsQ0FBQztRQUNyRyxzQkFBTyxPQUFPLENBQUMsYUFBYSxDQUFDLEtBQUssQ0FBQyxJQUFJLEVBQUUsSUFBSSxDQUFDLEVBQUM7O0tBQ2hELEVBTmtDLENBTWxDLEVBVGdFLENBU2hFLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBcUQ7SUFDdEYsSUFBSSxFQUFFLGlCQUFpQjtJQUN2QixJQUFJLEVBQUUsQ0FBQyxPQUFPLENBQUM7SUFDZixJQUFJLEVBQUUsaUJBQWlCO0lBQ3ZCLFFBQVEsRUFBRSxNQUFNO0lBQ2hCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxVQUFDLE9BQTRCLElBQTBCLE9BQUEsQ0FBQztJQUNwRixZQUFZLEVBQUUsVUFBQyxXQUFXO1FBQ3hCLFdBQVcsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLE9BQU8sQ0FBQyxFQUFFLHNCQUFzQixDQUFDLENBQUM7SUFDcEUsQ0FBQztDQUNGLENBQUMsRUFKbUYsQ0FJbkYsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEFic29sdXRlTG9jYXRpb24sXG4gIEZpbmFsaXplSGFuZGxlcixcbiAgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLFxuICBGaW5hbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIEZpbmFsaXplUmVxdWVzdEhhbmRsZXJPcHRpb25zLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IFJldHJ5UmVzb2x2ZWRDb25maWcgfSBmcm9tIFwiLi9jb25maWd1cmF0aW9uc1wiO1xuXG5leHBvcnQgY29uc3QgcmV0cnlNaWRkbGV3YXJlID0gKG9wdGlvbnM6IFJldHJ5UmVzb2x2ZWRDb25maWcpID0+IDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlciA9IE1ldGFkYXRhQmVhcmVyPihcbiAgbmV4dDogRmluYWxpemVIYW5kbGVyPGFueSwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IEZpbmFsaXplSGFuZGxlcjxhbnksIE91dHB1dD4gPT4gYXN5bmMgKFxuICBhcmdzOiBGaW5hbGl6ZUhhbmRsZXJBcmd1bWVudHM8YW55PlxuKTogUHJvbWlzZTxGaW5hbGl6ZUhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICBpZiAob3B0aW9ucz8ucmV0cnlTdHJhdGVneT8ubW9kZSlcbiAgICBjb250ZXh0LnVzZXJBZ2VudCA9IFsuLi4oY29udGV4dC51c2VyQWdlbnQgfHwgW10pLCBbXCJjZmcvcmV0cnktbW9kZVwiLCBvcHRpb25zLnJldHJ5U3RyYXRlZ3kubW9kZV1dO1xuICByZXR1cm4gb3B0aW9ucy5yZXRyeVN0cmF0ZWd5LnJldHJ5KG5leHQsIGFyZ3MpO1xufTtcblxuZXhwb3J0IGNvbnN0IHJldHJ5TWlkZGxld2FyZU9wdGlvbnM6IEZpbmFsaXplUmVxdWVzdEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJyZXRyeU1pZGRsZXdhcmVcIixcbiAgdGFnczogW1wiUkVUUllcIl0sXG4gIHN0ZXA6IFwiZmluYWxpemVSZXF1ZXN0XCIsXG4gIHByaW9yaXR5OiBcImhpZ2hcIixcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0UmV0cnlQbHVnaW4gPSAob3B0aW9uczogUmV0cnlSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQocmV0cnlNaWRkbGV3YXJlKG9wdGlvbnMpLCByZXRyeU1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19","/**\n * Errors encountered when the client clock and server clock cannot agree on the\n * current time.\n *\n * These errors are retryable, assuming the SDK has enabled clock skew\n * correction.\n */\nexport var CLOCK_SKEW_ERROR_CODES = [\n \"AuthFailure\",\n \"InvalidSignatureException\",\n \"RequestExpired\",\n \"RequestInTheFuture\",\n \"RequestTimeTooSkewed\",\n \"SignatureDoesNotMatch\",\n];\n/**\n * Errors that indicate the SDK is being throttled.\n *\n * These errors are always retryable.\n */\nexport var THROTTLING_ERROR_CODES = [\n \"BandwidthLimitExceeded\",\n \"EC2ThrottledException\",\n \"LimitExceededException\",\n \"PriorRequestNotComplete\",\n \"ProvisionedThroughputExceededException\",\n \"RequestLimitExceeded\",\n \"RequestThrottled\",\n \"RequestThrottledException\",\n \"SlowDown\",\n \"ThrottledException\",\n \"Throttling\",\n \"ThrottlingException\",\n \"TooManyRequestsException\",\n \"TransactionInProgressException\",\n];\n/**\n * Error codes that indicate transient issues\n */\nexport var TRANSIENT_ERROR_CODES = [\"AbortError\", \"TimeoutError\", \"RequestTimeout\", \"RequestTimeoutException\"];\n/**\n * Error codes that indicate transient issues\n */\nexport var TRANSIENT_ERROR_STATUS_CODES = [500, 502, 503, 504];\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRztJQUNwQyxhQUFhO0lBQ2IsMkJBQTJCO0lBQzNCLGdCQUFnQjtJQUNoQixvQkFBb0I7SUFDcEIsc0JBQXNCO0lBQ3RCLHVCQUF1QjtDQUN4QixDQUFDO0FBRUY7Ozs7R0FJRztBQUNILE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHO0lBQ3BDLHdCQUF3QjtJQUN4Qix1QkFBdUI7SUFDdkIsd0JBQXdCO0lBQ3hCLHlCQUF5QjtJQUN6Qix3Q0FBd0M7SUFDeEMsc0JBQXNCO0lBQ3RCLGtCQUFrQjtJQUNsQiwyQkFBMkI7SUFDM0IsVUFBVTtJQUNWLG9CQUFvQjtJQUNwQixZQUFZO0lBQ1oscUJBQXFCO0lBQ3JCLDBCQUEwQjtJQUMxQixnQ0FBZ0M7Q0FDakMsQ0FBQztBQUVGOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0scUJBQXFCLEdBQUcsQ0FBQyxZQUFZLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLHlCQUF5QixDQUFDLENBQUM7QUFFakg7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSw0QkFBNEIsR0FBRyxDQUFDLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBFcnJvcnMgZW5jb3VudGVyZWQgd2hlbiB0aGUgY2xpZW50IGNsb2NrIGFuZCBzZXJ2ZXIgY2xvY2sgY2Fubm90IGFncmVlIG9uIHRoZVxuICogY3VycmVudCB0aW1lLlxuICpcbiAqIFRoZXNlIGVycm9ycyBhcmUgcmV0cnlhYmxlLCBhc3N1bWluZyB0aGUgU0RLIGhhcyBlbmFibGVkIGNsb2NrIHNrZXdcbiAqIGNvcnJlY3Rpb24uXG4gKi9cbmV4cG9ydCBjb25zdCBDTE9DS19TS0VXX0VSUk9SX0NPREVTID0gW1xuICBcIkF1dGhGYWlsdXJlXCIsXG4gIFwiSW52YWxpZFNpZ25hdHVyZUV4Y2VwdGlvblwiLFxuICBcIlJlcXVlc3RFeHBpcmVkXCIsXG4gIFwiUmVxdWVzdEluVGhlRnV0dXJlXCIsXG4gIFwiUmVxdWVzdFRpbWVUb29Ta2V3ZWRcIixcbiAgXCJTaWduYXR1cmVEb2VzTm90TWF0Y2hcIixcbl07XG5cbi8qKlxuICogRXJyb3JzIHRoYXQgaW5kaWNhdGUgdGhlIFNESyBpcyBiZWluZyB0aHJvdHRsZWQuXG4gKlxuICogVGhlc2UgZXJyb3JzIGFyZSBhbHdheXMgcmV0cnlhYmxlLlxuICovXG5leHBvcnQgY29uc3QgVEhST1RUTElOR19FUlJPUl9DT0RFUyA9IFtcbiAgXCJCYW5kd2lkdGhMaW1pdEV4Y2VlZGVkXCIsXG4gIFwiRUMyVGhyb3R0bGVkRXhjZXB0aW9uXCIsXG4gIFwiTGltaXRFeGNlZWRlZEV4Y2VwdGlvblwiLFxuICBcIlByaW9yUmVxdWVzdE5vdENvbXBsZXRlXCIsXG4gIFwiUHJvdmlzaW9uZWRUaHJvdWdocHV0RXhjZWVkZWRFeGNlcHRpb25cIixcbiAgXCJSZXF1ZXN0TGltaXRFeGNlZWRlZFwiLFxuICBcIlJlcXVlc3RUaHJvdHRsZWRcIixcbiAgXCJSZXF1ZXN0VGhyb3R0bGVkRXhjZXB0aW9uXCIsXG4gIFwiU2xvd0Rvd25cIixcbiAgXCJUaHJvdHRsZWRFeGNlcHRpb25cIixcbiAgXCJUaHJvdHRsaW5nXCIsXG4gIFwiVGhyb3R0bGluZ0V4Y2VwdGlvblwiLFxuICBcIlRvb01hbnlSZXF1ZXN0c0V4Y2VwdGlvblwiLFxuICBcIlRyYW5zYWN0aW9uSW5Qcm9ncmVzc0V4Y2VwdGlvblwiLCAvLyBEeW5hbW9EQlxuXTtcblxuLyoqXG4gKiBFcnJvciBjb2RlcyB0aGF0IGluZGljYXRlIHRyYW5zaWVudCBpc3N1ZXNcbiAqL1xuZXhwb3J0IGNvbnN0IFRSQU5TSUVOVF9FUlJPUl9DT0RFUyA9IFtcIkFib3J0RXJyb3JcIiwgXCJUaW1lb3V0RXJyb3JcIiwgXCJSZXF1ZXN0VGltZW91dFwiLCBcIlJlcXVlc3RUaW1lb3V0RXhjZXB0aW9uXCJdO1xuXG4vKipcbiAqIEVycm9yIGNvZGVzIHRoYXQgaW5kaWNhdGUgdHJhbnNpZW50IGlzc3Vlc1xuICovXG5leHBvcnQgY29uc3QgVFJBTlNJRU5UX0VSUk9SX1NUQVRVU19DT0RFUyA9IFs1MDAsIDUwMiwgNTAzLCA1MDRdO1xuIl19","import { CLOCK_SKEW_ERROR_CODES, THROTTLING_ERROR_CODES, TRANSIENT_ERROR_CODES, TRANSIENT_ERROR_STATUS_CODES, } from \"./constants\";\nexport var isRetryableByTrait = function (error) { return error.$retryable !== undefined; };\nexport var isClockSkewError = function (error) { return CLOCK_SKEW_ERROR_CODES.includes(error.name); };\nexport var isThrottlingError = function (error) {\n var _a, _b;\n return ((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) === 429 ||\n THROTTLING_ERROR_CODES.includes(error.name) ||\n ((_b = error.$retryable) === null || _b === void 0 ? void 0 : _b.throttling) == true;\n};\nexport var isTransientError = function (error) {\n var _a;\n return TRANSIENT_ERROR_CODES.includes(error.name) ||\n TRANSIENT_ERROR_STATUS_CODES.includes(((_a = error.$metadata) === null || _a === void 0 ? void 0 : _a.httpStatusCode) || 0);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUNMLHNCQUFzQixFQUN0QixzQkFBc0IsRUFDdEIscUJBQXFCLEVBQ3JCLDRCQUE0QixHQUM3QixNQUFNLGFBQWEsQ0FBQztBQUVyQixNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLEtBQWUsSUFBSyxPQUFBLEtBQUssQ0FBQyxVQUFVLEtBQUssU0FBUyxFQUE5QixDQUE4QixDQUFDO0FBRXRGLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQUMsS0FBZSxJQUFLLE9BQUEsc0JBQXNCLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBM0MsQ0FBMkMsQ0FBQztBQUVqRyxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxVQUFDLEtBQWU7O0lBQy9DLE9BQUEsT0FBQSxLQUFLLENBQUMsU0FBUywwQ0FBRSxjQUFjLE1BQUssR0FBRztRQUN2QyxzQkFBc0IsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMzQyxPQUFBLEtBQUssQ0FBQyxVQUFVLDBDQUFFLFVBQVUsS0FBSSxJQUFJLENBQUE7Q0FBQSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLFVBQUMsS0FBZTs7SUFDOUMsT0FBQSxxQkFBcUIsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQztRQUMxQyw0QkFBNEIsQ0FBQyxRQUFRLENBQUMsT0FBQSxLQUFLLENBQUMsU0FBUywwQ0FBRSxjQUFjLEtBQUksQ0FBQyxDQUFDLENBQUE7Q0FBQSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2RrRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvc21pdGh5LWNsaWVudFwiO1xuXG5pbXBvcnQge1xuICBDTE9DS19TS0VXX0VSUk9SX0NPREVTLFxuICBUSFJPVFRMSU5HX0VSUk9SX0NPREVTLFxuICBUUkFOU0lFTlRfRVJST1JfQ09ERVMsXG4gIFRSQU5TSUVOVF9FUlJPUl9TVEFUVVNfQ09ERVMsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5leHBvcnQgY29uc3QgaXNSZXRyeWFibGVCeVRyYWl0ID0gKGVycm9yOiBTZGtFcnJvcikgPT4gZXJyb3IuJHJldHJ5YWJsZSAhPT0gdW5kZWZpbmVkO1xuXG5leHBvcnQgY29uc3QgaXNDbG9ja1NrZXdFcnJvciA9IChlcnJvcjogU2RrRXJyb3IpID0+IENMT0NLX1NLRVdfRVJST1JfQ09ERVMuaW5jbHVkZXMoZXJyb3IubmFtZSk7XG5cbmV4cG9ydCBjb25zdCBpc1Rocm90dGxpbmdFcnJvciA9IChlcnJvcjogU2RrRXJyb3IpID0+XG4gIGVycm9yLiRtZXRhZGF0YT8uaHR0cFN0YXR1c0NvZGUgPT09IDQyOSB8fFxuICBUSFJPVFRMSU5HX0VSUk9SX0NPREVTLmluY2x1ZGVzKGVycm9yLm5hbWUpIHx8XG4gIGVycm9yLiRyZXRyeWFibGU/LnRocm90dGxpbmcgPT0gdHJ1ZTtcblxuZXhwb3J0IGNvbnN0IGlzVHJhbnNpZW50RXJyb3IgPSAoZXJyb3I6IFNka0Vycm9yKSA9PlxuICBUUkFOU0lFTlRfRVJST1JfQ09ERVMuaW5jbHVkZXMoZXJyb3IubmFtZSkgfHxcbiAgVFJBTlNJRU5UX0VSUk9SX1NUQVRVU19DT0RFUy5pbmNsdWRlcyhlcnJvci4kbWV0YWRhdGE/Lmh0dHBTdGF0dXNDb2RlIHx8IDApO1xuIl19","import { MAXIMUM_RETRY_DELAY } from \"./constants\";\n/**\n * Calculate a capped, fully-jittered exponential backoff time.\n */\nexport var defaultDelayDecider = function (delayBase, attempts) {\n return Math.floor(Math.min(MAXIMUM_RETRY_DELAY, Math.random() * Math.pow(2, attempts) * delayBase));\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVsYXlEZWNpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlbGF5RGVjaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEQ7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxVQUFDLFNBQWlCLEVBQUUsUUFBZ0I7SUFDckUsT0FBQSxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFNBQUEsQ0FBQyxFQUFJLFFBQVEsQ0FBQSxHQUFHLFNBQVMsQ0FBQyxDQUFDO0FBQXBGLENBQW9GLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBNQVhJTVVNX1JFVFJZX0RFTEFZIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQ2FsY3VsYXRlIGEgY2FwcGVkLCBmdWxseS1qaXR0ZXJlZCBleHBvbmVudGlhbCBiYWNrb2ZmIHRpbWUuXG4gKi9cbmV4cG9ydCBjb25zdCBkZWZhdWx0RGVsYXlEZWNpZGVyID0gKGRlbGF5QmFzZTogbnVtYmVyLCBhdHRlbXB0czogbnVtYmVyKSA9PlxuICBNYXRoLmZsb29yKE1hdGgubWluKE1BWElNVU1fUkVUUllfREVMQVksIE1hdGgucmFuZG9tKCkgKiAyICoqIGF0dGVtcHRzICogZGVsYXlCYXNlKSk7XG4iXX0=","/**\n * The base number of milliseconds to use in calculating a suitable cool-down\n * time when a retryable error is encountered.\n */\nexport var DEFAULT_RETRY_DELAY_BASE = 100;\n/**\n * The maximum amount of time (in milliseconds) that will be used as a delay\n * between retry attempts.\n */\nexport var MAXIMUM_RETRY_DELAY = 20 * 1000;\n/**\n * The retry delay base (in milliseconds) to use when a throttling error is\n * encountered.\n */\nexport var THROTTLING_RETRY_DELAY_BASE = 500;\n/**\n * Initial number of retry tokens in Retry Quota\n */\nexport var INITIAL_RETRY_TOKENS = 500;\n/**\n * The total amount of retry tokens to be decremented from retry token balance.\n */\nexport var RETRY_COST = 5;\n/**\n * The total amount of retry tokens to be decremented from retry token balance\n * when a throttling error is encountered.\n */\nexport var TIMEOUT_RETRY_COST = 10;\n/**\n * The total amount of retry token to be incremented from retry token balance\n * if an SDK operation invocation succeeds without requiring a retry request.\n */\nexport var NO_RETRY_INCREMENT = 1;\n/**\n * Header name for SDK invocation ID\n */\nexport var INVOCATION_ID_HEADER = \"amz-sdk-invocation-id\";\n/**\n * Header name for request retry information.\n */\nexport var REQUEST_HEADER = \"amz-sdk-request\";\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSx3QkFBd0IsR0FBRyxHQUFHLENBQUM7QUFFNUM7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsRUFBRSxHQUFHLElBQUksQ0FBQztBQUU3Qzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBRyxHQUFHLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxHQUFHLENBQUM7QUFFeEM7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsQ0FBQyxDQUFDO0FBRTVCOzs7R0FHRztBQUNILE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLEVBQUUsQ0FBQztBQUVyQzs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxrQkFBa0IsR0FBRyxDQUFDLENBQUM7QUFFcEM7O0dBRUc7QUFDSCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyx1QkFBdUIsQ0FBQztBQUU1RDs7R0FFRztBQUNILE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGhlIGJhc2UgbnVtYmVyIG9mIG1pbGxpc2Vjb25kcyB0byB1c2UgaW4gY2FsY3VsYXRpbmcgYSBzdWl0YWJsZSBjb29sLWRvd25cbiAqIHRpbWUgd2hlbiBhIHJldHJ5YWJsZSBlcnJvciBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVUUllfREVMQVlfQkFTRSA9IDEwMDtcblxuLyoqXG4gKiBUaGUgbWF4aW11bSBhbW91bnQgb2YgdGltZSAoaW4gbWlsbGlzZWNvbmRzKSB0aGF0IHdpbGwgYmUgdXNlZCBhcyBhIGRlbGF5XG4gKiBiZXR3ZWVuIHJldHJ5IGF0dGVtcHRzLlxuICovXG5leHBvcnQgY29uc3QgTUFYSU1VTV9SRVRSWV9ERUxBWSA9IDIwICogMTAwMDtcblxuLyoqXG4gKiBUaGUgcmV0cnkgZGVsYXkgYmFzZSAoaW4gbWlsbGlzZWNvbmRzKSB0byB1c2Ugd2hlbiBhIHRocm90dGxpbmcgZXJyb3IgaXNcbiAqIGVuY291bnRlcmVkLlxuICovXG5leHBvcnQgY29uc3QgVEhST1RUTElOR19SRVRSWV9ERUxBWV9CQVNFID0gNTAwO1xuXG4vKipcbiAqIEluaXRpYWwgbnVtYmVyIG9mIHJldHJ5IHRva2VucyBpbiBSZXRyeSBRdW90YVxuICovXG5leHBvcnQgY29uc3QgSU5JVElBTF9SRVRSWV9UT0tFTlMgPSA1MDA7XG5cbi8qKlxuICogVGhlIHRvdGFsIGFtb3VudCBvZiByZXRyeSB0b2tlbnMgdG8gYmUgZGVjcmVtZW50ZWQgZnJvbSByZXRyeSB0b2tlbiBiYWxhbmNlLlxuICovXG5leHBvcnQgY29uc3QgUkVUUllfQ09TVCA9IDU7XG5cbi8qKlxuICogVGhlIHRvdGFsIGFtb3VudCBvZiByZXRyeSB0b2tlbnMgdG8gYmUgZGVjcmVtZW50ZWQgZnJvbSByZXRyeSB0b2tlbiBiYWxhbmNlXG4gKiB3aGVuIGEgdGhyb3R0bGluZyBlcnJvciBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNvbnN0IFRJTUVPVVRfUkVUUllfQ09TVCA9IDEwO1xuXG4vKipcbiAqIFRoZSB0b3RhbCBhbW91bnQgb2YgcmV0cnkgdG9rZW4gdG8gYmUgaW5jcmVtZW50ZWQgZnJvbSByZXRyeSB0b2tlbiBiYWxhbmNlXG4gKiBpZiBhbiBTREsgb3BlcmF0aW9uIGludm9jYXRpb24gc3VjY2VlZHMgd2l0aG91dCByZXF1aXJpbmcgYSByZXRyeSByZXF1ZXN0LlxuICovXG5leHBvcnQgY29uc3QgTk9fUkVUUllfSU5DUkVNRU5UID0gMTtcblxuLyoqXG4gKiBIZWFkZXIgbmFtZSBmb3IgU0RLIGludm9jYXRpb24gSURcbiAqL1xuZXhwb3J0IGNvbnN0IElOVk9DQVRJT05fSURfSEVBREVSID0gXCJhbXotc2RrLWludm9jYXRpb24taWRcIjtcblxuLyoqXG4gKiBIZWFkZXIgbmFtZSBmb3IgcmVxdWVzdCByZXRyeSBpbmZvcm1hdGlvbi5cbiAqL1xuZXhwb3J0IGNvbnN0IFJFUVVFU1RfSEVBREVSID0gXCJhbXotc2RrLXJlcXVlc3RcIjtcbiJdfQ==","import { isClockSkewError, isRetryableByTrait, isThrottlingError, isTransientError, } from \"@aws-sdk/service-error-classification\";\nexport var defaultRetryDecider = function (error) {\n if (!error) {\n return false;\n }\n return isRetryableByTrait(error) || isClockSkewError(error) || isThrottlingError(error) || isTransientError(error);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmV0cnlEZWNpZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3JldHJ5RGVjaWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUNsQixpQkFBaUIsRUFDakIsZ0JBQWdCLEdBQ2pCLE1BQU0sdUNBQXVDLENBQUM7QUFHL0MsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBQyxLQUFlO0lBQ2pELElBQUksQ0FBQyxLQUFLLEVBQUU7UUFDVixPQUFPLEtBQUssQ0FBQztLQUNkO0lBRUQsT0FBTyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztBQUNySCxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBpc0Nsb2NrU2tld0Vycm9yLFxuICBpc1JldHJ5YWJsZUJ5VHJhaXQsXG4gIGlzVGhyb3R0bGluZ0Vycm9yLFxuICBpc1RyYW5zaWVudEVycm9yLFxufSBmcm9tIFwiQGF3cy1zZGsvc2VydmljZS1lcnJvci1jbGFzc2lmaWNhdGlvblwiO1xuaW1wb3J0IHsgU2RrRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvc21pdGh5LWNsaWVudFwiO1xuXG5leHBvcnQgY29uc3QgZGVmYXVsdFJldHJ5RGVjaWRlciA9IChlcnJvcjogU2RrRXJyb3IpID0+IHtcbiAgaWYgKCFlcnJvcikge1xuICAgIHJldHVybiBmYWxzZTtcbiAgfVxuXG4gIHJldHVybiBpc1JldHJ5YWJsZUJ5VHJhaXQoZXJyb3IpIHx8IGlzQ2xvY2tTa2V3RXJyb3IoZXJyb3IpIHx8IGlzVGhyb3R0bGluZ0Vycm9yKGVycm9yKSB8fCBpc1RyYW5zaWVudEVycm9yKGVycm9yKTtcbn07XG4iXX0=","import { __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { isThrottlingError } from \"@aws-sdk/service-error-classification\";\nimport { v4 } from \"uuid\";\nimport { DEFAULT_RETRY_DELAY_BASE, INITIAL_RETRY_TOKENS, INVOCATION_ID_HEADER, REQUEST_HEADER, THROTTLING_RETRY_DELAY_BASE, } from \"./constants\";\nimport { getDefaultRetryQuota } from \"./defaultRetryQuota\";\nimport { defaultDelayDecider } from \"./delayDecider\";\nimport { defaultRetryDecider } from \"./retryDecider\";\n/**\n * The default value for how many HTTP requests an SDK should make for a\n * single SDK operation invocation before giving up\n */\nexport var DEFAULT_MAX_ATTEMPTS = 3;\n/**\n * The default retry algorithm to use.\n */\nexport var DEFAULT_RETRY_MODE = \"standard\";\nvar StandardRetryStrategy = /** @class */ (function () {\n function StandardRetryStrategy(maxAttemptsProvider, options) {\n var _a, _b, _c;\n this.maxAttemptsProvider = maxAttemptsProvider;\n this.mode = DEFAULT_RETRY_MODE;\n this.retryDecider = (_a = options === null || options === void 0 ? void 0 : options.retryDecider) !== null && _a !== void 0 ? _a : defaultRetryDecider;\n this.delayDecider = (_b = options === null || options === void 0 ? void 0 : options.delayDecider) !== null && _b !== void 0 ? _b : defaultDelayDecider;\n this.retryQuota = (_c = options === null || options === void 0 ? void 0 : options.retryQuota) !== null && _c !== void 0 ? _c : getDefaultRetryQuota(INITIAL_RETRY_TOKENS);\n }\n StandardRetryStrategy.prototype.shouldRetry = function (error, attempts, maxAttempts) {\n return attempts < maxAttempts && this.retryDecider(error) && this.retryQuota.hasRetryTokens(error);\n };\n StandardRetryStrategy.prototype.getMaxAttempts = function () {\n return __awaiter(this, void 0, void 0, function () {\n var maxAttempts, error_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.maxAttemptsProvider()];\n case 1:\n maxAttempts = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_1 = _a.sent();\n maxAttempts = DEFAULT_MAX_ATTEMPTS;\n return [3 /*break*/, 3];\n case 3: return [2 /*return*/, maxAttempts];\n }\n });\n });\n };\n StandardRetryStrategy.prototype.retry = function (next, args) {\n return __awaiter(this, void 0, void 0, function () {\n var retryTokenAmount, attempts, totalDelay, maxAttempts, request, _loop_1, this_1, state_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n attempts = 0;\n totalDelay = 0;\n return [4 /*yield*/, this.getMaxAttempts()];\n case 1:\n maxAttempts = _a.sent();\n request = args.request;\n if (HttpRequest.isInstance(request)) {\n request.headers[INVOCATION_ID_HEADER] = v4();\n }\n _loop_1 = function () {\n var _a, response, output, err_1, delay_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n _b.trys.push([0, 2, , 5]);\n if (HttpRequest.isInstance(request)) {\n request.headers[REQUEST_HEADER] = \"attempt=\" + (attempts + 1) + \"; max=\" + maxAttempts;\n }\n return [4 /*yield*/, next(args)];\n case 1:\n _a = _b.sent(), response = _a.response, output = _a.output;\n this_1.retryQuota.releaseRetryTokens(retryTokenAmount);\n output.$metadata.attempts = attempts + 1;\n output.$metadata.totalRetryDelay = totalDelay;\n return [2 /*return*/, { value: { response: response, output: output } }];\n case 2:\n err_1 = _b.sent();\n attempts++;\n if (!this_1.shouldRetry(err_1, attempts, maxAttempts)) return [3 /*break*/, 4];\n retryTokenAmount = this_1.retryQuota.retrieveRetryTokens(err_1);\n delay_1 = this_1.delayDecider(isThrottlingError(err_1) ? THROTTLING_RETRY_DELAY_BASE : DEFAULT_RETRY_DELAY_BASE, attempts);\n totalDelay += delay_1;\n return [4 /*yield*/, new Promise(function (resolve) { return setTimeout(resolve, delay_1); })];\n case 3:\n _b.sent();\n return [2 /*return*/, \"continue\"];\n case 4:\n if (!err_1.$metadata) {\n err_1.$metadata = {};\n }\n err_1.$metadata.attempts = attempts;\n err_1.$metadata.totalRetryDelay = totalDelay;\n throw err_1;\n case 5: return [2 /*return*/];\n }\n });\n };\n this_1 = this;\n _a.label = 2;\n case 2:\n if (!true) return [3 /*break*/, 4];\n return [5 /*yield**/, _loop_1()];\n case 3:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n return [3 /*break*/, 2];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n return StandardRetryStrategy;\n}());\nexport { StandardRetryStrategy };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFN0cmF0ZWd5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2RlZmF1bHRTdHJhdGVneS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3JELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLHVDQUF1QyxDQUFDO0FBRzFFLE9BQU8sRUFBRSxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFFMUIsT0FBTyxFQUNMLHdCQUF3QixFQUN4QixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3BCLGNBQWMsRUFDZCwyQkFBMkIsR0FDNUIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDckQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFFckQ7OztHQUdHO0FBQ0gsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsQ0FBQyxDQUFDO0FBRXRDOztHQUVHO0FBQ0gsTUFBTSxDQUFDLElBQU0sa0JBQWtCLEdBQUcsVUFBVSxDQUFDO0FBb0Q3QztJQU1FLCtCQUE2QixtQkFBcUMsRUFBRSxPQUFzQzs7UUFBN0Usd0JBQW1CLEdBQW5CLG1CQUFtQixDQUFrQjtRQUZsRCxTQUFJLEdBQUcsa0JBQWtCLENBQUM7UUFHeEMsSUFBSSxDQUFDLFlBQVksU0FBRyxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsWUFBWSxtQ0FBSSxtQkFBbUIsQ0FBQztRQUNqRSxJQUFJLENBQUMsWUFBWSxTQUFHLE9BQU8sYUFBUCxPQUFPLHVCQUFQLE9BQU8sQ0FBRSxZQUFZLG1DQUFJLG1CQUFtQixDQUFDO1FBQ2pFLElBQUksQ0FBQyxVQUFVLFNBQUcsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxD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IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IGlzVGhyb3R0bGluZ0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NlcnZpY2UtZXJyb3ItY2xhc3NpZmljYXRpb25cIjtcbmltcG9ydCB7IFNka0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NtaXRoeS1jbGllbnRcIjtcbmltcG9ydCB7IEZpbmFsaXplSGFuZGxlciwgRmluYWxpemVIYW5kbGVyQXJndW1lbnRzLCBNZXRhZGF0YUJlYXJlciwgUHJvdmlkZXIsIFJldHJ5U3RyYXRlZ3kgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCB7IHY0IH0gZnJvbSBcInV1aWRcIjtcblxuaW1wb3J0IHtcbiAgREVGQVVMVF9SRVRSWV9ERUxBWV9CQVNFLFxuICBJTklUSUFMX1JFVFJZX1RPS0VOUyxcbiAgSU5WT0NBVElPTl9JRF9IRUFERVIsXG4gIFJFUVVFU1RfSEVBREVSLFxuICBUSFJPVFRMSU5HX1JFVFJZX0RFTEFZX0JBU0UsXG59IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuaW1wb3J0IHsgZ2V0RGVmYXVsdFJldHJ5UXVvdGEgfSBmcm9tIFwiLi9kZWZhdWx0UmV0cnlRdW90YVwiO1xuaW1wb3J0IHsgZGVmYXVsdERlbGF5RGVjaWRlciB9IGZyb20gXCIuL2RlbGF5RGVjaWRlclwiO1xuaW1wb3J0IHsgZGVmYXVsdFJldHJ5RGVjaWRlciB9IGZyb20gXCIuL3JldHJ5RGVjaWRlclwiO1xuXG4vKipcbiAqIFRoZSBkZWZhdWx0IHZhbHVlIGZvciBob3cgbWFueSBIVFRQIHJlcXVlc3RzIGFuIFNESyBzaG91bGQgbWFrZSBmb3IgYVxuICogc2luZ2xlIFNESyBvcGVyYXRpb24gaW52b2NhdGlvbiBiZWZvcmUgZ2l2aW5nIHVwXG4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX01BWF9BVFRFTVBUUyA9IDM7XG5cbi8qKlxuICogVGhlIGRlZmF1bHQgcmV0cnkgYWxnb3JpdGhtIHRvIHVzZS5cbiAqL1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkVUUllfTU9ERSA9IFwic3RhbmRhcmRcIjtcblxuLyoqXG4gKiBEZXRlcm1pbmVzIHdoZXRoZXIgYW4gZXJyb3IgaXMgcmV0cnlhYmxlIGJhc2VkIG9uIHRoZSBudW1iZXIgb2YgcmV0cmllc1xuICogYWxyZWFkeSBhdHRlbXB0ZWQsIHRoZSBIVFRQIHN0YXR1cyBjb2RlLCBhbmQgdGhlIGVycm9yIHJlY2VpdmVkIChpZiBhbnkpLlxuICpcbiAqIEBwYXJhbSBlcnJvciAgICAgICAgIFRoZSBlcnJvciBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeURlY2lkZXIge1xuICAoZXJyb3I6IFNka0Vycm9yKTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBEZXRlcm1pbmVzIHRoZSBudW1iZXIgb2YgbWlsbGlzZWNvbmRzIHRvIHdhaXQgYmVmb3JlIHJldHJ5aW5nIGFuIGFjdGlvbi5cbiAqXG4gKiBAcGFyYW0gZGVsYXlCYXNlIFRoZSBiYXNlIGRlbGF5IChpbiBtaWxsaXNlY29uZHMpLlxuICogQHBhcmFtIGF0dGVtcHRzICBUaGUgbnVtYmVyIG9mIHRpbWVzIHRoZSBhY3Rpb24gaGFzIGFscmVhZHkgYmVlbiB0cmllZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxheURlY2lkZXIge1xuICAoZGVsYXlCYXNlOiBudW1iZXIsIGF0dGVtcHRzOiBudW1iZXIpOiBudW1iZXI7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHRoYXQgc3BlY2lmaWVzIHRoZSByZXRyeSBxdW90YSBiZWhhdmlvci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXRyeVF1b3RhIHtcbiAgLyoqXG4gICAqIHJldHVybnMgdHJ1ZSBpZiByZXRyeSB0b2tlbnMgYXJlIGF2YWlsYWJsZSBmcm9tIHRoZSByZXRyeSBxdW90YSBidWNrZXQuXG4gICAqL1xuICBoYXNSZXRyeVRva2VuczogKGVycm9yOiBTZGtFcnJvcikgPT4gYm9vbGVhbjtcblxuICAvKipcbiAgICogcmV0dXJucyB0b2tlbiBhbW91bnQgZnJvbSB0aGUgcmV0cnkgcXVvdGEgYnVja2V0LlxuICAgKiB0aHJvd3MgZXJyb3IgaXMgcmV0cnkgdG9rZW5zIGFyZSBub3QgYXZhaWxhYmxlLlxuICAgKi9cbiAgcmV0cmlldmVSZXRyeVRva2VuczogKGVycm9yOiBTZGtFcnJvcikgPT4gbnVtYmVyO1xuXG4gIC8qKlxuICAgKiByZWxlYXNlcyB0b2tlbnMgYmFjayB0byB0aGUgcmV0cnkgcXVvdGEuXG4gICAqL1xuICByZWxlYXNlUmV0cnlUb2tlbnM6IChyZWxlYXNlQ2FwYWNpdHlBbW91bnQ/OiBudW1iZXIpID0+IHZvaWQ7XG59XG5cbi8qKlxuICogU3RyYXRlZ3kgb3B0aW9ucyB0byBiZSBwYXNzZWQgdG8gU3RhbmRhcmRSZXRyeVN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU3RhbmRhcmRSZXRyeVN0cmF0ZWd5T3B0aW9ucyB7XG4gIHJldHJ5RGVjaWRlcj86IFJldHJ5RGVjaWRlcjtcbiAgZGVsYXlEZWNpZGVyPzogRGVsYXlEZWNpZGVyO1xuICByZXRyeVF1b3RhPzogUmV0cnlRdW90YTtcbn1cblxuZXhwb3J0IGNsYXNzIFN0YW5kYXJkUmV0cnlTdHJhdGVneSBpbXBsZW1lbnRzIFJldHJ5U3RyYXRlZ3kge1xuICBwcml2YXRlIHJldHJ5RGVjaWRlcjogUmV0cnlEZWNpZGVyO1xuICBwcml2YXRlIGRlbGF5RGVjaWRlcjogRGVsYXlEZWNpZGVyO1xuICBwcml2YXRlIHJldHJ5UXVvdGE6IFJldHJ5UXVvdGE7XG4gIHB1YmxpYyByZWFkb25seSBtb2RlID0gREVGQVVMVF9SRVRSWV9NT0RFO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgbWF4QXR0ZW1wdHNQcm92aWRlcjogUHJvdmlkZXI8bnVtYmVyPiwgb3B0aW9ucz86IFN0YW5kYXJkUmV0cnlTdHJhdGVneU9wdGlvbnMpIHtcbiAgICB0aGlzLnJldHJ5RGVjaWRlciA9IG9wdGlvbnM/LnJldHJ5RGVjaWRlciA/PyBkZWZhdWx0UmV0cnlEZWNpZGVyO1xuICAgIHRoaXMuZGVsYXlEZWNpZGVyID0gb3B0aW9ucz8uZGVsYXlEZWNpZGVyID8/IGRlZmF1bHREZWxheURlY2lkZXI7XG4gICAgdGhpcy5yZXRyeVF1b3RhID0gb3B0aW9ucz8ucmV0cnlRdW90YSA/PyBnZXREZWZhdWx0UmV0cnlRdW90YShJTklUSUFMX1JFVFJZX1RPS0VOUyk7XG4gIH1cblxuICBwcml2YXRlIHNob3VsZFJldHJ5KGVycm9yOiBTZGtFcnJvciwgYXR0ZW1wdHM6IG51bWJlciwgbWF4QXR0ZW1wdHM6IG51bWJlcikge1xuICAgIHJldHVybiBhdHRlbXB0cyA8IG1heEF0dGVtcHRzICYmIHRoaXMucmV0cnlEZWNpZGVyKGVycm9yKSAmJiB0aGlzLnJldHJ5UXVvdGEuaGFzUmV0cnlUb2tlbnMoZXJyb3IpO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRNYXhBdHRlbXB0cygpIHtcbiAgICBsZXQgbWF4QXR0ZW1wdHM6IG51bWJlcjtcbiAgICB0cnkge1xuICAgICAgbWF4QXR0ZW1wdHMgPSBhd2FpdCB0aGlzLm1heEF0dGVtcHRzUHJvdmlkZXIoKTtcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgbWF4QXR0ZW1wdHMgPSBERUZBVUxUX01BWF9BVFRFTVBUUztcbiAgICB9XG4gICAgcmV0dXJuIG1heEF0dGVtcHRzO1xuICB9XG5cbiAgYXN5bmMgcmV0cnk8SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KFxuICAgIG5leHQ6IEZpbmFsaXplSGFuZGxlcjxJbnB1dCwgT3VwdXQ+LFxuICAgIGFyZ3M6IEZpbmFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD5cbiAgKSB7XG4gICAgbGV0IHJldHJ5VG9rZW5BbW91bnQ7XG4gICAgbGV0IGF0dGVtcHRzID0gMDtcbiAgICBsZXQgdG90YWxEZWxheSA9IDA7XG5cbiAgICBjb25zdCBtYXhBdHRlbXB0cyA9IGF3YWl0IHRoaXMuZ2V0TWF4QXR0ZW1wdHMoKTtcblxuICAgIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgICBpZiAoSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW0lOVk9DQVRJT05fSURfSEVBREVSXSA9IHY0KCk7XG4gICAgfVxuXG4gICAgd2hpbGUgKHRydWUpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGlmIChIdHRwUmVxdWVzdC5pc0luc3RhbmNlKHJlcXVlc3QpKSB7XG4gICAgICAgICAgcmVxdWVzdC5oZWFkZXJzW1JFUVVFU1RfSEVBREVSXSA9IGBhdHRlbXB0PSR7YXR0ZW1wdHMgKyAxfTsgbWF4PSR7bWF4QXR0ZW1wdHN9YDtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCB7IHJlc3BvbnNlLCBvdXRwdXQgfSA9IGF3YWl0IG5leHQoYXJncyk7XG5cbiAgICAgICAgdGhpcy5yZXRyeVF1b3RhLnJlbGVhc2VSZXRyeVRva2VucyhyZXRyeVRva2VuQW1vdW50KTtcbiAgICAgICAgb3V0cHV0LiRtZXRhZGF0YS5hdHRlbXB0cyA9IGF0dGVtcHRzICsgMTtcbiAgICAgICAgb3V0cHV0LiRtZXRhZGF0YS50b3RhbFJldHJ5RGVsYXkgPSB0b3RhbERlbGF5O1xuXG4gICAgICAgIHJldHVybiB7IHJlc3BvbnNlLCBvdXRwdXQgfTtcbiAgICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgICBhdHRlbXB0cysrO1xuICAgICAgICBpZiAodGhpcy5zaG91bGRSZXRyeShlcnIgYXMgU2RrRXJyb3IsIGF0dGVtcHRzLCBtYXhBdHRlbXB0cykpIHtcbiAgICAgICAgICByZXRyeVRva2VuQW1vdW50ID0gdGhpcy5yZXRyeVF1b3RhLnJldHJpZXZlUmV0cnlUb2tlbnMoZXJyKTtcbiAgICAgICAgICBjb25zdCBkZWxheSA9IHRoaXMuZGVsYXlEZWNpZGVyKFxuICAgICAgICAgICAgaXNUaHJvdHRsaW5nRXJyb3IoZXJyKSA/IFRIUk9UVExJTkdfUkVUUllfREVMQVlfQkFTRSA6IERFRkFVTFRfUkVUUllfREVMQVlfQkFTRSxcbiAgICAgICAgICAgIGF0dGVtcHRzXG4gICAgICAgICAgKTtcbiAgICAgICAgICB0b3RhbERlbGF5ICs9IGRlbGF5O1xuXG4gICAgICAgICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHNldFRpbWVvdXQocmVzb2x2ZSwgZGVsYXkpKTtcbiAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlmICghZXJyLiRtZXRhZGF0YSkge1xuICAgICAgICAgIGVyci4kbWV0YWRhdGEgPSB7fTtcbiAgICAgICAgfVxuXG4gICAgICAgIGVyci4kbWV0YWRhdGEuYXR0ZW1wdHMgPSBhdHRlbXB0cztcbiAgICAgICAgZXJyLiRtZXRhZGF0YS50b3RhbFJldHJ5RGVsYXkgPSB0b3RhbERlbGF5O1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=","import { NO_RETRY_INCREMENT, RETRY_COST, TIMEOUT_RETRY_COST } from \"./constants\";\nexport var getDefaultRetryQuota = function (initialRetryTokens) {\n var MAX_CAPACITY = initialRetryTokens;\n var availableCapacity = initialRetryTokens;\n var getCapacityAmount = function (error) { return (error.name === \"TimeoutError\" ? TIMEOUT_RETRY_COST : RETRY_COST); };\n var hasRetryTokens = function (error) { return getCapacityAmount(error) <= availableCapacity; };\n var retrieveRetryTokens = function (error) {\n if (!hasRetryTokens(error)) {\n // retryStrategy should stop retrying, and return last error\n throw new Error(\"No retry token available\");\n }\n var capacityAmount = getCapacityAmount(error);\n availableCapacity -= capacityAmount;\n return capacityAmount;\n };\n var releaseRetryTokens = function (capacityReleaseAmount) {\n availableCapacity += capacityReleaseAmount !== null && capacityReleaseAmount !== void 0 ? capacityReleaseAmount : NO_RETRY_INCREMENT;\n availableCapacity = Math.min(availableCapacity, MAX_CAPACITY);\n };\n return Object.freeze({\n hasRetryTokens: hasRetryTokens,\n retrieveRetryTokens: retrieveRetryTokens,\n releaseRetryTokens: releaseRetryTokens,\n });\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVmYXVsdFJldHJ5UXVvdGEuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZGVmYXVsdFJldHJ5UXVvdGEudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBRUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLFVBQVUsRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUdqRixNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxVQUFDLGtCQUEwQjtJQUM3RCxJQUFNLFlBQVksR0FBRyxrQkFBa0IsQ0FBQztJQUN4QyxJQUFJLGlCQUFpQixHQUFHLGtCQUFrQixDQUFDO0lBRTNDLElBQU0saUJBQWlCLEdBQUcsVUFBQyxLQUFlLElBQUssT0FBQSxDQUFDLEtBQUssQ0FBQyxJQUFJLEtBQUssY0FBYyxDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEVBQWpFLENBQWlFLENBQUM7SUFFakgsSUFBTSxjQUFjLEdBQUcsVUFBQyxLQUFlLElBQUssT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsSUFBSSxpQkFBaUIsRUFBN0MsQ0FBNkMsQ0FBQztJQUUxRixJQUFNLG1CQUFtQixHQUFHLFVBQUMsS0FBZTtRQUMxQyxJQUFJLENBQUMsY0FBYyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQzFCLDREQUE0RDtZQUM1RCxNQUFNLElBQUksS0FBSyxDQUFDLDBCQUEwQixDQUFDLENBQUM7U0FDN0M7UUFDRCxJQUFNLGNBQWMsR0FBRyxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUNoRCxpQkFBaUIsSUFBSSxjQUFjLENBQUM7UUFDcEMsT0FBTyxjQUFjLENBQUM7SUFDeEIsQ0FBQyxDQUFDO0lBRUYsSUFBTSxrQkFBa0IsR0FBRyxVQUFDLHFCQUE4QjtRQUN4RCxpQkFBaUIsSUFBSSxxQkFBcUIsYUFBckIscUJBQXFCLGNBQXJCLHFCQUFxQixHQUFJLGtCQUFrQixDQUFDO1FBQ2pFLGlCQUFpQixHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsaUJBQWlCLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsT0FBTyxNQUFNLENBQUMsTUFBTSxDQUFDO1FBQ25CLGNBQWMsZ0JBQUE7UUFDZCxtQkFBbUIscUJBQUE7UUFDbkIsa0JBQWtCLG9CQUFBO0tBQ25CLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNka0Vycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3NtaXRoeS1jbGllbnRcIjtcblxuaW1wb3J0IHsgTk9fUkVUUllfSU5DUkVNRU5ULCBSRVRSWV9DT1NULCBUSU1FT1VUX1JFVFJZX0NPU1QgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IFJldHJ5UXVvdGEgfSBmcm9tIFwiLi9kZWZhdWx0U3RyYXRlZ3lcIjtcblxuZXhwb3J0IGNvbnN0IGdldERlZmF1bHRSZXRyeVF1b3RhID0gKGluaXRpYWxSZXRyeVRva2VuczogbnVtYmVyKTogUmV0cnlRdW90YSA9PiB7XG4gIGNvbnN0IE1BWF9DQVBBQ0lUWSA9IGluaXRpYWxSZXRyeVRva2VucztcbiAgbGV0IGF2YWlsYWJsZUNhcGFjaXR5ID0gaW5pdGlhbFJldHJ5VG9rZW5zO1xuXG4gIGNvbnN0IGdldENhcGFjaXR5QW1vdW50ID0gKGVycm9yOiBTZGtFcnJvcikgPT4gKGVycm9yLm5hbWUgPT09IFwiVGltZW91dEVycm9yXCIgPyBUSU1FT1VUX1JFVFJZX0NPU1QgOiBSRVRSWV9DT1NUKTtcblxuICBjb25zdCBoYXNSZXRyeVRva2VucyA9IChlcnJvcjogU2RrRXJyb3IpID0+IGdldENhcGFjaXR5QW1vdW50KGVycm9yKSA8PSBhdmFpbGFibGVDYXBhY2l0eTtcblxuICBjb25zdCByZXRyaWV2ZVJldHJ5VG9rZW5zID0gKGVycm9yOiBTZGtFcnJvcikgPT4ge1xuICAgIGlmICghaGFzUmV0cnlUb2tlbnMoZXJyb3IpKSB7XG4gICAgICAvLyByZXRyeVN0cmF0ZWd5IHNob3VsZCBzdG9wIHJldHJ5aW5nLCBhbmQgcmV0dXJuIGxhc3QgZXJyb3JcbiAgICAgIHRocm93IG5ldyBFcnJvcihcIk5vIHJldHJ5IHRva2VuIGF2YWlsYWJsZVwiKTtcbiAgICB9XG4gICAgY29uc3QgY2FwYWNpdHlBbW91bnQgPSBnZXRDYXBhY2l0eUFtb3VudChlcnJvcik7XG4gICAgYXZhaWxhYmxlQ2FwYWNpdHkgLT0gY2FwYWNpdHlBbW91bnQ7XG4gICAgcmV0dXJuIGNhcGFjaXR5QW1vdW50O1xuICB9O1xuXG4gIGNvbnN0IHJlbGVhc2VSZXRyeVRva2VucyA9IChjYXBhY2l0eVJlbGVhc2VBbW91bnQ/OiBudW1iZXIpID0+IHtcbiAgICBhdmFpbGFibGVDYXBhY2l0eSArPSBjYXBhY2l0eVJlbGVhc2VBbW91bnQgPz8gTk9fUkVUUllfSU5DUkVNRU5UO1xuICAgIGF2YWlsYWJsZUNhcGFjaXR5ID0gTWF0aC5taW4oYXZhaWxhYmxlQ2FwYWNpdHksIE1BWF9DQVBBQ0lUWSk7XG4gIH07XG5cbiAgcmV0dXJuIE9iamVjdC5mcmVlemUoe1xuICAgIGhhc1JldHJ5VG9rZW5zLFxuICAgIHJldHJpZXZlUmV0cnlUb2tlbnMsXG4gICAgcmVsZWFzZVJldHJ5VG9rZW5zLFxuICB9KTtcbn07XG4iXX0=","import { __assign } from \"tslib\";\nimport { DEFAULT_MAX_ATTEMPTS, DEFAULT_RETRY_MODE, StandardRetryStrategy } from \"./defaultStrategy\";\nexport var ENV_MAX_ATTEMPTS = \"AWS_MAX_ATTEMPTS\";\nexport var CONFIG_MAX_ATTEMPTS = \"max_attempts\";\nexport var NODE_MAX_ATTEMPT_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) {\n var value = env[ENV_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n var maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(\"Environment variable \" + ENV_MAX_ATTEMPTS + \" mast be a number, got \\\"\" + value + \"\\\"\");\n }\n return maxAttempt;\n },\n configFileSelector: function (profile) {\n var value = profile[CONFIG_MAX_ATTEMPTS];\n if (!value)\n return undefined;\n var maxAttempt = parseInt(value);\n if (Number.isNaN(maxAttempt)) {\n throw new Error(\"Shared config file entry \" + CONFIG_MAX_ATTEMPTS + \" mast be a number, got \\\"\" + value + \"\\\"\");\n }\n return maxAttempt;\n },\n default: DEFAULT_MAX_ATTEMPTS,\n};\nexport var resolveRetryConfig = function (input) {\n var maxAttempts = normalizeMaxAttempts(input.maxAttempts);\n return __assign(__assign({}, input), { maxAttempts: maxAttempts, retryStrategy: input.retryStrategy || new StandardRetryStrategy(maxAttempts) });\n};\nvar normalizeMaxAttempts = function (maxAttempts) {\n if (maxAttempts === void 0) { maxAttempts = DEFAULT_MAX_ATTEMPTS; }\n if (typeof maxAttempts === \"number\") {\n var promisified_1 = Promise.resolve(maxAttempts);\n return function () { return promisified_1; };\n }\n return maxAttempts;\n};\nexport var ENV_RETRY_MODE = \"AWS_RETRY_MODE\";\nexport var CONFIG_RETRY_MODE = \"retry_mode\";\nexport var NODE_RETRY_MODE_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) { return env[ENV_RETRY_MODE]; },\n configFileSelector: function (profile) { return profile[CONFIG_RETRY_MODE]; },\n default: DEFAULT_RETRY_MODE,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUdBLE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxrQkFBa0IsRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG1CQUFtQixDQUFDO0FBRXBHLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBQ25ELE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FBQztBQUVsRCxNQUFNLENBQUMsSUFBTSwrQkFBK0IsR0FBa0M7SUFDNUUsMkJBQTJCLEVBQUUsVUFBQyxHQUFHO1FBQy9CLElBQU0sS0FBSyxHQUFHLEdBQUcsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO1FBQ3BDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDBCQUF3QixnQkFBZ0IsaUNBQTJCLEtBQUssT0FBRyxDQUFDLENBQUM7U0FDOUY7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0Qsa0JBQWtCLEVBQUUsVUFBQyxPQUFPO1FBQzFCLElBQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxTQUFTLENBQUM7UUFDN0IsSUFBTSxVQUFVLEdBQUcsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLElBQUksTUFBTSxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1QixNQUFNLElBQUksS0FBSyxDQUFDLDhCQUE0QixtQkFBbUIsaUNBQTJCLEtBQUssT0FBRyxDQUFDLENBQUM7U0FDckc7UUFDRCxPQUFPLFVBQVUsQ0FBQztJQUNwQixDQUFDO0lBQ0QsT0FBTyxFQUFFLG9CQUFvQjtDQUM5QixDQUFDO0FBbUJGLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLFVBQUksS0FBZ0Q7SUFDcEYsSUFBTSxXQUFXLEdBQUcsb0JBQW9CLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxDQUFDO0lBQzVELDZCQUNLLEtBQUssS0FDUixXQUFXLGFBQUEsRUFDWCxhQUFhLEVBQUUsS0FBSyxDQUFDLGFBQWEsSUFBSSxJQUFJLHFCQUFxQixDQUFDLFdBQVcsQ0FBQyxJQUM1RTtBQUNKLENBQUMsQ0FBQztBQUVGLElBQU0sb0JBQW9CLEdBQUcsVUFBQyxXQUE2RDtJQUE3RCw0QkFBQSxFQUFBLGtDQUE2RDtJQUN6RixJQUFJLE9BQU8sV0FBVyxLQUFLLFFBQVEsRUFBRTtRQUNuQyxJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLFdBQVcsQ0FBQztBQUNyQixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsZ0JBQWdCLENBQUM7QUFDL0MsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsWUFBWSxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxJQUFNLDhCQUE4QixHQUFrQztJQUMzRSwyQkFBMkIsRUFBRSxVQUFDLEdBQUcsSUFBSyxPQUFBLEdBQUcsQ0FBQyxjQUFjLENBQUMsRUFBbkIsQ0FBbUI7SUFDekQsa0JBQWtCLEVBQUUsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBMUIsQ0FBMEI7SUFDM0QsT0FBTyxFQUFFLGtCQUFrQjtDQUM1QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVkQ29uZmlnU2VsZWN0b3JzIH0gZnJvbSBcIkBhd3Mtc2RrL25vZGUtY29uZmlnLXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBQcm92aWRlciwgUmV0cnlTdHJhdGVneSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBERUZBVUxUX01BWF9BVFRFTVBUUywgREVGQVVMVF9SRVRSWV9NT0RFLCBTdGFuZGFyZFJldHJ5U3RyYXRlZ3kgfSBmcm9tIFwiLi9kZWZhdWx0U3RyYXRlZ3lcIjtcblxuZXhwb3J0IGNvbnN0IEVOVl9NQVhfQVRURU1QVFMgPSBcIkFXU19NQVhfQVRURU1QVFNcIjtcbmV4cG9ydCBjb25zdCBDT05GSUdfTUFYX0FUVEVNUFRTID0gXCJtYXhfYXR0ZW1wdHNcIjtcblxuZXhwb3J0IGNvbnN0IE5PREVfTUFYX0FUVEVNUFRfQ09ORklHX09QVElPTlM6IExvYWRlZENvbmZpZ1NlbGVjdG9yczxudW1iZXI+ID0ge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnYpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IGVudltFTlZfTUFYX0FUVEVNUFRTXTtcbiAgICBpZiAoIXZhbHVlKSByZXR1cm4gdW5kZWZpbmVkO1xuICAgIGNvbnN0IG1heEF0dGVtcHQgPSBwYXJzZUludCh2YWx1ZSk7XG4gICAgaWYgKE51bWJlci5pc05hTihtYXhBdHRlbXB0KSkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFbnZpcm9ubWVudCB2YXJpYWJsZSAke0VOVl9NQVhfQVRURU1QVFN9IG1hc3QgYmUgYSBudW1iZXIsIGdvdCBcIiR7dmFsdWV9XCJgKTtcbiAgICB9XG4gICAgcmV0dXJuIG1heEF0dGVtcHQ7XG4gIH0sXG4gIGNvbmZpZ0ZpbGVTZWxlY3RvcjogKHByb2ZpbGUpID0+IHtcbiAgICBjb25zdCB2YWx1ZSA9IHByb2ZpbGVbQ09ORklHX01BWF9BVFRFTVBUU107XG4gICAgaWYgKCF2YWx1ZSkgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICBjb25zdCBtYXhBdHRlbXB0ID0gcGFyc2VJbnQodmFsdWUpO1xuICAgIGlmIChOdW1iZXIuaXNOYU4obWF4QXR0ZW1wdCkpIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgU2hhcmVkIGNvbmZpZyBmaWxlIGVudHJ5ICR7Q09ORklHX01BWF9BVFRFTVBUU30gbWFzdCBiZSBhIG51bWJlciwgZ290IFwiJHt2YWx1ZX1cImApO1xuICAgIH1cbiAgICByZXR1cm4gbWF4QXR0ZW1wdDtcbiAgfSxcbiAgZGVmYXVsdDogREVGQVVMVF9NQVhfQVRURU1QVFMsXG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIFJldHJ5SW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIG1heGltdW0gbnVtYmVyIG9mIHRpbWVzIHJlcXVlc3RzIHRoYXQgZW5jb3VudGVyIHJldHJ5YWJsZSBmYWlsdXJlcyBzaG91bGQgYmUgYXR0ZW1wdGVkLlxuICAgKi9cbiAgbWF4QXR0ZW1wdHM/OiBudW1iZXIgfCBQcm92aWRlcjxudW1iZXI+O1xuICAvKipcbiAgICogVGhlIHN0cmF0ZWd5IHRvIHJldHJ5IHRoZSByZXF1ZXN0LiBVc2luZyBidWlsdC1pbiBleHBvbmVudGlhbCBiYWNrb2ZmIHN0cmF0ZWd5IGJ5IGRlZmF1bHQuXG4gICAqL1xuICByZXRyeVN0cmF0ZWd5PzogUmV0cnlTdHJhdGVneTtcbn1cblxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7fVxuZXhwb3J0IGludGVyZmFjZSBSZXRyeVJlc29sdmVkQ29uZmlnIHtcbiAgbWF4QXR0ZW1wdHM6IFByb3ZpZGVyPG51bWJlcj47XG4gIHJldHJ5U3RyYXRlZ3k6IFJldHJ5U3RyYXRlZ3k7XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlUmV0cnlDb25maWcgPSA8VD4oaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBSZXRyeUlucHV0Q29uZmlnKTogVCAmIFJldHJ5UmVzb2x2ZWRDb25maWcgPT4ge1xuICBjb25zdCBtYXhBdHRlbXB0cyA9IG5vcm1hbGl6ZU1heEF0dGVtcHRzKGlucHV0Lm1heEF0dGVtcHRzKTtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBtYXhBdHRlbXB0cyxcbiAgICByZXRyeVN0cmF0ZWd5OiBpbnB1dC5yZXRyeVN0cmF0ZWd5IHx8IG5ldyBTdGFuZGFyZFJldHJ5U3RyYXRlZ3kobWF4QXR0ZW1wdHMpLFxuICB9O1xufTtcblxuY29uc3Qgbm9ybWFsaXplTWF4QXR0ZW1wdHMgPSAobWF4QXR0ZW1wdHM6IG51bWJlciB8IFByb3ZpZGVyPG51bWJlcj4gPSBERUZBVUxUX01BWF9BVFRFTVBUUyk6IFByb3ZpZGVyPG51bWJlcj4gPT4ge1xuICBpZiAodHlwZW9mIG1heEF0dGVtcHRzID09PSBcIm51bWJlclwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUobWF4QXR0ZW1wdHMpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gbWF4QXR0ZW1wdHM7XG59O1xuXG5leHBvcnQgY29uc3QgRU5WX1JFVFJZX01PREUgPSBcIkFXU19SRVRSWV9NT0RFXCI7XG5leHBvcnQgY29uc3QgQ09ORklHX1JFVFJZX01PREUgPSBcInJldHJ5X21vZGVcIjtcblxuZXhwb3J0IGNvbnN0IE5PREVfUkVUUllfTU9ERV9DT05GSUdfT1BUSU9OUzogTG9hZGVkQ29uZmlnU2VsZWN0b3JzPHN0cmluZz4gPSB7XG4gIGVudmlyb25tZW50VmFyaWFibGVTZWxlY3RvcjogKGVudikgPT4gZW52W0VOVl9SRVRSWV9NT0RFXSxcbiAgY29uZmlnRmlsZVNlbGVjdG9yOiAocHJvZmlsZSkgPT4gcHJvZmlsZVtDT05GSUdfUkVUUllfTU9ERV0sXG4gIGRlZmF1bHQ6IERFRkFVTFRfUkVUUllfTU9ERSxcbn07XG4iXX0=","import { __assign } from \"tslib\";\n// Partition default templates\nvar AWS_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\nvar AWS_CN_TEMPLATE = \"cognito-identity.{region}.amazonaws.com.cn\";\nvar AWS_ISO_TEMPLATE = \"cognito-identity.{region}.c2s.ic.gov\";\nvar AWS_ISO_B_TEMPLATE = \"cognito-identity.{region}.sc2s.sgov.gov\";\nvar AWS_US_GOV_TEMPLATE = \"cognito-identity.{region}.amazonaws.com\";\n// Partition regions\nvar AWS_REGIONS = new Set([\n \"af-south-1\",\n \"ap-east-1\",\n \"ap-northeast-1\",\n \"ap-northeast-2\",\n \"ap-south-1\",\n \"ap-southeast-1\",\n \"ap-southeast-2\",\n \"ca-central-1\",\n \"eu-central-1\",\n \"eu-north-1\",\n \"eu-south-1\",\n \"eu-west-1\",\n \"eu-west-2\",\n \"eu-west-3\",\n \"me-south-1\",\n \"sa-east-1\",\n \"us-east-1\",\n \"us-east-2\",\n \"us-west-1\",\n \"us-west-2\",\n]);\nvar AWS_CN_REGIONS = new Set([\"cn-north-1\", \"cn-northwest-1\"]);\nvar AWS_ISO_REGIONS = new Set([\"us-iso-east-1\"]);\nvar AWS_ISO_B_REGIONS = new Set([\"us-isob-east-1\"]);\nvar AWS_US_GOV_REGIONS = new Set([\"us-gov-east-1\", \"us-gov-west-1\"]);\nexport var defaultRegionInfoProvider = function (region, options) {\n var regionInfo = undefined;\n switch (region) {\n // First, try to match exact region names.\n case \"ap-northeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-northeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-northeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-south-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-south-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-1\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ap-southeast-2\":\n regionInfo = {\n hostname: \"cognito-identity.ap-southeast-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"ca-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.ca-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"cn-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.cn-north-1.amazonaws.com.cn\",\n partition: \"aws-cn\",\n };\n break;\n case \"eu-central-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-central-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-north-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-north-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"eu-west-3\":\n regionInfo = {\n hostname: \"cognito-identity.eu-west-3.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"fips-us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-1.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-1\",\n };\n break;\n case \"fips-us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-east-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-east-2\",\n };\n break;\n case \"fips-us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n signingRegion: \"us-gov-west-1\",\n };\n break;\n case \"fips-us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity-fips.us-west-2.amazonaws.com\",\n partition: \"aws\",\n signingRegion: \"us-west-2\",\n };\n break;\n case \"sa-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.sa-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-east-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-east-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-gov-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-gov-west-1.amazonaws.com\",\n partition: \"aws-us-gov\",\n };\n break;\n case \"us-west-1\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-1.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n case \"us-west-2\":\n regionInfo = {\n hostname: \"cognito-identity.us-west-2.amazonaws.com\",\n partition: \"aws\",\n };\n break;\n // Next, try to match partition endpoints.\n default:\n if (AWS_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n if (AWS_CN_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_CN_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-cn\",\n };\n }\n if (AWS_ISO_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso\",\n };\n }\n if (AWS_ISO_B_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_ISO_B_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-iso-b\",\n };\n }\n if (AWS_US_GOV_REGIONS.has(region)) {\n regionInfo = {\n hostname: AWS_US_GOV_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws-us-gov\",\n };\n }\n // Finally, assume it's an AWS partition endpoint.\n if (regionInfo === undefined) {\n regionInfo = {\n hostname: AWS_TEMPLATE.replace(\"{region}\", region),\n partition: \"aws\",\n };\n }\n }\n return Promise.resolve(__assign({ signingService: \"cognito-identity\" }, regionInfo));\n};\n//# sourceMappingURL=endpoints.js.map","import { parseQueryString } from \"@aws-sdk/querystring-parser\";\nexport var parseUrl = function (url) {\n var _a = new URL(url), hostname = _a.hostname, pathname = _a.pathname, port = _a.port, protocol = _a.protocol, search = _a.search;\n var query;\n if (search) {\n query = parseQueryString(search);\n }\n return {\n hostname: hostname,\n port: port ? parseInt(port) : undefined,\n protocol: protocol,\n path: pathname,\n query: query,\n };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGdCQUFnQixFQUFFLE1BQU0sNkJBQTZCLENBQUM7QUFHL0QsTUFBTSxDQUFDLElBQU0sUUFBUSxHQUFjLFVBQUMsR0FBVztJQUN2QyxJQUFBLEtBQWlELElBQUksR0FBRyxDQUFDLEdBQUcsQ0FBQyxFQUEzRCxRQUFRLGNBQUEsRUFBRSxRQUFRLGNBQUEsRUFBRSxJQUFJLFVBQUEsRUFBRSxRQUFRLGNBQUEsRUFBRSxNQUFNLFlBQWlCLENBQUM7SUFFcEUsSUFBSSxLQUFvQyxDQUFDO0lBQ3pDLElBQUksTUFBTSxFQUFFO1FBQ1YsS0FBSyxHQUFHLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQ2xDO0lBRUQsT0FBTztRQUNMLFFBQVEsVUFBQTtRQUNSLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUztRQUN2QyxRQUFRLFVBQUE7UUFDUixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssT0FBQTtLQUNOLENBQUM7QUFDSixDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBwYXJzZVF1ZXJ5U3RyaW5nIH0gZnJvbSBcIkBhd3Mtc2RrL3F1ZXJ5c3RyaW5nLXBhcnNlclwiO1xuaW1wb3J0IHsgRW5kcG9pbnQsIFF1ZXJ5UGFyYW1ldGVyQmFnLCBVcmxQYXJzZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGNvbnN0IHBhcnNlVXJsOiBVcmxQYXJzZXIgPSAodXJsOiBzdHJpbmcpOiBFbmRwb2ludCA9PiB7XG4gIGNvbnN0IHsgaG9zdG5hbWUsIHBhdGhuYW1lLCBwb3J0LCBwcm90b2NvbCwgc2VhcmNoIH0gPSBuZXcgVVJMKHVybCk7XG5cbiAgbGV0IHF1ZXJ5OiBRdWVyeVBhcmFtZXRlckJhZyB8IHVuZGVmaW5lZDtcbiAgaWYgKHNlYXJjaCkge1xuICAgIHF1ZXJ5ID0gcGFyc2VRdWVyeVN0cmluZyhzZWFyY2gpO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICBob3N0bmFtZSxcbiAgICBwb3J0OiBwb3J0ID8gcGFyc2VJbnQocG9ydCkgOiB1bmRlZmluZWQsXG4gICAgcHJvdG9jb2wsXG4gICAgcGF0aDogcGF0aG5hbWUsXG4gICAgcXVlcnksXG4gIH07XG59O1xuIl19","import { defaultRegionInfoProvider } from \"./endpoints\";\nimport { parseUrl } from \"@aws-sdk/url-parser\";\n/**\n * @internal\n */\nexport var ClientSharedValues = {\n apiVersion: \"2014-06-30\",\n disableHostPrefix: false,\n logger: {},\n regionInfoProvider: defaultRegionInfoProvider,\n serviceId: \"Cognito Identity\",\n urlParser: parseUrl,\n};\n//# sourceMappingURL=runtimeConfig.shared.js.map","import { __read, __values } from \"tslib\";\nexport function parseQueryString(querystring) {\n var e_1, _a;\n var query = {};\n querystring = querystring.replace(/^\\?/, \"\");\n if (querystring) {\n try {\n for (var _b = __values(querystring.split(\"&\")), _c = _b.next(); !_c.done; _c = _b.next()) {\n var pair = _c.value;\n var _d = __read(pair.split(\"=\"), 2), key = _d[0], _e = _d[1], value = _e === void 0 ? null : _e;\n key = decodeURIComponent(key);\n if (value) {\n value = decodeURIComponent(value);\n }\n if (!(key in query)) {\n query[key] = value;\n }\n else if (Array.isArray(query[key])) {\n query[key].push(value);\n }\n else {\n query[key] = [query[key], value];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n }\n return query;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE1BQU0sVUFBVSxnQkFBZ0IsQ0FBQyxXQUFtQjs7SUFDbEQsSUFBTSxLQUFLLEdBQXNCLEVBQUUsQ0FBQztJQUNwQyxXQUFXLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7SUFFN0MsSUFBSSxXQUFXLEVBQUU7O1lBQ2YsS0FBbUIsSUFBQSxLQUFBLFNBQUEsV0FBVyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtnQkFBdEMsSUFBTSxJQUFJLFdBQUE7Z0JBQ1QsSUFBQSxLQUFBLE9BQXNCLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLElBQUEsRUFBcEMsR0FBRyxRQUFBLEVBQUUsVUFBWSxFQUFaLEtBQUssbUJBQUcsSUFBSSxLQUFtQixDQUFDO2dCQUMxQyxHQUFHLEdBQUcsa0JBQWtCLENBQUMsR0FBRyxDQUFDLENBQUM7Z0JBQzlCLElBQUksS0FBSyxFQUFFO29CQUNULEtBQUssR0FBRyxrQkFBa0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDbkM7Z0JBQ0QsSUFBSSxDQUFDLENBQUMsR0FBRyxJQUFJLEtBQUssQ0FBQyxFQUFFO29CQUNuQixLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO2lCQUNwQjtxQkFBTSxJQUFJLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEVBQUU7b0JBQ25DLEtBQUssQ0FBQyxHQUFHLENBQW1CLENBQUMsSUFBSSxDQUFDLEtBQWUsQ0FBQyxDQUFDO2lCQUNyRDtxQkFBTTtvQkFDTCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFXLEVBQUUsS0FBZSxDQUFDLENBQUM7aUJBQ3REO2FBQ0Y7Ozs7Ozs7OztLQUNGO0lBRUQsT0FBTyxLQUFLLENBQUM7QUFDZixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUXVlcnlQYXJhbWV0ZXJCYWcgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIHBhcnNlUXVlcnlTdHJpbmcocXVlcnlzdHJpbmc6IHN0cmluZyk6IFF1ZXJ5UGFyYW1ldGVyQmFnIHtcbiAgY29uc3QgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnID0ge307XG4gIHF1ZXJ5c3RyaW5nID0gcXVlcnlzdHJpbmcucmVwbGFjZSgvXlxcPy8sIFwiXCIpO1xuXG4gIGlmIChxdWVyeXN0cmluZykge1xuICAgIGZvciAoY29uc3QgcGFpciBvZiBxdWVyeXN0cmluZy5zcGxpdChcIiZcIikpIHtcbiAgICAgIGxldCBba2V5LCB2YWx1ZSA9IG51bGxdID0gcGFpci5zcGxpdChcIj1cIik7XG4gICAgICBrZXkgPSBkZWNvZGVVUklDb21wb25lbnQoa2V5KTtcbiAgICAgIGlmICh2YWx1ZSkge1xuICAgICAgICB2YWx1ZSA9IGRlY29kZVVSSUNvbXBvbmVudCh2YWx1ZSk7XG4gICAgICB9XG4gICAgICBpZiAoIShrZXkgaW4gcXVlcnkpKSB7XG4gICAgICAgIHF1ZXJ5W2tleV0gPSB2YWx1ZTtcbiAgICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheShxdWVyeVtrZXldKSkge1xuICAgICAgICAocXVlcnlba2V5XSBhcyBBcnJheTxzdHJpbmc+KS5wdXNoKHZhbHVlIGFzIHN0cmluZyk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBxdWVyeVtrZXldID0gW3F1ZXJ5W2tleV0gYXMgc3RyaW5nLCB2YWx1ZSBhcyBzdHJpbmddO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHJldHVybiBxdWVyeTtcbn1cbiJdfQ==","import { __assign } from \"tslib\";\nimport packageInfo from \"./package.json\";\nimport { Sha256 } from \"@aws-crypto/sha256-browser\";\nimport { FetchHttpHandler, streamCollector } from \"@aws-sdk/fetch-http-handler\";\nimport { invalidProvider } from \"@aws-sdk/invalid-dependency\";\nimport { DEFAULT_MAX_ATTEMPTS } from \"@aws-sdk/middleware-retry\";\nimport { fromBase64, toBase64 } from \"@aws-sdk/util-base64-browser\";\nimport { calculateBodyLength } from \"@aws-sdk/util-body-length-browser\";\nimport { defaultUserAgent } from \"@aws-sdk/util-user-agent-browser\";\nimport { fromUtf8, toUtf8 } from \"@aws-sdk/util-utf8-browser\";\nimport { ClientSharedValues } from \"./runtimeConfig.shared\";\n/**\n * @internal\n */\nexport var ClientDefaultValues = __assign(__assign({}, ClientSharedValues), { runtime: \"browser\", base64Decoder: fromBase64, base64Encoder: toBase64, bodyLengthChecker: calculateBodyLength, credentialDefaultProvider: function (_) { return function () { return Promise.reject(new Error(\"Credential is missing\")); }; }, defaultUserAgentProvider: defaultUserAgent({\n serviceId: ClientSharedValues.serviceId,\n clientVersion: packageInfo.version,\n }), maxAttempts: DEFAULT_MAX_ATTEMPTS, region: invalidProvider(\"Region is missing\"), requestHandler: new FetchHttpHandler(), sha256: Sha256, streamCollector: streamCollector, utf8Decoder: fromUtf8, utf8Encoder: toUtf8 });\n//# sourceMappingURL=runtimeConfig.browser.js.map","export function calculateBodyLength(body) {\n if (typeof body === \"string\") {\n var len = body.length;\n for (var i = len - 1; i >= 0; i--) {\n var code = body.charCodeAt(i);\n if (code > 0x7f && code <= 0x7ff)\n len++;\n else if (code > 0x7ff && code <= 0xffff)\n len += 2;\n }\n return len;\n }\n else if (typeof body.byteLength === \"number\") {\n // handles Uint8Array, ArrayBuffer, Buffer, and ArrayBufferView\n return body.byteLength;\n }\n else if (typeof body.size === \"number\") {\n // handles browser File object\n return body.size;\n }\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLG1CQUFtQixDQUFDLElBQVM7SUFDM0MsSUFBSSxPQUFPLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDNUIsSUFBSSxHQUFHLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUV0QixLQUFLLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRTtZQUNqQyxJQUFNLElBQUksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2hDLElBQUksSUFBSSxHQUFHLElBQUksSUFBSSxJQUFJLElBQUksS0FBSztnQkFBRSxHQUFHLEVBQUUsQ0FBQztpQkFDbkMsSUFBSSxJQUFJLEdBQUcsS0FBSyxJQUFJLElBQUksSUFBSSxNQUFNO2dCQUFFLEdBQUcsSUFBSSxDQUFDLENBQUM7U0FDbkQ7UUFFRCxPQUFPLEdBQUcsQ0FBQztLQUNaO1NBQU0sSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO1FBQzlDLCtEQUErRDtRQUMvRCxPQUFPLElBQUksQ0FBQyxVQUFVLENBQUM7S0FDeEI7U0FBTSxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7UUFDeEMsOEJBQThCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQztLQUNsQjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZnVuY3Rpb24gY2FsY3VsYXRlQm9keUxlbmd0aChib2R5OiBhbnkpOiBudW1iZXIgfCB1bmRlZmluZWQge1xuICBpZiAodHlwZW9mIGJvZHkgPT09IFwic3RyaW5nXCIpIHtcbiAgICBsZXQgbGVuID0gYm9keS5sZW5ndGg7XG5cbiAgICBmb3IgKGxldCBpID0gbGVuIC0gMTsgaSA+PSAwOyBpLS0pIHtcbiAgICAgIGNvbnN0IGNvZGUgPSBib2R5LmNoYXJDb2RlQXQoaSk7XG4gICAgICBpZiAoY29kZSA+IDB4N2YgJiYgY29kZSA8PSAweDdmZikgbGVuKys7XG4gICAgICBlbHNlIGlmIChjb2RlID4gMHg3ZmYgJiYgY29kZSA8PSAweGZmZmYpIGxlbiArPSAyO1xuICAgIH1cblxuICAgIHJldHVybiBsZW47XG4gIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkuYnl0ZUxlbmd0aCA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIGhhbmRsZXMgVWludDhBcnJheSwgQXJyYXlCdWZmZXIsIEJ1ZmZlciwgYW5kIEFycmF5QnVmZmVyVmlld1xuICAgIHJldHVybiBib2R5LmJ5dGVMZW5ndGg7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGJvZHkuc2l6ZSA9PT0gXCJudW1iZXJcIikge1xuICAgIC8vIGhhbmRsZXMgYnJvd3NlciBGaWxlIG9iamVjdFxuICAgIHJldHVybiBib2R5LnNpemU7XG4gIH1cbn1cbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport bowser from \"bowser\";\n/**\n * Default provider to the user agent in browsers. It's a best effort to infer\n * the device information. It uses bowser library to detect the browser and virsion\n */\nexport var defaultUserAgent = function (_a) {\n var serviceId = _a.serviceId, clientVersion = _a.clientVersion;\n return function () { return __awaiter(void 0, void 0, void 0, function () {\n var parsedUA, sections;\n var _a, _b, _c, _d, _e, _f, _g;\n return __generator(this, function (_h) {\n parsedUA = ((_a = window === null || window === void 0 ? void 0 : window.navigator) === null || _a === void 0 ? void 0 : _a.userAgent) ? bowser.parse(window.navigator.userAgent) : undefined;\n sections = [\n // sdk-metadata\n [\"aws-sdk-js\", clientVersion],\n // os-metadata\n [\"os/\" + (((_b = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.os) === null || _b === void 0 ? void 0 : _b.name) || \"other\"), (_c = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.os) === null || _c === void 0 ? void 0 : _c.version],\n // language-metadata\n // ECMAScript edition doesn't matter in JS.\n [\"lang/js\"],\n // browser vendor and version.\n [\"md/browser\", ((_e = (_d = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.browser) === null || _d === void 0 ? void 0 : _d.name) !== null && _e !== void 0 ? _e : \"unknown\") + \"_\" + ((_g = (_f = parsedUA === null || parsedUA === void 0 ? void 0 : parsedUA.browser) === null || _f === void 0 ? void 0 : _f.version) !== null && _g !== void 0 ? _g : \"unknown\")],\n ];\n if (serviceId) {\n // api-metadata\n // service Id may not appear in non-AWS clients\n sections.push([\"api/\" + serviceId, clientVersion]);\n }\n return [2 /*return*/, sections];\n });\n }); };\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQztBQUk1Qjs7O0dBR0c7QUFDSCxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxVQUFDLEVBR1A7UUFGeEIsU0FBUyxlQUFBLEVBQ1QsYUFBYSxtQkFBQTtJQUNxQyxPQUFBOzs7O1lBQzVDLFFBQVEsR0FBRyxPQUFBLE1BQU0sYUFBTixNQUFNLHVCQUFOLE1BQU0sQ0FBRSxTQUFTLDBDQUFFLFNBQVMsRUFBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDL0YsUUFBUSxHQUFjO2dCQUMxQixlQUFlO2dCQUNmLENBQUMsWUFBWSxFQUFFLGFBQWEsQ0FBQztnQkFDN0IsY0FBYztnQkFDZCxDQUFDLFNBQU0sT0FBQSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsRUFBRSwwQ0FBRSxJQUFJLEtBQUksT0FBTyxDQUFFLFFBQUUsUUFBUSxhQUFSLFFBQVEsdUJBQVIsUUFBUSxDQUFFLEVBQUUsMENBQUUsT0FBTyxDQUFDO2dCQUM5RCxvQkFBb0I7Z0JBQ3BCLDJDQUEyQztnQkFDM0MsQ0FBQyxTQUFTLENBQUM7Z0JBQ1gsOEJBQThCO2dCQUM5QixDQUFDLFlBQVksRUFBRSxhQUFHLFFBQVEsYUFBUixRQUFRLHVCQUFSLFFBQVEsQ0FBRSxPQUFPLDBDQUFFLElBQUksbUNBQUksU0FBUyx1QkFBSSxRQUFRLGFBQVIsUUFBUSx1QkFBUixRQUFRLENBQUUsT0FBTywwQ0FBRSxPQUFPLG1DQUFJLFNBQVMsQ0FBRSxDQUFDO2FBQ3JHLENBQUM7WUFFRixJQUFJLFNBQVMsRUFBRTtnQkFDYixlQUFlO2dCQUNmLCtDQUErQztnQkFDL0MsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDLFNBQU8sU0FBVyxFQUFFLGFBQWEsQ0FBQyxDQUFDLENBQUM7YUFDcEQ7WUFFRCxzQkFBTyxRQUFRLEVBQUM7O1NBQ2pCO0FBckJtRCxDQXFCbkQsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFByb3ZpZGVyLCBVc2VyQWdlbnQgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcbmltcG9ydCBib3dzZXIgZnJvbSBcImJvd3NlclwiO1xuXG5pbXBvcnQgeyBEZWZhdWx0VXNlckFnZW50T3B0aW9ucyB9IGZyb20gXCIuL2NvbmZpZ3VyYXRpb25zXCI7XG5cbi8qKlxuICogRGVmYXVsdCBwcm92aWRlciB0byB0aGUgdXNlciBhZ2VudCBpbiBicm93c2Vycy4gSXQncyBhIGJlc3QgZWZmb3J0IHRvIGluZmVyXG4gKiB0aGUgZGV2aWNlIGluZm9ybWF0aW9uLiBJdCB1c2VzIGJvd3NlciBsaWJyYXJ5IHRvIGRldGVjdCB0aGUgYnJvd3NlciBhbmQgdmlyc2lvblxuICovXG5leHBvcnQgY29uc3QgZGVmYXVsdFVzZXJBZ2VudCA9ICh7XG4gIHNlcnZpY2VJZCxcbiAgY2xpZW50VmVyc2lvbixcbn06IERlZmF1bHRVc2VyQWdlbnRPcHRpb25zKTogUHJvdmlkZXI8VXNlckFnZW50PiA9PiBhc3luYyAoKSA9PiB7XG4gIGNvbnN0IHBhcnNlZFVBID0gd2luZG93Py5uYXZpZ2F0b3I/LnVzZXJBZ2VudCA/IGJvd3Nlci5wYXJzZSh3aW5kb3cubmF2aWdhdG9yLnVzZXJBZ2VudCkgOiB1bmRlZmluZWQ7XG4gIGNvbnN0IHNlY3Rpb25zOiBVc2VyQWdlbnQgPSBbXG4gICAgLy8gc2RrLW1ldGFkYXRhXG4gICAgW1wiYXdzLXNkay1qc1wiLCBjbGllbnRWZXJzaW9uXSxcbiAgICAvLyBvcy1tZXRhZGF0YVxuICAgIFtgb3MvJHtwYXJzZWRVQT8ub3M/Lm5hbWUgfHwgXCJvdGhlclwifWAsIHBhcnNlZFVBPy5vcz8udmVyc2lvbl0sXG4gICAgLy8gbGFuZ3VhZ2UtbWV0YWRhdGFcbiAgICAvLyBFQ01BU2NyaXB0IGVkaXRpb24gZG9lc24ndCBtYXR0ZXIgaW4gSlMuXG4gICAgW1wibGFuZy9qc1wiXSxcbiAgICAvLyBicm93c2VyIHZlbmRvciBhbmQgdmVyc2lvbi5cbiAgICBbXCJtZC9icm93c2VyXCIsIGAke3BhcnNlZFVBPy5icm93c2VyPy5uYW1lID8/IFwidW5rbm93blwifV8ke3BhcnNlZFVBPy5icm93c2VyPy52ZXJzaW9uID8/IFwidW5rbm93blwifWBdLFxuICBdO1xuXG4gIGlmIChzZXJ2aWNlSWQpIHtcbiAgICAvLyBhcGktbWV0YWRhdGFcbiAgICAvLyBzZXJ2aWNlIElkIG1heSBub3QgYXBwZWFyIGluIG5vbi1BV1MgY2xpZW50c1xuICAgIHNlY3Rpb25zLnB1c2goW2BhcGkvJHtzZXJ2aWNlSWR9YCwgY2xpZW50VmVyc2lvbl0pO1xuICB9XG5cbiAgcmV0dXJuIHNlY3Rpb25zO1xufTtcbiJdfQ==","import { __assign, __awaiter, __generator } from \"tslib\";\nexport var resolveEndpointsConfig = function (input) {\n var _a;\n return (__assign(__assign({}, input), { tls: (_a = input.tls) !== null && _a !== void 0 ? _a : true, endpoint: input.endpoint ? normalizeEndpoint(input) : function () { return getEndPointFromRegion(input); }, isCustomEndpoint: input.endpoint ? true : false }));\n};\nvar normalizeEndpoint = function (input) {\n var endpoint = input.endpoint, urlParser = input.urlParser;\n if (typeof endpoint === \"string\") {\n var promisified_1 = Promise.resolve(urlParser(endpoint));\n return function () { return promisified_1; };\n }\n else if (typeof endpoint === \"object\") {\n var promisified_2 = Promise.resolve(endpoint);\n return function () { return promisified_2; };\n }\n return endpoint;\n};\nvar getEndPointFromRegion = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, tls, region, dnsHostRegex, hostname;\n var _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = input.tls, tls = _a === void 0 ? true : _a;\n return [4 /*yield*/, input.region()];\n case 1:\n region = _c.sent();\n dnsHostRegex = new RegExp(/^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]{0,61}[a-zA-Z0-9])$/);\n if (!dnsHostRegex.test(region)) {\n throw new Error(\"Invalid region in client config\");\n }\n return [4 /*yield*/, input.regionInfoProvider(region)];\n case 2:\n hostname = ((_b = (_c.sent())) !== null && _b !== void 0 ? _b : {}).hostname;\n if (!hostname) {\n throw new Error(\"Cannot resolve hostname from client config\");\n }\n return [2 /*return*/, input.urlParser((tls ? \"https:\" : \"http:\") + \"//\" + hostname)];\n }\n });\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRW5kcG9pbnRzQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0VuZHBvaW50c0NvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBeUJBLE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLFVBQ3BDLEtBQW9EOztJQUNwQixPQUFBLHVCQUM3QixLQUFLLEtBQ1IsR0FBRyxRQUFFLEtBQUssQ0FBQyxHQUFHLG1DQUFJLElBQUksRUFDdEIsUUFBUSxFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxjQUFNLE9BQUEscUJBQXFCLENBQUMsS0FBSyxDQUFDLEVBQTVCLENBQTRCLEVBQ3hGLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxJQUMvQyxDQUFBO0NBQUEsQ0FBQztBQUVILElBQU0saUJBQWlCLEdBQUcsVUFBQyxLQUFnRDtJQUNqRSxJQUFBLFFBQVEsR0FBZ0IsS0FBSyxTQUFyQixFQUFFLFNBQVMsR0FBSyxLQUFLLFVBQVYsQ0FBVztJQUN0QyxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUNoQyxJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1FBQ3pELE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7U0FBTSxJQUFJLE9BQU8sUUFBUSxLQUFLLFFBQVEsRUFBRTtRQUN2QyxJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLFFBQVMsQ0FBQztBQUNuQixDQUFDLENBQUM7QUFFRixJQUFNLHFCQUFxQixHQUFHLFVBQU8sS0FBZ0Q7Ozs7OztnQkFDM0UsS0FBZSxLQUFLLElBQVYsRUFBVixHQUFHLG1CQUFHLElBQUksS0FBQSxDQUFXO2dCQUNkLHFCQUFNLEtBQUssQ0FBQyxNQUFNLEVBQUUsRUFBQTs7Z0JBQTdCLE1BQU0sR0FBRyxTQUFvQjtnQkFFN0IsWUFBWSxHQUFHLElBQUksTUFBTSxDQUFDLDBEQUEwRCxDQUFDLENBQUM7Z0JBQzVGLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUFFO29CQUM5QixNQUFNLElBQUksS0FBSyxDQUFDLGlDQUFpQyxDQUFDLENBQUM7aUJBQ3BEO2dCQUVxQixxQkFBTSxLQUFLLENBQUMsa0JBQWtCLENBQUMsTUFBTSxDQUFDLEVBQUE7O2dCQUFwRCxRQUFRLFVBQUssQ0FBQyxTQUFzQyxDQUFDLG1DQUFJLEVBQUUsVUFBbkQ7Z0JBQ2hCLElBQUksQ0FBQyxRQUFRLEVBQUU7b0JBQ2IsTUFBTSxJQUFJLEtBQUssQ0FBQyw0Q0FBNEMsQ0FBQyxDQUFDO2lCQUMvRDtnQkFFRCxzQkFBTyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUcsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLE9BQU8sV0FBSyxRQUFVLENBQUMsRUFBQzs7O0tBQ3BFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBFbmRwb2ludCwgUHJvdmlkZXIsIFJlZ2lvbkluZm9Qcm92aWRlciwgVXJsUGFyc2VyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW5kcG9pbnRzSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIGZ1bGx5IHF1YWxpZmllZCBlbmRwb2ludCBvZiB0aGUgd2Vic2VydmljZS4gVGhpcyBpcyBvbmx5IHJlcXVpcmVkIHdoZW4gdXNpbmcgYSBjdXN0b20gZW5kcG9pbnQgKGZvciBleGFtcGxlLCB3aGVuIHVzaW5nIGEgbG9jYWwgdmVyc2lvbiBvZiBTMykuXG4gICAqL1xuICBlbmRwb2ludD86IHN0cmluZyB8IEVuZHBvaW50IHwgUHJvdmlkZXI8RW5kcG9pbnQ+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIFRMUyBpcyBlbmFibGVkIGZvciByZXF1ZXN0cy5cbiAgICovXG4gIHRscz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICByZWdpb25JbmZvUHJvdmlkZXI6IFJlZ2lvbkluZm9Qcm92aWRlcjtcbiAgdXJsUGFyc2VyOiBVcmxQYXJzZXI7XG4gIHJlZ2lvbjogUHJvdmlkZXI8c3RyaW5nPjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbmRwb2ludHNSZXNvbHZlZENvbmZpZyBleHRlbmRzIFJlcXVpcmVkPEVuZHBvaW50c0lucHV0Q29uZmlnPiB7XG4gIGVuZHBvaW50OiBQcm92aWRlcjxFbmRwb2ludD47XG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlRW5kcG9pbnRzQ29uZmlnID0gPFQ+KFxuICBpbnB1dDogVCAmIEVuZHBvaW50c0lucHV0Q29uZmlnICYgUHJldmlvdXNseVJlc29sdmVkXG4pOiBUICYgRW5kcG9pbnRzUmVzb2x2ZWRDb25maWcgPT4gKHtcbiAgLi4uaW5wdXQsXG4gIHRsczogaW5wdXQudGxzID8/IHRydWUsXG4gIGVuZHBvaW50OiBpbnB1dC5lbmRwb2ludCA/IG5vcm1hbGl6ZUVuZHBvaW50KGlucHV0KSA6ICgpID0+IGdldEVuZFBvaW50RnJvbVJlZ2lvbihpbnB1dCksXG4gIGlzQ3VzdG9tRW5kcG9pbnQ6IGlucHV0LmVuZHBvaW50ID8gdHJ1ZSA6IGZhbHNlLFxufSk7XG5cbmNvbnN0IG5vcm1hbGl6ZUVuZHBvaW50ID0gKGlucHV0OiBFbmRwb2ludHNJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZCk6IFByb3ZpZGVyPEVuZHBvaW50PiA9PiB7XG4gIGNvbnN0IHsgZW5kcG9pbnQsIHVybFBhcnNlciB9ID0gaW5wdXQ7XG4gIGlmICh0eXBlb2YgZW5kcG9pbnQgPT09IFwic3RyaW5nXCIpIHtcbiAgICBjb25zdCBwcm9taXNpZmllZCA9IFByb21pc2UucmVzb2x2ZSh1cmxQYXJzZXIoZW5kcG9pbnQpKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH0gZWxzZSBpZiAodHlwZW9mIGVuZHBvaW50ID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoZW5kcG9pbnQpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfVxuICByZXR1cm4gZW5kcG9pbnQhO1xufTtcblxuY29uc3QgZ2V0RW5kUG9pbnRGcm9tUmVnaW9uID0gYXN5bmMgKGlucHV0OiBFbmRwb2ludHNJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZCkgPT4ge1xuICBjb25zdCB7IHRscyA9IHRydWUgfSA9IGlucHV0O1xuICBjb25zdCByZWdpb24gPSBhd2FpdCBpbnB1dC5yZWdpb24oKTtcblxuICBjb25zdCBkbnNIb3N0UmVnZXggPSBuZXcgUmVnRXhwKC9eKFthLXpBLVowLTldfFthLXpBLVowLTldW2EtekEtWjAtOS1dezAsNjF9W2EtekEtWjAtOV0pJC8pO1xuICBpZiAoIWRuc0hvc3RSZWdleC50ZXN0KHJlZ2lvbikpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJJbnZhbGlkIHJlZ2lvbiBpbiBjbGllbnQgY29uZmlnXCIpO1xuICB9XG5cbiAgY29uc3QgeyBob3N0bmFtZSB9ID0gKGF3YWl0IGlucHV0LnJlZ2lvbkluZm9Qcm92aWRlcihyZWdpb24pKSA/PyB7fTtcbiAgaWYgKCFob3N0bmFtZSkge1xuICAgIHRocm93IG5ldyBFcnJvcihcIkNhbm5vdCByZXNvbHZlIGhvc3RuYW1lIGZyb20gY2xpZW50IGNvbmZpZ1wiKTtcbiAgfVxuXG4gIHJldHVybiBpbnB1dC51cmxQYXJzZXIoYCR7dGxzID8gXCJodHRwczpcIiA6IFwiaHR0cDpcIn0vLyR7aG9zdG5hbWV9YCk7XG59O1xuIl19","import { __assign } from \"tslib\";\nexport var REGION_ENV_NAME = \"AWS_REGION\";\nexport var REGION_INI_NAME = \"region\";\nexport var NODE_REGION_CONFIG_OPTIONS = {\n environmentVariableSelector: function (env) { return env[REGION_ENV_NAME]; },\n configFileSelector: function (profile) { return profile[REGION_INI_NAME]; },\n default: function () {\n throw new Error(\"Region is missing\");\n },\n};\nexport var NODE_REGION_CONFIG_FILE_OPTIONS = {\n preferredFile: \"credentials\",\n};\nexport var resolveRegionConfig = function (input) {\n if (!input.region) {\n throw new Error(\"Region is missing\");\n }\n return __assign(__assign({}, input), { region: normalizeRegion(input.region) });\n};\nvar normalizeRegion = function (region) {\n if (typeof region === \"string\") {\n var promisified_1 = Promise.resolve(region);\n return function () { return promisified_1; };\n }\n return region;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUmVnaW9uQ29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL1JlZ2lvbkNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFlBQVksQ0FBQztBQUM1QyxNQUFNLENBQUMsSUFBTSxlQUFlLEdBQUcsUUFBUSxDQUFDO0FBRXhDLE1BQU0sQ0FBQyxJQUFNLDBCQUEwQixHQUFrQztJQUN2RSwyQkFBMkIsRUFBRSxVQUFDLEdBQUcsSUFBSyxPQUFBLEdBQUcsQ0FBQyxlQUFlLENBQUMsRUFBcEIsQ0FBb0I7SUFDMUQsa0JBQWtCLEVBQUUsVUFBQyxPQUFPLElBQUssT0FBQSxPQUFPLENBQUMsZUFBZSxDQUFDLEVBQXhCLENBQXdCO0lBQ3pELE9BQU8sRUFBRTtRQUNQLE1BQU0sSUFBSSxLQUFLLENBQUMsbUJBQW1CLENBQUMsQ0FBQztJQUN2QyxDQUFDO0NBQ0YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLCtCQUErQixHQUF1QjtJQUNqRSxhQUFhLEVBQUUsYUFBYTtDQUM3QixDQUFDO0FBZUYsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBSSxLQUFpRDtJQUN0RixJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sRUFBRTtRQUNqQixNQUFNLElBQUksS0FBSyxDQUFDLG1CQUFtQixDQUFDLENBQUM7S0FDdEM7SUFDRCw2QkFDSyxLQUFLLEtBQ1IsTUFBTSxFQUFFLGVBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTyxDQUFDLElBQ3RDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsSUFBTSxlQUFlLEdBQUcsVUFBQyxNQUFpQztJQUN4RCxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLE1BQTBCLENBQUM7QUFDcEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTG9hZGVkQ29uZmlnU2VsZWN0b3JzLCBMb2NhbENvbmZpZ09wdGlvbnMgfSBmcm9tIFwiQGF3cy1zZGsvbm9kZS1jb25maWctcHJvdmlkZXJcIjtcbmltcG9ydCB7IFByb3ZpZGVyIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBSRUdJT05fRU5WX05BTUUgPSBcIkFXU19SRUdJT05cIjtcbmV4cG9ydCBjb25zdCBSRUdJT05fSU5JX05BTUUgPSBcInJlZ2lvblwiO1xuXG5leHBvcnQgY29uc3QgTk9ERV9SRUdJT05fQ09ORklHX09QVElPTlM6IExvYWRlZENvbmZpZ1NlbGVjdG9yczxzdHJpbmc+ID0ge1xuICBlbnZpcm9ubWVudFZhcmlhYmxlU2VsZWN0b3I6IChlbnYpID0+IGVudltSRUdJT05fRU5WX05BTUVdLFxuICBjb25maWdGaWxlU2VsZWN0b3I6IChwcm9maWxlKSA9PiBwcm9maWxlW1JFR0lPTl9JTklfTkFNRV0sXG4gIGRlZmF1bHQ6ICgpID0+IHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJSZWdpb24gaXMgbWlzc2luZ1wiKTtcbiAgfSxcbn07XG5cbmV4cG9ydCBjb25zdCBOT0RFX1JFR0lPTl9DT05GSUdfRklMRV9PUFRJT05TOiBMb2NhbENvbmZpZ09wdGlvbnMgPSB7XG4gIHByZWZlcnJlZEZpbGU6IFwiY3JlZGVudGlhbHNcIixcbn07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uSW5wdXRDb25maWcge1xuICAvKipcbiAgICogVGhlIEFXUyByZWdpb24gdG8gd2hpY2ggdGhpcyBjbGllbnQgd2lsbCBzZW5kIHJlcXVlc3RzXG4gICAqL1xuICByZWdpb24/OiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+O1xufVxuXG5pbnRlcmZhY2UgUHJldmlvdXNseVJlc29sdmVkIHt9XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaW9uUmVzb2x2ZWRDb25maWcge1xuICByZWdpb246IFByb3ZpZGVyPHN0cmluZz47XG59XG5cbmV4cG9ydCBjb25zdCByZXNvbHZlUmVnaW9uQ29uZmlnID0gPFQ+KGlucHV0OiBUICYgUmVnaW9uSW5wdXRDb25maWcgJiBQcmV2aW91c2x5UmVzb2x2ZWQpOiBUICYgUmVnaW9uUmVzb2x2ZWRDb25maWcgPT4ge1xuICBpZiAoIWlucHV0LnJlZ2lvbikge1xuICAgIHRocm93IG5ldyBFcnJvcihcIlJlZ2lvbiBpcyBtaXNzaW5nXCIpO1xuICB9XG4gIHJldHVybiB7XG4gICAgLi4uaW5wdXQsXG4gICAgcmVnaW9uOiBub3JtYWxpemVSZWdpb24oaW5wdXQucmVnaW9uISksXG4gIH07XG59O1xuXG5jb25zdCBub3JtYWxpemVSZWdpb24gPSAocmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+KTogUHJvdmlkZXI8c3RyaW5nPiA9PiB7XG4gIGlmICh0eXBlb2YgcmVnaW9uID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUocmVnaW9uKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIHJlZ2lvbiBhcyBQcm92aWRlcjxzdHJpbmc+O1xufTtcbiJdfQ==","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nvar CONTENT_LENGTH_HEADER = \"content-length\";\nexport function contentLengthMiddleware(bodyLengthChecker) {\n var _this = this;\n return function (next) { return function (args) { return __awaiter(_this, void 0, void 0, function () {\n var request, body, headers, length;\n var _a;\n return __generator(this, function (_b) {\n request = args.request;\n if (HttpRequest.isInstance(request)) {\n body = request.body, headers = request.headers;\n if (body &&\n Object.keys(headers)\n .map(function (str) { return str.toLowerCase(); })\n .indexOf(CONTENT_LENGTH_HEADER) === -1) {\n length = bodyLengthChecker(body);\n if (length !== undefined) {\n request.headers = __assign(__assign({}, request.headers), (_a = {}, _a[CONTENT_LENGTH_HEADER] = String(length), _a));\n }\n }\n }\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n });\n }); }; };\n}\nexport var contentLengthMiddlewareOptions = {\n step: \"build\",\n tags: [\"SET_CONTENT_LENGTH\", \"CONTENT_LENGTH\"],\n name: \"contentLengthMiddleware\",\n override: true,\n};\nexport var getContentLengthPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(contentLengthMiddleware(options.bodyLengthChecker), contentLengthMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVlyRCxJQUFNLHFCQUFxQixHQUFHLGdCQUFnQixDQUFDO0FBRS9DLE1BQU0sVUFBVSx1QkFBdUIsQ0FBQyxpQkFBdUM7SUFBL0UsaUJBNEJDO0lBM0JDLE9BQU8sVUFBZ0MsSUFBK0IsSUFBZ0MsT0FBQSxVQUNwRyxJQUFnQzs7OztZQUUxQixPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztZQUM3QixJQUFJLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLEVBQUU7Z0JBQzNCLElBQUksR0FBYyxPQUFPLEtBQXJCLEVBQUUsT0FBTyxHQUFLLE9BQU8sUUFBWixDQUFhO2dCQUNsQyxJQUNFLElBQUk7b0JBQ0osTUFBTSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7eUJBQ2pCLEdBQUcsQ0FBQyxVQUFDLEdBQUcsSUFBSyxPQUFBLEdBQUcsQ0FBQyxXQUFXLEVBQUUsRUFBakIsQ0FBaUIsQ0FBQzt5QkFDL0IsT0FBTyxDQUFDLHFCQUFxQixDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQ3hDO29CQUNNLE1BQU0sR0FBRyxpQkFBaUIsQ0FBQyxJQUFJLENBQUMsQ0FBQztvQkFDdkMsSUFBSSxNQUFNLEtBQUssU0FBUyxFQUFFO3dCQUN4QixPQUFPLENBQUMsT0FBTyx5QkFDVixPQUFPLENBQUMsT0FBTyxnQkFDakIscUJBQXFCLElBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxNQUN4QyxDQUFDO3FCQUNIO2lCQUNGO2FBQ0Y7WUFFRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOztTQUNKLEVBMUJxRyxDQTBCckcsQ0FBQztBQUNKLENBQUM7QUFFRCxNQUFNLENBQUMsSUFBTSw4QkFBOEIsR0FBd0I7SUFDakUsSUFBSSxFQUFFLE9BQU87SUFDYixJQUFJLEVBQUUsQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQztJQUM5QyxJQUFJLEVBQUUseUJBQXlCO0lBQy9CLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLHNCQUFzQixHQUFHLFVBQUMsT0FBb0QsSUFBMEIsT0FBQSxDQUFDO0lBQ3BILFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyx1QkFBdUIsQ0FBQyxPQUFPLENBQUMsaUJBQWlCLENBQUMsRUFBRSw4QkFBOEIsQ0FBQyxDQUFDO0lBQ3RHLENBQUM7Q0FDRixDQUFDLEVBSm1ILENBSW5ILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBCb2R5TGVuZ3RoQ2FsY3VsYXRvcixcbiAgQnVpbGRIYW5kbGVyLFxuICBCdWlsZEhhbmRsZXJBcmd1bWVudHMsXG4gIEJ1aWxkSGFuZGxlck9wdGlvbnMsXG4gIEJ1aWxkSGFuZGxlck91dHB1dCxcbiAgQnVpbGRNaWRkbGV3YXJlLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgUGx1Z2dhYmxlLFxufSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuY29uc3QgQ09OVEVOVF9MRU5HVEhfSEVBREVSID0gXCJjb250ZW50LWxlbmd0aFwiO1xuXG5leHBvcnQgZnVuY3Rpb24gY29udGVudExlbmd0aE1pZGRsZXdhcmUoYm9keUxlbmd0aENoZWNrZXI6IEJvZHlMZW5ndGhDYWxjdWxhdG9yKTogQnVpbGRNaWRkbGV3YXJlPGFueSwgYW55PiB7XG4gIHJldHVybiA8T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXI+KG5leHQ6IEJ1aWxkSGFuZGxlcjxhbnksIE91dHB1dD4pOiBCdWlsZEhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgICBhcmdzOiBCdWlsZEhhbmRsZXJBcmd1bWVudHM8YW55PlxuICApOiBQcm9taXNlPEJ1aWxkSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3QgcmVxdWVzdCA9IGFyZ3MucmVxdWVzdDtcbiAgICBpZiAoSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkge1xuICAgICAgY29uc3QgeyBib2R5LCBoZWFkZXJzIH0gPSByZXF1ZXN0O1xuICAgICAgaWYgKFxuICAgICAgICBib2R5ICYmXG4gICAgICAgIE9iamVjdC5rZXlzKGhlYWRlcnMpXG4gICAgICAgICAgLm1hcCgoc3RyKSA9PiBzdHIudG9Mb3dlckNhc2UoKSlcbiAgICAgICAgICAuaW5kZXhPZihDT05URU5UX0xFTkdUSF9IRUFERVIpID09PSAtMVxuICAgICAgKSB7XG4gICAgICAgIGNvbnN0IGxlbmd0aCA9IGJvZHlMZW5ndGhDaGVja2VyKGJvZHkpO1xuICAgICAgICBpZiAobGVuZ3RoICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICByZXF1ZXN0LmhlYWRlcnMgPSB7XG4gICAgICAgICAgICAuLi5yZXF1ZXN0LmhlYWRlcnMsXG4gICAgICAgICAgICBbQ09OVEVOVF9MRU5HVEhfSEVBREVSXTogU3RyaW5nKGxlbmd0aCksXG4gICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBuZXh0KHtcbiAgICAgIC4uLmFyZ3MsXG4gICAgICByZXF1ZXN0LFxuICAgIH0pO1xuICB9O1xufVxuXG5leHBvcnQgY29uc3QgY29udGVudExlbmd0aE1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zID0ge1xuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHRhZ3M6IFtcIlNFVF9DT05URU5UX0xFTkdUSFwiLCBcIkNPTlRFTlRfTEVOR1RIXCJdLFxuICBuYW1lOiBcImNvbnRlbnRMZW5ndGhNaWRkbGV3YXJlXCIsXG4gIG92ZXJyaWRlOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IGdldENvbnRlbnRMZW5ndGhQbHVnaW4gPSAob3B0aW9uczogeyBib2R5TGVuZ3RoQ2hlY2tlcjogQm9keUxlbmd0aENhbGN1bGF0b3IgfSk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoY29udGVudExlbmd0aE1pZGRsZXdhcmUob3B0aW9ucy5ib2R5TGVuZ3RoQ2hlY2tlciksIGNvbnRlbnRMZW5ndGhNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nexport function resolveHostHeaderConfig(input) {\n return input;\n}\nexport var hostHeaderMiddleware = function (options) { return function (next) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, _a, handlerProtocol;\n return __generator(this, function (_b) {\n if (!HttpRequest.isInstance(args.request))\n return [2 /*return*/, next(args)];\n request = args.request;\n _a = (options.requestHandler.metadata || {}).handlerProtocol, handlerProtocol = _a === void 0 ? \"\" : _a;\n //For H2 request, remove 'host' header and use ':authority' header instead\n //reference: https://nodejs.org/dist/latest-v13.x/docs/api/errors.html#ERR_HTTP2_INVALID_CONNECTION_HEADERS\n if (handlerProtocol.indexOf(\"h2\") >= 0 && !request.headers[\":authority\"]) {\n delete request.headers[\"host\"];\n request.headers[\":authority\"] = \"\";\n //non-H2 request and 'host' header is not set, set the 'host' header to request's hostname.\n }\n else if (!request.headers[\"host\"]) {\n request.headers[\"host\"] = request.hostname;\n }\n return [2 /*return*/, next(args)];\n });\n}); }; }; };\nexport var hostHeaderMiddlewareOptions = {\n name: \"hostHeaderMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"HOST\"],\n override: true,\n};\nexport var getHostHeaderPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(hostHeaderMiddleware(options), hostHeaderMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQVVyRCxNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLEtBQXFEO0lBRXJELE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQztBQUVELE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHLFVBQ2xDLE9BQWlDLElBQ0UsT0FBQSxVQUFDLElBQUksSUFBSyxPQUFBLFVBQU8sSUFBSTs7O1FBQ3hELElBQUksQ0FBQyxXQUFXLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7WUFBRSxzQkFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7UUFDckQsT0FBTyxHQUFLLElBQUksUUFBVCxDQUFVO1FBQ2pCLEtBQXlCLENBQUEsT0FBTyxDQUFDLGNBQWMsQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFBLGdCQUExQyxFQUFwQixlQUFlLG1CQUFHLEVBQUUsS0FBQSxDQUEyQztRQUN2RSwwRUFBMEU7UUFDMUUsMkdBQTJHO1FBQzNHLElBQUksZUFBZSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxFQUFFO1lBQ3hFLE9BQU8sT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUMvQixPQUFPLENBQUMsT0FBTyxDQUFDLFlBQVksQ0FBQyxHQUFHLEVBQUUsQ0FBQztZQUNuQywyRkFBMkY7U0FDNUY7YUFBTSxJQUFJLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNuQyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxHQUFHLE9BQU8sQ0FBQyxRQUFRLENBQUM7U0FDNUM7UUFDRCxzQkFBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUM7O0tBQ25CLEVBZDhDLENBYzlDLEVBZG9DLENBY3BDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSwyQkFBMkIsR0FBMkM7SUFDakYsSUFBSSxFQUFFLHNCQUFzQjtJQUM1QixJQUFJLEVBQUUsT0FBTztJQUNiLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLENBQUMsTUFBTSxDQUFDO0lBQ2QsUUFBUSxFQUFFLElBQUk7Q0FDZixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsVUFBQyxPQUFpQyxJQUEwQixPQUFBLENBQUM7SUFDOUYsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxFQUFFLDJCQUEyQixDQUFDLENBQUM7SUFDOUUsQ0FBQztDQUNGLENBQUMsRUFKNkYsQ0FJN0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7IEFic29sdXRlTG9jYXRpb24sIEJ1aWxkSGFuZGxlck9wdGlvbnMsIEJ1aWxkTWlkZGxld2FyZSwgUGx1Z2dhYmxlLCBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJJbnB1dENvbmZpZyB7fVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueT47XG59XG5leHBvcnQgaW50ZXJmYWNlIEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyB7XG4gIHJlcXVlc3RIYW5kbGVyOiBSZXF1ZXN0SGFuZGxlcjxhbnksIGFueT47XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZUhvc3RIZWFkZXJDb25maWc8VD4oXG4gIGlucHV0OiBUICYgUHJldmlvdXNseVJlc29sdmVkICYgSG9zdEhlYWRlcklucHV0Q29uZmlnXG4pOiBUICYgSG9zdEhlYWRlclJlc29sdmVkQ29uZmlnIHtcbiAgcmV0dXJuIGlucHV0O1xufVxuXG5leHBvcnQgY29uc3QgaG9zdEhlYWRlck1pZGRsZXdhcmUgPSA8SW5wdXQgZXh0ZW5kcyBvYmplY3QsIE91dHB1dCBleHRlbmRzIG9iamVjdD4oXG4gIG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZ1xuKTogQnVpbGRNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+ID0+IChuZXh0KSA9PiBhc3luYyAoYXJncykgPT4ge1xuICBpZiAoIUh0dHBSZXF1ZXN0LmlzSW5zdGFuY2UoYXJncy5yZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gIGNvbnN0IHsgcmVxdWVzdCB9ID0gYXJncztcbiAgY29uc3QgeyBoYW5kbGVyUHJvdG9jb2wgPSBcIlwiIH0gPSBvcHRpb25zLnJlcXVlc3RIYW5kbGVyLm1ldGFkYXRhIHx8IHt9O1xuICAvL0ZvciBIMiByZXF1ZXN0LCByZW1vdmUgJ2hvc3QnIGhlYWRlciBhbmQgdXNlICc6YXV0aG9yaXR5JyBoZWFkZXIgaW5zdGVhZFxuICAvL3JlZmVyZW5jZTogaHR0cHM6Ly9ub2RlanMub3JnL2Rpc3QvbGF0ZXN0LXYxMy54L2RvY3MvYXBpL2Vycm9ycy5odG1sI0VSUl9IVFRQMl9JTlZBTElEX0NPTk5FQ1RJT05fSEVBREVSU1xuICBpZiAoaGFuZGxlclByb3RvY29sLmluZGV4T2YoXCJoMlwiKSA+PSAwICYmICFyZXF1ZXN0LmhlYWRlcnNbXCI6YXV0aG9yaXR5XCJdKSB7XG4gICAgZGVsZXRlIHJlcXVlc3QuaGVhZGVyc1tcImhvc3RcIl07XG4gICAgcmVxdWVzdC5oZWFkZXJzW1wiOmF1dGhvcml0eVwiXSA9IFwiXCI7XG4gICAgLy9ub24tSDIgcmVxdWVzdCBhbmQgJ2hvc3QnIGhlYWRlciBpcyBub3Qgc2V0LCBzZXQgdGhlICdob3N0JyBoZWFkZXIgdG8gcmVxdWVzdCdzIGhvc3RuYW1lLlxuICB9IGVsc2UgaWYgKCFyZXF1ZXN0LmhlYWRlcnNbXCJob3N0XCJdKSB7XG4gICAgcmVxdWVzdC5oZWFkZXJzW1wiaG9zdFwiXSA9IHJlcXVlc3QuaG9zdG5hbWU7XG4gIH1cbiAgcmV0dXJuIG5leHQoYXJncyk7XG59O1xuXG5leHBvcnQgY29uc3QgaG9zdEhlYWRlck1pZGRsZXdhcmVPcHRpb25zOiBCdWlsZEhhbmRsZXJPcHRpb25zICYgQWJzb2x1dGVMb2NhdGlvbiA9IHtcbiAgbmFtZTogXCJob3N0SGVhZGVyTWlkZGxld2FyZVwiLFxuICBzdGVwOiBcImJ1aWxkXCIsXG4gIHByaW9yaXR5OiBcImxvd1wiLFxuICB0YWdzOiBbXCJIT1NUXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRIb3N0SGVhZGVyUGx1Z2luID0gKG9wdGlvbnM6IEhvc3RIZWFkZXJSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQoaG9zdEhlYWRlck1pZGRsZXdhcmUob3B0aW9ucyksIGhvc3RIZWFkZXJNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __awaiter, __generator, __rest } from \"tslib\";\nexport var loggerMiddleware = function () { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var clientName, commandName, inputFilterSensitiveLog, logger, outputFilterSensitiveLog, response, _a, $metadata, outputWithoutMetadata;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n clientName = context.clientName, commandName = context.commandName, inputFilterSensitiveLog = context.inputFilterSensitiveLog, logger = context.logger, outputFilterSensitiveLog = context.outputFilterSensitiveLog;\n return [4 /*yield*/, next(args)];\n case 1:\n response = _b.sent();\n if (!logger) {\n return [2 /*return*/, response];\n }\n if (typeof logger.info === \"function\") {\n _a = response.output, $metadata = _a.$metadata, outputWithoutMetadata = __rest(_a, [\"$metadata\"]);\n logger.info({\n clientName: clientName,\n commandName: commandName,\n input: inputFilterSensitiveLog(args.input),\n output: outputFilterSensitiveLog(outputWithoutMetadata),\n metadata: $metadata,\n });\n }\n return [2 /*return*/, response];\n }\n });\n}); }; }; };\nexport var loggerMiddlewareOptions = {\n name: \"loggerMiddleware\",\n tags: [\"LOGGER\"],\n step: \"initialize\",\n override: true,\n};\n// eslint-disable-next-line @typescript-eslint/no-unused-vars\nexport var getLoggerPlugin = function (options) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(loggerMiddleware(), loggerMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9sb2dnZXJNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFZQSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxjQUFNLE9BQUEsVUFDcEMsSUFBb0MsRUFDcEMsT0FBZ0MsSUFDRyxPQUFBLFVBQ25DLElBQXFDOzs7OztnQkFFN0IsVUFBVSxHQUE2RSxPQUFPLFdBQXBGLEVBQUUsV0FBVyxHQUFnRSxPQUFPLFlBQXZFLEVBQUUsdUJBQXVCLEdBQXVDLE9BQU8sd0JBQTlDLEVBQUUsTUFBTSxHQUErQixPQUFPLE9BQXRDLEVBQUUsd0JBQXdCLEdBQUssT0FBTyx5QkFBWixDQUFhO2dCQUV0RixxQkFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUE7O2dCQUEzQixRQUFRLEdBQUcsU0FBZ0I7Z0JBRWpDLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ1gsc0JBQU8sUUFBUSxFQUFDO2lCQUNqQjtnQkFFRCxJQUFJLE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxVQUFVLEVBQUU7b0JBQy9CLEtBQTBDLFFBQVEsQ0FBQyxNQUFNLEVBQXZELFNBQVMsZUFBQSxFQUFLLHFCQUFxQixjQUFyQyxhQUF1QyxDQUFGLENBQXFCO29CQUNoRSxNQUFNLENBQUMsSUFBSSxDQUFDO3dCQUNWLFVBQVUsWUFBQTt3QkFDVixXQUFXLGFBQUE7d0JBQ1gsS0FBSyxFQUFFLHVCQUF1QixDQUFDLElBQUksQ0FBQyxLQUFLLENBQUM7d0JBQzFDLE1BQU0sRUFBRSx3QkFBd0IsQ0FBQyxxQkFBcUIsQ0FBQzt3QkFDdkQsUUFBUSxFQUFFLFNBQVM7cUJBQ3BCLENBQUMsQ0FBQztpQkFDSjtnQkFFRCxzQkFBTyxRQUFRLEVBQUM7OztLQUNqQixFQXZCb0MsQ0F1QnBDLEVBMUJxQyxDQTBCckMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLHVCQUF1QixHQUFnRDtJQUNsRixJQUFJLEVBQUUsa0JBQWtCO0lBQ3hCLElBQUksRUFBRSxDQUFDLFFBQVEsQ0FBQztJQUNoQixJQUFJLEVBQUUsWUFBWTtJQUNsQixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRiw2REFBNkQ7QUFDN0QsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLFVBQUMsT0FBWSxJQUEwQixPQUFBLENBQUM7SUFDckUsWUFBWSxFQUFFLFVBQUMsV0FBVztRQUN4QixXQUFXLENBQUMsR0FBRyxDQUFDLGdCQUFnQixFQUFFLEVBQUUsdUJBQXVCLENBQUMsQ0FBQztJQUMvRCxDQUFDO0NBQ0YsQ0FBQyxFQUpvRSxDQUlwRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cFJlc3BvbnNlIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3RvY29sLWh0dHBcIjtcbmltcG9ydCB7XG4gIEFic29sdXRlTG9jYXRpb24sXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBJbml0aWFsaXplSGFuZGxlcixcbiAgSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyxcbiAgSW5pdGlhbGl6ZUhhbmRsZXJPdXRwdXQsXG4gIE1ldGFkYXRhQmVhcmVyLFxuICBQbHVnZ2FibGUsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyTWlkZGxld2FyZSA9ICgpID0+IDxPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlciA9IE1ldGFkYXRhQmVhcmVyPihcbiAgbmV4dDogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+LFxuICBjb250ZXh0OiBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dFxuKTogSW5pdGlhbGl6ZUhhbmRsZXI8YW55LCBPdXRwdXQ+ID0+IGFzeW5jIChcbiAgYXJnczogSW5pdGlhbGl6ZUhhbmRsZXJBcmd1bWVudHM8YW55PlxuKTogUHJvbWlzZTxJbml0aWFsaXplSGFuZGxlck91dHB1dDxPdXRwdXQ+PiA9PiB7XG4gIGNvbnN0IHsgY2xpZW50TmFtZSwgY29tbWFuZE5hbWUsIGlucHV0RmlsdGVyU2Vuc2l0aXZlTG9nLCBsb2dnZXIsIG91dHB1dEZpbHRlclNlbnNpdGl2ZUxvZyB9ID0gY29udGV4dDtcblxuICBjb25zdCByZXNwb25zZSA9IGF3YWl0IG5leHQoYXJncyk7XG5cbiAgaWYgKCFsb2dnZXIpIHtcbiAgICByZXR1cm4gcmVzcG9uc2U7XG4gIH1cblxuICBpZiAodHlwZW9mIGxvZ2dlci5pbmZvID09PSBcImZ1bmN0aW9uXCIpIHtcbiAgICBjb25zdCB7ICRtZXRhZGF0YSwgLi4ub3V0cHV0V2l0aG91dE1ldGFkYXRhIH0gPSByZXNwb25zZS5vdXRwdXQ7XG4gICAgbG9nZ2VyLmluZm8oe1xuICAgICAgY2xpZW50TmFtZSxcbiAgICAgIGNvbW1hbmROYW1lLFxuICAgICAgaW5wdXQ6IGlucHV0RmlsdGVyU2Vuc2l0aXZlTG9nKGFyZ3MuaW5wdXQpLFxuICAgICAgb3V0cHV0OiBvdXRwdXRGaWx0ZXJTZW5zaXRpdmVMb2cob3V0cHV0V2l0aG91dE1ldGFkYXRhKSxcbiAgICAgIG1ldGFkYXRhOiAkbWV0YWRhdGEsXG4gICAgfSk7XG4gIH1cblxuICByZXR1cm4gcmVzcG9uc2U7XG59O1xuXG5leHBvcnQgY29uc3QgbG9nZ2VyTWlkZGxld2FyZU9wdGlvbnM6IEluaXRpYWxpemVIYW5kbGVyT3B0aW9ucyAmIEFic29sdXRlTG9jYXRpb24gPSB7XG4gIG5hbWU6IFwibG9nZ2VyTWlkZGxld2FyZVwiLFxuICB0YWdzOiBbXCJMT0dHRVJcIl0sXG4gIHN0ZXA6IFwiaW5pdGlhbGl6ZVwiLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnNcbmV4cG9ydCBjb25zdCBnZXRMb2dnZXJQbHVnaW4gPSAob3B0aW9uczogYW55KTogUGx1Z2dhYmxlPGFueSwgYW55PiA9PiAoe1xuICBhcHBseVRvU3RhY2s6IChjbGllbnRTdGFjaykgPT4ge1xuICAgIGNsaWVudFN0YWNrLmFkZChsb2dnZXJNaWRkbGV3YXJlKCksIGxvZ2dlck1pZGRsZXdhcmVPcHRpb25zKTtcbiAgfSxcbn0pO1xuIl19","export var ALGORITHM_QUERY_PARAM = \"X-Amz-Algorithm\";\nexport var CREDENTIAL_QUERY_PARAM = \"X-Amz-Credential\";\nexport var AMZ_DATE_QUERY_PARAM = \"X-Amz-Date\";\nexport var SIGNED_HEADERS_QUERY_PARAM = \"X-Amz-SignedHeaders\";\nexport var EXPIRES_QUERY_PARAM = \"X-Amz-Expires\";\nexport var SIGNATURE_QUERY_PARAM = \"X-Amz-Signature\";\nexport var TOKEN_QUERY_PARAM = \"X-Amz-Security-Token\";\nexport var AUTH_HEADER = \"authorization\";\nexport var AMZ_DATE_HEADER = AMZ_DATE_QUERY_PARAM.toLowerCase();\nexport var DATE_HEADER = \"date\";\nexport var GENERATED_HEADERS = [AUTH_HEADER, AMZ_DATE_HEADER, DATE_HEADER];\nexport var SIGNATURE_HEADER = SIGNATURE_QUERY_PARAM.toLowerCase();\nexport var SHA256_HEADER = \"x-amz-content-sha256\";\nexport var TOKEN_HEADER = TOKEN_QUERY_PARAM.toLowerCase();\nexport var HOST_HEADER = \"host\";\nexport var ALWAYS_UNSIGNABLE_HEADERS = {\n authorization: true,\n \"cache-control\": true,\n connection: true,\n expect: true,\n from: true,\n \"keep-alive\": true,\n \"max-forwards\": true,\n pragma: true,\n referer: true,\n te: true,\n trailer: true,\n \"transfer-encoding\": true,\n upgrade: true,\n \"user-agent\": true,\n \"x-amzn-trace-id\": true,\n};\nexport var PROXY_HEADER_PATTERN = /^proxy-/;\nexport var SEC_HEADER_PATTERN = /^sec-/;\nexport var UNSIGNABLE_PATTERNS = [/^proxy-/i, /^sec-/i];\nexport var ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256\";\nexport var EVENT_ALGORITHM_IDENTIFIER = \"AWS4-HMAC-SHA256-PAYLOAD\";\nexport var UNSIGNED_PAYLOAD = \"UNSIGNED-PAYLOAD\";\nexport var MAX_CACHE_SIZE = 50;\nexport var KEY_TYPE_IDENTIFIER = \"aws4_request\";\nexport var MAX_PRESIGNED_TTL = 60 * 60 * 24 * 7;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxxQkFBcUIsR0FBRyxpQkFBaUIsQ0FBQztBQUN2RCxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRyxrQkFBa0IsQ0FBQztBQUN6RCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxZQUFZLENBQUM7QUFDakQsTUFBTSxDQUFDLElBQU0sMEJBQTBCLEdBQUcscUJBQXFCLENBQUM7QUFDaEUsTUFBTSxDQUFDLElBQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDO0FBQ25ELE1BQU0sQ0FBQyxJQUFNLHFCQUFxQixHQUFHLGlCQUFpQixDQUFDO0FBQ3ZELE1BQU0sQ0FBQyxJQUFNLGlCQUFpQixHQUFHLHNCQUFzQixDQUFDO0FBRXhELE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxlQUFlLENBQUM7QUFDM0MsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLG9CQUFvQixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ2xFLE1BQU0sQ0FBQyxJQUFNLFdBQVcsR0FBRyxNQUFNLENBQUM7QUFDbEMsTUFBTSxDQUFDLElBQU0saUJBQWlCLEdBQUcsQ0FBQyxXQUFXLEVBQUUsZUFBZSxFQUFFLFdBQVcsQ0FBQyxDQUFDO0FBQzdFLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLHFCQUFxQixDQUFDLFdBQVcsRUFBRSxDQUFDO0FBQ3BFLE1BQU0sQ0FBQyxJQUFNLGFBQWEsR0FBRyxzQkFBc0IsQ0FBQztBQUNwRCxNQUFNLENBQUMsSUFBTSxZQUFZLEdBQUcsaUJBQWlCLENBQUMsV0FBVyxFQUFFLENBQUM7QUFDNUQsTUFBTSxDQUFDLElBQU0sV0FBVyxHQUFHLE1BQU0sQ0FBQztBQUVsQyxNQUFNLENBQUMsSUFBTSx5QkFBeUIsR0FBRztJQUN2QyxhQUFhLEVBQUUsSUFBSTtJQUNuQixlQUFlLEVBQUUsSUFBSTtJQUNyQixVQUFVLEVBQUUsSUFBSTtJQUNoQixNQUFNLEVBQUUsSUFBSTtJQUNaLElBQUksRUFBRSxJQUFJO0lBQ1YsWUFBWSxFQUFFLElBQUk7SUFDbEIsY0FBYyxFQUFFLElBQUk7SUFDcEIsTUFBTSxFQUFFLElBQUk7SUFDWixPQUFPLEVBQUUsSUFBSTtJQUNiLEVBQUUsRUFBRSxJQUFJO0lBQ1IsT0FBTyxFQUFFLElBQUk7SUFDYixtQkFBbUIsRUFBRSxJQUFJO0lBQ3pCLE9BQU8sRUFBRSxJQUFJO0lBQ2IsWUFBWSxFQUFFLElBQUk7SUFDbEIsaUJBQWlCLEVBQUUsSUFBSTtDQUN4QixDQUFDO0FBRUYsTUFBTSxDQUFDLElBQU0sb0JBQW9CLEdBQUcsU0FBUyxDQUFDO0FBRTlDLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLE9BQU8sQ0FBQztBQUUxQyxNQUFNLENBQUMsSUFBTSxtQkFBbUIsR0FBRyxDQUFDLFVBQVUsRUFBRSxRQUFRLENBQUMsQ0FBQztBQUUxRCxNQUFNLENBQUMsSUFBTSxvQkFBb0IsR0FBRyxrQkFBa0IsQ0FBQztBQUV2RCxNQUFNLENBQUMsSUFBTSwwQkFBMEIsR0FBRywwQkFBMEIsQ0FBQztBQUVyRSxNQUFNLENBQUMsSUFBTSxnQkFBZ0IsR0FBRyxrQkFBa0IsQ0FBQztBQUVuRCxNQUFNLENBQUMsSUFBTSxjQUFjLEdBQUcsRUFBRSxDQUFDO0FBQ2pDLE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLGNBQWMsQ0FBQztBQUVsRCxNQUFNLENBQUMsSUFBTSxpQkFBaUIsR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQUxHT1JJVEhNX1FVRVJZX1BBUkFNID0gXCJYLUFtei1BbGdvcml0aG1cIjtcbmV4cG9ydCBjb25zdCBDUkVERU5USUFMX1FVRVJZX1BBUkFNID0gXCJYLUFtei1DcmVkZW50aWFsXCI7XG5leHBvcnQgY29uc3QgQU1aX0RBVEVfUVVFUllfUEFSQU0gPSBcIlgtQW16LURhdGVcIjtcbmV4cG9ydCBjb25zdCBTSUdORURfSEVBREVSU19RVUVSWV9QQVJBTSA9IFwiWC1BbXotU2lnbmVkSGVhZGVyc1wiO1xuZXhwb3J0IGNvbnN0IEVYUElSRVNfUVVFUllfUEFSQU0gPSBcIlgtQW16LUV4cGlyZXNcIjtcbmV4cG9ydCBjb25zdCBTSUdOQVRVUkVfUVVFUllfUEFSQU0gPSBcIlgtQW16LVNpZ25hdHVyZVwiO1xuZXhwb3J0IGNvbnN0IFRPS0VOX1FVRVJZX1BBUkFNID0gXCJYLUFtei1TZWN1cml0eS1Ub2tlblwiO1xuXG5leHBvcnQgY29uc3QgQVVUSF9IRUFERVIgPSBcImF1dGhvcml6YXRpb25cIjtcbmV4cG9ydCBjb25zdCBBTVpfREFURV9IRUFERVIgPSBBTVpfREFURV9RVUVSWV9QQVJBTS50b0xvd2VyQ2FzZSgpO1xuZXhwb3J0IGNvbnN0IERBVEVfSEVBREVSID0gXCJkYXRlXCI7XG5leHBvcnQgY29uc3QgR0VORVJBVEVEX0hFQURFUlMgPSBbQVVUSF9IRUFERVIsIEFNWl9EQVRFX0hFQURFUiwgREFURV9IRUFERVJdO1xuZXhwb3J0IGNvbnN0IFNJR05BVFVSRV9IRUFERVIgPSBTSUdOQVRVUkVfUVVFUllfUEFSQU0udG9Mb3dlckNhc2UoKTtcbmV4cG9ydCBjb25zdCBTSEEyNTZfSEVBREVSID0gXCJ4LWFtei1jb250ZW50LXNoYTI1NlwiO1xuZXhwb3J0IGNvbnN0IFRPS0VOX0hFQURFUiA9IFRPS0VOX1FVRVJZX1BBUkFNLnRvTG93ZXJDYXNlKCk7XG5leHBvcnQgY29uc3QgSE9TVF9IRUFERVIgPSBcImhvc3RcIjtcblxuZXhwb3J0IGNvbnN0IEFMV0FZU19VTlNJR05BQkxFX0hFQURFUlMgPSB7XG4gIGF1dGhvcml6YXRpb246IHRydWUsXG4gIFwiY2FjaGUtY29udHJvbFwiOiB0cnVlLFxuICBjb25uZWN0aW9uOiB0cnVlLFxuICBleHBlY3Q6IHRydWUsXG4gIGZyb206IHRydWUsXG4gIFwia2VlcC1hbGl2ZVwiOiB0cnVlLFxuICBcIm1heC1mb3J3YXJkc1wiOiB0cnVlLFxuICBwcmFnbWE6IHRydWUsXG4gIHJlZmVyZXI6IHRydWUsXG4gIHRlOiB0cnVlLFxuICB0cmFpbGVyOiB0cnVlLFxuICBcInRyYW5zZmVyLWVuY29kaW5nXCI6IHRydWUsXG4gIHVwZ3JhZGU6IHRydWUsXG4gIFwidXNlci1hZ2VudFwiOiB0cnVlLFxuICBcIngtYW16bi10cmFjZS1pZFwiOiB0cnVlLFxufTtcblxuZXhwb3J0IGNvbnN0IFBST1hZX0hFQURFUl9QQVRURVJOID0gL15wcm94eS0vO1xuXG5leHBvcnQgY29uc3QgU0VDX0hFQURFUl9QQVRURVJOID0gL15zZWMtLztcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkFCTEVfUEFUVEVSTlMgPSBbL15wcm94eS0vaSwgL15zZWMtL2ldO1xuXG5leHBvcnQgY29uc3QgQUxHT1JJVEhNX0lERU5USUZJRVIgPSBcIkFXUzQtSE1BQy1TSEEyNTZcIjtcblxuZXhwb3J0IGNvbnN0IEVWRU5UX0FMR09SSVRITV9JREVOVElGSUVSID0gXCJBV1M0LUhNQUMtU0hBMjU2LVBBWUxPQURcIjtcblxuZXhwb3J0IGNvbnN0IFVOU0lHTkVEX1BBWUxPQUQgPSBcIlVOU0lHTkVELVBBWUxPQURcIjtcblxuZXhwb3J0IGNvbnN0IE1BWF9DQUNIRV9TSVpFID0gNTA7XG5leHBvcnQgY29uc3QgS0VZX1RZUEVfSURFTlRJRklFUiA9IFwiYXdzNF9yZXF1ZXN0XCI7XG5cbmV4cG9ydCBjb25zdCBNQVhfUFJFU0lHTkVEX1RUTCA9IDYwICogNjAgKiAyNCAqIDc7XG4iXX0=","import { __awaiter, __generator, __values } from \"tslib\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { KEY_TYPE_IDENTIFIER, MAX_CACHE_SIZE } from \"./constants\";\nvar signingKeyCache = {};\nvar cacheQueue = [];\n/**\n * Create a string describing the scope of credentials used to sign a request.\n *\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being sent.\n */\nexport function createScope(shortDate, region, service) {\n return shortDate + \"/\" + region + \"/\" + service + \"/\" + KEY_TYPE_IDENTIFIER;\n}\n/**\n * Derive a signing key from its composite parts\n *\n * @param sha256Constructor A constructor function that can instantiate SHA-256\n * hash objects.\n * @param credentials The credentials with which the request will be\n * signed.\n * @param shortDate The current calendar date in the form YYYYMMDD.\n * @param region The AWS region in which the service resides.\n * @param service The service to which the signed request is being\n * sent.\n */\nexport var getSigningKey = function (sha256Constructor, credentials, shortDate, region, service) { return __awaiter(void 0, void 0, void 0, function () {\n var credsHash, cacheKey, key, _a, _b, signable, e_1_1;\n var e_1, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, hmac(sha256Constructor, credentials.secretAccessKey, credentials.accessKeyId)];\n case 1:\n credsHash = _d.sent();\n cacheKey = shortDate + \":\" + region + \":\" + service + \":\" + toHex(credsHash) + \":\" + credentials.sessionToken;\n if (cacheKey in signingKeyCache) {\n return [2 /*return*/, signingKeyCache[cacheKey]];\n }\n cacheQueue.push(cacheKey);\n while (cacheQueue.length > MAX_CACHE_SIZE) {\n delete signingKeyCache[cacheQueue.shift()];\n }\n key = \"AWS4\" + credentials.secretAccessKey;\n _d.label = 2;\n case 2:\n _d.trys.push([2, 7, 8, 9]);\n _a = __values([shortDate, region, service, KEY_TYPE_IDENTIFIER]), _b = _a.next();\n _d.label = 3;\n case 3:\n if (!!_b.done) return [3 /*break*/, 6];\n signable = _b.value;\n return [4 /*yield*/, hmac(sha256Constructor, key, signable)];\n case 4:\n key = _d.sent();\n _d.label = 5;\n case 5:\n _b = _a.next();\n return [3 /*break*/, 3];\n case 6: return [3 /*break*/, 9];\n case 7:\n e_1_1 = _d.sent();\n e_1 = { error: e_1_1 };\n return [3 /*break*/, 9];\n case 8:\n try {\n if (_b && !_b.done && (_c = _a.return)) _c.call(_a);\n }\n finally { if (e_1) throw e_1.error; }\n return [7 /*endfinally*/];\n case 9: return [2 /*return*/, (signingKeyCache[cacheKey] = key)];\n }\n });\n}); };\n/**\n * @internal\n */\nexport function clearCredentialCache() {\n cacheQueue.length = 0;\n Object.keys(signingKeyCache).forEach(function (cacheKey) {\n delete signingKeyCache[cacheKey];\n });\n}\nfunction hmac(ctor, secret, data) {\n var hash = new ctor(secret);\n hash.update(data);\n return hash.digest();\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlZGVudGlhbERlcml2YXRpb24uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY3JlZGVudGlhbERlcml2YXRpb24udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxLQUFLLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUVuRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsY0FBYyxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBRWxFLElBQU0sZUFBZSxHQUFrQyxFQUFFLENBQUM7QUFDMUQsSUFBTSxVQUFVLEdBQWtCLEVBQUUsQ0FBQztBQUVyQzs7Ozs7O0dBTUc7QUFDSCxNQUFNLFVBQVUsV0FBVyxDQUFDLFNBQWlCLEVBQUUsTUFBYyxFQUFFLE9BQWU7SUFDNUUsT0FBVSxTQUFTLFNBQUksTUFBTSxTQUFJLE9BQU8sU0FBSSxtQkFBcUIsQ0FBQztBQUNwRSxDQUFDO0FBRUQ7Ozs7Ozs7Ozs7O0dBV0c7QUFDSCxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQUcsVUFDM0IsaUJBQWtDLEVBQ2xDLFdBQXdCLEVBQ3hCLFNBQWlCLEVBQ2pCLE1BQWMsRUFDZCxPQUFlOzs7OztvQkFFRyxxQkFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsV0FBVyxDQUFDLGVBQWUsRUFBRSxXQUFXLENBQUMsV0FBVyxDQUFDLEVBQUE7O2dCQUEvRixTQUFTLEdBQUcsU0FBbUY7Z0JBQy9GLFFBQVEsR0FBTSxTQUFTLFNBQUksTUFBTSxTQUFJLE9BQU8sU0FBSSxLQUFLLENBQUMsU0FBUyxDQUFDLFNBQUksV0FBVyxDQUFDLFlBQWMsQ0FBQztnQkFDckcsSUFBSSxRQUFRLElBQUksZUFBZSxFQUFFO29CQUMvQixzQkFBTyxlQUFlLENBQUMsUUFBUSxDQUFDLEVBQUM7aUJBQ2xDO2dCQUVELFVBQVUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQzFCLE9BQU8sVUFBVSxDQUFDLE1BQU0sR0FBRyxjQUFjLEVBQUU7b0JBQ3pDLE9BQU8sZUFBZSxDQUFDLFVBQVUsQ0FBQyxLQUFLLEVBQVksQ0FBQyxDQUFDO2lCQUN0RDtnQkFFRyxHQUFHLEdBQWUsU0FBTyxXQUFXLENBQUMsZUFBaUIsQ0FBQzs7OztnQkFDcEMsS0FBQSxTQUFBLENBQUMsU0FBUyxFQUFFLE1BQU0sRUFBRSxPQUFPLEVBQUUsbUJBQW1CLENBQUMsQ0FBQTs7OztnQkFBN0QsUUFBUTtnQkFDWCxxQkFBTSxJQUFJLENBQUMsaUJBQWlCLEVBQUUsR0FBRyxFQUFFLFFBQVEsQ0FBQyxFQUFBOztnQkFBbEQsR0FBRyxHQUFHLFNBQTRDLENBQUM7Ozs7Ozs7Ozs7Ozs7Ozs7b0JBRXJELHNCQUFPLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxHQUFHLEdBQWlCLENBQUMsRUFBQzs7O0tBQ3hELENBQUM7QUFFRjs7R0FFRztBQUNILE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsVUFBVSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUM7SUFDdEIsTUFBTSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBQyxRQUFRO1FBQzVDLE9BQU8sZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ25DLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQztBQUVELFNBQVMsSUFBSSxDQUFDLElBQXFCLEVBQUUsTUFBa0IsRUFBRSxJQUFnQjtJQUN2RSxJQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUM5QixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2xCLE9BQU8sSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO0FBQ3ZCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDcmVkZW50aWFscywgSGFzaENvbnN0cnVjdG9yLCBTb3VyY2VEYXRhIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5pbXBvcnQgeyBLRVlfVFlQRV9JREVOVElGSUVSLCBNQVhfQ0FDSEVfU0laRSB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG5jb25zdCBzaWduaW5nS2V5Q2FjaGU6IHsgW2tleTogc3RyaW5nXTogVWludDhBcnJheSB9ID0ge307XG5jb25zdCBjYWNoZVF1ZXVlOiBBcnJheTxzdHJpbmc+ID0gW107XG5cbi8qKlxuICogQ3JlYXRlIGEgc3RyaW5nIGRlc2NyaWJpbmcgdGhlIHNjb3BlIG9mIGNyZWRlbnRpYWxzIHVzZWQgdG8gc2lnbiBhIHJlcXVlc3QuXG4gKlxuICogQHBhcmFtIHNob3J0RGF0ZSBUaGUgY3VycmVudCBjYWxlbmRhciBkYXRlIGluIHRoZSBmb3JtIFlZWVlNTURELlxuICogQHBhcmFtIHJlZ2lvbiAgICBUaGUgQVdTIHJlZ2lvbiBpbiB3aGljaCB0aGUgc2VydmljZSByZXNpZGVzLlxuICogQHBhcmFtIHNlcnZpY2UgICBUaGUgc2VydmljZSB0byB3aGljaCB0aGUgc2lnbmVkIHJlcXVlc3QgaXMgYmVpbmcgc2VudC5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZVNjb3BlKHNob3J0RGF0ZTogc3RyaW5nLCByZWdpb246IHN0cmluZywgc2VydmljZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgcmV0dXJuIGAke3Nob3J0RGF0ZX0vJHtyZWdpb259LyR7c2VydmljZX0vJHtLRVlfVFlQRV9JREVOVElGSUVSfWA7XG59XG5cbi8qKlxuICogRGVyaXZlIGEgc2lnbmluZyBrZXkgZnJvbSBpdHMgY29tcG9zaXRlIHBhcnRzXG4gKlxuICogQHBhcmFtIHNoYTI1NkNvbnN0cnVjdG9yIEEgY29uc3RydWN0b3IgZnVuY3Rpb24gdGhhdCBjYW4gaW5zdGFudGlhdGUgU0hBLTI1NlxuICogICAgICAgICAgICAgICAgICAgICAgICAgIGhhc2ggb2JqZWN0cy5cbiAqIEBwYXJhbSBjcmVkZW50aWFscyAgICAgICBUaGUgY3JlZGVudGlhbHMgd2l0aCB3aGljaCB0aGUgcmVxdWVzdCB3aWxsIGJlXG4gKiAgICAgICAgICAgICAgICAgICAgICAgICAgc2lnbmVkLlxuICogQHBhcmFtIHNob3J0RGF0ZSAgICAgICAgIFRoZSBjdXJyZW50IGNhbGVuZGFyIGRhdGUgaW4gdGhlIGZvcm0gWVlZWU1NREQuXG4gKiBAcGFyYW0gcmVnaW9uICAgICAgICAgICAgVGhlIEFXUyByZWdpb24gaW4gd2hpY2ggdGhlIHNlcnZpY2UgcmVzaWRlcy5cbiAqIEBwYXJhbSBzZXJ2aWNlICAgICAgICAgICBUaGUgc2VydmljZSB0byB3aGljaCB0aGUgc2lnbmVkIHJlcXVlc3QgaXMgYmVpbmdcbiAqICAgICAgICAgICAgICAgICAgICAgICAgICBzZW50LlxuICovXG5leHBvcnQgY29uc3QgZ2V0U2lnbmluZ0tleSA9IGFzeW5jIChcbiAgc2hhMjU2Q29uc3RydWN0b3I6IEhhc2hDb25zdHJ1Y3RvcixcbiAgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzLFxuICBzaG9ydERhdGU6IHN0cmluZyxcbiAgcmVnaW9uOiBzdHJpbmcsXG4gIHNlcnZpY2U6IHN0cmluZ1xuKTogUHJvbWlzZTxVaW50OEFycmF5PiA9PiB7XG4gIGNvbnN0IGNyZWRzSGFzaCA9IGF3YWl0IGhtYWMoc2hhMjU2Q29uc3RydWN0b3IsIGNyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleSwgY3JlZGVudGlhbHMuYWNjZXNzS2V5SWQpO1xuICBjb25zdCBjYWNoZUtleSA9IGAke3Nob3J0RGF0ZX06JHtyZWdpb259OiR7c2VydmljZX06JHt0b0hleChjcmVkc0hhc2gpfToke2NyZWRlbnRpYWxzLnNlc3Npb25Ub2tlbn1gO1xuICBpZiAoY2FjaGVLZXkgaW4gc2lnbmluZ0tleUNhY2hlKSB7XG4gICAgcmV0dXJuIHNpZ25pbmdLZXlDYWNoZVtjYWNoZUtleV07XG4gIH1cblxuICBjYWNoZVF1ZXVlLnB1c2goY2FjaGVLZXkpO1xuICB3aGlsZSAoY2FjaGVRdWV1ZS5sZW5ndGggPiBNQVhfQ0FDSEVfU0laRSkge1xuICAgIGRlbGV0ZSBzaWduaW5nS2V5Q2FjaGVbY2FjaGVRdWV1ZS5zaGlmdCgpIGFzIHN0cmluZ107XG4gIH1cblxuICBsZXQga2V5OiBTb3VyY2VEYXRhID0gYEFXUzQke2NyZWRlbnRpYWxzLnNlY3JldEFjY2Vzc0tleX1gO1xuICBmb3IgKGNvbnN0IHNpZ25hYmxlIG9mIFtzaG9ydERhdGUsIHJlZ2lvbiwgc2VydmljZSwgS0VZX1RZUEVfSURFTlRJRklFUl0pIHtcbiAgICBrZXkgPSBhd2FpdCBobWFjKHNoYTI1NkNvbnN0cnVjdG9yLCBrZXksIHNpZ25hYmxlKTtcbiAgfVxuICByZXR1cm4gKHNpZ25pbmdLZXlDYWNoZVtjYWNoZUtleV0gPSBrZXkgYXMgVWludDhBcnJheSk7XG59O1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xlYXJDcmVkZW50aWFsQ2FjaGUoKTogdm9pZCB7XG4gIGNhY2hlUXVldWUubGVuZ3RoID0gMDtcbiAgT2JqZWN0LmtleXMoc2lnbmluZ0tleUNhY2hlKS5mb3JFYWNoKChjYWNoZUtleSkgPT4ge1xuICAgIGRlbGV0ZSBzaWduaW5nS2V5Q2FjaGVbY2FjaGVLZXldO1xuICB9KTtcbn1cblxuZnVuY3Rpb24gaG1hYyhjdG9yOiBIYXNoQ29uc3RydWN0b3IsIHNlY3JldDogU291cmNlRGF0YSwgZGF0YTogU291cmNlRGF0YSk6IFByb21pc2U8VWludDhBcnJheT4ge1xuICBjb25zdCBoYXNoID0gbmV3IGN0b3Ioc2VjcmV0KTtcbiAgaGFzaC51cGRhdGUoZGF0YSk7XG4gIHJldHVybiBoYXNoLmRpZ2VzdCgpO1xufVxuIl19","import { __values } from \"tslib\";\nimport { ALWAYS_UNSIGNABLE_HEADERS, PROXY_HEADER_PATTERN, SEC_HEADER_PATTERN } from \"./constants\";\n/**\n * @internal\n */\nexport function getCanonicalHeaders(_a, unsignableHeaders, signableHeaders) {\n var e_1, _b;\n var headers = _a.headers;\n var canonical = {};\n try {\n for (var _c = __values(Object.keys(headers).sort()), _d = _c.next(); !_d.done; _d = _c.next()) {\n var headerName = _d.value;\n var canonicalHeaderName = headerName.toLowerCase();\n if (canonicalHeaderName in ALWAYS_UNSIGNABLE_HEADERS || (unsignableHeaders === null || unsignableHeaders === void 0 ? void 0 : unsignableHeaders.has(canonicalHeaderName)) ||\n PROXY_HEADER_PATTERN.test(canonicalHeaderName) ||\n SEC_HEADER_PATTERN.test(canonicalHeaderName)) {\n if (!signableHeaders || (signableHeaders && !signableHeaders.has(canonicalHeaderName))) {\n continue;\n }\n }\n canonical[canonicalHeaderName] = headers[headerName].trim().replace(/\\s+/g, \" \");\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_d && !_d.done && (_b = _c.return)) _b.call(_c);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return canonical;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2Fub25pY2FsSGVhZGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9nZXRDYW5vbmljYWxIZWFkZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQSxPQUFPLEVBQUUseUJBQXlCLEVBQUUsb0JBQW9CLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFbEc7O0dBRUc7QUFDSCxNQUFNLFVBQVUsbUJBQW1CLENBQ2pDLEVBQXdCLEVBQ3hCLGlCQUErQixFQUMvQixlQUE2Qjs7UUFGM0IsT0FBTyxhQUFBO0lBSVQsSUFBTSxTQUFTLEdBQWMsRUFBRSxDQUFDOztRQUNoQyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBLGdCQUFBLDRCQUFFO1lBQWpELElBQU0sVUFBVSxXQUFBO1lBQ25CLElBQU0sbUJBQW1CLEdBQUcsVUFBVSxDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ3JELElBQ0UsbUJBQW1CLElBQUkseUJBQXlCLEtBQ2hELGlCQUFpQixhQUFqQixpQkFBaUIsdUJBQWpCLGlCQUFpQixDQUFFLEdBQUcsQ0FBQyxtQkFBbUIsRUFBQztnQkFDM0Msb0JBQW9CLENBQUMsSUFBSSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5QyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsbUJBQW1CLENBQUMsRUFDNUM7Z0JBQ0EsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsbUJBQW1CLENBQUMsQ0FBQyxFQUFFO29CQUN0RixTQUFTO2lCQUNWO2FBQ0Y7WUFFRCxTQUFTLENBQUMsbUJBQW1CLENBQUMsR0FBRyxPQUFPLENBQUMsVUFBVSxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztTQUNsRjs7Ozs7Ozs7O0lBRUQsT0FBTyxTQUFTLENBQUM7QUFDbkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEhlYWRlckJhZywgSHR0cFJlcXVlc3QgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQUxXQVlTX1VOU0lHTkFCTEVfSEVBREVSUywgUFJPWFlfSEVBREVSX1BBVFRFUk4sIFNFQ19IRUFERVJfUEFUVEVSTiB9IGZyb20gXCIuL2NvbnN0YW50c1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q2Fub25pY2FsSGVhZGVycyhcbiAgeyBoZWFkZXJzIH06IEh0dHBSZXF1ZXN0LFxuICB1bnNpZ25hYmxlSGVhZGVycz86IFNldDxzdHJpbmc+LFxuICBzaWduYWJsZUhlYWRlcnM/OiBTZXQ8c3RyaW5nPlxuKTogSGVhZGVyQmFnIHtcbiAgY29uc3QgY2Fub25pY2FsOiBIZWFkZXJCYWcgPSB7fTtcbiAgZm9yIChjb25zdCBoZWFkZXJOYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpLnNvcnQoKSkge1xuICAgIGNvbnN0IGNhbm9uaWNhbEhlYWRlck5hbWUgPSBoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKFxuICAgICAgY2Fub25pY2FsSGVhZGVyTmFtZSBpbiBBTFdBWVNfVU5TSUdOQUJMRV9IRUFERVJTIHx8XG4gICAgICB1bnNpZ25hYmxlSGVhZGVycz8uaGFzKGNhbm9uaWNhbEhlYWRlck5hbWUpIHx8XG4gICAgICBQUk9YWV9IRUFERVJfUEFUVEVSTi50ZXN0KGNhbm9uaWNhbEhlYWRlck5hbWUpIHx8XG4gICAgICBTRUNfSEVBREVSX1BBVFRFUk4udGVzdChjYW5vbmljYWxIZWFkZXJOYW1lKVxuICAgICkge1xuICAgICAgaWYgKCFzaWduYWJsZUhlYWRlcnMgfHwgKHNpZ25hYmxlSGVhZGVycyAmJiAhc2lnbmFibGVIZWFkZXJzLmhhcyhjYW5vbmljYWxIZWFkZXJOYW1lKSkpIHtcbiAgICAgICAgY29udGludWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgY2Fub25pY2FsW2Nhbm9uaWNhbEhlYWRlck5hbWVdID0gaGVhZGVyc1toZWFkZXJOYW1lXS50cmltKCkucmVwbGFjZSgvXFxzKy9nLCBcIiBcIik7XG4gIH1cblxuICByZXR1cm4gY2Fub25pY2FsO1xufVxuIl19","import { __awaiter, __generator, __values } from \"tslib\";\nimport { isArrayBuffer } from \"@aws-sdk/is-array-buffer\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { SHA256_HEADER, UNSIGNED_PAYLOAD } from \"./constants\";\n/**\n * @internal\n */\nexport function getPayloadHash(_a, hashConstructor) {\n var headers = _a.headers, body = _a.body;\n return __awaiter(this, void 0, void 0, function () {\n var _b, _c, headerName, hashCtor, _d;\n var e_1, _e;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0:\n try {\n for (_b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n headerName = _c.value;\n if (headerName.toLowerCase() === SHA256_HEADER) {\n return [2 /*return*/, headers[headerName]];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_e = _b.return)) _e.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n if (!(body == undefined)) return [3 /*break*/, 1];\n return [2 /*return*/, \"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855\"];\n case 1:\n if (!(typeof body === \"string\" || ArrayBuffer.isView(body) || isArrayBuffer(body))) return [3 /*break*/, 3];\n hashCtor = new hashConstructor();\n hashCtor.update(body);\n _d = toHex;\n return [4 /*yield*/, hashCtor.digest()];\n case 2: return [2 /*return*/, _d.apply(void 0, [_f.sent()])];\n case 3: \n // As any defined body that is not a string or binary data is a stream, this\n // body is unsignable. Attempt to send the request with an unsigned payload,\n // which may or may not be accepted by the service.\n return [2 /*return*/, UNSIGNED_PAYLOAD];\n }\n });\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0UGF5bG9hZEhhc2guanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2V0UGF5bG9hZEhhc2gudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUV6RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUU5RDs7R0FFRztBQUNILE1BQU0sVUFBZ0IsY0FBYyxDQUNsQyxFQUE4QixFQUM5QixlQUFnQztRQUQ5QixPQUFPLGFBQUEsRUFBRSxJQUFJLFVBQUE7Ozs7Ozs7O3dCQUdmLEtBQXlCLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBLDRDQUFFOzRCQUFwQyxVQUFVOzRCQUNuQixJQUFJLFVBQVUsQ0FBQyxXQUFXLEVBQUUsS0FBSyxhQUFhLEVBQUU7Z0NBQzlDLHNCQUFPLE9BQU8sQ0FBQyxVQUFVLENBQUMsRUFBQzs2QkFDNUI7eUJBQ0Y7Ozs7Ozs7Ozt5QkFFRyxDQUFBLElBQUksSUFBSSxTQUFTLENBQUEsRUFBakIsd0JBQWlCO29CQUNuQixzQkFBTyxrRUFBa0UsRUFBQzs7eUJBQ2pFLENBQUEsT0FBTyxJQUFJLEtBQUssUUFBUSxJQUFJLFdBQVcsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLElBQUksYUFBYSxDQUFDLElBQUksQ0FBQyxDQUFBLEVBQTNFLHdCQUEyRTtvQkFDOUUsUUFBUSxHQUFHLElBQUksZUFBZSxFQUFFLENBQUM7b0JBQ3ZDLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQ2YsS0FBQSxLQUFLLENBQUE7b0JBQUMscUJBQU0sUUFBUSxDQUFDLE1BQU0sRUFBRSxFQUFBO3dCQUFwQyxzQkFBTyxrQkFBTSxTQUF1QixFQUFDLEVBQUM7O2dCQUd4Qyw0RUFBNEU7Z0JBQzVFLDRFQUE0RTtnQkFDNUUsbURBQW1EO2dCQUNuRCxzQkFBTyxnQkFBZ0IsRUFBQzs7OztDQUN6QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGlzQXJyYXlCdWZmZXIgfSBmcm9tIFwiQGF3cy1zZGsvaXMtYXJyYXktYnVmZmVyXCI7XG5pbXBvcnQgeyBIYXNoQ29uc3RydWN0b3IsIEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5pbXBvcnQgeyBTSEEyNTZfSEVBREVSLCBVTlNJR05FRF9QQVlMT0FEIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBnZXRQYXlsb2FkSGFzaChcbiAgeyBoZWFkZXJzLCBib2R5IH06IEh0dHBSZXF1ZXN0LFxuICBoYXNoQ29uc3RydWN0b3I6IEhhc2hDb25zdHJ1Y3RvclxuKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgZm9yIChjb25zdCBoZWFkZXJOYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpKSB7XG4gICAgaWYgKGhlYWRlck5hbWUudG9Mb3dlckNhc2UoKSA9PT0gU0hBMjU2X0hFQURFUikge1xuICAgICAgcmV0dXJuIGhlYWRlcnNbaGVhZGVyTmFtZV07XG4gICAgfVxuICB9XG5cbiAgaWYgKGJvZHkgPT0gdW5kZWZpbmVkKSB7XG4gICAgcmV0dXJuIFwiZTNiMGM0NDI5OGZjMWMxNDlhZmJmNGM4OTk2ZmI5MjQyN2FlNDFlNDY0OWI5MzRjYTQ5NTk5MWI3ODUyYjg1NVwiO1xuICB9IGVsc2UgaWYgKHR5cGVvZiBib2R5ID09PSBcInN0cmluZ1wiIHx8IEFycmF5QnVmZmVyLmlzVmlldyhib2R5KSB8fCBpc0FycmF5QnVmZmVyKGJvZHkpKSB7XG4gICAgY29uc3QgaGFzaEN0b3IgPSBuZXcgaGFzaENvbnN0cnVjdG9yKCk7XG4gICAgaGFzaEN0b3IudXBkYXRlKGJvZHkpO1xuICAgIHJldHVybiB0b0hleChhd2FpdCBoYXNoQ3Rvci5kaWdlc3QoKSk7XG4gIH1cblxuICAvLyBBcyBhbnkgZGVmaW5lZCBib2R5IHRoYXQgaXMgbm90IGEgc3RyaW5nIG9yIGJpbmFyeSBkYXRhIGlzIGEgc3RyZWFtLCB0aGlzXG4gIC8vIGJvZHkgaXMgdW5zaWduYWJsZS4gQXR0ZW1wdCB0byBzZW5kIHRoZSByZXF1ZXN0IHdpdGggYW4gdW5zaWduZWQgcGF5bG9hZCxcbiAgLy8gd2hpY2ggbWF5IG9yIG1heSBub3QgYmUgYWNjZXB0ZWQgYnkgdGhlIHNlcnZpY2UuXG4gIHJldHVybiBVTlNJR05FRF9QQVlMT0FEO1xufVxuIl19","export var isArrayBuffer = function (arg) {\n return (typeof ArrayBuffer === \"function\" && arg instanceof ArrayBuffer) ||\n Object.prototype.toString.call(arg) === \"[object ArrayBuffer]\";\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLElBQU0sYUFBYSxHQUFHLFVBQUMsR0FBUTtJQUNwQyxPQUFBLENBQUMsT0FBTyxXQUFXLEtBQUssVUFBVSxJQUFJLEdBQUcsWUFBWSxXQUFXLENBQUM7UUFDakUsTUFBTSxDQUFDLFNBQVMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLHNCQUFzQjtBQUQ5RCxDQUM4RCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IGlzQXJyYXlCdWZmZXIgPSAoYXJnOiBhbnkpOiBhcmcgaXMgQXJyYXlCdWZmZXIgPT5cbiAgKHR5cGVvZiBBcnJheUJ1ZmZlciA9PT0gXCJmdW5jdGlvblwiICYmIGFyZyBpbnN0YW5jZW9mIEFycmF5QnVmZmVyKSB8fFxuICBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwoYXJnKSA9PT0gXCJbb2JqZWN0IEFycmF5QnVmZmVyXVwiO1xuIl19","import { __assign, __read, __rest, __spread } from \"tslib\";\n/**\n * @internal\n */\nexport function cloneRequest(_a) {\n var headers = _a.headers, query = _a.query, rest = __rest(_a, [\"headers\", \"query\"]);\n return __assign(__assign({}, rest), { headers: __assign({}, headers), query: query ? cloneQuery(query) : undefined });\n}\nfunction cloneQuery(query) {\n return Object.keys(query).reduce(function (carry, paramName) {\n var _a;\n var param = query[paramName];\n return __assign(__assign({}, carry), (_a = {}, _a[paramName] = Array.isArray(param) ? __spread(param) : param, _a));\n }, {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xvbmVSZXF1ZXN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Nsb25lUmVxdWVzdC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUE7O0dBRUc7QUFDSCxNQUFNLFVBQVUsWUFBWSxDQUFDLEVBQXdDO0lBQXRDLElBQUEsT0FBTyxhQUFBLEVBQUUsS0FBSyxXQUFBLEVBQUssSUFBSSxjQUF6QixvQkFBMkIsQ0FBRjtJQUNwRCw2QkFDSyxJQUFJLEtBQ1AsT0FBTyxlQUFPLE9BQU8sR0FDckIsS0FBSyxFQUFFLEtBQUssQ0FBQyxDQUFDLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxTQUFTLElBQzVDO0FBQ0osQ0FBQztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQXdCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxLQUF3QixFQUFFLFNBQWlCOztRQUMzRSxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsNkJBQ0ssS0FBSyxnQkFDUCxTQUFTLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQ3REO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0LCBRdWVyeVBhcmFtZXRlckJhZyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG4vKipcbiAqIEBpbnRlcm5hbFxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xvbmVSZXF1ZXN0KHsgaGVhZGVycywgcXVlcnksIC4uLnJlc3QgfTogSHR0cFJlcXVlc3QpOiBIdHRwUmVxdWVzdCB7XG4gIHJldHVybiB7XG4gICAgLi4ucmVzdCxcbiAgICBoZWFkZXJzOiB7IC4uLmhlYWRlcnMgfSxcbiAgICBxdWVyeTogcXVlcnkgPyBjbG9uZVF1ZXJ5KHF1ZXJ5KSA6IHVuZGVmaW5lZCxcbiAgfTtcbn1cblxuZnVuY3Rpb24gY2xvbmVRdWVyeShxdWVyeTogUXVlcnlQYXJhbWV0ZXJCYWcpOiBRdWVyeVBhcmFtZXRlckJhZyB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeSkucmVkdWNlKChjYXJyeTogUXVlcnlQYXJhbWV0ZXJCYWcsIHBhcmFtTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBxdWVyeVtwYXJhbU5hbWVdO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYXJyeSxcbiAgICAgIFtwYXJhbU5hbWVdOiBBcnJheS5pc0FycmF5KHBhcmFtKSA/IFsuLi5wYXJhbV0gOiBwYXJhbSxcbiAgICB9O1xuICB9LCB7fSk7XG59XG4iXX0=","import { __values } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\nimport { GENERATED_HEADERS } from \"./constants\";\n/**\n * @internal\n */\nexport function prepareRequest(request) {\n var e_1, _a;\n // Create a clone of the request object that does not clone the body\n request = typeof request.clone === \"function\" ? request.clone() : cloneRequest(request);\n try {\n for (var _b = __values(Object.keys(request.headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var headerName = _c.value;\n if (GENERATED_HEADERS.indexOf(headerName.toLowerCase()) > -1) {\n delete request.headers[headerName];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return request;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHJlcGFyZVJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcHJlcGFyZVJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUVBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFaEQ7O0dBRUc7QUFDSCxNQUFNLFVBQVUsY0FBYyxDQUFDLE9BQW9COztJQUNqRCxvRUFBb0U7SUFDcEUsT0FBTyxHQUFHLE9BQVEsT0FBZSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxDQUFDOztRQUUxRyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsQ0FBQSxnQkFBQSw0QkFBRTtZQUFsRCxJQUFNLFVBQVUsV0FBQTtZQUNuQixJQUFJLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxVQUFVLENBQUMsV0FBVyxFQUFFLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRTtnQkFDNUQsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7Ozs7Ozs7OztJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBjbG9uZVJlcXVlc3QgfSBmcm9tIFwiLi9jbG9uZVJlcXVlc3RcIjtcbmltcG9ydCB7IEdFTkVSQVRFRF9IRUFERVJTIH0gZnJvbSBcIi4vY29uc3RhbnRzXCI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcmVwYXJlUmVxdWVzdChyZXF1ZXN0OiBIdHRwUmVxdWVzdCk6IEh0dHBSZXF1ZXN0IHtcbiAgLy8gQ3JlYXRlIGEgY2xvbmUgb2YgdGhlIHJlcXVlc3Qgb2JqZWN0IHRoYXQgZG9lcyBub3QgY2xvbmUgdGhlIGJvZHlcbiAgcmVxdWVzdCA9IHR5cGVvZiAocmVxdWVzdCBhcyBhbnkpLmNsb25lID09PSBcImZ1bmN0aW9uXCIgPyAocmVxdWVzdCBhcyBhbnkpLmNsb25lKCkgOiBjbG9uZVJlcXVlc3QocmVxdWVzdCk7XG5cbiAgZm9yIChjb25zdCBoZWFkZXJOYW1lIG9mIE9iamVjdC5rZXlzKHJlcXVlc3QuaGVhZGVycykpIHtcbiAgICBpZiAoR0VORVJBVEVEX0hFQURFUlMuaW5kZXhPZihoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCkpID4gLTEpIHtcbiAgICAgIGRlbGV0ZSByZXF1ZXN0LmhlYWRlcnNbaGVhZGVyTmFtZV07XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHJlcXVlc3Q7XG59XG4iXX0=","export function iso8601(time) {\n return toDate(time)\n .toISOString()\n .replace(/\\.\\d{3}Z$/, \"Z\");\n}\nexport function toDate(time) {\n if (typeof time === \"number\") {\n return new Date(time * 1000);\n }\n if (typeof time === \"string\") {\n if (Number(time)) {\n return new Date(Number(time) * 1000);\n }\n return new Date(time);\n }\n return time;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbERhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbERhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxVQUFVLE9BQU8sQ0FBQyxJQUE0QjtJQUNsRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLENBQUM7U0FDaEIsV0FBVyxFQUFFO1NBQ2IsT0FBTyxDQUFDLFdBQVcsRUFBRSxHQUFHLENBQUMsQ0FBQztBQUMvQixDQUFDO0FBRUQsTUFBTSxVQUFVLE1BQU0sQ0FBQyxJQUE0QjtJQUNqRCxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsRUFBRTtRQUM1QixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsQ0FBQztLQUM5QjtJQUVELElBQUksT0FBTyxJQUFJLEtBQUssUUFBUSxFQUFFO1FBQzVCLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ2hCLE9BQU8sSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxDQUFDO1NBQ3RDO1FBQ0QsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztLQUN2QjtJQUVELE9BQU8sSUFBSSxDQUFDO0FBQ2QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBmdW5jdGlvbiBpc284NjAxKHRpbWU6IG51bWJlciB8IHN0cmluZyB8IERhdGUpOiBzdHJpbmcge1xuICByZXR1cm4gdG9EYXRlKHRpbWUpXG4gICAgLnRvSVNPU3RyaW5nKClcbiAgICAucmVwbGFjZSgvXFwuXFxkezN9WiQvLCBcIlpcIik7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b0RhdGUodGltZTogbnVtYmVyIHwgc3RyaW5nIHwgRGF0ZSk6IERhdGUge1xuICBpZiAodHlwZW9mIHRpbWUgPT09IFwibnVtYmVyXCIpIHtcbiAgICByZXR1cm4gbmV3IERhdGUodGltZSAqIDEwMDApO1xuICB9XG5cbiAgaWYgKHR5cGVvZiB0aW1lID09PSBcInN0cmluZ1wiKSB7XG4gICAgaWYgKE51bWJlcih0aW1lKSkge1xuICAgICAgcmV0dXJuIG5ldyBEYXRlKE51bWJlcih0aW1lKSAqIDEwMDApO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IERhdGUodGltZSk7XG4gIH1cblxuICByZXR1cm4gdGltZTtcbn1cbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { toHex } from \"@aws-sdk/util-hex-encoding\";\nimport { ALGORITHM_IDENTIFIER, ALGORITHM_QUERY_PARAM, AMZ_DATE_HEADER, AMZ_DATE_QUERY_PARAM, AUTH_HEADER, CREDENTIAL_QUERY_PARAM, EVENT_ALGORITHM_IDENTIFIER, EXPIRES_QUERY_PARAM, MAX_PRESIGNED_TTL, SHA256_HEADER, SIGNATURE_QUERY_PARAM, SIGNED_HEADERS_QUERY_PARAM, TOKEN_HEADER, TOKEN_QUERY_PARAM, } from \"./constants\";\nimport { createScope, getSigningKey } from \"./credentialDerivation\";\nimport { getCanonicalHeaders } from \"./getCanonicalHeaders\";\nimport { getCanonicalQuery } from \"./getCanonicalQuery\";\nimport { getPayloadHash } from \"./getPayloadHash\";\nimport { hasHeader } from \"./hasHeader\";\nimport { moveHeadersToQuery } from \"./moveHeadersToQuery\";\nimport { prepareRequest } from \"./prepareRequest\";\nimport { iso8601 } from \"./utilDate\";\nvar SignatureV4 = /** @class */ (function () {\n function SignatureV4(_a) {\n var applyChecksum = _a.applyChecksum, credentials = _a.credentials, region = _a.region, service = _a.service, sha256 = _a.sha256, _b = _a.uriEscapePath, uriEscapePath = _b === void 0 ? true : _b;\n this.service = service;\n this.sha256 = sha256;\n this.uriEscapePath = uriEscapePath;\n // default to true if applyChecksum isn't set\n this.applyChecksum = typeof applyChecksum === \"boolean\" ? applyChecksum : true;\n this.regionProvider = normalizeRegionProvider(region);\n this.credentialProvider = normalizeCredentialsProvider(credentials);\n }\n SignatureV4.prototype.presign = function (originalRequest, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, signingDate, _b, expiresIn, unsignableHeaders, unhoistableHeaders, signableHeaders, signingRegion, signingService, credentials, region, _c, _d, longDate, shortDate, scope, request, canonicalHeaders, _e, _f, _g, _h, _j, _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = options.signingDate, signingDate = _a === void 0 ? new Date() : _a, _b = options.expiresIn, expiresIn = _b === void 0 ? 3600 : _b, unsignableHeaders = options.unsignableHeaders, unhoistableHeaders = options.unhoistableHeaders, signableHeaders = options.signableHeaders, signingRegion = options.signingRegion, signingService = options.signingService;\n return [4 /*yield*/, this.credentialProvider()];\n case 1:\n credentials = _l.sent();\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2];\n _c = signingRegion;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.regionProvider()];\n case 3:\n _c = (_l.sent());\n _l.label = 4;\n case 4:\n region = _c;\n _d = formatDate(signingDate), longDate = _d.longDate, shortDate = _d.shortDate;\n if (expiresIn > MAX_PRESIGNED_TTL) {\n return [2 /*return*/, Promise.reject(\"Signature version 4 presigned URLs\" + \" must have an expiration date less than one week in\" + \" the future\")];\n }\n scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n request = moveHeadersToQuery(prepareRequest(originalRequest), { unhoistableHeaders: unhoistableHeaders });\n if (credentials.sessionToken) {\n request.query[TOKEN_QUERY_PARAM] = credentials.sessionToken;\n }\n request.query[ALGORITHM_QUERY_PARAM] = ALGORITHM_IDENTIFIER;\n request.query[CREDENTIAL_QUERY_PARAM] = credentials.accessKeyId + \"/\" + scope;\n request.query[AMZ_DATE_QUERY_PARAM] = longDate;\n request.query[EXPIRES_QUERY_PARAM] = expiresIn.toString(10);\n canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n request.query[SIGNED_HEADERS_QUERY_PARAM] = getCanonicalHeaderList(canonicalHeaders);\n _e = request.query;\n _f = SIGNATURE_QUERY_PARAM;\n _g = this.getSignature;\n _h = [longDate,\n scope,\n this.getSigningKey(credentials, region, shortDate, signingService)];\n _j = this.createCanonicalRequest;\n _k = [request, canonicalHeaders];\n return [4 /*yield*/, getPayloadHash(originalRequest, this.sha256)];\n case 5: return [4 /*yield*/, _g.apply(this, _h.concat([_j.apply(this, _k.concat([_l.sent()]))]))];\n case 6:\n _e[_f] = _l.sent();\n return [2 /*return*/, request];\n }\n });\n });\n };\n SignatureV4.prototype.sign = function (toSign, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (typeof toSign === \"string\") {\n return [2 /*return*/, this.signString(toSign, options)];\n }\n else if (toSign.headers && toSign.payload) {\n return [2 /*return*/, this.signEvent(toSign, options)];\n }\n else {\n return [2 /*return*/, this.signRequest(toSign, options)];\n }\n return [2 /*return*/];\n });\n });\n };\n SignatureV4.prototype.signEvent = function (_a, _b) {\n var headers = _a.headers, payload = _a.payload;\n var _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, priorSignature = _b.priorSignature, signingRegion = _b.signingRegion, signingService = _b.signingService;\n return __awaiter(this, void 0, void 0, function () {\n var region, _d, _e, shortDate, longDate, scope, hashedPayload, hash, hashedHeaders, _f, stringToSign;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 1];\n _d = signingRegion;\n return [3 /*break*/, 3];\n case 1: return [4 /*yield*/, this.regionProvider()];\n case 2:\n _d = (_g.sent());\n _g.label = 3;\n case 3:\n region = _d;\n _e = formatDate(signingDate), shortDate = _e.shortDate, longDate = _e.longDate;\n scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n return [4 /*yield*/, getPayloadHash({ headers: {}, body: payload }, this.sha256)];\n case 4:\n hashedPayload = _g.sent();\n hash = new this.sha256();\n hash.update(headers);\n _f = toHex;\n return [4 /*yield*/, hash.digest()];\n case 5:\n hashedHeaders = _f.apply(void 0, [_g.sent()]);\n stringToSign = [\n EVENT_ALGORITHM_IDENTIFIER,\n longDate,\n scope,\n priorSignature,\n hashedHeaders,\n hashedPayload,\n ].join(\"\\n\");\n return [2 /*return*/, this.signString(stringToSign, { signingDate: signingDate, signingRegion: region, signingService: signingService })];\n }\n });\n });\n };\n SignatureV4.prototype.signString = function (stringToSign, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signingRegion = _b.signingRegion, signingService = _b.signingService;\n return __awaiter(this, void 0, void 0, function () {\n var credentials, region, _d, shortDate, hash, _e, _f, _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0: return [4 /*yield*/, this.credentialProvider()];\n case 1:\n credentials = _h.sent();\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2];\n _d = signingRegion;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.regionProvider()];\n case 3:\n _d = (_h.sent());\n _h.label = 4;\n case 4:\n region = _d;\n shortDate = formatDate(signingDate).shortDate;\n _f = (_e = this.sha256).bind;\n return [4 /*yield*/, this.getSigningKey(credentials, region, shortDate, signingService)];\n case 5:\n hash = new (_f.apply(_e, [void 0, _h.sent()]))();\n hash.update(stringToSign);\n _g = toHex;\n return [4 /*yield*/, hash.digest()];\n case 6: return [2 /*return*/, _g.apply(void 0, [_h.sent()])];\n }\n });\n });\n };\n SignatureV4.prototype.signRequest = function (requestToSign, _a) {\n var _b = _a === void 0 ? {} : _a, _c = _b.signingDate, signingDate = _c === void 0 ? new Date() : _c, signableHeaders = _b.signableHeaders, unsignableHeaders = _b.unsignableHeaders, signingRegion = _b.signingRegion, signingService = _b.signingService;\n return __awaiter(this, void 0, void 0, function () {\n var credentials, region, _d, request, _e, longDate, shortDate, scope, payloadHash, canonicalHeaders, signature;\n return __generator(this, function (_f) {\n switch (_f.label) {\n case 0: return [4 /*yield*/, this.credentialProvider()];\n case 1:\n credentials = _f.sent();\n if (!(signingRegion !== null && signingRegion !== void 0)) return [3 /*break*/, 2];\n _d = signingRegion;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, this.regionProvider()];\n case 3:\n _d = (_f.sent());\n _f.label = 4;\n case 4:\n region = _d;\n request = prepareRequest(requestToSign);\n _e = formatDate(signingDate), longDate = _e.longDate, shortDate = _e.shortDate;\n scope = createScope(shortDate, region, signingService !== null && signingService !== void 0 ? signingService : this.service);\n request.headers[AMZ_DATE_HEADER] = longDate;\n if (credentials.sessionToken) {\n request.headers[TOKEN_HEADER] = credentials.sessionToken;\n }\n return [4 /*yield*/, getPayloadHash(request, this.sha256)];\n case 5:\n payloadHash = _f.sent();\n if (!hasHeader(SHA256_HEADER, request.headers) && this.applyChecksum) {\n request.headers[SHA256_HEADER] = payloadHash;\n }\n canonicalHeaders = getCanonicalHeaders(request, unsignableHeaders, signableHeaders);\n return [4 /*yield*/, this.getSignature(longDate, scope, this.getSigningKey(credentials, region, shortDate, signingService), this.createCanonicalRequest(request, canonicalHeaders, payloadHash))];\n case 6:\n signature = _f.sent();\n request.headers[AUTH_HEADER] =\n ALGORITHM_IDENTIFIER + \" \" +\n (\"Credential=\" + credentials.accessKeyId + \"/\" + scope + \", \") +\n (\"SignedHeaders=\" + getCanonicalHeaderList(canonicalHeaders) + \", \") +\n (\"Signature=\" + signature);\n return [2 /*return*/, request];\n }\n });\n });\n };\n SignatureV4.prototype.createCanonicalRequest = function (request, canonicalHeaders, payloadHash) {\n var sortedHeaders = Object.keys(canonicalHeaders).sort();\n return request.method + \"\\n\" + this.getCanonicalPath(request) + \"\\n\" + getCanonicalQuery(request) + \"\\n\" + sortedHeaders.map(function (name) { return name + \":\" + canonicalHeaders[name]; }).join(\"\\n\") + \"\\n\\n\" + sortedHeaders.join(\";\") + \"\\n\" + payloadHash;\n };\n SignatureV4.prototype.createStringToSign = function (longDate, credentialScope, canonicalRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var hash, hashedRequest;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n hash = new this.sha256();\n hash.update(canonicalRequest);\n return [4 /*yield*/, hash.digest()];\n case 1:\n hashedRequest = _a.sent();\n return [2 /*return*/, ALGORITHM_IDENTIFIER + \"\\n\" + longDate + \"\\n\" + credentialScope + \"\\n\" + toHex(hashedRequest)];\n }\n });\n });\n };\n SignatureV4.prototype.getCanonicalPath = function (_a) {\n var path = _a.path;\n if (this.uriEscapePath) {\n var doubleEncoded = encodeURIComponent(path.replace(/^\\//, \"\"));\n return \"/\" + doubleEncoded.replace(/%2F/g, \"/\");\n }\n return path;\n };\n SignatureV4.prototype.getSignature = function (longDate, credentialScope, keyPromise, canonicalRequest) {\n return __awaiter(this, void 0, void 0, function () {\n var stringToSign, hash, _a, _b, _c;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0: return [4 /*yield*/, this.createStringToSign(longDate, credentialScope, canonicalRequest)];\n case 1:\n stringToSign = _d.sent();\n _b = (_a = this.sha256).bind;\n return [4 /*yield*/, keyPromise];\n case 2:\n hash = new (_b.apply(_a, [void 0, _d.sent()]))();\n hash.update(stringToSign);\n _c = toHex;\n return [4 /*yield*/, hash.digest()];\n case 3: return [2 /*return*/, _c.apply(void 0, [_d.sent()])];\n }\n });\n });\n };\n SignatureV4.prototype.getSigningKey = function (credentials, region, shortDate, service) {\n return getSigningKey(this.sha256, credentials, shortDate, region, service || this.service);\n };\n return SignatureV4;\n}());\nexport { SignatureV4 };\nvar formatDate = function (now) {\n var longDate = iso8601(now).replace(/[\\-:]/g, \"\");\n return {\n longDate: longDate,\n shortDate: longDate.substr(0, 8),\n };\n};\nvar getCanonicalHeaderList = function (headers) { return Object.keys(headers).sort().join(\";\"); };\nvar normalizeRegionProvider = function (region) {\n if (typeof region === \"string\") {\n var promisified_1 = Promise.resolve(region);\n return function () { return promisified_1; };\n }\n else {\n return region;\n }\n};\nvar normalizeCredentialsProvider = function (credentials) {\n if (typeof credentials === \"object\") {\n var promisified_2 = Promise.resolve(credentials);\n return function () { return promisified_2; };\n }\n else {\n return credentials;\n }\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiU2lnbmF0dXJlVjQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvU2lnbmF0dXJlVjQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWlCQSxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFFbkQsT0FBTyxFQUNMLG9CQUFvQixFQUNwQixxQkFBcUIsRUFDckIsZUFBZSxFQUNmLG9CQUFvQixFQUNwQixXQUFXLEVBQ1gsc0JBQXNCLEVBQ3RCLDBCQUEwQixFQUMxQixtQkFBbUIsRUFDbkIsaUJBQWlCLEVBQ2pCLGFBQWEsRUFDYixxQkFBcUIsRUFDckIsMEJBQTBCLEVBQzFCLFlBQVksRUFDWixpQkFBaUIsR0FDbEIsTUFBTSxhQUFhLENBQUM7QUFDckIsT0FBTyxFQUFFLFdBQVcsRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUNwRSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUM1RCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN4RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN4QyxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sa0JBQWtCLENBQUM7QUFDbEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFlBQVksQ0FBQztBQWtEckM7SUFRRSxxQkFBWSxFQU84QjtZQU54QyxhQUFhLG1CQUFBLEVBQ2IsV0FBVyxpQkFBQSxFQUNYLE1BQU0sWUFBQSxFQUNOLE9BQU8sYUFBQSxFQUNQLE1BQU0sWUFBQSxFQUNOLHFCQUFvQixFQUFwQixhQUFhLG1CQUFHLElBQUksS0FBQTtRQUVwQixJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQztRQUN2QixJ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YztJQUNoQyxJQUFNLFFBQVEsR0FBRyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUNwRCxPQUFPO1FBQ0wsUUFBUSxVQUFBO1FBQ1IsU0FBUyxFQUFFLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztLQUNqQyxDQUFDO0FBQ0osQ0FBQyxDQUFDO0FBRUYsSUFBTSxzQkFBc0IsR0FBRyxVQUFDLE9BQWUsSUFBYSxPQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFyQyxDQUFxQyxDQUFDO0FBRWxHLElBQU0sdUJBQXVCLEdBQUcsVUFBQyxNQUFpQztJQUNoRSxJQUFJLE9BQU8sTUFBTSxLQUFLLFFBQVEsRUFBRTtRQUM5QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7U0FBTTtRQUNMLE9BQU8sTUFBTSxDQUFDO0tBQ2Y7QUFDSCxDQUFDLENBQUM7QUFFRixJQUFNLDRCQUE0QixHQUFHLFVBQUMsV0FBZ0Q7SUFDcEYsSUFBSSxPQUFPLFdBQVcsS0FBSyxRQUFRLEVBQUU7UUFDbkMsSUFBTSxhQUFXLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUNqRCxPQUFPLGNBQU0sT0FBQSxhQUFXLEVBQVgsQ0FBVyxDQUFDO0tBQzFCO1NBQU07UUFDTCxPQUFPLFdBQVcsQ0FBQztLQUNwQjtBQUNILENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIENyZWRlbnRpYWxzLFxuICBEYXRlSW5wdXQsXG4gIEV2ZW50U2lnbmVyLFxuICBFdmVudFNpZ25pbmdBcmd1bWVudHMsXG4gIEZvcm1hdHRlZEV2ZW50LFxuICBIYXNoQ29uc3RydWN0b3IsXG4gIEhlYWRlckJhZyxcbiAgSHR0cFJlcXVlc3QsXG4gIFByb3ZpZGVyLFxuICBSZXF1ZXN0UHJlc2lnbmVyLFxuICBSZXF1ZXN0UHJlc2lnbmluZ0FyZ3VtZW50cyxcbiAgUmVxdWVzdFNpZ25lcixcbiAgUmVxdWVzdFNpZ25pbmdBcmd1bWVudHMsXG4gIFNpZ25pbmdBcmd1bWVudHMsXG4gIFN0cmluZ1NpZ25lcixcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyB0b0hleCB9IGZyb20gXCJAYXdzLXNkay91dGlsLWhleC1lbmNvZGluZ1wiO1xuXG5pbXBvcnQge1xuICBBTEdPUklUSE1fSURFTlRJRklFUixcbiAgQUxHT1JJVEhNX1FVRVJZX1BBUkFNLFxuICBBTVpfREFURV9IRUFERVIsXG4gIEFNWl9EQVRFX1FVRVJZX1BBUkFNLFxuICBBVVRIX0hFQURFUixcbiAgQ1JFREVOVElBTF9RVUVSWV9QQVJBTSxcbiAgRVZFTlRfQUxHT1JJVEhNX0lERU5USUZJRVIsXG4gIEVYUElSRVNfUVVFUllfUEFSQU0sXG4gIE1BWF9QUkVTSUdORURfVFRMLFxuICBTSEEyNTZfSEVBREVSLFxuICBTSUdOQVRVUkVfUVVFUllfUEFSQU0sXG4gIFNJR05FRF9IRUFERVJTX1FVRVJZX1BBUkFNLFxuICBUT0tFTl9IRUFERVIsXG4gIFRPS0VOX1FVRVJZX1BBUkFNLFxufSBmcm9tIFwiLi9jb25zdGFudHNcIjtcbmltcG9ydCB7IGNyZWF0ZVNjb3BlLCBnZXRTaWduaW5nS2V5IH0gZnJvbSBcIi4vY3JlZGVudGlhbERlcml2YXRpb25cIjtcbmltcG9ydCB7IGdldENhbm9uaWNhbEhlYWRlcnMgfSBmcm9tIFwiLi9nZXRDYW5vbmljYWxIZWFkZXJzXCI7XG5pbXBvcnQgeyBnZXRDYW5vbmljYWxRdWVyeSB9IGZyb20gXCIuL2dldENhbm9uaWNhbFF1ZXJ5XCI7XG5pbXBvcnQgeyBnZXRQYXlsb2FkSGFzaCB9IGZyb20gXCIuL2dldFBheWxvYWRIYXNoXCI7XG5pbXBvcnQgeyBoYXNIZWFkZXIgfSBmcm9tIFwiLi9oYXNIZWFkZXJcIjtcbmltcG9ydCB7IG1vdmVIZWFkZXJzVG9RdWVyeSB9IGZyb20gXCIuL21vdmVIZWFkZXJzVG9RdWVyeVwiO1xuaW1wb3J0IHsgcHJlcGFyZVJlcXVlc3QgfSBmcm9tIFwiLi9wcmVwYXJlUmVxdWVzdFwiO1xuaW1wb3J0IHsgaXNvODYwMSB9IGZyb20gXCIuL3V0aWxEYXRlXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlVjRJbml0IHtcbiAgLyoqXG4gICAqIFRoZSBzZXJ2aWNlIHNpZ25pbmcgbmFtZS5cbiAgICovXG4gIHNlcnZpY2U6IHN0cmluZztcblxuICAvKipcbiAgICogVGhlIHJlZ2lvbiBuYW1lIG9yIGEgZnVuY3Rpb24gdGhhdCByZXR1cm5zIGEgcHJvbWlzZSB0aGF0IHdpbGwgYmVcbiAgICogcmVzb2x2ZWQgd2l0aCB0aGUgcmVnaW9uIG5hbWUuXG4gICAqL1xuICByZWdpb246IHN0cmluZyB8IFByb3ZpZGVyPHN0cmluZz47XG5cbiAgLyoqXG4gICAqIFRoZSBjcmVkZW50aWFscyB3aXRoIHdoaWNoIHRoZSByZXF1ZXN0IHNob3VsZCBiZSBzaWduZWQgb3IgYSBmdW5jdGlvblxuICAgKiB0aGF0IHJldHVybnMgYSBwcm9taXNlIHRoYXQgd2lsbCBiZSByZXNvbHZlZCB3aXRoIGNyZWRlbnRpYWxzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM6IENyZWRlbnRpYWxzIHwgUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuXG4gIC8qKlxuICAgKiBBIGNvbnN0cnVjdG9yIGZ1bmN0aW9uIGZvciBhIGhhc2ggb2JqZWN0IHRoYXQgd2lsbCBjYWxjdWxhdGUgU0hBLTI1NiBITUFDXG4gICAqIGNoZWNrc3Vtcy5cbiAgICovXG4gIHNoYTI1Nj86IEhhc2hDb25zdHJ1Y3RvcjtcblxuICAvKipcbiAgICogV2hldGhlciB0byB1cmktZXNjYXBlIHRoZSByZXF1ZXN0IFVSSSBwYXRoIGFzIHBhcnQgb2YgY29tcHV0aW5nIHRoZVxuICAgKiBjYW5vbmljYWwgcmVxdWVzdCBzdHJpbmcuIFRoaXMgaXMgcmVxdWlyZWQgZm9yIGV2ZXJ5IEFXUyBzZXJ2aWNlLCBleGNlcHRcbiAgICogQW1hem9uIFMzLCBhcyBvZiBsYXRlIDIwMTcuXG4gICAqXG4gICAqIEBkZWZhdWx0IFt0cnVlXVxuICAgKi9cbiAgdXJpRXNjYXBlUGF0aD86IGJvb2xlYW47XG5cbiAgLyoqXG4gICAqIFdoZXRoZXIgdG8gY2FsY3VsYXRlIGEgY2hlY2tzdW0gb2YgdGhlIHJlcXVlc3QgYm9keSBhbmQgaW5jbHVkZSBpdCBhc1xuICAgKiBlaXRoZXIgYSByZXF1ZXN0IGhlYWRlciAod2hlbiBzaWduaW5nKSBvciBhcyBhIHF1ZXJ5IHN0cmluZyBwYXJhbWV0ZXJcbiAgICogKHdoZW4gcHJlc2lnbmluZykuIFRoaXMgaXMgcmVxdWlyZWQgZm9yIEFXUyBHbGFjaWVyIGFuZCBBbWF6b24gUzMgYW5kIG9wdGlvbmFsIGZvclxuICAgKiBldmVyeSBvdGhlciBBV1Mgc2VydmljZSBhcyBvZiBsYXRlIDIwMTcuXG4gICAqXG4gICAqIEBkZWZhdWx0IFt0cnVlXVxuICAgKi9cbiAgYXBwbHlDaGVja3N1bT86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmF0dXJlVjRDcnlwdG9Jbml0IHtcbiAgc2hhMjU2OiBIYXNoQ29uc3RydWN0b3I7XG59XG5cbmV4cG9ydCBjbGFzcyBTaWduYXR1cmVWNCBpbXBsZW1lbnRzIFJlcXVlc3RQcmVzaWduZXIsIFJlcXVlc3RTaWduZXIsIFN0cmluZ1NpZ25lciwgRXZlbnRTaWduZXIge1xuICBwcml2YXRlIHJlYWRvbmx5IHNlcnZpY2U6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSByZWdpb25Qcm92aWRlcjogUHJvdmlkZXI8c3RyaW5nPjtcbiAgcHJpdmF0ZSByZWFkb25seSBjcmVkZW50aWFsUHJvdmlkZXI6IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcbiAgcHJpdmF0ZSByZWFkb25seSBzaGEyNTY6IEhhc2hDb25zdHJ1Y3RvcjtcbiAgcHJpdmF0ZSByZWFkb25seSB1cmlFc2NhcGVQYXRoOiBib29sZWFuO1xuICBwcml2YXRlIHJlYWRvbmx5IGFwcGx5Q2hlY2tzdW06IGJvb2xlYW47XG5cbiAgY29uc3RydWN0b3Ioe1xuICAgIGFwcGx5Q2hlY2tzdW0sXG4gICAgY3JlZGVudGlhbHMsXG4gICAgcmVnaW9uLFxuICAgIHNlcnZpY2UsXG4gICAgc2hhMjU2LFxuICAgIHVyaUVzY2FwZVBhdGggPSB0cnVlLFxuICB9OiBTaWduYXR1cmVWNEluaXQgJiBTaWduYXR1cmVWNENyeXB0b0luaXQpIHtcbiAgICB0aGlzLnNlcnZpY2UgPSBzZXJ2aWNlO1xuICAgIHRoaXMuc2hhMjU2ID0gc2hhMjU2O1xuICAgIHRoaXMudXJpRXNjYXBlUGF0aCA9IHVyaUVzY2FwZVBhdGg7XG4gICAgLy8gZGVmYXVsdCB0byB0cnVlIGlmIGFwcGx5Q2hlY2tzdW0gaXNuJ3Qgc2V0XG4gICAgdGhpcy5hcHBseUNoZWNrc3VtID0gdHlwZW9mIGFwcGx5Q2hlY2tzdW0gPT09IFwiYm9vbGVhblwiID8gYXBwbHlDaGVja3N1bSA6IHRydWU7XG4gICAgdGhpcy5yZWdpb25Qcm92aWRlciA9IG5vcm1hbGl6ZVJlZ2lvblByb3ZpZGVyKHJlZ2lvbik7XG4gICAgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIgPSBub3JtYWxpemVDcmVkZW50aWFsc1Byb3ZpZGVyKGNyZWRlbnRpYWxzKTtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBwcmVzaWduKG9yaWdpbmFsUmVxdWVzdDogSHR0cFJlcXVlc3QsIG9wdGlvbnM6IFJlcXVlc3RQcmVzaWduaW5nQXJndW1lbnRzID0ge30pOiBQcm9taXNlPEh0dHBSZXF1ZXN0PiB7XG4gICAgY29uc3Qge1xuICAgICAgc2lnbmluZ0RhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgZXhwaXJlc0luID0gMzYwMCxcbiAgICAgIHVuc2lnbmFibGVIZWFkZXJzLFxuICAgICAgdW5ob2lzdGFibGVIZWFkZXJzLFxuICAgICAgc2lnbmFibGVIZWFkZXJzLFxuICAgICAgc2lnbmluZ1JlZ2lvbixcbiAgICAgIHNpZ25pbmdTZXJ2aWNlLFxuICAgIH0gPSBvcHRpb25zO1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIoKTtcbiAgICBjb25zdCByZWdpb24gPSBzaWduaW5nUmVnaW9uID8/IChhd2FpdCB0aGlzLnJlZ2lvblByb3ZpZGVyKCkpO1xuXG4gICAgY29uc3QgeyBsb25nRGF0ZSwgc2hvcnREYXRlIH0gPSBmb3JtYXREYXRlKHNpZ25pbmdEYXRlKTtcbiAgICBpZiAoZXhwaXJlc0luID4gTUFYX1BSRVNJR05FRF9UVEwpIHtcbiAgICAgIHJldHVybiBQcm9taXNlLnJlamVjdChcbiAgICAgICAgXCJTaWduYXR1cmUgdmVyc2lvbiA0IHByZXNpZ25lZCBVUkxzXCIgKyBcIiBtdXN0IGhhdmUgYW4gZXhwaXJhdGlvbiBkYXRlIGxlc3MgdGhhbiBvbmUgd2VlayBpblwiICsgXCIgdGhlIGZ1dHVyZVwiXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHNjb3BlID0gY3JlYXRlU2NvcGUoc2hvcnREYXRlLCByZWdpb24sIHNpZ25pbmdTZXJ2aWNlID8/IHRoaXMuc2VydmljZSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IG1vdmVIZWFkZXJzVG9RdWVyeShwcmVwYXJlUmVxdWVzdChvcmlnaW5hbFJlcXVlc3QpLCB7IHVuaG9pc3RhYmxlSGVhZGVycyB9KTtcblxuICAgIGlmIChjcmVkZW50aWFscy5zZXNzaW9uVG9rZW4pIHtcbiAgICAgIHJlcXVlc3QucXVlcnlbVE9LRU5fUVVFUllfUEFSQU1dID0gY3JlZGVudGlhbHMuc2Vzc2lvblRva2VuO1xuICAgIH1cbiAgICByZXF1ZXN0LnF1ZXJ5W0FMR09SSVRITV9RVUVSWV9QQVJBTV0gPSBBTEdPUklUSE1fSURFTlRJRklFUjtcbiAgICByZXF1ZXN0LnF1ZXJ5W0NSRURFTlRJQUxfUVVFUllfUEFSQU1dID0gYCR7Y3JlZGVudGlhbHMuYWNjZXNzS2V5SWR9LyR7c2NvcGV9YDtcbiAgICByZXF1ZXN0LnF1ZXJ5W0FNWl9EQVRFX1FVRVJZX1BBUkFNXSA9IGxvbmdEYXRlO1xuICAgIHJlcXVlc3QucXVlcnlbRVhQSVJFU19RVUVSWV9QQVJBTV0gPSBleHBpcmVzSW4udG9TdHJpbmcoMTApO1xuXG4gICAgY29uc3QgY2Fub25pY2FsSGVhZGVycyA9IGdldENhbm9uaWNhbEhlYWRlcnMocmVxdWVzdCwgdW5zaWduYWJsZUhlYWRlcnMsIHNpZ25hYmxlSGVhZGVycyk7XG4gICAgcmVxdWVzdC5xdWVyeVtTSUdORURfSEVBREVSU19RVUVSWV9QQVJBTV0gPSBnZXRDYW5vbmljYWxIZWFkZXJMaXN0KGNhbm9uaWNhbEhlYWRlcnMpO1xuXG4gICAgcmVxdWVzdC5xdWVyeVtTSUdOQVRVUkVfUVVFUllfUEFSQU1dID0gYXdhaXQgdGhpcy5nZXRTaWduYXR1cmUoXG4gICAgICBsb25nRGF0ZSxcbiAgICAgIHNjb3BlLFxuICAgICAgdGhpcy5nZXRTaWduaW5nS2V5KGNyZWRlbnRpYWxzLCByZWdpb24sIHNob3J0RGF0ZSwgc2lnbmluZ1NlcnZpY2UpLFxuICAgICAgdGhpcy5jcmVhdGVDYW5vbmljYWxSZXF1ZXN0KHJlcXVlc3QsIGNhbm9uaWNhbEhlYWRlcnMsIGF3YWl0IGdldFBheWxvYWRIYXNoKG9yaWdpbmFsUmVxdWVzdCwgdGhpcy5zaGEyNTYpKVxuICAgICk7XG5cbiAgICByZXR1cm4gcmVxdWVzdDtcbiAgfVxuXG4gIHB1YmxpYyBhc3luYyBzaWduKHN0cmluZ1RvU2lnbjogc3RyaW5nLCBvcHRpb25zPzogU2lnbmluZ0FyZ3VtZW50cyk6IFByb21pc2U8c3RyaW5nPjtcbiAgcHVibGljIGFzeW5jIHNpZ24oZXZlbnQ6IEZvcm1hdHRlZEV2ZW50LCBvcHRpb25zOiBFdmVudFNpZ25pbmdBcmd1bWVudHMpOiBQcm9taXNlPHN0cmluZz47XG4gIHB1YmxpYyBhc3luYyBzaWduKHJlcXVlc3RUb1NpZ246IEh0dHBSZXF1ZXN0LCBvcHRpb25zPzogUmVxdWVzdFNpZ25pbmdBcmd1bWVudHMpOiBQcm9taXNlPEh0dHBSZXF1ZXN0PjtcbiAgcHVibGljIGFzeW5jIHNpZ24odG9TaWduOiBhbnksIG9wdGlvbnM6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgaWYgKHR5cGVvZiB0b1NpZ24gPT09IFwic3RyaW5nXCIpIHtcbiAgICAgIHJldHVybiB0aGlzLnNpZ25TdHJpbmcodG9TaWduLCBvcHRpb25zKTtcbiAgICB9IGVsc2UgaWYgKHRvU2lnbi5oZWFkZXJzICYmIHRvU2lnbi5wYXlsb2FkKSB7XG4gICAgICByZXR1cm4gdGhpcy5zaWduRXZlbnQodG9TaWduLCBvcHRpb25zKTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHRoaXMuc2lnblJlcXVlc3QodG9TaWduLCBvcHRpb25zKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNpZ25FdmVudChcbiAgICB7IGhlYWRlcnMsIHBheWxvYWQgfTogRm9ybWF0dGVkRXZlbnQsXG4gICAgeyBzaWduaW5nRGF0ZSA9IG5ldyBEYXRlKCksIHByaW9yU2lnbmF0dXJlLCBzaWduaW5nUmVnaW9uLCBzaWduaW5nU2VydmljZSB9OiBFdmVudFNpZ25pbmdBcmd1bWVudHNcbiAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICBjb25zdCByZWdpb24gPSBzaWduaW5nUmVnaW9uID8/IChhd2FpdCB0aGlzLnJlZ2lvblByb3ZpZGVyKCkpO1xuICAgIGNvbnN0IHsgc2hvcnREYXRlLCBsb25nRGF0ZSB9ID0gZm9ybWF0RGF0ZShzaWduaW5nRGF0ZSk7XG4gICAgY29uc3Qgc2NvcGUgPSBjcmVhdGVTY29wZShzaG9ydERhdGUsIHJlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgPz8gdGhpcy5zZXJ2aWNlKTtcbiAgICBjb25zdCBoYXNoZWRQYXlsb2FkID0gYXdhaXQgZ2V0UGF5bG9hZEhhc2goeyBoZWFkZXJzOiB7fSwgYm9keTogcGF5bG9hZCB9IGFzIGFueSwgdGhpcy5zaGEyNTYpO1xuICAgIGNvbnN0IGhhc2ggPSBuZXcgdGhpcy5zaGEyNTYoKTtcbiAgICBoYXNoLnVwZGF0ZShoZWFkZXJzKTtcbiAgICBjb25zdCBoYXNoZWRIZWFkZXJzID0gdG9IZXgoYXdhaXQgaGFzaC5kaWdlc3QoKSk7XG4gICAgY29uc3Qgc3RyaW5nVG9TaWduID0gW1xuICAgICAgRVZFTlRfQUxHT1JJVEhNX0lERU5USUZJRVIsXG4gICAgICBsb25nRGF0ZSxcbiAgICAgIHNjb3BlLFxuICAgICAgcHJpb3JTaWduYXR1cmUsXG4gICAgICBoYXNoZWRIZWFkZXJzLFxuICAgICAgaGFzaGVkUGF5bG9hZCxcbiAgICBdLmpvaW4oXCJcXG5cIik7XG4gICAgcmV0dXJuIHRoaXMuc2lnblN0cmluZyhzdHJpbmdUb1NpZ24sIHsgc2lnbmluZ0RhdGUsIHNpZ25pbmdSZWdpb246IHJlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgfSk7XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIHNpZ25TdHJpbmcoXG4gICAgc3RyaW5nVG9TaWduOiBzdHJpbmcsXG4gICAgeyBzaWduaW5nRGF0ZSA9IG5ldyBEYXRlKCksIHNpZ25pbmdSZWdpb24sIHNpZ25pbmdTZXJ2aWNlIH06IFNpZ25pbmdBcmd1bWVudHMgPSB7fVxuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IGNyZWRlbnRpYWxzID0gYXdhaXQgdGhpcy5jcmVkZW50aWFsUHJvdmlkZXIoKTtcbiAgICBjb25zdCByZWdpb24gPSBzaWduaW5nUmVnaW9uID8/IChhd2FpdCB0aGlzLnJlZ2lvblByb3ZpZGVyKCkpO1xuICAgIGNvbnN0IHsgc2hvcnREYXRlIH0gPSBmb3JtYXREYXRlKHNpZ25pbmdEYXRlKTtcblxuICAgIGNvbnN0IGhhc2ggPSBuZXcgdGhpcy5zaGEyNTYoYXdhaXQgdGhpcy5nZXRTaWduaW5nS2V5KGNyZWRlbnRpYWxzLCByZWdpb24sIHNob3J0RGF0ZSwgc2lnbmluZ1NlcnZpY2UpKTtcbiAgICBoYXNoLnVwZGF0ZShzdHJpbmdUb1NpZ24pO1xuICAgIHJldHVybiB0b0hleChhd2FpdCBoYXNoLmRpZ2VzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgc2lnblJlcXVlc3QoXG4gICAgcmVxdWVzdFRvU2lnbjogSHR0cFJlcXVlc3QsXG4gICAge1xuICAgICAgc2lnbmluZ0RhdGUgPSBuZXcgRGF0ZSgpLFxuICAgICAgc2lnbmFibGVIZWFkZXJzLFxuICAgICAgdW5zaWduYWJsZUhlYWRlcnMsXG4gICAgICBzaWduaW5nUmVnaW9uLFxuICAgICAgc2lnbmluZ1NlcnZpY2UsXG4gICAgfTogUmVxdWVzdFNpZ25pbmdBcmd1bWVudHMgPSB7fVxuICApOiBQcm9taXNlPEh0dHBSZXF1ZXN0PiB7XG4gICAgY29uc3QgY3JlZGVudGlhbHMgPSBhd2FpdCB0aGlzLmNyZWRlbnRpYWxQcm92aWRlcigpO1xuICAgIGNvbnN0IHJlZ2lvbiA9IHNpZ25pbmdSZWdpb24gPz8gKGF3YWl0IHRoaXMucmVnaW9uUHJvdmlkZXIoKSk7XG4gICAgY29uc3QgcmVxdWVzdCA9IHByZXBhcmVSZXF1ZXN0KHJlcXVlc3RUb1NpZ24pO1xuICAgIGNvbnN0IHsgbG9uZ0RhdGUsIHNob3J0RGF0ZSB9ID0gZm9ybWF0RGF0ZShzaWduaW5nRGF0ZSk7XG4gICAgY29uc3Qgc2NvcGUgPSBjcmVhdGVTY29wZShzaG9ydERhdGUsIHJlZ2lvbiwgc2lnbmluZ1NlcnZpY2UgPz8gdGhpcy5zZXJ2aWNlKTtcblxuICAgIHJlcXVlc3QuaGVhZGVyc1tBTVpfREFURV9IRUFERVJdID0gbG9uZ0RhdGU7XG4gICAgaWYgKGNyZWRlbnRpYWxzLnNlc3Npb25Ub2tlbikge1xuICAgICAgcmVxdWVzdC5oZWFkZXJzW1RPS0VOX0hFQURFUl0gPSBjcmVkZW50aWFscy5zZXNzaW9uVG9rZW47XG4gICAgfVxuXG4gICAgY29uc3QgcGF5bG9hZEhhc2ggPSBhd2FpdCBnZXRQYXlsb2FkSGFzaChyZXF1ZXN0LCB0aGlzLnNoYTI1Nik7XG4gICAgaWYgKCFoYXNIZWFkZXIoU0hBMjU2X0hFQURFUiwgcmVxdWVzdC5oZWFkZXJzKSAmJiB0aGlzLmFwcGx5Q2hlY2tzdW0pIHtcbiAgICAgIHJlcXVlc3QuaGVhZGVyc1tTSEEyNTZfSEVBREVSXSA9IHBheWxvYWRIYXNoO1xuICAgIH1cblxuICAgIGNvbnN0IGNhbm9uaWNhbEhlYWRlcnMgPSBnZXRDYW5vbmljYWxIZWFkZXJzKHJlcXVlc3QsIHVuc2lnbmFibGVIZWFkZXJzLCBzaWduYWJsZUhlYWRlcnMpO1xuICAgIGNvbnN0IHNpZ25hdHVyZSA9IGF3YWl0IHRoaXMuZ2V0U2lnbmF0dXJlKFxuICAgICAgbG9uZ0RhdGUsXG4gICAgICBzY29wZSxcbiAgICAgIHRoaXMuZ2V0U2lnbmluZ0tleShjcmVkZW50aWFscywgcmVnaW9uLCBzaG9ydERhdGUsIHNpZ25pbmdTZXJ2aWNlKSxcbiAgICAgIHRoaXMuY3JlYXRlQ2Fub25pY2FsUmVxdWVzdChyZXF1ZXN0LCBjYW5vbmljYWxIZWFkZXJzLCBwYXlsb2FkSGFzaClcbiAgICApO1xuXG4gICAgcmVxdWVzdC5oZWFkZXJzW0FVVEhfSEVBREVSXSA9XG4gICAgICBgJHtBTEdPUklUSE1fSURFTlRJRklFUn0gYCArXG4gICAgICBgQ3JlZGVudGlhbD0ke2NyZWRlbnRpYWxzLmFjY2Vzc0tleUlkfS8ke3Njb3BlfSwgYCArXG4gICAgICBgU2lnbmVkSGVhZGVycz0ke2dldENhbm9uaWNhbEhlYWRlckxpc3QoY2Fub25pY2FsSGVhZGVycyl9LCBgICtcbiAgICAgIGBTaWduYXR1cmU9JHtzaWduYXR1cmV9YDtcblxuICAgIHJldHVybiByZXF1ZXN0O1xuICB9XG5cbiAgcHJpdmF0ZSBjcmVhdGVDYW5vbmljYWxSZXF1ZXN0KHJlcXVlc3Q6IEh0dHBSZXF1ZXN0LCBjYW5vbmljYWxIZWFkZXJzOiBIZWFkZXJCYWcsIHBheWxvYWRIYXNoOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIGNvbnN0IHNvcnRlZEhlYWRlcnMgPSBPYmplY3Qua2V5cyhjYW5vbmljYWxIZWFkZXJzKS5zb3J0KCk7XG4gICAgcmV0dXJuIGAke3JlcXVlc3QubWV0aG9kfVxuJHt0aGlzLmdldENhbm9uaWNhbFBhdGgocmVxdWVzdCl9XG4ke2dldENhbm9uaWNhbFF1ZXJ5KHJlcXVlc3QpfVxuJHtzb3J0ZWRIZWFkZXJzLm1hcCgobmFtZSkgPT4gYCR7bmFtZX06JHtjYW5vbmljYWxIZWFkZXJzW25hbWVdfWApLmpvaW4oXCJcXG5cIil9XG5cbiR7c29ydGVkSGVhZGVycy5qb2luKFwiO1wiKX1cbiR7cGF5bG9hZEhhc2h9YDtcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgY3JlYXRlU3RyaW5nVG9TaWduKFxuICAgIGxvbmdEYXRlOiBzdHJpbmcsXG4gICAgY3JlZGVudGlhbFNjb3BlOiBzdHJpbmcsXG4gICAgY2Fub25pY2FsUmVxdWVzdDogc3RyaW5nXG4gICk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgY29uc3QgaGFzaCA9IG5ldyB0aGlzLnNoYTI1NigpO1xuICAgIGhhc2gudXBkYXRlKGNhbm9uaWNhbFJlcXVlc3QpO1xuICAgIGNvbnN0IGhhc2hlZFJlcXVlc3QgPSBhd2FpdCBoYXNoLmRpZ2VzdCgpO1xuXG4gICAgcmV0dXJuIGAke0FMR09SSVRITV9JREVOVElGSUVSfVxuJHtsb25nRGF0ZX1cbiR7Y3JlZGVudGlhbFNjb3BlfVxuJHt0b0hleChoYXNoZWRSZXF1ZXN0KX1gO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXRDYW5vbmljYWxQYXRoKHsgcGF0aCB9OiBIdHRwUmVxdWVzdCk6IHN0cmluZyB7XG4gICAgaWYgKHRoaXMudXJpRXNjYXBlUGF0aCkge1xuICAgICAgY29uc3QgZG91YmxlRW5jb2RlZCA9IGVuY29kZVVSSUNvbXBvbmVudChwYXRoLnJlcGxhY2UoL15cXC8vLCBcIlwiKSk7XG4gICAgICByZXR1cm4gYC8ke2RvdWJsZUVuY29kZWQucmVwbGFjZSgvJTJGL2csIFwiL1wiKX1gO1xuICAgIH1cblxuICAgIHJldHVybiBwYXRoO1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBnZXRTaWduYXR1cmUoXG4gICAgbG9uZ0RhdGU6IHN0cmluZyxcbiAgICBjcmVkZW50aWFsU2NvcGU6IHN0cmluZyxcbiAgICBrZXlQcm9taXNlOiBQcm9taXNlPFVpbnQ4QXJyYXk+LFxuICAgIGNhbm9uaWNhbFJlcXVlc3Q6IHN0cmluZ1xuICApOiBQcm9taXNlPHN0cmluZz4ge1xuICAgIGNvbnN0IHN0cmluZ1RvU2lnbiA9IGF3YWl0IHRoaXMuY3JlYXRlU3RyaW5nVG9TaWduKGxvbmdEYXRlLCBjcmVkZW50aWFsU2NvcGUsIGNhbm9uaWNhbFJlcXVlc3QpO1xuXG4gICAgY29uc3QgaGFzaCA9IG5ldyB0aGlzLnNoYTI1Nihhd2FpdCBrZXlQcm9taXNlKTtcbiAgICBoYXNoLnVwZGF0ZShzdHJpbmdUb1NpZ24pO1xuICAgIHJldHVybiB0b0hleChhd2FpdCBoYXNoLmRpZ2VzdCgpKTtcbiAgfVxuXG4gIHByaXZhdGUgZ2V0U2lnbmluZ0tleShcbiAgICBjcmVkZW50aWFsczogQ3JlZGVudGlhbHMsXG4gICAgcmVnaW9uOiBzdHJpbmcsXG4gICAgc2hvcnREYXRlOiBzdHJpbmcsXG4gICAgc2VydmljZT86IHN0cmluZ1xuICApOiBQcm9taXNlPFVpbnQ4QXJyYXk+IHtcbiAgICByZXR1cm4gZ2V0U2lnbmluZ0tleSh0aGlzLnNoYTI1NiwgY3JlZGVudGlhbHMsIHNob3J0RGF0ZSwgcmVnaW9uLCBzZXJ2aWNlIHx8IHRoaXMuc2VydmljZSk7XG4gIH1cbn1cblxuY29uc3QgZm9ybWF0RGF0ZSA9IChub3c6IERhdGVJbnB1dCk6IHsgbG9uZ0RhdGU6IHN0cmluZzsgc2hvcnREYXRlOiBzdHJpbmcgfSA9PiB7XG4gIGNvbnN0IGxvbmdEYXRlID0gaXNvODYwMShub3cpLnJlcGxhY2UoL1tcXC06XS9nLCBcIlwiKTtcbiAgcmV0dXJuIHtcbiAgICBsb25nRGF0ZSxcbiAgICBzaG9ydERhdGU6IGxvbmdEYXRlLnN1YnN0cigwLCA4KSxcbiAgfTtcbn07XG5cbmNvbnN0IGdldENhbm9uaWNhbEhlYWRlckxpc3QgPSAoaGVhZGVyczogb2JqZWN0KTogc3RyaW5nID0+IE9iamVjdC5rZXlzKGhlYWRlcnMpLnNvcnQoKS5qb2luKFwiO1wiKTtcblxuY29uc3Qgbm9ybWFsaXplUmVnaW9uUHJvdmlkZXIgPSAocmVnaW9uOiBzdHJpbmcgfCBQcm92aWRlcjxzdHJpbmc+KTogUHJvdmlkZXI8c3RyaW5nPiA9PiB7XG4gIGlmICh0eXBlb2YgcmVnaW9uID09PSBcInN0cmluZ1wiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUocmVnaW9uKTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH0gZWxzZSB7XG4gICAgcmV0dXJuIHJlZ2lvbjtcbiAgfVxufTtcblxuY29uc3Qgbm9ybWFsaXplQ3JlZGVudGlhbHNQcm92aWRlciA9IChjcmVkZW50aWFsczogQ3JlZGVudGlhbHMgfCBQcm92aWRlcjxDcmVkZW50aWFscz4pOiBQcm92aWRlcjxDcmVkZW50aWFscz4gPT4ge1xuICBpZiAodHlwZW9mIGNyZWRlbnRpYWxzID09PSBcIm9iamVjdFwiKSB7XG4gICAgY29uc3QgcHJvbWlzaWZpZWQgPSBQcm9taXNlLnJlc29sdmUoY3JlZGVudGlhbHMpO1xuICAgIHJldHVybiAoKSA9PiBwcm9taXNpZmllZDtcbiAgfSBlbHNlIHtcbiAgICByZXR1cm4gY3JlZGVudGlhbHM7XG4gIH1cbn07XG4iXX0=","import { __assign, __values } from \"tslib\";\nimport { cloneRequest } from \"./cloneRequest\";\n/**\n * @internal\n */\nexport function moveHeadersToQuery(request, options) {\n var e_1, _a;\n var _b;\n if (options === void 0) { options = {}; }\n var _c = typeof request.clone === \"function\" ? request.clone() : cloneRequest(request), headers = _c.headers, _d = _c.query, query = _d === void 0 ? {} : _d;\n try {\n for (var _e = __values(Object.keys(headers)), _f = _e.next(); !_f.done; _f = _e.next()) {\n var name = _f.value;\n var lname = name.toLowerCase();\n if (lname.substr(0, 6) === \"x-amz-\" && !((_b = options.unhoistableHeaders) === null || _b === void 0 ? void 0 : _b.has(lname))) {\n query[name] = headers[name];\n delete headers[name];\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_f && !_f.done && (_a = _e.return)) _a.call(_e);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return __assign(__assign({}, request), { headers: headers,\n query: query });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW92ZUhlYWRlcnNUb1F1ZXJ5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL21vdmVIZWFkZXJzVG9RdWVyeS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRTlDOztHQUVHO0FBQ0gsTUFBTSxVQUFVLGtCQUFrQixDQUNoQyxPQUFvQixFQUNwQixPQUFrRDs7O0lBQWxELHdCQUFBLEVBQUEsWUFBa0Q7SUFFNUMsSUFBQSxLQUNKLE9BQVEsT0FBZSxDQUFDLEtBQUssS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFFLE9BQWUsQ0FBQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsWUFBWSxDQUFDLE9BQU8sQ0FBQyxFQUR6RixPQUFPLGFBQUEsRUFBRSxhQUErQixFQUEvQixLQUFLLG1CQUFHLEVBQXVCLEtBQ2lELENBQUM7O1FBQ2xHLEtBQW1CLElBQUEsS0FBQSxTQUFBLE1BQU0sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUEsZ0JBQUEsNEJBQUU7WUFBcEMsSUFBTSxJQUFJLFdBQUE7WUFDYixJQUFNLEtBQUssR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDakMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsS0FBSyxRQUFRLElBQUksUUFBQyxPQUFPLENBQUMsa0JBQWtCLDBDQUFFLEdBQUcsQ0FBQyxLQUFLLEVBQUMsRUFBRTtnQkFDOUUsS0FBSyxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztnQkFDNUIsT0FBTyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDdEI7U0FDRjs7Ozs7Ozs7O0lBRUQsNkJBQ0ssT0FBTyxLQUNWLE9BQU8sU0FBQTtRQUNQLEtBQUssT0FBQSxJQUNMO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0LCBRdWVyeVBhcmFtZXRlckJhZyB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBjbG9uZVJlcXVlc3QgfSBmcm9tIFwiLi9jbG9uZVJlcXVlc3RcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIG1vdmVIZWFkZXJzVG9RdWVyeShcbiAgcmVxdWVzdDogSHR0cFJlcXVlc3QsXG4gIG9wdGlvbnM6IHsgdW5ob2lzdGFibGVIZWFkZXJzPzogU2V0PHN0cmluZz4gfSA9IHt9XG4pOiBIdHRwUmVxdWVzdCAmIHsgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnIH0ge1xuICBjb25zdCB7IGhlYWRlcnMsIHF1ZXJ5ID0ge30gYXMgUXVlcnlQYXJhbWV0ZXJCYWcgfSA9XG4gICAgdHlwZW9mIChyZXF1ZXN0IGFzIGFueSkuY2xvbmUgPT09IFwiZnVuY3Rpb25cIiA/IChyZXF1ZXN0IGFzIGFueSkuY2xvbmUoKSA6IGNsb25lUmVxdWVzdChyZXF1ZXN0KTtcbiAgZm9yIChjb25zdCBuYW1lIG9mIE9iamVjdC5rZXlzKGhlYWRlcnMpKSB7XG4gICAgY29uc3QgbG5hbWUgPSBuYW1lLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGxuYW1lLnN1YnN0cigwLCA2KSA9PT0gXCJ4LWFtei1cIiAmJiAhb3B0aW9ucy51bmhvaXN0YWJsZUhlYWRlcnM/LmhhcyhsbmFtZSkpIHtcbiAgICAgIHF1ZXJ5W25hbWVdID0gaGVhZGVyc1tuYW1lXTtcbiAgICAgIGRlbGV0ZSBoZWFkZXJzW25hbWVdO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7XG4gICAgLi4ucmVxdWVzdCxcbiAgICBoZWFkZXJzLFxuICAgIHF1ZXJ5LFxuICB9O1xufVxuIl19","import { __values } from \"tslib\";\nexport function hasHeader(soughtHeader, headers) {\n var e_1, _a;\n soughtHeader = soughtHeader.toLowerCase();\n try {\n for (var _b = __values(Object.keys(headers)), _c = _b.next(); !_c.done; _c = _b.next()) {\n var headerName = _c.value;\n if (soughtHeader === headerName.toLowerCase()) {\n return true;\n }\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return false;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGFzSGVhZGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hhc0hlYWRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBRUEsTUFBTSxVQUFVLFNBQVMsQ0FBQyxZQUFvQixFQUFFLE9BQWtCOztJQUNoRSxZQUFZLEdBQUcsWUFBWSxDQUFDLFdBQVcsRUFBRSxDQUFDOztRQUMxQyxLQUF5QixJQUFBLEtBQUEsU0FBQSxNQUFNLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFBLGdCQUFBLDRCQUFFO1lBQTFDLElBQU0sVUFBVSxXQUFBO1lBQ25CLElBQUksWUFBWSxLQUFLLFVBQVUsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDN0MsT0FBTyxJQUFJLENBQUM7YUFDYjtTQUNGOzs7Ozs7Ozs7SUFFRCxPQUFPLEtBQUssQ0FBQztBQUNmLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJCYWcgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGZ1bmN0aW9uIGhhc0hlYWRlcihzb3VnaHRIZWFkZXI6IHN0cmluZywgaGVhZGVyczogSGVhZGVyQmFnKTogYm9vbGVhbiB7XG4gIHNvdWdodEhlYWRlciA9IHNvdWdodEhlYWRlci50b0xvd2VyQ2FzZSgpO1xuICBmb3IgKGNvbnN0IGhlYWRlck5hbWUgb2YgT2JqZWN0LmtleXMoaGVhZGVycykpIHtcbiAgICBpZiAoc291Z2h0SGVhZGVyID09PSBoZWFkZXJOYW1lLnRvTG93ZXJDYXNlKCkpIHtcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBmYWxzZTtcbn1cbiJdfQ==","import { __values } from \"tslib\";\nimport { escapeUri } from \"@aws-sdk/util-uri-escape\";\nimport { SIGNATURE_HEADER } from \"./constants\";\n/**\n * @internal\n */\nexport function getCanonicalQuery(_a) {\n var e_1, _b;\n var _c = _a.query, query = _c === void 0 ? {} : _c;\n var keys = [];\n var serialized = {};\n var _loop_1 = function (key) {\n if (key.toLowerCase() === SIGNATURE_HEADER) {\n return \"continue\";\n }\n keys.push(key);\n var value = query[key];\n if (typeof value === \"string\") {\n serialized[key] = escapeUri(key) + \"=\" + escapeUri(value);\n }\n else if (Array.isArray(value)) {\n serialized[key] = value\n .slice(0)\n .sort()\n .reduce(function (encoded, value) { return encoded.concat([escapeUri(key) + \"=\" + escapeUri(value)]); }, [])\n .join(\"&\");\n }\n };\n try {\n for (var _d = __values(Object.keys(query).sort()), _e = _d.next(); !_e.done; _e = _d.next()) {\n var key = _e.value;\n _loop_1(key);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_e && !_e.done && (_b = _d.return)) _b.call(_d);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return keys\n .map(function (key) { return serialized[key]; })\n .filter(function (serialized) { return serialized; }) // omit any falsy values\n .join(\"&\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q2Fub25pY2FsUXVlcnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZ2V0Q2Fub25pY2FsUXVlcnkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUNBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUVyRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFFL0M7O0dBRUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsRUFBMkI7O1FBQXpCLGFBQVUsRUFBVixLQUFLLG1CQUFHLEVBQUUsS0FBQTtJQUM1QyxJQUFNLElBQUksR0FBa0IsRUFBRSxDQUFDO0lBQy9CLElBQU0sVUFBVSxHQUE4QixFQUFFLENBQUM7NEJBQ3RDLEdBQUc7UUFDWixJQUFJLEdBQUcsQ0FBQyxXQUFXLEVBQUUsS0FBSyxnQkFBZ0IsRUFBRTs7U0FFM0M7UUFFRCxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ2YsSUFBTSxLQUFLLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pCLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxFQUFFO1lBQzdCLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBTSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQUksU0FBUyxDQUFDLEtBQUssQ0FBRyxDQUFDO1NBQzNEO2FBQU0sSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxFQUFFO1lBQy9CLFVBQVUsQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLO2lCQUNwQixLQUFLLENBQUMsQ0FBQyxDQUFDO2lCQUNSLElBQUksRUFBRTtpQkFDTixNQUFNLENBQ0wsVUFBQyxPQUFzQixFQUFFLEtBQWEsSUFBSyxPQUFBLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBSSxTQUFTLENBQUMsR0FBRyxDQUFDLFNBQUksU0FBUyxDQUFDLEtBQUssQ0FBRyxDQUFDLENBQUMsRUFBekQsQ0FBeUQsRUFDcEcsRUFBRSxDQUNIO2lCQUNBLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNkOzs7UUFsQkgsS0FBa0IsSUFBQSxLQUFBLFNBQUEsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQSxnQkFBQTtZQUF0QyxJQUFNLEdBQUcsV0FBQTtvQkFBSCxHQUFHO1NBbUJiOzs7Ozs7Ozs7SUFFRCxPQUFPLElBQUk7U0FDUixHQUFHLENBQUMsVUFBQyxHQUFHLElBQUssT0FBQSxVQUFVLENBQUMsR0FBRyxDQUFDLEVBQWYsQ0FBZSxDQUFDO1NBQzdCLE1BQU0sQ0FBQyxVQUFDLFVBQVUsSUFBSyxPQUFBLFVBQVUsRUFBVixDQUFVLENBQUMsQ0FBQyx3QkFBd0I7U0FDM0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0FBQ2YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBSZXF1ZXN0IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5pbXBvcnQgeyBlc2NhcGVVcmkgfSBmcm9tIFwiQGF3cy1zZGsvdXRpbC11cmktZXNjYXBlXCI7XG5cbmltcG9ydCB7IFNJR05BVFVSRV9IRUFERVIgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldENhbm9uaWNhbFF1ZXJ5KHsgcXVlcnkgPSB7fSB9OiBIdHRwUmVxdWVzdCk6IHN0cmluZyB7XG4gIGNvbnN0IGtleXM6IEFycmF5PHN0cmluZz4gPSBbXTtcbiAgY29uc3Qgc2VyaWFsaXplZDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHt9O1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhxdWVyeSkuc29ydCgpKSB7XG4gICAgaWYgKGtleS50b0xvd2VyQ2FzZSgpID09PSBTSUdOQVRVUkVfSEVBREVSKSB7XG4gICAgICBjb250aW51ZTtcbiAgICB9XG5cbiAgICBrZXlzLnB1c2goa2V5KTtcbiAgICBjb25zdCB2YWx1ZSA9IHF1ZXJ5W2tleV07XG4gICAgaWYgKHR5cGVvZiB2YWx1ZSA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgc2VyaWFsaXplZFtrZXldID0gYCR7ZXNjYXBlVXJpKGtleSl9PSR7ZXNjYXBlVXJpKHZhbHVlKX1gO1xuICAgIH0gZWxzZSBpZiAoQXJyYXkuaXNBcnJheSh2YWx1ZSkpIHtcbiAgICAgIHNlcmlhbGl6ZWRba2V5XSA9IHZhbHVlXG4gICAgICAgIC5zbGljZSgwKVxuICAgICAgICAuc29ydCgpXG4gICAgICAgIC5yZWR1Y2UoXG4gICAgICAgICAgKGVuY29kZWQ6IEFycmF5PHN0cmluZz4sIHZhbHVlOiBzdHJpbmcpID0+IGVuY29kZWQuY29uY2F0KFtgJHtlc2NhcGVVcmkoa2V5KX09JHtlc2NhcGVVcmkodmFsdWUpfWBdKSxcbiAgICAgICAgICBbXVxuICAgICAgICApXG4gICAgICAgIC5qb2luKFwiJlwiKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4ga2V5c1xuICAgIC5tYXAoKGtleSkgPT4gc2VyaWFsaXplZFtrZXldKVxuICAgIC5maWx0ZXIoKHNlcmlhbGl6ZWQpID0+IHNlcmlhbGl6ZWQpIC8vIG9taXQgYW55IGZhbHN5IHZhbHVlc1xuICAgIC5qb2luKFwiJlwiKTtcbn1cbiJdfQ==","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { SignatureV4 } from \"@aws-sdk/signature-v4\";\nexport function resolveAwsAuthConfig(input) {\n var _this = this;\n var credentials = input.credentials || input.credentialDefaultProvider(input);\n var normalizedCreds = normalizeProvider(credentials);\n var _a = input.signingEscapePath, signingEscapePath = _a === void 0 ? true : _a, _b = input.systemClockOffset, systemClockOffset = _b === void 0 ? input.systemClockOffset || 0 : _b, sha256 = input.sha256;\n var signer;\n if (input.signer) {\n //if signer is supplied by user, normalize it to a function returning a promise for signer.\n signer = normalizeProvider(input.signer);\n }\n else {\n //construct a provider inferring signing from region.\n signer = function () {\n return normalizeProvider(input.region)()\n .then(function (region) { return __awaiter(_this, void 0, void 0, function () { return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, input.regionInfoProvider(region)];\n case 1: return [2 /*return*/, [(_a.sent()) || {}, region]];\n }\n }); }); })\n .then(function (_a) {\n var _b = __read(_a, 2), regionInfo = _b[0], region = _b[1];\n var signingRegion = regionInfo.signingRegion, signingService = regionInfo.signingService;\n //update client's singing region and signing service config if they are resolved.\n //signing region resolving order: user supplied signingRegion -> endpoints.json inferred region -> client region\n input.signingRegion = input.signingRegion || signingRegion || region;\n //signing name resolving order:\n //user supplied signingName -> endpoints.json inferred (credential scope -> model arnNamespace) -> model service id\n input.signingName = input.signingName || signingService || input.serviceId;\n return new SignatureV4({\n credentials: normalizedCreds,\n region: input.signingRegion,\n service: input.signingName,\n sha256: sha256,\n uriEscapePath: signingEscapePath,\n });\n });\n };\n }\n return __assign(__assign({}, input), { systemClockOffset: systemClockOffset,\n signingEscapePath: signingEscapePath, credentials: normalizedCreds, signer: signer });\n}\nfunction normalizeProvider(input) {\n if (typeof input === \"object\") {\n var promisified_1 = Promise.resolve(input);\n return function () { return promisified_1; };\n }\n return input;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQTRDcEQsTUFBTSxVQUFVLG9CQUFvQixDQUFJLEtBQWtEO0lBQTFGLGlCQXVDQztJQXRDQyxJQUFNLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLEtBQUssQ0FBQyx5QkFBeUIsQ0FBQyxLQUFZLENBQUMsQ0FBQztJQUN2RixJQUFNLGVBQWUsR0FBRyxpQkFBaUIsQ0FBQyxXQUFXLENBQUMsQ0FBQztJQUMvQyxJQUFBLEtBQXVGLEtBQUssa0JBQXBFLEVBQXhCLGlCQUFpQixtQkFBRyxJQUFJLEtBQUEsRUFBRSxLQUE2RCxLQUFLLGtCQUFsQixFQUFoRCxpQkFBaUIsbUJBQUcsS0FBSyxDQUFDLGlCQUFpQixJQUFJLENBQUMsS0FBQSxFQUFFLE1BQU0sR0FBSyxLQUFLLE9BQVYsQ0FBVztJQUNyRyxJQUFJLE1BQStCLENBQUM7SUFDcEMsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFO1FBQ2hCLDJGQUEyRjtRQUMzRixNQUFNLEdBQUcsaUJBQWlCLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0tBQzFDO1NBQU07UUFDTCxxREFBcUQ7UUFDckQsTUFBTSxHQUFHO1lBQ1AsT0FBQSxpQkFBaUIsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUU7aUJBQzlCLElBQUksQ0FBQyxVQUFPLE1BQU07OzRCQUFPLHFCQUFNLEtBQUssQ0FBQyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsRUFBQTs0QkFBeEMsc0JBQUEsQ0FBQyxDQUFDLFNBQXNDLENBQUMsSUFBSSxFQUFFLEVBQUUsTUFBTSxDQUF5QixFQUFBOztxQkFBQSxDQUFDO2lCQUN4RyxJQUFJLENBQUMsVUFBQyxFQUFvQjtvQkFBcEIsS0FBQSxhQUFvQixFQUFuQixVQUFVLFFBQUEsRUFBRSxNQUFNLFFBQUE7Z0JBQ2hCLElBQUEsYUFBYSxHQUFxQixVQUFVLGNBQS9CLEVBQUUsY0FBYyxHQUFLLFVBQVUsZUFBZixDQUFnQjtnQkFDckQsaUZBQWlGO2dCQUNqRixnSEFBZ0g7Z0JBQ2hILEtBQUssQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDLGFBQWEsSUFBSSxhQUFhLElBQUksTUFBTSxDQUFDO2dCQUNyRSwrQkFBK0I7Z0JBQy9CLG1IQUFtSDtnQkFDbkgsS0FBSyxDQUFDLFdBQVcsR0FBRyxLQUFLLENBQUMsV0FBVyxJQUFJLGNBQWMsSUFBSSxLQUFLLENBQUMsU0FBUyxDQUFDO2dCQUUzRSxPQUFPLElBQUksV0FBVyxDQUFDO29CQUNyQixXQUFXLEVBQUUsZUFBZTtvQkFDNUIsTUFBTSxFQUFFLEtBQUssQ0FBQyxhQUFhO29CQUMzQixPQUFPLEVBQUUsS0FBSyxDQUFDLFdBQVc7b0JBQzFCLE1BQU0sUUFBQTtvQkFDTixhQUFhLEVBQUUsaUJBQWlCO2lCQUNqQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQUM7UUFsQkosQ0FrQkksQ0FBQztLQUNSO0lBRUQsNkJBQ0ssS0FBSyxLQUNSLGlCQUFpQixtQkFBQTtRQUNqQixpQkFBaUIsbUJBQUEsRUFDakIsV0FBVyxFQUFFLGVBQWUsRUFDNUIsTUFBTSxRQUFBLElBQ047QUFDSixDQUFDO0FBRUQsU0FBUyxpQkFBaUIsQ0FBSSxLQUFzQjtJQUNsRCxJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtRQUM3QixJQUFNLGFBQVcsR0FBRyxPQUFPLENBQUMsT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzNDLE9BQU8sY0FBTSxPQUFBLGFBQVcsRUFBWCxDQUFXLENBQUM7S0FDMUI7SUFDRCxPQUFPLEtBQW9CLENBQUM7QUFDOUIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNpZ25hdHVyZVY0IH0gZnJvbSBcIkBhd3Mtc2RrL3NpZ25hdHVyZS12NFwiO1xuaW1wb3J0IHsgQ3JlZGVudGlhbHMsIEhhc2hDb25zdHJ1Y3RvciwgUHJvdmlkZXIsIFJlZ2lvbkluZm8sIFJlZ2lvbkluZm9Qcm92aWRlciwgUmVxdWVzdFNpZ25lciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF3c0F1dGhJbnB1dENvbmZpZyB7XG4gIC8qKlxuICAgKiBUaGUgY3JlZGVudGlhbHMgdXNlZCB0byBzaWduIHJlcXVlc3RzLlxuICAgKi9cbiAgY3JlZGVudGlhbHM/OiBDcmVkZW50aWFscyB8IFByb3ZpZGVyPENyZWRlbnRpYWxzPjtcblxuICAvKipcbiAgICogVGhlIHNpZ25lciB0byB1c2Ugd2hlbiBzaWduaW5nIHJlcXVlc3RzLlxuICAgKi9cbiAgc2lnbmVyPzogUmVxdWVzdFNpZ25lciB8IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuXG4gIC8qKlxuICAgKiBXaGV0aGVyIHRvIGVzY2FwZSByZXF1ZXN0IHBhdGggd2hlbiBzaWduaW5nIHRoZSByZXF1ZXN0LlxuICAgKi9cbiAgc2lnbmluZ0VzY2FwZVBhdGg/OiBib29sZWFuO1xuXG4gIC8qKlxuICAgKiBBbiBvZmZzZXQgdmFsdWUgaW4gbWlsbGlzZWNvbmRzIHRvIGFwcGx5IHRvIGFsbCBzaWduaW5nIHRpbWVzLlxuICAgKi9cbiAgc3lzdGVtQ2xvY2tPZmZzZXQ/OiBudW1iZXI7XG5cbiAgLyoqXG4gICAqIFRoZSByZWdpb24gd2hlcmUgeW91IHdhbnQgdG8gc2lnbiB5b3VyIHJlcXVlc3QgYWdhaW5zdC4gVGhpc1xuICAgKiBjYW4gYmUgZGlmZmVyZW50IHRvIHRoZSByZWdpb24gaW4gdGhlIGVuZHBvaW50LlxuICAgKi9cbiAgc2lnbmluZ1JlZ2lvbj86IHN0cmluZztcbn1cbmludGVyZmFjZSBQcmV2aW91c2x5UmVzb2x2ZWQge1xuICBjcmVkZW50aWFsRGVmYXVsdFByb3ZpZGVyOiAoaW5wdXQ6IGFueSkgPT4gUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuICByZWdpb246IHN0cmluZyB8IFByb3ZpZGVyPHN0cmluZz47XG4gIHJlZ2lvbkluZm9Qcm92aWRlcjogUmVnaW9uSW5mb1Byb3ZpZGVyO1xuICBzaWduaW5nTmFtZT86IHN0cmluZztcbiAgc2VydmljZUlkOiBzdHJpbmc7XG4gIHNoYTI1NjogSGFzaENvbnN0cnVjdG9yO1xufVxuZXhwb3J0IGludGVyZmFjZSBBd3NBdXRoUmVzb2x2ZWRDb25maWcge1xuICBjcmVkZW50aWFsczogUHJvdmlkZXI8Q3JlZGVudGlhbHM+O1xuICBzaWduZXI6IFByb3ZpZGVyPFJlcXVlc3RTaWduZXI+O1xuICBzaWduaW5nRXNjYXBlUGF0aDogYm9vbGVhbjtcbiAgc3lzdGVtQ2xvY2tPZmZzZXQ6IG51bWJlcjtcbn1cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlQXdzQXV0aENvbmZpZzxUPihpbnB1dDogVCAmIEF3c0F1dGhJbnB1dENvbmZpZyAmIFByZXZpb3VzbHlSZXNvbHZlZCk6IFQgJiBBd3NBdXRoUmVzb2x2ZWRDb25maWcge1xuICBjb25zdCBjcmVkZW50aWFscyA9IGlucHV0LmNyZWRlbnRpYWxzIHx8IGlucHV0LmNyZWRlbnRpYWxEZWZhdWx0UHJvdmlkZXIoaW5wdXQgYXMgYW55KTtcbiAgY29uc3Qgbm9ybWFsaXplZENyZWRzID0gbm9ybWFsaXplUHJvdmlkZXIoY3JlZGVudGlhbHMpO1xuICBjb25zdCB7IHNpZ25pbmdFc2NhcGVQYXRoID0gdHJ1ZSwgc3lzdGVtQ2xvY2tPZmZzZXQgPSBpbnB1dC5zeXN0ZW1DbG9ja09mZnNldCB8fCAwLCBzaGEyNTYgfSA9IGlucHV0O1xuICBsZXQgc2lnbmVyOiBQcm92aWRlcjxSZXF1ZXN0U2lnbmVyPjtcbiAgaWYgKGlucHV0LnNpZ25lcikge1xuICAgIC8vaWYgc2lnbmVyIGlzIHN1cHBsaWVkIGJ5IHVzZXIsIG5vcm1hbGl6ZSBpdCB0byBhIGZ1bmN0aW9uIHJldHVybmluZyBhIHByb21pc2UgZm9yIHNpZ25lci5cbiAgICBzaWduZXIgPSBub3JtYWxpemVQcm92aWRlcihpbnB1dC5zaWduZXIpO1xuICB9IGVsc2Uge1xuICAgIC8vY29uc3RydWN0IGEgcHJvdmlkZXIgaW5mZXJyaW5nIHNpZ25pbmcgZnJvbSByZWdpb24uXG4gICAgc2lnbmVyID0gKCkgPT5cbiAgICAgIG5vcm1hbGl6ZVByb3ZpZGVyKGlucHV0LnJlZ2lvbikoKVxuICAgICAgICAudGhlbihhc3luYyAocmVnaW9uKSA9PiBbKGF3YWl0IGlucHV0LnJlZ2lvbkluZm9Qcm92aWRlcihyZWdpb24pKSB8fCB7fSwgcmVnaW9uXSBhcyBbUmVnaW9uSW5mbywgc3RyaW5nXSlcbiAgICAgICAgLnRoZW4oKFtyZWdpb25JbmZvLCByZWdpb25dKSA9PiB7XG4gICAgICAgICAgY29uc3QgeyBzaWduaW5nUmVnaW9uLCBzaWduaW5nU2VydmljZSB9ID0gcmVnaW9uSW5mbztcbiAgICAgICAgICAvL3VwZGF0ZSBjbGllbnQncyBzaW5naW5nIHJlZ2lvbiBhbmQgc2lnbmluZyBzZXJ2aWNlIGNvbmZpZyBpZiB0aGV5IGFyZSByZXNvbHZlZC5cbiAgICAgICAgICAvL3NpZ25pbmcgcmVnaW9uIHJlc29sdmluZyBvcmRlcjogdXNlciBzdXBwbGllZCBzaWduaW5nUmVnaW9uIC0+IGVuZHBvaW50cy5qc29uIGluZmVycmVkIHJlZ2lvbiAtPiBjbGllbnQgcmVnaW9uXG4gICAgICAgICAgaW5wdXQuc2lnbmluZ1JlZ2lvbiA9IGlucHV0LnNpZ25pbmdSZWdpb24gfHwgc2lnbmluZ1JlZ2lvbiB8fCByZWdpb247XG4gICAgICAgICAgLy9zaWduaW5nIG5hbWUgcmVzb2x2aW5nIG9yZGVyOlxuICAgICAgICAgIC8vdXNlciBzdXBwbGllZCBzaWduaW5nTmFtZSAtPiBlbmRwb2ludHMuanNvbiBpbmZlcnJlZCAoY3JlZGVudGlhbCBzY29wZSAtPiBtb2RlbCBhcm5OYW1lc3BhY2UpIC0+IG1vZGVsIHNlcnZpY2UgaWRcbiAgICAgICAgICBpbnB1dC5zaWduaW5nTmFtZSA9IGlucHV0LnNpZ25pbmdOYW1lIHx8IHNpZ25pbmdTZXJ2aWNlIHx8IGlucHV0LnNlcnZpY2VJZDtcblxuICAgICAgICAgIHJldHVybiBuZXcgU2lnbmF0dXJlVjQoe1xuICAgICAgICAgICAgY3JlZGVudGlhbHM6IG5vcm1hbGl6ZWRDcmVkcyxcbiAgICAgICAgICAgIHJlZ2lvbjogaW5wdXQuc2lnbmluZ1JlZ2lvbixcbiAgICAgICAgICAgIHNlcnZpY2U6IGlucHV0LnNpZ25pbmdOYW1lLFxuICAgICAgICAgICAgc2hhMjU2LFxuICAgICAgICAgICAgdXJpRXNjYXBlUGF0aDogc2lnbmluZ0VzY2FwZVBhdGgsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICB9XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBzeXN0ZW1DbG9ja09mZnNldCxcbiAgICBzaWduaW5nRXNjYXBlUGF0aCxcbiAgICBjcmVkZW50aWFsczogbm9ybWFsaXplZENyZWRzLFxuICAgIHNpZ25lcixcbiAgfTtcbn1cblxuZnVuY3Rpb24gbm9ybWFsaXplUHJvdmlkZXI8VD4oaW5wdXQ6IFQgfCBQcm92aWRlcjxUPik6IFByb3ZpZGVyPFQ+IHtcbiAgaWYgKHR5cGVvZiBpbnB1dCA9PT0gXCJvYmplY3RcIikge1xuICAgIGNvbnN0IHByb21pc2lmaWVkID0gUHJvbWlzZS5yZXNvbHZlKGlucHV0KTtcbiAgICByZXR1cm4gKCkgPT4gcHJvbWlzaWZpZWQ7XG4gIH1cbiAgcmV0dXJuIGlucHV0IGFzIFByb3ZpZGVyPFQ+O1xufVxuIl19","export var USER_AGENT = \"user-agent\";\nexport var X_AMZ_USER_AGENT = \"x-amz-user-agent\";\nexport var SPACE = \" \";\nexport var UA_ESCAPE_REGEX = /[^\\!\\#\\$\\%\\&\\'\\*\\+\\-\\.\\^\\_\\`\\|\\~\\d\\w]/g;\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnN0YW50cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsSUFBTSxVQUFVLEdBQUcsWUFBWSxDQUFDO0FBRXZDLE1BQU0sQ0FBQyxJQUFNLGdCQUFnQixHQUFHLGtCQUFrQixDQUFDO0FBRW5ELE1BQU0sQ0FBQyxJQUFNLEtBQUssR0FBRyxHQUFHLENBQUM7QUFFekIsTUFBTSxDQUFDLElBQU0sZUFBZSxHQUFHLHdDQUF3QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IFVTRVJfQUdFTlQgPSBcInVzZXItYWdlbnRcIjtcblxuZXhwb3J0IGNvbnN0IFhfQU1aX1VTRVJfQUdFTlQgPSBcIngtYW16LXVzZXItYWdlbnRcIjtcblxuZXhwb3J0IGNvbnN0IFNQQUNFID0gXCIgXCI7XG5cbmV4cG9ydCBjb25zdCBVQV9FU0NBUEVfUkVHRVggPSAvW15cXCFcXCNcXCRcXCVcXCZcXCdcXCpcXCtcXC1cXC5cXF5cXF9cXGBcXHxcXH5cXGRcXHddL2c7XG4iXX0=","import { __assign, __awaiter, __generator, __read, __spread } from \"tslib\";\nimport { HttpRequest } from \"@aws-sdk/protocol-http\";\nimport { SPACE, UA_ESCAPE_REGEX, USER_AGENT, X_AMZ_USER_AGENT } from \"./constants\";\n/**\n * Build user agent header sections from:\n * 1. runtime-specific default user agent provider;\n * 2. custom user agent from `customUserAgent` client config;\n * 3. handler execution context set by internal SDK components;\n * The built user agent will be set to `x-amz-user-agent` header for ALL the\n * runtimes.\n * Please note that any override to the `user-agent` or `x-amz-user-agent` header\n * in the HTTP request is discouraged. Please use `customUserAgent` client\n * config or middleware setting the `userAgent` context to generate desired user\n * agent.\n */\nexport var userAgentMiddleware = function (options) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request, headers, userAgent, defaultUserAgent, customUserAgent, normalUAValue;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n request = args.request;\n if (!HttpRequest.isInstance(request))\n return [2 /*return*/, next(args)];\n headers = request.headers;\n userAgent = ((_a = context === null || context === void 0 ? void 0 : context.userAgent) === null || _a === void 0 ? void 0 : _a.map(escapeUserAgent)) || [];\n return [4 /*yield*/, options.defaultUserAgentProvider()];\n case 1:\n defaultUserAgent = (_c.sent()).map(escapeUserAgent);\n customUserAgent = ((_b = options === null || options === void 0 ? void 0 : options.customUserAgent) === null || _b === void 0 ? void 0 : _b.map(escapeUserAgent)) || [];\n // Set value to AWS-specific user agent header\n headers[X_AMZ_USER_AGENT] = __spread(defaultUserAgent, userAgent, customUserAgent).join(SPACE);\n normalUAValue = __spread(defaultUserAgent.filter(function (section) { return section.startsWith(\"aws-sdk-\"); }), customUserAgent).join(SPACE);\n if (options.runtime !== \"browser\" && normalUAValue) {\n headers[USER_AGENT] = headers[USER_AGENT] ? headers[USER_AGENT] + \" \" + normalUAValue : normalUAValue;\n }\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n}); }; }; };\n/**\n * Escape the each pair according to https://tools.ietf.org/html/rfc5234 and join the pair with pattern `name/version`.\n * User agent name may include prefix like `md/`, `api/`, `os/` etc., we should not escape the `/` after the prefix.\n * @private\n */\nvar escapeUserAgent = function (_a) {\n var _b = __read(_a, 2), name = _b[0], version = _b[1];\n var prefixSeparatorIndex = name.indexOf(\"/\");\n var prefix = name.substring(0, prefixSeparatorIndex); // If no prefix, prefix is just \"\"\n var uaName = name.substring(prefixSeparatorIndex + 1);\n if (prefix === \"api\") {\n uaName = uaName.toLowerCase();\n }\n return [prefix, uaName, version]\n .filter(function (item) { return item && item.length > 0; })\n .map(function (item) { return item === null || item === void 0 ? void 0 : item.replace(UA_ESCAPE_REGEX, \"_\"); })\n .join(\"/\");\n};\nexport var getUserAgentMiddlewareOptions = {\n name: \"getUserAgentMiddleware\",\n step: \"build\",\n priority: \"low\",\n tags: [\"SET_USER_AGENT\", \"USER_AGENT\"],\n override: true,\n};\nexport var getUserAgentPlugin = function (config) { return ({\n applyToStack: function (clientStack) {\n clientStack.add(userAgentMiddleware(config), getUserAgentMiddlewareOptions);\n },\n}); };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXNlci1hZ2VudC1taWRkbGV3YXJlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3VzZXItYWdlbnQtbWlkZGxld2FyZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBY3JELE9BQU8sRUFBRSxLQUFLLEVBQUUsZUFBZSxFQUFFLFVBQVUsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUVuRjs7Ozs7Ozs7Ozs7R0FXRztBQUNILE1BQU0sQ0FBQyxJQUFNLG1CQUFtQixHQUFHLFVBQUMsT0FBZ0MsSUFBSyxPQUFBLFVBQ3ZFLElBQTRCLEVBQzVCLE9BQWdDLElBQ0wsT0FBQSxVQUFPLElBQWdDOzs7Ozs7Z0JBQzFELE9BQU8sR0FBSyxJQUFJLFFBQVQsQ0FBVTtnQkFDekIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDO29CQUFFLHNCQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBQztnQkFDaEQsT0FBTyxHQUFLLE9BQU8sUUFBWixDQUFhO2dCQUN0QixTQUFTLEdBQUcsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsU0FBUywwQ0FBRSxHQUFHLENBQUMsZUFBZSxNQUFLLEVBQUUsQ0FBQztnQkFDdkMscUJBQU0sT0FBTyxDQUFDLHdCQUF3QixFQUFFLEVBQUE7O2dCQUE1RCxnQkFBZ0IsR0FBRyxDQUFDLFNBQXdDLENBQUMsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDO2dCQUNsRixlQUFlLEdBQUcsT0FBQSxPQUFPLGFBQVAsT0FBTyx1QkFBUCxPQUFPLENBQUUsZUFBZSwwQ0FBRSxHQUFHLENBQUMsZUFBZSxNQUFLLEVBQUUsQ0FBQztnQkFDN0UsOENBQThDO2dCQUM5QyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxTQUFJLGdCQUFnQixFQUFLLFNBQVMsRUFBSyxlQUFlLEVBQUUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2dCQUUxRixhQUFhLEdBQUcsU0FDakIsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFVBQUMsT0FBTyxJQUFLLE9BQUEsT0FBTyxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsRUFBOUIsQ0FBOEIsQ0FBQyxFQUNwRSxlQUFlLEVBQ2xCLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDZCxJQUFJLE9BQU8sQ0FBQyxPQUFPLEtBQUssU0FBUyxJQUFJLGFBQWEsRUFBRTtvQkFDbEQsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHLE9BQU8sQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUksT0FBTyxDQUFDLFVBQVUsQ0FBQyxTQUFJLGFBQWUsQ0FBQyxDQUFDLENBQUMsYUFBYSxDQUFDO2lCQUN2RztnQkFFRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOzs7S0FDSixFQXRCNEIsQ0FzQjVCLEVBekJ3RSxDQXlCeEUsQ0FBQztBQUVGOzs7O0dBSUc7QUFDSCxJQUFNLGVBQWUsR0FBRyxVQUFDLEVBQThCO1FBQTlCLEtBQUEsYUFBOEIsRUFBN0IsSUFBSSxRQUFBLEVBQUUsT0FBTyxRQUFBO0lBQ3JDLElBQU0sb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUMvQyxJQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsRUFBRSxvQkFBb0IsQ0FBQyxDQUFDLENBQUMsa0NBQWtDO0lBQzFGLElBQUksTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsb0JBQW9CLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDdEQsSUFBSSxNQUFNLEtBQUssS0FBSyxFQUFFO1FBQ3BCLE1BQU0sR0FBRyxNQUFNLENBQUMsV0FBVyxFQUFFLENBQUM7S0FDL0I7SUFDRCxPQUFPLENBQUMsTUFBTSxFQUFFLE1BQU0sRUFBRSxPQUFPLENBQUM7U0FDN0IsTUFBTSxDQUFDLFVBQUMsSUFBSSxJQUFLLE9BQUEsSUFBSSxJQUFJLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUF2QixDQUF1QixDQUFDO1NBQ3pDLEdBQUcsQ0FBQyxVQUFDLElBQUksV0FBSyxJQUFJLGFBQUosSUFBSSx1QkFBSixJQUFJLENBQUUsT0FBTyxDQUFDLGVBQWUsRUFBRSxHQUFHLElBQUMsQ0FBQztTQUNsRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUM7QUFDZixDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsSUFBTSw2QkFBNkIsR0FBMkM7SUFDbkYsSUFBSSxFQUFFLHdCQUF3QjtJQUM5QixJQUFJLEVBQUUsT0FBTztJQUNiLFFBQVEsRUFBRSxLQUFLO0lBQ2YsSUFBSSxFQUFFLENBQUMsZ0JBQWdCLEVBQUUsWUFBWSxDQUFDO0lBQ3RDLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLGtCQUFrQixHQUFHLFVBQUMsTUFBK0IsSUFBMEIsT0FBQSxDQUFDO0lBQzNGLFlBQVksRUFBRSxVQUFDLFdBQVc7UUFDeEIsV0FBVyxDQUFDLEdBQUcsQ0FBQyxtQkFBbUIsQ0FBQyxNQUFNLENBQUMsRUFBRSw2QkFBNkIsQ0FBQyxDQUFDO0lBQzlFLENBQUM7Q0FDRixDQUFDLEVBSjBGLENBSTFGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwUmVxdWVzdCB9IGZyb20gXCJAYXdzLXNkay9wcm90b2NvbC1odHRwXCI7XG5pbXBvcnQge1xuICBBYnNvbHV0ZUxvY2F0aW9uLFxuICBCdWlsZEhhbmRsZXIsXG4gIEJ1aWxkSGFuZGxlckFyZ3VtZW50cyxcbiAgQnVpbGRIYW5kbGVyT3B0aW9ucyxcbiAgQnVpbGRIYW5kbGVyT3V0cHV0LFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgTWV0YWRhdGFCZWFyZXIsXG4gIFBsdWdnYWJsZSxcbiAgVXNlckFnZW50UGFpcixcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmltcG9ydCB7IFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcIi4vY29uZmlndXJhdGlvbnNcIjtcbmltcG9ydCB7IFNQQUNFLCBVQV9FU0NBUEVfUkVHRVgsIFVTRVJfQUdFTlQsIFhfQU1aX1VTRVJfQUdFTlQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcblxuLyoqXG4gKiBCdWlsZCB1c2VyIGFnZW50IGhlYWRlciBzZWN0aW9ucyBmcm9tOlxuICogMS4gcnVudGltZS1zcGVjaWZpYyBkZWZhdWx0IHVzZXIgYWdlbnQgcHJvdmlkZXI7XG4gKiAyLiBjdXN0b20gdXNlciBhZ2VudCBmcm9tIGBjdXN0b21Vc2VyQWdlbnRgIGNsaWVudCBjb25maWc7XG4gKiAzLiBoYW5kbGVyIGV4ZWN1dGlvbiBjb250ZXh0IHNldCBieSBpbnRlcm5hbCBTREsgY29tcG9uZW50cztcbiAqIFRoZSBidWlsdCB1c2VyIGFnZW50IHdpbGwgYmUgc2V0IHRvIGB4LWFtei11c2VyLWFnZW50YCBoZWFkZXIgZm9yIEFMTCB0aGVcbiAqIHJ1bnRpbWVzLlxuICogUGxlYXNlIG5vdGUgdGhhdCBhbnkgb3ZlcnJpZGUgdG8gdGhlIGB1c2VyLWFnZW50YCBvciBgeC1hbXotdXNlci1hZ2VudGAgaGVhZGVyXG4gKiBpbiB0aGUgSFRUUCByZXF1ZXN0IGlzIGRpc2NvdXJhZ2VkLiBQbGVhc2UgdXNlIGBjdXN0b21Vc2VyQWdlbnRgIGNsaWVudFxuICogY29uZmlnIG9yIG1pZGRsZXdhcmUgc2V0dGluZyB0aGUgYHVzZXJBZ2VudGAgY29udGV4dCB0byBnZW5lcmF0ZSBkZXNpcmVkIHVzZXJcbiAqIGFnZW50LlxuICovXG5leHBvcnQgY29uc3QgdXNlckFnZW50TWlkZGxld2FyZSA9IChvcHRpb25zOiBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZykgPT4gPE91dHB1dCBleHRlbmRzIE1ldGFkYXRhQmVhcmVyPihcbiAgbmV4dDogQnVpbGRIYW5kbGVyPGFueSwgYW55PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IEJ1aWxkSGFuZGxlcjxhbnksIGFueT4gPT4gYXN5bmMgKGFyZ3M6IEJ1aWxkSGFuZGxlckFyZ3VtZW50czxhbnk+KTogUHJvbWlzZTxCdWlsZEhhbmRsZXJPdXRwdXQ8T3V0cHV0Pj4gPT4ge1xuICBjb25zdCB7IHJlcXVlc3QgfSA9IGFyZ3M7XG4gIGlmICghSHR0cFJlcXVlc3QuaXNJbnN0YW5jZShyZXF1ZXN0KSkgcmV0dXJuIG5leHQoYXJncyk7XG4gIGNvbnN0IHsgaGVhZGVycyB9ID0gcmVxdWVzdDtcbiAgY29uc3QgdXNlckFnZW50ID0gY29udGV4dD8udXNlckFnZW50Py5tYXAoZXNjYXBlVXNlckFnZW50KSB8fCBbXTtcbiAgY29uc3QgZGVmYXVsdFVzZXJBZ2VudCA9IChhd2FpdCBvcHRpb25zLmRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcigpKS5tYXAoZXNjYXBlVXNlckFnZW50KTtcbiAgY29uc3QgY3VzdG9tVXNlckFnZW50ID0gb3B0aW9ucz8uY3VzdG9tVXNlckFnZW50Py5tYXAoZXNjYXBlVXNlckFnZW50KSB8fCBbXTtcbiAgLy8gU2V0IHZhbHVlIHRvIEFXUy1zcGVjaWZpYyB1c2VyIGFnZW50IGhlYWRlclxuICBoZWFkZXJzW1hfQU1aX1VTRVJfQUdFTlRdID0gWy4uLmRlZmF1bHRVc2VyQWdlbnQsIC4uLnVzZXJBZ2VudCwgLi4uY3VzdG9tVXNlckFnZW50XS5qb2luKFNQQUNFKTtcbiAgLy8gR2V0IHZhbHVlIHRvIGJlIHNlbnQgd2l0aCBub24tQVdTLXNwZWNpZmljIHVzZXIgYWdlbnQgaGVhZGVyLlxuICBjb25zdCBub3JtYWxVQVZhbHVlID0gW1xuICAgIC4uLmRlZmF1bHRVc2VyQWdlbnQuZmlsdGVyKChzZWN0aW9uKSA9PiBzZWN0aW9uLnN0YXJ0c1dpdGgoXCJhd3Mtc2RrLVwiKSksXG4gICAgLi4uY3VzdG9tVXNlckFnZW50LFxuICBdLmpvaW4oU1BBQ0UpO1xuICBpZiAob3B0aW9ucy5ydW50aW1lICE9PSBcImJyb3dzZXJcIiAmJiBub3JtYWxVQVZhbHVlKSB7XG4gICAgaGVhZGVyc1tVU0VSX0FHRU5UXSA9IGhlYWRlcnNbVVNFUl9BR0VOVF0gPyBgJHtoZWFkZXJzW1VTRVJfQUdFTlRdfSAke25vcm1hbFVBVmFsdWV9YCA6IG5vcm1hbFVBVmFsdWU7XG4gIH1cblxuICByZXR1cm4gbmV4dCh7XG4gICAgLi4uYXJncyxcbiAgICByZXF1ZXN0LFxuICB9KTtcbn07XG5cbi8qKlxuICogRXNjYXBlIHRoZSBlYWNoIHBhaXIgYWNjb3JkaW5nIHRvIGh0dHBzOi8vdG9vbHMuaWV0Zi5vcmcvaHRtbC9yZmM1MjM0IGFuZCBqb2luIHRoZSBwYWlyIHdpdGggcGF0dGVybiBgbmFtZS92ZXJzaW9uYC5cbiAqIFVzZXIgYWdlbnQgbmFtZSBtYXkgaW5jbHVkZSBwcmVmaXggbGlrZSBgbWQvYCwgYGFwaS9gLCBgb3MvYCBldGMuLCB3ZSBzaG91bGQgbm90IGVzY2FwZSB0aGUgYC9gIGFmdGVyIHRoZSBwcmVmaXguXG4gKiBAcHJpdmF0ZVxuICovXG5jb25zdCBlc2NhcGVVc2VyQWdlbnQgPSAoW25hbWUsIHZlcnNpb25dOiBVc2VyQWdlbnRQYWlyKTogc3RyaW5nID0+IHtcbiAgY29uc3QgcHJlZml4U2VwYXJhdG9ySW5kZXggPSBuYW1lLmluZGV4T2YoXCIvXCIpO1xuICBjb25zdCBwcmVmaXggPSBuYW1lLnN1YnN0cmluZygwLCBwcmVmaXhTZXBhcmF0b3JJbmRleCk7IC8vIElmIG5vIHByZWZpeCwgcHJlZml4IGlzIGp1c3QgXCJcIlxuICBsZXQgdWFOYW1lID0gbmFtZS5zdWJzdHJpbmcocHJlZml4U2VwYXJhdG9ySW5kZXggKyAxKTtcbiAgaWYgKHByZWZpeCA9PT0gXCJhcGlcIikge1xuICAgIHVhTmFtZSA9IHVhTmFtZS50b0xvd2VyQ2FzZSgpO1xuICB9XG4gIHJldHVybiBbcHJlZml4LCB1YU5hbWUsIHZlcnNpb25dXG4gICAgLmZpbHRlcigoaXRlbSkgPT4gaXRlbSAmJiBpdGVtLmxlbmd0aCA+IDApXG4gICAgLm1hcCgoaXRlbSkgPT4gaXRlbT8ucmVwbGFjZShVQV9FU0NBUEVfUkVHRVgsIFwiX1wiKSlcbiAgICAuam9pbihcIi9cIik7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0VXNlckFnZW50TWlkZGxld2FyZU9wdGlvbnM6IEJ1aWxkSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uID0ge1xuICBuYW1lOiBcImdldFVzZXJBZ2VudE1pZGRsZXdhcmVcIixcbiAgc3RlcDogXCJidWlsZFwiLFxuICBwcmlvcml0eTogXCJsb3dcIixcbiAgdGFnczogW1wiU0VUX1VTRVJfQUdFTlRcIiwgXCJVU0VSX0FHRU5UXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRVc2VyQWdlbnRQbHVnaW4gPSAoY29uZmlnOiBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyk6IFBsdWdnYWJsZTxhbnksIGFueT4gPT4gKHtcbiAgYXBwbHlUb1N0YWNrOiAoY2xpZW50U3RhY2spID0+IHtcbiAgICBjbGllbnRTdGFjay5hZGQodXNlckFnZW50TWlkZGxld2FyZShjb25maWcpLCBnZXRVc2VyQWdlbnRNaWRkbGV3YXJlT3B0aW9ucyk7XG4gIH0sXG59KTtcbiJdfQ==","import { __assign, __extends } from \"tslib\";\nimport { ClientDefaultValues as __ClientDefaultValues } from \"./runtimeConfig\";\nimport { resolveEndpointsConfig, resolveRegionConfig, } from \"@aws-sdk/config-resolver\";\nimport { getContentLengthPlugin } from \"@aws-sdk/middleware-content-length\";\nimport { getHostHeaderPlugin, resolveHostHeaderConfig, } from \"@aws-sdk/middleware-host-header\";\nimport { getLoggerPlugin } from \"@aws-sdk/middleware-logger\";\nimport { getRetryPlugin, resolveRetryConfig } from \"@aws-sdk/middleware-retry\";\nimport { resolveAwsAuthConfig } from \"@aws-sdk/middleware-signing\";\nimport { getUserAgentPlugin, resolveUserAgentConfig, } from \"@aws-sdk/middleware-user-agent\";\nimport { Client as __Client, } from \"@aws-sdk/smithy-client\";\n/**\n * Amazon Cognito Federated Identities\n *

Amazon Cognito Federated Identities is a web service that delivers scoped temporary\n * credentials to mobile devices and other untrusted environments. It uniquely identifies a\n * device and supplies the user with a consistent identity over the lifetime of an\n * application.

\n *

Using Amazon Cognito Federated Identities, you can enable authentication with one or\n * more third-party identity providers (Facebook, Google, or Login with Amazon) or an Amazon\n * Cognito user pool, and you can also choose to support unauthenticated access from your app.\n * Cognito delivers a unique identifier for each user and acts as an OpenID token provider\n * trusted by AWS Security Token Service (STS) to access temporary, limited-privilege AWS\n * credentials.

\n *

For a description of the authentication flow from the Amazon Cognito Developer Guide\n * see Authentication Flow.

\n *

For more information see Amazon Cognito Federated Identities.

\n */\nvar CognitoIdentityClient = /** @class */ (function (_super) {\n __extends(CognitoIdentityClient, _super);\n function CognitoIdentityClient(configuration) {\n var _this = this;\n var _config_0 = __assign(__assign({}, __ClientDefaultValues), configuration);\n var _config_1 = resolveRegionConfig(_config_0);\n var _config_2 = resolveEndpointsConfig(_config_1);\n var _config_3 = resolveAwsAuthConfig(_config_2);\n var _config_4 = resolveRetryConfig(_config_3);\n var _config_5 = resolveHostHeaderConfig(_config_4);\n var _config_6 = resolveUserAgentConfig(_config_5);\n _this = _super.call(this, _config_6) || this;\n _this.config = _config_6;\n _this.middlewareStack.use(getRetryPlugin(_this.config));\n _this.middlewareStack.use(getContentLengthPlugin(_this.config));\n _this.middlewareStack.use(getHostHeaderPlugin(_this.config));\n _this.middlewareStack.use(getLoggerPlugin(_this.config));\n _this.middlewareStack.use(getUserAgentPlugin(_this.config));\n return _this;\n }\n CognitoIdentityClient.prototype.destroy = function () {\n _super.prototype.destroy.call(this);\n };\n return CognitoIdentityClient;\n}(__Client));\nexport { CognitoIdentityClient };\n//# sourceMappingURL=CognitoIdentityClient.js.map","import { __assign } from \"tslib\";\nexport function resolveUserAgentConfig(input) {\n return __assign(__assign({}, input), { customUserAgent: typeof input.customUserAgent === \"string\" ? [[input.customUserAgent]] : input.customUserAgent });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlndXJhdGlvbnMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlndXJhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQWdCQSxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLEtBQW9EO0lBRXBELDZCQUNLLEtBQUssS0FDUixlQUFlLEVBQUUsT0FBTyxLQUFLLENBQUMsZUFBZSxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsZUFBZSxJQUM5RztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBQcm92aWRlciwgVXNlckFnZW50IH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJBZ2VudElucHV0Q29uZmlnIHtcbiAgLyoqXG4gICAqIFRoZSBjdXN0b20gdXNlciBhZ2VudCBoZWFkZXIgdGhhdCB3b3VsZCBiZSBhcHBlbmRlZCB0byBkZWZhdWx0IG9uZVxuICAgKi9cbiAgY3VzdG9tVXNlckFnZW50Pzogc3RyaW5nIHwgVXNlckFnZW50O1xufVxuaW50ZXJmYWNlIFByZXZpb3VzbHlSZXNvbHZlZCB7XG4gIGRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcjogUHJvdmlkZXI8VXNlckFnZW50PjtcbiAgcnVudGltZTogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBVc2VyQWdlbnRSZXNvbHZlZENvbmZpZyB7XG4gIGRlZmF1bHRVc2VyQWdlbnRQcm92aWRlcjogUHJvdmlkZXI8VXNlckFnZW50PjtcbiAgY3VzdG9tVXNlckFnZW50PzogVXNlckFnZW50O1xuICBydW50aW1lOiBzdHJpbmc7XG59XG5leHBvcnQgZnVuY3Rpb24gcmVzb2x2ZVVzZXJBZ2VudENvbmZpZzxUPihcbiAgaW5wdXQ6IFQgJiBQcmV2aW91c2x5UmVzb2x2ZWQgJiBVc2VyQWdlbnRJbnB1dENvbmZpZ1xuKTogVCAmIFVzZXJBZ2VudFJlc29sdmVkQ29uZmlnIHtcbiAgcmV0dXJuIHtcbiAgICAuLi5pbnB1dCxcbiAgICBjdXN0b21Vc2VyQWdlbnQ6IHR5cGVvZiBpbnB1dC5jdXN0b21Vc2VyQWdlbnQgPT09IFwic3RyaW5nXCIgPyBbW2lucHV0LmN1c3RvbVVzZXJBZ2VudF1dIDogaW5wdXQuY3VzdG9tVXNlckFnZW50LFxuICB9O1xufVxuIl19","import { __extends } from \"tslib\";\nimport { GetCredentialsForIdentityInput, GetCredentialsForIdentityResponse } from \"../models/models_0\";\nimport { deserializeAws_json1_1GetCredentialsForIdentityCommand, serializeAws_json1_1GetCredentialsForIdentityCommand, } from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Returns credentials for the provided identity ID. Any provided logins will be\n * validated against supported login providers. If the token is for\n * cognito-identity.amazonaws.com, it will be passed through to AWS Security Token Service\n * with the appropriate role for the token.

\n *

This is a public API. You do not need any credentials to call this API.

\n */\nvar GetCredentialsForIdentityCommand = /** @class */ (function (_super) {\n __extends(GetCredentialsForIdentityCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function GetCredentialsForIdentityCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n GetCredentialsForIdentityCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"CognitoIdentityClient\";\n var commandName = \"GetCredentialsForIdentityCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetCredentialsForIdentityInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetCredentialsForIdentityResponse.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetCredentialsForIdentityCommand.prototype.serialize = function (input, context) {\n return serializeAws_json1_1GetCredentialsForIdentityCommand(input, context);\n };\n GetCredentialsForIdentityCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_json1_1GetCredentialsForIdentityCommand(output, context);\n };\n return GetCredentialsForIdentityCommand;\n}($Command));\nexport { GetCredentialsForIdentityCommand };\n//# sourceMappingURL=GetCredentialsForIdentityCommand.js.map","import { __extends } from \"tslib\";\nimport { GetIdInput, GetIdResponse } from \"../models/models_0\";\nimport { deserializeAws_json1_1GetIdCommand, serializeAws_json1_1GetIdCommand } from \"../protocols/Aws_json1_1\";\nimport { getSerdePlugin } from \"@aws-sdk/middleware-serde\";\nimport { Command as $Command } from \"@aws-sdk/smithy-client\";\n/**\n *

Generates (or retrieves) a Cognito ID. Supplying multiple logins will create an\n * implicit linked account.

\n *

This is a public API. You do not need any credentials to call this API.

\n */\nvar GetIdCommand = /** @class */ (function (_super) {\n __extends(GetIdCommand, _super);\n // Start section: command_properties\n // End section: command_properties\n function GetIdCommand(input) {\n var _this = \n // Start section: command_constructor\n _super.call(this) || this;\n _this.input = input;\n return _this;\n // End section: command_constructor\n }\n /**\n * @internal\n */\n GetIdCommand.prototype.resolveMiddleware = function (clientStack, configuration, options) {\n this.middlewareStack.use(getSerdePlugin(configuration, this.serialize, this.deserialize));\n var stack = clientStack.concat(this.middlewareStack);\n var logger = configuration.logger;\n var clientName = \"CognitoIdentityClient\";\n var commandName = \"GetIdCommand\";\n var handlerExecutionContext = {\n logger: logger,\n clientName: clientName,\n commandName: commandName,\n inputFilterSensitiveLog: GetIdInput.filterSensitiveLog,\n outputFilterSensitiveLog: GetIdResponse.filterSensitiveLog,\n };\n var requestHandler = configuration.requestHandler;\n return stack.resolve(function (request) {\n return requestHandler.handle(request.request, options || {});\n }, handlerExecutionContext);\n };\n GetIdCommand.prototype.serialize = function (input, context) {\n return serializeAws_json1_1GetIdCommand(input, context);\n };\n GetIdCommand.prototype.deserialize = function (output, context) {\n return deserializeAws_json1_1GetIdCommand(output, context);\n };\n return GetIdCommand;\n}($Command));\nexport { GetIdCommand };\n//# sourceMappingURL=GetIdCommand.js.map","import { __assign } from \"tslib\";\nexport var AmbiguousRoleResolutionType;\n(function (AmbiguousRoleResolutionType) {\n AmbiguousRoleResolutionType[\"AUTHENTICATED_ROLE\"] = \"AuthenticatedRole\";\n AmbiguousRoleResolutionType[\"DENY\"] = \"Deny\";\n})(AmbiguousRoleResolutionType || (AmbiguousRoleResolutionType = {}));\nexport var CognitoIdentityProvider;\n(function (CognitoIdentityProvider) {\n CognitoIdentityProvider.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CognitoIdentityProvider || (CognitoIdentityProvider = {}));\nexport var CreateIdentityPoolInput;\n(function (CreateIdentityPoolInput) {\n CreateIdentityPoolInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(CreateIdentityPoolInput || (CreateIdentityPoolInput = {}));\nexport var IdentityPool;\n(function (IdentityPool) {\n IdentityPool.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IdentityPool || (IdentityPool = {}));\nexport var InternalErrorException;\n(function (InternalErrorException) {\n InternalErrorException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InternalErrorException || (InternalErrorException = {}));\nexport var InvalidParameterException;\n(function (InvalidParameterException) {\n InvalidParameterException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InvalidParameterException || (InvalidParameterException = {}));\nexport var LimitExceededException;\n(function (LimitExceededException) {\n LimitExceededException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LimitExceededException || (LimitExceededException = {}));\nexport var NotAuthorizedException;\n(function (NotAuthorizedException) {\n NotAuthorizedException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(NotAuthorizedException || (NotAuthorizedException = {}));\nexport var ResourceConflictException;\n(function (ResourceConflictException) {\n ResourceConflictException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ResourceConflictException || (ResourceConflictException = {}));\nexport var TooManyRequestsException;\n(function (TooManyRequestsException) {\n TooManyRequestsException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TooManyRequestsException || (TooManyRequestsException = {}));\nexport var DeleteIdentitiesInput;\n(function (DeleteIdentitiesInput) {\n DeleteIdentitiesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteIdentitiesInput || (DeleteIdentitiesInput = {}));\nexport var ErrorCode;\n(function (ErrorCode) {\n ErrorCode[\"ACCESS_DENIED\"] = \"AccessDenied\";\n ErrorCode[\"INTERNAL_SERVER_ERROR\"] = \"InternalServerError\";\n})(ErrorCode || (ErrorCode = {}));\nexport var UnprocessedIdentityId;\n(function (UnprocessedIdentityId) {\n UnprocessedIdentityId.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnprocessedIdentityId || (UnprocessedIdentityId = {}));\nexport var DeleteIdentitiesResponse;\n(function (DeleteIdentitiesResponse) {\n DeleteIdentitiesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteIdentitiesResponse || (DeleteIdentitiesResponse = {}));\nexport var DeleteIdentityPoolInput;\n(function (DeleteIdentityPoolInput) {\n DeleteIdentityPoolInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeleteIdentityPoolInput || (DeleteIdentityPoolInput = {}));\nexport var ResourceNotFoundException;\n(function (ResourceNotFoundException) {\n ResourceNotFoundException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ResourceNotFoundException || (ResourceNotFoundException = {}));\nexport var DescribeIdentityInput;\n(function (DescribeIdentityInput) {\n DescribeIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DescribeIdentityInput || (DescribeIdentityInput = {}));\nexport var IdentityDescription;\n(function (IdentityDescription) {\n IdentityDescription.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IdentityDescription || (IdentityDescription = {}));\nexport var DescribeIdentityPoolInput;\n(function (DescribeIdentityPoolInput) {\n DescribeIdentityPoolInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DescribeIdentityPoolInput || (DescribeIdentityPoolInput = {}));\nexport var ExternalServiceException;\n(function (ExternalServiceException) {\n ExternalServiceException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ExternalServiceException || (ExternalServiceException = {}));\nexport var GetCredentialsForIdentityInput;\n(function (GetCredentialsForIdentityInput) {\n GetCredentialsForIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetCredentialsForIdentityInput || (GetCredentialsForIdentityInput = {}));\nexport var Credentials;\n(function (Credentials) {\n Credentials.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(Credentials || (Credentials = {}));\nexport var GetCredentialsForIdentityResponse;\n(function (GetCredentialsForIdentityResponse) {\n GetCredentialsForIdentityResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetCredentialsForIdentityResponse || (GetCredentialsForIdentityResponse = {}));\nexport var InvalidIdentityPoolConfigurationException;\n(function (InvalidIdentityPoolConfigurationException) {\n InvalidIdentityPoolConfigurationException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(InvalidIdentityPoolConfigurationException || (InvalidIdentityPoolConfigurationException = {}));\nexport var GetIdInput;\n(function (GetIdInput) {\n GetIdInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdInput || (GetIdInput = {}));\nexport var GetIdResponse;\n(function (GetIdResponse) {\n GetIdResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdResponse || (GetIdResponse = {}));\nexport var GetIdentityPoolRolesInput;\n(function (GetIdentityPoolRolesInput) {\n GetIdentityPoolRolesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdentityPoolRolesInput || (GetIdentityPoolRolesInput = {}));\nexport var MappingRuleMatchType;\n(function (MappingRuleMatchType) {\n MappingRuleMatchType[\"CONTAINS\"] = \"Contains\";\n MappingRuleMatchType[\"EQUALS\"] = \"Equals\";\n MappingRuleMatchType[\"NOT_EQUAL\"] = \"NotEqual\";\n MappingRuleMatchType[\"STARTS_WITH\"] = \"StartsWith\";\n})(MappingRuleMatchType || (MappingRuleMatchType = {}));\nexport var MappingRule;\n(function (MappingRule) {\n MappingRule.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MappingRule || (MappingRule = {}));\nexport var RulesConfigurationType;\n(function (RulesConfigurationType) {\n RulesConfigurationType.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RulesConfigurationType || (RulesConfigurationType = {}));\nexport var RoleMappingType;\n(function (RoleMappingType) {\n RoleMappingType[\"RULES\"] = \"Rules\";\n RoleMappingType[\"TOKEN\"] = \"Token\";\n})(RoleMappingType || (RoleMappingType = {}));\nexport var RoleMapping;\n(function (RoleMapping) {\n RoleMapping.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(RoleMapping || (RoleMapping = {}));\nexport var GetIdentityPoolRolesResponse;\n(function (GetIdentityPoolRolesResponse) {\n GetIdentityPoolRolesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetIdentityPoolRolesResponse || (GetIdentityPoolRolesResponse = {}));\nexport var GetOpenIdTokenInput;\n(function (GetOpenIdTokenInput) {\n GetOpenIdTokenInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenInput || (GetOpenIdTokenInput = {}));\nexport var GetOpenIdTokenResponse;\n(function (GetOpenIdTokenResponse) {\n GetOpenIdTokenResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenResponse || (GetOpenIdTokenResponse = {}));\nexport var DeveloperUserAlreadyRegisteredException;\n(function (DeveloperUserAlreadyRegisteredException) {\n DeveloperUserAlreadyRegisteredException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(DeveloperUserAlreadyRegisteredException || (DeveloperUserAlreadyRegisteredException = {}));\nexport var GetOpenIdTokenForDeveloperIdentityInput;\n(function (GetOpenIdTokenForDeveloperIdentityInput) {\n GetOpenIdTokenForDeveloperIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenForDeveloperIdentityInput || (GetOpenIdTokenForDeveloperIdentityInput = {}));\nexport var GetOpenIdTokenForDeveloperIdentityResponse;\n(function (GetOpenIdTokenForDeveloperIdentityResponse) {\n GetOpenIdTokenForDeveloperIdentityResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(GetOpenIdTokenForDeveloperIdentityResponse || (GetOpenIdTokenForDeveloperIdentityResponse = {}));\nexport var ListIdentitiesInput;\n(function (ListIdentitiesInput) {\n ListIdentitiesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentitiesInput || (ListIdentitiesInput = {}));\nexport var ListIdentitiesResponse;\n(function (ListIdentitiesResponse) {\n ListIdentitiesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentitiesResponse || (ListIdentitiesResponse = {}));\nexport var ListIdentityPoolsInput;\n(function (ListIdentityPoolsInput) {\n ListIdentityPoolsInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentityPoolsInput || (ListIdentityPoolsInput = {}));\nexport var IdentityPoolShortDescription;\n(function (IdentityPoolShortDescription) {\n IdentityPoolShortDescription.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(IdentityPoolShortDescription || (IdentityPoolShortDescription = {}));\nexport var ListIdentityPoolsResponse;\n(function (ListIdentityPoolsResponse) {\n ListIdentityPoolsResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListIdentityPoolsResponse || (ListIdentityPoolsResponse = {}));\nexport var ListTagsForResourceInput;\n(function (ListTagsForResourceInput) {\n ListTagsForResourceInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListTagsForResourceInput || (ListTagsForResourceInput = {}));\nexport var ListTagsForResourceResponse;\n(function (ListTagsForResourceResponse) {\n ListTagsForResourceResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ListTagsForResourceResponse || (ListTagsForResourceResponse = {}));\nexport var LookupDeveloperIdentityInput;\n(function (LookupDeveloperIdentityInput) {\n LookupDeveloperIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LookupDeveloperIdentityInput || (LookupDeveloperIdentityInput = {}));\nexport var LookupDeveloperIdentityResponse;\n(function (LookupDeveloperIdentityResponse) {\n LookupDeveloperIdentityResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(LookupDeveloperIdentityResponse || (LookupDeveloperIdentityResponse = {}));\nexport var MergeDeveloperIdentitiesInput;\n(function (MergeDeveloperIdentitiesInput) {\n MergeDeveloperIdentitiesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MergeDeveloperIdentitiesInput || (MergeDeveloperIdentitiesInput = {}));\nexport var MergeDeveloperIdentitiesResponse;\n(function (MergeDeveloperIdentitiesResponse) {\n MergeDeveloperIdentitiesResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(MergeDeveloperIdentitiesResponse || (MergeDeveloperIdentitiesResponse = {}));\nexport var ConcurrentModificationException;\n(function (ConcurrentModificationException) {\n ConcurrentModificationException.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(ConcurrentModificationException || (ConcurrentModificationException = {}));\nexport var SetIdentityPoolRolesInput;\n(function (SetIdentityPoolRolesInput) {\n SetIdentityPoolRolesInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(SetIdentityPoolRolesInput || (SetIdentityPoolRolesInput = {}));\nexport var TagResourceInput;\n(function (TagResourceInput) {\n TagResourceInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TagResourceInput || (TagResourceInput = {}));\nexport var TagResourceResponse;\n(function (TagResourceResponse) {\n TagResourceResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(TagResourceResponse || (TagResourceResponse = {}));\nexport var UnlinkDeveloperIdentityInput;\n(function (UnlinkDeveloperIdentityInput) {\n UnlinkDeveloperIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnlinkDeveloperIdentityInput || (UnlinkDeveloperIdentityInput = {}));\nexport var UnlinkIdentityInput;\n(function (UnlinkIdentityInput) {\n UnlinkIdentityInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UnlinkIdentityInput || (UnlinkIdentityInput = {}));\nexport var UntagResourceInput;\n(function (UntagResourceInput) {\n UntagResourceInput.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UntagResourceInput || (UntagResourceInput = {}));\nexport var UntagResourceResponse;\n(function (UntagResourceResponse) {\n UntagResourceResponse.filterSensitiveLog = function (obj) { return (__assign({}, obj)); };\n})(UntagResourceResponse || (UntagResourceResponse = {}));\n//# sourceMappingURL=models_0.js.map","import { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { HttpRequest as __HttpRequest } from \"@aws-sdk/protocol-http\";\nexport var serializeAws_json1_1CreateIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.CreateIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1CreateIdentityPoolInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DeleteIdentitiesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentities\",\n };\n body = JSON.stringify(serializeAws_json1_1DeleteIdentitiesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DeleteIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DeleteIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1DeleteIdentityPoolInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DescribeIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1DescribeIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.DescribeIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1DescribeIdentityPoolInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetCredentialsForIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetCredentialsForIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1GetCredentialsForIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetIdCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetId\",\n };\n body = JSON.stringify(serializeAws_json1_1GetIdInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetIdentityPoolRolesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetIdentityPoolRoles\",\n };\n body = JSON.stringify(serializeAws_json1_1GetIdentityPoolRolesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetOpenIdTokenCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdToken\",\n };\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.GetOpenIdTokenForDeveloperIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1ListIdentitiesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentities\",\n };\n body = JSON.stringify(serializeAws_json1_1ListIdentitiesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1ListIdentityPoolsCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListIdentityPools\",\n };\n body = JSON.stringify(serializeAws_json1_1ListIdentityPoolsInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1ListTagsForResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.ListTagsForResource\",\n };\n body = JSON.stringify(serializeAws_json1_1ListTagsForResourceInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1LookupDeveloperIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.LookupDeveloperIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1LookupDeveloperIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1MergeDeveloperIdentitiesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.MergeDeveloperIdentities\",\n };\n body = JSON.stringify(serializeAws_json1_1MergeDeveloperIdentitiesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1SetIdentityPoolRolesCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.SetIdentityPoolRoles\",\n };\n body = JSON.stringify(serializeAws_json1_1SetIdentityPoolRolesInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1TagResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.TagResource\",\n };\n body = JSON.stringify(serializeAws_json1_1TagResourceInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UnlinkDeveloperIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkDeveloperIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1UnlinkDeveloperIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UnlinkIdentityCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UnlinkIdentity\",\n };\n body = JSON.stringify(serializeAws_json1_1UnlinkIdentityInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UntagResourceCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UntagResource\",\n };\n body = JSON.stringify(serializeAws_json1_1UntagResourceInput(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var serializeAws_json1_1UpdateIdentityPoolCommand = function (input, context) { return __awaiter(void 0, void 0, void 0, function () {\n var headers, body;\n return __generator(this, function (_a) {\n headers = {\n \"content-type\": \"application/x-amz-json-1.1\",\n \"x-amz-target\": \"AWSCognitoIdentityService.UpdateIdentityPool\",\n };\n body = JSON.stringify(serializeAws_json1_1IdentityPool(input, context));\n return [2 /*return*/, buildHttpRpcRequest(context, headers, \"/\", undefined, body)];\n });\n}); };\nexport var deserializeAws_json1_1CreateIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1CreateIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1CreateIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"LimitExceededException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#LimitExceededException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DeleteIdentitiesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DeleteIdentitiesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1DeleteIdentitiesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DeleteIdentitiesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, parsedBody, message;\n var _f;\n return __generator(this, function (_g) {\n switch (_g.label) {\n case 0:\n _a = [__assign({}, output)];\n _f = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_f.body = _g.sent(), _f)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"TooManyRequestsException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 6];\n }\n return [3 /*break*/, 8];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_g.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 9];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_g.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 9];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_g.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 9];\n case 8:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _g.label = 9;\n case 9:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DeleteIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DeleteIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DeleteIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DescribeIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DescribeIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityDescription(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DescribeIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1DescribeIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1DescribeIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1DescribeIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetCredentialsForIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetCredentialsForIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetCredentialsForIdentityResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetCredentialsForIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidIdentityPoolConfigurationException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidIdentityPoolConfigurationException\": return [3 /*break*/, 6];\n case \"InvalidParameterException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 8];\n case \"NotAuthorizedException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 10];\n case \"ResourceConflictException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 12];\n case \"ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"TooManyRequestsException\": return [3 /*break*/, 16];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetIdCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetIdCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetIdResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetIdCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotAuthorizedException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 10];\n case \"ResourceConflictException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 12];\n case \"ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"TooManyRequestsException\": return [3 /*break*/, 16];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetIdentityPoolRolesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetIdentityPoolRolesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetIdentityPoolRolesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetIdentityPoolRolesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetOpenIdTokenCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetOpenIdTokenCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetOpenIdTokenResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetOpenIdTokenCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"DeveloperUserAlreadyRegisteredException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#DeveloperUserAlreadyRegisteredException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1ListIdentitiesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1ListIdentitiesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1ListIdentitiesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1ListIdentitiesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1ListIdentityPoolsCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1ListIdentityPoolsCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1ListIdentityPoolsResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1ListIdentityPoolsCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1ListTagsForResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1ListTagsForResourceCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1ListTagsForResourceResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1ListTagsForResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1LookupDeveloperIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1LookupDeveloperIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1LookupDeveloperIdentityResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1LookupDeveloperIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1MergeDeveloperIdentitiesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1MergeDeveloperIdentitiesCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1MergeDeveloperIdentitiesResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1MergeDeveloperIdentitiesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1SetIdentityPoolRolesCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1SetIdentityPoolRolesCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1SetIdentityPoolRolesCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1TagResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1TagResourceCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1TagResourceResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1TagResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UnlinkDeveloperIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UnlinkDeveloperIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UnlinkDeveloperIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, parsedBody, message;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _a = [__assign({}, output)];\n _j = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_j.body = _k.sent(), _j)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceConflictException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 8];\n case \"ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 10];\n case \"TooManyRequestsException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 12];\n }\n return [3 /*break*/, 14];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_k.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 15];\n case 14:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _k.label = 15;\n case 15:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UnlinkIdentityCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UnlinkIdentityCommandError(output, context)];\n }\n return [4 /*yield*/, collectBody(output.body, context)];\n case 1:\n _a.sent();\n response = {\n $metadata: deserializeMetadata(output),\n };\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UnlinkIdentityCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, parsedBody, message;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n _a = [__assign({}, output)];\n _k = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_k.body = _l.sent(), _k)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ExternalServiceException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ExternalServiceException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"NotAuthorizedException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 8];\n case \"ResourceConflictException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 10];\n case \"ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 12];\n case \"TooManyRequestsException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 14];\n }\n return [3 /*break*/, 16];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ExternalServiceExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 17];\n case 16:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _l.label = 17;\n case 17:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UntagResourceCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UntagResourceCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1UntagResourceResponse(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UntagResourceCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, parsedBody, message;\n var _h;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n _a = [__assign({}, output)];\n _h = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_h.body = _j.sent(), _h)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"InternalErrorException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 2];\n case \"InvalidParameterException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 4];\n case \"NotAuthorizedException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 6];\n case \"ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 8];\n case \"TooManyRequestsException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 10];\n }\n return [3 /*break*/, 12];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_j.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 13];\n case 12:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _j.label = 13;\n case 13:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nexport var deserializeAws_json1_1UpdateIdentityPoolCommand = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var data, contents, response;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (output.statusCode >= 300) {\n return [2 /*return*/, deserializeAws_json1_1UpdateIdentityPoolCommandError(output, context)];\n }\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n data = _a.sent();\n contents = {};\n contents = deserializeAws_json1_1IdentityPool(data, context);\n response = __assign({ $metadata: deserializeMetadata(output) }, contents);\n return [2 /*return*/, Promise.resolve(response)];\n }\n });\n}); };\nvar deserializeAws_json1_1UpdateIdentityPoolCommandError = function (output, context) { return __awaiter(void 0, void 0, void 0, function () {\n var parsedOutput, _a, response, errorCode, _b, _c, _d, _e, _f, _g, _h, _j, _k, parsedBody, message;\n var _l;\n return __generator(this, function (_m) {\n switch (_m.label) {\n case 0:\n _a = [__assign({}, output)];\n _l = {};\n return [4 /*yield*/, parseBody(output.body, context)];\n case 1:\n parsedOutput = __assign.apply(void 0, _a.concat([(_l.body = _m.sent(), _l)]));\n errorCode = \"UnknownError\";\n errorCode = loadRestJsonErrorCode(output, parsedOutput.body);\n _b = errorCode;\n switch (_b) {\n case \"ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"com.amazonaws.cognitoidentity#ConcurrentModificationException\": return [3 /*break*/, 2];\n case \"InternalErrorException\": return [3 /*break*/, 4];\n case \"com.amazonaws.cognitoidentity#InternalErrorException\": return [3 /*break*/, 4];\n case \"InvalidParameterException\": return [3 /*break*/, 6];\n case \"com.amazonaws.cognitoidentity#InvalidParameterException\": return [3 /*break*/, 6];\n case \"LimitExceededException\": return [3 /*break*/, 8];\n case \"com.amazonaws.cognitoidentity#LimitExceededException\": return [3 /*break*/, 8];\n case \"NotAuthorizedException\": return [3 /*break*/, 10];\n case \"com.amazonaws.cognitoidentity#NotAuthorizedException\": return [3 /*break*/, 10];\n case \"ResourceConflictException\": return [3 /*break*/, 12];\n case \"com.amazonaws.cognitoidentity#ResourceConflictException\": return [3 /*break*/, 12];\n case \"ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"com.amazonaws.cognitoidentity#ResourceNotFoundException\": return [3 /*break*/, 14];\n case \"TooManyRequestsException\": return [3 /*break*/, 16];\n case \"com.amazonaws.cognitoidentity#TooManyRequestsException\": return [3 /*break*/, 16];\n }\n return [3 /*break*/, 18];\n case 2:\n _c = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ConcurrentModificationExceptionResponse(parsedOutput, context)];\n case 3:\n response = __assign.apply(void 0, [__assign.apply(void 0, _c.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 4:\n _d = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InternalErrorExceptionResponse(parsedOutput, context)];\n case 5:\n response = __assign.apply(void 0, [__assign.apply(void 0, _d.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 6:\n _e = [{}];\n return [4 /*yield*/, deserializeAws_json1_1InvalidParameterExceptionResponse(parsedOutput, context)];\n case 7:\n response = __assign.apply(void 0, [__assign.apply(void 0, _e.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 8:\n _f = [{}];\n return [4 /*yield*/, deserializeAws_json1_1LimitExceededExceptionResponse(parsedOutput, context)];\n case 9:\n response = __assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 10:\n _g = [{}];\n return [4 /*yield*/, deserializeAws_json1_1NotAuthorizedExceptionResponse(parsedOutput, context)];\n case 11:\n response = __assign.apply(void 0, [__assign.apply(void 0, _g.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 12:\n _h = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceConflictExceptionResponse(parsedOutput, context)];\n case 13:\n response = __assign.apply(void 0, [__assign.apply(void 0, _h.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 14:\n _j = [{}];\n return [4 /*yield*/, deserializeAws_json1_1ResourceNotFoundExceptionResponse(parsedOutput, context)];\n case 15:\n response = __assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 16:\n _k = [{}];\n return [4 /*yield*/, deserializeAws_json1_1TooManyRequestsExceptionResponse(parsedOutput, context)];\n case 17:\n response = __assign.apply(void 0, [__assign.apply(void 0, _k.concat([(_m.sent())])), { name: errorCode, $metadata: deserializeMetadata(output) }]);\n return [3 /*break*/, 19];\n case 18:\n parsedBody = parsedOutput.body;\n errorCode = parsedBody.code || parsedBody.Code || errorCode;\n response = __assign(__assign({}, parsedBody), { name: \"\" + errorCode, message: parsedBody.message || parsedBody.Message || errorCode, $fault: \"client\", $metadata: deserializeMetadata(output) });\n _m.label = 19;\n case 19:\n message = response.message || response.Message || errorCode;\n response.message = message;\n delete response.Message;\n return [2 /*return*/, Promise.reject(Object.assign(new Error(message), response))];\n }\n });\n}); };\nvar deserializeAws_json1_1ConcurrentModificationExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ConcurrentModificationException(body, context);\n contents = __assign({ name: \"ConcurrentModificationException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1DeveloperUserAlreadyRegisteredExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1DeveloperUserAlreadyRegisteredException(body, context);\n contents = __assign({ name: \"DeveloperUserAlreadyRegisteredException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1ExternalServiceExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ExternalServiceException(body, context);\n contents = __assign({ name: \"ExternalServiceException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1InternalErrorExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1InternalErrorException(body, context);\n contents = __assign({ name: \"InternalErrorException\", $fault: \"server\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1InvalidIdentityPoolConfigurationException(body, context);\n contents = __assign({ name: \"InvalidIdentityPoolConfigurationException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1InvalidParameterExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1InvalidParameterException(body, context);\n contents = __assign({ name: \"InvalidParameterException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1LimitExceededExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1LimitExceededException(body, context);\n contents = __assign({ name: \"LimitExceededException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1NotAuthorizedExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1NotAuthorizedException(body, context);\n contents = __assign({ name: \"NotAuthorizedException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1ResourceConflictExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ResourceConflictException(body, context);\n contents = __assign({ name: \"ResourceConflictException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1ResourceNotFoundExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1ResourceNotFoundException(body, context);\n contents = __assign({ name: \"ResourceNotFoundException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar deserializeAws_json1_1TooManyRequestsExceptionResponse = function (parsedOutput, context) { return __awaiter(void 0, void 0, void 0, function () {\n var body, deserialized, contents;\n return __generator(this, function (_a) {\n body = parsedOutput.body;\n deserialized = deserializeAws_json1_1TooManyRequestsException(body, context);\n contents = __assign({ name: \"TooManyRequestsException\", $fault: \"client\", $metadata: deserializeMetadata(parsedOutput) }, deserialized);\n return [2 /*return*/, contents];\n });\n}); };\nvar serializeAws_json1_1CognitoIdentityProvider = function (input, context) {\n return __assign(__assign(__assign({}, (input.ClientId !== undefined && input.ClientId !== null && { ClientId: input.ClientId })), (input.ProviderName !== undefined && input.ProviderName !== null && { ProviderName: input.ProviderName })), (input.ServerSideTokenCheck !== undefined &&\n input.ServerSideTokenCheck !== null && { ServerSideTokenCheck: input.ServerSideTokenCheck }));\n};\nvar serializeAws_json1_1CognitoIdentityProviderList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return serializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\nvar serializeAws_json1_1CreateIdentityPoolInput = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow })), (input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n })), (input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(input.CognitoIdentityProviders, context),\n })), (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName })), (input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n })), (input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n })), (input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n })), (input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }));\n};\nvar serializeAws_json1_1DeleteIdentitiesInput = function (input, context) {\n return __assign({}, (input.IdentityIdsToDelete !== undefined &&\n input.IdentityIdsToDelete !== null && {\n IdentityIdsToDelete: serializeAws_json1_1IdentityIdList(input.IdentityIdsToDelete, context),\n }));\n};\nvar serializeAws_json1_1DeleteIdentityPoolInput = function (input, context) {\n return __assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1DescribeIdentityInput = function (input, context) {\n return __assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId }));\n};\nvar serializeAws_json1_1DescribeIdentityPoolInput = function (input, context) {\n return __assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1GetCredentialsForIdentityInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.CustomRoleArn !== undefined && input.CustomRoleArn !== null && { CustomRoleArn: input.CustomRoleArn })), (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }));\n};\nvar serializeAws_json1_1GetIdentityPoolRolesInput = function (input, context) {\n return __assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1GetIdInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.AccountId !== undefined && input.AccountId !== null && { AccountId: input.AccountId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }));\n};\nvar serializeAws_json1_1GetOpenIdTokenForDeveloperIdentityInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) })), (input.TokenDuration !== undefined && input.TokenDuration !== null && { TokenDuration: input.TokenDuration }));\n};\nvar serializeAws_json1_1GetOpenIdTokenInput = function (input, context) {\n return __assign(__assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) }));\n};\nvar serializeAws_json1_1IdentityIdList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1IdentityPool = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign(__assign({}, (input.AllowClassicFlow !== undefined &&\n input.AllowClassicFlow !== null && { AllowClassicFlow: input.AllowClassicFlow })), (input.AllowUnauthenticatedIdentities !== undefined &&\n input.AllowUnauthenticatedIdentities !== null && {\n AllowUnauthenticatedIdentities: input.AllowUnauthenticatedIdentities,\n })), (input.CognitoIdentityProviders !== undefined &&\n input.CognitoIdentityProviders !== null && {\n CognitoIdentityProviders: serializeAws_json1_1CognitoIdentityProviderList(input.CognitoIdentityProviders, context),\n })), (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.IdentityPoolName !== undefined &&\n input.IdentityPoolName !== null && { IdentityPoolName: input.IdentityPoolName })), (input.IdentityPoolTags !== undefined &&\n input.IdentityPoolTags !== null && {\n IdentityPoolTags: serializeAws_json1_1IdentityPoolTagsType(input.IdentityPoolTags, context),\n })), (input.OpenIdConnectProviderARNs !== undefined &&\n input.OpenIdConnectProviderARNs !== null && {\n OpenIdConnectProviderARNs: serializeAws_json1_1OIDCProviderList(input.OpenIdConnectProviderARNs, context),\n })), (input.SamlProviderARNs !== undefined &&\n input.SamlProviderARNs !== null && {\n SamlProviderARNs: serializeAws_json1_1SAMLProviderList(input.SamlProviderARNs, context),\n })), (input.SupportedLoginProviders !== undefined &&\n input.SupportedLoginProviders !== null && {\n SupportedLoginProviders: serializeAws_json1_1IdentityProviders(input.SupportedLoginProviders, context),\n }));\n};\nvar serializeAws_json1_1IdentityPoolTagsListType = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1IdentityPoolTagsType = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1IdentityProviders = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1ListIdentitiesInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.HideDisabled !== undefined && input.HideDisabled !== null && { HideDisabled: input.HideDisabled })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults })), (input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }));\n};\nvar serializeAws_json1_1ListIdentityPoolsInput = function (input, context) {\n return __assign(__assign({}, (input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults })), (input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }));\n};\nvar serializeAws_json1_1ListTagsForResourceInput = function (input, context) {\n return __assign({}, (input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn }));\n};\nvar serializeAws_json1_1LoginsList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1LoginsMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1LookupDeveloperIdentityInput = function (input, context) {\n return __assign(__assign(__assign(__assign(__assign({}, (input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier })), (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.MaxResults !== undefined && input.MaxResults !== null && { MaxResults: input.MaxResults })), (input.NextToken !== undefined && input.NextToken !== null && { NextToken: input.NextToken }));\n};\nvar serializeAws_json1_1MappingRule = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.Claim !== undefined && input.Claim !== null && { Claim: input.Claim })), (input.MatchType !== undefined && input.MatchType !== null && { MatchType: input.MatchType })), (input.RoleARN !== undefined && input.RoleARN !== null && { RoleARN: input.RoleARN })), (input.Value !== undefined && input.Value !== null && { Value: input.Value }));\n};\nvar serializeAws_json1_1MappingRulesList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return serializeAws_json1_1MappingRule(entry, context);\n });\n};\nvar serializeAws_json1_1MergeDeveloperIdentitiesInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.DestinationUserIdentifier !== undefined &&\n input.DestinationUserIdentifier !== null && { DestinationUserIdentifier: input.DestinationUserIdentifier })), (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.SourceUserIdentifier !== undefined &&\n input.SourceUserIdentifier !== null && { SourceUserIdentifier: input.SourceUserIdentifier }));\n};\nvar serializeAws_json1_1OIDCProviderList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1RoleMapping = function (input, context) {\n return __assign(__assign(__assign({}, (input.AmbiguousRoleResolution !== undefined &&\n input.AmbiguousRoleResolution !== null && { AmbiguousRoleResolution: input.AmbiguousRoleResolution })), (input.RulesConfiguration !== undefined &&\n input.RulesConfiguration !== null && {\n RulesConfiguration: serializeAws_json1_1RulesConfigurationType(input.RulesConfiguration, context),\n })), (input.Type !== undefined && input.Type !== null && { Type: input.Type }));\n};\nvar serializeAws_json1_1RoleMappingMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = serializeAws_json1_1RoleMapping(value, context), _b));\n }, {});\n};\nvar serializeAws_json1_1RolesMap = function (input, context) {\n return Object.entries(input).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar serializeAws_json1_1RulesConfigurationType = function (input, context) {\n return __assign({}, (input.Rules !== undefined &&\n input.Rules !== null && { Rules: serializeAws_json1_1MappingRulesList(input.Rules, context) }));\n};\nvar serializeAws_json1_1SAMLProviderList = function (input, context) {\n return input\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar serializeAws_json1_1SetIdentityPoolRolesInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId })), (input.RoleMappings !== undefined &&\n input.RoleMappings !== null && { RoleMappings: serializeAws_json1_1RoleMappingMap(input.RoleMappings, context) })), (input.Roles !== undefined &&\n input.Roles !== null && { Roles: serializeAws_json1_1RolesMap(input.Roles, context) }));\n};\nvar serializeAws_json1_1TagResourceInput = function (input, context) {\n return __assign(__assign({}, (input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn })), (input.Tags !== undefined &&\n input.Tags !== null && { Tags: serializeAws_json1_1IdentityPoolTagsType(input.Tags, context) }));\n};\nvar serializeAws_json1_1UnlinkDeveloperIdentityInput = function (input, context) {\n return __assign(__assign(__assign(__assign({}, (input.DeveloperProviderName !== undefined &&\n input.DeveloperProviderName !== null && { DeveloperProviderName: input.DeveloperProviderName })), (input.DeveloperUserIdentifier !== undefined &&\n input.DeveloperUserIdentifier !== null && { DeveloperUserIdentifier: input.DeveloperUserIdentifier })), (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.IdentityPoolId !== undefined &&\n input.IdentityPoolId !== null && { IdentityPoolId: input.IdentityPoolId }));\n};\nvar serializeAws_json1_1UnlinkIdentityInput = function (input, context) {\n return __assign(__assign(__assign({}, (input.IdentityId !== undefined && input.IdentityId !== null && { IdentityId: input.IdentityId })), (input.Logins !== undefined &&\n input.Logins !== null && { Logins: serializeAws_json1_1LoginsMap(input.Logins, context) })), (input.LoginsToRemove !== undefined &&\n input.LoginsToRemove !== null && {\n LoginsToRemove: serializeAws_json1_1LoginsList(input.LoginsToRemove, context),\n }));\n};\nvar serializeAws_json1_1UntagResourceInput = function (input, context) {\n return __assign(__assign({}, (input.ResourceArn !== undefined && input.ResourceArn !== null && { ResourceArn: input.ResourceArn })), (input.TagKeys !== undefined &&\n input.TagKeys !== null && { TagKeys: serializeAws_json1_1IdentityPoolTagsListType(input.TagKeys, context) }));\n};\nvar deserializeAws_json1_1CognitoIdentityProvider = function (output, context) {\n return {\n ClientId: output.ClientId !== undefined && output.ClientId !== null ? output.ClientId : undefined,\n ProviderName: output.ProviderName !== undefined && output.ProviderName !== null ? output.ProviderName : undefined,\n ServerSideTokenCheck: output.ServerSideTokenCheck !== undefined && output.ServerSideTokenCheck !== null\n ? output.ServerSideTokenCheck\n : undefined,\n };\n};\nvar deserializeAws_json1_1CognitoIdentityProviderList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1CognitoIdentityProvider(entry, context);\n });\n};\nvar deserializeAws_json1_1ConcurrentModificationException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1Credentials = function (output, context) {\n return {\n AccessKeyId: output.AccessKeyId !== undefined && output.AccessKeyId !== null ? output.AccessKeyId : undefined,\n Expiration: output.Expiration !== undefined && output.Expiration !== null\n ? new Date(Math.round(output.Expiration * 1000))\n : undefined,\n SecretKey: output.SecretKey !== undefined && output.SecretKey !== null ? output.SecretKey : undefined,\n SessionToken: output.SessionToken !== undefined && output.SessionToken !== null ? output.SessionToken : undefined,\n };\n};\nvar deserializeAws_json1_1DeleteIdentitiesResponse = function (output, context) {\n return {\n UnprocessedIdentityIds: output.UnprocessedIdentityIds !== undefined && output.UnprocessedIdentityIds !== null\n ? deserializeAws_json1_1UnprocessedIdentityIdList(output.UnprocessedIdentityIds, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1DeveloperUserAlreadyRegisteredException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1DeveloperUserIdentifierList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1ExternalServiceException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1GetCredentialsForIdentityResponse = function (output, context) {\n return {\n Credentials: output.Credentials !== undefined && output.Credentials !== null\n ? deserializeAws_json1_1Credentials(output.Credentials, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1GetIdentityPoolRolesResponse = function (output, context) {\n return {\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n RoleMappings: output.RoleMappings !== undefined && output.RoleMappings !== null\n ? deserializeAws_json1_1RoleMappingMap(output.RoleMappings, context)\n : undefined,\n Roles: output.Roles !== undefined && output.Roles !== null\n ? deserializeAws_json1_1RolesMap(output.Roles, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1GetIdResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1GetOpenIdTokenForDeveloperIdentityResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n };\n};\nvar deserializeAws_json1_1GetOpenIdTokenResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n Token: output.Token !== undefined && output.Token !== null ? output.Token : undefined,\n };\n};\nvar deserializeAws_json1_1IdentitiesList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1IdentityDescription(entry, context);\n });\n};\nvar deserializeAws_json1_1IdentityDescription = function (output, context) {\n return {\n CreationDate: output.CreationDate !== undefined && output.CreationDate !== null\n ? new Date(Math.round(output.CreationDate * 1000))\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n LastModifiedDate: output.LastModifiedDate !== undefined && output.LastModifiedDate !== null\n ? new Date(Math.round(output.LastModifiedDate * 1000))\n : undefined,\n Logins: output.Logins !== undefined && output.Logins !== null\n ? deserializeAws_json1_1LoginsList(output.Logins, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1IdentityPool = function (output, context) {\n return {\n AllowClassicFlow: output.AllowClassicFlow !== undefined && output.AllowClassicFlow !== null ? output.AllowClassicFlow : undefined,\n AllowUnauthenticatedIdentities: output.AllowUnauthenticatedIdentities !== undefined && output.AllowUnauthenticatedIdentities !== null\n ? output.AllowUnauthenticatedIdentities\n : undefined,\n CognitoIdentityProviders: output.CognitoIdentityProviders !== undefined && output.CognitoIdentityProviders !== null\n ? deserializeAws_json1_1CognitoIdentityProviderList(output.CognitoIdentityProviders, context)\n : undefined,\n DeveloperProviderName: output.DeveloperProviderName !== undefined && output.DeveloperProviderName !== null\n ? output.DeveloperProviderName\n : undefined,\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName: output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n IdentityPoolTags: output.IdentityPoolTags !== undefined && output.IdentityPoolTags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.IdentityPoolTags, context)\n : undefined,\n OpenIdConnectProviderARNs: output.OpenIdConnectProviderARNs !== undefined && output.OpenIdConnectProviderARNs !== null\n ? deserializeAws_json1_1OIDCProviderList(output.OpenIdConnectProviderARNs, context)\n : undefined,\n SamlProviderARNs: output.SamlProviderARNs !== undefined && output.SamlProviderARNs !== null\n ? deserializeAws_json1_1SAMLProviderList(output.SamlProviderARNs, context)\n : undefined,\n SupportedLoginProviders: output.SupportedLoginProviders !== undefined && output.SupportedLoginProviders !== null\n ? deserializeAws_json1_1IdentityProviders(output.SupportedLoginProviders, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1IdentityPoolShortDescription = function (output, context) {\n return {\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n IdentityPoolName: output.IdentityPoolName !== undefined && output.IdentityPoolName !== null ? output.IdentityPoolName : undefined,\n };\n};\nvar deserializeAws_json1_1IdentityPoolsList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1IdentityPoolShortDescription(entry, context);\n });\n};\nvar deserializeAws_json1_1IdentityPoolTagsType = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_json1_1IdentityProviders = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_json1_1InternalErrorException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1InvalidIdentityPoolConfigurationException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1InvalidParameterException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1LimitExceededException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1ListIdentitiesResponse = function (output, context) {\n return {\n Identities: output.Identities !== undefined && output.Identities !== null\n ? deserializeAws_json1_1IdentitiesList(output.Identities, context)\n : undefined,\n IdentityPoolId: output.IdentityPoolId !== undefined && output.IdentityPoolId !== null ? output.IdentityPoolId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n };\n};\nvar deserializeAws_json1_1ListIdentityPoolsResponse = function (output, context) {\n return {\n IdentityPools: output.IdentityPools !== undefined && output.IdentityPools !== null\n ? deserializeAws_json1_1IdentityPoolsList(output.IdentityPools, context)\n : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n };\n};\nvar deserializeAws_json1_1ListTagsForResourceResponse = function (output, context) {\n return {\n Tags: output.Tags !== undefined && output.Tags !== null\n ? deserializeAws_json1_1IdentityPoolTagsType(output.Tags, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1LoginsList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1LookupDeveloperIdentityResponse = function (output, context) {\n return {\n DeveloperUserIdentifierList: output.DeveloperUserIdentifierList !== undefined && output.DeveloperUserIdentifierList !== null\n ? deserializeAws_json1_1DeveloperUserIdentifierList(output.DeveloperUserIdentifierList, context)\n : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n NextToken: output.NextToken !== undefined && output.NextToken !== null ? output.NextToken : undefined,\n };\n};\nvar deserializeAws_json1_1MappingRule = function (output, context) {\n return {\n Claim: output.Claim !== undefined && output.Claim !== null ? output.Claim : undefined,\n MatchType: output.MatchType !== undefined && output.MatchType !== null ? output.MatchType : undefined,\n RoleARN: output.RoleARN !== undefined && output.RoleARN !== null ? output.RoleARN : undefined,\n Value: output.Value !== undefined && output.Value !== null ? output.Value : undefined,\n };\n};\nvar deserializeAws_json1_1MappingRulesList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1MappingRule(entry, context);\n });\n};\nvar deserializeAws_json1_1MergeDeveloperIdentitiesResponse = function (output, context) {\n return {\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1NotAuthorizedException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1OIDCProviderList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1ResourceConflictException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1ResourceNotFoundException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1RoleMapping = function (output, context) {\n return {\n AmbiguousRoleResolution: output.AmbiguousRoleResolution !== undefined && output.AmbiguousRoleResolution !== null\n ? output.AmbiguousRoleResolution\n : undefined,\n RulesConfiguration: output.RulesConfiguration !== undefined && output.RulesConfiguration !== null\n ? deserializeAws_json1_1RulesConfigurationType(output.RulesConfiguration, context)\n : undefined,\n Type: output.Type !== undefined && output.Type !== null ? output.Type : undefined,\n };\n};\nvar deserializeAws_json1_1RoleMappingMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = deserializeAws_json1_1RoleMapping(value, context), _b));\n }, {});\n};\nvar deserializeAws_json1_1RolesMap = function (output, context) {\n return Object.entries(output).reduce(function (acc, _a) {\n var _b;\n var _c = __read(_a, 2), key = _c[0], value = _c[1];\n if (value === null) {\n return acc;\n }\n return __assign(__assign({}, acc), (_b = {}, _b[key] = value, _b));\n }, {});\n};\nvar deserializeAws_json1_1RulesConfigurationType = function (output, context) {\n return {\n Rules: output.Rules !== undefined && output.Rules !== null\n ? deserializeAws_json1_1MappingRulesList(output.Rules, context)\n : undefined,\n };\n};\nvar deserializeAws_json1_1SAMLProviderList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return entry;\n });\n};\nvar deserializeAws_json1_1TagResourceResponse = function (output, context) {\n return {};\n};\nvar deserializeAws_json1_1TooManyRequestsException = function (output, context) {\n return {\n message: output.message !== undefined && output.message !== null ? output.message : undefined,\n };\n};\nvar deserializeAws_json1_1UnprocessedIdentityId = function (output, context) {\n return {\n ErrorCode: output.ErrorCode !== undefined && output.ErrorCode !== null ? output.ErrorCode : undefined,\n IdentityId: output.IdentityId !== undefined && output.IdentityId !== null ? output.IdentityId : undefined,\n };\n};\nvar deserializeAws_json1_1UnprocessedIdentityIdList = function (output, context) {\n return (output || [])\n .filter(function (e) { return e != null; })\n .map(function (entry) {\n if (entry === null) {\n return null;\n }\n return deserializeAws_json1_1UnprocessedIdentityId(entry, context);\n });\n};\nvar deserializeAws_json1_1UntagResourceResponse = function (output, context) {\n return {};\n};\nvar deserializeMetadata = function (output) {\n var _a;\n return ({\n httpStatusCode: output.statusCode,\n requestId: (_a = output.headers[\"x-amzn-requestid\"]) !== null && _a !== void 0 ? _a : output.headers[\"x-amzn-request-id\"],\n extendedRequestId: output.headers[\"x-amz-id-2\"],\n cfId: output.headers[\"x-amz-cf-id\"],\n });\n};\n// Collect low-level response body stream to Uint8Array.\nvar collectBody = function (streamBody, context) {\n if (streamBody === void 0) { streamBody = new Uint8Array(); }\n if (streamBody instanceof Uint8Array) {\n return Promise.resolve(streamBody);\n }\n return context.streamCollector(streamBody) || Promise.resolve(new Uint8Array());\n};\n// Encode Uint8Array data into string with utf-8.\nvar collectBodyString = function (streamBody, context) {\n return collectBody(streamBody, context).then(function (body) { return context.utf8Encoder(body); });\n};\nvar buildHttpRpcRequest = function (context, headers, path, resolvedHostname, body) { return __awaiter(void 0, void 0, void 0, function () {\n var _a, hostname, _b, protocol, port, contents;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, context.endpoint()];\n case 1:\n _a = _c.sent(), hostname = _a.hostname, _b = _a.protocol, protocol = _b === void 0 ? \"https\" : _b, port = _a.port;\n contents = {\n protocol: protocol,\n hostname: hostname,\n port: port,\n method: \"POST\",\n path: path,\n headers: headers,\n };\n if (resolvedHostname !== undefined) {\n contents.hostname = resolvedHostname;\n }\n if (body !== undefined) {\n contents.body = body;\n }\n return [2 /*return*/, new __HttpRequest(contents)];\n }\n });\n}); };\nvar parseBody = function (streamBody, context) {\n return collectBodyString(streamBody, context).then(function (encoded) {\n if (encoded.length) {\n return JSON.parse(encoded);\n }\n return {};\n });\n};\n/**\n * Load an error code for the aws.rest-json-1.1 protocol.\n */\nvar loadRestJsonErrorCode = function (output, data) {\n var findKey = function (object, key) { return Object.keys(object).find(function (k) { return k.toLowerCase() === key.toLowerCase(); }); };\n var sanitizeErrorCode = function (rawValue) {\n var cleanValue = rawValue;\n if (cleanValue.indexOf(\":\") >= 0) {\n cleanValue = cleanValue.split(\":\")[0];\n }\n if (cleanValue.indexOf(\"#\") >= 0) {\n cleanValue = cleanValue.split(\"#\")[1];\n }\n return cleanValue;\n };\n var headerKey = findKey(output.headers, \"x-amzn-errortype\");\n if (headerKey !== undefined) {\n return sanitizeErrorCode(output.headers[headerKey]);\n }\n if (data.code !== undefined) {\n return sanitizeErrorCode(data.code);\n }\n if (data[\"__type\"] !== undefined) {\n return sanitizeErrorCode(data[\"__type\"]);\n }\n return \"\";\n};\n//# sourceMappingURL=Aws_json1_1.js.map","/******************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (g && (g = 0, op[0] && (_ = 0)), _) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport var __createBinding = Object.create ? (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n var desc = Object.getOwnPropertyDescriptor(m, k);\r\n if (!desc || (\"get\" in desc ? !m.__esModule : desc.writable || desc.configurable)) {\r\n desc = { enumerable: true, get: function() { return m[k]; } };\r\n }\r\n Object.defineProperty(o, k2, desc);\r\n}) : (function(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n});\r\n\r\nexport function __exportStar(m, o) {\r\n for (var p in m) if (p !== \"default\" && !Object.prototype.hasOwnProperty.call(o, p)) __createBinding(o, m, p);\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\n/** @deprecated */\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n}\r\n\r\nexport function __spreadArray(to, from, pack) {\r\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\r\n if (ar || !(i in from)) {\r\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\r\n ar[i] = from[i];\r\n }\r\n }\r\n return to.concat(ar || Array.prototype.slice.call(from));\r\n}\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nvar __setModuleDefault = Object.create ? (function(o, v) {\r\n Object.defineProperty(o, \"default\", { enumerable: true, value: v });\r\n}) : function(o, v) {\r\n o[\"default\"] = v;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (k !== \"default\" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);\r\n __setModuleDefault(result, mod);\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, state, kind, f) {\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a getter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot read private member from an object whose class did not declare it\");\r\n return kind === \"m\" ? f : kind === \"a\" ? f.call(receiver) : f ? f.value : state.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, state, value, kind, f) {\r\n if (kind === \"m\") throw new TypeError(\"Private method is not writable\");\r\n if (kind === \"a\" && !f) throw new TypeError(\"Private accessor was defined without a setter\");\r\n if (typeof state === \"function\" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError(\"Cannot write private member to an object whose class did not declare it\");\r\n return (kind === \"a\" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;\r\n}\r\n\r\nexport function __classPrivateFieldIn(state, receiver) {\r\n if (receiver === null || (typeof receiver !== \"object\" && typeof receiver !== \"function\")) throw new TypeError(\"Cannot use 'in' operator on non-object\");\r\n return typeof state === \"function\" ? receiver === state : state.has(receiver);\r\n}\r\n","import { __awaiter, __generator } from \"tslib\";\nimport { GetCredentialsForIdentityCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { resolveLogins } from \"./resolveLogins\";\n/**\n * Retrieves temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from this function call are not cached internally.\n */\nexport function fromCognitoIdentity(parameters) {\n var _this = this;\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, _b, _c, AccessKeyId, Expiration, _d, SecretKey, SessionToken, _e, _f, _g, _h;\n var _j;\n return __generator(this, function (_k) {\n switch (_k.label) {\n case 0:\n _f = (_e = parameters.client).send;\n _g = GetCredentialsForIdentityCommand.bind;\n _j = {\n CustomRoleArn: parameters.customRoleArn,\n IdentityId: parameters.identityId\n };\n if (!parameters.logins) return [3 /*break*/, 2];\n return [4 /*yield*/, resolveLogins(parameters.logins)];\n case 1:\n _h = _k.sent();\n return [3 /*break*/, 3];\n case 2:\n _h = undefined;\n _k.label = 3;\n case 3: return [4 /*yield*/, _f.apply(_e, [new (_g.apply(GetCredentialsForIdentityCommand, [void 0, (_j.Logins = _h,\n _j)]))()])];\n case 4:\n _a = (_k.sent()).Credentials, _b = _a === void 0 ? throwOnMissingCredentials() : _a, _c = _b.AccessKeyId, AccessKeyId = _c === void 0 ? throwOnMissingAccessKeyId() : _c, Expiration = _b.Expiration, _d = _b.SecretKey, SecretKey = _d === void 0 ? throwOnMissingSecretKey() : _d, SessionToken = _b.SessionToken;\n return [2 /*return*/, {\n identityId: parameters.identityId,\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n }];\n }\n });\n }); };\n}\nfunction throwOnMissingAccessKeyId() {\n throw new ProviderError(\"Response from Amazon Cognito contained no access key ID\");\n}\nfunction throwOnMissingCredentials() {\n throw new ProviderError(\"Response from Amazon Cognito contained no credentials\");\n}\nfunction throwOnMissingSecretKey() {\n throw new ProviderError(\"Response from Amazon Cognito contained no secret key\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvZ25pdG9JZGVudGl0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9mcm9tQ29nbml0b0lkZW50aXR5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQSxPQUFPLEVBQUUsZ0NBQWdDLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNwRixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBU2hEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLG1CQUFtQixDQUFDLFVBQXlDO0lBQTdFLGlCQXlCQztJQXhCQyxPQUFPOzs7Ozs7b0JBUUssS0FBQSxDQUFBLEtBQUEsVUFBVSxDQUFDLE1BQU0sQ0FBQSxDQUFDLElBQUksQ0FBQTt5QkFDMUIsZ0NBQWdDOzt3QkFDbEMsYUFBYSxFQUFFLFVBQVUsQ0FBQyxhQUFhO3dCQUN2QyxVQUFVLEVBQUUsVUFBVSxDQUFDLFVBQVU7O3lCQUN6QixVQUFVLENBQUMsTUFBTSxFQUFqQix3QkFBaUI7b0JBQUcscUJBQU0sYUFBYSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsRUFBQTs7b0JBQXRDLEtBQUEsU0FBc0MsQ0FBQTs7O29CQUFHLEtBQUEsU0FBUyxDQUFBOzt3QkFKOUUscUJBQU0sY0FDUixjQUFJLGdDQUFnQyxZQUdsQyxTQUFNLEtBQXdFO3dDQUM5RSxFQUNILEVBQUE7O29CQVpDLEtBTUUsQ0FBQSxTQU1ILENBQUEsWUFQZ0MsRUFML0IscUJBS0kseUJBQXlCLEVBQUUsS0FBQSxFQUo3QixtQkFBeUMsRUFBekMsV0FBVyxtQkFBRyx5QkFBeUIsRUFBRSxLQUFBLEVBQ3pDLFVBQVUsZ0JBQUEsRUFDVixpQkFBcUMsRUFBckMsU0FBUyxtQkFBRyx1QkFBdUIsRUFBRSxLQUFBLEVBQ3JDLFlBQVksa0JBQUE7b0JBVWhCLHNCQUFPOzRCQUNMLFVBQVUsRUFBRSxVQUFVLENBQUMsVUFBVTs0QkFDakMsV0FBVyxFQUFFLFdBQVc7NEJBQ3hCLGVBQWUsRUFBRSxTQUFTOzRCQUMxQixZQUFZLEVBQUUsWUFBWTs0QkFDMUIsVUFBVSxFQUFFLFVBQVU7eUJBQ3ZCLEVBQUM7OztTQUNILENBQUM7QUFDSixDQUFDO0FBVUQsU0FBUyx5QkFBeUI7SUFDaEMsTUFBTSxJQUFJLGFBQWEsQ0FBQyx5REFBeUQsQ0FBQyxDQUFDO0FBQ3JGLENBQUM7QUFFRCxTQUFTLHlCQUF5QjtJQUNoQyxNQUFNLElBQUksYUFBYSxDQUFDLHVEQUF1RCxDQUFDLENBQUM7QUFDbkYsQ0FBQztBQUVELFNBQVMsdUJBQXVCO0lBQzlCLE1BQU0sSUFBSSxhQUFhLENBQUMsc0RBQXNELENBQUMsQ0FBQztBQUNsRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0Q3JlZGVudGlhbHNGb3JJZGVudGl0eUNvbW1hbmQgfSBmcm9tIFwiQGF3cy1zZGsvY2xpZW50LWNvZ25pdG8taWRlbnRpdHlcIjtcbmltcG9ydCB7IFByb3ZpZGVyRXJyb3IgfSBmcm9tIFwiQGF3cy1zZGsvcHJvcGVydHktcHJvdmlkZXJcIjtcbmltcG9ydCB7IENyZWRlbnRpYWxQcm92aWRlciwgQ3JlZGVudGlhbHMgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQ29nbml0b1Byb3ZpZGVyUGFyYW1ldGVycyB9IGZyb20gXCIuL0NvZ25pdG9Qcm92aWRlclBhcmFtZXRlcnNcIjtcbmltcG9ydCB7IHJlc29sdmVMb2dpbnMgfSBmcm9tIFwiLi9yZXNvbHZlTG9naW5zXCI7XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29nbml0b0lkZW50aXR5Q3JlZGVudGlhbHMgZXh0ZW5kcyBDcmVkZW50aWFscyB7XG4gIC8qKlxuICAgKiBUaGUgQ29nbml0byBJRCByZXR1cm5lZCBieSB0aGUgbGFzdCBjYWxsIHRvIEFXUy5Db2duaXRvSWRlbnRpdHkuZ2V0T3BlbklkVG9rZW4oKS5cbiAgICovXG4gIGlkZW50aXR5SWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGVtcG9yYXJ5IEFXUyBjcmVkZW50aWFscyB1c2luZyBBbWF6b24gQ29nbml0bydzXG4gKiBgR2V0Q3JlZGVudGlhbHNGb3JJZGVudGl0eWAgb3BlcmF0aW9uLlxuICpcbiAqIFJlc3VsdHMgZnJvbSB0aGlzIGZ1bmN0aW9uIGNhbGwgYXJlIG5vdCBjYWNoZWQgaW50ZXJuYWxseS5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21Db2duaXRvSWRlbnRpdHkocGFyYW1ldGVyczogRnJvbUNvZ25pdG9JZGVudGl0eVBhcmFtZXRlcnMpOiBDcmVkZW50aWFsUHJvdmlkZXIge1xuICByZXR1cm4gYXN5bmMgKCk6IFByb21pc2U8Q29nbml0b0lkZW50aXR5Q3JlZGVudGlhbHM+ID0+IHtcbiAgICBjb25zdCB7XG4gICAgICBDcmVkZW50aWFsczoge1xuICAgICAgICBBY2Nlc3NLZXlJZCA9IHRocm93T25NaXNzaW5nQWNjZXNzS2V5SWQoKSxcbiAgICAgICAgRXhwaXJhdGlvbixcbiAgICAgICAgU2VjcmV0S2V5ID0gdGhyb3dPbk1pc3NpbmdTZWNyZXRLZXkoKSxcbiAgICAgICAgU2Vzc2lvblRva2VuLFxuICAgICAgfSA9IHRocm93T25NaXNzaW5nQ3JlZGVudGlhbHMoKSxcbiAgICB9ID0gYXdhaXQgcGFyYW1ldGVycy5jbGllbnQuc2VuZChcbiAgICAgIG5ldyBHZXRDcmVkZW50aWFsc0ZvcklkZW50aXR5Q29tbWFuZCh7XG4gICAgICAgIEN1c3RvbVJvbGVBcm46IHBhcmFtZXRlcnMuY3VzdG9tUm9sZUFybixcbiAgICAgICAgSWRlbnRpdHlJZDogcGFyYW1ldGVycy5pZGVudGl0eUlkLFxuICAgICAgICBMb2dpbnM6IHBhcmFtZXRlcnMubG9naW5zID8gYXdhaXQgcmVzb2x2ZUxvZ2lucyhwYXJhbWV0ZXJzLmxvZ2lucykgOiB1bmRlZmluZWQsXG4gICAgICB9KVxuICAgICk7XG5cbiAgICByZXR1cm4ge1xuICAgICAgaWRlbnRpdHlJZDogcGFyYW1ldGVycy5pZGVudGl0eUlkLFxuICAgICAgYWNjZXNzS2V5SWQ6IEFjY2Vzc0tleUlkLFxuICAgICAgc2VjcmV0QWNjZXNzS2V5OiBTZWNyZXRLZXksXG4gICAgICBzZXNzaW9uVG9rZW46IFNlc3Npb25Ub2tlbixcbiAgICAgIGV4cGlyYXRpb246IEV4cGlyYXRpb24sXG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGcm9tQ29nbml0b0lkZW50aXR5UGFyYW1ldGVycyBleHRlbmRzIENvZ25pdG9Qcm92aWRlclBhcmFtZXRlcnMge1xuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaWRlbnRpdHkgYWdhaW5zdCB3aGljaCBjcmVkZW50aWFscyB3aWxsIGJlXG4gICAqIGlzc3VlZC5cbiAgICovXG4gIGlkZW50aXR5SWQ6IHN0cmluZztcbn1cblxuZnVuY3Rpb24gdGhyb3dPbk1pc3NpbmdBY2Nlc3NLZXlJZCgpOiBuZXZlciB7XG4gIHRocm93IG5ldyBQcm92aWRlckVycm9yKFwiUmVzcG9uc2UgZnJvbSBBbWF6b24gQ29nbml0byBjb250YWluZWQgbm8gYWNjZXNzIGtleSBJRFwiKTtcbn1cblxuZnVuY3Rpb24gdGhyb3dPbk1pc3NpbmdDcmVkZW50aWFscygpOiBuZXZlciB7XG4gIHRocm93IG5ldyBQcm92aWRlckVycm9yKFwiUmVzcG9uc2UgZnJvbSBBbWF6b24gQ29nbml0byBjb250YWluZWQgbm8gY3JlZGVudGlhbHNcIik7XG59XG5cbmZ1bmN0aW9uIHRocm93T25NaXNzaW5nU2VjcmV0S2V5KCk6IG5ldmVyIHtcbiAgdGhyb3cgbmV3IFByb3ZpZGVyRXJyb3IoXCJSZXNwb25zZSBmcm9tIEFtYXpvbiBDb2duaXRvIGNvbnRhaW5lZCBubyBzZWNyZXQga2V5XCIpO1xufVxuIl19","var STORE_NAME = \"IdentityIds\";\nvar IndexedDbStorage = /** @class */ (function () {\n function IndexedDbStorage(dbName) {\n if (dbName === void 0) { dbName = \"aws:cognito-identity-ids\"; }\n this.dbName = dbName;\n }\n IndexedDbStorage.prototype.getItem = function (key) {\n return this.withObjectStore(\"readonly\", function (store) {\n var req = store.get(key);\n return new Promise(function (resolve) {\n req.onerror = function () { return resolve(null); };\n req.onsuccess = function () { return resolve(req.result ? req.result.value : null); };\n });\n }).catch(function () { return null; });\n };\n IndexedDbStorage.prototype.removeItem = function (key) {\n return this.withObjectStore(\"readwrite\", function (store) {\n var req = store.delete(key);\n return new Promise(function (resolve, reject) {\n req.onerror = function () { return reject(req.error); };\n req.onsuccess = function () { return resolve(); };\n });\n });\n };\n IndexedDbStorage.prototype.setItem = function (id, value) {\n return this.withObjectStore(\"readwrite\", function (store) {\n var req = store.put({ id: id, value: value });\n return new Promise(function (resolve, reject) {\n req.onerror = function () { return reject(req.error); };\n req.onsuccess = function () { return resolve(); };\n });\n });\n };\n IndexedDbStorage.prototype.getDb = function () {\n var openDbRequest = self.indexedDB.open(this.dbName, 1);\n return new Promise(function (resolve, reject) {\n openDbRequest.onsuccess = function () {\n resolve(openDbRequest.result);\n };\n openDbRequest.onerror = function () {\n reject(openDbRequest.error);\n };\n openDbRequest.onblocked = function () {\n reject(new Error(\"Unable to access DB\"));\n };\n openDbRequest.onupgradeneeded = function () {\n var db = openDbRequest.result;\n db.onerror = function () {\n reject(new Error(\"Failed to create object store\"));\n };\n db.createObjectStore(STORE_NAME, { keyPath: \"id\" });\n };\n });\n };\n IndexedDbStorage.prototype.withObjectStore = function (mode, action) {\n return this.getDb().then(function (db) {\n var tx = db.transaction(STORE_NAME, mode);\n tx.oncomplete = function () { return db.close(); };\n return new Promise(function (resolve, reject) {\n tx.onerror = function () { return reject(tx.error); };\n resolve(action(tx.objectStore(STORE_NAME)));\n }).catch(function (err) {\n db.close();\n throw err;\n });\n });\n };\n return IndexedDbStorage;\n}());\nexport { IndexedDbStorage };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5kZXhlZERiU3RvcmFnZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9JbmRleGVkRGJTdG9yYWdlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLElBQU0sVUFBVSxHQUFHLGFBQWEsQ0FBQztBQUVqQztJQUNFLDBCQUE2QixNQUEyQztRQUEzQyx1QkFBQSxFQUFBLG1DQUEyQztRQUEzQyxXQUFNLEdBQU4sTUFBTSxDQUFxQztJQUFHLENBQUM7SUFFNUUsa0NBQU8sR0FBUCxVQUFRLEdBQVc7UUFDakIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFVBQVUsRUFBRSxVQUFDLEtBQUs7WUFDNUMsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUUzQixPQUFPLElBQUksT0FBTyxDQUFnQixVQUFDLE9BQU87Z0JBQ3hDLEdBQUcsQ0FBQyxPQUFPLEdBQUcsY0FBTSxPQUFBLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBYixDQUFhLENBQUM7Z0JBRWxDLEdBQUcsQ0FBQyxTQUFTLEdBQUcsY0FBTSxPQUFBLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEVBQTdDLENBQTZDLENBQUM7WUFDdEUsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQyxLQUFLLENBQUMsY0FBTSxPQUFBLElBQUksRUFBSixDQUFJLENBQUMsQ0FBQztJQUN2QixDQUFDO0lBRUQscUNBQVUsR0FBVixVQUFXLEdBQVc7UUFDcEIsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLFdBQVcsRUFBRSxVQUFDLEtBQUs7WUFDN0MsSUFBTSxHQUFHLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUU5QixPQUFPLElBQUksT0FBTyxDQUFPLFVBQUMsT0FBTyxFQUFFLE1B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S0FBSyxFQUFFLENBQUM7Z0JBQ1gsTUFBTSxHQUFHLENBQUM7WUFDWixDQUFDLENBQUMsQ0FBQztRQUNMLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUNILHVCQUFDO0FBQUQsQ0FBQyxBQWhGRCxJQWdGQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFN0b3JhZ2UgfSBmcm9tIFwiLi9TdG9yYWdlXCI7XG5cbmNvbnN0IFNUT1JFX05BTUUgPSBcIklkZW50aXR5SWRzXCI7XG5cbmV4cG9ydCBjbGFzcyBJbmRleGVkRGJTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgZGJOYW1lOiBzdHJpbmcgPSBcImF3czpjb2duaXRvLWlkZW50aXR5LWlkc1wiKSB7fVxuXG4gIGdldEl0ZW0oa2V5OiBzdHJpbmcpOiBQcm9taXNlPHN0cmluZyB8IG51bGw+IHtcbiAgICByZXR1cm4gdGhpcy53aXRoT2JqZWN0U3RvcmUoXCJyZWFkb25seVwiLCAoc3RvcmUpID0+IHtcbiAgICAgIGNvbnN0IHJlcSA9IHN0b3JlLmdldChrZXkpO1xuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8c3RyaW5nIHwgbnVsbD4oKHJlc29sdmUpID0+IHtcbiAgICAgICAgcmVxLm9uZXJyb3IgPSAoKSA9PiByZXNvbHZlKG51bGwpO1xuXG4gICAgICAgIHJlcS5vbnN1Y2Nlc3MgPSAoKSA9PiByZXNvbHZlKHJlcS5yZXN1bHQgPyByZXEucmVzdWx0LnZhbHVlIDogbnVsbCk7XG4gICAgICB9KTtcbiAgICB9KS5jYXRjaCgoKSA9PiBudWxsKTtcbiAgfVxuXG4gIHJlbW92ZUl0ZW0oa2V5OiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy53aXRoT2JqZWN0U3RvcmUoXCJyZWFkd3JpdGVcIiwgKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBzdG9yZS5kZWxldGUoa2V5KTtcblxuICAgICAgcmV0dXJuIG5ldyBQcm9taXNlPHZvaWQ+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgcmVxLm9uZXJyb3IgPSAoKSA9PiByZWplY3QocmVxLmVycm9yKTtcblxuICAgICAgICByZXEub25zdWNjZXNzID0gKCkgPT4gcmVzb2x2ZSgpO1xuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cblxuICBzZXRJdGVtKGlkOiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpOiBQcm9taXNlPHZvaWQ+IHtcbiAgICByZXR1cm4gdGhpcy53aXRoT2JqZWN0U3RvcmUoXCJyZWFkd3JpdGVcIiwgKHN0b3JlKSA9PiB7XG4gICAgICBjb25zdCByZXEgPSBzdG9yZS5wdXQoeyBpZCwgdmFsdWUgfSk7XG5cbiAgICAgIHJldHVybiBuZXcgUHJvbWlzZTx2b2lkPigocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICAgIHJlcS5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHJlcS5lcnJvcik7XG5cbiAgICAgICAgcmVxLm9uc3VjY2VzcyA9ICgpID0+IHJlc29sdmUoKTtcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG5cbiAgcHJpdmF0ZSBnZXREYigpOiBQcm9taXNlPElEQkRhdGFiYXNlPiB7XG4gICAgY29uc3Qgb3BlbkRiUmVxdWVzdCA9IHNlbGYuaW5kZXhlZERCLm9wZW4odGhpcy5kYk5hbWUsIDEpO1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBvcGVuRGJSZXF1ZXN0Lm9uc3VjY2VzcyA9ICgpID0+IHtcbiAgICAgICAgcmVzb2x2ZShvcGVuRGJSZXF1ZXN0LnJlc3VsdCk7XG4gICAgICB9O1xuXG4gICAgICBvcGVuRGJSZXF1ZXN0Lm9uZXJyb3IgPSAoKSA9PiB7XG4gICAgICAgIHJlamVjdChvcGVuRGJSZXF1ZXN0LmVycm9yKTtcbiAgICAgIH07XG5cbiAgICAgIG9wZW5EYlJlcXVlc3Qub25ibG9ja2VkID0gKCkgPT4ge1xuICAgICAgICByZWplY3QobmV3IEVycm9yKFwiVW5hYmxlIHRvIGFjY2VzcyBEQlwiKSk7XG4gICAgICB9O1xuXG4gICAgICBvcGVuRGJSZXF1ZXN0Lm9udXBncmFkZW5lZWRlZCA9ICgpID0+IHtcbiAgICAgICAgY29uc3QgZGIgPSBvcGVuRGJSZXF1ZXN0LnJlc3VsdDtcbiAgICAgICAgZGIub25lcnJvciA9ICgpID0+IHtcbiAgICAgICAgICByZWplY3QobmV3IEVycm9yKFwiRmFpbGVkIHRvIGNyZWF0ZSBvYmplY3Qgc3RvcmVcIikpO1xuICAgICAgICB9O1xuXG4gICAgICAgIGRiLmNyZWF0ZU9iamVjdFN0b3JlKFNUT1JFX05BTUUsIHsga2V5UGF0aDogXCJpZFwiIH0pO1xuICAgICAgfTtcbiAgICB9KTtcbiAgfVxuXG4gIHByaXZhdGUgd2l0aE9iamVjdFN0b3JlPFI+KG1vZGU6IElEQlRyYW5zYWN0aW9uTW9kZSwgYWN0aW9uOiAoc3RvcmU6IElEQk9iamVjdFN0b3JlKSA9PiBQcm9taXNlPFI+KTogUHJvbWlzZTxSPiB7XG4gICAgcmV0dXJuIHRoaXMuZ2V0RGIoKS50aGVuKChkYikgPT4ge1xuICAgICAgY29uc3QgdHggPSBkYi50cmFuc2FjdGlvbihTVE9SRV9OQU1FLCBtb2RlKTtcbiAgICAgIHR4Lm9uY29tcGxldGUgPSAoKSA9PiBkYi5jbG9zZSgpO1xuXG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8Uj4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgICB0eC5vbmVycm9yID0gKCkgPT4gcmVqZWN0KHR4LmVycm9yKTtcblxuICAgICAgICByZXNvbHZlKGFjdGlvbih0eC5vYmplY3RTdG9yZShTVE9SRV9OQU1FKSkpO1xuICAgICAgfSkuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICBkYi5jbG9zZSgpO1xuICAgICAgICB0aHJvdyBlcnI7XG4gICAgICB9KTtcbiAgICB9KTtcbiAgfVxufVxuIl19","import { IndexedDbStorage } from \"./IndexedDbStorage\";\nimport { InMemoryStorage } from \"./InMemoryStorage\";\nvar inMemoryStorage = new InMemoryStorage();\nexport function localStorage() {\n if (typeof self === \"object\" && self.indexedDB) {\n return new IndexedDbStorage();\n }\n if (typeof window === \"object\" && window.localStorage) {\n return window.localStorage;\n }\n return inMemoryStorage;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xvY2FsU3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUN0RCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFHcEQsSUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztBQUU5QyxNQUFNLFVBQVUsWUFBWTtJQUMxQixJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFO1FBQzlDLE9BQU8sSUFBSSxnQkFBZ0IsRUFBRSxDQUFDO0tBQy9CO0lBRUQsSUFBSSxPQUFPLE1BQU0sS0FBSyxRQUFRLElBQUksTUFBTSxDQUFDLFlBQVksRUFBRTtRQUNyRCxPQUFPLE1BQU0sQ0FBQyxZQUFZLENBQUM7S0FDNUI7SUFFRCxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5kZXhlZERiU3RvcmFnZSB9IGZyb20gXCIuL0luZGV4ZWREYlN0b3JhZ2VcIjtcbmltcG9ydCB7IEluTWVtb3J5U3RvcmFnZSB9IGZyb20gXCIuL0luTWVtb3J5U3RvcmFnZVwiO1xuaW1wb3J0IHsgU3RvcmFnZSB9IGZyb20gXCIuL1N0b3JhZ2VcIjtcblxuY29uc3QgaW5NZW1vcnlTdG9yYWdlID0gbmV3IEluTWVtb3J5U3RvcmFnZSgpO1xuXG5leHBvcnQgZnVuY3Rpb24gbG9jYWxTdG9yYWdlKCk6IFN0b3JhZ2Uge1xuICBpZiAodHlwZW9mIHNlbGYgPT09IFwib2JqZWN0XCIgJiYgc2VsZi5pbmRleGVkREIpIHtcbiAgICByZXR1cm4gbmV3IEluZGV4ZWREYlN0b3JhZ2UoKTtcbiAgfVxuXG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSBcIm9iamVjdFwiICYmIHdpbmRvdy5sb2NhbFN0b3JhZ2UpIHtcbiAgICByZXR1cm4gd2luZG93LmxvY2FsU3RvcmFnZTtcbiAgfVxuXG4gIHJldHVybiBpbk1lbW9yeVN0b3JhZ2U7XG59XG4iXX0=","var InMemoryStorage = /** @class */ (function () {\n function InMemoryStorage(store) {\n if (store === void 0) { store = {}; }\n this.store = store;\n }\n InMemoryStorage.prototype.getItem = function (key) {\n if (key in this.store) {\n return this.store[key];\n }\n return null;\n };\n InMemoryStorage.prototype.removeItem = function (key) {\n delete this.store[key];\n };\n InMemoryStorage.prototype.setItem = function (key, value) {\n this.store[key] = value;\n };\n return InMemoryStorage;\n}());\nexport { InMemoryStorage };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSW5NZW1vcnlTdG9yYWdlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL0luTWVtb3J5U3RvcmFnZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQTtJQUNFLHlCQUFvQixLQUFxQztRQUFyQyxzQkFBQSxFQUFBLFVBQXFDO1FBQXJDLFVBQUssR0FBTCxLQUFLLENBQWdDO0lBQUcsQ0FBQztJQUU3RCxpQ0FBTyxHQUFQLFVBQVEsR0FBVztRQUNqQixJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFO1lBQ3JCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUN4QjtRQUVELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELG9DQUFVLEdBQVYsVUFBVyxHQUFXO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN6QixDQUFDO0lBRUQsaUNBQU8sR0FBUCxVQUFRLEdBQVcsRUFBRSxLQUFhO1FBQ2hDLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0lBQzFCLENBQUM7SUFDSCxzQkFBQztBQUFELENBQUMsQUFsQkQsSUFrQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xuXG5leHBvcnQgY2xhc3MgSW5NZW1vcnlTdG9yYWdlIGltcGxlbWVudHMgU3RvcmFnZSB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc3RvcmU6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nIH0gPSB7fSkge31cblxuICBnZXRJdGVtKGtleTogc3RyaW5nKTogc3RyaW5nIHwgbnVsbCB7XG4gICAgaWYgKGtleSBpbiB0aGlzLnN0b3JlKSB7XG4gICAgICByZXR1cm4gdGhpcy5zdG9yZVtrZXldO1xuICAgIH1cblxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgcmVtb3ZlSXRlbShrZXk6IHN0cmluZyk6IHZvaWQge1xuICAgIGRlbGV0ZSB0aGlzLnN0b3JlW2tleV07XG4gIH1cblxuICBzZXRJdGVtKGtleTogc3RyaW5nLCB2YWx1ZTogc3RyaW5nKTogdm9pZCB7XG4gICAgdGhpcy5zdG9yZVtrZXldID0gdmFsdWU7XG4gIH1cbn1cbiJdfQ==","import { __awaiter, __generator } from \"tslib\";\nimport { GetIdCommand } from \"@aws-sdk/client-cognito-identity\";\nimport { ProviderError } from \"@aws-sdk/property-provider\";\nimport { fromCognitoIdentity } from \"./fromCognitoIdentity\";\nimport { localStorage } from \"./localStorage\";\nimport { resolveLogins } from \"./resolveLogins\";\n/**\n * Retrieves or generates a unique identifier using Amazon Cognito's `GetId`\n * operation, then generates temporary AWS credentials using Amazon Cognito's\n * `GetCredentialsForIdentity` operation.\n *\n * Results from `GetId` are cached internally, but results from\n * `GetCredentialsForIdentity` are not.\n */\nexport function fromCognitoIdentityPool(_a) {\n var _this = this;\n var accountId = _a.accountId, _b = _a.cache, cache = _b === void 0 ? localStorage() : _b, client = _a.client, customRoleArn = _a.customRoleArn, identityPoolId = _a.identityPoolId, logins = _a.logins, _c = _a.userIdentifier, userIdentifier = _c === void 0 ? !logins || Object.keys(logins).length === 0 ? \"ANONYMOUS\" : undefined : _c;\n var cacheKey = userIdentifier ? \"aws:cognito-identity-credentials:\" + identityPoolId + \":\" + userIdentifier : undefined;\n var provider = function () { return __awaiter(_this, void 0, void 0, function () {\n var identityId, _a, _b, IdentityId, _c, _d, _e, _f;\n var _g;\n return __generator(this, function (_h) {\n switch (_h.label) {\n case 0:\n _a = cacheKey;\n if (!_a) return [3 /*break*/, 2];\n return [4 /*yield*/, cache.getItem(cacheKey)];\n case 1:\n _a = (_h.sent());\n _h.label = 2;\n case 2:\n identityId = _a;\n if (!!identityId) return [3 /*break*/, 7];\n _d = (_c = client).send;\n _e = GetIdCommand.bind;\n _g = {\n AccountId: accountId,\n IdentityPoolId: identityPoolId\n };\n if (!logins) return [3 /*break*/, 4];\n return [4 /*yield*/, resolveLogins(logins)];\n case 3:\n _f = _h.sent();\n return [3 /*break*/, 5];\n case 4:\n _f = undefined;\n _h.label = 5;\n case 5: return [4 /*yield*/, _d.apply(_c, [new (_e.apply(GetIdCommand, [void 0, (_g.Logins = _f,\n _g)]))()])];\n case 6:\n _b = (_h.sent()).IdentityId, IdentityId = _b === void 0 ? throwOnMissingId() : _b;\n identityId = IdentityId;\n if (cacheKey) {\n Promise.resolve(cache.setItem(cacheKey, identityId)).catch(function () { });\n }\n _h.label = 7;\n case 7:\n provider = fromCognitoIdentity({\n client: client,\n customRoleArn: customRoleArn,\n logins: logins,\n identityId: identityId,\n });\n return [2 /*return*/, provider()];\n }\n });\n }); };\n return function () {\n return provider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n if (cacheKey) {\n Promise.resolve(cache.removeItem(cacheKey)).catch(function () { });\n }\n throw err;\n });\n }); });\n };\n}\nfunction throwOnMissingId() {\n throw new ProviderError(\"Response from Amazon Cognito contained no identity ID\");\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnJvbUNvZ25pdG9JZGVudGl0eVBvb2wuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZnJvbUNvZ25pdG9JZGVudGl0eVBvb2wudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUNoRSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFJM0QsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFDNUQsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzlDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUdoRDs7Ozs7OztHQU9HO0FBQ0gsTUFBTSxVQUFVLHVCQUF1QixDQUFDLEVBUUo7SUFScEMsaUJBNkNDO1FBNUNDLFNBQVMsZUFBQSxFQUNULGFBQXNCLEVBQXRCLEtBQUssbUJBQUcsWUFBWSxFQUFFLEtBQUEsRUFDdEIsTUFBTSxZQUFBLEVBQ04sYUFBYSxtQkFBQSxFQUNiLGNBQWMsb0JBQUEsRUFDZCxNQUFNLFlBQUEsRUFDTixzQkFBc0YsRUFBdEYsY0FBYyxtQkFBRyxDQUFDLE1BQU0sSUFBSSxNQUFNLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsU0FBUyxLQUFBO0lBRXRGLElBQU0sUUFBUSxHQUFHLGNBQWMsQ0FBQyxDQUFDLENBQUMsc0NBQW9DLGNBQWMsU0FBSSxjQUFnQixDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7SUFFckgsSUFBSSxRQUFRLEdBQXVCOzs7Ozs7b0JBQ2hCLEtBQUEsUUFBUSxDQUFBOzZCQUFSLHdCQUFRO29CQUFLLHFCQUFNLEtBQUssQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLEVBQUE7O29CQUE5QixLQUFBLENBQUMsU0FBNkIsQ0FBQyxDQUFBOzs7b0JBQXhELFVBQVUsS0FBOEM7eUJBQ3hELENBQUMsVUFBVSxFQUFYLHdCQUFXO29CQUNxQyxLQUFBLENBQUEsS0FBQSxNQUFNLENBQUEsQ0FBQyxJQUFJLENBQUE7eUJBQ3ZELFlBQVk7O3dCQUNkLFNBQVMsRUFBRSxTQUFTO3dCQUNwQixjQUFjLEVBQUUsY0FBYzs7eUJBQ3RCLE1BQU0sRUFBTix3QkFBTTtvQkFBRyxxQkFBTSxhQUFhLENBQUMsTUFBTSxDQUFDLEVBQUE7O29CQUEzQixLQUFBLFNBQTJCLENBQUE7OztvQkFBRyxLQUFBLFNBQVMsQ0FBQTs7d0JBSmhCLHFCQUFNLGNBQ2hELGNBQUksWUFBWSxZQUdkLFNBQU0sS0FBa0Q7d0NBQ3hELEVBQ0gsRUFBQTs7b0JBTk8sS0FBb0MsQ0FBQSxTQU0zQyxDQUFBLFdBTnNDLEVBQS9CLFVBQVUsbUJBQUcsZ0JBQWdCLEVBQUUsS0FBQTtvQkFPdkMsVUFBVSxHQUFHLFVBQVUsQ0FBQztvQkFDeEIsSUFBSSxRQUFRLEVBQUU7d0JBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLFFBQVEsRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxjQUFPLENBQUMsQ0FBQyxDQUFDO3FCQUN0RTs7O29CQUdILFFBQVEsR0FBRyxtQkFBbUIsQ0FBQzt3QkFDN0IsTUFBTSxRQUFBO3dCQUNOLGFBQWEsZUFBQTt3QkFDYixNQUFNLFFBQUE7d0JBQ04sVUFBVSxZQUFBO3FCQUNYLENBQUMsQ0FBQztvQkFFSCxzQkFBTyxRQUFRLEVBQUUsRUFBQzs7O1NBQ25CLENBQUM7SUFFRixPQUFPO1FBQ0wsT0FBQSxRQUFRLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBTyxHQUFHOztnQkFDekIsSUFBSSxRQUFRLEVBQUU7b0JBQ1osT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLGNBQU8sQ0FBQyxDQUFDLENBQUM7aUJBQzdEO2dCQUVELE1BQU0sR0FBRyxDQUFDOzthQUNYLENBQUM7SUFORixDQU1FLENBQUM7QUFDUCxDQUFDO0FBc0NELFNBQVMsZ0JBQWdCO0lBQ3ZCLE1BQU0sSUFBSSxhQUFhLENBQUMsdURBQXVELENBQUMsQ0FBQztBQUNuRixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgR2V0SWRDb21tYW5kIH0gZnJvbSBcIkBhd3Mtc2RrL2NsaWVudC1jb2duaXRvLWlkZW50aXR5XCI7XG5pbXBvcnQgeyBQcm92aWRlckVycm9yIH0gZnJvbSBcIkBhd3Mtc2RrL3Byb3BlcnR5LXByb3ZpZGVyXCI7XG5pbXBvcnQgeyBDcmVkZW50aWFsUHJvdmlkZXIgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuaW1wb3J0IHsgQ29nbml0b1Byb3ZpZGVyUGFyYW1ldGVycyB9IGZyb20gXCIuL0NvZ25pdG9Qcm92aWRlclBhcmFtZXRlcnNcIjtcbmltcG9ydCB7IGZyb21Db2duaXRvSWRlbnRpdHkgfSBmcm9tIFwiLi9mcm9tQ29nbml0b0lkZW50aXR5XCI7XG5pbXBvcnQgeyBsb2NhbFN0b3JhZ2UgfSBmcm9tIFwiLi9sb2NhbFN0b3JhZ2VcIjtcbmltcG9ydCB7IHJlc29sdmVMb2dpbnMgfSBmcm9tIFwiLi9yZXNvbHZlTG9naW5zXCI7XG5pbXBvcnQgeyBTdG9yYWdlIH0gZnJvbSBcIi4vU3RvcmFnZVwiO1xuXG4vKipcbiAqIFJldHJpZXZlcyBvciBnZW5lcmF0ZXMgYSB1bmlxdWUgaWRlbnRpZmllciB1c2luZyBBbWF6b24gQ29nbml0bydzIGBHZXRJZGBcbiAqIG9wZXJhdGlvbiwgdGhlbiBnZW5lcmF0ZXMgdGVtcG9yYXJ5IEFXUyBjcmVkZW50aWFscyB1c2luZyBBbWF6b24gQ29nbml0bydzXG4gKiBgR2V0Q3JlZGVudGlhbHNGb3JJZGVudGl0eWAgb3BlcmF0aW9uLlxuICpcbiAqIFJlc3VsdHMgZnJvbSBgR2V0SWRgIGFyZSBjYWNoZWQgaW50ZXJuYWxseSwgYnV0IHJlc3VsdHMgZnJvbVxuICogYEdldENyZWRlbnRpYWxzRm9ySWRlbnRpdHlgIGFyZSBub3QuXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmcm9tQ29nbml0b0lkZW50aXR5UG9vbCh7XG4gIGFjY291bnRJZCxcbiAgY2FjaGUgPSBsb2NhbFN0b3JhZ2UoKSxcbiAgY2xpZW50LFxuICBjdXN0b21Sb2xlQXJuLFxuICBpZGVudGl0eVBvb2xJZCxcbiAgbG9naW5zLFxuICB1c2VySWRlbnRpZmllciA9ICFsb2dpbnMgfHwgT2JqZWN0LmtleXMobG9naW5zKS5sZW5ndGggPT09IDAgPyBcIkFOT05ZTU9VU1wiIDogdW5kZWZpbmVkLFxufTogRnJvbUNvZ25pdG9JZGVudGl0eVBvb2xQYXJhbWV0ZXJzKTogQ3JlZGVudGlhbFByb3ZpZGVyIHtcbiAgY29uc3QgY2FjaGVLZXkgPSB1c2VySWRlbnRpZmllciA/IGBhd3M6Y29nbml0by1pZGVudGl0eS1jcmVkZW50aWFsczoke2lkZW50aXR5UG9vbElkfToke3VzZXJJZGVudGlmaWVyfWAgOiB1bmRlZmluZWQ7XG5cbiAgbGV0IHByb3ZpZGVyOiBDcmVkZW50aWFsUHJvdmlkZXIgPSBhc3luYyAoKSA9PiB7XG4gICAgbGV0IGlkZW50aXR5SWQgPSBjYWNoZUtleSAmJiAoYXdhaXQgY2FjaGUuZ2V0SXRlbShjYWNoZUtleSkpO1xuICAgIGlmICghaWRlbnRpdHlJZCkge1xuICAgICAgY29uc3QgeyBJZGVudGl0eUlkID0gdGhyb3dPbk1pc3NpbmdJZCgpIH0gPSBhd2FpdCBjbGllbnQuc2VuZChcbiAgICAgICAgbmV3IEdldElkQ29tbWFuZCh7XG4gICAgICAgICAgQWNjb3VudElkOiBhY2NvdW50SWQsXG4gICAgICAgICAgSWRlbnRpdHlQb29sSWQ6IGlkZW50aXR5UG9vbElkLFxuICAgICAgICAgIExvZ2luczogbG9naW5zID8gYXdhaXQgcmVzb2x2ZUxvZ2lucyhsb2dpbnMpIDogdW5kZWZpbmVkLFxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIGlkZW50aXR5SWQgPSBJZGVudGl0eUlkO1xuICAgICAgaWYgKGNhY2hlS2V5KSB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShjYWNoZS5zZXRJdGVtKGNhY2hlS2V5LCBpZGVudGl0eUlkKSkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHByb3ZpZGVyID0gZnJvbUNvZ25pdG9JZGVudGl0eSh7XG4gICAgICBjbGllbnQsXG4gICAgICBjdXN0b21Sb2xlQXJuLFxuICAgICAgbG9naW5zLFxuICAgICAgaWRlbnRpdHlJZCxcbiAgICB9KTtcblxuICAgIHJldHVybiBwcm92aWRlcigpO1xuICB9O1xuXG4gIHJldHVybiAoKSA9PlxuICAgIHByb3ZpZGVyKCkuY2F0Y2goYXN5bmMgKGVycikgPT4ge1xuICAgICAgaWYgKGNhY2hlS2V5KSB7XG4gICAgICAgIFByb21pc2UucmVzb2x2ZShjYWNoZS5yZW1vdmVJdGVtKGNhY2hlS2V5KSkuY2F0Y2goKCkgPT4ge30pO1xuICAgICAgfVxuXG4gICAgICB0aHJvdyBlcnI7XG4gICAgfSk7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRnJvbUNvZ25pdG9JZGVudGl0eVBvb2xQYXJhbWV0ZXJzIGV4dGVuZHMgQ29nbml0b1Byb3ZpZGVyUGFyYW1ldGVycyB7XG4gIC8qKlxuICAgKiBBIHN0YW5kYXJkIEFXUyBhY2NvdW50IElEICg5KyBkaWdpdHMpLlxuICAgKi9cbiAgYWNjb3VudElkPzogc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBBIGNhY2hlIGluIHdoaWNoIHRvIHN0b3JlIHJlc29sdmVkIENvZ25pdG8gSWRlbnRpdHlJZHMuIElmIG5vdCBzdXBwbGllZCxcbiAgICogdGhlIGNyZWRlbnRpYWwgcHJvdmlkZXIgd2lsbCBhdHRlbXB0IHRvIHN0b3JlIElkZW50aXR5SWRzIGluIG9uZSBvZiB0aGVcbiAgICogZm9sbG93aW5nIChpbiBvcmRlciBvZiBwcmVmZXJlbmNlKTpcbiAgICogICAxLiBJbmRleGVkREJcbiAgICogICAyLiBMb2NhbFN0b3JhZ2VcbiAgICogICAzLiBBbiBpbi1tZW1vcnkgY2FjaGUgb2JqZWN0IHRoYXQgd2lsbCBub3QgcGVyc2lzdCBiZXR3ZWVuIHBhZ2VzLlxuICAgKlxuICAgKiBJbmRleGVkREIgaXMgcHJlZmVycmVkIHRvIG1heGltaXplIGRhdGEgc2hhcmluZyBiZXR3ZWVuIHRvcC1sZXZlbFxuICAgKiBicm93c2luZyBjb250ZXh0cyBhbmQgd2ViIHdvcmtlcnMuXG4gICAqXG4gICAqIFRoZSBwcm92aWRlciB3aWxsIG5vdCBjYWNoZSBJZGVudGl0eUlkcyBvZiBhdXRoZW50aWNhdGVkIHVzZXJzIHVubGVzcyBhXG4gICAqIHNlcGFyYXRlIGB1c2VySWRlbnRpdGlmZXJgIHBhcmFtZXRlciBpcyBzdXBwbGllZC5cbiAgICovXG4gIGNhY2hlPzogU3RvcmFnZTtcblxuICAvKipcbiAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIGZvciB0aGUgaWRlbnRpdHkgcG9vbCBmcm9tIHdoaWNoIGFuIGlkZW50aXR5IHNob3VsZFxuICAgKiBiZSByZXRyaWV2ZWQgb3IgZ2VuZXJhdGVkLlxuICAgKi9cbiAgaWRlbnRpdHlQb29sSWQ6IHN0cmluZztcblxuICAvKipcbiAgICogQSB1bmlxdWUgaWRlbnRpZmllciBmb3IgdGhlIHVzZXIuIFRoaXMgaXMgZGlzdGluY3QgZnJvbSBhIENvZ25pdG9cbiAgICogSWRlbnRpdHlJZCBhbmQgc2hvdWxkIGluc3RlYWQgYmUgYW4gaWRlbnRpZmllciBtZWFuaW5nZnVsIHRvIHlvdXJcbiAgICogYXBwbGljYXRpb24uIFVzZWQgdG8gY2FjaGUgQ29nbml0byBJZGVudGl0eUlkcyBvbiBhIHBlci11c2VyIGJhc2lzLlxuICAgKi9cbiAgdXNlcklkZW50aWZpZXI/OiBzdHJpbmc7XG59XG5cbmZ1bmN0aW9uIHRocm93T25NaXNzaW5nSWQoKTogbmV2ZXIge1xuICB0aHJvdyBuZXcgUHJvdmlkZXJFcnJvcihcIlJlc3BvbnNlIGZyb20gQW1hem9uIENvZ25pdG8gY29udGFpbmVkIG5vIGlkZW50aXR5IElEXCIpO1xufVxuIl19","import { __read } from \"tslib\";\n/**\n * @internal\n */\nexport function resolveLogins(logins) {\n return Promise.all(Object.keys(logins).reduce(function (arr, name) {\n var tokenOrProvider = logins[name];\n if (typeof tokenOrProvider === \"string\") {\n arr.push([name, tokenOrProvider]);\n }\n else {\n arr.push(tokenOrProvider().then(function (token) { return [name, token]; }));\n }\n return arr;\n }, [])).then(function (resolvedPairs) {\n return resolvedPairs.reduce(function (logins, _a) {\n var _b = __read(_a, 2), key = _b[0], value = _b[1];\n logins[key] = value;\n return logins;\n }, {});\n });\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUxvZ2lucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9yZXNvbHZlTG9naW5zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFFQTs7R0FFRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsTUFBYztJQUMxQyxPQUFPLE9BQU8sQ0FBQyxHQUFHLENBQ2hCLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsTUFBTSxDQUFDLFVBQUMsR0FBd0QsRUFBRSxJQUFZO1FBQ2hHLElBQU0sZUFBZSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNyQyxJQUFJLE9BQU8sZUFBZSxLQUFLLFFBQVEsRUFBRTtZQUN2QyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLGVBQWUsQ0FBcUIsQ0FBQyxDQUFDO1NBQ3ZEO2FBQU07WUFDTCxHQUFHLENBQUMsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFDLEtBQUssSUFBSyxPQUFBLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBcUIsRUFBakMsQ0FBaUMsQ0FBQyxDQUFDLENBQUM7U0FDaEY7UUFDRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUMsRUFBRSxFQUFzQyxDQUFDLENBQzNDLENBQUMsSUFBSSxDQUFDLFVBQUMsYUFBYTtRQUNuQixPQUFBLGFBQWEsQ0FBQyxNQUFNLENBQUMsVUFBQyxNQUFzQixFQUFFLEVBQVk7Z0JBQVosS0FBQSxhQUFZLEVBQVgsR0FBRyxRQUFBLEVBQUUsS0FBSyxRQUFBO1lBQ3ZELE1BQU0sQ0FBQyxHQUFHLENBQUMsR0FBRyxLQUFLLENBQUM7WUFDcEIsT0FBTyxNQUFNLENBQUM7UUFDaEIsQ0FBQyxFQUFFLEVBQW9CLENBQUM7SUFIeEIsQ0FHd0IsQ0FDekIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBMb2dpbnMsIFJlc29sdmVkTG9naW5zIH0gZnJvbSBcIi4vTG9naW5zXCI7XG5cbi8qKlxuICogQGludGVybmFsXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZXNvbHZlTG9naW5zKGxvZ2luczogTG9naW5zKTogUHJvbWlzZTxSZXNvbHZlZExvZ2lucz4ge1xuICByZXR1cm4gUHJvbWlzZS5hbGwoXG4gICAgT2JqZWN0LmtleXMobG9naW5zKS5yZWR1Y2UoKGFycjogQXJyYXk8W3N0cmluZywgc3RyaW5nXSB8IFByb21pc2U8W3N0cmluZywgc3RyaW5nXT4+LCBuYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgIGNvbnN0IHRva2VuT3JQcm92aWRlciA9IGxvZ2luc1tuYW1lXTtcbiAgICAgIGlmICh0eXBlb2YgdG9rZW5PclByb3ZpZGVyID09PSBcInN0cmluZ1wiKSB7XG4gICAgICAgIGFyci5wdXNoKFtuYW1lLCB0b2tlbk9yUHJvdmlkZXJdIGFzIFtzdHJpbmcsIHN0cmluZ10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgYXJyLnB1c2godG9rZW5PclByb3ZpZGVyKCkudGhlbigodG9rZW4pID0+IFtuYW1lLCB0b2tlbl0gYXMgW3N0cmluZywgc3RyaW5nXSkpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGFycjtcbiAgICB9LCBbXSBhcyBBcnJheTxQcm9taXNlPFtzdHJpbmcsIHN0cmluZ10+PilcbiAgKS50aGVuKChyZXNvbHZlZFBhaXJzKSA9PlxuICAgIHJlc29sdmVkUGFpcnMucmVkdWNlKChsb2dpbnM6IFJlc29sdmVkTG9naW5zLCBba2V5LCB2YWx1ZV0pID0+IHtcbiAgICAgIGxvZ2luc1trZXldID0gdmFsdWU7XG4gICAgICByZXR1cm4gbG9naW5zO1xuICAgIH0sIHt9IGFzIFJlc29sdmVkTG9naW5zKVxuICApO1xufVxuIl19","import { deserializerMiddleware } from \"./deserializerMiddleware\";\nimport { serializerMiddleware } from \"./serializerMiddleware\";\nexport var deserializerMiddlewareOption = {\n name: \"deserializerMiddleware\",\n step: \"deserialize\",\n tags: [\"DESERIALIZER\"],\n override: true,\n};\nexport var serializerMiddlewareOption = {\n name: \"serializerMiddleware\",\n step: \"serialize\",\n tags: [\"SERIALIZER\"],\n override: true,\n};\nexport function getSerdePlugin(config, serializer, deserializer) {\n return {\n applyToStack: function (commandStack) {\n commandStack.add(deserializerMiddleware(config, deserializer), deserializerMiddlewareOption);\n commandStack.add(serializerMiddleware(config, serializer), serializerMiddlewareOption);\n },\n };\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyZGVQbHVnaW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyZGVQbHVnaW4udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBV0EsT0FBTyxFQUFFLHNCQUFzQixFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDbEUsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFFOUQsTUFBTSxDQUFDLElBQU0sNEJBQTRCLEdBQThCO0lBQ3JFLElBQUksRUFBRSx3QkFBd0I7SUFDOUIsSUFBSSxFQUFFLGFBQWE7SUFDbkIsSUFBSSxFQUFFLENBQUMsY0FBYyxDQUFDO0lBQ3RCLFFBQVEsRUFBRSxJQUFJO0NBQ2YsQ0FBQztBQUVGLE1BQU0sQ0FBQyxJQUFNLDBCQUEwQixHQUE0QjtJQUNqRSxJQUFJLEVBQUUsc0JBQXNCO0lBQzVCLElBQUksRUFBRSxXQUFXO0lBQ2pCLElBQUksRUFBRSxDQUFDLFlBQVksQ0FBQztJQUNwQixRQUFRLEVBQUUsSUFBSTtDQUNmLENBQUM7QUFFRixNQUFNLFVBQVUsY0FBYyxDQUs1QixNQUFvQixFQUNwQixVQUFnRCxFQUNoRCxZQUFpRTtJQUVqRSxPQUFPO1FBQ0wsWUFBWSxFQUFFLFVBQUMsWUFBb0Q7WUFDakUsWUFBWSxDQUFDLEdBQUcsQ0FBQyxzQkFBc0IsQ0FBQyxNQUFNLEVBQUUsWUFBWSxDQUFDLEVBQUUsNEJBQTRCLENBQUMsQ0FBQztZQUM3RixZQUFZLENBQUMsR0FBRyxDQUFDLG9CQUFvQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsRUFBRSwwQkFBMEIsQ0FBQyxDQUFDO1FBQ3pGLENBQUM7S0FDRixDQUFDO0FBQ0osQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIERlc2VyaWFsaXplSGFuZGxlck9wdGlvbnMsXG4gIEVuZHBvaW50QmVhcmVyLFxuICBNZXRhZGF0YUJlYXJlcixcbiAgTWlkZGxld2FyZVN0YWNrLFxuICBQbHVnZ2FibGUsXG4gIFJlcXVlc3RTZXJpYWxpemVyLFxuICBSZXNwb25zZURlc2VyaWFsaXplcixcbiAgU2VyaWFsaXplSGFuZGxlck9wdGlvbnMsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlIH0gZnJvbSBcIi4vZGVzZXJpYWxpemVyTWlkZGxld2FyZVwiO1xuaW1wb3J0IHsgc2VyaWFsaXplck1pZGRsZXdhcmUgfSBmcm9tIFwiLi9zZXJpYWxpemVyTWlkZGxld2FyZVwiO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemVyTWlkZGxld2FyZU9wdGlvbjogRGVzZXJpYWxpemVIYW5kbGVyT3B0aW9ucyA9IHtcbiAgbmFtZTogXCJkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlXCIsXG4gIHN0ZXA6IFwiZGVzZXJpYWxpemVcIixcbiAgdGFnczogW1wiREVTRVJJQUxJWkVSXCJdLFxuICBvdmVycmlkZTogdHJ1ZSxcbn07XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVyTWlkZGxld2FyZU9wdGlvbjogU2VyaWFsaXplSGFuZGxlck9wdGlvbnMgPSB7XG4gIG5hbWU6IFwic2VyaWFsaXplck1pZGRsZXdhcmVcIixcbiAgc3RlcDogXCJzZXJpYWxpemVcIixcbiAgdGFnczogW1wiU0VSSUFMSVpFUlwiXSxcbiAgb3ZlcnJpZGU6IHRydWUsXG59O1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0U2VyZGVQbHVnaW48XG4gIElucHV0VHlwZSBleHRlbmRzIG9iamVjdCxcbiAgU2VyRGVDb250ZXh0IGV4dGVuZHMgRW5kcG9pbnRCZWFyZXIsXG4gIE91dHB1dFR5cGUgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlclxuPihcbiAgY29uZmlnOiBTZXJEZUNvbnRleHQsXG4gIHNlcmlhbGl6ZXI6IFJlcXVlc3RTZXJpYWxpemVyPGFueSwgU2VyRGVDb250ZXh0PixcbiAgZGVzZXJpYWxpemVyOiBSZXNwb25zZURlc2VyaWFsaXplcjxPdXRwdXRUeXBlLCBhbnksIFNlckRlQ29udGV4dD5cbik6IFBsdWdnYWJsZTxJbnB1dFR5cGUsIE91dHB1dFR5cGU+IHtcbiAgcmV0dXJuIHtcbiAgICBhcHBseVRvU3RhY2s6IChjb21tYW5kU3RhY2s6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+KSA9PiB7XG4gICAgICBjb21tYW5kU3RhY2suYWRkKGRlc2VyaWFsaXplck1pZGRsZXdhcmUoY29uZmlnLCBkZXNlcmlhbGl6ZXIpLCBkZXNlcmlhbGl6ZXJNaWRkbGV3YXJlT3B0aW9uKTtcbiAgICAgIGNvbW1hbmRTdGFjay5hZGQoc2VyaWFsaXplck1pZGRsZXdhcmUoY29uZmlnLCBzZXJpYWxpemVyKSwgc2VyaWFsaXplck1pZGRsZXdhcmVPcHRpb24pO1xuICAgIH0sXG4gIH07XG59XG4iXX0=","import { __awaiter, __generator } from \"tslib\";\nexport var deserializerMiddleware = function (options, deserializer) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var response, parsed;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, next(args)];\n case 1:\n response = (_a.sent()).response;\n return [4 /*yield*/, deserializer(response, options)];\n case 2:\n parsed = _a.sent();\n return [2 /*return*/, {\n response: response,\n output: parsed,\n }];\n }\n });\n}); }; }; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVzZXJpYWxpemVyTWlkZGxld2FyZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kZXNlcmlhbGl6ZXJNaWRkbGV3YXJlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFTQSxNQUFNLENBQUMsSUFBTSxzQkFBc0IsR0FBRyxVQUNwQyxPQUFxQixFQUNyQixZQUEwRCxJQUNqQixPQUFBLFVBQ3pDLElBQXVDLEVBQ3ZDLE9BQWdDLElBQ00sT0FBQSxVQUN0QyxJQUF3Qzs7OztvQkFFbkIscUJBQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFBOztnQkFBN0IsUUFBUSxHQUFLLENBQUEsU0FBZ0IsQ0FBQSxTQUFyQjtnQkFDRCxxQkFBTSxZQUFZLENBQUMsUUFBUSxFQUFFLE9BQU8sQ0FBQyxFQUFBOztnQkFBOUMsTUFBTSxHQUFHLFNBQXFDO2dCQUNwRCxzQkFBTzt3QkFDTCxRQUFRLFVBQUE7d0JBQ1IsTUFBTSxFQUFFLE1BQWdCO3FCQUN6QixFQUFDOzs7S0FDSCxFQVR1QyxDQVN2QyxFQVowQyxDQVkxQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRGVzZXJpYWxpemVIYW5kbGVyLFxuICBEZXNlcmlhbGl6ZUhhbmRsZXJBcmd1bWVudHMsXG4gIERlc2VyaWFsaXplSGFuZGxlck91dHB1dCxcbiAgRGVzZXJpYWxpemVNaWRkbGV3YXJlLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgUmVzcG9uc2VEZXNlcmlhbGl6ZXIsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgY29uc3QgZGVzZXJpYWxpemVyTWlkZGxld2FyZSA9IDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0LCBSdW50aW1lVXRpbHMgPSBhbnk+KFxuICBvcHRpb25zOiBSdW50aW1lVXRpbHMsXG4gIGRlc2VyaWFsaXplcjogUmVzcG9uc2VEZXNlcmlhbGl6ZXI8YW55LCBhbnksIFJ1bnRpbWVVdGlscz5cbik6IERlc2VyaWFsaXplTWlkZGxld2FyZTxJbnB1dCwgT3V0cHV0PiA9PiAoXG4gIG5leHQ6IERlc2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IERlc2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PiA9PiBhc3luYyAoXG4gIGFyZ3M6IERlc2VyaWFsaXplSGFuZGxlckFyZ3VtZW50czxJbnB1dD5cbik6IFByb21pc2U8RGVzZXJpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgY29uc3QgeyByZXNwb25zZSB9ID0gYXdhaXQgbmV4dChhcmdzKTtcbiAgY29uc3QgcGFyc2VkID0gYXdhaXQgZGVzZXJpYWxpemVyKHJlc3BvbnNlLCBvcHRpb25zKTtcbiAgcmV0dXJuIHtcbiAgICByZXNwb25zZSxcbiAgICBvdXRwdXQ6IHBhcnNlZCBhcyBPdXRwdXQsXG4gIH07XG59O1xuIl19","import { __assign, __awaiter, __generator } from \"tslib\";\nexport var serializerMiddleware = function (options, serializer) { return function (next, context) { return function (args) { return __awaiter(void 0, void 0, void 0, function () {\n var request;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, serializer(args.input, options)];\n case 1:\n request = _a.sent();\n return [2 /*return*/, next(__assign(__assign({}, args), { request: request }))];\n }\n });\n}); }; }; };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VyaWFsaXplck1pZGRsZXdhcmUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc2VyaWFsaXplck1pZGRsZXdhcmUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQVVBLE1BQU0sQ0FBQyxJQUFNLG9CQUFvQixHQUFHLFVBQ2xDLE9BQXFCLEVBQ3JCLFVBQWdELElBQ1QsT0FBQSxVQUN2QyxJQUFxQyxFQUNyQyxPQUFnQyxJQUNJLE9BQUEsVUFDcEMsSUFBc0M7Ozs7b0JBRXRCLHFCQUFNLFVBQVUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFBOztnQkFBL0MsT0FBTyxHQUFHLFNBQXFDO2dCQUNyRCxzQkFBTyxJQUFJLHVCQUNOLElBQUksS0FDUCxPQUFPLFNBQUEsSUFDUCxFQUFDOzs7S0FDSixFQVJxQyxDQVFyQyxFQVh3QyxDQVd4QyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgRW5kcG9pbnRCZWFyZXIsXG4gIEhhbmRsZXJFeGVjdXRpb25Db250ZXh0LFxuICBSZXF1ZXN0U2VyaWFsaXplcixcbiAgU2VyaWFsaXplSGFuZGxlcixcbiAgU2VyaWFsaXplSGFuZGxlckFyZ3VtZW50cyxcbiAgU2VyaWFsaXplSGFuZGxlck91dHB1dCxcbiAgU2VyaWFsaXplTWlkZGxld2FyZSxcbn0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBzZXJpYWxpemVyTWlkZGxld2FyZSA9IDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0LCBSdW50aW1lVXRpbHMgZXh0ZW5kcyBFbmRwb2ludEJlYXJlcj4oXG4gIG9wdGlvbnM6IFJ1bnRpbWVVdGlscyxcbiAgc2VyaWFsaXplcjogUmVxdWVzdFNlcmlhbGl6ZXI8YW55LCBSdW50aW1lVXRpbHM+XG4pOiBTZXJpYWxpemVNaWRkbGV3YXJlPElucHV0LCBPdXRwdXQ+ID0+IChcbiAgbmV4dDogU2VyaWFsaXplSGFuZGxlcjxJbnB1dCwgT3V0cHV0PixcbiAgY29udGV4dDogSGFuZGxlckV4ZWN1dGlvbkNvbnRleHRcbik6IFNlcmlhbGl6ZUhhbmRsZXI8SW5wdXQsIE91dHB1dD4gPT4gYXN5bmMgKFxuICBhcmdzOiBTZXJpYWxpemVIYW5kbGVyQXJndW1lbnRzPElucHV0PlxuKTogUHJvbWlzZTxTZXJpYWxpemVIYW5kbGVyT3V0cHV0PE91dHB1dD4+ID0+IHtcbiAgY29uc3QgcmVxdWVzdCA9IGF3YWl0IHNlcmlhbGl6ZXIoYXJncy5pbnB1dCwgb3B0aW9ucyk7XG4gIHJldHVybiBuZXh0KHtcbiAgICAuLi5hcmdzLFxuICAgIHJlcXVlc3QsXG4gIH0pO1xufTtcbiJdfQ==","import { __extends } from \"tslib\";\n/**\n * An error representing a failure of an individual credential provider.\n *\n * This error class has special meaning to the {@link chain} method. If a\n * provider in the chain is rejected with an error, the chain will only proceed\n * to the next provider if the value of the `tryNextLink` property on the error\n * is truthy. This allows individual providers to halt the chain and also\n * ensures the chain will stop if an entirely unexpected error is encountered.\n */\nvar ProviderError = /** @class */ (function (_super) {\n __extends(ProviderError, _super);\n function ProviderError(message, tryNextLink) {\n if (tryNextLink === void 0) { tryNextLink = true; }\n var _this = _super.call(this, message) || this;\n _this.tryNextLink = tryNextLink;\n return _this;\n }\n return ProviderError;\n}(Error));\nexport { ProviderError };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUHJvdmlkZXJFcnJvci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9Qcm92aWRlckVycm9yLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFBQTs7Ozs7Ozs7R0FRRztBQUNIO0lBQW1DLGlDQUFLO0lBQ3RDLHVCQUFZLE9BQWUsRUFBa0IsV0FBMkI7UUFBM0IsNEJBQUEsRUFBQSxrQkFBMkI7UUFBeEUsWUFDRSxrQkFBTSxPQUFPLENBQUMsU0FDZjtRQUY0QyxpQkFBVyxHQUFYLFdBQVcsQ0FBZ0I7O0lBRXhFLENBQUM7SUFDSCxvQkFBQztBQUFELENBQUMsQUFKRCxDQUFtQyxLQUFLLEdBSXZDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBBbiBlcnJvciByZXByZXNlbnRpbmcgYSBmYWlsdXJlIG9mIGFuIGluZGl2aWR1YWwgY3JlZGVudGlhbCBwcm92aWRlci5cbiAqXG4gKiBUaGlzIGVycm9yIGNsYXNzIGhhcyBzcGVjaWFsIG1lYW5pbmcgdG8gdGhlIHtAbGluayBjaGFpbn0gbWV0aG9kLiBJZiBhXG4gKiBwcm92aWRlciBpbiB0aGUgY2hhaW4gaXMgcmVqZWN0ZWQgd2l0aCBhbiBlcnJvciwgdGhlIGNoYWluIHdpbGwgb25seSBwcm9jZWVkXG4gKiB0byB0aGUgbmV4dCBwcm92aWRlciBpZiB0aGUgdmFsdWUgb2YgdGhlIGB0cnlOZXh0TGlua2AgcHJvcGVydHkgb24gdGhlIGVycm9yXG4gKiBpcyB0cnV0aHkuIFRoaXMgYWxsb3dzIGluZGl2aWR1YWwgcHJvdmlkZXJzIHRvIGhhbHQgdGhlIGNoYWluIGFuZCBhbHNvXG4gKiBlbnN1cmVzIHRoZSBjaGFpbiB3aWxsIHN0b3AgaWYgYW4gZW50aXJlbHkgdW5leHBlY3RlZCBlcnJvciBpcyBlbmNvdW50ZXJlZC5cbiAqL1xuZXhwb3J0IGNsYXNzIFByb3ZpZGVyRXJyb3IgZXh0ZW5kcyBFcnJvciB7XG4gIGNvbnN0cnVjdG9yKG1lc3NhZ2U6IHN0cmluZywgcHVibGljIHJlYWRvbmx5IHRyeU5leHRMaW5rOiBib29sZWFuID0gdHJ1ZSkge1xuICAgIHN1cGVyKG1lc3NhZ2UpO1xuICB9XG59XG4iXX0=","var HttpResponse = /** @class */ (function () {\n function HttpResponse(options) {\n this.statusCode = options.statusCode;\n this.headers = options.headers || {};\n this.body = options.body;\n }\n HttpResponse.isInstance = function (response) {\n //determine if response is a valid HttpResponse\n if (!response)\n return false;\n var resp = response;\n return typeof resp.statusCode === \"number\" && typeof resp.headers === \"object\";\n };\n return HttpResponse;\n}());\nexport { HttpResponse };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cFJlc3BvbnNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2h0dHBSZXNwb25zZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQTtJQUtFLHNCQUFZLE9BQTRCO1FBQ3RDLElBQUksQ0FBQyxVQUFVLEdBQUcsT0FBTyxDQUFDLFVBQVUsQ0FBQztRQUNyQyxJQUFJLENBQUMsT0FBTyxHQUFHLE9BQU8sQ0FBQyxPQUFPLElBQUksRUFBRSxDQUFDO1FBQ3JDLElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztJQUMzQixDQUFDO0lBRU0sdUJBQVUsR0FBakIsVUFBa0IsUUFBaUI7UUFDakMsK0NBQStDO1FBQy9DLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDNUIsSUFBTSxJQUFJLEdBQUcsUUFBZSxDQUFDO1FBQzdCLE9BQU8sT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFFBQVEsSUFBSSxPQUFPLElBQUksQ0FBQyxPQUFPLEtBQUssUUFBUSxDQUFDO0lBQ2pGLENBQUM7SUFDSCxtQkFBQztBQUFELENBQUMsQUFqQkQsSUFpQkMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIZWFkZXJCYWcsIEh0dHBNZXNzYWdlLCBIdHRwUmVzcG9uc2UgYXMgSUh0dHBSZXNwb25zZSB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG50eXBlIEh0dHBSZXNwb25zZU9wdGlvbnMgPSBQYXJ0aWFsPEh0dHBNZXNzYWdlPiAmIHtcbiAgc3RhdHVzQ29kZTogbnVtYmVyO1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVzcG9uc2UgZXh0ZW5kcyBJSHR0cFJlc3BvbnNlIHt9XG5cbmV4cG9ydCBjbGFzcyBIdHRwUmVzcG9uc2Uge1xuICBwdWJsaWMgc3RhdHVzQ29kZTogbnVtYmVyO1xuICBwdWJsaWMgaGVhZGVyczogSGVhZGVyQmFnO1xuICBwdWJsaWMgYm9keT86IGFueTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIdHRwUmVzcG9uc2VPcHRpb25zKSB7XG4gICAgdGhpcy5zdGF0dXNDb2RlID0gb3B0aW9ucy5zdGF0dXNDb2RlO1xuICAgIHRoaXMuaGVhZGVycyA9IG9wdGlvbnMuaGVhZGVycyB8fCB7fTtcbiAgICB0aGlzLmJvZHkgPSBvcHRpb25zLmJvZHk7XG4gIH1cblxuICBzdGF0aWMgaXNJbnN0YW5jZShyZXNwb25zZTogdW5rbm93bik6IHJlc3BvbnNlIGlzIEh0dHBSZXNwb25zZSB7XG4gICAgLy9kZXRlcm1pbmUgaWYgcmVzcG9uc2UgaXMgYSB2YWxpZCBIdHRwUmVzcG9uc2VcbiAgICBpZiAoIXJlc3BvbnNlKSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcmVzcCA9IHJlc3BvbnNlIGFzIGFueTtcbiAgICByZXR1cm4gdHlwZW9mIHJlc3Auc3RhdHVzQ29kZSA9PT0gXCJudW1iZXJcIiAmJiB0eXBlb2YgcmVzcC5oZWFkZXJzID09PSBcIm9iamVjdFwiO1xuICB9XG59XG4iXX0=","import { __assign, __read, __spread } from \"tslib\";\nvar HttpRequest = /** @class */ (function () {\n function HttpRequest(options) {\n this.method = options.method || \"GET\";\n this.hostname = options.hostname || \"localhost\";\n this.port = options.port;\n this.query = options.query || {};\n this.headers = options.headers || {};\n this.body = options.body;\n this.protocol = options.protocol\n ? options.protocol.substr(-1) !== \":\"\n ? options.protocol + \":\"\n : options.protocol\n : \"https:\";\n this.path = options.path ? (options.path.charAt(0) !== \"/\" ? \"/\" + options.path : options.path) : \"/\";\n }\n HttpRequest.isInstance = function (request) {\n //determine if request is a valid httpRequest\n if (!request)\n return false;\n var req = request;\n return (\"method\" in req &&\n \"protocol\" in req &&\n \"hostname\" in req &&\n \"path\" in req &&\n typeof req[\"query\"] === \"object\" &&\n typeof req[\"headers\"] === \"object\");\n };\n HttpRequest.prototype.clone = function () {\n var cloned = new HttpRequest(__assign(__assign({}, this), { headers: __assign({}, this.headers) }));\n if (cloned.query)\n cloned.query = cloneQuery(cloned.query);\n return cloned;\n };\n return HttpRequest;\n}());\nexport { HttpRequest };\nfunction cloneQuery(query) {\n return Object.keys(query).reduce(function (carry, paramName) {\n var _a;\n var param = query[paramName];\n return __assign(__assign({}, carry), (_a = {}, _a[paramName] = Array.isArray(param) ? __spread(param) : param, _a));\n }, {});\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaHR0cFJlcXVlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaHR0cFJlcXVlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQU1BO0lBVUUscUJBQVksT0FBMkI7UUFDckMsSUFBSSxDQUFDLE1BQU0sR0FBRyxPQUFPLENBQUMsTUFBTSxJQUFJLEtBQUssQ0FBQztRQUN0QyxJQUFJLENBQUMsUUFBUSxHQUFHLE9BQU8sQ0FBQyxRQUFRLElBQUksV0FBVyxDQUFDO1FBQ2hELElBQUksQ0FBQyxJQUFJLEdBQUcsT0FBTyxDQUFDLElBQUksQ0FBQztRQUN6QixJQUFJLENBQUMsS0FBSyxHQUFHLE9BQU8sQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1FBQ2pDLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7UUFDckMsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxRQUFRLEdBQUcsT0FBTyxDQUFDLFFBQVE7WUFDOUIsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRztnQkFDbkMsQ0FBQyxDQUFJLE9BQU8sQ0FBQyxRQUFRLE1BQUc7Z0JBQ3hCLENBQUMsQ0FBQyxPQUFPLENBQUMsUUFBUTtZQUNwQixDQUFDLENBQUMsUUFBUSxDQUFDO1FBQ2IsSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLENBQUMsTUFBSSxPQUFPLENBQUMsSUFBTSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN4RyxDQUFDO0lBRU0sc0JBQVUsR0FBakIsVUFBa0IsT0FBZ0I7UUFDaEMsNkNBQTZDO1FBQzdDLElBQUksQ0FBQyxPQUFPO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFDM0IsSUFBTSxHQUFHLEdBQVEsT0FBTyxDQUFDO1FBQ3pCLE9BQU8sQ0FDTCxRQUFRLElBQUksR0FBRztZQUNmLFVBQVUsSUFBSSxHQUFHO1lBQ2pCLFVBQVUsSUFBSSxHQUFHO1lBQ2pCLE1BQU0sSUFBSSxHQUFHO1lBQ2IsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssUUFBUTtZQUNoQyxPQUFPLEdBQUcsQ0FBQyxTQUFTLENBQUMsS0FBSyxRQUFRLENBQ25DLENBQUM7SUFDSixDQUFDO0lBRUQsMkJBQUssR0FBTDtRQUNFLElBQU0sTUFBTSxHQUFHLElBQUksV0FBVyx1QkFDekIsSUFBSSxLQUNQLE9BQU8sZUFBTyxJQUFJLENBQUMsT0FBTyxLQUMxQixDQUFDO1FBQ0gsSUFBSSxNQUFNLENBQUMsS0FBSztZQUFFLE1BQU0sQ0FBQyxLQUFLLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUMxRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0gsa0JBQUM7QUFBRCxDQUFDLEFBL0NELElBK0NDOztBQUVELFNBQVMsVUFBVSxDQUFDLEtBQXdCO0lBQzFDLE9BQU8sTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUMsVUFBQyxLQUF3QixFQUFFLFNBQWlCOztRQUMzRSxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDL0IsNkJBQ0ssS0FBSyxnQkFDUCxTQUFTLElBQUcsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLFVBQUssS0FBSyxFQUFFLENBQUMsQ0FBQyxLQUFLLE9BQ3REO0lBQ0osQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO0FBQ1QsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVuZHBvaW50LCBIZWFkZXJCYWcsIEh0dHBNZXNzYWdlLCBIdHRwUmVxdWVzdCBhcyBJSHR0cFJlcXVlc3QsIFF1ZXJ5UGFyYW1ldGVyQmFnIH0gZnJvbSBcIkBhd3Mtc2RrL3R5cGVzXCI7XG5cbnR5cGUgSHR0cFJlcXVlc3RPcHRpb25zID0gUGFydGlhbDxIdHRwTWVzc2FnZT4gJiBQYXJ0aWFsPEVuZHBvaW50PiAmIHsgbWV0aG9kPzogc3RyaW5nIH07XG5cbmV4cG9ydCBpbnRlcmZhY2UgSHR0cFJlcXVlc3QgZXh0ZW5kcyBJSHR0cFJlcXVlc3Qge31cblxuZXhwb3J0IGNsYXNzIEh0dHBSZXF1ZXN0IGltcGxlbWVudHMgSHR0cE1lc3NhZ2UsIEVuZHBvaW50IHtcbiAgcHVibGljIG1ldGhvZDogc3RyaW5nO1xuICBwdWJsaWMgcHJvdG9jb2w6IHN0cmluZztcbiAgcHVibGljIGhvc3RuYW1lOiBzdHJpbmc7XG4gIHB1YmxpYyBwb3J0PzogbnVtYmVyO1xuICBwdWJsaWMgcGF0aDogc3RyaW5nO1xuICBwdWJsaWMgcXVlcnk6IFF1ZXJ5UGFyYW1ldGVyQmFnO1xuICBwdWJsaWMgaGVhZGVyczogSGVhZGVyQmFnO1xuICBwdWJsaWMgYm9keT86IGFueTtcblxuICBjb25zdHJ1Y3RvcihvcHRpb25zOiBIdHRwUmVxdWVzdE9wdGlvbnMpIHtcbiAgICB0aGlzLm1ldGhvZCA9IG9wdGlvbnMubWV0aG9kIHx8IFwiR0VUXCI7XG4gICAgdGhpcy5ob3N0bmFtZSA9IG9wdGlvbnMuaG9zdG5hbWUgfHwgXCJsb2NhbGhvc3RcIjtcbiAgICB0aGlzLnBvcnQgPSBvcHRpb25zLnBvcnQ7XG4gICAgdGhpcy5xdWVyeSA9IG9wdGlvbnMucXVlcnkgfHwge307XG4gICAgdGhpcy5oZWFkZXJzID0gb3B0aW9ucy5oZWFkZXJzIHx8IHt9O1xuICAgIHRoaXMuYm9keSA9IG9wdGlvbnMuYm9keTtcbiAgICB0aGlzLnByb3RvY29sID0gb3B0aW9ucy5wcm90b2NvbFxuICAgICAgPyBvcHRpb25zLnByb3RvY29sLnN1YnN0cigtMSkgIT09IFwiOlwiXG4gICAgICAgID8gYCR7b3B0aW9ucy5wcm90b2NvbH06YFxuICAgICAgICA6IG9wdGlvbnMucHJvdG9jb2xcbiAgICAgIDogXCJodHRwczpcIjtcbiAgICB0aGlzLnBhdGggPSBvcHRpb25zLnBhdGggPyAob3B0aW9ucy5wYXRoLmNoYXJBdCgwKSAhPT0gXCIvXCIgPyBgLyR7b3B0aW9ucy5wYXRofWAgOiBvcHRpb25zLnBhdGgpIDogXCIvXCI7XG4gIH1cblxuICBzdGF0aWMgaXNJbnN0YW5jZShyZXF1ZXN0OiB1bmtub3duKTogcmVxdWVzdCBpcyBIdHRwUmVxdWVzdCB7XG4gICAgLy9kZXRlcm1pbmUgaWYgcmVxdWVzdCBpcyBhIHZhbGlkIGh0dHBSZXF1ZXN0XG4gICAgaWYgKCFyZXF1ZXN0KSByZXR1cm4gZmFsc2U7XG4gICAgY29uc3QgcmVxOiBhbnkgPSByZXF1ZXN0O1xuICAgIHJldHVybiAoXG4gICAgICBcIm1ldGhvZFwiIGluIHJlcSAmJlxuICAgICAgXCJwcm90b2NvbFwiIGluIHJlcSAmJlxuICAgICAgXCJob3N0bmFtZVwiIGluIHJlcSAmJlxuICAgICAgXCJwYXRoXCIgaW4gcmVxICYmXG4gICAgICB0eXBlb2YgcmVxW1wicXVlcnlcIl0gPT09IFwib2JqZWN0XCIgJiZcbiAgICAgIHR5cGVvZiByZXFbXCJoZWFkZXJzXCJdID09PSBcIm9iamVjdFwiXG4gICAgKTtcbiAgfVxuXG4gIGNsb25lKCk6IEh0dHBSZXF1ZXN0IHtcbiAgICBjb25zdCBjbG9uZWQgPSBuZXcgSHR0cFJlcXVlc3Qoe1xuICAgICAgLi4udGhpcyxcbiAgICAgIGhlYWRlcnM6IHsgLi4udGhpcy5oZWFkZXJzIH0sXG4gICAgfSk7XG4gICAgaWYgKGNsb25lZC5xdWVyeSkgY2xvbmVkLnF1ZXJ5ID0gY2xvbmVRdWVyeShjbG9uZWQucXVlcnkpO1xuICAgIHJldHVybiBjbG9uZWQ7XG4gIH1cbn1cblxuZnVuY3Rpb24gY2xvbmVRdWVyeShxdWVyeTogUXVlcnlQYXJhbWV0ZXJCYWcpOiBRdWVyeVBhcmFtZXRlckJhZyB7XG4gIHJldHVybiBPYmplY3Qua2V5cyhxdWVyeSkucmVkdWNlKChjYXJyeTogUXVlcnlQYXJhbWV0ZXJCYWcsIHBhcmFtTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgY29uc3QgcGFyYW0gPSBxdWVyeVtwYXJhbU5hbWVdO1xuICAgIHJldHVybiB7XG4gICAgICAuLi5jYXJyeSxcbiAgICAgIFtwYXJhbU5hbWVdOiBBcnJheS5pc0FycmF5KHBhcmFtKSA/IFsuLi5wYXJhbV0gOiBwYXJhbSxcbiAgICB9O1xuICB9LCB7fSk7XG59XG4iXX0=","import { __assign, __read, __spread, __values } from \"tslib\";\nexport var constructStack = function () {\n var absoluteEntries = [];\n var relativeEntries = [];\n var entriesNameSet = new Set();\n var sort = function (entries) {\n return entries.sort(function (a, b) {\n return stepWeights[b.step] - stepWeights[a.step] ||\n priorityWeights[b.priority || \"normal\"] - priorityWeights[a.priority || \"normal\"];\n });\n };\n var removeByName = function (toRemove) {\n var isRemoved = false;\n var filterCb = function (entry) {\n if (entry.name && entry.name === toRemove) {\n isRemoved = true;\n entriesNameSet.delete(toRemove);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n var removeByReference = function (toRemove) {\n var isRemoved = false;\n var filterCb = function (entry) {\n if (entry.middleware === toRemove) {\n isRemoved = true;\n if (entry.name)\n entriesNameSet.delete(entry.name);\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n };\n var cloneTo = function (toStack) {\n absoluteEntries.forEach(function (entry) {\n //@ts-ignore\n toStack.add(entry.middleware, __assign({}, entry));\n });\n relativeEntries.forEach(function (entry) {\n //@ts-ignore\n toStack.addRelativeTo(entry.middleware, __assign({}, entry));\n });\n return toStack;\n };\n var expandRelativeMiddlewareList = function (from) {\n var expandedMiddlewareList = [];\n from.before.forEach(function (entry) {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push.apply(expandedMiddlewareList, __spread(expandRelativeMiddlewareList(entry)));\n }\n });\n expandedMiddlewareList.push(from);\n from.after.reverse().forEach(function (entry) {\n if (entry.before.length === 0 && entry.after.length === 0) {\n expandedMiddlewareList.push(entry);\n }\n else {\n expandedMiddlewareList.push.apply(expandedMiddlewareList, __spread(expandRelativeMiddlewareList(entry)));\n }\n });\n return expandedMiddlewareList;\n };\n /**\n * Get a final list of middleware in the order of being executed in the resolved handler.\n */\n var getMiddlewareList = function () {\n var normalizedAbsoluteEntries = [];\n var normalizedRelativeEntries = [];\n var normalizedEntriesNameMap = {};\n absoluteEntries.forEach(function (entry) {\n var normalizedEntry = __assign(__assign({}, entry), { before: [], after: [] });\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedAbsoluteEntries.push(normalizedEntry);\n });\n relativeEntries.forEach(function (entry) {\n var normalizedEntry = __assign(__assign({}, entry), { before: [], after: [] });\n if (normalizedEntry.name)\n normalizedEntriesNameMap[normalizedEntry.name] = normalizedEntry;\n normalizedRelativeEntries.push(normalizedEntry);\n });\n normalizedRelativeEntries.forEach(function (entry) {\n if (entry.toMiddleware) {\n var toMiddleware = normalizedEntriesNameMap[entry.toMiddleware];\n if (toMiddleware === undefined) {\n throw new Error(entry.toMiddleware + \" is not found when adding \" + (entry.name || \"anonymous\") + \" middleware \" + entry.relation + \" \" + entry.toMiddleware);\n }\n if (entry.relation === \"after\") {\n toMiddleware.after.push(entry);\n }\n if (entry.relation === \"before\") {\n toMiddleware.before.push(entry);\n }\n }\n });\n var mainChain = sort(normalizedAbsoluteEntries)\n .map(expandRelativeMiddlewareList)\n .reduce(function (wholeList, expendedMiddlewareList) {\n // TODO: Replace it with Array.flat();\n wholeList.push.apply(wholeList, __spread(expendedMiddlewareList));\n return wholeList;\n }, []);\n return mainChain.map(function (entry) { return entry.middleware; });\n };\n var stack = {\n add: function (middleware, options) {\n if (options === void 0) { options = {}; }\n var name = options.name, override = options.override;\n var entry = __assign({ step: \"initialize\", priority: \"normal\", middleware: middleware }, options);\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(\"Duplicate middleware name '\" + name + \"'\");\n var toOverrideIndex = absoluteEntries.findIndex(function (entry) { return entry.name === name; });\n var toOverride = absoluteEntries[toOverrideIndex];\n if (toOverride.step !== entry.step || toOverride.priority !== entry.priority) {\n throw new Error(\"\\\"\" + name + \"\\\" middleware with \" + toOverride.priority + \" priority in \" + toOverride.step + \" step cannot be \" +\n (\"overridden by same-name middleware with \" + entry.priority + \" priority in \" + entry.step + \" step.\"));\n }\n absoluteEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n absoluteEntries.push(entry);\n },\n addRelativeTo: function (middleware, options) {\n var name = options.name, override = options.override;\n var entry = __assign({ middleware: middleware }, options);\n if (name) {\n if (entriesNameSet.has(name)) {\n if (!override)\n throw new Error(\"Duplicate middleware name '\" + name + \"'\");\n var toOverrideIndex = relativeEntries.findIndex(function (entry) { return entry.name === name; });\n var toOverride = relativeEntries[toOverrideIndex];\n if (toOverride.toMiddleware !== entry.toMiddleware || toOverride.relation !== entry.relation) {\n throw new Error(\"\\\"\" + name + \"\\\" middleware \" + toOverride.relation + \" \\\"\" + toOverride.toMiddleware + \"\\\" middleware cannot be overridden \" +\n (\"by same-name middleware \" + entry.relation + \" \\\"\" + entry.toMiddleware + \"\\\" middleware.\"));\n }\n relativeEntries.splice(toOverrideIndex, 1);\n }\n entriesNameSet.add(name);\n }\n relativeEntries.push(entry);\n },\n clone: function () { return cloneTo(constructStack()); },\n use: function (plugin) {\n plugin.applyToStack(stack);\n },\n remove: function (toRemove) {\n if (typeof toRemove === \"string\")\n return removeByName(toRemove);\n else\n return removeByReference(toRemove);\n },\n removeByTag: function (toRemove) {\n var isRemoved = false;\n var filterCb = function (entry) {\n var tags = entry.tags, name = entry.name;\n if (tags && tags.includes(toRemove)) {\n if (name)\n entriesNameSet.delete(name);\n isRemoved = true;\n return false;\n }\n return true;\n };\n absoluteEntries = absoluteEntries.filter(filterCb);\n relativeEntries = relativeEntries.filter(filterCb);\n return isRemoved;\n },\n concat: function (from) {\n var cloned = cloneTo(constructStack());\n cloned.use(from);\n return cloned;\n },\n applyToStack: cloneTo,\n resolve: function (handler, context) {\n var e_1, _a;\n try {\n for (var _b = __values(getMiddlewareList().reverse()), _c = _b.next(); !_c.done; _c = _b.next()) {\n var middleware = _c.value;\n handler = middleware(handler, context);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n return handler;\n },\n };\n return stack;\n};\nvar stepWeights = {\n initialize: 5,\n serialize: 4,\n build: 3,\n finalizeRequest: 2,\n deserialize: 1,\n};\nvar priorityWeights = {\n high: 3,\n normal: 2,\n low: 1,\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTWlkZGxld2FyZVN0YWNrLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL01pZGRsZXdhcmVTdGFjay50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBZ0JBLE1BQU0sQ0FBQyxJQUFNLGNBQWMsR0FBRztJQUM1QixJQUFJLGVBQWUsR0FBNkMsRUFBRSxDQUFDO0lBQ25FLElBQUksZUFBZSxHQUE2QyxFQUFFLENBQUM7SUFDbkUsSUFBTSxjQUFjLEdBQWdCLElBQUksR0FBRyxFQUFFLENBQUM7SUFFOUMsSUFBTSxJQUFJLEdBQUcsVUFBbUQsT0FBWTtRQUMxRSxPQUFBLE9BQU8sQ0FBQyxJQUFJLENBQ1YsVUFBQyxDQUFDLEVBQUUsQ0FBQztZQUNILE9BQUEsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsR0FBRyxXQUFXLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztnQkFDekMsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDLEdBQUcsZUFBZSxDQUFDLENBQUMsQ0FBQyxRQUFRLElBQUksUUFBUSxDQUFDO1FBRGpGLENBQ2lGLENBQ3BGO0lBSkQsQ0FJQyxDQUFDO0lBRUosSUFBTSxZQUFZLEdBQUcsVUFBQyxRQUFnQjtRQUNwQyxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBTSxRQUFRLEdBQUcsVUFBQyxLQUFxQztZQUNyRCxJQUFJLEtBQUssQ0FBQyxJQUFJLElBQUksS0FBSyxDQUFDLElBQUksS0FBSyxRQUFRLEVBQUU7Z0JBQ3pDLFNBQVMsR0FBRyxJQUFJLENBQUM7Z0JBQ2pCLGNBQWMsQ0FBQyxNQUFNLENBQUMsUUFBUSxDQUFDLENBQUM7Z0JBQ2hDLE9BQU8sS0FBSyxDQUFDO2FBQ2Q7WUFDRCxPQUFPLElBQUksQ0FBQztRQUNkLENBQUMsQ0FBQztRQUNGLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ25ELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUMsQ0FBQztJQUVGLElBQU0saUJBQWlCLEdBQUcsVUFBQyxRQUF1QztRQUNoRSxJQUFJLFNBQVMsR0FBRyxLQUFLLENBQUM7UUFDdEIsSUFBTSxRQUFRLEdBQUcsVUFBQyxLQUFxQztZQUNyRCxJQUFJLEtBQUssQ0FBQyxVQUFVLEtBQUssUUFBUSxFQUFFO2dCQUNqQyxTQUFTLEdBQUcsSUFBSSxDQUFDO2dCQUNqQixJQUFJLEtBQUssQ0FBQyxJQUFJO29CQUFFLGNBQWMsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNsRCxPQUFPLEtBQUssQ0FBQzthQUNkO1lBQ0QsT0FBTyxJQUFJLENBQUM7UUFDZCxDQUFDLENBQUM7UUFDRixlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxlQUFlLEdBQUcsZUFBZSxDQUFDLE1BQU0sQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNuRCxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDLENBQUM7SUFFRixJQUFNLE9BQU8sR0FBRyxVQUNkLE9BQStDO1FBRS9DLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBQyxLQUFLO1lBQzVCLFlBQVk7WUFDWixPQUFPLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLGVBQU8sS0FBSyxFQUFHLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7UUFDSCxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUM1QixZQUFZO1lBQ1osT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsVUFBVSxlQUFPLEtBQUssRUFBRyxDQUFDO1FBQ3hELENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUYsSUFBTSw0QkFBNEIsR0FBRyxVQUNuQyxJQUErRDtRQUUvRCxJQUFNLHNCQUFzQixHQUFxQyxFQUFFLENBQUM7UUFDcEUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsVUFBQyxLQUFLO1lBQ3hCLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxNQUFNLEtBQUssQ0FBQyxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRTtnQkFDekQsc0JBQXNCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ3BDO2lCQUFNO2dCQUNMLHNCQUFzQixDQUFDLElBQUksT0FBM0Isc0JBQXNCLFdBQVMsNEJBQTRCLENBQUMsS0FBSyxDQUFDLEdBQUU7YUFDckU7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILHNCQUFzQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFDLEtBQUs7WUFDakMsSUFBSSxLQUFLLENBQUMsTUFBTSxDQUFDLE1BQU0sS0FBSyxDQUFDLElBQUksS0FBSyxDQUFDLEtBQUssQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO2dCQUN6RCxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7YUFDcEM7aUJBQU07Z0JBQ0wsc0JBQXNCLENBQUMsSUFBSSxPQUEzQixzQkFBc0IsV0FBUyw0QkFBNEIsQ0FBQyxLQUFLLENBQUMsR0FBRTthQUNyRTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxzQkFBc0IsQ0FBQztJQUNoQyxDQUFDLENBQUM7SUFFRjs7T0FFRztJQUNILElBQU0saUJBQWlCLEdBQUc7UUFDeEIsSUFBTSx5QkFBeUIsR0FBd0UsRUFBRSxDQUFDO1FBQzFHLElBQU0seUJBQXlCLEdBQXdFLEVBQUUsQ0FBQztRQUMxRyxJQUFNLHdCQUF3QixHQUUxQixFQUFFLENBQUM7UUFFUCxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUM1QixJQUFNLGVBQWUseUJBQ2hCLEtBQUssS0FDUixNQUFNLEVBQUUsRUFBRSxFQUNWLEtBQUssRUFBRSxFQUFFLEdBQ1YsQ0FBQztZQUNGLElBQUksZUFBZSxDQUFDLElBQUk7Z0JBQUUsd0JBQXdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQztZQUMzRix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCxlQUFlLENBQUMsT0FBTyxDQUFDLFVBQUMsS0FBSztZQUM1QixJQUFNLGVBQWUseUJBQ2hCLEtBQUssS0FDUixNQUFNLEVBQUUsRUFBRSxFQUNWLEtBQUssRUFBRSxFQUFFLEdBQ1YsQ0FBQztZQUNGLElBQUksZUFBZSxDQUFDLElBQUk7Z0JBQUUsd0JBQXdCLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxHQUFHLGVBQWUsQ0FBQztZQUMzRix5QkFBeUIsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUM7UUFDbEQsQ0FBQyxDQUFDLENBQUM7UUFFSCx5QkFBeUIsQ0FBQyxPQUFPLENBQUMsVUFBQyxLQUFLO1lBQ3RDLElBQUksS0FBSyxDQUFDLFlBQVksRUFBRTtnQkFDdEIsSUFBTSxZQUFZLEdBQUcsd0JBQXdCLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxDQUFDO2dCQUNsRSxJQUFJLFlBQVksS0FBSyxTQUFTLEVBQUU7b0JBQzlCLE1BQU0sSUFBSSxLQUFLLENBQ1YsS0FBSyxDQUFDLFlBQVksbUNBQTZCLEtBQUssQ0FBQyxJQUFJLElBQUksV0FBVyxxQkFBZSxLQUFLLENBQUMsUUFBUSxTQUN0RyxLQUFLLENBQUMsWUFDTixDQUNILENBQUM7aUJBQ0g7Z0JBQ0QsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLE9BQU8sRUFBRTtvQkFDOUIsWUFBWSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7aUJBQ2hDO2dCQUNELElBQUksS0FBSyxDQUFDLFFBQVEsS0FBSyxRQUFRLEVBQUU7b0JBQy9CLFlBQVksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO2lCQUNqQzthQUNGO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFFSCxJQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMseUJBQXlCLENBQUM7YUFDOUMsR0FBRyxDQUFDLDRCQUE0QixDQUFDO2FBQ2pDLE1BQU0sQ0FBQyxVQUFDLFNBQVMsRUFBRSxzQkFBc0I7WUFDeEMsc0NBQXNDO1lBQ3RDLFNBQVMsQ0FBQyxJQUFJLE9BQWQsU0FBUyxXQUFTLHNCQUFzQixHQUFFO1lBQzFDLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUMsRUFBRSxFQUFzQyxDQUFDLENBQUM7UUFDN0MsT0FBTyxTQUFTLENBQUMsR0FBRyxDQUFDLFVBQUMsS0FBSyxJQUFLLE9BQUEsS0FBSyxDQUFDLFVBQVUsRUFBaEIsQ0FBZ0IsQ0FBQyxDQUFDO0lBQ3BELENBQUMsQ0FBQztJQUVGLElBQU0sS0FBSyxHQUFHO1FBQ1osR0FBRyxFQUFFLFVBQUMsVUFBeUMsRUFBRSxPQUErQztZQUEvQyx3QkFBQSxFQUFBLFlBQStDO1lBQ3RGLElBQUEsSUFBSSxHQUFlLE9BQU8sS0FBdEIsRUFBRSxRQUFRLEdBQUssT0FBTyxTQUFaLENBQWE7WUFDbkMsSUFBTSxLQUFLLGNBQ1QsSUFBSSxFQUFFLFlBQVksRUFDbEIsUUFBUSxFQUFFLFFBQVEsRUFDbEIsVUFBVSxZQUFBLElBQ1AsT0FBTyxDQUNYLENBQUM7WUFDRixJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxRQUFRO3dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQThCLElBQUksTUFBRyxDQUFDLENBQUM7b0JBQ3RFLElBQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksRUFBbkIsQ0FBbUIsQ0FBQyxDQUFDO29CQUNsRixJQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7b0JBQ3BELElBQUksVUFBVSxDQUFDLElBQUksS0FBSyxLQUFLLENBQUMsSUFBSSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTt3QkFDNUUsTUFBTSxJQUFJLEtBQUssQ0FDYixPQUFJLElBQUksMkJBQXFCLFVBQVUsQ0FBQyxRQUFRLHFCQUFnQixVQUFVLENBQUMsSUFBSSxxQkFBa0I7NkJBQy9GLDZDQUEyQyxLQUFLLENBQUMsUUFBUSxxQkFBZ0IsS0FBSyxDQUFDLElBQUksV0FBUSxDQUFBLENBQzlGLENBQUM7cUJBQ0g7b0JBQ0QsZUFBZSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzVDO2dCQUNELGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUI7WUFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxhQUFhLEVBQUUsVUFBQyxVQUF5QyxFQUFFLE9BQTBDO1lBQzNGLElBQUEsSUFBSSxHQUFlLE9BQU8sS0FBdEIsRUFBRSxRQUFRLEdBQUssT0FBTyxTQUFaLENBQWE7WUFDbkMsSUFBTSxLQUFLLGNBQ1QsVUFBVSxZQUFBLElBQ1AsT0FBTyxDQUNYLENBQUM7WUFDRixJQUFJLElBQUksRUFBRTtnQkFDUixJQUFJLGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7b0JBQzVCLElBQUksQ0FBQyxRQUFRO3dCQUFFLE1BQU0sSUFBSSxLQUFLLENBQUMsZ0NBQThCLElBQUksTUFBRyxDQUFDLENBQUM7b0JBQ3RFLElBQU0sZUFBZSxHQUFHLGVBQWUsQ0FBQyxTQUFTLENBQUMsVUFBQyxLQUFLLElBQUssT0FBQSxLQUFLLENBQUMsSUFBSSxLQUFLLElBQUksRUFBbkIsQ0FBbUIsQ0FBQyxDQUFDO29CQUNsRixJQUFNLFVBQVUsR0FBRyxlQUFlLENBQUMsZUFBZSxDQUFDLENBQUM7b0JBQ3BELElBQUksVUFBVSxDQUFDLFlBQVksS0FBSyxLQUFLLENBQUMsWUFBWSxJQUFJLFVBQVUsQ0FBQyxRQUFRLEtBQUssS0FBSyxDQUFDLFFBQVEsRUFBRTt3QkFDNUYsTUFBTSxJQUFJLEtBQUssQ0FDYixPQUFJLElBQUksc0JBQWdCLFVBQVUsQ0FBQyxRQUFRLFdBQUssVUFBVSxDQUFDLFlBQVksd0NBQW9DOzZCQUN6Ryw2QkFBMkIsS0FBSyxDQUFDLFFBQVEsV0FBSyxLQUFLLENBQUMsWUFBWSxtQkFBZSxDQUFBLENBQ2xGLENBQUM7cUJBQ0g7b0JBQ0QsZUFBZSxDQUFDLE1BQU0sQ0FBQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQzVDO2dCQUNELGNBQWMsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLENBQUM7YUFDMUI7WUFDRCxlQUFlLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQzlCLENBQUM7UUFFRCxLQUFLLEVBQUUsY0FBTSxPQUFBLE9BQU8sQ0FBQyxjQUFjLEVBQWlCLENBQUMsRUFBeEMsQ0FBd0M7UUFFckQsR0FBRyxFQUFFLFVBQUMsTUFBZ0M7WUFDcEMsTUFBTSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM3QixDQUFDO1FBRUQsTUFBTSxFQUFFLFVBQUMsUUFBZ0Q7WUFDdkQsSUFBSSxPQUFPLFFBQVEsS0FBSyxRQUFRO2dCQUFFLE9BQU8sWUFBWSxDQUFDLFFBQVEsQ0FBQyxDQUFDOztnQkFDM0QsT0FBTyxpQkFBaUIsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUMxQyxDQUFDO1FBRUQsV0FBVyxFQUFFLFVBQUMsUUFBZ0I7WUFDNUIsSUFBSSxTQUFTLEdBQUcsS0FBSyxDQUFDO1lBQ3RCLElBQU0sUUFBUSxHQUFHLFVBQUMsS0FBcUM7Z0JBQzdDLElBQUEsSUFBSSxHQUFXLEtBQUssS0FBaEIsRUFBRSxJQUFJLEdBQUssS0FBSyxLQUFWLENBQVc7Z0JBQzdCLElBQUksSUFBSSxJQUFJLElBQUksQ0FBQyxRQUFRLENBQUMsUUFBUSxDQUFDLEVBQUU7b0JBQ25DLElBQUksSUFBSTt3QkFBRSxjQUFjLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDO29CQUN0QyxTQUFTLEdBQUcsSUFBSSxDQUFDO29CQUNqQixPQUFPLEtBQUssQ0FBQztpQkFDZDtnQkFDRCxPQUFPLElBQUksQ0FBQztZQUNkLENBQUMsQ0FBQztZQUNGLGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELGVBQWUsR0FBRyxlQUFlLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7UUFFRCxNQUFNLEVBQUUsVUFDTixJQUE0QztZQUU1QyxJQUFNLE1BQU0sR0FBRyxPQUFPLENBQUMsY0FBYyxFQUF5QixDQUFDLENBQUM7WUFDaEUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQixPQUFPLE1BQU0sQ0FBQztRQUNoQixDQUFDO1FBRUQsWUFBWSxFQUFFLE9BQU87UUFFckIsT0FBTyxFQUFFLFVBQ1AsT0FBa0QsRUFDbEQsT0FBZ0M7OztnQkFFaEMsS0FBeUIsSUFBQSxLQUFBLFNBQUEsaUJBQWlCLEVBQUUsQ0FBQyxPQUFPLEVBQUUsQ0FBQSxnQkFBQSw0QkFBRTtvQkFBbkQsSUFBTSxVQUFVLFdBQUE7b0JBQ25CLE9BQU8sR0FBRyxVQUFVLENBQUMsT0FBcUMsRUFBRSxPQUFPLENBQVEsQ0FBQztpQkFDN0U7Ozs7Ozs7OztZQUNELE9BQU8sT0FBeUMsQ0FBQztRQUNuRCxDQUFDO0tBQ0YsQ0FBQztJQUNGLE9BQU8sS0FBSyxDQUFDO0FBQ2YsQ0FBQyxDQUFDO0FBRUYsSUFBTSxXQUFXLEdBQThCO0lBQzdDLFVBQVUsRUFBRSxDQUFDO0lBQ2IsU0FBUyxFQUFFLENBQUM7SUFDWixLQUFLLEVBQUUsQ0FBQztJQUNSLGVBQWUsRUFBRSxDQUFDO0lBQ2xCLFdBQVcsRUFBRSxDQUFDO0NBQ2YsQ0FBQztBQUVGLElBQU0sZUFBZSxHQUFrQztJQUNyRCxJQUFJLEVBQUUsQ0FBQztJQUNQLE1BQU0sRUFBRSxDQUFDO0lBQ1QsR0FBRyxFQUFFLENBQUM7Q0FDUCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzb2x1dGVMb2NhdGlvbixcbiAgRGVzZXJpYWxpemVIYW5kbGVyLFxuICBIYW5kbGVyLFxuICBIYW5kbGVyRXhlY3V0aW9uQ29udGV4dCxcbiAgSGFuZGxlck9wdGlvbnMsXG4gIE1pZGRsZXdhcmVTdGFjayxcbiAgTWlkZGxld2FyZVR5cGUsXG4gIFBsdWdnYWJsZSxcbiAgUHJpb3JpdHksXG4gIFJlbGF0aXZlTG9jYXRpb24sXG4gIFN0ZXAsXG59IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5pbXBvcnQgeyBBYnNvbHV0ZU1pZGRsZXdhcmVFbnRyeSwgTWlkZGxld2FyZUVudHJ5LCBOb3JtYWxpemVkLCBSZWxhdGl2ZU1pZGRsZXdhcmVFbnRyeSB9IGZyb20gXCIuL3R5cGVzXCI7XG5cbmV4cG9ydCBjb25zdCBjb25zdHJ1Y3RTdGFjayA9IDxJbnB1dCBleHRlbmRzIG9iamVjdCwgT3V0cHV0IGV4dGVuZHMgb2JqZWN0PigpOiBNaWRkbGV3YXJlU3RhY2s8SW5wdXQsIE91dHB1dD4gPT4ge1xuICBsZXQgYWJzb2x1dGVFbnRyaWVzOiBBYnNvbHV0ZU1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PltdID0gW107XG4gIGxldCByZWxhdGl2ZUVudHJpZXM6IFJlbGF0aXZlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+W10gPSBbXTtcbiAgY29uc3QgZW50cmllc05hbWVTZXQ6IFNldDxzdHJpbmc+ID0gbmV3IFNldCgpO1xuXG4gIGNvbnN0IHNvcnQgPSA8VCBleHRlbmRzIEFic29sdXRlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+PihlbnRyaWVzOiBUW10pOiBUW10gPT5cbiAgICBlbnRyaWVzLnNvcnQoXG4gICAgICAoYSwgYikgPT5cbiAgICAgICAgc3RlcFdlaWdodHNbYi5zdGVwXSAtIHN0ZXBXZWlnaHRzW2Euc3RlcF0gfHxcbiAgICAgICAgcHJpb3JpdHlXZWlnaHRzW2IucHJpb3JpdHkgfHwgXCJub3JtYWxcIl0gLSBwcmlvcml0eVdlaWdodHNbYS5wcmlvcml0eSB8fCBcIm5vcm1hbFwiXVxuICAgICk7XG5cbiAgY29uc3QgcmVtb3ZlQnlOYW1lID0gKHRvUmVtb3ZlOiBzdHJpbmcpOiBib29sZWFuID0+IHtcbiAgICBsZXQgaXNSZW1vdmVkID0gZmFsc2U7XG4gICAgY29uc3QgZmlsdGVyQ2IgPSAoZW50cnk6IE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0Pik6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKGVudHJ5Lm5hbWUgJiYgZW50cnkubmFtZSA9PT0gdG9SZW1vdmUpIHtcbiAgICAgICAgaXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgICAgZW50cmllc05hbWVTZXQuZGVsZXRlKHRvUmVtb3ZlKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBhYnNvbHV0ZUVudHJpZXMgPSBhYnNvbHV0ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZWxhdGl2ZUVudHJpZXMgPSByZWxhdGl2ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZXR1cm4gaXNSZW1vdmVkO1xuICB9O1xuXG4gIGNvbnN0IHJlbW92ZUJ5UmVmZXJlbmNlID0gKHRvUmVtb3ZlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Pik6IGJvb2xlYW4gPT4ge1xuICAgIGxldCBpc1JlbW92ZWQgPSBmYWxzZTtcbiAgICBjb25zdCBmaWx0ZXJDYiA9IChlbnRyeTogTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+KTogYm9vbGVhbiA9PiB7XG4gICAgICBpZiAoZW50cnkubWlkZGxld2FyZSA9PT0gdG9SZW1vdmUpIHtcbiAgICAgICAgaXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgICAgaWYgKGVudHJ5Lm5hbWUpIGVudHJpZXNOYW1lU2V0LmRlbGV0ZShlbnRyeS5uYW1lKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRydWU7XG4gICAgfTtcbiAgICBhYnNvbHV0ZUVudHJpZXMgPSBhYnNvbHV0ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZWxhdGl2ZUVudHJpZXMgPSByZWxhdGl2ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICByZXR1cm4gaXNSZW1vdmVkO1xuICB9O1xuXG4gIGNvbnN0IGNsb25lVG8gPSA8SW5wdXRUeXBlIGV4dGVuZHMgSW5wdXQsIE91dHB1dFR5cGUgZXh0ZW5kcyBPdXRwdXQ+KFxuICAgIHRvU3RhY2s6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+XG4gICk6IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+ID0+IHtcbiAgICBhYnNvbHV0ZUVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgdG9TdGFjay5hZGQoZW50cnkubWlkZGxld2FyZSwgeyAuLi5lbnRyeSB9KTtcbiAgICB9KTtcbiAgICByZWxhdGl2ZUVudHJpZXMuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIC8vQHRzLWlnbm9yZVxuICAgICAgdG9TdGFjay5hZGRSZWxhdGl2ZVRvKGVudHJ5Lm1pZGRsZXdhcmUsIHsgLi4uZW50cnkgfSk7XG4gICAgfSk7XG4gICAgcmV0dXJuIHRvU3RhY2s7XG4gIH07XG5cbiAgY29uc3QgZXhwYW5kUmVsYXRpdmVNaWRkbGV3YXJlTGlzdCA9IChcbiAgICBmcm9tOiBOb3JtYWxpemVkPE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PiwgSW5wdXQsIE91dHB1dD5cbiAgKTogTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+W10gPT4ge1xuICAgIGNvbnN0IGV4cGFuZGVkTWlkZGxld2FyZUxpc3Q6IE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PltdID0gW107XG4gICAgZnJvbS5iZWZvcmUuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIGlmIChlbnRyeS5iZWZvcmUubGVuZ3RoID09PSAwICYmIGVudHJ5LmFmdGVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBleHBhbmRlZE1pZGRsZXdhcmVMaXN0LnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwYW5kZWRNaWRkbGV3YXJlTGlzdC5wdXNoKC4uLmV4cGFuZFJlbGF0aXZlTWlkZGxld2FyZUxpc3QoZW50cnkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICBleHBhbmRlZE1pZGRsZXdhcmVMaXN0LnB1c2goZnJvbSk7XG4gICAgZnJvbS5hZnRlci5yZXZlcnNlKCkuZm9yRWFjaCgoZW50cnkpID0+IHtcbiAgICAgIGlmIChlbnRyeS5iZWZvcmUubGVuZ3RoID09PSAwICYmIGVudHJ5LmFmdGVyLmxlbmd0aCA9PT0gMCkge1xuICAgICAgICBleHBhbmRlZE1pZGRsZXdhcmVMaXN0LnB1c2goZW50cnkpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgZXhwYW5kZWRNaWRkbGV3YXJlTGlzdC5wdXNoKC4uLmV4cGFuZFJlbGF0aXZlTWlkZGxld2FyZUxpc3QoZW50cnkpKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZXhwYW5kZWRNaWRkbGV3YXJlTGlzdDtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IGEgZmluYWwgbGlzdCBvZiBtaWRkbGV3YXJlIGluIHRoZSBvcmRlciBvZiBiZWluZyBleGVjdXRlZCBpbiB0aGUgcmVzb2x2ZWQgaGFuZGxlci5cbiAgICovXG4gIGNvbnN0IGdldE1pZGRsZXdhcmVMaXN0ID0gKCk6IEFycmF5PE1pZGRsZXdhcmVUeXBlPElucHV0LCBPdXRwdXQ+PiA9PiB7XG4gICAgY29uc3Qgbm9ybWFsaXplZEFic29sdXRlRW50cmllczogTm9ybWFsaXplZDxBYnNvbHV0ZU1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0PiwgSW5wdXQsIE91dHB1dD5bXSA9IFtdO1xuICAgIGNvbnN0IG5vcm1hbGl6ZWRSZWxhdGl2ZUVudHJpZXM6IE5vcm1hbGl6ZWQ8UmVsYXRpdmVNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD4sIElucHV0LCBPdXRwdXQ+W10gPSBbXTtcbiAgICBjb25zdCBub3JtYWxpemVkRW50cmllc05hbWVNYXA6IHtcbiAgICAgIFttaWRkbGV3YXJlTmFtZTogc3RyaW5nXTogTm9ybWFsaXplZDxNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD4sIElucHV0LCBPdXRwdXQ+O1xuICAgIH0gPSB7fTtcblxuICAgIGFic29sdXRlRW50cmllcy5mb3JFYWNoKChlbnRyeSkgPT4ge1xuICAgICAgY29uc3Qgbm9ybWFsaXplZEVudHJ5ID0ge1xuICAgICAgICAuLi5lbnRyeSxcbiAgICAgICAgYmVmb3JlOiBbXSxcbiAgICAgICAgYWZ0ZXI6IFtdLFxuICAgICAgfTtcbiAgICAgIGlmIChub3JtYWxpemVkRW50cnkubmFtZSkgbm9ybWFsaXplZEVudHJpZXNOYW1lTWFwW25vcm1hbGl6ZWRFbnRyeS5uYW1lXSA9IG5vcm1hbGl6ZWRFbnRyeTtcbiAgICAgIG5vcm1hbGl6ZWRBYnNvbHV0ZUVudHJpZXMucHVzaChub3JtYWxpemVkRW50cnkpO1xuICAgIH0pO1xuXG4gICAgcmVsYXRpdmVFbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBjb25zdCBub3JtYWxpemVkRW50cnkgPSB7XG4gICAgICAgIC4uLmVudHJ5LFxuICAgICAgICBiZWZvcmU6IFtdLFxuICAgICAgICBhZnRlcjogW10sXG4gICAgICB9O1xuICAgICAgaWYgKG5vcm1hbGl6ZWRFbnRyeS5uYW1lKSBub3JtYWxpemVkRW50cmllc05hbWVNYXBbbm9ybWFsaXplZEVudHJ5Lm5hbWVdID0gbm9ybWFsaXplZEVudHJ5O1xuICAgICAgbm9ybWFsaXplZFJlbGF0aXZlRW50cmllcy5wdXNoKG5vcm1hbGl6ZWRFbnRyeSk7XG4gICAgfSk7XG5cbiAgICBub3JtYWxpemVkUmVsYXRpdmVFbnRyaWVzLmZvckVhY2goKGVudHJ5KSA9PiB7XG4gICAgICBpZiAoZW50cnkudG9NaWRkbGV3YXJlKSB7XG4gICAgICAgIGNvbnN0IHRvTWlkZGxld2FyZSA9IG5vcm1hbGl6ZWRFbnRyaWVzTmFtZU1hcFtlbnRyeS50b01pZGRsZXdhcmVdO1xuICAgICAgICBpZiAodG9NaWRkbGV3YXJlID09PSB1bmRlZmluZWQpIHtcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgICAgICBgJHtlbnRyeS50b01pZGRsZXdhcmV9IGlzIG5vdCBmb3VuZCB3aGVuIGFkZGluZyAke2VudHJ5Lm5hbWUgfHwgXCJhbm9ueW1vdXNcIn0gbWlkZGxld2FyZSAke2VudHJ5LnJlbGF0aW9ufSAke1xuICAgICAgICAgICAgICBlbnRyeS50b01pZGRsZXdhcmVcbiAgICAgICAgICAgIH1gXG4gICAgICAgICAgKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW50cnkucmVsYXRpb24gPT09IFwiYWZ0ZXJcIikge1xuICAgICAgICAgIHRvTWlkZGxld2FyZS5hZnRlci5wdXNoKGVudHJ5KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZW50cnkucmVsYXRpb24gPT09IFwiYmVmb3JlXCIpIHtcbiAgICAgICAgICB0b01pZGRsZXdhcmUuYmVmb3JlLnB1c2goZW50cnkpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfSk7XG5cbiAgICBjb25zdCBtYWluQ2hhaW4gPSBzb3J0KG5vcm1hbGl6ZWRBYnNvbHV0ZUVudHJpZXMpXG4gICAgICAubWFwKGV4cGFuZFJlbGF0aXZlTWlkZGxld2FyZUxpc3QpXG4gICAgICAucmVkdWNlKCh3aG9sZUxpc3QsIGV4cGVuZGVkTWlkZGxld2FyZUxpc3QpID0+IHtcbiAgICAgICAgLy8gVE9ETzogUmVwbGFjZSBpdCB3aXRoIEFycmF5LmZsYXQoKTtcbiAgICAgICAgd2hvbGVMaXN0LnB1c2goLi4uZXhwZW5kZWRNaWRkbGV3YXJlTGlzdCk7XG4gICAgICAgIHJldHVybiB3aG9sZUxpc3Q7XG4gICAgICB9LCBbXSBhcyBNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD5bXSk7XG4gICAgcmV0dXJuIG1haW5DaGFpbi5tYXAoKGVudHJ5KSA9PiBlbnRyeS5taWRkbGV3YXJlKTtcbiAgfTtcblxuICBjb25zdCBzdGFjayA9IHtcbiAgICBhZGQ6IChtaWRkbGV3YXJlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Piwgb3B0aW9uczogSGFuZGxlck9wdGlvbnMgJiBBYnNvbHV0ZUxvY2F0aW9uID0ge30pID0+IHtcbiAgICAgIGNvbnN0IHsgbmFtZSwgb3ZlcnJpZGUgfSA9IG9wdGlvbnM7XG4gICAgICBjb25zdCBlbnRyeTogQWJzb2x1dGVNaWRkbGV3YXJlRW50cnk8SW5wdXQsIE91dHB1dD4gPSB7XG4gICAgICAgIHN0ZXA6IFwiaW5pdGlhbGl6ZVwiLFxuICAgICAgICBwcmlvcml0eTogXCJub3JtYWxcIixcbiAgICAgICAgbWlkZGxld2FyZSxcbiAgICAgICAgLi4ub3B0aW9ucyxcbiAgICAgIH07XG4gICAgICBpZiAobmFtZSkge1xuICAgICAgICBpZiAoZW50cmllc05hbWVTZXQuaGFzKG5hbWUpKSB7XG4gICAgICAgICAgaWYgKCFvdmVycmlkZSkgdGhyb3cgbmV3IEVycm9yKGBEdXBsaWNhdGUgbWlkZGxld2FyZSBuYW1lICcke25hbWV9J2ApO1xuICAgICAgICAgIGNvbnN0IHRvT3ZlcnJpZGVJbmRleCA9IGFic29sdXRlRW50cmllcy5maW5kSW5kZXgoKGVudHJ5KSA9PiBlbnRyeS5uYW1lID09PSBuYW1lKTtcbiAgICAgICAgICBjb25zdCB0b092ZXJyaWRlID0gYWJzb2x1dGVFbnRyaWVzW3RvT3ZlcnJpZGVJbmRleF07XG4gICAgICAgICAgaWYgKHRvT3ZlcnJpZGUuc3RlcCAhPT0gZW50cnkuc3RlcCB8fCB0b092ZXJyaWRlLnByaW9yaXR5ICE9PSBlbnRyeS5wcmlvcml0eSkge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCIke25hbWV9XCIgbWlkZGxld2FyZSB3aXRoICR7dG9PdmVycmlkZS5wcmlvcml0eX0gcHJpb3JpdHkgaW4gJHt0b092ZXJyaWRlLnN0ZXB9IHN0ZXAgY2Fubm90IGJlIGAgK1xuICAgICAgICAgICAgICAgIGBvdmVycmlkZGVuIGJ5IHNhbWUtbmFtZSBtaWRkbGV3YXJlIHdpdGggJHtlbnRyeS5wcmlvcml0eX0gcHJpb3JpdHkgaW4gJHtlbnRyeS5zdGVwfSBzdGVwLmBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGFic29sdXRlRW50cmllcy5zcGxpY2UodG9PdmVycmlkZUluZGV4LCAxKTtcbiAgICAgICAgfVxuICAgICAgICBlbnRyaWVzTmFtZVNldC5hZGQobmFtZSk7XG4gICAgICB9XG4gICAgICBhYnNvbHV0ZUVudHJpZXMucHVzaChlbnRyeSk7XG4gICAgfSxcblxuICAgIGFkZFJlbGF0aXZlVG86IChtaWRkbGV3YXJlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0Piwgb3B0aW9uczogSGFuZGxlck9wdGlvbnMgJiBSZWxhdGl2ZUxvY2F0aW9uKSA9PiB7XG4gICAgICBjb25zdCB7IG5hbWUsIG92ZXJyaWRlIH0gPSBvcHRpb25zO1xuICAgICAgY29uc3QgZW50cnk6IFJlbGF0aXZlTWlkZGxld2FyZUVudHJ5PElucHV0LCBPdXRwdXQ+ID0ge1xuICAgICAgICBtaWRkbGV3YXJlLFxuICAgICAgICAuLi5vcHRpb25zLFxuICAgICAgfTtcbiAgICAgIGlmIChuYW1lKSB7XG4gICAgICAgIGlmIChlbnRyaWVzTmFtZVNldC5oYXMobmFtZSkpIHtcbiAgICAgICAgICBpZiAoIW92ZXJyaWRlKSB0aHJvdyBuZXcgRXJyb3IoYER1cGxpY2F0ZSBtaWRkbGV3YXJlIG5hbWUgJyR7bmFtZX0nYCk7XG4gICAgICAgICAgY29uc3QgdG9PdmVycmlkZUluZGV4ID0gcmVsYXRpdmVFbnRyaWVzLmZpbmRJbmRleCgoZW50cnkpID0+IGVudHJ5Lm5hbWUgPT09IG5hbWUpO1xuICAgICAgICAgIGNvbnN0IHRvT3ZlcnJpZGUgPSByZWxhdGl2ZUVudHJpZXNbdG9PdmVycmlkZUluZGV4XTtcbiAgICAgICAgICBpZiAodG9PdmVycmlkZS50b01pZGRsZXdhcmUgIT09IGVudHJ5LnRvTWlkZGxld2FyZSB8fCB0b092ZXJyaWRlLnJlbGF0aW9uICE9PSBlbnRyeS5yZWxhdGlvbikge1xuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgICAgICAgICBgXCIke25hbWV9XCIgbWlkZGxld2FyZSAke3RvT3ZlcnJpZGUucmVsYXRpb259IFwiJHt0b092ZXJyaWRlLnRvTWlkZGxld2FyZX1cIiBtaWRkbGV3YXJlIGNhbm5vdCBiZSBvdmVycmlkZGVuIGAgK1xuICAgICAgICAgICAgICAgIGBieSBzYW1lLW5hbWUgbWlkZGxld2FyZSAke2VudHJ5LnJlbGF0aW9ufSBcIiR7ZW50cnkudG9NaWRkbGV3YXJlfVwiIG1pZGRsZXdhcmUuYFxuICAgICAgICAgICAgKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcmVsYXRpdmVFbnRyaWVzLnNwbGljZSh0b092ZXJyaWRlSW5kZXgsIDEpO1xuICAgICAgICB9XG4gICAgICAgIGVudHJpZXNOYW1lU2V0LmFkZChuYW1lKTtcbiAgICAgIH1cbiAgICAgIHJlbGF0aXZlRW50cmllcy5wdXNoKGVudHJ5KTtcbiAgICB9LFxuXG4gICAgY2xvbmU6ICgpID0+IGNsb25lVG8oY29uc3RydWN0U3RhY2s8SW5wdXQsIE91dHB1dD4oKSksXG5cbiAgICB1c2U6IChwbHVnaW46IFBsdWdnYWJsZTxJbnB1dCwgT3V0cHV0PikgPT4ge1xuICAgICAgcGx1Z2luLmFwcGx5VG9TdGFjayhzdGFjayk7XG4gICAgfSxcblxuICAgIHJlbW92ZTogKHRvUmVtb3ZlOiBNaWRkbGV3YXJlVHlwZTxJbnB1dCwgT3V0cHV0PiB8IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgaWYgKHR5cGVvZiB0b1JlbW92ZSA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIHJlbW92ZUJ5TmFtZSh0b1JlbW92ZSk7XG4gICAgICBlbHNlIHJldHVybiByZW1vdmVCeVJlZmVyZW5jZSh0b1JlbW92ZSk7XG4gICAgfSxcblxuICAgIHJlbW92ZUJ5VGFnOiAodG9SZW1vdmU6IHN0cmluZyk6IGJvb2xlYW4gPT4ge1xuICAgICAgbGV0IGlzUmVtb3ZlZCA9IGZhbHNlO1xuICAgICAgY29uc3QgZmlsdGVyQ2IgPSAoZW50cnk6IE1pZGRsZXdhcmVFbnRyeTxJbnB1dCwgT3V0cHV0Pik6IGJvb2xlYW4gPT4ge1xuICAgICAgICBjb25zdCB7IHRhZ3MsIG5hbWUgfSA9IGVudHJ5O1xuICAgICAgICBpZiAodGFncyAmJiB0YWdzLmluY2x1ZGVzKHRvUmVtb3ZlKSkge1xuICAgICAgICAgIGlmIChuYW1lKSBlbnRyaWVzTmFtZVNldC5kZWxldGUobmFtZSk7XG4gICAgICAgICAgaXNSZW1vdmVkID0gdHJ1ZTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICB9O1xuICAgICAgYWJzb2x1dGVFbnRyaWVzID0gYWJzb2x1dGVFbnRyaWVzLmZpbHRlcihmaWx0ZXJDYik7XG4gICAgICByZWxhdGl2ZUVudHJpZXMgPSByZWxhdGl2ZUVudHJpZXMuZmlsdGVyKGZpbHRlckNiKTtcbiAgICAgIHJldHVybiBpc1JlbW92ZWQ7XG4gICAgfSxcblxuICAgIGNvbmNhdDogPElucHV0VHlwZSBleHRlbmRzIElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgT3V0cHV0PihcbiAgICAgIGZyb206IE1pZGRsZXdhcmVTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+XG4gICAgKTogTWlkZGxld2FyZVN0YWNrPElucHV0VHlwZSwgT3V0cHV0VHlwZT4gPT4ge1xuICAgICAgY29uc3QgY2xvbmVkID0gY2xvbmVUbyhjb25zdHJ1Y3RTdGFjazxJbnB1dFR5cGUsIE91dHB1dFR5cGU+KCkpO1xuICAgICAgY2xvbmVkLnVzZShmcm9tKTtcbiAgICAgIHJldHVybiBjbG9uZWQ7XG4gICAgfSxcblxuICAgIGFwcGx5VG9TdGFjazogY2xvbmVUbyxcblxuICAgIHJlc29sdmU6IDxJbnB1dFR5cGUgZXh0ZW5kcyBJbnB1dCwgT3V0cHV0VHlwZSBleHRlbmRzIE91dHB1dD4oXG4gICAgICBoYW5kbGVyOiBEZXNlcmlhbGl6ZUhhbmRsZXI8SW5wdXRUeXBlLCBPdXRwdXRUeXBlPixcbiAgICAgIGNvbnRleHQ6IEhhbmRsZXJFeGVjdXRpb25Db250ZXh0XG4gICAgKTogSGFuZGxlcjxJbnB1dFR5cGUsIE91dHB1dFR5cGU+ID0+IHtcbiAgICAgIGZvciAoY29uc3QgbWlkZGxld2FyZSBvZiBnZXRNaWRkbGV3YXJlTGlzdCgpLnJldmVyc2UoKSkge1xuICAgICAgICBoYW5kbGVyID0gbWlkZGxld2FyZShoYW5kbGVyIGFzIEhhbmRsZXI8SW5wdXQsIE91dHB1dFR5cGU+LCBjb250ZXh0KSBhcyBhbnk7XG4gICAgICB9XG4gICAgICByZXR1cm4gaGFuZGxlciBhcyBIYW5kbGVyPElucHV0VHlwZSwgT3V0cHV0VHlwZT47XG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIHN0YWNrO1xufTtcblxuY29uc3Qgc3RlcFdlaWdodHM6IHsgW2tleSBpbiBTdGVwXTogbnVtYmVyIH0gPSB7XG4gIGluaXRpYWxpemU6IDUsXG4gIHNlcmlhbGl6ZTogNCxcbiAgYnVpbGQ6IDMsXG4gIGZpbmFsaXplUmVxdWVzdDogMixcbiAgZGVzZXJpYWxpemU6IDEsXG59O1xuXG5jb25zdCBwcmlvcml0eVdlaWdodHM6IHsgW2tleSBpbiBQcmlvcml0eV06IG51bWJlciB9ID0ge1xuICBoaWdoOiAzLFxuICBub3JtYWw6IDIsXG4gIGxvdzogMSxcbn07XG4iXX0=","import { constructStack } from \"@aws-sdk/middleware-stack\";\nvar Client = /** @class */ (function () {\n function Client(config) {\n this.middlewareStack = constructStack();\n this.config = config;\n }\n Client.prototype.send = function (command, optionsOrCb, cb) {\n var options = typeof optionsOrCb !== \"function\" ? optionsOrCb : undefined;\n var callback = typeof optionsOrCb === \"function\" ? optionsOrCb : cb;\n var handler = command.resolveMiddleware(this.middlewareStack, this.config, options);\n if (callback) {\n handler(command)\n .then(function (result) { return callback(null, result.output); }, function (err) { return callback(err); })\n .catch(\n // prevent any errors thrown in the callback from triggering an\n // unhandled promise rejection\n function () { });\n }\n else {\n return handler(command).then(function (result) { return result.output; });\n }\n };\n Client.prototype.destroy = function () {\n if (this.config.requestHandler.destroy)\n this.config.requestHandler.destroy();\n };\n return Client;\n}());\nexport { Client };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NsaWVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFlM0Q7SUFRRSxnQkFBWSxNQUFtQztRQUZ4QyxvQkFBZSxHQUFHLGNBQWMsRUFBNkIsQ0FBQztRQUduRSxJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQztJQUN2QixDQUFDO0lBY0QscUJBQUksR0FBSixVQUNFLE9BQStHLEVBQy9HLFdBQXNFLEVBQ3RFLEVBQTBDO1FBRTFDLElBQU0sT0FBTyxHQUFHLE9BQU8sV0FBVyxLQUFLLFVBQVUsQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7UUFDNUUsSUFBTSxRQUFRLEdBQUcsT0FBTyxXQUFXLEtBQUssVUFBVSxDQUFDLENBQUMsQ0FBRSxXQUFxRCxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7UUFDakgsSUFBTSxPQUFPLEdBQUcsT0FBTyxDQUFDLGlCQUFpQixDQUFDLElBQUksQ0FBQyxlQUFzQixFQUFFLElBQUksQ0FBQyxNQUFNLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDN0YsSUFBSSxRQUFRLEVBQUU7WUFDWixPQUFPLENBQUMsT0FBTyxDQUFDO2lCQUNiLElBQUksQ0FDSCxVQUFDLE1BQU0sSUFBSyxPQUFBLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxFQUE3QixDQUE2QixFQUN6QyxVQUFDLEdBQVEsSUFBSyxPQUFBLFFBQVEsQ0FBQyxHQUFHLENBQUMsRUFBYixDQUFhLENBQzVCO2lCQUNBLEtBQUs7WUFDSiwrREFBK0Q7WUFDL0QsOEJBQThCO1lBQzlCLGNBQU8sQ0FBQyxDQUNULENBQUM7U0FDTDthQUFNO1lBQ0wsT0FBTyxPQUFPLENBQUMsT0FBTyxDQUFDLENBQUMsSUFBSSxDQUFDLFVBQUMsTUFBTSxJQUFLLE9BQUEsTUFBTSxDQUFDLE1BQU0sRUFBYixDQUFhLENBQUMsQ0FBQztTQUN6RDtJQUNILENBQUM7SUFFRCx3QkFBTyxHQUFQO1FBQ0UsSUFBSSxJQUFJLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxPQUFPO1lBQUUsSUFBSSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDL0UsQ0FBQztJQUNILGFBQUM7QUFBRCxDQUFDLEFBbkRELElBbURDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29uc3RydWN0U3RhY2sgfSBmcm9tIFwiQGF3cy1zZGsvbWlkZGxld2FyZS1zdGFja1wiO1xuaW1wb3J0IHsgQ2xpZW50IGFzIElDbGllbnQsIENvbW1hbmQsIE1ldGFkYXRhQmVhcmVyLCBSZXF1ZXN0SGFuZGxlciB9IGZyb20gXCJAYXdzLXNkay90eXBlc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIFNtaXRoeUNvbmZpZ3VyYXRpb248SGFuZGxlck9wdGlvbnM+IHtcbiAgcmVxdWVzdEhhbmRsZXI6IFJlcXVlc3RIYW5kbGVyPGFueSwgYW55LCBIYW5kbGVyT3B0aW9ucz47XG4gIC8qKlxuICAgKiBUaGUgQVBJIHZlcnNpb24gc2V0IGludGVybmFsbHkgYnkgdGhlIFNESywgYW5kIGlzXG4gICAqIG5vdCBwbGFubmVkIHRvIGJlIHVzZWQgYnkgY3VzdG9tZXIgY29kZS5cbiAgICogQGludGVybmFsXG4gICAqL1xuICByZWFkb25seSBhcGlWZXJzaW9uOiBzdHJpbmc7XG59XG5cbmV4cG9ydCB0eXBlIFNtaXRoeVJlc29sdmVkQ29uZmlndXJhdGlvbjxIYW5kbGVyT3B0aW9ucz4gPSBTbWl0aHlDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPjtcblxuZXhwb3J0IGNsYXNzIENsaWVudDxcbiAgSGFuZGxlck9wdGlvbnMsXG4gIENsaWVudElucHV0IGV4dGVuZHMgb2JqZWN0LFxuICBDbGllbnRPdXRwdXQgZXh0ZW5kcyBNZXRhZGF0YUJlYXJlcixcbiAgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uIGV4dGVuZHMgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPlxuPiBpbXBsZW1lbnRzIElDbGllbnQ8Q2xpZW50SW5wdXQsIENsaWVudE91dHB1dCwgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uPiB7XG4gIHB1YmxpYyBtaWRkbGV3YXJlU3RhY2sgPSBjb25zdHJ1Y3RTdGFjazxDbGllbnRJbnB1dCwgQ2xpZW50T3V0cHV0PigpO1xuICByZWFkb25seSBjb25maWc6IFJlc29sdmVkQ2xpZW50Q29uZmlndXJhdGlvbjtcbiAgY29uc3RydWN0b3IoY29uZmlnOiBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24pIHtcbiAgICB0aGlzLmNvbmZpZyA9IGNvbmZpZztcbiAgfVxuICBzZW5kPElucHV0VHlwZSBleHRlbmRzIENsaWVudElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgQ2xpZW50T3V0cHV0PihcbiAgICBjb21tYW5kOiBDb21tYW5kPENsaWVudElucHV0LCBJbnB1dFR5cGUsIENsaWVudE91dHB1dCwgT3V0cHV0VHlwZSwgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPj4sXG4gICAgb3B0aW9ucz86IEhhbmRsZXJPcHRpb25zXG4gICk6IFByb21pc2U8T3V0cHV0VHlwZT47XG4gIHNlbmQ8SW5wdXRUeXBlIGV4dGVuZHMgQ2xpZW50SW5wdXQsIE91dHB1dFR5cGUgZXh0ZW5kcyBDbGllbnRPdXRwdXQ+KFxuICAgIGNvbW1hbmQ6IENvbW1hbmQ8Q2xpZW50SW5wdXQsIElucHV0VHlwZSwgQ2xpZW50T3V0cHV0LCBPdXRwdXRUeXBlLCBTbWl0aHlSZXNvbHZlZENvbmZpZ3VyYXRpb248SGFuZGxlck9wdGlvbnM+PixcbiAgICBjYjogKGVycjogYW55LCBkYXRhPzogT3V0cHV0VHlwZSkgPT4gdm9pZFxuICApOiB2b2lkO1xuICBzZW5kPElucHV0VHlwZSBleHRlbmRzIENsaWVudElucHV0LCBPdXRwdXRUeXBlIGV4dGVuZHMgQ2xpZW50T3V0cHV0PihcbiAgICBjb21tYW5kOiBDb21tYW5kPENsaWVudElucHV0LCBJbnB1dFR5cGUsIENsaWVudE91dHB1dCwgT3V0cHV0VHlwZSwgU21pdGh5UmVzb2x2ZWRDb25maWd1cmF0aW9uPEhhbmRsZXJPcHRpb25zPj4sXG4gICAgb3B0aW9uczogSGFuZGxlck9wdGlvbnMsXG4gICAgY2I6IChlcnI6IGFueSwgZGF0YT86IE91dHB1dFR5cGUpID0+IHZvaWRcbiAgKTogdm9pZDtcbiAgc2VuZDxJbnB1dFR5cGUgZXh0ZW5kcyBDbGllbnRJbnB1dCwgT3V0cHV0VHlwZSBleHRlbmRzIENsaWVudE91dHB1dD4oXG4gICAgY29tbWFuZDogQ29tbWFuZDxDbGllbnRJbnB1dCwgSW5wdXRUeXBlLCBDbGllbnRPdXRwdXQsIE91dHB1dFR5cGUsIFNtaXRoeVJlc29sdmVkQ29uZmlndXJhdGlvbjxIYW5kbGVyT3B0aW9ucz4+LFxuICAgIG9wdGlvbnNPckNiPzogSGFuZGxlck9wdGlvbnMgfCAoKGVycjogYW55LCBkYXRhPzogT3V0cHV0VHlwZSkgPT4gdm9pZCksXG4gICAgY2I/OiAoZXJyOiBhbnksIGRhdGE/OiBPdXRwdXRUeXBlKSA9PiB2b2lkXG4gICk6IFByb21pc2U8T3V0cHV0VHlwZT4gfCB2b2lkIHtcbiAgICBjb25zdCBvcHRpb25zID0gdHlwZW9mIG9wdGlvbnNPckNiICE9PSBcImZ1bmN0aW9uXCIgPyBvcHRpb25zT3JDYiA6IHVuZGVmaW5lZDtcbiAgICBjb25zdCBjYWxsYmFjayA9IHR5cGVvZiBvcHRpb25zT3JDYiA9PT0gXCJmdW5jdGlvblwiID8gKG9wdGlvbnNPckNiIGFzIChlcnI6IGFueSwgZGF0YT86IE91dHB1dFR5cGUpID0+IHZvaWQpIDogY2I7XG4gICAgY29uc3QgaGFuZGxlciA9IGNvbW1hbmQucmVzb2x2ZU1pZGRsZXdhcmUodGhpcy5taWRkbGV3YXJlU3RhY2sgYXMgYW55LCB0aGlzLmNvbmZpZywgb3B0aW9ucyk7XG4gICAgaWYgKGNhbGxiYWNrKSB7XG4gICAgICBoYW5kbGVyKGNvbW1hbmQpXG4gICAgICAgIC50aGVuKFxuICAgICAgICAgIChyZXN1bHQpID0+IGNhbGxiYWNrKG51bGwsIHJlc3VsdC5vdXRwdXQpLFxuICAgICAgICAgIChlcnI6IGFueSkgPT4gY2FsbGJhY2soZXJyKVxuICAgICAgICApXG4gICAgICAgIC5jYXRjaChcbiAgICAgICAgICAvLyBwcmV2ZW50IGFueSBlcnJvcnMgdGhyb3duIGluIHRoZSBjYWxsYmFjayBmcm9tIHRyaWdnZXJpbmcgYW5cbiAgICAgICAgICAvLyB1bmhhbmRsZWQgcHJvbWlzZSByZWplY3Rpb25cbiAgICAgICAgICAoKSA9PiB7fVxuICAgICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gaGFuZGxlcihjb21tYW5kKS50aGVuKChyZXN1bHQpID0+IHJlc3VsdC5vdXRwdXQpO1xuICAgIH1cbiAgfVxuXG4gIGRlc3Ryb3koKSB7XG4gICAgaWYgKHRoaXMuY29uZmlnLnJlcXVlc3RIYW5kbGVyLmRlc3Ryb3kpIHRoaXMuY29uZmlnLnJlcXVlc3RIYW5kbGVyLmRlc3Ryb3koKTtcbiAgfVxufVxuIl19","import { constructStack } from \"@aws-sdk/middleware-stack\";\nvar Command = /** @class */ (function () {\n function Command() {\n this.middlewareStack = constructStack();\n }\n return Command;\n}());\nexport { Command };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbWFuZC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb21tYW5kLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUczRDtJQUFBO1FBUVcsb0JBQWUsR0FBb0MsY0FBYyxFQUFpQixDQUFDO0lBTTlGLENBQUM7SUFBRCxjQUFDO0FBQUQsQ0FBQyxBQWRELElBY0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjb25zdHJ1Y3RTdGFjayB9IGZyb20gXCJAYXdzLXNkay9taWRkbGV3YXJlLXN0YWNrXCI7XG5pbXBvcnQgeyBDb21tYW5kIGFzIElDb21tYW5kLCBIYW5kbGVyLCBNZXRhZGF0YUJlYXJlciwgTWlkZGxld2FyZVN0YWNrIGFzIElNaWRkbGV3YXJlU3RhY2sgfSBmcm9tIFwiQGF3cy1zZGsvdHlwZXNcIjtcblxuZXhwb3J0IGFic3RyYWN0IGNsYXNzIENvbW1hbmQ8XG4gIElucHV0IGV4dGVuZHMgQ2xpZW50SW5wdXQsXG4gIE91dHB1dCBleHRlbmRzIENsaWVudE91dHB1dCxcbiAgUmVzb2x2ZWRDbGllbnRDb25maWd1cmF0aW9uLFxuICBDbGllbnRJbnB1dCBleHRlbmRzIG9iamVjdCA9IGFueSxcbiAgQ2xpZW50T3V0cHV0IGV4dGVuZHMgTWV0YWRhdGFCZWFyZXIgPSBhbnlcbj4gaW1wbGVtZW50cyBJQ29tbWFuZDxDbGllbnRJbnB1dCwgSW5wdXQsIENsaWVudE91dHB1dCwgT3V0cHV0LCBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24+IHtcbiAgYWJzdHJhY3QgaW5wdXQ6IElucHV0O1xuICByZWFkb25seSBtaWRkbGV3YXJlU3RhY2s6IElNaWRkbGV3YXJlU3RhY2s8SW5wdXQsIE91dHB1dD4gPSBjb25zdHJ1Y3RTdGFjazxJbnB1dCwgT3V0cHV0PigpO1xuICBhYnN0cmFjdCByZXNvbHZlTWlkZGxld2FyZShcbiAgICBzdGFjazogSU1pZGRsZXdhcmVTdGFjazxDbGllbnRJbnB1dCwgQ2xpZW50T3V0cHV0PixcbiAgICBjb25maWd1cmF0aW9uOiBSZXNvbHZlZENsaWVudENvbmZpZ3VyYXRpb24sXG4gICAgb3B0aW9uczogYW55XG4gICk6IEhhbmRsZXI8SW5wdXQsIE91dHB1dD47XG59XG4iXX0=","/**\n * Lazy String holder for JSON typed contents.\n */\nimport { __extends, __read, __spread } from \"tslib\";\n/**\n * Because of https://github.com/microsoft/tslib/issues/95,\n * TS 'extends' shim doesn't support extending native types like String.\n * So here we create StringWrapper that duplicate everything from String\n * class including its prototype chain. So we can extend from here.\n */\n// @ts-ignore StringWrapper implementation is not a simple constructor\nexport var StringWrapper = function () {\n //@ts-ignore 'this' cannot be assigned to any, but Object.getPrototypeOf accepts any\n var Class = Object.getPrototypeOf(this).constructor;\n var Constructor = Function.bind.apply(String, __spread([null], arguments));\n //@ts-ignore Call wrapped String constructor directly, don't bother typing it.\n var instance = new Constructor();\n Object.setPrototypeOf(instance, Class.prototype);\n return instance;\n};\nStringWrapper.prototype = Object.create(String.prototype, {\n constructor: {\n value: StringWrapper,\n enumerable: false,\n writable: true,\n configurable: true,\n },\n});\nObject.setPrototypeOf(StringWrapper, String);\nvar LazyJsonString = /** @class */ (function (_super) {\n __extends(LazyJsonString, _super);\n function LazyJsonString() {\n return _super !== null && _super.apply(this, arguments) || this;\n }\n LazyJsonString.prototype.deserializeJSON = function () {\n return JSON.parse(_super.prototype.toString.call(this));\n };\n LazyJsonString.prototype.toJSON = function () {\n return _super.prototype.toString.call(this);\n };\n LazyJsonString.fromObject = function (object) {\n if (object instanceof LazyJsonString) {\n return object;\n }\n else if (object instanceof String || typeof object === \"string\") {\n return new LazyJsonString(object);\n }\n return new LazyJsonString(JSON.stringify(object));\n };\n return LazyJsonString;\n}(StringWrapper));\nexport { LazyJsonString };\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGF6eS1qc29uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xhenktanNvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRzs7QUFNSDs7Ozs7R0FLRztBQUNILHNFQUFzRTtBQUN0RSxNQUFNLENBQUMsSUFBTSxhQUFhLEdBQWtCO0lBQzFDLG9GQUFvRjtJQUNwRixJQUFNLEtBQUssR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsQ0FBQztJQUN0RCxJQUFNLFdBQVcsR0FBRyxRQUFRLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFlBQUcsSUFBVyxHQUFLLFNBQVMsRUFBRSxDQUFDO0lBQzdFLDhFQUE4RTtJQUM5RSxJQUFNLFFBQVEsR0FBRyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ25DLE1BQU0sQ0FBQyxjQUFjLENBQUMsUUFBUSxFQUFFLEtBQUssQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNqRCxPQUFPLFFBQWtCLENBQUM7QUFDNUIsQ0FBQyxDQUFDO0FBQ0YsYUFBYSxDQUFDLFNBQVMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxTQUFTLEVBQUU7SUFDeEQsV0FBVyxFQUFFO1FBQ1gsS0FBSyxFQUFFLGFBQWE7UUFDcEIsVUFBVSxFQUFFLEtBQUs7UUFDakIsUUFBUSxFQUFFLElBQUk7UUFDZCxZQUFZLEVBQUUsSUFBSTtLQUNuQjtDQUNGLENBQUMsQ0FBQztBQUNILE1BQU0sQ0FBQyxjQUFjLENBQUMsYUFBYSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0FBRTdDO0lBQW9DLGtDQUFhO0lBQWpEOztJQWlCQSxDQUFDO0lBaEJDLHdDQUFlLEdBQWY7UUFDRSxPQUFPLElBQUksQ0FBQyxLQUFLLENBQUMsaUJBQU0sUUFBUSxXQUFFLENBQUMsQ0FBQztJQUN0QyxDQUFDO0lBRUQsK0JBQU0sR0FBTjtRQUNFLE9BQU8saUJBQU0sUUFBUSxXQUFFLENBQUM7SUFDMUIsQ0FBQztJQUVNLHlCQUFVLEdBQWpCLFVBQWtCLE1BQVc7UUFDM0IsSUFBSSxNQUFNLFlBQVksY0FBYyxFQUFFO1lBQ3BDLE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLE1BQU0sWUFBWSxNQUFNLElBQUksT0FBTyxNQUFNLEtBQUssUUFBUSxFQUFFO1lBQ2pFLE9BQU8sSUFBSSxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7U0FDbkM7UUFDRCxPQUFPLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztJQUNwRCxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBakJELENBQW9DLGFBQWEsR0FpQmhEIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBMYXp5IFN0cmluZyBob2xkZXIgZm9yIEpTT04gdHlwZWQgY29udGVudHMuXG4gKi9cblxuaW50ZXJmYWNlIFN0cmluZ1dyYXBwZXIge1xuICBuZXcgKGFyZzogYW55KTogU3RyaW5nO1xufVxuXG4vKipcbiAqIEJlY2F1c2Ugb2YgaHR0cHM6Ly9naXRodWIuY29tL21pY3Jvc29mdC90c2xpYi9pc3N1ZXMvOTUsXG4gKiBUUyAnZXh0ZW5kcycgc2hpbSBkb2Vzbid0IHN1cHBvcnQgZXh0ZW5kaW5nIG5hdGl2ZSB0eXBlcyBsaWtlIFN0cmluZy5cbiAqIFNvIGhlcmUgd2UgY3JlYXRlIFN0cmluZ1dyYXBwZXIgdGhhdCBkdXBsaWNhdGUgZXZlcnl0aGluZyBmcm9tIFN0cmluZ1xuICogY2xhc3MgaW5jbHVkaW5nIGl0cyBwcm90b3R5cGUgY2hhaW4uIFNvIHdlIGNhbiBleHRlbmQgZnJvbSBoZXJlLlxuICovXG4vLyBAdHMtaWdub3JlIFN0cmluZ1dyYXBwZXIgaW1wbGVtZW50YXRpb24gaXMgbm90IGEgc2ltcGxlIGNvbnN0cnVjdG9yXG5leHBvcnQgY29uc3QgU3RyaW5nV3JhcHBlcjogU3RyaW5nV3JhcHBlciA9IGZ1bmN0aW9uICgpIHtcbiAgLy9AdHMtaWdub3JlICd0aGlzJyBjYW5ub3QgYmUgYXNzaWduZWQgdG8gYW55LCBidXQgT2JqZWN0LmdldFByb3RvdHlwZU9mIGFjY2VwdHMgYW55XG4gIGNvbnN0IENsYXNzID0gT2JqZWN0LmdldFByb3RvdHlwZU9mKHRoaXMpLmNvbnN0cnVjdG9yO1xuICBjb25zdCBDb25zdHJ1Y3RvciA9IEZ1bmN0aW9uLmJpbmQuYXBwbHkoU3RyaW5nLCBbbnVsbCBhcyBhbnksIC4uLmFyZ3VtZW50c10pO1xuICAvL0B0cy1pZ25vcmUgQ2FsbCB3cmFwcGVkIFN0cmluZyBjb25zdHJ1Y3RvciBkaXJlY3RseSwgZG9uJ3QgYm90aGVyIHR5cGluZyBpdC5cbiAgY29uc3QgaW5zdGFuY2UgPSBuZXcgQ29uc3RydWN0b3IoKTtcbiAgT2JqZWN0LnNldFByb3RvdHlwZU9mKGluc3RhbmNlLCBDbGFzcy5wcm90b3R5cGUpO1xuICByZXR1cm4gaW5zdGFuY2UgYXMgU3RyaW5nO1xufTtcblN0cmluZ1dyYXBwZXIucHJvdG90eXBlID0gT2JqZWN0LmNyZWF0ZShTdHJpbmcucHJvdG90eXBlLCB7XG4gIGNvbnN0cnVjdG9yOiB7XG4gICAgdmFsdWU6IFN0cmluZ1dyYXBwZXIsXG4gICAgZW51bWVyYWJsZTogZmFsc2UsXG4gICAgd3JpdGFibGU6IHRydWUsXG4gICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICB9LFxufSk7XG5PYmplY3Quc2V0UHJvdG90eXBlT2YoU3RyaW5nV3JhcHBlciwgU3RyaW5nKTtcblxuZXhwb3J0IGNsYXNzIExhenlKc29uU3RyaW5nIGV4dGVuZHMgU3RyaW5nV3JhcHBlciB7XG4gIGRlc2VyaWFsaXplSlNPTigpOiBhbnkge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHN1cGVyLnRvU3RyaW5nKCkpO1xuICB9XG5cbiAgdG9KU09OKCk6IHN0cmluZyB7XG4gICAgcmV0dXJuIHN1cGVyLnRvU3RyaW5nKCk7XG4gIH1cblxuICBzdGF0aWMgZnJvbU9iamVjdChvYmplY3Q6IGFueSk6IExhenlKc29uU3RyaW5nIHtcbiAgICBpZiAob2JqZWN0IGluc3RhbmNlb2YgTGF6eUpzb25TdHJpbmcpIHtcbiAgICAgIHJldHVybiBvYmplY3Q7XG4gICAgfSBlbHNlIGlmIChvYmplY3QgaW5zdGFuY2VvZiBTdHJpbmcgfHwgdHlwZW9mIG9iamVjdCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgcmV0dXJuIG5ldyBMYXp5SnNvblN0cmluZyhvYmplY3QpO1xuICAgIH1cbiAgICByZXR1cm4gbmV3IExhenlKc29uU3RyaW5nKEpTT04uc3RyaW5naWZ5KG9iamVjdCkpO1xuICB9XG59XG4iXX0=","var SHORT_TO_HEX = {};\nvar HEX_TO_SHORT = {};\nfor (var i = 0; i < 256; i++) {\n var encodedByte = i.toString(16).toLowerCase();\n if (encodedByte.length === 1) {\n encodedByte = \"0\" + encodedByte;\n }\n SHORT_TO_HEX[i] = encodedByte;\n HEX_TO_SHORT[encodedByte] = i;\n}\n/**\n * Converts a hexadecimal encoded string to a Uint8Array of bytes.\n *\n * @param encoded The hexadecimal encoded string\n */\nexport function fromHex(encoded) {\n if (encoded.length % 2 !== 0) {\n throw new Error(\"Hex encoded strings must have an even number length\");\n }\n var out = new Uint8Array(encoded.length / 2);\n for (var i = 0; i < encoded.length; i += 2) {\n var encodedByte = encoded.substr(i, 2).toLowerCase();\n if (encodedByte in HEX_TO_SHORT) {\n out[i / 2] = HEX_TO_SHORT[encodedByte];\n }\n else {\n throw new Error(\"Cannot decode unrecognized sequence \" + encodedByte + \" as hexadecimal\");\n }\n }\n return out;\n}\n/**\n * Converts a Uint8Array of binary data to a hexadecimal encoded string.\n *\n * @param bytes The binary data to encode\n */\nexport function toHex(bytes) {\n var out = \"\";\n for (var i = 0; i < bytes.byteLength; i++) {\n out += SHORT_TO_HEX[bytes[i]];\n }\n return out;\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsSUFBTSxZQUFZLEdBQThCLEVBQUUsQ0FBQztBQUNuRCxJQUFNLFlBQVksR0FBOEIsRUFBRSxDQUFDO0FBRW5ELEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7SUFDNUIsSUFBSSxXQUFXLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUMvQyxJQUFJLFdBQVcsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFO1FBQzVCLFdBQVcsR0FBRyxNQUFJLFdBQWEsQ0FBQztLQUNqQztJQUVELFlBQVksQ0FBQyxDQUFDLENBQUMsR0FBRyxXQUFXLENBQUM7SUFDOUIsWUFBWSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUMvQjtBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsT0FBTyxDQUFDLE9BQWU7SUFDckMsSUFBSSxPQUFPLENBQUMsTUFBTSxHQUFHLENBQUMsS0FBSyxDQUFDLEVBQUU7UUFDNUIsTUFBTSxJQUFJLEtBQUssQ0FBQyxxREFBcUQsQ0FBQyxDQUFDO0tBQ3hFO0lBRUQsSUFBTSxHQUFHLEdBQUcsSUFBSSxVQUFVLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQztJQUMvQyxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQzFDLElBQU0sV0FBVyxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3ZELElBQUksV0FBVyxJQUFJLFlBQVksRUFBRTtZQUMvQixHQUFHLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUFHLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUN4QzthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQyx5Q0FBdUMsV0FBVyxvQkFBaUIsQ0FBQyxDQUFDO1NBQ3RGO0tBQ0Y7SUFFRCxPQUFPLEdBQUcsQ0FBQztBQUNiLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLEtBQUssQ0FBQyxLQUFpQjtJQUNyQyxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFDYixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsS0FBSyxDQUFDLFVBQVUsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUN6QyxHQUFHLElBQUksWUFBWSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQy9CO0lBRUQsT0FBTyxHQUFHLENBQUM7QUFDYixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgU0hPUlRfVE9fSEVYOiB7IFtrZXk6IG51bWJlcl06IHN0cmluZyB9ID0ge307XG5jb25zdCBIRVhfVE9fU0hPUlQ6IHsgW2tleTogc3RyaW5nXTogbnVtYmVyIH0gPSB7fTtcblxuZm9yIChsZXQgaSA9IDA7IGkgPCAyNTY7IGkrKykge1xuICBsZXQgZW5jb2RlZEJ5dGUgPSBpLnRvU3RyaW5nKDE2KS50b0xvd2VyQ2FzZSgpO1xuICBpZiAoZW5jb2RlZEJ5dGUubGVuZ3RoID09PSAxKSB7XG4gICAgZW5jb2RlZEJ5dGUgPSBgMCR7ZW5jb2RlZEJ5dGV9YDtcbiAgfVxuXG4gIFNIT1JUX1RPX0hFWFtpXSA9IGVuY29kZWRCeXRlO1xuICBIRVhfVE9fU0hPUlRbZW5jb2RlZEJ5dGVdID0gaTtcbn1cblxuLyoqXG4gKiBDb252ZXJ0cyBhIGhleGFkZWNpbWFsIGVuY29kZWQgc3RyaW5nIHRvIGEgVWludDhBcnJheSBvZiBieXRlcy5cbiAqXG4gKiBAcGFyYW0gZW5jb2RlZCBUaGUgaGV4YWRlY2ltYWwgZW5jb2RlZCBzdHJpbmdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGZyb21IZXgoZW5jb2RlZDogc3RyaW5nKTogVWludDhBcnJheSB7XG4gIGlmIChlbmNvZGVkLmxlbmd0aCAlIDIgIT09IDApIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJIZXggZW5jb2RlZCBzdHJpbmdzIG11c3QgaGF2ZSBhbiBldmVuIG51bWJlciBsZW5ndGhcIik7XG4gIH1cblxuICBjb25zdCBvdXQgPSBuZXcgVWludDhBcnJheShlbmNvZGVkLmxlbmd0aCAvIDIpO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGVuY29kZWQubGVuZ3RoOyBpICs9IDIpIHtcbiAgICBjb25zdCBlbmNvZGVkQnl0ZSA9IGVuY29kZWQuc3Vic3RyKGksIDIpLnRvTG93ZXJDYXNlKCk7XG4gICAgaWYgKGVuY29kZWRCeXRlIGluIEhFWF9UT19TSE9SVCkge1xuICAgICAgb3V0W2kgLyAyXSA9IEhFWF9UT19TSE9SVFtlbmNvZGVkQnl0ZV07XG4gICAgfSBlbHNlIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcihgQ2Fubm90IGRlY29kZSB1bnJlY29nbml6ZWQgc2VxdWVuY2UgJHtlbmNvZGVkQnl0ZX0gYXMgaGV4YWRlY2ltYWxgKTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gb3V0O1xufVxuXG4vKipcbiAqIENvbnZlcnRzIGEgVWludDhBcnJheSBvZiBiaW5hcnkgZGF0YSB0byBhIGhleGFkZWNpbWFsIGVuY29kZWQgc3RyaW5nLlxuICpcbiAqIEBwYXJhbSBieXRlcyBUaGUgYmluYXJ5IGRhdGEgdG8gZW5jb2RlXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b0hleChieXRlczogVWludDhBcnJheSk6IHN0cmluZyB7XG4gIGxldCBvdXQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMDsgaSA8IGJ5dGVzLmJ5dGVMZW5ndGg7IGkrKykge1xuICAgIG91dCArPSBTSE9SVF9UT19IRVhbYnl0ZXNbaV1dO1xuICB9XG5cbiAgcmV0dXJuIG91dDtcbn1cbiJdfQ==","const fallbackWindow = {};\nexport function locateWindow() {\n if (typeof window !== \"undefined\") {\n return window;\n }\n else if (typeof self !== \"undefined\") {\n return self;\n }\n return fallbackWindow;\n}\n","import { fromUtf8 as jsFromUtf8, toUtf8 as jsToUtf8 } from \"./pureJs\";\nimport { fromUtf8 as textEncoderFromUtf8, toUtf8 as textEncoderToUtf8 } from \"./whatwgEncodingApi\";\nexport var fromUtf8 = function (input) {\n return typeof TextEncoder === \"function\" ? textEncoderFromUtf8(input) : jsFromUtf8(input);\n};\nexport var toUtf8 = function (input) {\n return typeof TextDecoder === \"function\" ? textEncoderToUtf8(input) : jsToUtf8(input);\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsSUFBSSxVQUFVLEVBQUUsTUFBTSxJQUFJLFFBQVEsRUFBRSxNQUFNLFVBQVUsQ0FBQztBQUN0RSxPQUFPLEVBQUUsUUFBUSxJQUFJLG1CQUFtQixFQUFFLE1BQU0sSUFBSSxpQkFBaUIsRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBS25HLE1BQU0sQ0FBQyxJQUFNLFFBQVEsR0FBRyxVQUFDLEtBQWE7SUFDcEMsT0FBQSxPQUFPLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLG1CQUFtQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDO0FBQWxGLENBQWtGLENBQUM7QUFFckYsTUFBTSxDQUFDLElBQU0sTUFBTSxHQUFHLFVBQUMsS0FBaUI7SUFDdEMsT0FBQSxPQUFPLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDO0FBQTlFLENBQThFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmcm9tVXRmOCBhcyBqc0Zyb21VdGY4LCB0b1V0ZjggYXMganNUb1V0ZjggfSBmcm9tIFwiLi9wdXJlSnNcIjtcbmltcG9ydCB7IGZyb21VdGY4IGFzIHRleHRFbmNvZGVyRnJvbVV0ZjgsIHRvVXRmOCBhcyB0ZXh0RW5jb2RlclRvVXRmOCB9IGZyb20gXCIuL3doYXR3Z0VuY29kaW5nQXBpXCI7XG5cbmRlY2xhcmUgY29uc3QgVGV4dERlY29kZXI6IEZ1bmN0aW9uIHwgdW5kZWZpbmVkO1xuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRnVuY3Rpb24gfCB1bmRlZmluZWQ7XG5cbmV4cG9ydCBjb25zdCBmcm9tVXRmOCA9IChpbnB1dDogc3RyaW5nKTogVWludDhBcnJheSA9PlxuICB0eXBlb2YgVGV4dEVuY29kZXIgPT09IFwiZnVuY3Rpb25cIiA/IHRleHRFbmNvZGVyRnJvbVV0ZjgoaW5wdXQpIDoganNGcm9tVXRmOChpbnB1dCk7XG5cbmV4cG9ydCBjb25zdCB0b1V0ZjggPSAoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcgPT5cbiAgdHlwZW9mIFRleHREZWNvZGVyID09PSBcImZ1bmN0aW9uXCIgPyB0ZXh0RW5jb2RlclRvVXRmOChpbnB1dCkgOiBqc1RvVXRmOChpbnB1dCk7XG4iXX0=","export function fromUtf8(input) {\n return new TextEncoder().encode(input);\n}\nexport function toUtf8(input) {\n return new TextDecoder(\"utf-8\").decode(input);\n}\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2hhdHdnRW5jb2RpbmdBcGkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvd2hhdHdnRW5jb2RpbmdBcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBeUNBLE1BQU0sVUFBVSxRQUFRLENBQUMsS0FBYTtJQUNwQyxPQUFPLElBQUksV0FBVyxFQUFFLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3pDLENBQUM7QUFFRCxNQUFNLFVBQVUsTUFBTSxDQUFDLEtBQWlCO0lBQ3RDLE9BQU8sSUFBSSxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEEgZGVjbGFyYXRpb24gb2YgdGhlIGdsb2JhbCBUZXh0RW5jb2RlciBhbmQgVGV4dERlY29kZXIgY29uc3RydWN0b3JzLlxuICpcbiAqIEBzZWUgaHR0cHM6Ly9lbmNvZGluZy5zcGVjLndoYXR3Zy5vcmcvXG4gKi9cbi8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tbmFtZXNwYWNlXG5uYW1lc3BhY2UgRW5jb2Rpbmcge1xuICBpbnRlcmZhY2UgVGV4dERlY29kZXJPcHRpb25zIHtcbiAgICBmYXRhbD86IGJvb2xlYW47XG4gICAgaWdub3JlQk9NPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlT3B0aW9ucyB7XG4gICAgc3RyZWFtPzogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBUZXh0RGVjb2RlciB7XG4gICAgcmVhZG9ubHkgZW5jb2Rpbmc6IHN0cmluZztcbiAgICByZWFkb25seSBmYXRhbDogYm9vbGVhbjtcbiAgICByZWFkb25seSBpZ25vcmVCT006IGJvb2xlYW47XG4gICAgZGVjb2RlKGlucHV0PzogQXJyYXlCdWZmZXIgfCBBcnJheUJ1ZmZlclZpZXcsIG9wdGlvbnM/OiBUZXh0RGVjb2RlT3B0aW9ucyk6IHN0cmluZztcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVGV4dERlY29kZXJDb25zdHJ1Y3RvciB7XG4gICAgbmV3IChsYWJlbD86IHN0cmluZywgb3B0aW9ucz86IFRleHREZWNvZGVyT3B0aW9ucyk6IFRleHREZWNvZGVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIFRleHRFbmNvZGVyIHtcbiAgICByZWFkb25seSBlbmNvZGluZzogXCJ1dGYtOFwiO1xuICAgIGVuY29kZShpbnB1dD86IHN0cmluZyk6IFVpbnQ4QXJyYXk7XG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFRleHRFbmNvZGVyQ29uc3RydWN0b3Ige1xuICAgIG5ldyAoKTogVGV4dEVuY29kZXI7XG4gIH1cbn1cblxuZGVjbGFyZSBjb25zdCBUZXh0RGVjb2RlcjogRW5jb2RpbmcuVGV4dERlY29kZXJDb25zdHJ1Y3RvcjtcblxuZGVjbGFyZSBjb25zdCBUZXh0RW5jb2RlcjogRW5jb2RpbmcuVGV4dEVuY29kZXJDb25zdHJ1Y3RvcjtcblxuZXhwb3J0IGZ1bmN0aW9uIGZyb21VdGY4KGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5IHtcbiAgcmV0dXJuIG5ldyBUZXh0RW5jb2RlcigpLmVuY29kZShpbnB1dCk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiB0b1V0ZjgoaW5wdXQ6IFVpbnQ4QXJyYXkpOiBzdHJpbmcge1xuICByZXR1cm4gbmV3IFRleHREZWNvZGVyKFwidXRmLThcIikuZGVjb2RlKGlucHV0KTtcbn1cbiJdfQ==","/**\n * Converts a JS string from its native UCS-2/UTF-16 representation into a\n * Uint8Array of the bytes used to represent the equivalent characters in UTF-8.\n *\n * Cribbed from the `goog.crypt.stringToUtf8ByteArray` function in the Google\n * Closure library, though updated to use typed arrays.\n */\nexport var fromUtf8 = function (input) {\n var bytes = [];\n for (var i = 0, len = input.length; i < len; i++) {\n var value = input.charCodeAt(i);\n if (value < 0x80) {\n bytes.push(value);\n }\n else if (value < 0x800) {\n bytes.push((value >> 6) | 192, (value & 63) | 128);\n }\n else if (i + 1 < input.length && (value & 0xfc00) === 0xd800 && (input.charCodeAt(i + 1) & 0xfc00) === 0xdc00) {\n var surrogatePair = 0x10000 + ((value & 1023) << 10) + (input.charCodeAt(++i) & 1023);\n bytes.push((surrogatePair >> 18) | 240, ((surrogatePair >> 12) & 63) | 128, ((surrogatePair >> 6) & 63) | 128, (surrogatePair & 63) | 128);\n }\n else {\n bytes.push((value >> 12) | 224, ((value >> 6) & 63) | 128, (value & 63) | 128);\n }\n }\n return Uint8Array.from(bytes);\n};\n/**\n * Converts a typed array of bytes containing UTF-8 data into a native JS\n * string.\n *\n * Partly cribbed from the `goog.crypt.utf8ByteArrayToString` function in the\n * Google Closure library, though updated to use typed arrays and to better\n * handle astral plane code points.\n */\nexport var toUtf8 = function (input) {\n var decoded = \"\";\n for (var i = 0, len = input.length; i < len; i++) {\n var byte = input[i];\n if (byte < 0x80) {\n decoded += String.fromCharCode(byte);\n }\n else if (192 <= byte && byte < 224) {\n var nextByte = input[++i];\n decoded += String.fromCharCode(((byte & 31) << 6) | (nextByte & 63));\n }\n else if (240 <= byte && byte < 365) {\n var surrogatePair = [byte, input[++i], input[++i], input[++i]];\n var encoded = \"%\" + surrogatePair.map(function (byteValue) { return byteValue.toString(16); }).join(\"%\");\n decoded += decodeURIComponent(encoded);\n }\n else {\n decoded += String.fromCharCode(((byte & 15) << 12) | ((input[++i] & 63) << 6) | (input[++i] & 63));\n }\n }\n return decoded;\n};\n//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVyZUpzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3B1cmVKcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7Ozs7O0dBTUc7QUFDSCxNQUFNLENBQUMsSUFBTSxRQUFRLEdBQUcsVUFBQyxLQUFhO0lBQ3BDLElBQU0sS0FBSyxHQUFrQixFQUFFLENBQUM7SUFDaEMsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ2xDLElBQUksS0FBSyxHQUFHLElBQUksRUFBRTtZQUNoQixLQUFLLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLEdBQUcsS0FBSyxFQUFFO1lBQ3hCLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksQ0FBQyxDQUFDLEdBQUcsR0FBVSxFQUFFLENBQUMsS0FBSyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FBQyxDQUFDO1NBQ3hFO2FBQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxHQUFHLEtBQUssQ0FBQyxNQUFNLElBQUksQ0FBQyxLQUFLLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDLEtBQUssTUFBTSxFQUFFO1lBQy9HLElBQU0sYUFBYSxHQUFHLE9BQU8sR0FBRyxDQUFDLENBQUMsS0FBSyxHQUFHLElBQVksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLElBQVksQ0FBQyxDQUFDO1lBQ3hHLEtBQUssQ0FBQyxJQUFJLENBQ1IsQ0FBQyxhQUFhLElBQUksRUFBRSxDQUFDLEdBQUcsR0FBVSxFQUNsQyxDQUFDLENBQUMsYUFBYSxJQUFJLEVBQUUsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFDL0MsQ0FBQyxDQUFDLGFBQWEsSUFBSSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLEVBQzlDLENBQUMsYUFBYSxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsQ0FDeEMsQ0FBQztTQUNIO2FBQU07WUFDTCxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxHQUFHLEdBQVUsRUFBRSxDQUFDLENBQUMsS0FBSyxJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxHQUFHLEdBQVUsRUFBRSxDQUFDLEtBQUssR0FBRyxFQUFRLENBQUMsR0FBRyxHQUFVLENBQUMsQ0FBQztTQUNqSDtLQUNGO0lBRUQsT0FBTyxVQUFVLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ2hDLENBQUMsQ0FBQztBQUVGOzs7Ozs7O0dBT0c7QUFDSCxNQUFNLENBQUMsSUFBTSxNQUFNLEdBQUcsVUFBQyxLQUFpQjtJQUN0QyxJQUFJLE9BQU8sR0FBRyxFQUFFLENBQUM7SUFDakIsS0FBSyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxHQUFHLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxHQUFHLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNoRCxJQUFNLElBQUksR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsSUFBSSxJQUFJLEdBQUcsSUFBSSxFQUFFO1lBQ2YsT0FBTyxJQUFJLE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDdEM7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVUsRUFBRTtZQUNsRCxJQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQztZQUM1QixPQUFPLElBQUksTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsUUFBUSxHQUFHLEVBQVEsQ0FBQyxDQUFDLENBQUM7U0FDakY7YUFBTSxJQUFJLEdBQVUsSUFBSSxJQUFJLElBQUksSUFBSSxHQUFHLEdBQVcsRUFBRTtZQUNuRCxJQUFNLGFBQWEsR0FBRyxDQUFDLElBQUksRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ2pFLElBQU0sT0FBTyxHQUFHLEdBQUcsR0FBRyxhQUFhLENBQUMsR0FBRyxDQUFDLFVBQUMsU0FBUyxJQUFLLE9BQUEsU0FBUyxDQUFDLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBdEIsQ0FBc0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQztZQUN6RixPQUFPLElBQUksa0JBQWtCLENBQUMsT0FBTyxDQUFDLENBQUM7U0FDeEM7YUFBTTtZQUNMLE9BQU8sSUFBSSxNQUFNLENBQUMsWUFBWSxDQUM1QixDQUFDLENBQUMsSUFBSSxHQUFHLEVBQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQVEsQ0FBQyxDQUNuRixDQUFDO1NBQ0g7S0FDRjtJQUVELE9BQU8sT0FBTyxDQUFDO0FBQ2pCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogQ29udmVydHMgYSBKUyBzdHJpbmcgZnJvbSBpdHMgbmF0aXZlIFVDUy0yL1VURi0xNiByZXByZXNlbnRhdGlvbiBpbnRvIGFcbiAqIFVpbnQ4QXJyYXkgb2YgdGhlIGJ5dGVzIHVzZWQgdG8gcmVwcmVzZW50IHRoZSBlcXVpdmFsZW50IGNoYXJhY3RlcnMgaW4gVVRGLTguXG4gKlxuICogQ3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC5zdHJpbmdUb1V0ZjhCeXRlQXJyYXlgIGZ1bmN0aW9uIGluIHRoZSBHb29nbGVcbiAqIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cy5cbiAqL1xuZXhwb3J0IGNvbnN0IGZyb21VdGY4ID0gKGlucHV0OiBzdHJpbmcpOiBVaW50OEFycmF5ID0+IHtcbiAgY29uc3QgYnl0ZXM6IEFycmF5PG51bWJlcj4gPSBbXTtcbiAgZm9yIChsZXQgaSA9IDAsIGxlbiA9IGlucHV0Lmxlbmd0aDsgaSA8IGxlbjsgaSsrKSB7XG4gICAgY29uc3QgdmFsdWUgPSBpbnB1dC5jaGFyQ29kZUF0KGkpO1xuICAgIGlmICh2YWx1ZSA8IDB4ODApIHtcbiAgICAgIGJ5dGVzLnB1c2godmFsdWUpO1xuICAgIH0gZWxzZSBpZiAodmFsdWUgPCAweDgwMCkge1xuICAgICAgYnl0ZXMucHVzaCgodmFsdWUgPj4gNikgfCAwYjExMDAwMDAwLCAodmFsdWUgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwKTtcbiAgICB9IGVsc2UgaWYgKGkgKyAxIDwgaW5wdXQubGVuZ3RoICYmICh2YWx1ZSAmIDB4ZmMwMCkgPT09IDB4ZDgwMCAmJiAoaW5wdXQuY2hhckNvZGVBdChpICsgMSkgJiAweGZjMDApID09PSAweGRjMDApIHtcbiAgICAgIGNvbnN0IHN1cnJvZ2F0ZVBhaXIgPSAweDEwMDAwICsgKCh2YWx1ZSAmIDBiMTExMTExMTExMSkgPDwgMTApICsgKGlucHV0LmNoYXJDb2RlQXQoKytpKSAmIDBiMTExMTExMTExMSk7XG4gICAgICBieXRlcy5wdXNoKFxuICAgICAgICAoc3Vycm9nYXRlUGFpciA+PiAxOCkgfCAwYjExMTEwMDAwLFxuICAgICAgICAoKHN1cnJvZ2F0ZVBhaXIgPj4gMTIpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCxcbiAgICAgICAgKChzdXJyb2dhdGVQYWlyID4+IDYpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCxcbiAgICAgICAgKHN1cnJvZ2F0ZVBhaXIgJiAwYjExMTExMSkgfCAwYjEwMDAwMDAwXG4gICAgICApO1xuICAgIH0gZWxzZSB7XG4gICAgICBieXRlcy5wdXNoKCh2YWx1ZSA+PiAxMikgfCAwYjExMTAwMDAwLCAoKHZhbHVlID4+IDYpICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCwgKHZhbHVlICYgMGIxMTExMTEpIHwgMGIxMDAwMDAwMCk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIFVpbnQ4QXJyYXkuZnJvbShieXRlcyk7XG59O1xuXG4vKipcbiAqIENvbnZlcnRzIGEgdHlwZWQgYXJyYXkgb2YgYnl0ZXMgY29udGFpbmluZyBVVEYtOCBkYXRhIGludG8gYSBuYXRpdmUgSlNcbiAqIHN0cmluZy5cbiAqXG4gKiBQYXJ0bHkgY3JpYmJlZCBmcm9tIHRoZSBgZ29vZy5jcnlwdC51dGY4Qnl0ZUFycmF5VG9TdHJpbmdgIGZ1bmN0aW9uIGluIHRoZVxuICogR29vZ2xlIENsb3N1cmUgbGlicmFyeSwgdGhvdWdoIHVwZGF0ZWQgdG8gdXNlIHR5cGVkIGFycmF5cyBhbmQgdG8gYmV0dGVyXG4gKiBoYW5kbGUgYXN0cmFsIHBsYW5lIGNvZGUgcG9pbnRzLlxuICovXG5leHBvcnQgY29uc3QgdG9VdGY4ID0gKGlucHV0OiBVaW50OEFycmF5KTogc3RyaW5nID0+IHtcbiAgbGV0IGRlY29kZWQgPSBcIlwiO1xuICBmb3IgKGxldCBpID0gMCwgbGVuID0gaW5wdXQubGVuZ3RoOyBpIDwgbGVuOyBpKyspIHtcbiAgICBjb25zdCBieXRlID0gaW5wdXRbaV07XG4gICAgaWYgKGJ5dGUgPCAweDgwKSB7XG4gICAgICBkZWNvZGVkICs9IFN0cmluZy5mcm9tQ2hhckNvZGUoYnl0ZSk7XG4gICAgfSBlbHNlIGlmICgwYjExMDAwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTExMDAwMDApIHtcbiAgICAgIGNvbnN0IG5leHRCeXRlID0gaW5wdXRbKytpXTtcbiAgICAgIGRlY29kZWQgKz0gU3RyaW5nLmZyb21DaGFyQ29kZSgoKGJ5dGUgJiAwYjExMTExKSA8PCA2KSB8IChuZXh0Qnl0ZSAmIDBiMTExMTExKSk7XG4gICAgfSBlbHNlIGlmICgwYjExMTEwMDAwIDw9IGJ5dGUgJiYgYnl0ZSA8IDBiMTAxMTAxMTAxKSB7XG4gICAgICBjb25zdCBzdXJyb2dhdGVQYWlyID0gW2J5dGUsIGlucHV0WysraV0sIGlucHV0WysraV0sIGlucHV0WysraV1dO1xuICAgICAgY29uc3QgZW5jb2RlZCA9IFwiJVwiICsgc3Vycm9nYXRlUGFpci5tYXAoKGJ5dGVWYWx1ZSkgPT4gYnl0ZVZhbHVlLnRvU3RyaW5nKDE2KSkuam9pbihcIiVcIik7XG4gICAgICBkZWNvZGVkICs9IGRlY29kZVVSSUNvbXBvbmVudChlbmNvZGVkKTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVjb2RlZCArPSBTdHJpbmcuZnJvbUNoYXJDb2RlKFxuICAgICAgICAoKGJ5dGUgJiAwYjExMTEpIDw8IDEyKSB8ICgoaW5wdXRbKytpXSAmIDBiMTExMTExKSA8PCA2KSB8IChpbnB1dFsrK2ldICYgMGIxMTExMTEpXG4gICAgICApO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkZWNvZGVkO1xufTtcbiJdfQ==","import { bound01, pad2 } from './util';\n// `rgbToHsl`, `rgbToHsv`, `hslToRgb`, `hsvToRgb` modified from:\n// \n/**\n * Handle bounds / percentage checking to conform to CSS color spec\n * \n * *Assumes:* r, g, b in [0, 255] or [0, 1]\n * *Returns:* { r, g, b } in [0, 255]\n */\nexport function rgbToRgb(r, g, b) {\n return {\n r: bound01(r, 255) * 255,\n g: bound01(g, 255) * 255,\n b: bound01(b, 255) * 255,\n };\n}\n/**\n * Converts an RGB color value to HSL.\n * *Assumes:* r, g, and b are contained in [0, 255] or [0, 1]\n * *Returns:* { h, s, l } in [0,1]\n */\nexport function rgbToHsl(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var s = 0;\n var l = (max + min) / 2;\n if (max === min) {\n s = 0;\n h = 0; // achromatic\n }\n else {\n var d = max - min;\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min);\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, l: l };\n}\nfunction hue2rgb(p, q, t) {\n if (t < 0) {\n t += 1;\n }\n if (t > 1) {\n t -= 1;\n }\n if (t < 1 / 6) {\n return p + (q - p) * (6 * t);\n }\n if (t < 1 / 2) {\n return q;\n }\n if (t < 2 / 3) {\n return p + (q - p) * (2 / 3 - t) * 6;\n }\n return p;\n}\n/**\n * Converts an HSL color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and l are contained [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hslToRgb(h, s, l) {\n var r;\n var g;\n var b;\n h = bound01(h, 360);\n s = bound01(s, 100);\n l = bound01(l, 100);\n if (s === 0) {\n // achromatic\n g = l;\n b = l;\n r = l;\n }\n else {\n var q = l < 0.5 ? l * (1 + s) : l + s - l * s;\n var p = 2 * l - q;\n r = hue2rgb(p, q, h + 1 / 3);\n g = hue2rgb(p, q, h);\n b = hue2rgb(p, q, h - 1 / 3);\n }\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color value to HSV\n *\n * *Assumes:* r, g, and b are contained in the set [0, 255] or [0, 1]\n * *Returns:* { h, s, v } in [0,1]\n */\nexport function rgbToHsv(r, g, b) {\n r = bound01(r, 255);\n g = bound01(g, 255);\n b = bound01(b, 255);\n var max = Math.max(r, g, b);\n var min = Math.min(r, g, b);\n var h = 0;\n var v = max;\n var d = max - min;\n var s = max === 0 ? 0 : d / max;\n if (max === min) {\n h = 0; // achromatic\n }\n else {\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0);\n break;\n case g:\n h = (b - r) / d + 2;\n break;\n case b:\n h = (r - g) / d + 4;\n break;\n default:\n break;\n }\n h /= 6;\n }\n return { h: h, s: s, v: v };\n}\n/**\n * Converts an HSV color value to RGB.\n *\n * *Assumes:* h is contained in [0, 1] or [0, 360] and s and v are contained in [0, 1] or [0, 100]\n * *Returns:* { r, g, b } in the set [0, 255]\n */\nexport function hsvToRgb(h, s, v) {\n h = bound01(h, 360) * 6;\n s = bound01(s, 100);\n v = bound01(v, 100);\n var i = Math.floor(h);\n var f = h - i;\n var p = v * (1 - s);\n var q = v * (1 - f * s);\n var t = v * (1 - (1 - f) * s);\n var mod = i % 6;\n var r = [v, q, p, p, t, v][mod];\n var g = [t, v, v, q, p, p][mod];\n var b = [p, p, t, v, v, q][mod];\n return { r: r * 255, g: g * 255, b: b * 255 };\n}\n/**\n * Converts an RGB color to hex\n *\n * Assumes r, g, and b are contained in the set [0, 255]\n * Returns a 3 or 6 character hex\n */\nexport function rgbToHex(r, g, b, allow3Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n // Return a 3 character hex if possible\n if (allow3Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color plus alpha transparency to hex\n *\n * Assumes r, g, b are contained in the set [0, 255] and\n * a in [0, 1]. Returns a 4 or 8 character rgba hex\n */\n// eslint-disable-next-line max-params\nexport function rgbaToHex(r, g, b, a, allow4Char) {\n var hex = [\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n pad2(convertDecimalToHex(a)),\n ];\n // Return a 4 character hex if possible\n if (allow4Char &&\n hex[0].startsWith(hex[0].charAt(1)) &&\n hex[1].startsWith(hex[1].charAt(1)) &&\n hex[2].startsWith(hex[2].charAt(1)) &&\n hex[3].startsWith(hex[3].charAt(1))) {\n return hex[0].charAt(0) + hex[1].charAt(0) + hex[2].charAt(0) + hex[3].charAt(0);\n }\n return hex.join('');\n}\n/**\n * Converts an RGBA color to an ARGB Hex8 string\n * Rarely used, but required for \"toFilter()\"\n */\nexport function rgbaToArgbHex(r, g, b, a) {\n var hex = [\n pad2(convertDecimalToHex(a)),\n pad2(Math.round(r).toString(16)),\n pad2(Math.round(g).toString(16)),\n pad2(Math.round(b).toString(16)),\n ];\n return hex.join('');\n}\n/** Converts a decimal to a hex value */\nexport function convertDecimalToHex(d) {\n return Math.round(parseFloat(d) * 255).toString(16);\n}\n/** Converts a hex value to a decimal */\nexport function convertHexToDecimal(h) {\n return parseIntFromHex(h) / 255;\n}\n/** Parse a base-16 hex value into a base-10 integer */\nexport function parseIntFromHex(val) {\n return parseInt(val, 16);\n}\nexport function numberInputToObject(color) {\n return {\n r: color >> 16,\n g: (color & 0xff00) >> 8,\n b: color & 0xff,\n };\n}\n","// https://github.com/bahamas10/css-color-names/blob/master/css-color-names.json\n/**\n * @hidden\n */\nexport var names = {\n aliceblue: '#f0f8ff',\n antiquewhite: '#faebd7',\n aqua: '#00ffff',\n aquamarine: '#7fffd4',\n azure: '#f0ffff',\n beige: '#f5f5dc',\n bisque: '#ffe4c4',\n black: '#000000',\n blanchedalmond: '#ffebcd',\n blue: '#0000ff',\n blueviolet: '#8a2be2',\n brown: '#a52a2a',\n burlywood: '#deb887',\n cadetblue: '#5f9ea0',\n chartreuse: '#7fff00',\n chocolate: '#d2691e',\n coral: '#ff7f50',\n cornflowerblue: '#6495ed',\n cornsilk: '#fff8dc',\n crimson: '#dc143c',\n cyan: '#00ffff',\n darkblue: '#00008b',\n darkcyan: '#008b8b',\n darkgoldenrod: '#b8860b',\n darkgray: '#a9a9a9',\n darkgreen: '#006400',\n darkgrey: '#a9a9a9',\n darkkhaki: '#bdb76b',\n darkmagenta: '#8b008b',\n darkolivegreen: '#556b2f',\n darkorange: '#ff8c00',\n darkorchid: '#9932cc',\n darkred: '#8b0000',\n darksalmon: '#e9967a',\n darkseagreen: '#8fbc8f',\n darkslateblue: '#483d8b',\n darkslategray: '#2f4f4f',\n darkslategrey: '#2f4f4f',\n darkturquoise: '#00ced1',\n darkviolet: '#9400d3',\n deeppink: '#ff1493',\n deepskyblue: '#00bfff',\n dimgray: '#696969',\n dimgrey: '#696969',\n dodgerblue: '#1e90ff',\n firebrick: '#b22222',\n floralwhite: '#fffaf0',\n forestgreen: '#228b22',\n fuchsia: '#ff00ff',\n gainsboro: '#dcdcdc',\n ghostwhite: '#f8f8ff',\n goldenrod: '#daa520',\n gold: '#ffd700',\n gray: '#808080',\n green: '#008000',\n greenyellow: '#adff2f',\n grey: '#808080',\n honeydew: '#f0fff0',\n hotpink: '#ff69b4',\n indianred: '#cd5c5c',\n indigo: '#4b0082',\n ivory: '#fffff0',\n khaki: '#f0e68c',\n lavenderblush: '#fff0f5',\n lavender: '#e6e6fa',\n lawngreen: '#7cfc00',\n lemonchiffon: '#fffacd',\n lightblue: '#add8e6',\n lightcoral: '#f08080',\n lightcyan: '#e0ffff',\n lightgoldenrodyellow: '#fafad2',\n lightgray: '#d3d3d3',\n lightgreen: '#90ee90',\n lightgrey: '#d3d3d3',\n lightpink: '#ffb6c1',\n lightsalmon: '#ffa07a',\n lightseagreen: '#20b2aa',\n lightskyblue: '#87cefa',\n lightslategray: '#778899',\n lightslategrey: '#778899',\n lightsteelblue: '#b0c4de',\n lightyellow: '#ffffe0',\n lime: '#00ff00',\n limegreen: '#32cd32',\n linen: '#faf0e6',\n magenta: '#ff00ff',\n maroon: '#800000',\n mediumaquamarine: '#66cdaa',\n mediumblue: '#0000cd',\n mediumorchid: '#ba55d3',\n mediumpurple: '#9370db',\n mediumseagreen: '#3cb371',\n mediumslateblue: '#7b68ee',\n mediumspringgreen: '#00fa9a',\n mediumturquoise: '#48d1cc',\n mediumvioletred: '#c71585',\n midnightblue: '#191970',\n mintcream: '#f5fffa',\n mistyrose: '#ffe4e1',\n moccasin: '#ffe4b5',\n navajowhite: '#ffdead',\n navy: '#000080',\n oldlace: '#fdf5e6',\n olive: '#808000',\n olivedrab: '#6b8e23',\n orange: '#ffa500',\n orangered: '#ff4500',\n orchid: '#da70d6',\n palegoldenrod: '#eee8aa',\n palegreen: '#98fb98',\n paleturquoise: '#afeeee',\n palevioletred: '#db7093',\n papayawhip: '#ffefd5',\n peachpuff: '#ffdab9',\n peru: '#cd853f',\n pink: '#ffc0cb',\n plum: '#dda0dd',\n powderblue: '#b0e0e6',\n purple: '#800080',\n rebeccapurple: '#663399',\n red: '#ff0000',\n rosybrown: '#bc8f8f',\n royalblue: '#4169e1',\n saddlebrown: '#8b4513',\n salmon: '#fa8072',\n sandybrown: '#f4a460',\n seagreen: '#2e8b57',\n seashell: '#fff5ee',\n sienna: '#a0522d',\n silver: '#c0c0c0',\n skyblue: '#87ceeb',\n slateblue: '#6a5acd',\n slategray: '#708090',\n slategrey: '#708090',\n snow: '#fffafa',\n springgreen: '#00ff7f',\n steelblue: '#4682b4',\n tan: '#d2b48c',\n teal: '#008080',\n thistle: '#d8bfd8',\n tomato: '#ff6347',\n turquoise: '#40e0d0',\n violet: '#ee82ee',\n wheat: '#f5deb3',\n white: '#ffffff',\n whitesmoke: '#f5f5f5',\n yellow: '#ffff00',\n yellowgreen: '#9acd32',\n};\n","import { convertHexToDecimal, hslToRgb, hsvToRgb, parseIntFromHex, rgbToRgb } from './conversion';\nimport { names } from './css-color-names';\nimport { boundAlpha, convertToPercentage } from './util';\n/**\n * Given a string or object, convert that input to RGB\n *\n * Possible string inputs:\n * ```\n * \"red\"\n * \"#f00\" or \"f00\"\n * \"#ff0000\" or \"ff0000\"\n * \"#ff000000\" or \"ff000000\"\n * \"rgb 255 0 0\" or \"rgb (255, 0, 0)\"\n * \"rgb 1.0 0 0\" or \"rgb (1, 0, 0)\"\n * \"rgba (255, 0, 0, 1)\" or \"rgba 255, 0, 0, 1\"\n * \"rgba (1.0, 0, 0, 1)\" or \"rgba 1.0, 0, 0, 1\"\n * \"hsl(0, 100%, 50%)\" or \"hsl 0 100% 50%\"\n * \"hsla(0, 100%, 50%, 1)\" or \"hsla 0 100% 50%, 1\"\n * \"hsv(0, 100%, 100%)\" or \"hsv 0 100% 100%\"\n * ```\n */\nexport function inputToRGB(color) {\n var rgb = { r: 0, g: 0, b: 0 };\n var a = 1;\n var s = null;\n var v = null;\n var l = null;\n var ok = false;\n var format = false;\n if (typeof color === 'string') {\n color = stringInputToObject(color);\n }\n if (typeof color === 'object') {\n if (isValidCSSUnit(color.r) && isValidCSSUnit(color.g) && isValidCSSUnit(color.b)) {\n rgb = rgbToRgb(color.r, color.g, color.b);\n ok = true;\n format = String(color.r).substr(-1) === '%' ? 'prgb' : 'rgb';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.v)) {\n s = convertToPercentage(color.s);\n v = convertToPercentage(color.v);\n rgb = hsvToRgb(color.h, s, v);\n ok = true;\n format = 'hsv';\n }\n else if (isValidCSSUnit(color.h) && isValidCSSUnit(color.s) && isValidCSSUnit(color.l)) {\n s = convertToPercentage(color.s);\n l = convertToPercentage(color.l);\n rgb = hslToRgb(color.h, s, l);\n ok = true;\n format = 'hsl';\n }\n if (Object.prototype.hasOwnProperty.call(color, 'a')) {\n a = color.a;\n }\n }\n a = boundAlpha(a);\n return {\n ok: ok,\n format: color.format || format,\n r: Math.min(255, Math.max(rgb.r, 0)),\n g: Math.min(255, Math.max(rgb.g, 0)),\n b: Math.min(255, Math.max(rgb.b, 0)),\n a: a,\n };\n}\n// \nvar CSS_INTEGER = '[-\\\\+]?\\\\d+%?';\n// \nvar CSS_NUMBER = '[-\\\\+]?\\\\d*\\\\.\\\\d+%?';\n// Allow positive/negative integer/number. Don't capture the either/or, just the entire outcome.\nvar CSS_UNIT = \"(?:\".concat(CSS_NUMBER, \")|(?:\").concat(CSS_INTEGER, \")\");\n// Actual matching.\n// Parentheses and commas are optional, but not required.\n// Whitespace can take the place of commas or opening paren\nvar PERMISSIVE_MATCH3 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar PERMISSIVE_MATCH4 = \"[\\\\s|\\\\(]+(\".concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")[,|\\\\s]+(\").concat(CSS_UNIT, \")\\\\s*\\\\)?\");\nvar matchers = {\n CSS_UNIT: new RegExp(CSS_UNIT),\n rgb: new RegExp('rgb' + PERMISSIVE_MATCH3),\n rgba: new RegExp('rgba' + PERMISSIVE_MATCH4),\n hsl: new RegExp('hsl' + PERMISSIVE_MATCH3),\n hsla: new RegExp('hsla' + PERMISSIVE_MATCH4),\n hsv: new RegExp('hsv' + PERMISSIVE_MATCH3),\n hsva: new RegExp('hsva' + PERMISSIVE_MATCH4),\n hex3: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex6: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n hex4: /^#?([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})([0-9a-fA-F]{1})$/,\n hex8: /^#?([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})([0-9a-fA-F]{2})$/,\n};\n/**\n * Permissive string parsing. Take in a number of formats, and output an object\n * based on detected format. Returns `{ r, g, b }` or `{ h, s, l }` or `{ h, s, v}`\n */\nexport function stringInputToObject(color) {\n color = color.trim().toLowerCase();\n if (color.length === 0) {\n return false;\n }\n var named = false;\n if (names[color]) {\n color = names[color];\n named = true;\n }\n else if (color === 'transparent') {\n return { r: 0, g: 0, b: 0, a: 0, format: 'name' };\n }\n // Try to match string input using regular expressions.\n // Keep most of the number bounding out of this function - don't worry about [0,1] or [0,100] or [0,360]\n // Just return an object and let the conversion functions handle that.\n // This way the result will be the same whether the tinycolor is initialized with string or object.\n var match = matchers.rgb.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3] };\n }\n match = matchers.rgba.exec(color);\n if (match) {\n return { r: match[1], g: match[2], b: match[3], a: match[4] };\n }\n match = matchers.hsl.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3] };\n }\n match = matchers.hsla.exec(color);\n if (match) {\n return { h: match[1], s: match[2], l: match[3], a: match[4] };\n }\n match = matchers.hsv.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3] };\n }\n match = matchers.hsva.exec(color);\n if (match) {\n return { h: match[1], s: match[2], v: match[3], a: match[4] };\n }\n match = matchers.hex8.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n a: convertHexToDecimal(match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex6.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1]),\n g: parseIntFromHex(match[2]),\n b: parseIntFromHex(match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n match = matchers.hex4.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n a: convertHexToDecimal(match[4] + match[4]),\n format: named ? 'name' : 'hex8',\n };\n }\n match = matchers.hex3.exec(color);\n if (match) {\n return {\n r: parseIntFromHex(match[1] + match[1]),\n g: parseIntFromHex(match[2] + match[2]),\n b: parseIntFromHex(match[3] + match[3]),\n format: named ? 'name' : 'hex',\n };\n }\n return false;\n}\n/**\n * Check to see if it looks like a CSS unit\n * (see `matchers` above for definition).\n */\nexport function isValidCSSUnit(color) {\n return Boolean(matchers.CSS_UNIT.exec(String(color)));\n}\n","import { numberInputToObject, rgbaToHex, rgbToHex, rgbToHsl, rgbToHsv } from './conversion';\nimport { names } from './css-color-names';\nimport { inputToRGB } from './format-input';\nimport { bound01, boundAlpha, clamp01 } from './util';\nvar TinyColor = /** @class */ (function () {\n function TinyColor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n var _a;\n // If input is already a tinycolor, return itself\n if (color instanceof TinyColor) {\n // eslint-disable-next-line no-constructor-return\n return color;\n }\n if (typeof color === 'number') {\n color = numberInputToObject(color);\n }\n this.originalInput = color;\n var rgb = inputToRGB(color);\n this.originalInput = color;\n this.r = rgb.r;\n this.g = rgb.g;\n this.b = rgb.b;\n this.a = rgb.a;\n this.roundA = Math.round(100 * this.a) / 100;\n this.format = (_a = opts.format) !== null && _a !== void 0 ? _a : rgb.format;\n this.gradientType = opts.gradientType;\n // Don't let the range of [0,255] come back in [0,1].\n // Potentially lose a little bit of precision here, but will fix issues where\n // .5 gets interpreted as half of the total, instead of half of 1\n // If it was supposed to be 128, this was already taken care of by `inputToRgb`\n if (this.r < 1) {\n this.r = Math.round(this.r);\n }\n if (this.g < 1) {\n this.g = Math.round(this.g);\n }\n if (this.b < 1) {\n this.b = Math.round(this.b);\n }\n this.isValid = rgb.ok;\n }\n TinyColor.prototype.isDark = function () {\n return this.getBrightness() < 128;\n };\n TinyColor.prototype.isLight = function () {\n return !this.isDark();\n };\n /**\n * Returns the perceived brightness of the color, from 0-255.\n */\n TinyColor.prototype.getBrightness = function () {\n // http://www.w3.org/TR/AERT#color-contrast\n var rgb = this.toRgb();\n return (rgb.r * 299 + rgb.g * 587 + rgb.b * 114) / 1000;\n };\n /**\n * Returns the perceived luminance of a color, from 0-1.\n */\n TinyColor.prototype.getLuminance = function () {\n // http://www.w3.org/TR/2008/REC-WCAG20-20081211/#relativeluminancedef\n var rgb = this.toRgb();\n var R;\n var G;\n var B;\n var RsRGB = rgb.r / 255;\n var GsRGB = rgb.g / 255;\n var BsRGB = rgb.b / 255;\n if (RsRGB <= 0.03928) {\n R = RsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n R = Math.pow((RsRGB + 0.055) / 1.055, 2.4);\n }\n if (GsRGB <= 0.03928) {\n G = GsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n G = Math.pow((GsRGB + 0.055) / 1.055, 2.4);\n }\n if (BsRGB <= 0.03928) {\n B = BsRGB / 12.92;\n }\n else {\n // eslint-disable-next-line prefer-exponentiation-operator\n B = Math.pow((BsRGB + 0.055) / 1.055, 2.4);\n }\n return 0.2126 * R + 0.7152 * G + 0.0722 * B;\n };\n /**\n * Returns the alpha value of a color, from 0-1.\n */\n TinyColor.prototype.getAlpha = function () {\n return this.a;\n };\n /**\n * Sets the alpha value on the current color.\n *\n * @param alpha - The new alpha value. The accepted range is 0-1.\n */\n TinyColor.prototype.setAlpha = function (alpha) {\n this.a = boundAlpha(alpha);\n this.roundA = Math.round(100 * this.a) / 100;\n return this;\n };\n /**\n * Returns the object as a HSVA object.\n */\n TinyColor.prototype.toHsv = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n return { h: hsv.h * 360, s: hsv.s, v: hsv.v, a: this.a };\n };\n /**\n * Returns the hsva values interpolated into a string with the following format:\n * \"hsva(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHsvString = function () {\n var hsv = rgbToHsv(this.r, this.g, this.b);\n var h = Math.round(hsv.h * 360);\n var s = Math.round(hsv.s * 100);\n var v = Math.round(hsv.v * 100);\n return this.a === 1 ? \"hsv(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%)\") : \"hsva(\".concat(h, \", \").concat(s, \"%, \").concat(v, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a HSLA object.\n */\n TinyColor.prototype.toHsl = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n return { h: hsl.h * 360, s: hsl.s, l: hsl.l, a: this.a };\n };\n /**\n * Returns the hsla values interpolated into a string with the following format:\n * \"hsla(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toHslString = function () {\n var hsl = rgbToHsl(this.r, this.g, this.b);\n var h = Math.round(hsl.h * 360);\n var s = Math.round(hsl.s * 100);\n var l = Math.round(hsl.l * 100);\n return this.a === 1 ? \"hsl(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%)\") : \"hsla(\".concat(h, \", \").concat(s, \"%, \").concat(l, \"%, \").concat(this.roundA, \")\");\n };\n /**\n * Returns the hex value of the color.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHex = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return rgbToHex(this.r, this.g, this.b, allow3Char);\n };\n /**\n * Returns the hex value of the color -with a # appened.\n * @param allow3Char will shorten hex value to 3 char if possible\n */\n TinyColor.prototype.toHexString = function (allow3Char) {\n if (allow3Char === void 0) { allow3Char = false; }\n return '#' + this.toHex(allow3Char);\n };\n /**\n * Returns the hex 8 value of the color.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8 = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return rgbaToHex(this.r, this.g, this.b, this.a, allow4Char);\n };\n /**\n * Returns the hex 8 value of the color -with a # appened.\n * @param allow4Char will shorten hex value to 4 char if possible\n */\n TinyColor.prototype.toHex8String = function (allow4Char) {\n if (allow4Char === void 0) { allow4Char = false; }\n return '#' + this.toHex8(allow4Char);\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toRgb = function () {\n return {\n r: Math.round(this.r),\n g: Math.round(this.g),\n b: Math.round(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA values interpolated into a string with the following format:\n * \"RGBA(xxx, xxx, xxx, xx)\".\n */\n TinyColor.prototype.toRgbString = function () {\n var r = Math.round(this.r);\n var g = Math.round(this.g);\n var b = Math.round(this.b);\n return this.a === 1 ? \"rgb(\".concat(r, \", \").concat(g, \", \").concat(b, \")\") : \"rgba(\".concat(r, \", \").concat(g, \", \").concat(b, \", \").concat(this.roundA, \")\");\n };\n /**\n * Returns the object as a RGBA object.\n */\n TinyColor.prototype.toPercentageRgb = function () {\n var fmt = function (x) { return \"\".concat(Math.round(bound01(x, 255) * 100), \"%\"); };\n return {\n r: fmt(this.r),\n g: fmt(this.g),\n b: fmt(this.b),\n a: this.a,\n };\n };\n /**\n * Returns the RGBA relative values interpolated into a string\n */\n TinyColor.prototype.toPercentageRgbString = function () {\n var rnd = function (x) { return Math.round(bound01(x, 255) * 100); };\n return this.a === 1\n ? \"rgb(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%)\")\n : \"rgba(\".concat(rnd(this.r), \"%, \").concat(rnd(this.g), \"%, \").concat(rnd(this.b), \"%, \").concat(this.roundA, \")\");\n };\n /**\n * The 'real' name of the color -if there is one.\n */\n TinyColor.prototype.toName = function () {\n if (this.a === 0) {\n return 'transparent';\n }\n if (this.a < 1) {\n return false;\n }\n var hex = '#' + rgbToHex(this.r, this.g, this.b, false);\n for (var _i = 0, _a = Object.entries(names); _i < _a.length; _i++) {\n var _b = _a[_i], key = _b[0], value = _b[1];\n if (hex === value) {\n return key;\n }\n }\n return false;\n };\n TinyColor.prototype.toString = function (format) {\n var formatSet = Boolean(format);\n format = format !== null && format !== void 0 ? format : this.format;\n var formattedString = false;\n var hasAlpha = this.a < 1 && this.a >= 0;\n var needsAlphaFormat = !formatSet && hasAlpha && (format.startsWith('hex') || format === 'name');\n if (needsAlphaFormat) {\n // Special case for \"transparent\", all other non-alpha formats\n // will return rgba when there is transparency.\n if (format === 'name' && this.a === 0) {\n return this.toName();\n }\n return this.toRgbString();\n }\n if (format === 'rgb') {\n formattedString = this.toRgbString();\n }\n if (format === 'prgb') {\n formattedString = this.toPercentageRgbString();\n }\n if (format === 'hex' || format === 'hex6') {\n formattedString = this.toHexString();\n }\n if (format === 'hex3') {\n formattedString = this.toHexString(true);\n }\n if (format === 'hex4') {\n formattedString = this.toHex8String(true);\n }\n if (format === 'hex8') {\n formattedString = this.toHex8String();\n }\n if (format === 'name') {\n formattedString = this.toName();\n }\n if (format === 'hsl') {\n formattedString = this.toHslString();\n }\n if (format === 'hsv') {\n formattedString = this.toHsvString();\n }\n return formattedString || this.toHexString();\n };\n TinyColor.prototype.toNumber = function () {\n return (Math.round(this.r) << 16) + (Math.round(this.g) << 8) + Math.round(this.b);\n };\n TinyColor.prototype.clone = function () {\n return new TinyColor(this.toString());\n };\n /**\n * Lighten the color a given amount. Providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.lighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l += amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Brighten the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.brighten = function (amount) {\n if (amount === void 0) { amount = 10; }\n var rgb = this.toRgb();\n rgb.r = Math.max(0, Math.min(255, rgb.r - Math.round(255 * -(amount / 100))));\n rgb.g = Math.max(0, Math.min(255, rgb.g - Math.round(255 * -(amount / 100))));\n rgb.b = Math.max(0, Math.min(255, rgb.b - Math.round(255 * -(amount / 100))));\n return new TinyColor(rgb);\n };\n /**\n * Darken the color a given amount, from 0 to 100.\n * Providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.darken = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.l -= amount / 100;\n hsl.l = clamp01(hsl.l);\n return new TinyColor(hsl);\n };\n /**\n * Mix the color with pure white, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return white.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.tint = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('white', amount);\n };\n /**\n * Mix the color with pure black, from 0 to 100.\n * Providing 0 will do nothing, providing 100 will always return black.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.shade = function (amount) {\n if (amount === void 0) { amount = 10; }\n return this.mix('black', amount);\n };\n /**\n * Desaturate the color a given amount, from 0 to 100.\n * Providing 100 will is the same as calling greyscale\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.desaturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s -= amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Saturate the color a given amount, from 0 to 100.\n * @param amount - valid between 1-100\n */\n TinyColor.prototype.saturate = function (amount) {\n if (amount === void 0) { amount = 10; }\n var hsl = this.toHsl();\n hsl.s += amount / 100;\n hsl.s = clamp01(hsl.s);\n return new TinyColor(hsl);\n };\n /**\n * Completely desaturates a color into greyscale.\n * Same as calling `desaturate(100)`\n */\n TinyColor.prototype.greyscale = function () {\n return this.desaturate(100);\n };\n /**\n * Spin takes a positive or negative amount within [-360, 360] indicating the change of hue.\n * Values outside of this range will be wrapped into this range.\n */\n TinyColor.prototype.spin = function (amount) {\n var hsl = this.toHsl();\n var hue = (hsl.h + amount) % 360;\n hsl.h = hue < 0 ? 360 + hue : hue;\n return new TinyColor(hsl);\n };\n /**\n * Mix the current color a given amount with another color, from 0 to 100.\n * 0 means no mixing (return current color).\n */\n TinyColor.prototype.mix = function (color, amount) {\n if (amount === void 0) { amount = 50; }\n var rgb1 = this.toRgb();\n var rgb2 = new TinyColor(color).toRgb();\n var p = amount / 100;\n var rgba = {\n r: (rgb2.r - rgb1.r) * p + rgb1.r,\n g: (rgb2.g - rgb1.g) * p + rgb1.g,\n b: (rgb2.b - rgb1.b) * p + rgb1.b,\n a: (rgb2.a - rgb1.a) * p + rgb1.a,\n };\n return new TinyColor(rgba);\n };\n TinyColor.prototype.analogous = function (results, slices) {\n if (results === void 0) { results = 6; }\n if (slices === void 0) { slices = 30; }\n var hsl = this.toHsl();\n var part = 360 / slices;\n var ret = [this];\n for (hsl.h = (hsl.h - ((part * results) >> 1) + 720) % 360; --results;) {\n hsl.h = (hsl.h + part) % 360;\n ret.push(new TinyColor(hsl));\n }\n return ret;\n };\n /**\n * taken from https://github.com/infusion/jQuery-xcolor/blob/master/jquery.xcolor.js\n */\n TinyColor.prototype.complement = function () {\n var hsl = this.toHsl();\n hsl.h = (hsl.h + 180) % 360;\n return new TinyColor(hsl);\n };\n TinyColor.prototype.monochromatic = function (results) {\n if (results === void 0) { results = 6; }\n var hsv = this.toHsv();\n var h = hsv.h;\n var s = hsv.s;\n var v = hsv.v;\n var res = [];\n var modification = 1 / results;\n while (results--) {\n res.push(new TinyColor({ h: h, s: s, v: v }));\n v = (v + modification) % 1;\n }\n return res;\n };\n TinyColor.prototype.splitcomplement = function () {\n var hsl = this.toHsl();\n var h = hsl.h;\n return [\n this,\n new TinyColor({ h: (h + 72) % 360, s: hsl.s, l: hsl.l }),\n new TinyColor({ h: (h + 216) % 360, s: hsl.s, l: hsl.l }),\n ];\n };\n /**\n * Compute how the color would appear on a background\n */\n TinyColor.prototype.onBackground = function (background) {\n var fg = this.toRgb();\n var bg = new TinyColor(background).toRgb();\n return new TinyColor({\n r: bg.r + (fg.r - bg.r) * fg.a,\n g: bg.g + (fg.g - bg.g) * fg.a,\n b: bg.b + (fg.b - bg.b) * fg.a,\n });\n };\n /**\n * Alias for `polyad(3)`\n */\n TinyColor.prototype.triad = function () {\n return this.polyad(3);\n };\n /**\n * Alias for `polyad(4)`\n */\n TinyColor.prototype.tetrad = function () {\n return this.polyad(4);\n };\n /**\n * Get polyad colors, like (for 1, 2, 3, 4, 5, 6, 7, 8, etc...)\n * monad, dyad, triad, tetrad, pentad, hexad, heptad, octad, etc...\n */\n TinyColor.prototype.polyad = function (n) {\n var hsl = this.toHsl();\n var h = hsl.h;\n var result = [this];\n var increment = 360 / n;\n for (var i = 1; i < n; i++) {\n result.push(new TinyColor({ h: (h + i * increment) % 360, s: hsl.s, l: hsl.l }));\n }\n return result;\n };\n /**\n * compare color vs current color\n */\n TinyColor.prototype.equals = function (color) {\n return this.toRgbString() === new TinyColor(color).toRgbString();\n };\n return TinyColor;\n}());\nexport { TinyColor };\n// kept for backwards compatability with v1\nexport function tinycolor(color, opts) {\n if (color === void 0) { color = ''; }\n if (opts === void 0) { opts = {}; }\n return new TinyColor(color, opts);\n}\n","/**\n * Take input from [0, n] and return it as [0, 1]\n * @hidden\n */\nexport function bound01(n, max) {\n if (isOnePointZero(n)) {\n n = '100%';\n }\n var isPercent = isPercentage(n);\n n = max === 360 ? n : Math.min(max, Math.max(0, parseFloat(n)));\n // Automatically convert percentage into number\n if (isPercent) {\n n = parseInt(String(n * max), 10) / 100;\n }\n // Handle floating point rounding errors\n if (Math.abs(n - max) < 0.000001) {\n return 1;\n }\n // Convert into [0, 1] range if it isn't already\n if (max === 360) {\n // If n is a hue given in degrees,\n // wrap around out-of-range values into [0, 360] range\n // then convert into [0, 1].\n n = (n < 0 ? (n % max) + max : n % max) / parseFloat(String(max));\n }\n else {\n // If n not a hue given in degrees\n // Convert into [0, 1] range if it isn't already.\n n = (n % max) / parseFloat(String(max));\n }\n return n;\n}\n/**\n * Force a number between 0 and 1\n * @hidden\n */\nexport function clamp01(val) {\n return Math.min(1, Math.max(0, val));\n}\n/**\n * Need to handle 1.0 as 100%, since once it is a number, there is no difference between it and 1\n * \n * @hidden\n */\nexport function isOnePointZero(n) {\n return typeof n === 'string' && n.indexOf('.') !== -1 && parseFloat(n) === 1;\n}\n/**\n * Check to see if string passed in is a percentage\n * @hidden\n */\nexport function isPercentage(n) {\n return typeof n === 'string' && n.indexOf('%') !== -1;\n}\n/**\n * Return a valid alpha value [0,1] with all invalid values being set to 1\n * @hidden\n */\nexport function boundAlpha(a) {\n a = parseFloat(a);\n if (isNaN(a) || a < 0 || a > 1) {\n a = 1;\n }\n return a;\n}\n/**\n * Replace a decimal with it's percentage value\n * @hidden\n */\nexport function convertToPercentage(n) {\n if (n <= 1) {\n return \"\".concat(Number(n) * 100, \"%\");\n }\n return n;\n}\n/**\n * Force a hex value to have 2 characters\n * @hidden\n */\nexport function pad2(c) {\n return c.length === 1 ? '0' + c : String(c);\n}\n","var unitlessKeys = {\n animationIterationCount: 1,\n borderImageOutset: 1,\n borderImageSlice: 1,\n borderImageWidth: 1,\n boxFlex: 1,\n boxFlexGroup: 1,\n boxOrdinalGroup: 1,\n columnCount: 1,\n columns: 1,\n flex: 1,\n flexGrow: 1,\n flexPositive: 1,\n flexShrink: 1,\n flexNegative: 1,\n flexOrder: 1,\n gridRow: 1,\n gridRowEnd: 1,\n gridRowSpan: 1,\n gridRowStart: 1,\n gridColumn: 1,\n gridColumnEnd: 1,\n gridColumnSpan: 1,\n gridColumnStart: 1,\n msGridRow: 1,\n msGridRowSpan: 1,\n msGridColumn: 1,\n msGridColumnSpan: 1,\n fontWeight: 1,\n lineHeight: 1,\n opacity: 1,\n order: 1,\n orphans: 1,\n tabSize: 1,\n widows: 1,\n zIndex: 1,\n zoom: 1,\n WebkitLineClamp: 1,\n // SVG-related properties\n fillOpacity: 1,\n floodOpacity: 1,\n stopOpacity: 1,\n strokeDasharray: 1,\n strokeDashoffset: 1,\n strokeMiterlimit: 1,\n strokeOpacity: 1,\n strokeWidth: 1\n};\n\nexport default unitlessKeys;\n","import * as React from 'react';\nvar OrderContext = /*#__PURE__*/React.createContext(null);\nexport default OrderContext;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport OrderContext from \"./Context\";\nvar EMPTY_LIST = [];\n/**\n * Will add `div` to document. Nest call will keep order\n * @param render Render DOM in document\n */\n\nexport default function useDom(render, debug) {\n var _React$useState = React.useState(function () {\n if (!canUseDom()) {\n return null;\n }\n\n var defaultEle = document.createElement('div');\n\n if (process.env.NODE_ENV !== 'production' && debug) {\n defaultEle.setAttribute('data-debug', debug);\n }\n\n return defaultEle;\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n ele = _React$useState2[0]; // ========================== Order ==========================\n\n\n var queueCreate = React.useContext(OrderContext);\n\n var _React$useState3 = React.useState(EMPTY_LIST),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n queue = _React$useState4[0],\n setQueue = _React$useState4[1];\n\n var mergedQueueCreate = queueCreate || function (appendFn) {\n setQueue(function (origin) {\n var newQueue = [appendFn].concat(_toConsumableArray(origin));\n return newQueue;\n });\n }; // =========================== DOM ===========================\n\n\n function append() {\n if (!ele.parentElement) {\n document.body.appendChild(ele);\n }\n }\n\n function cleanup() {\n var _ele$parentElement;\n\n (_ele$parentElement = ele.parentElement) === null || _ele$parentElement === void 0 ? void 0 : _ele$parentElement.removeChild(ele);\n }\n\n useLayoutEffect(function () {\n if (render) {\n if (queueCreate) {\n queueCreate(append);\n } else {\n append();\n }\n } else {\n cleanup();\n }\n\n return cleanup;\n }, [render]);\n useLayoutEffect(function () {\n if (queue.length) {\n queue.forEach(function (appendFn) {\n return appendFn();\n });\n setQueue(EMPTY_LIST);\n }\n }, [queue]);\n return [ele, mergedQueueCreate];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { updateCSS, removeCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport getScrollBarSize from \"rc-util/es/getScrollBarSize\";\nimport { isBodyOverflowing } from \"./util\";\nvar UNIQUE_ID = \"rc-util-locker-\".concat(Date.now());\nvar uuid = 0;\nexport default function useScrollLocker(lock) {\n var mergedLock = !!lock;\n\n var _React$useState = React.useState(function () {\n uuid += 1;\n return \"\".concat(UNIQUE_ID, \"_\").concat(uuid);\n }),\n _React$useState2 = _slicedToArray(_React$useState, 1),\n id = _React$useState2[0];\n\n useLayoutEffect(function () {\n if (mergedLock) {\n var scrollbarSize = getScrollBarSize();\n var isOverflow = isBodyOverflowing();\n updateCSS(\"\\nhtml body {\\n overflow-y: hidden;\\n \".concat(isOverflow ? \"width: calc(100% - \".concat(scrollbarSize, \"px);\") : '', \"\\n}\"), id);\n } else {\n removeCSS(id);\n }\n\n return function () {\n removeCSS(id);\n };\n }, [mergedLock, id]);\n}","/**\n * Test usage export. Do not use in your production\n */\nexport function isBodyOverflowing() {\n return document.body.scrollHeight > (window.innerHeight || document.documentElement.clientHeight) && window.innerWidth > document.body.offsetWidth;\n}","export var inline = false;\nexport function inlineMock(nextInline) {\n if (typeof nextInline === 'boolean') {\n inline = nextInline;\n }\n\n return inline;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { supportRef, useComposeRef } from \"rc-util/es/ref\";\nimport OrderContext from \"./Context\";\nimport useDom from \"./useDom\";\nimport useScrollLocker from \"./useScrollLocker\";\nimport { inlineMock } from \"./mock\";\n\nvar getPortalContainer = function getPortalContainer(getContainer) {\n if (getContainer === false) {\n return false;\n }\n\n if (!canUseDom() || !getContainer) {\n return null;\n }\n\n if (typeof getContainer === 'string') {\n return document.querySelector(getContainer);\n }\n\n if (typeof getContainer === 'function') {\n return getContainer();\n }\n\n return getContainer;\n};\n\nvar Portal = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var open = props.open,\n autoLock = props.autoLock,\n getContainer = props.getContainer,\n debug = props.debug,\n _props$autoDestroy = props.autoDestroy,\n autoDestroy = _props$autoDestroy === void 0 ? true : _props$autoDestroy,\n children = props.children;\n\n var _React$useState = React.useState(open),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n shouldRender = _React$useState2[0],\n setShouldRender = _React$useState2[1];\n\n var mergedRender = shouldRender || open; // ====================== Should Render ======================\n\n React.useEffect(function () {\n if (autoDestroy || open) {\n setShouldRender(open);\n }\n }, [open, autoDestroy]); // ======================== Container ========================\n\n var _React$useState3 = React.useState(function () {\n return getPortalContainer(getContainer);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerContainer = _React$useState4[0],\n setInnerContainer = _React$useState4[1];\n\n React.useEffect(function () {\n var customizeContainer = getPortalContainer(getContainer); // Tell component that we check this in effect which is safe to be `null`\n\n setInnerContainer(customizeContainer !== null && customizeContainer !== void 0 ? customizeContainer : null);\n });\n\n var _useDom = useDom(mergedRender && !innerContainer, debug),\n _useDom2 = _slicedToArray(_useDom, 2),\n defaultContainer = _useDom2[0],\n queueCreate = _useDom2[1];\n\n var mergedContainer = innerContainer !== null && innerContainer !== void 0 ? innerContainer : defaultContainer; // ========================= Locker ==========================\n\n useScrollLocker(autoLock && open && canUseDom() && (mergedContainer === defaultContainer || mergedContainer === document.body)); // =========================== Ref ===========================\n\n var childRef = null;\n\n if (children && supportRef(children) && ref) {\n var _ref = children;\n childRef = _ref.ref;\n }\n\n var mergedRef = useComposeRef(childRef, ref); // ========================= Render ==========================\n // Do not render when nothing need render\n // When innerContainer is `undefined`, it may not ready since user use ref in the same render\n\n if (!mergedRender || !canUseDom() || innerContainer === undefined) {\n return null;\n } // Render inline\n\n\n var renderInline = mergedContainer === false || inlineMock();\n var reffedChildren = children;\n\n if (ref) {\n reffedChildren = /*#__PURE__*/React.cloneElement(children, {\n ref: mergedRef\n });\n }\n\n return /*#__PURE__*/React.createElement(OrderContext.Provider, {\n value: queueCreate\n }, renderInline ? reffedChildren : /*#__PURE__*/createPortal(reffedChildren, mergedContainer));\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Portal.displayName = 'Portal';\n}\n\nexport default Portal;","import Portal from \"./Portal\";\nimport { inlineMock } from \"./mock\";\nexport { inlineMock };\nexport default Portal;","function n(n){for(var r=arguments.length,t=Array(r>1?r-1:0),e=1;e3?r.i-4:r.i:Array.isArray(n)?1:s(n)?2:v(n)?3:0}function u(n,r){return 2===o(n)?n.has(r):Object.prototype.hasOwnProperty.call(n,r)}function a(n,r){return 2===o(n)?n.get(r):n[r]}function f(n,r,t){var e=o(n);2===e?n.set(r,t):3===e?(n.delete(r),n.add(t)):n[r]=t}function c(n,r){return n===r?0!==n||1/n==1/r:n!=n&&r!=r}function s(n){return X&&n instanceof Map}function v(n){return q&&n instanceof Set}function p(n){return n.o||n.t}function l(n){if(Array.isArray(n))return Array.prototype.slice.call(n);var r=rn(n);delete r[Q];for(var t=nn(r),e=0;e1&&(n.set=n.add=n.clear=n.delete=h),Object.freeze(n),e&&i(n,(function(n,r){return d(r,!0)}),!0),n)}function h(){n(2)}function y(n){return null==n||\"object\"!=typeof n||Object.isFrozen(n)}function b(r){var t=tn[r];return t||n(18,r),t}function m(n,r){tn[n]||(tn[n]=r)}function _(){return\"production\"===process.env.NODE_ENV||U||n(0),U}function j(n,r){r&&(b(\"Patches\"),n.u=[],n.s=[],n.v=r)}function O(n){g(n),n.p.forEach(S),n.p=null}function g(n){n===U&&(U=n.l)}function w(n){return U={p:[],l:U,h:n,m:!0,_:0}}function S(n){var r=n[Q];0===r.i||1===r.i?r.j():r.O=!0}function P(r,e){e._=e.p.length;var i=e.p[0],o=void 0!==r&&r!==i;return e.h.g||b(\"ES5\").S(e,r,o),o?(i[Q].P&&(O(e),n(4)),t(r)&&(r=M(e,r),e.l||x(e,r)),e.u&&b(\"Patches\").M(i[Q].t,r,e.u,e.s)):r=M(e,i,[]),O(e),e.u&&e.v(e.u,e.s),r!==H?r:void 0}function M(n,r,t){if(y(r))return r;var e=r[Q];if(!e)return i(r,(function(i,o){return A(n,e,r,i,o,t)}),!0),r;if(e.A!==n)return r;if(!e.P)return x(n,e.t,!0),e.t;if(!e.I){e.I=!0,e.A._--;var o=4===e.i||5===e.i?e.o=l(e.k):e.o;i(3===e.i?new Set(o):o,(function(r,i){return A(n,e,o,r,i,t)})),x(n,o,!1),t&&n.u&&b(\"Patches\").R(e,t,n.u,n.s)}return e.o}function A(e,i,o,a,c,s){if(\"production\"!==process.env.NODE_ENV&&c===o&&n(5),r(c)){var v=M(e,c,s&&i&&3!==i.i&&!u(i.D,a)?s.concat(a):void 0);if(f(o,a,v),!r(v))return;e.m=!1}if(t(c)&&!y(c)){if(!e.h.F&&e._<1)return;M(e,c),i&&i.A.l||x(e,c)}}function x(n,r,t){void 0===t&&(t=!1),n.h.F&&n.m&&d(r,t)}function z(n,r){var t=n[Q];return(t?p(t):n)[r]}function I(n,r){if(r in n)for(var t=Object.getPrototypeOf(n);t;){var e=Object.getOwnPropertyDescriptor(t,r);if(e)return e;t=Object.getPrototypeOf(t)}}function k(n){n.P||(n.P=!0,n.l&&k(n.l))}function E(n){n.o||(n.o=l(n.t))}function R(n,r,t){var e=s(r)?b(\"MapSet\").N(r,t):v(r)?b(\"MapSet\").T(r,t):n.g?function(n,r){var t=Array.isArray(n),e={i:t?1:0,A:r?r.A:_(),P:!1,I:!1,D:{},l:r,t:n,k:null,o:null,j:null,C:!1},i=e,o=en;t&&(i=[e],o=on);var u=Proxy.revocable(i,o),a=u.revoke,f=u.proxy;return e.k=f,e.j=a,f}(r,t):b(\"ES5\").J(r,t);return(t?t.A:_()).p.push(e),e}function D(e){return r(e)||n(22,e),function n(r){if(!t(r))return r;var e,u=r[Q],c=o(r);if(u){if(!u.P&&(u.i<4||!b(\"ES5\").K(u)))return u.t;u.I=!0,e=F(r,c),u.I=!1}else e=F(r,c);return i(e,(function(r,t){u&&a(u.t,r)===t||f(e,r,n(t))})),3===c?new Set(e):e}(e)}function F(n,r){switch(r){case 2:return new Map(n);case 3:return Array.from(n)}return l(n)}function N(){function t(n,r){var t=s[n];return t?t.enumerable=r:s[n]=t={configurable:!0,enumerable:r,get:function(){var r=this[Q];return\"production\"!==process.env.NODE_ENV&&f(r),en.get(r,n)},set:function(r){var t=this[Q];\"production\"!==process.env.NODE_ENV&&f(t),en.set(t,n,r)}},t}function e(n){for(var r=n.length-1;r>=0;r--){var t=n[r][Q];if(!t.P)switch(t.i){case 5:a(t)&&k(t);break;case 4:o(t)&&k(t)}}}function o(n){for(var r=n.t,t=n.k,e=nn(t),i=e.length-1;i>=0;i--){var o=e[i];if(o!==Q){var a=r[o];if(void 0===a&&!u(r,o))return!0;var f=t[o],s=f&&f[Q];if(s?s.t!==a:!c(f,a))return!0}}var v=!!r[Q];return e.length!==nn(r).length+(v?0:1)}function a(n){var r=n.k;if(r.length!==n.t.length)return!0;var t=Object.getOwnPropertyDescriptor(r,r.length-1);if(t&&!t.get)return!0;for(var e=0;e1?t-1:0),o=1;o1?t-1:0),o=1;o=0;e--){var i=t[e];if(0===i.path.length&&\"replace\"===i.op){n=i.value;break}}e>-1&&(t=t.slice(e+1));var o=b(\"Patches\").$;return r(n)?o(n,t):this.produce(n,(function(n){return o(n,t)}))},e}(),an=new un,fn=an.produce,cn=an.produceWithPatches.bind(an),sn=an.setAutoFreeze.bind(an),vn=an.setUseProxies.bind(an),pn=an.applyPatches.bind(an),ln=an.createDraft.bind(an),dn=an.finishDraft.bind(an);export default fn;export{un as Immer,pn as applyPatches,K as castDraft,$ as castImmutable,ln as createDraft,D as current,J as enableAllPlugins,N as enableES5,C as enableMapSet,T as enablePatches,dn as finishDraft,d as freeze,L as immerable,r as isDraft,t as isDraftable,H as nothing,e as original,fn as produce,cn as produceWithPatches,sn as setAutoFreeze,vn as setUseProxies};\n//# sourceMappingURL=immer.esm.js.map\n","import _objectSpread from '@babel/runtime/helpers/esm/objectSpread2';\n\n/**\n * Adapted from React: https://github.com/facebook/react/blob/master/packages/shared/formatProdErrorMessage.js\n *\n * Do not require this module directly! Use normal throw error calls. These messages will be replaced with error codes\n * during build.\n * @param {number} code\n */\nfunction formatProdErrorMessage(code) {\n return \"Minified Redux error #\" + code + \"; visit https://redux.js.org/Errors?code=\" + code + \" for the full message or \" + 'use the non-minified dev environment for full errors. ';\n}\n\n// Inlined version of the `symbol-observable` polyfill\nvar $$observable = (function () {\n return typeof Symbol === 'function' && Symbol.observable || '@@observable';\n})();\n\n/**\n * These are private action types reserved by Redux.\n * For any unknown actions, you must return the current state.\n * If the current state is undefined, you must return the initial state.\n * Do not reference these action types directly in your code.\n */\nvar randomString = function randomString() {\n return Math.random().toString(36).substring(7).split('').join('.');\n};\n\nvar ActionTypes = {\n INIT: \"@@redux/INIT\" + randomString(),\n REPLACE: \"@@redux/REPLACE\" + randomString(),\n PROBE_UNKNOWN_ACTION: function PROBE_UNKNOWN_ACTION() {\n return \"@@redux/PROBE_UNKNOWN_ACTION\" + randomString();\n }\n};\n\n/**\n * @param {any} obj The object to inspect.\n * @returns {boolean} True if the argument appears to be a plain object.\n */\nfunction isPlainObject(obj) {\n if (typeof obj !== 'object' || obj === null) return false;\n var proto = obj;\n\n while (Object.getPrototypeOf(proto) !== null) {\n proto = Object.getPrototypeOf(proto);\n }\n\n return Object.getPrototypeOf(obj) === proto;\n}\n\n// Inlined / shortened version of `kindOf` from https://github.com/jonschlinkert/kind-of\nfunction miniKindOf(val) {\n if (val === void 0) return 'undefined';\n if (val === null) return 'null';\n var type = typeof val;\n\n switch (type) {\n case 'boolean':\n case 'string':\n case 'number':\n case 'symbol':\n case 'function':\n {\n return type;\n }\n }\n\n if (Array.isArray(val)) return 'array';\n if (isDate(val)) return 'date';\n if (isError(val)) return 'error';\n var constructorName = ctorName(val);\n\n switch (constructorName) {\n case 'Symbol':\n case 'Promise':\n case 'WeakMap':\n case 'WeakSet':\n case 'Map':\n case 'Set':\n return constructorName;\n } // other\n\n\n return type.slice(8, -1).toLowerCase().replace(/\\s/g, '');\n}\n\nfunction ctorName(val) {\n return typeof val.constructor === 'function' ? val.constructor.name : null;\n}\n\nfunction isError(val) {\n return val instanceof Error || typeof val.message === 'string' && val.constructor && typeof val.constructor.stackTraceLimit === 'number';\n}\n\nfunction isDate(val) {\n if (val instanceof Date) return true;\n return typeof val.toDateString === 'function' && typeof val.getDate === 'function' && typeof val.setDate === 'function';\n}\n\nfunction kindOf(val) {\n var typeOfVal = typeof val;\n\n if (process.env.NODE_ENV !== 'production') {\n typeOfVal = miniKindOf(val);\n }\n\n return typeOfVal;\n}\n\n/**\n * @deprecated\n *\n * **We recommend using the `configureStore` method\n * of the `@reduxjs/toolkit` package**, which replaces `createStore`.\n *\n * Redux Toolkit is our recommended approach for writing Redux logic today,\n * including store setup, reducers, data fetching, and more.\n *\n * **For more details, please read this Redux docs page:**\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * `configureStore` from Redux Toolkit is an improved version of `createStore` that\n * simplifies setup and helps avoid common bugs.\n *\n * You should not be using the `redux` core package by itself today, except for learning purposes.\n * The `createStore` method from the core `redux` package will not be removed, but we encourage\n * all users to migrate to using Redux Toolkit for all Redux code.\n *\n * If you want to use `createStore` without this visual deprecation warning, use\n * the `legacy_createStore` import instead:\n *\n * `import { legacy_createStore as createStore} from 'redux'`\n *\n */\n\nfunction createStore(reducer, preloadedState, enhancer) {\n var _ref2;\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'function' || typeof enhancer === 'function' && typeof arguments[3] === 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(0) : 'It looks like you are passing several store enhancers to ' + 'createStore(). This is not supported. Instead, compose them ' + 'together to a single function. See https://redux.js.org/tutorials/fundamentals/part-4-store#creating-a-store-with-enhancers for an example.');\n }\n\n if (typeof preloadedState === 'function' && typeof enhancer === 'undefined') {\n enhancer = preloadedState;\n preloadedState = undefined;\n }\n\n if (typeof enhancer !== 'undefined') {\n if (typeof enhancer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(1) : \"Expected the enhancer to be a function. Instead, received: '\" + kindOf(enhancer) + \"'\");\n }\n\n return enhancer(createStore)(reducer, preloadedState);\n }\n\n if (typeof reducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(2) : \"Expected the root reducer to be a function. Instead, received: '\" + kindOf(reducer) + \"'\");\n }\n\n var currentReducer = reducer;\n var currentState = preloadedState;\n var currentListeners = [];\n var nextListeners = currentListeners;\n var isDispatching = false;\n /**\n * This makes a shallow copy of currentListeners so we can use\n * nextListeners as a temporary list while dispatching.\n *\n * This prevents any bugs around consumers calling\n * subscribe/unsubscribe in the middle of a dispatch.\n */\n\n function ensureCanMutateNextListeners() {\n if (nextListeners === currentListeners) {\n nextListeners = currentListeners.slice();\n }\n }\n /**\n * Reads the state tree managed by the store.\n *\n * @returns {any} The current state tree of your application.\n */\n\n\n function getState() {\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(3) : 'You may not call store.getState() while the reducer is executing. ' + 'The reducer has already received the state as an argument. ' + 'Pass it down from the top reducer instead of reading it from the store.');\n }\n\n return currentState;\n }\n /**\n * Adds a change listener. It will be called any time an action is dispatched,\n * and some part of the state tree may potentially have changed. You may then\n * call `getState()` to read the current state tree inside the callback.\n *\n * You may call `dispatch()` from a change listener, with the following\n * caveats:\n *\n * 1. The subscriptions are snapshotted just before every `dispatch()` call.\n * If you subscribe or unsubscribe while the listeners are being invoked, this\n * will not have any effect on the `dispatch()` that is currently in progress.\n * However, the next `dispatch()` call, whether nested or not, will use a more\n * recent snapshot of the subscription list.\n *\n * 2. The listener should not expect to see all state changes, as the state\n * might have been updated multiple times during a nested `dispatch()` before\n * the listener is called. It is, however, guaranteed that all subscribers\n * registered before the `dispatch()` started will be called with the latest\n * state by the time it exits.\n *\n * @param {Function} listener A callback to be invoked on every dispatch.\n * @returns {Function} A function to remove this change listener.\n */\n\n\n function subscribe(listener) {\n if (typeof listener !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(4) : \"Expected the listener to be a function. Instead, received: '\" + kindOf(listener) + \"'\");\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(5) : 'You may not call store.subscribe() while the reducer is executing. ' + 'If you would like to be notified after the store has been updated, subscribe from a ' + 'component and invoke store.getState() in the callback to access the latest state. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n var isSubscribed = true;\n ensureCanMutateNextListeners();\n nextListeners.push(listener);\n return function unsubscribe() {\n if (!isSubscribed) {\n return;\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(6) : 'You may not unsubscribe from a store listener while the reducer is executing. ' + 'See https://redux.js.org/api/store#subscribelistener for more details.');\n }\n\n isSubscribed = false;\n ensureCanMutateNextListeners();\n var index = nextListeners.indexOf(listener);\n nextListeners.splice(index, 1);\n currentListeners = null;\n };\n }\n /**\n * Dispatches an action. It is the only way to trigger a state change.\n *\n * The `reducer` function, used to create the store, will be called with the\n * current state tree and the given `action`. Its return value will\n * be considered the **next** state of the tree, and the change listeners\n * will be notified.\n *\n * The base implementation only supports plain object actions. If you want to\n * dispatch a Promise, an Observable, a thunk, or something else, you need to\n * wrap your store creating function into the corresponding middleware. For\n * example, see the documentation for the `redux-thunk` package. Even the\n * middleware will eventually dispatch plain object actions using this method.\n *\n * @param {Object} action A plain object representing “what changed”. It is\n * a good idea to keep actions serializable so you can record and replay user\n * sessions, or use the time travelling `redux-devtools`. An action must have\n * a `type` property which may not be `undefined`. It is a good idea to use\n * string constants for action types.\n *\n * @returns {Object} For convenience, the same action object you dispatched.\n *\n * Note that, if you use a custom middleware, it may wrap `dispatch()` to\n * return something else (for example, a Promise you can await).\n */\n\n\n function dispatch(action) {\n if (!isPlainObject(action)) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(7) : \"Actions must be plain objects. Instead, the actual type was: '\" + kindOf(action) + \"'. You may need to add middleware to your store setup to handle dispatching other values, such as 'redux-thunk' to handle dispatching functions. See https://redux.js.org/tutorials/fundamentals/part-4-store#middleware and https://redux.js.org/tutorials/fundamentals/part-6-async-logic#using-the-redux-thunk-middleware for examples.\");\n }\n\n if (typeof action.type === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(8) : 'Actions may not have an undefined \"type\" property. You may have misspelled an action type string constant.');\n }\n\n if (isDispatching) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(9) : 'Reducers may not dispatch actions.');\n }\n\n try {\n isDispatching = true;\n currentState = currentReducer(currentState, action);\n } finally {\n isDispatching = false;\n }\n\n var listeners = currentListeners = nextListeners;\n\n for (var i = 0; i < listeners.length; i++) {\n var listener = listeners[i];\n listener();\n }\n\n return action;\n }\n /**\n * Replaces the reducer currently used by the store to calculate the state.\n *\n * You might need this if your app implements code splitting and you want to\n * load some of the reducers dynamically. You might also need this if you\n * implement a hot reloading mechanism for Redux.\n *\n * @param {Function} nextReducer The reducer for the store to use instead.\n * @returns {void}\n */\n\n\n function replaceReducer(nextReducer) {\n if (typeof nextReducer !== 'function') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(10) : \"Expected the nextReducer to be a function. Instead, received: '\" + kindOf(nextReducer));\n }\n\n currentReducer = nextReducer; // This action has a similiar effect to ActionTypes.INIT.\n // Any reducers that existed in both the new and old rootReducer\n // will receive the previous state. This effectively populates\n // the new state tree with any relevant data from the old one.\n\n dispatch({\n type: ActionTypes.REPLACE\n });\n }\n /**\n * Interoperability point for observable/reactive libraries.\n * @returns {observable} A minimal observable of state changes.\n * For more information, see the observable proposal:\n * https://github.com/tc39/proposal-observable\n */\n\n\n function observable() {\n var _ref;\n\n var outerSubscribe = subscribe;\n return _ref = {\n /**\n * The minimal observable subscription method.\n * @param {Object} observer Any object that can be used as an observer.\n * The observer object should have a `next` method.\n * @returns {subscription} An object with an `unsubscribe` method that can\n * be used to unsubscribe the observable from the store, and prevent further\n * emission of values from the observable.\n */\n subscribe: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(11) : \"Expected the observer to be an object. Instead, received: '\" + kindOf(observer) + \"'\");\n }\n\n function observeState() {\n if (observer.next) {\n observer.next(getState());\n }\n }\n\n observeState();\n var unsubscribe = outerSubscribe(observeState);\n return {\n unsubscribe: unsubscribe\n };\n }\n }, _ref[$$observable] = function () {\n return this;\n }, _ref;\n } // When a store is created, an \"INIT\" action is dispatched so that every\n // reducer returns their initial state. This effectively populates\n // the initial state tree.\n\n\n dispatch({\n type: ActionTypes.INIT\n });\n return _ref2 = {\n dispatch: dispatch,\n subscribe: subscribe,\n getState: getState,\n replaceReducer: replaceReducer\n }, _ref2[$$observable] = observable, _ref2;\n}\n/**\n * Creates a Redux store that holds the state tree.\n *\n * **We recommend using `configureStore` from the\n * `@reduxjs/toolkit` package**, which replaces `createStore`:\n * **https://redux.js.org/introduction/why-rtk-is-redux-today**\n *\n * The only way to change the data in the store is to call `dispatch()` on it.\n *\n * There should only be a single store in your app. To specify how different\n * parts of the state tree respond to actions, you may combine several reducers\n * into a single reducer function by using `combineReducers`.\n *\n * @param {Function} reducer A function that returns the next state tree, given\n * the current state tree and the action to handle.\n *\n * @param {any} [preloadedState] The initial state. You may optionally specify it\n * to hydrate the state from the server in universal apps, or to restore a\n * previously serialized user session.\n * If you use `combineReducers` to produce the root reducer function, this must be\n * an object with the same shape as `combineReducers` keys.\n *\n * @param {Function} [enhancer] The store enhancer. You may optionally specify it\n * to enhance the store with third-party capabilities such as middleware,\n * time travel, persistence, etc. The only store enhancer that ships with Redux\n * is `applyMiddleware()`.\n *\n * @returns {Store} A Redux store that lets you read the state, dispatch actions\n * and subscribe to changes.\n */\n\nvar legacy_createStore = createStore;\n\n/**\n * Prints a warning in the console if it exists.\n *\n * @param {String} message The warning message.\n * @returns {void}\n */\nfunction warning(message) {\n /* eslint-disable no-console */\n if (typeof console !== 'undefined' && typeof console.error === 'function') {\n console.error(message);\n }\n /* eslint-enable no-console */\n\n\n try {\n // This error was thrown as a convenience so that if you enable\n // \"break on all exceptions\" in your console,\n // it would pause the execution at this line.\n throw new Error(message);\n } catch (e) {} // eslint-disable-line no-empty\n\n}\n\nfunction getUnexpectedStateShapeWarningMessage(inputState, reducers, action, unexpectedKeyCache) {\n var reducerKeys = Object.keys(reducers);\n var argumentName = action && action.type === ActionTypes.INIT ? 'preloadedState argument passed to createStore' : 'previous state received by the reducer';\n\n if (reducerKeys.length === 0) {\n return 'Store does not have a valid reducer. Make sure the argument passed ' + 'to combineReducers is an object whose values are reducers.';\n }\n\n if (!isPlainObject(inputState)) {\n return \"The \" + argumentName + \" has unexpected type of \\\"\" + kindOf(inputState) + \"\\\". Expected argument to be an object with the following \" + (\"keys: \\\"\" + reducerKeys.join('\", \"') + \"\\\"\");\n }\n\n var unexpectedKeys = Object.keys(inputState).filter(function (key) {\n return !reducers.hasOwnProperty(key) && !unexpectedKeyCache[key];\n });\n unexpectedKeys.forEach(function (key) {\n unexpectedKeyCache[key] = true;\n });\n if (action && action.type === ActionTypes.REPLACE) return;\n\n if (unexpectedKeys.length > 0) {\n return \"Unexpected \" + (unexpectedKeys.length > 1 ? 'keys' : 'key') + \" \" + (\"\\\"\" + unexpectedKeys.join('\", \"') + \"\\\" found in \" + argumentName + \". \") + \"Expected to find one of the known reducer keys instead: \" + (\"\\\"\" + reducerKeys.join('\", \"') + \"\\\". Unexpected keys will be ignored.\");\n }\n}\n\nfunction assertReducerShape(reducers) {\n Object.keys(reducers).forEach(function (key) {\n var reducer = reducers[key];\n var initialState = reducer(undefined, {\n type: ActionTypes.INIT\n });\n\n if (typeof initialState === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(12) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined during initialization. \" + \"If the state passed to the reducer is undefined, you must \" + \"explicitly return the initial state. The initial state may \" + \"not be undefined. If you don't want to set a value for this reducer, \" + \"you can use null instead of undefined.\");\n }\n\n if (typeof reducer(undefined, {\n type: ActionTypes.PROBE_UNKNOWN_ACTION()\n }) === 'undefined') {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(13) : \"The slice reducer for key \\\"\" + key + \"\\\" returned undefined when probed with a random type. \" + (\"Don't try to handle '\" + ActionTypes.INIT + \"' or other actions in \\\"redux/*\\\" \") + \"namespace. They are considered private. Instead, you must return the \" + \"current state for any unknown actions, unless it is undefined, \" + \"in which case you must return the initial state, regardless of the \" + \"action type. The initial state may not be undefined, but can be null.\");\n }\n });\n}\n/**\n * Turns an object whose values are different reducer functions, into a single\n * reducer function. It will call every child reducer, and gather their results\n * into a single state object, whose keys correspond to the keys of the passed\n * reducer functions.\n *\n * @param {Object} reducers An object whose values correspond to different\n * reducer functions that need to be combined into one. One handy way to obtain\n * it is to use ES6 `import * as reducers` syntax. The reducers may never return\n * undefined for any action. Instead, they should return their initial state\n * if the state passed to them was undefined, and the current state for any\n * unrecognized action.\n *\n * @returns {Function} A reducer function that invokes every reducer inside the\n * passed object, and builds a state object with the same shape.\n */\n\n\nfunction combineReducers(reducers) {\n var reducerKeys = Object.keys(reducers);\n var finalReducers = {};\n\n for (var i = 0; i < reducerKeys.length; i++) {\n var key = reducerKeys[i];\n\n if (process.env.NODE_ENV !== 'production') {\n if (typeof reducers[key] === 'undefined') {\n warning(\"No reducer provided for key \\\"\" + key + \"\\\"\");\n }\n }\n\n if (typeof reducers[key] === 'function') {\n finalReducers[key] = reducers[key];\n }\n }\n\n var finalReducerKeys = Object.keys(finalReducers); // This is used to make sure we don't warn about the same\n // keys multiple times.\n\n var unexpectedKeyCache;\n\n if (process.env.NODE_ENV !== 'production') {\n unexpectedKeyCache = {};\n }\n\n var shapeAssertionError;\n\n try {\n assertReducerShape(finalReducers);\n } catch (e) {\n shapeAssertionError = e;\n }\n\n return function combination(state, action) {\n if (state === void 0) {\n state = {};\n }\n\n if (shapeAssertionError) {\n throw shapeAssertionError;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n var warningMessage = getUnexpectedStateShapeWarningMessage(state, finalReducers, action, unexpectedKeyCache);\n\n if (warningMessage) {\n warning(warningMessage);\n }\n }\n\n var hasChanged = false;\n var nextState = {};\n\n for (var _i = 0; _i < finalReducerKeys.length; _i++) {\n var _key = finalReducerKeys[_i];\n var reducer = finalReducers[_key];\n var previousStateForKey = state[_key];\n var nextStateForKey = reducer(previousStateForKey, action);\n\n if (typeof nextStateForKey === 'undefined') {\n var actionType = action && action.type;\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(14) : \"When called with an action of type \" + (actionType ? \"\\\"\" + String(actionType) + \"\\\"\" : '(unknown type)') + \", the slice reducer for key \\\"\" + _key + \"\\\" returned undefined. \" + \"To ignore an action, you must explicitly return the previous state. \" + \"If you want this reducer to hold no value, you can return null instead of undefined.\");\n }\n\n nextState[_key] = nextStateForKey;\n hasChanged = hasChanged || nextStateForKey !== previousStateForKey;\n }\n\n hasChanged = hasChanged || finalReducerKeys.length !== Object.keys(state).length;\n return hasChanged ? nextState : state;\n };\n}\n\nfunction bindActionCreator(actionCreator, dispatch) {\n return function () {\n return dispatch(actionCreator.apply(this, arguments));\n };\n}\n/**\n * Turns an object whose values are action creators, into an object with the\n * same keys, but with every function wrapped into a `dispatch` call so they\n * may be invoked directly. This is just a convenience method, as you can call\n * `store.dispatch(MyActionCreators.doSomething())` yourself just fine.\n *\n * For convenience, you can also pass an action creator as the first argument,\n * and get a dispatch wrapped function in return.\n *\n * @param {Function|Object} actionCreators An object whose values are action\n * creator functions. One handy way to obtain it is to use ES6 `import * as`\n * syntax. You may also pass a single function.\n *\n * @param {Function} dispatch The `dispatch` function available on your Redux\n * store.\n *\n * @returns {Function|Object} The object mimicking the original object, but with\n * every action creator wrapped into the `dispatch` call. If you passed a\n * function as `actionCreators`, the return value will also be a single\n * function.\n */\n\n\nfunction bindActionCreators(actionCreators, dispatch) {\n if (typeof actionCreators === 'function') {\n return bindActionCreator(actionCreators, dispatch);\n }\n\n if (typeof actionCreators !== 'object' || actionCreators === null) {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(16) : \"bindActionCreators expected an object or a function, but instead received: '\" + kindOf(actionCreators) + \"'. \" + \"Did you write \\\"import ActionCreators from\\\" instead of \\\"import * as ActionCreators from\\\"?\");\n }\n\n var boundActionCreators = {};\n\n for (var key in actionCreators) {\n var actionCreator = actionCreators[key];\n\n if (typeof actionCreator === 'function') {\n boundActionCreators[key] = bindActionCreator(actionCreator, dispatch);\n }\n }\n\n return boundActionCreators;\n}\n\n/**\n * Composes single-argument functions from right to left. The rightmost\n * function can take multiple arguments as it provides the signature for\n * the resulting composite function.\n *\n * @param {...Function} funcs The functions to compose.\n * @returns {Function} A function obtained by composing the argument functions\n * from right to left. For example, compose(f, g, h) is identical to doing\n * (...args) => f(g(h(...args))).\n */\nfunction compose() {\n for (var _len = arguments.length, funcs = new Array(_len), _key = 0; _key < _len; _key++) {\n funcs[_key] = arguments[_key];\n }\n\n if (funcs.length === 0) {\n return function (arg) {\n return arg;\n };\n }\n\n if (funcs.length === 1) {\n return funcs[0];\n }\n\n return funcs.reduce(function (a, b) {\n return function () {\n return a(b.apply(void 0, arguments));\n };\n });\n}\n\n/**\n * Creates a store enhancer that applies middleware to the dispatch method\n * of the Redux store. This is handy for a variety of tasks, such as expressing\n * asynchronous actions in a concise manner, or logging every action payload.\n *\n * See `redux-thunk` package as an example of the Redux middleware.\n *\n * Because middleware is potentially asynchronous, this should be the first\n * store enhancer in the composition chain.\n *\n * Note that each middleware will be given the `dispatch` and `getState` functions\n * as named arguments.\n *\n * @param {...Function} middlewares The middleware chain to be applied.\n * @returns {Function} A store enhancer applying the middleware.\n */\n\nfunction applyMiddleware() {\n for (var _len = arguments.length, middlewares = new Array(_len), _key = 0; _key < _len; _key++) {\n middlewares[_key] = arguments[_key];\n }\n\n return function (createStore) {\n return function () {\n var store = createStore.apply(void 0, arguments);\n\n var _dispatch = function dispatch() {\n throw new Error(process.env.NODE_ENV === \"production\" ? formatProdErrorMessage(15) : 'Dispatching while constructing your middleware is not allowed. ' + 'Other middleware would not be applied to this dispatch.');\n };\n\n var middlewareAPI = {\n getState: store.getState,\n dispatch: function dispatch() {\n return _dispatch.apply(void 0, arguments);\n }\n };\n var chain = middlewares.map(function (middleware) {\n return middleware(middlewareAPI);\n });\n _dispatch = compose.apply(void 0, chain)(store.dispatch);\n return _objectSpread(_objectSpread({}, store), {}, {\n dispatch: _dispatch\n });\n };\n };\n}\n\n/*\n * This is a dummy function to check if the function name has been altered by minification.\n * If the function has been minified and NODE_ENV !== 'production', warn the user.\n */\n\nfunction isCrushed() {}\n\nif (process.env.NODE_ENV !== 'production' && typeof isCrushed.name === 'string' && isCrushed.name !== 'isCrushed') {\n warning('You are currently using minified code outside of NODE_ENV === \"production\". ' + 'This means that you are running a slower development build of Redux. ' + 'You can use loose-envify (https://github.com/zertosh/loose-envify) for browserify ' + 'or setting mode to production in webpack (https://webpack.js.org/concepts/mode/) ' + 'to ensure you have the correct code for your production build.');\n}\n\nexport { ActionTypes as __DO_NOT_USE__ActionTypes, applyMiddleware, bindActionCreators, combineReducers, compose, createStore, legacy_createStore };\n","/** A function that accepts a potential \"extra argument\" value to be injected later,\r\n * and returns an instance of the thunk middleware that uses that value\r\n */\nfunction createThunkMiddleware(extraArgument) {\n // Standard Redux middleware definition pattern:\n // See: https://redux.js.org/tutorials/fundamentals/part-4-store#writing-custom-middleware\n var middleware = function middleware(_ref) {\n var dispatch = _ref.dispatch,\n getState = _ref.getState;\n return function (next) {\n return function (action) {\n // The thunk middleware looks for any functions that were passed to `store.dispatch`.\n // If this \"action\" is really a function, call it and return the result.\n if (typeof action === 'function') {\n // Inject the store's `dispatch` and `getState` methods, as well as any \"extra arg\"\n return action(dispatch, getState, extraArgument);\n } // Otherwise, pass the action down the middleware chain as usual\n\n\n return next(action);\n };\n };\n };\n\n return middleware;\n}\n\nvar thunk = createThunkMiddleware(); // Attach the factory function so users can create a customized version\n// with whatever \"extra arg\" they want to inject into their thunks\n\nthunk.withExtraArgument = createThunkMiddleware;\nexport default thunk;","var __extends = (this && this.__extends) || (function () {\r\n var extendStatics = function (d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n };\r\n return function (d, b) {\r\n if (typeof b !== \"function\" && b !== null)\r\n throw new TypeError(\"Class extends value \" + String(b) + \" is not a constructor or null\");\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n };\r\n})();\r\nvar __generator = (this && this.__generator) || function (thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n};\r\nvar __spreadArray = (this && this.__spreadArray) || function (to, from) {\r\n for (var i = 0, il = from.length, j = to.length; i < il; i++, j++)\r\n to[j] = from[i];\r\n return to;\r\n};\r\nvar __defProp = Object.defineProperty;\r\nvar __defProps = Object.defineProperties;\r\nvar __getOwnPropDescs = Object.getOwnPropertyDescriptors;\r\nvar __getOwnPropSymbols = Object.getOwnPropertySymbols;\r\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\r\nvar __propIsEnum = Object.prototype.propertyIsEnumerable;\r\nvar __defNormalProp = function (obj, key, value) { return key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value: value }) : obj[key] = value; };\r\nvar __spreadValues = function (a, b) {\r\n for (var prop in b || (b = {}))\r\n if (__hasOwnProp.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n if (__getOwnPropSymbols)\r\n for (var _i = 0, _c = __getOwnPropSymbols(b); _i < _c.length; _i++) {\r\n var prop = _c[_i];\r\n if (__propIsEnum.call(b, prop))\r\n __defNormalProp(a, prop, b[prop]);\r\n }\r\n return a;\r\n};\r\nvar __spreadProps = function (a, b) { return __defProps(a, __getOwnPropDescs(b)); };\r\nvar __async = function (__this, __arguments, generator) {\r\n return new Promise(function (resolve, reject) {\r\n var fulfilled = function (value) {\r\n try {\r\n step(generator.next(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var rejected = function (value) {\r\n try {\r\n step(generator.throw(value));\r\n }\r\n catch (e) {\r\n reject(e);\r\n }\r\n };\r\n var step = function (x) { return x.done ? resolve(x.value) : Promise.resolve(x.value).then(fulfilled, rejected); };\r\n step((generator = generator.apply(__this, __arguments)).next());\r\n });\r\n};\r\n// src/index.ts\r\nimport { enableES5 } from \"immer\";\r\nexport * from \"redux\";\r\nimport { default as default2, current as current2, freeze, original, isDraft as isDraft4 } from \"immer\";\r\nimport { createSelector as createSelector2 } from \"reselect\";\r\n// src/createDraftSafeSelector.ts\r\nimport { current, isDraft } from \"immer\";\r\nimport { createSelector } from \"reselect\";\r\nvar createDraftSafeSelector = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var selector = createSelector.apply(void 0, args);\r\n var wrappedSelector = function (value) {\r\n var rest = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n rest[_i - 1] = arguments[_i];\r\n }\r\n return selector.apply(void 0, __spreadArray([isDraft(value) ? current(value) : value], rest));\r\n };\r\n return wrappedSelector;\r\n};\r\n// src/configureStore.ts\r\nimport { createStore, compose as compose2, applyMiddleware, combineReducers } from \"redux\";\r\n// src/devtoolsExtension.ts\r\nimport { compose } from \"redux\";\r\nvar composeWithDevTools = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ? window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ : function () {\r\n if (arguments.length === 0)\r\n return void 0;\r\n if (typeof arguments[0] === \"object\")\r\n return compose;\r\n return compose.apply(null, arguments);\r\n};\r\nvar devToolsEnhancer = typeof window !== \"undefined\" && window.__REDUX_DEVTOOLS_EXTENSION__ ? window.__REDUX_DEVTOOLS_EXTENSION__ : function () {\r\n return function (noop2) {\r\n return noop2;\r\n };\r\n};\r\n// src/isPlainObject.ts\r\nfunction isPlainObject(value) {\r\n if (typeof value !== \"object\" || value === null)\r\n return false;\r\n var proto = Object.getPrototypeOf(value);\r\n if (proto === null)\r\n return true;\r\n var baseProto = proto;\r\n while (Object.getPrototypeOf(baseProto) !== null) {\r\n baseProto = Object.getPrototypeOf(baseProto);\r\n }\r\n return proto === baseProto;\r\n}\r\n// src/getDefaultMiddleware.ts\r\nimport thunkMiddleware from \"redux-thunk\";\r\n// src/utils.ts\r\nimport createNextState, { isDraftable } from \"immer\";\r\nfunction getTimeMeasureUtils(maxDelay, fnName) {\r\n var elapsed = 0;\r\n return {\r\n measureTime: function (fn) {\r\n var started = Date.now();\r\n try {\r\n return fn();\r\n }\r\n finally {\r\n var finished = Date.now();\r\n elapsed += finished - started;\r\n }\r\n },\r\n warnIfExceeded: function () {\r\n if (elapsed > maxDelay) {\r\n console.warn(fnName + \" took \" + elapsed + \"ms, which is more than the warning threshold of \" + maxDelay + \"ms. \\nIf your state or actions are very large, you may want to disable the middleware as it might cause too much of a slowdown in development mode. See https://redux-toolkit.js.org/api/getDefaultMiddleware for instructions.\\nIt is disabled in production builds, so you don't need to worry about that.\");\r\n }\r\n }\r\n };\r\n}\r\nvar MiddlewareArray = /** @class */ (function (_super) {\r\n __extends(MiddlewareArray, _super);\r\n function MiddlewareArray() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var _this = _super.apply(this, args) || this;\r\n Object.setPrototypeOf(_this, MiddlewareArray.prototype);\r\n return _this;\r\n }\r\n Object.defineProperty(MiddlewareArray, Symbol.species, {\r\n get: function () {\r\n return MiddlewareArray;\r\n },\r\n enumerable: false,\r\n configurable: true\r\n });\r\n MiddlewareArray.prototype.concat = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n return _super.prototype.concat.apply(this, arr);\r\n };\r\n MiddlewareArray.prototype.prepend = function () {\r\n var arr = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n arr[_i] = arguments[_i];\r\n }\r\n if (arr.length === 1 && Array.isArray(arr[0])) {\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr[0].concat(this))))();\r\n }\r\n return new (MiddlewareArray.bind.apply(MiddlewareArray, __spreadArray([void 0], arr.concat(this))))();\r\n };\r\n return MiddlewareArray;\r\n}(Array));\r\nfunction freezeDraftable(val) {\r\n return isDraftable(val) ? createNextState(val, function () {\r\n }) : val;\r\n}\r\n// src/immutableStateInvariantMiddleware.ts\r\nvar isProduction = process.env.NODE_ENV === \"production\";\r\nvar prefix = \"Invariant failed\";\r\nfunction invariant(condition, message) {\r\n if (condition) {\r\n return;\r\n }\r\n if (isProduction) {\r\n throw new Error(prefix);\r\n }\r\n throw new Error(prefix + \": \" + (message || \"\"));\r\n}\r\nfunction stringify(obj, serializer, indent, decycler) {\r\n return JSON.stringify(obj, getSerialize(serializer, decycler), indent);\r\n}\r\nfunction getSerialize(serializer, decycler) {\r\n var stack = [], keys = [];\r\n if (!decycler)\r\n decycler = function (_, value) {\r\n if (stack[0] === value)\r\n return \"[Circular ~]\";\r\n return \"[Circular ~.\" + keys.slice(0, stack.indexOf(value)).join(\".\") + \"]\";\r\n };\r\n return function (key, value) {\r\n if (stack.length > 0) {\r\n var thisPos = stack.indexOf(this);\r\n ~thisPos ? stack.splice(thisPos + 1) : stack.push(this);\r\n ~thisPos ? keys.splice(thisPos, Infinity, key) : keys.push(key);\r\n if (~stack.indexOf(value))\r\n value = decycler.call(this, key, value);\r\n }\r\n else\r\n stack.push(value);\r\n return serializer == null ? value : serializer.call(this, key, value);\r\n };\r\n}\r\nfunction isImmutableDefault(value) {\r\n return typeof value !== \"object\" || value == null || Object.isFrozen(value);\r\n}\r\nfunction trackForMutations(isImmutable, ignorePaths, obj) {\r\n var trackedProperties = trackProperties(isImmutable, ignorePaths, obj);\r\n return {\r\n detectMutations: function () {\r\n return detectMutations(isImmutable, ignorePaths, trackedProperties, obj);\r\n }\r\n };\r\n}\r\nfunction trackProperties(isImmutable, ignorePaths, obj, path) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (path === void 0) { path = \"\"; }\r\n var tracked = { value: obj };\r\n if (!isImmutable(obj)) {\r\n tracked.children = {};\r\n for (var key in obj) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n tracked.children[key] = trackProperties(isImmutable, ignorePaths, obj[key], childPath);\r\n }\r\n }\r\n return tracked;\r\n}\r\nfunction detectMutations(isImmutable, ignorePaths, trackedProperty, obj, sameParentRef, path) {\r\n if (ignorePaths === void 0) { ignorePaths = []; }\r\n if (sameParentRef === void 0) { sameParentRef = false; }\r\n if (path === void 0) { path = \"\"; }\r\n var prevObj = trackedProperty ? trackedProperty.value : void 0;\r\n var sameRef = prevObj === obj;\r\n if (sameParentRef && !sameRef && !Number.isNaN(obj)) {\r\n return { wasMutated: true, path: path };\r\n }\r\n if (isImmutable(prevObj) || isImmutable(obj)) {\r\n return { wasMutated: false };\r\n }\r\n var keysToDetect = {};\r\n for (var key in trackedProperty.children) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in obj) {\r\n keysToDetect[key] = true;\r\n }\r\n for (var key in keysToDetect) {\r\n var childPath = path ? path + \".\" + key : key;\r\n if (ignorePaths.length && ignorePaths.indexOf(childPath) !== -1) {\r\n continue;\r\n }\r\n var result = detectMutations(isImmutable, ignorePaths, trackedProperty.children[key], obj[key], sameRef, childPath);\r\n if (result.wasMutated) {\r\n return result;\r\n }\r\n }\r\n return { wasMutated: false };\r\n}\r\nfunction createImmutableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isImmutable, isImmutable = _c === void 0 ? isImmutableDefault : _c, ignoredPaths = options.ignoredPaths, _d = options.warnAfter, warnAfter = _d === void 0 ? 32 : _d, ignore = options.ignore;\r\n ignoredPaths = ignoredPaths || ignore;\r\n var track = trackForMutations.bind(null, isImmutable, ignoredPaths);\r\n return function (_c) {\r\n var getState = _c.getState;\r\n var state = getState();\r\n var tracker = track(state);\r\n var result;\r\n return function (next) { return function (action) {\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"ImmutableStateInvariantMiddleware\");\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n invariant(!result.wasMutated, \"A state mutation was detected between dispatches, in the path '\" + (result.path || \"\") + \"'. This may cause incorrect behavior. (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n var dispatchedAction = next(action);\r\n measureUtils.measureTime(function () {\r\n state = getState();\r\n result = tracker.detectMutations();\r\n tracker = track(state);\r\n result.wasMutated && invariant(!result.wasMutated, \"A state mutation was detected inside a dispatch, in the path: \" + (result.path || \"\") + \". Take a look at the reducer(s) handling the action \" + stringify(action) + \". (https://redux.js.org/style-guide/style-guide#do-not-mutate-state)\");\r\n });\r\n measureUtils.warnIfExceeded();\r\n return dispatchedAction;\r\n }; };\r\n };\r\n}\r\n// src/serializableStateInvariantMiddleware.ts\r\nfunction isPlain(val) {\r\n var type = typeof val;\r\n return val == null || type === \"string\" || type === \"boolean\" || type === \"number\" || Array.isArray(val) || isPlainObject(val);\r\n}\r\nfunction findNonSerializableValue(value, path, isSerializable, getEntries, ignoredPaths) {\r\n if (path === void 0) { path = \"\"; }\r\n if (isSerializable === void 0) { isSerializable = isPlain; }\r\n if (ignoredPaths === void 0) { ignoredPaths = []; }\r\n var foundNestedSerializable;\r\n if (!isSerializable(value)) {\r\n return {\r\n keyPath: path || \"\",\r\n value: value\r\n };\r\n }\r\n if (typeof value !== \"object\" || value === null) {\r\n return false;\r\n }\r\n var entries = getEntries != null ? getEntries(value) : Object.entries(value);\r\n var hasIgnoredPaths = ignoredPaths.length > 0;\r\n for (var _i = 0, entries_1 = entries; _i < entries_1.length; _i++) {\r\n var _c = entries_1[_i], key = _c[0], nestedValue = _c[1];\r\n var nestedPath = path ? path + \".\" + key : key;\r\n if (hasIgnoredPaths && ignoredPaths.indexOf(nestedPath) >= 0) {\r\n continue;\r\n }\r\n if (!isSerializable(nestedValue)) {\r\n return {\r\n keyPath: nestedPath,\r\n value: nestedValue\r\n };\r\n }\r\n if (typeof nestedValue === \"object\") {\r\n foundNestedSerializable = findNonSerializableValue(nestedValue, nestedPath, isSerializable, getEntries, ignoredPaths);\r\n if (foundNestedSerializable) {\r\n return foundNestedSerializable;\r\n }\r\n }\r\n }\r\n return false;\r\n}\r\nfunction createSerializableStateInvariantMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n if (process.env.NODE_ENV === \"production\") {\r\n return function () { return function (next) { return function (action) { return next(action); }; }; };\r\n }\r\n var _c = options.isSerializable, isSerializable = _c === void 0 ? isPlain : _c, getEntries = options.getEntries, _d = options.ignoredActions, ignoredActions = _d === void 0 ? [] : _d, _e = options.ignoredActionPaths, ignoredActionPaths = _e === void 0 ? [\"meta.arg\", \"meta.baseQueryMeta\"] : _e, _f = options.ignoredPaths, ignoredPaths = _f === void 0 ? [] : _f, _g = options.warnAfter, warnAfter = _g === void 0 ? 32 : _g, _h = options.ignoreState, ignoreState = _h === void 0 ? false : _h, _j = options.ignoreActions, ignoreActions = _j === void 0 ? false : _j;\r\n return function (storeAPI) { return function (next) { return function (action) {\r\n var result = next(action);\r\n var measureUtils = getTimeMeasureUtils(warnAfter, \"SerializableStateInvariantMiddleware\");\r\n if (!ignoreActions && !(ignoredActions.length && ignoredActions.indexOf(action.type) !== -1)) {\r\n measureUtils.measureTime(function () {\r\n var foundActionNonSerializableValue = findNonSerializableValue(action, \"\", isSerializable, getEntries, ignoredActionPaths);\r\n if (foundActionNonSerializableValue) {\r\n var keyPath = foundActionNonSerializableValue.keyPath, value = foundActionNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in an action, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the logic that dispatched this action: \", action, \"\\n(See https://redux.js.org/faq/actions#why-should-type-be-a-string-or-at-least-serializable-why-should-my-action-types-be-constants)\", \"\\n(To allow non-serializable values see: https://redux-toolkit.js.org/usage/usage-guide#working-with-non-serializable-data)\");\r\n }\r\n });\r\n }\r\n if (!ignoreState) {\r\n measureUtils.measureTime(function () {\r\n var state = storeAPI.getState();\r\n var foundStateNonSerializableValue = findNonSerializableValue(state, \"\", isSerializable, getEntries, ignoredPaths);\r\n if (foundStateNonSerializableValue) {\r\n var keyPath = foundStateNonSerializableValue.keyPath, value = foundStateNonSerializableValue.value;\r\n console.error(\"A non-serializable value was detected in the state, in the path: `\" + keyPath + \"`. Value:\", value, \"\\nTake a look at the reducer(s) handling this action type: \" + action.type + \".\\n(See https://redux.js.org/faq/organizing-state#can-i-put-functions-promises-or-other-non-serializable-items-in-my-store-state)\");\r\n }\r\n });\r\n measureUtils.warnIfExceeded();\r\n }\r\n return result;\r\n }; }; };\r\n}\r\n// src/getDefaultMiddleware.ts\r\nfunction isBoolean(x) {\r\n return typeof x === \"boolean\";\r\n}\r\nfunction curryGetDefaultMiddleware() {\r\n return function curriedGetDefaultMiddleware(options) {\r\n return getDefaultMiddleware(options);\r\n };\r\n}\r\nfunction getDefaultMiddleware(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = options.thunk, thunk = _c === void 0 ? true : _c, _d = options.immutableCheck, immutableCheck = _d === void 0 ? true : _d, _e = options.serializableCheck, serializableCheck = _e === void 0 ? true : _e;\r\n var middlewareArray = new MiddlewareArray();\r\n if (thunk) {\r\n if (isBoolean(thunk)) {\r\n middlewareArray.push(thunkMiddleware);\r\n }\r\n else {\r\n middlewareArray.push(thunkMiddleware.withExtraArgument(thunk.extraArgument));\r\n }\r\n }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (immutableCheck) {\r\n var immutableOptions = {};\r\n if (!isBoolean(immutableCheck)) {\r\n immutableOptions = immutableCheck;\r\n }\r\n middlewareArray.unshift(createImmutableStateInvariantMiddleware(immutableOptions));\r\n }\r\n if (serializableCheck) {\r\n var serializableOptions = {};\r\n if (!isBoolean(serializableCheck)) {\r\n serializableOptions = serializableCheck;\r\n }\r\n middlewareArray.push(createSerializableStateInvariantMiddleware(serializableOptions));\r\n }\r\n }\r\n return middlewareArray;\r\n}\r\n// src/configureStore.ts\r\nvar IS_PRODUCTION = process.env.NODE_ENV === \"production\";\r\nfunction configureStore(options) {\r\n var curriedGetDefaultMiddleware = curryGetDefaultMiddleware();\r\n var _c = options || {}, _d = _c.reducer, reducer = _d === void 0 ? void 0 : _d, _e = _c.middleware, middleware = _e === void 0 ? curriedGetDefaultMiddleware() : _e, _f = _c.devTools, devTools = _f === void 0 ? true : _f, _g = _c.preloadedState, preloadedState = _g === void 0 ? void 0 : _g, _h = _c.enhancers, enhancers = _h === void 0 ? void 0 : _h;\r\n var rootReducer;\r\n if (typeof reducer === \"function\") {\r\n rootReducer = reducer;\r\n }\r\n else if (isPlainObject(reducer)) {\r\n rootReducer = combineReducers(reducer);\r\n }\r\n else {\r\n throw new Error('\"reducer\" is a required argument, and must be a function or an object of functions that can be passed to combineReducers');\r\n }\r\n var finalMiddleware = middleware;\r\n if (typeof finalMiddleware === \"function\") {\r\n finalMiddleware = finalMiddleware(curriedGetDefaultMiddleware);\r\n if (!IS_PRODUCTION && !Array.isArray(finalMiddleware)) {\r\n throw new Error(\"when using a middleware builder function, an array of middleware must be returned\");\r\n }\r\n }\r\n if (!IS_PRODUCTION && finalMiddleware.some(function (item) { return typeof item !== \"function\"; })) {\r\n throw new Error(\"each middleware provided to configureStore must be a function\");\r\n }\r\n var middlewareEnhancer = applyMiddleware.apply(void 0, finalMiddleware);\r\n var finalCompose = compose2;\r\n if (devTools) {\r\n finalCompose = composeWithDevTools(__spreadValues({\r\n trace: !IS_PRODUCTION\r\n }, typeof devTools === \"object\" && devTools));\r\n }\r\n var storeEnhancers = [middlewareEnhancer];\r\n if (Array.isArray(enhancers)) {\r\n storeEnhancers = __spreadArray([middlewareEnhancer], enhancers);\r\n }\r\n else if (typeof enhancers === \"function\") {\r\n storeEnhancers = enhancers(storeEnhancers);\r\n }\r\n var composedEnhancer = finalCompose.apply(void 0, storeEnhancers);\r\n return createStore(rootReducer, preloadedState, composedEnhancer);\r\n}\r\n// src/createAction.ts\r\nfunction createAction(type, prepareAction) {\r\n function actionCreator() {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n if (prepareAction) {\r\n var prepared = prepareAction.apply(void 0, args);\r\n if (!prepared) {\r\n throw new Error(\"prepareAction did not return an object\");\r\n }\r\n return __spreadValues(__spreadValues({\r\n type: type,\r\n payload: prepared.payload\r\n }, \"meta\" in prepared && { meta: prepared.meta }), \"error\" in prepared && { error: prepared.error });\r\n }\r\n return { type: type, payload: args[0] };\r\n }\r\n actionCreator.toString = function () { return \"\" + type; };\r\n actionCreator.type = type;\r\n actionCreator.match = function (action) { return action.type === type; };\r\n return actionCreator;\r\n}\r\nfunction isFSA(action) {\r\n return isPlainObject(action) && typeof action.type === \"string\" && Object.keys(action).every(isValidKey);\r\n}\r\nfunction isValidKey(key) {\r\n return [\"type\", \"payload\", \"error\", \"meta\"].indexOf(key) > -1;\r\n}\r\nfunction getType(actionCreator) {\r\n return \"\" + actionCreator;\r\n}\r\n// src/createReducer.ts\r\nimport createNextState2, { isDraft as isDraft2, isDraftable as isDraftable2 } from \"immer\";\r\n// src/mapBuilders.ts\r\nfunction executeReducerBuilderCallback(builderCallback) {\r\n var actionsMap = {};\r\n var actionMatchers = [];\r\n var defaultCaseReducer;\r\n var builder = {\r\n addCase: function (typeOrActionCreator, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (actionMatchers.length > 0) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addMatcher`\");\r\n }\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addCase` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n var type = typeof typeOrActionCreator === \"string\" ? typeOrActionCreator : typeOrActionCreator.type;\r\n if (type in actionsMap) {\r\n throw new Error(\"addCase cannot be called with two reducers for the same action type\");\r\n }\r\n actionsMap[type] = reducer;\r\n return builder;\r\n },\r\n addMatcher: function (matcher, reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addMatcher` should only be called before calling `builder.addDefaultCase`\");\r\n }\r\n }\r\n actionMatchers.push({ matcher: matcher, reducer: reducer });\r\n return builder;\r\n },\r\n addDefaultCase: function (reducer) {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (defaultCaseReducer) {\r\n throw new Error(\"`builder.addDefaultCase` can only be called once\");\r\n }\r\n }\r\n defaultCaseReducer = reducer;\r\n return builder;\r\n }\r\n };\r\n builderCallback(builder);\r\n return [actionsMap, actionMatchers, defaultCaseReducer];\r\n}\r\n// src/createReducer.ts\r\nfunction isStateFunction(x) {\r\n return typeof x === \"function\";\r\n}\r\nvar hasWarnedAboutObjectNotation = false;\r\nfunction createReducer(initialState, mapOrBuilderCallback, actionMatchers, defaultCaseReducer) {\r\n if (actionMatchers === void 0) { actionMatchers = []; }\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof mapOrBuilderCallback === \"object\") {\r\n if (!hasWarnedAboutObjectNotation) {\r\n hasWarnedAboutObjectNotation = true;\r\n console.warn(\"The object notation for `createReducer` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createReducer\");\r\n }\r\n }\r\n }\r\n var _c = typeof mapOrBuilderCallback === \"function\" ? executeReducerBuilderCallback(mapOrBuilderCallback) : [mapOrBuilderCallback, actionMatchers, defaultCaseReducer], actionsMap = _c[0], finalActionMatchers = _c[1], finalDefaultCaseReducer = _c[2];\r\n var getInitialState;\r\n if (isStateFunction(initialState)) {\r\n getInitialState = function () { return freezeDraftable(initialState()); };\r\n }\r\n else {\r\n var frozenInitialState_1 = freezeDraftable(initialState);\r\n getInitialState = function () { return frozenInitialState_1; };\r\n }\r\n function reducer(state, action) {\r\n if (state === void 0) { state = getInitialState(); }\r\n var caseReducers = __spreadArray([\r\n actionsMap[action.type]\r\n ], finalActionMatchers.filter(function (_c) {\r\n var matcher = _c.matcher;\r\n return matcher(action);\r\n }).map(function (_c) {\r\n var reducer2 = _c.reducer;\r\n return reducer2;\r\n }));\r\n if (caseReducers.filter(function (cr) { return !!cr; }).length === 0) {\r\n caseReducers = [finalDefaultCaseReducer];\r\n }\r\n return caseReducers.reduce(function (previousState, caseReducer) {\r\n if (caseReducer) {\r\n if (isDraft2(previousState)) {\r\n var draft = previousState;\r\n var result = caseReducer(draft, action);\r\n if (result === void 0) {\r\n return previousState;\r\n }\r\n return result;\r\n }\r\n else if (!isDraftable2(previousState)) {\r\n var result = caseReducer(previousState, action);\r\n if (result === void 0) {\r\n if (previousState === null) {\r\n return previousState;\r\n }\r\n throw Error(\"A case reducer on a non-draftable value must not return undefined\");\r\n }\r\n return result;\r\n }\r\n else {\r\n return createNextState2(previousState, function (draft) {\r\n return caseReducer(draft, action);\r\n });\r\n }\r\n }\r\n return previousState;\r\n }, state);\r\n }\r\n reducer.getInitialState = getInitialState;\r\n return reducer;\r\n}\r\n// src/createSlice.ts\r\nvar hasWarnedAboutObjectNotation2 = false;\r\nfunction getType2(slice, actionKey) {\r\n return slice + \"/\" + actionKey;\r\n}\r\nfunction createSlice(options) {\r\n var name = options.name;\r\n if (!name) {\r\n throw new Error(\"`name` is a required option for createSlice\");\r\n }\r\n if (typeof process !== \"undefined\" && process.env.NODE_ENV === \"development\") {\r\n if (options.initialState === void 0) {\r\n console.error(\"You must provide an `initialState` value that is not `undefined`. You may have misspelled `initialState`\");\r\n }\r\n }\r\n var initialState = typeof options.initialState == \"function\" ? options.initialState : freezeDraftable(options.initialState);\r\n var reducers = options.reducers || {};\r\n var reducerNames = Object.keys(reducers);\r\n var sliceCaseReducersByName = {};\r\n var sliceCaseReducersByType = {};\r\n var actionCreators = {};\r\n reducerNames.forEach(function (reducerName) {\r\n var maybeReducerWithPrepare = reducers[reducerName];\r\n var type = getType2(name, reducerName);\r\n var caseReducer;\r\n var prepareCallback;\r\n if (\"reducer\" in maybeReducerWithPrepare) {\r\n caseReducer = maybeReducerWithPrepare.reducer;\r\n prepareCallback = maybeReducerWithPrepare.prepare;\r\n }\r\n else {\r\n caseReducer = maybeReducerWithPrepare;\r\n }\r\n sliceCaseReducersByName[reducerName] = caseReducer;\r\n sliceCaseReducersByType[type] = caseReducer;\r\n actionCreators[reducerName] = prepareCallback ? createAction(type, prepareCallback) : createAction(type);\r\n });\r\n function buildReducer() {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (typeof options.extraReducers === \"object\") {\r\n if (!hasWarnedAboutObjectNotation2) {\r\n hasWarnedAboutObjectNotation2 = true;\r\n console.warn(\"The object notation for `createSlice.extraReducers` is deprecated, and will be removed in RTK 2.0. Please use the 'builder callback' notation instead: https://redux-toolkit.js.org/api/createSlice\");\r\n }\r\n }\r\n }\r\n var _c = typeof options.extraReducers === \"function\" ? executeReducerBuilderCallback(options.extraReducers) : [options.extraReducers], _d = _c[0], extraReducers = _d === void 0 ? {} : _d, _e = _c[1], actionMatchers = _e === void 0 ? [] : _e, _f = _c[2], defaultCaseReducer = _f === void 0 ? void 0 : _f;\r\n var finalCaseReducers = __spreadValues(__spreadValues({}, extraReducers), sliceCaseReducersByType);\r\n return createReducer(initialState, function (builder) {\r\n for (var key in finalCaseReducers) {\r\n builder.addCase(key, finalCaseReducers[key]);\r\n }\r\n for (var _i = 0, actionMatchers_1 = actionMatchers; _i < actionMatchers_1.length; _i++) {\r\n var m = actionMatchers_1[_i];\r\n builder.addMatcher(m.matcher, m.reducer);\r\n }\r\n if (defaultCaseReducer) {\r\n builder.addDefaultCase(defaultCaseReducer);\r\n }\r\n });\r\n }\r\n var _reducer;\r\n return {\r\n name: name,\r\n reducer: function (state, action) {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer(state, action);\r\n },\r\n actions: actionCreators,\r\n caseReducers: sliceCaseReducersByName,\r\n getInitialState: function () {\r\n if (!_reducer)\r\n _reducer = buildReducer();\r\n return _reducer.getInitialState();\r\n }\r\n };\r\n}\r\n// src/entities/entity_state.ts\r\nfunction getInitialEntityState() {\r\n return {\r\n ids: [],\r\n entities: {}\r\n };\r\n}\r\nfunction createInitialStateFactory() {\r\n function getInitialState(additionalState) {\r\n if (additionalState === void 0) { additionalState = {}; }\r\n return Object.assign(getInitialEntityState(), additionalState);\r\n }\r\n return { getInitialState: getInitialState };\r\n}\r\n// src/entities/state_selectors.ts\r\nfunction createSelectorsFactory() {\r\n function getSelectors(selectState) {\r\n var selectIds = function (state) { return state.ids; };\r\n var selectEntities = function (state) { return state.entities; };\r\n var selectAll = createDraftSafeSelector(selectIds, selectEntities, function (ids, entities) { return ids.map(function (id) { return entities[id]; }); });\r\n var selectId = function (_, id) { return id; };\r\n var selectById = function (entities, id) { return entities[id]; };\r\n var selectTotal = createDraftSafeSelector(selectIds, function (ids) { return ids.length; });\r\n if (!selectState) {\r\n return {\r\n selectIds: selectIds,\r\n selectEntities: selectEntities,\r\n selectAll: selectAll,\r\n selectTotal: selectTotal,\r\n selectById: createDraftSafeSelector(selectEntities, selectId, selectById)\r\n };\r\n }\r\n var selectGlobalizedEntities = createDraftSafeSelector(selectState, selectEntities);\r\n return {\r\n selectIds: createDraftSafeSelector(selectState, selectIds),\r\n selectEntities: selectGlobalizedEntities,\r\n selectAll: createDraftSafeSelector(selectState, selectAll),\r\n selectTotal: createDraftSafeSelector(selectState, selectTotal),\r\n selectById: createDraftSafeSelector(selectGlobalizedEntities, selectId, selectById)\r\n };\r\n }\r\n return { getSelectors: getSelectors };\r\n}\r\n// src/entities/state_adapter.ts\r\nimport createNextState3, { isDraft as isDraft3 } from \"immer\";\r\nfunction createSingleArgumentStateOperator(mutator) {\r\n var operator = createStateOperator(function (_, state) { return mutator(state); });\r\n return function operation(state) {\r\n return operator(state, void 0);\r\n };\r\n}\r\nfunction createStateOperator(mutator) {\r\n return function operation(state, arg) {\r\n function isPayloadActionArgument(arg2) {\r\n return isFSA(arg2);\r\n }\r\n var runMutator = function (draft) {\r\n if (isPayloadActionArgument(arg)) {\r\n mutator(arg.payload, draft);\r\n }\r\n else {\r\n mutator(arg, draft);\r\n }\r\n };\r\n if (isDraft3(state)) {\r\n runMutator(state);\r\n return state;\r\n }\r\n else {\r\n return createNextState3(state, runMutator);\r\n }\r\n };\r\n}\r\n// src/entities/utils.ts\r\nfunction selectIdValue(entity, selectId) {\r\n var key = selectId(entity);\r\n if (process.env.NODE_ENV !== \"production\" && key === void 0) {\r\n console.warn(\"The entity passed to the `selectId` implementation returned undefined.\", \"You should probably provide your own `selectId` implementation.\", \"The entity that was passed:\", entity, \"The `selectId` implementation:\", selectId.toString());\r\n }\r\n return key;\r\n}\r\nfunction ensureEntitiesArray(entities) {\r\n if (!Array.isArray(entities)) {\r\n entities = Object.values(entities);\r\n }\r\n return entities;\r\n}\r\nfunction splitAddedUpdatedEntities(newEntities, selectId, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var added = [];\r\n var updated = [];\r\n for (var _i = 0, newEntities_1 = newEntities; _i < newEntities_1.length; _i++) {\r\n var entity = newEntities_1[_i];\r\n var id = selectIdValue(entity, selectId);\r\n if (id in state.entities) {\r\n updated.push({ id: id, changes: entity });\r\n }\r\n else {\r\n added.push(entity);\r\n }\r\n }\r\n return [added, updated];\r\n}\r\n// src/entities/unsorted_state_adapter.ts\r\nfunction createUnsortedStateAdapter(selectId) {\r\n function addOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (key in state.entities) {\r\n return;\r\n }\r\n state.ids.push(key);\r\n state.entities[key] = entity;\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_2 = newEntities; _i < newEntities_2.length; _i++) {\r\n var entity = newEntities_2[_i];\r\n addOneMutably(entity, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n var key = selectIdValue(entity, selectId);\r\n if (!(key in state.entities)) {\r\n state.ids.push(key);\r\n }\r\n state.entities[key] = entity;\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n for (var _i = 0, newEntities_3 = newEntities; _i < newEntities_3.length; _i++) {\r\n var entity = newEntities_3[_i];\r\n setOneMutably(entity, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.ids = [];\r\n state.entities = {};\r\n addManyMutably(newEntities, state);\r\n }\r\n function removeOneMutably(key, state) {\r\n return removeManyMutably([key], state);\r\n }\r\n function removeManyMutably(keys, state) {\r\n var didMutate = false;\r\n keys.forEach(function (key) {\r\n if (key in state.entities) {\r\n delete state.entities[key];\r\n didMutate = true;\r\n }\r\n });\r\n if (didMutate) {\r\n state.ids = state.ids.filter(function (id) { return id in state.entities; });\r\n }\r\n }\r\n function removeAllMutably(state) {\r\n Object.assign(state, {\r\n ids: [],\r\n entities: {}\r\n });\r\n }\r\n function takeNewKey(keys, update, state) {\r\n var original2 = state.entities[update.id];\r\n var updated = Object.assign({}, original2, update.changes);\r\n var newKey = selectIdValue(updated, selectId);\r\n var hasNewKey = newKey !== update.id;\r\n if (hasNewKey) {\r\n keys[update.id] = newKey;\r\n delete state.entities[update.id];\r\n }\r\n state.entities[newKey] = updated;\r\n return hasNewKey;\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var newKeys = {};\r\n var updatesPerEntity = {};\r\n updates.forEach(function (update) {\r\n if (update.id in state.entities) {\r\n updatesPerEntity[update.id] = {\r\n id: update.id,\r\n changes: __spreadValues(__spreadValues({}, updatesPerEntity[update.id] ? updatesPerEntity[update.id].changes : null), update.changes)\r\n };\r\n }\r\n });\r\n updates = Object.values(updatesPerEntity);\r\n var didMutateEntities = updates.length > 0;\r\n if (didMutateEntities) {\r\n var didMutateIds = updates.filter(function (update) { return takeNewKey(newKeys, update, state); }).length > 0;\r\n if (didMutateIds) {\r\n state.ids = Object.keys(state.entities);\r\n }\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n return {\r\n removeAll: createSingleArgumentStateOperator(removeAllMutably),\r\n addOne: createStateOperator(addOneMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n upsertMany: createStateOperator(upsertManyMutably),\r\n removeOne: createStateOperator(removeOneMutably),\r\n removeMany: createStateOperator(removeManyMutably)\r\n };\r\n}\r\n// src/entities/sorted_state_adapter.ts\r\nfunction createSortedStateAdapter(selectId, sort) {\r\n var _c = createUnsortedStateAdapter(selectId), removeOne = _c.removeOne, removeMany = _c.removeMany, removeAll = _c.removeAll;\r\n function addOneMutably(entity, state) {\r\n return addManyMutably([entity], state);\r\n }\r\n function addManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n var models = newEntities.filter(function (model) { return !(selectIdValue(model, selectId) in state.entities); });\r\n if (models.length !== 0) {\r\n merge(models, state);\r\n }\r\n }\r\n function setOneMutably(entity, state) {\r\n return setManyMutably([entity], state);\r\n }\r\n function setManyMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n if (newEntities.length !== 0) {\r\n merge(newEntities, state);\r\n }\r\n }\r\n function setAllMutably(newEntities, state) {\r\n newEntities = ensureEntitiesArray(newEntities);\r\n state.entities = {};\r\n state.ids = [];\r\n addManyMutably(newEntities, state);\r\n }\r\n function updateOneMutably(update, state) {\r\n return updateManyMutably([update], state);\r\n }\r\n function updateManyMutably(updates, state) {\r\n var appliedUpdates = false;\r\n for (var _i = 0, updates_1 = updates; _i < updates_1.length; _i++) {\r\n var update = updates_1[_i];\r\n var entity = state.entities[update.id];\r\n if (!entity) {\r\n continue;\r\n }\r\n appliedUpdates = true;\r\n Object.assign(entity, update.changes);\r\n var newId = selectId(entity);\r\n if (update.id !== newId) {\r\n delete state.entities[update.id];\r\n state.entities[newId] = entity;\r\n }\r\n }\r\n if (appliedUpdates) {\r\n resortEntities(state);\r\n }\r\n }\r\n function upsertOneMutably(entity, state) {\r\n return upsertManyMutably([entity], state);\r\n }\r\n function upsertManyMutably(newEntities, state) {\r\n var _c = splitAddedUpdatedEntities(newEntities, selectId, state), added = _c[0], updated = _c[1];\r\n updateManyMutably(updated, state);\r\n addManyMutably(added, state);\r\n }\r\n function areArraysEqual(a, b) {\r\n if (a.length !== b.length) {\r\n return false;\r\n }\r\n for (var i = 0; i < a.length && i < b.length; i++) {\r\n if (a[i] === b[i]) {\r\n continue;\r\n }\r\n return false;\r\n }\r\n return true;\r\n }\r\n function merge(models, state) {\r\n models.forEach(function (model) {\r\n state.entities[selectId(model)] = model;\r\n });\r\n resortEntities(state);\r\n }\r\n function resortEntities(state) {\r\n var allEntities = Object.values(state.entities);\r\n allEntities.sort(sort);\r\n var newSortedIds = allEntities.map(selectId);\r\n var ids = state.ids;\r\n if (!areArraysEqual(ids, newSortedIds)) {\r\n state.ids = newSortedIds;\r\n }\r\n }\r\n return {\r\n removeOne: removeOne,\r\n removeMany: removeMany,\r\n removeAll: removeAll,\r\n addOne: createStateOperator(addOneMutably),\r\n updateOne: createStateOperator(updateOneMutably),\r\n upsertOne: createStateOperator(upsertOneMutably),\r\n setOne: createStateOperator(setOneMutably),\r\n setMany: createStateOperator(setManyMutably),\r\n setAll: createStateOperator(setAllMutably),\r\n addMany: createStateOperator(addManyMutably),\r\n updateMany: createStateOperator(updateManyMutably),\r\n upsertMany: createStateOperator(upsertManyMutably)\r\n };\r\n}\r\n// src/entities/create_adapter.ts\r\nfunction createEntityAdapter(options) {\r\n if (options === void 0) { options = {}; }\r\n var _c = __spreadValues({\r\n sortComparer: false,\r\n selectId: function (instance) { return instance.id; }\r\n }, options), selectId = _c.selectId, sortComparer = _c.sortComparer;\r\n var stateFactory = createInitialStateFactory();\r\n var selectorsFactory = createSelectorsFactory();\r\n var stateAdapter = sortComparer ? createSortedStateAdapter(selectId, sortComparer) : createUnsortedStateAdapter(selectId);\r\n return __spreadValues(__spreadValues(__spreadValues({\r\n selectId: selectId,\r\n sortComparer: sortComparer\r\n }, stateFactory), selectorsFactory), stateAdapter);\r\n}\r\n// src/nanoid.ts\r\nvar urlAlphabet = \"ModuleSymbhasOwnPr-0123456789ABCDEFGHNRVfgctiUvz_KqYTJkLxpZXIjQW\";\r\nvar nanoid = function (size) {\r\n if (size === void 0) { size = 21; }\r\n var id = \"\";\r\n var i = size;\r\n while (i--) {\r\n id += urlAlphabet[Math.random() * 64 | 0];\r\n }\r\n return id;\r\n};\r\n// src/createAsyncThunk.ts\r\nvar commonProperties = [\r\n \"name\",\r\n \"message\",\r\n \"stack\",\r\n \"code\"\r\n];\r\nvar RejectWithValue = /** @class */ (function () {\r\n function RejectWithValue(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return RejectWithValue;\r\n}());\r\nvar FulfillWithMeta = /** @class */ (function () {\r\n function FulfillWithMeta(payload, meta) {\r\n this.payload = payload;\r\n this.meta = meta;\r\n }\r\n return FulfillWithMeta;\r\n}());\r\nvar miniSerializeError = function (value) {\r\n if (typeof value === \"object\" && value !== null) {\r\n var simpleError = {};\r\n for (var _i = 0, commonProperties_1 = commonProperties; _i < commonProperties_1.length; _i++) {\r\n var property = commonProperties_1[_i];\r\n if (typeof value[property] === \"string\") {\r\n simpleError[property] = value[property];\r\n }\r\n }\r\n return simpleError;\r\n }\r\n return { message: String(value) };\r\n};\r\nvar createAsyncThunk = (function () {\r\n function createAsyncThunk2(typePrefix, payloadCreator, options) {\r\n var fulfilled = createAction(typePrefix + \"/fulfilled\", function (payload, requestId, arg, meta) { return ({\r\n payload: payload,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"fulfilled\"\r\n })\r\n }); });\r\n var pending = createAction(typePrefix + \"/pending\", function (requestId, arg, meta) { return ({\r\n payload: void 0,\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n requestStatus: \"pending\"\r\n })\r\n }); });\r\n var rejected = createAction(typePrefix + \"/rejected\", function (error, requestId, arg, payload, meta) { return ({\r\n payload: payload,\r\n error: (options && options.serializeError || miniSerializeError)(error || \"Rejected\"),\r\n meta: __spreadProps(__spreadValues({}, meta || {}), {\r\n arg: arg,\r\n requestId: requestId,\r\n rejectedWithValue: !!payload,\r\n requestStatus: \"rejected\",\r\n aborted: (error == null ? void 0 : error.name) === \"AbortError\",\r\n condition: (error == null ? void 0 : error.name) === \"ConditionError\"\r\n })\r\n }); });\r\n var displayedWarning = false;\r\n var AC = typeof AbortController !== \"undefined\" ? AbortController : /** @class */ (function () {\r\n function class_1() {\r\n this.signal = {\r\n aborted: false,\r\n addEventListener: function () {\r\n },\r\n dispatchEvent: function () {\r\n return false;\r\n },\r\n onabort: function () {\r\n },\r\n removeEventListener: function () {\r\n },\r\n reason: void 0,\r\n throwIfAborted: function () {\r\n }\r\n };\r\n }\r\n class_1.prototype.abort = function () {\r\n if (process.env.NODE_ENV !== \"production\") {\r\n if (!displayedWarning) {\r\n displayedWarning = true;\r\n console.info(\"This platform does not implement AbortController. \\nIf you want to use the AbortController to react to `abort` events, please consider importing a polyfill like 'abortcontroller-polyfill/dist/abortcontroller-polyfill-only'.\");\r\n }\r\n }\r\n };\r\n return class_1;\r\n }());\r\n function actionCreator(arg) {\r\n return function (dispatch, getState, extra) {\r\n var requestId = (options == null ? void 0 : options.idGenerator) ? options.idGenerator(arg) : nanoid();\r\n var abortController = new AC();\r\n var abortReason;\r\n var abortedPromise = new Promise(function (_, reject) { return abortController.signal.addEventListener(\"abort\", function () { return reject({ name: \"AbortError\", message: abortReason || \"Aborted\" }); }); });\r\n var started = false;\r\n function abort(reason) {\r\n if (started) {\r\n abortReason = reason;\r\n abortController.abort();\r\n }\r\n }\r\n var promise2 = function () {\r\n return __async(this, null, function () {\r\n var _a, _b, finalAction, conditionResult, err_1, skipDispatch;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 4, , 5]);\r\n conditionResult = (_a = options == null ? void 0 : options.condition) == null ? void 0 : _a.call(options, arg, { getState: getState, extra: extra });\r\n if (!isThenable(conditionResult)) return [3 /*break*/, 2];\r\n return [4 /*yield*/, conditionResult];\r\n case 1:\r\n conditionResult = _c.sent();\r\n _c.label = 2;\r\n case 2:\r\n if (conditionResult === false) {\r\n throw {\r\n name: \"ConditionError\",\r\n message: \"Aborted due to condition callback returning false.\"\r\n };\r\n }\r\n started = true;\r\n dispatch(pending(requestId, arg, (_b = options == null ? void 0 : options.getPendingMeta) == null ? void 0 : _b.call(options, { requestId: requestId, arg: arg }, { getState: getState, extra: extra })));\r\n return [4 /*yield*/, Promise.race([\r\n abortedPromise,\r\n Promise.resolve(payloadCreator(arg, {\r\n dispatch: dispatch,\r\n getState: getState,\r\n extra: extra,\r\n requestId: requestId,\r\n signal: abortController.signal,\r\n abort: abort,\r\n rejectWithValue: function (value, meta) {\r\n return new RejectWithValue(value, meta);\r\n },\r\n fulfillWithValue: function (value, meta) {\r\n return new FulfillWithMeta(value, meta);\r\n }\r\n })).then(function (result) {\r\n if (result instanceof RejectWithValue) {\r\n throw result;\r\n }\r\n if (result instanceof FulfillWithMeta) {\r\n return fulfilled(result.payload, requestId, arg, result.meta);\r\n }\r\n return fulfilled(result, requestId, arg);\r\n })\r\n ])];\r\n case 3:\r\n finalAction = _c.sent();\r\n return [3 /*break*/, 5];\r\n case 4:\r\n err_1 = _c.sent();\r\n finalAction = err_1 instanceof RejectWithValue ? rejected(null, requestId, arg, err_1.payload, err_1.meta) : rejected(err_1, requestId, arg);\r\n return [3 /*break*/, 5];\r\n case 5:\r\n skipDispatch = options && !options.dispatchConditionRejection && rejected.match(finalAction) && finalAction.meta.condition;\r\n if (!skipDispatch) {\r\n dispatch(finalAction);\r\n }\r\n return [2 /*return*/, finalAction];\r\n }\r\n });\r\n });\r\n }();\r\n return Object.assign(promise2, {\r\n abort: abort,\r\n requestId: requestId,\r\n arg: arg,\r\n unwrap: function () {\r\n return promise2.then(unwrapResult);\r\n }\r\n });\r\n };\r\n }\r\n return Object.assign(actionCreator, {\r\n pending: pending,\r\n rejected: rejected,\r\n fulfilled: fulfilled,\r\n typePrefix: typePrefix\r\n });\r\n }\r\n createAsyncThunk2.withTypes = createAsyncThunk2;\r\n return createAsyncThunk2;\r\n})();\r\nfunction unwrapResult(action) {\r\n if (action.meta && action.meta.rejectedWithValue) {\r\n throw action.payload;\r\n }\r\n if (action.error) {\r\n throw action.error;\r\n }\r\n return action.payload;\r\n}\r\nfunction isThenable(value) {\r\n return value !== null && typeof value === \"object\" && typeof value.then === \"function\";\r\n}\r\n// src/tsHelpers.ts\r\nvar hasMatchFunction = function (v) {\r\n return v && typeof v.match === \"function\";\r\n};\r\n// src/matchers.ts\r\nvar matches = function (matcher, action) {\r\n if (hasMatchFunction(matcher)) {\r\n return matcher.match(action);\r\n }\r\n else {\r\n return matcher(action);\r\n }\r\n};\r\nfunction isAnyOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.some(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction isAllOf() {\r\n var matchers = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n matchers[_i] = arguments[_i];\r\n }\r\n return function (action) {\r\n return matchers.every(function (matcher) { return matches(matcher, action); });\r\n };\r\n}\r\nfunction hasExpectedRequestMetadata(action, validStatus) {\r\n if (!action || !action.meta)\r\n return false;\r\n var hasValidRequestId = typeof action.meta.requestId === \"string\";\r\n var hasValidRequestStatus = validStatus.indexOf(action.meta.requestStatus) > -1;\r\n return hasValidRequestId && hasValidRequestStatus;\r\n}\r\nfunction isAsyncThunkArray(a) {\r\n return typeof a[0] === \"function\" && \"pending\" in a[0] && \"fulfilled\" in a[0] && \"rejected\" in a[0];\r\n}\r\nfunction isPending() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isPending()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.pending; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejected() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejected()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.rejected; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isRejectedWithValue() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n var hasFlag = function (action) {\r\n return action && action.meta && action.meta.rejectedWithValue;\r\n };\r\n if (asyncThunks.length === 0) {\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isRejectedWithValue()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var combinedMatcher = isAllOf(isRejected.apply(void 0, asyncThunks), hasFlag);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isFulfilled() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"fulfilled\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isFulfilled()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = asyncThunks.map(function (asyncThunk) { return asyncThunk.fulfilled; });\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\nfunction isAsyncThunkAction() {\r\n var asyncThunks = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n asyncThunks[_i] = arguments[_i];\r\n }\r\n if (asyncThunks.length === 0) {\r\n return function (action) { return hasExpectedRequestMetadata(action, [\"pending\", \"fulfilled\", \"rejected\"]); };\r\n }\r\n if (!isAsyncThunkArray(asyncThunks)) {\r\n return isAsyncThunkAction()(asyncThunks[0]);\r\n }\r\n return function (action) {\r\n var matchers = [];\r\n for (var _i = 0, asyncThunks_1 = asyncThunks; _i < asyncThunks_1.length; _i++) {\r\n var asyncThunk = asyncThunks_1[_i];\r\n matchers.push(asyncThunk.pending, asyncThunk.rejected, asyncThunk.fulfilled);\r\n }\r\n var combinedMatcher = isAnyOf.apply(void 0, matchers);\r\n return combinedMatcher(action);\r\n };\r\n}\r\n// src/listenerMiddleware/utils.ts\r\nvar assertFunction = function (func, expected) {\r\n if (typeof func !== \"function\") {\r\n throw new TypeError(expected + \" is not a function\");\r\n }\r\n};\r\nvar noop = function () {\r\n};\r\nvar catchRejection = function (promise2, onError) {\r\n if (onError === void 0) { onError = noop; }\r\n promise2.catch(onError);\r\n return promise2;\r\n};\r\nvar addAbortSignalListener = function (abortSignal, callback) {\r\n abortSignal.addEventListener(\"abort\", callback, { once: true });\r\n};\r\nvar abortControllerWithReason = function (abortController, reason) {\r\n var signal = abortController.signal;\r\n if (signal.aborted) {\r\n return;\r\n }\r\n if (!(\"reason\" in signal)) {\r\n Object.defineProperty(signal, \"reason\", {\r\n enumerable: true,\r\n value: reason,\r\n configurable: true,\r\n writable: true\r\n });\r\n }\r\n ;\r\n abortController.abort(reason);\r\n};\r\n// src/listenerMiddleware/exceptions.ts\r\nvar task = \"task\";\r\nvar listener = \"listener\";\r\nvar completed = \"completed\";\r\nvar cancelled = \"cancelled\";\r\nvar taskCancelled = \"task-\" + cancelled;\r\nvar taskCompleted = \"task-\" + completed;\r\nvar listenerCancelled = listener + \"-\" + cancelled;\r\nvar listenerCompleted = listener + \"-\" + completed;\r\nvar TaskAbortError = /** @class */ (function () {\r\n function TaskAbortError(code) {\r\n this.code = code;\r\n this.name = \"TaskAbortError\";\r\n this.message = task + \" \" + cancelled + \" (reason: \" + code + \")\";\r\n }\r\n return TaskAbortError;\r\n}());\r\n// src/listenerMiddleware/task.ts\r\nvar validateActive = function (signal) {\r\n if (signal.aborted) {\r\n throw new TaskAbortError(signal.reason);\r\n }\r\n};\r\nvar promisifyAbortSignal = function (signal) {\r\n return catchRejection(new Promise(function (_, reject) {\r\n var notifyRejection = function () { return reject(new TaskAbortError(signal.reason)); };\r\n if (signal.aborted) {\r\n notifyRejection();\r\n }\r\n else {\r\n addAbortSignalListener(signal, notifyRejection);\r\n }\r\n }));\r\n};\r\nvar runTask = function (task2, cleanUp) { return __async(void 0, null, function () {\r\n var value, error_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n _c.trys.push([0, 3, 4, 5]);\r\n return [4 /*yield*/, Promise.resolve()];\r\n case 1:\r\n _c.sent();\r\n return [4 /*yield*/, task2()];\r\n case 2:\r\n value = _c.sent();\r\n return [2 /*return*/, {\r\n status: \"ok\",\r\n value: value\r\n }];\r\n case 3:\r\n error_1 = _c.sent();\r\n return [2 /*return*/, {\r\n status: error_1 instanceof TaskAbortError ? \"cancelled\" : \"rejected\",\r\n error: error_1\r\n }];\r\n case 4:\r\n cleanUp == null ? void 0 : cleanUp();\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n}); };\r\nvar createPause = function (signal) {\r\n return function (promise2) {\r\n return catchRejection(Promise.race([promisifyAbortSignal(signal), promise2]).then(function (output) {\r\n validateActive(signal);\r\n return output;\r\n }));\r\n };\r\n};\r\nvar createDelay = function (signal) {\r\n var pause = createPause(signal);\r\n return function (timeoutMs) {\r\n return pause(new Promise(function (resolve) { return setTimeout(resolve, timeoutMs); }));\r\n };\r\n};\r\n// src/listenerMiddleware/index.ts\r\nvar assign = Object.assign;\r\nvar INTERNAL_NIL_TOKEN = {};\r\nvar alm = \"listenerMiddleware\";\r\nvar createFork = function (parentAbortSignal) {\r\n var linkControllers = function (controller) { return addAbortSignalListener(parentAbortSignal, function () { return abortControllerWithReason(controller, parentAbortSignal.reason); }); };\r\n return function (taskExecutor) {\r\n assertFunction(taskExecutor, \"taskExecutor\");\r\n var childAbortController = new AbortController();\r\n linkControllers(childAbortController);\r\n var result = runTask(function () { return __async(void 0, null, function () {\r\n var result2;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(parentAbortSignal);\r\n validateActive(childAbortController.signal);\r\n return [4 /*yield*/, taskExecutor({\r\n pause: createPause(childAbortController.signal),\r\n delay: createDelay(childAbortController.signal),\r\n signal: childAbortController.signal\r\n })];\r\n case 1:\r\n result2 = _c.sent();\r\n validateActive(childAbortController.signal);\r\n return [2 /*return*/, result2];\r\n }\r\n });\r\n }); }, function () { return abortControllerWithReason(childAbortController, taskCompleted); });\r\n return {\r\n result: createPause(parentAbortSignal)(result),\r\n cancel: function () {\r\n abortControllerWithReason(childAbortController, taskCancelled);\r\n }\r\n };\r\n };\r\n};\r\nvar createTakePattern = function (startListening, signal) {\r\n var take = function (predicate, timeout) { return __async(void 0, null, function () {\r\n var unsubscribe, tuplePromise, promises, output;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n validateActive(signal);\r\n unsubscribe = function () {\r\n };\r\n tuplePromise = new Promise(function (resolve) {\r\n unsubscribe = startListening({\r\n predicate: predicate,\r\n effect: function (action, listenerApi) {\r\n listenerApi.unsubscribe();\r\n resolve([\r\n action,\r\n listenerApi.getState(),\r\n listenerApi.getOriginalState()\r\n ]);\r\n }\r\n });\r\n });\r\n promises = [\r\n promisifyAbortSignal(signal),\r\n tuplePromise\r\n ];\r\n if (timeout != null) {\r\n promises.push(new Promise(function (resolve) { return setTimeout(resolve, timeout, null); }));\r\n }\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, , 3, 4]);\r\n return [4 /*yield*/, Promise.race(promises)];\r\n case 2:\r\n output = _c.sent();\r\n validateActive(signal);\r\n return [2 /*return*/, output];\r\n case 3:\r\n unsubscribe();\r\n return [7 /*endfinally*/];\r\n case 4: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n return function (predicate, timeout) { return catchRejection(take(predicate, timeout)); };\r\n};\r\nvar getListenerEntryPropsFrom = function (options) {\r\n var type = options.type, actionCreator = options.actionCreator, matcher = options.matcher, predicate = options.predicate, effect = options.effect;\r\n if (type) {\r\n predicate = createAction(type).match;\r\n }\r\n else if (actionCreator) {\r\n type = actionCreator.type;\r\n predicate = actionCreator.match;\r\n }\r\n else if (matcher) {\r\n predicate = matcher;\r\n }\r\n else if (predicate) {\r\n }\r\n else {\r\n throw new Error(\"Creating or removing a listener requires one of the known fields for matching an action\");\r\n }\r\n assertFunction(effect, \"options.listener\");\r\n return { predicate: predicate, type: type, effect: effect };\r\n};\r\nvar createListenerEntry = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, predicate = _c.predicate, effect = _c.effect;\r\n var id = nanoid();\r\n var entry = {\r\n id: id,\r\n effect: effect,\r\n type: type,\r\n predicate: predicate,\r\n pending: new Set(),\r\n unsubscribe: function () {\r\n throw new Error(\"Unsubscribe not initialized\");\r\n }\r\n };\r\n return entry;\r\n};\r\nvar createClearListenerMiddleware = function (listenerMap) {\r\n return function () {\r\n listenerMap.forEach(cancelActiveListeners);\r\n listenerMap.clear();\r\n };\r\n};\r\nvar safelyNotifyError = function (errorHandler, errorToNotify, errorInfo) {\r\n try {\r\n errorHandler(errorToNotify, errorInfo);\r\n }\r\n catch (errorHandlerError) {\r\n setTimeout(function () {\r\n throw errorHandlerError;\r\n }, 0);\r\n }\r\n};\r\nvar addListener = createAction(alm + \"/add\");\r\nvar clearAllListeners = createAction(alm + \"/removeAll\");\r\nvar removeListener = createAction(alm + \"/remove\");\r\nvar defaultErrorHandler = function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n console.error.apply(console, __spreadArray([alm + \"/error\"], args));\r\n};\r\nvar cancelActiveListeners = function (entry) {\r\n entry.pending.forEach(function (controller) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n });\r\n};\r\nfunction createListenerMiddleware(middlewareOptions) {\r\n var _this = this;\r\n if (middlewareOptions === void 0) { middlewareOptions = {}; }\r\n var listenerMap = new Map();\r\n var extra = middlewareOptions.extra, _c = middlewareOptions.onError, onError = _c === void 0 ? defaultErrorHandler : _c;\r\n assertFunction(onError, \"onError\");\r\n var insertEntry = function (entry) {\r\n entry.unsubscribe = function () { return listenerMap.delete(entry.id); };\r\n listenerMap.set(entry.id, entry);\r\n return function (cancelOptions) {\r\n entry.unsubscribe();\r\n if (cancelOptions == null ? void 0 : cancelOptions.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n };\r\n };\r\n var findListenerEntry = function (comparator) {\r\n for (var _i = 0, _c = Array.from(listenerMap.values()); _i < _c.length; _i++) {\r\n var entry = _c[_i];\r\n if (comparator(entry)) {\r\n return entry;\r\n }\r\n }\r\n return void 0;\r\n };\r\n var startListening = function (options) {\r\n var entry = findListenerEntry(function (existingEntry) { return existingEntry.effect === options.effect; });\r\n if (!entry) {\r\n entry = createListenerEntry(options);\r\n }\r\n return insertEntry(entry);\r\n };\r\n var stopListening = function (options) {\r\n var _c = getListenerEntryPropsFrom(options), type = _c.type, effect = _c.effect, predicate = _c.predicate;\r\n var entry = findListenerEntry(function (entry2) {\r\n var matchPredicateOrType = typeof type === \"string\" ? entry2.type === type : entry2.predicate === predicate;\r\n return matchPredicateOrType && entry2.effect === effect;\r\n });\r\n if (entry) {\r\n entry.unsubscribe();\r\n if (options.cancelActive) {\r\n cancelActiveListeners(entry);\r\n }\r\n }\r\n return !!entry;\r\n };\r\n var notifyListener = function (entry, action, api, getOriginalState) { return __async(_this, null, function () {\r\n var internalTaskController, take, listenerError_1;\r\n return __generator(this, function (_c) {\r\n switch (_c.label) {\r\n case 0:\r\n internalTaskController = new AbortController();\r\n take = createTakePattern(startListening, internalTaskController.signal);\r\n _c.label = 1;\r\n case 1:\r\n _c.trys.push([1, 3, 4, 5]);\r\n entry.pending.add(internalTaskController);\r\n return [4 /*yield*/, Promise.resolve(entry.effect(action, assign({}, api, {\r\n getOriginalState: getOriginalState,\r\n condition: function (predicate, timeout) { return take(predicate, timeout).then(Boolean); },\r\n take: take,\r\n delay: createDelay(internalTaskController.signal),\r\n pause: createPause(internalTaskController.signal),\r\n extra: extra,\r\n signal: internalTaskController.signal,\r\n fork: createFork(internalTaskController.signal),\r\n unsubscribe: entry.unsubscribe,\r\n subscribe: function () {\r\n listenerMap.set(entry.id, entry);\r\n },\r\n cancelActiveListeners: function () {\r\n entry.pending.forEach(function (controller, _, set) {\r\n if (controller !== internalTaskController) {\r\n abortControllerWithReason(controller, listenerCancelled);\r\n set.delete(controller);\r\n }\r\n });\r\n }\r\n })))];\r\n case 2:\r\n _c.sent();\r\n return [3 /*break*/, 5];\r\n case 3:\r\n listenerError_1 = _c.sent();\r\n if (!(listenerError_1 instanceof TaskAbortError)) {\r\n safelyNotifyError(onError, listenerError_1, {\r\n raisedBy: \"effect\"\r\n });\r\n }\r\n return [3 /*break*/, 5];\r\n case 4:\r\n abortControllerWithReason(internalTaskController, listenerCompleted);\r\n entry.pending.delete(internalTaskController);\r\n return [7 /*endfinally*/];\r\n case 5: return [2 /*return*/];\r\n }\r\n });\r\n }); };\r\n var clearListenerMiddleware = createClearListenerMiddleware(listenerMap);\r\n var middleware = function (api) { return function (next) { return function (action) {\r\n if (addListener.match(action)) {\r\n return startListening(action.payload);\r\n }\r\n if (clearAllListeners.match(action)) {\r\n clearListenerMiddleware();\r\n return;\r\n }\r\n if (removeListener.match(action)) {\r\n return stopListening(action.payload);\r\n }\r\n var originalState = api.getState();\r\n var getOriginalState = function () {\r\n if (originalState === INTERNAL_NIL_TOKEN) {\r\n throw new Error(alm + \": getOriginalState can only be called synchronously\");\r\n }\r\n return originalState;\r\n };\r\n var result;\r\n try {\r\n result = next(action);\r\n if (listenerMap.size > 0) {\r\n var currentState = api.getState();\r\n var listenerEntries = Array.from(listenerMap.values());\r\n for (var _i = 0, listenerEntries_1 = listenerEntries; _i < listenerEntries_1.length; _i++) {\r\n var entry = listenerEntries_1[_i];\r\n var runListener = false;\r\n try {\r\n runListener = entry.predicate(action, currentState, originalState);\r\n }\r\n catch (predicateError) {\r\n runListener = false;\r\n safelyNotifyError(onError, predicateError, {\r\n raisedBy: \"predicate\"\r\n });\r\n }\r\n if (!runListener) {\r\n continue;\r\n }\r\n notifyListener(entry, action, api, getOriginalState);\r\n }\r\n }\r\n }\r\n finally {\r\n originalState = INTERNAL_NIL_TOKEN;\r\n }\r\n return result;\r\n }; }; };\r\n return {\r\n middleware: middleware,\r\n startListening: startListening,\r\n stopListening: stopListening,\r\n clearListeners: clearListenerMiddleware\r\n };\r\n}\r\n// src/autoBatchEnhancer.ts\r\nvar SHOULD_AUTOBATCH = \"RTK_autoBatch\";\r\nvar prepareAutoBatched = function () { return function (payload) {\r\n var _c;\r\n return ({\r\n payload: payload,\r\n meta: (_c = {}, _c[SHOULD_AUTOBATCH] = true, _c)\r\n });\r\n}; };\r\nvar promise;\r\nvar queueMicrotaskShim = typeof queueMicrotask === \"function\" ? queueMicrotask.bind(typeof window !== \"undefined\" ? window : global) : function (cb) { return (promise || (promise = Promise.resolve())).then(cb).catch(function (err) { return setTimeout(function () {\r\n throw err;\r\n}, 0); }); };\r\nvar createQueueWithTimer = function (timeout) {\r\n return function (notify) {\r\n setTimeout(notify, timeout);\r\n };\r\n};\r\nvar autoBatchEnhancer = function (options) {\r\n if (options === void 0) { options = { type: \"raf\" }; }\r\n return function (next) { return function () {\r\n var args = [];\r\n for (var _i = 0; _i < arguments.length; _i++) {\r\n args[_i] = arguments[_i];\r\n }\r\n var store = next.apply(void 0, args);\r\n var notifying = true;\r\n var shouldNotifyAtEndOfTick = false;\r\n var notificationQueued = false;\r\n var listeners = new Set();\r\n var queueCallback = options.type === \"tick\" ? queueMicrotaskShim : options.type === \"raf\" ? requestAnimationFrame : options.type === \"callback\" ? options.queueNotification : createQueueWithTimer(options.timeout);\r\n var notifyListeners = function () {\r\n notificationQueued = false;\r\n if (shouldNotifyAtEndOfTick) {\r\n shouldNotifyAtEndOfTick = false;\r\n listeners.forEach(function (l) { return l(); });\r\n }\r\n };\r\n return Object.assign({}, store, {\r\n subscribe: function (listener2) {\r\n var wrappedListener = function () { return notifying && listener2(); };\r\n var unsubscribe = store.subscribe(wrappedListener);\r\n listeners.add(listener2);\r\n return function () {\r\n unsubscribe();\r\n listeners.delete(listener2);\r\n };\r\n },\r\n dispatch: function (action) {\r\n var _a;\r\n try {\r\n notifying = !((_a = action == null ? void 0 : action.meta) == null ? void 0 : _a[SHOULD_AUTOBATCH]);\r\n shouldNotifyAtEndOfTick = !notifying;\r\n if (shouldNotifyAtEndOfTick) {\r\n if (!notificationQueued) {\r\n notificationQueued = true;\r\n queueCallback(notifyListeners);\r\n }\r\n }\r\n return store.dispatch(action);\r\n }\r\n finally {\r\n notifying = true;\r\n }\r\n }\r\n });\r\n }; };\r\n};\r\n// src/index.ts\r\nenableES5();\r\nexport { MiddlewareArray, SHOULD_AUTOBATCH, TaskAbortError, addListener, autoBatchEnhancer, clearAllListeners, configureStore, createAction, createAsyncThunk, createDraftSafeSelector, createEntityAdapter, createImmutableStateInvariantMiddleware, createListenerMiddleware, default2 as createNextState, createReducer, createSelector2 as createSelector, createSerializableStateInvariantMiddleware, createSlice, current2 as current, findNonSerializableValue, freeze, getDefaultMiddleware, getType, isAllOf, isAnyOf, isAsyncThunkAction, isDraft4 as isDraft, isFulfilled, isImmutableDefault, isPending, isPlain, isPlainObject, isRejected, isRejectedWithValue, miniSerializeError, nanoid, original, prepareAutoBatched, removeListener, unwrapResult };\r\n//# sourceMappingURL=redux-toolkit.esm.js.map","import { isBrowserBundle } from './env.js';\n\n/**\n * NOTE: In order to avoid circular dependencies, if you add a function to this module and it needs to print something,\n * you must either a) use `console.log` rather than the logger, or b) put your function elsewhere.\n */\n\n/**\n * Checks whether we're in the Node.js or Browser environment\n *\n * @returns Answer to given question\n */\nfunction isNodeEnv() {\n // explicitly check for browser bundles as those can be optimized statically\n // by terser/rollup.\n return (\n !isBrowserBundle() &&\n Object.prototype.toString.call(typeof process !== 'undefined' ? process : 0) === '[object process]'\n );\n}\n\n/**\n * Requires a module which is protected against bundler minification.\n *\n * @param request The module path to resolve\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types, @typescript-eslint/no-explicit-any\nfunction dynamicRequire(mod, request) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return mod.require(request);\n}\n\n/**\n * Helper for dynamically loading module that should work with linked dependencies.\n * The problem is that we _should_ be using `require(require.resolve(moduleName, { paths: [cwd()] }))`\n * However it's _not possible_ to do that with Webpack, as it has to know all the dependencies during\n * build time. `require.resolve` is also not available in any other way, so we cannot create,\n * a fake helper like we do with `dynamicRequire`.\n *\n * We always prefer to use local package, thus the value is not returned early from each `try/catch` block.\n * That is to mimic the behavior of `require.resolve` exactly.\n *\n * @param moduleName module name to require\n * @returns possibly required module\n */\nfunction loadModule(moduleName) {\n let mod;\n\n try {\n mod = dynamicRequire(module, moduleName);\n } catch (e) {\n // no-empty\n }\n\n try {\n const { cwd } = dynamicRequire(module, 'process');\n mod = dynamicRequire(module, `${cwd()}/node_modules/${moduleName}`) ;\n } catch (e) {\n // no-empty\n }\n\n return mod;\n}\n\nexport { dynamicRequire, isNodeEnv, loadModule };\n//# sourceMappingURL=node.js.map\n","/*\n * This module exists for optimizations in the build process through rollup and terser. We define some global\n * constants, which can be overridden during build. By guarding certain pieces of code with functions that return these\n * constants, we can control whether or not they appear in the final bundle. (Any code guarded by a false condition will\n * never run, and will hence be dropped during treeshaking.) The two primary uses for this are stripping out calls to\n * `logger` and preventing node-related code from appearing in browser bundles.\n *\n * Attention:\n * This file should not be used to define constants/flags that are intended to be used for tree-shaking conducted by\n * users. These fags should live in their respective packages, as we identified user tooling (specifically webpack)\n * having issues tree-shaking these constants across package boundaries.\n * An example for this is the __SENTRY_DEBUG__ constant. It is declared in each package individually because we want\n * users to be able to shake away expressions that it guards.\n */\n\n/**\n * Figures out if we're building a browser bundle.\n *\n * @returns true if this is a browser bundle build.\n */\nfunction isBrowserBundle() {\n return typeof __SENTRY_BROWSER_BUNDLE__ !== 'undefined' && !!__SENTRY_BROWSER_BUNDLE__;\n}\n\nexport { isBrowserBundle };\n//# sourceMappingURL=env.js.map\n","import { dynamicRequire, isNodeEnv } from './node.js';\nimport { getGlobalObject } from './worldwide.js';\n\n// eslint-disable-next-line deprecation/deprecation\nconst WINDOW = getGlobalObject();\n\n/**\n * An object that can return the current timestamp in seconds since the UNIX epoch.\n */\n\n/**\n * A TimestampSource implementation for environments that do not support the Performance Web API natively.\n *\n * Note that this TimestampSource does not use a monotonic clock. A call to `nowSeconds` may return a timestamp earlier\n * than a previously returned value. We do not try to emulate a monotonic behavior in order to facilitate debugging. It\n * is more obvious to explain \"why does my span have negative duration\" than \"why my spans have zero duration\".\n */\nconst dateTimestampSource = {\n nowSeconds: () => Date.now() / 1000,\n};\n\n/**\n * A partial definition of the [Performance Web API]{@link https://developer.mozilla.org/en-US/docs/Web/API/Performance}\n * for accessing a high-resolution monotonic clock.\n */\n\n/**\n * Returns a wrapper around the native Performance API browser implementation, or undefined for browsers that do not\n * support the API.\n *\n * Wrapping the native API works around differences in behavior from different browsers.\n */\nfunction getBrowserPerformance() {\n const { performance } = WINDOW;\n if (!performance || !performance.now) {\n return undefined;\n }\n\n // Replace performance.timeOrigin with our own timeOrigin based on Date.now().\n //\n // This is a partial workaround for browsers reporting performance.timeOrigin such that performance.timeOrigin +\n // performance.now() gives a date arbitrarily in the past.\n //\n // Additionally, computing timeOrigin in this way fills the gap for browsers where performance.timeOrigin is\n // undefined.\n //\n // The assumption that performance.timeOrigin + performance.now() ~= Date.now() is flawed, but we depend on it to\n // interact with data coming out of performance entries.\n //\n // Note that despite recommendations against it in the spec, browsers implement the Performance API with a clock that\n // might stop when the computer is asleep (and perhaps under other circumstances). Such behavior causes\n // performance.timeOrigin + performance.now() to have an arbitrary skew over Date.now(). In laptop computers, we have\n // observed skews that can be as long as days, weeks or months.\n //\n // See https://github.com/getsentry/sentry-javascript/issues/2590.\n //\n // BUG: despite our best intentions, this workaround has its limitations. It mostly addresses timings of pageload\n // transactions, but ignores the skew built up over time that can aversely affect timestamps of navigation\n // transactions of long-lived web pages.\n const timeOrigin = Date.now() - performance.now();\n\n return {\n now: () => performance.now(),\n timeOrigin,\n };\n}\n\n/**\n * Returns the native Performance API implementation from Node.js. Returns undefined in old Node.js versions that don't\n * implement the API.\n */\nfunction getNodePerformance() {\n try {\n const perfHooks = dynamicRequire(module, 'perf_hooks') ;\n return perfHooks.performance;\n } catch (_) {\n return undefined;\n }\n}\n\n/**\n * The Performance API implementation for the current platform, if available.\n */\nconst platformPerformance = isNodeEnv() ? getNodePerformance() : getBrowserPerformance();\n\nconst timestampSource =\n platformPerformance === undefined\n ? dateTimestampSource\n : {\n nowSeconds: () => (platformPerformance.timeOrigin + platformPerformance.now()) / 1000,\n };\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using the Date API.\n */\nconst dateTimestampInSeconds = dateTimestampSource.nowSeconds.bind(dateTimestampSource);\n\n/**\n * Returns a timestamp in seconds since the UNIX epoch using either the Performance or Date APIs, depending on the\n * availability of the Performance API.\n *\n * See `usingPerformanceAPI` to test whether the Performance API is used.\n *\n * BUG: Note that because of how browsers implement the Performance API, the clock might stop when the computer is\n * asleep. This creates a skew between `dateTimestampInSeconds` and `timestampInSeconds`. The\n * skew can grow to arbitrary amounts like days, weeks or months.\n * See https://github.com/getsentry/sentry-javascript/issues/2590.\n */\nconst timestampInSeconds = timestampSource.nowSeconds.bind(timestampSource);\n\n// Re-exported with an old name for backwards-compatibility.\nconst timestampWithMs = timestampInSeconds;\n\n/**\n * A boolean that is true when timestampInSeconds uses the Performance API to produce monotonic timestamps.\n */\nconst usingPerformanceAPI = platformPerformance !== undefined;\n\n/**\n * Internal helper to store what is the source of browserPerformanceTimeOrigin below. For debugging only.\n */\nlet _browserPerformanceTimeOriginMode;\n\n/**\n * The number of milliseconds since the UNIX epoch. This value is only usable in a browser, and only when the\n * performance API is available.\n */\nconst browserPerformanceTimeOrigin = (() => {\n // Unfortunately browsers may report an inaccurate time origin data, through either performance.timeOrigin or\n // performance.timing.navigationStart, which results in poor results in performance data. We only treat time origin\n // data as reliable if they are within a reasonable threshold of the current time.\n\n const { performance } = WINDOW;\n if (!performance || !performance.now) {\n _browserPerformanceTimeOriginMode = 'none';\n return undefined;\n }\n\n const threshold = 3600 * 1000;\n const performanceNow = performance.now();\n const dateNow = Date.now();\n\n // if timeOrigin isn't available set delta to threshold so it isn't used\n const timeOriginDelta = performance.timeOrigin\n ? Math.abs(performance.timeOrigin + performanceNow - dateNow)\n : threshold;\n const timeOriginIsReliable = timeOriginDelta < threshold;\n\n // While performance.timing.navigationStart is deprecated in favor of performance.timeOrigin, performance.timeOrigin\n // is not as widely supported. Namely, performance.timeOrigin is undefined in Safari as of writing.\n // Also as of writing, performance.timing is not available in Web Workers in mainstream browsers, so it is not always\n // a valid fallback. In the absence of an initial time provided by the browser, fallback to the current time from the\n // Date API.\n // eslint-disable-next-line deprecation/deprecation\n const navigationStart = performance.timing && performance.timing.navigationStart;\n const hasNavigationStart = typeof navigationStart === 'number';\n // if navigationStart isn't available set delta to threshold so it isn't used\n const navigationStartDelta = hasNavigationStart ? Math.abs(navigationStart + performanceNow - dateNow) : threshold;\n const navigationStartIsReliable = navigationStartDelta < threshold;\n\n if (timeOriginIsReliable || navigationStartIsReliable) {\n // Use the more reliable time origin\n if (timeOriginDelta <= navigationStartDelta) {\n _browserPerformanceTimeOriginMode = 'timeOrigin';\n return performance.timeOrigin;\n } else {\n _browserPerformanceTimeOriginMode = 'navigationStart';\n return navigationStart;\n }\n }\n\n // Either both timeOrigin and navigationStart are skewed or neither is available, fallback to Date.\n _browserPerformanceTimeOriginMode = 'dateNow';\n return dateNow;\n})();\n\nexport { _browserPerformanceTimeOriginMode, browserPerformanceTimeOrigin, dateTimestampInSeconds, timestampInSeconds, timestampWithMs, usingPerformanceAPI };\n//# sourceMappingURL=time.js.map\n","/** Internal global with common properties and Sentry extensions */\n\n// The code below for 'isGlobalObj' and 'GLOBAL_OBJ' was copied from core-js before modification\n// https://github.com/zloirock/core-js/blob/1b944df55282cdc99c90db5f49eb0b6eda2cc0a3/packages/core-js/internals/global.js\n// core-js has the following licence:\n//\n// Copyright (c) 2014-2022 Denis Pushkarev\n//\n// Permission is hereby granted, free of charge, to any person obtaining a copy\n// of this software and associated documentation files (the \"Software\"), to deal\n// in the Software without restriction, including without limitation the rights\n// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n// copies of the Software, and to permit persons to whom the Software is\n// furnished to do so, subject to the following conditions:\n//\n// The above copyright notice and this permission notice shall be included in\n// all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN\n// THE SOFTWARE.\n\n/** Returns 'obj' if it's the global object, otherwise returns undefined */\nfunction isGlobalObj(obj) {\n return obj && obj.Math == Math ? obj : undefined;\n}\n\n/** Get's the global object for the current JavaScript runtime */\nconst GLOBAL_OBJ =\n (typeof globalThis == 'object' && isGlobalObj(globalThis)) ||\n // eslint-disable-next-line no-restricted-globals\n (typeof window == 'object' && isGlobalObj(window)) ||\n (typeof self == 'object' && isGlobalObj(self)) ||\n (typeof global == 'object' && isGlobalObj(global)) ||\n (function () {\n return this;\n })() ||\n {};\n\n/**\n * @deprecated Use GLOBAL_OBJ instead or WINDOW from @sentry/browser. This will be removed in v8\n */\nfunction getGlobalObject() {\n return GLOBAL_OBJ ;\n}\n\n/**\n * Returns a global singleton contained in the global `__SENTRY__` object.\n *\n * If the singleton doesn't already exist in `__SENTRY__`, it will be created using the given factory\n * function and added to the `__SENTRY__` object.\n *\n * @param name name of the global singleton on __SENTRY__\n * @param creator creator Factory function to create the singleton if it doesn't already exist on `__SENTRY__`\n * @param obj (Optional) The global object on which to look for `__SENTRY__`, if not `GLOBAL_OBJ`'s return value\n * @returns the singleton\n */\nfunction getGlobalSingleton(name, creator, obj) {\n const gbl = (obj || GLOBAL_OBJ) ;\n const __SENTRY__ = (gbl.__SENTRY__ = gbl.__SENTRY__ || {});\n const singleton = __SENTRY__[name] || (__SENTRY__[name] = creator());\n return singleton;\n}\n\nexport { GLOBAL_OBJ, getGlobalObject, getGlobalSingleton };\n//# sourceMappingURL=worldwide.js.map\n","import { tuple } from './type';\nexport var PresetStatusColorTypes = tuple('success', 'processing', 'error', 'default', 'warning');\n// eslint-disable-next-line import/prefer-default-export\nexport var PresetColorTypes = tuple('pink', 'red', 'yellow', 'orange', 'cyan', 'green', 'blue', 'purple', 'geekblue', 'magenta', 'volcano', 'gold', 'lime');","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { detectFlexGapSupported } from '../styleChecker';\nexport default (function () {\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n flexible = _React$useState2[0],\n setFlexible = _React$useState2[1];\n React.useEffect(function () {\n setFlexible(detectFlexGapSupported());\n }, []);\n return flexible;\n});","import { tuple } from './type';\n// ================== Collapse Motion ==================\nvar getCollapsedHeight = function getCollapsedHeight() {\n return {\n height: 0,\n opacity: 0\n };\n};\nvar getRealHeight = function getRealHeight(node) {\n var scrollHeight = node.scrollHeight;\n return {\n height: scrollHeight,\n opacity: 1\n };\n};\nvar getCurrentHeight = function getCurrentHeight(node) {\n return {\n height: node ? node.offsetHeight : 0\n };\n};\nvar skipOpacityTransition = function skipOpacityTransition(_, event) {\n return (event === null || event === void 0 ? void 0 : event.deadline) === true || event.propertyName === 'height';\n};\nvar initCollapseMotion = function initCollapseMotion() {\n var rootCls = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : 'ant';\n return {\n motionName: rootCls + \"-motion-collapse\",\n onAppearStart: getCollapsedHeight,\n onEnterStart: getCollapsedHeight,\n onAppearActive: getRealHeight,\n onEnterActive: getRealHeight,\n onLeaveStart: getCurrentHeight,\n onLeaveActive: getCollapsedHeight,\n onAppearEnd: skipOpacityTransition,\n onEnterEnd: skipOpacityTransition,\n onLeaveEnd: skipOpacityTransition,\n motionDeadline: 500\n };\n};\nvar SelectPlacements = tuple('bottomLeft', 'bottomRight', 'topLeft', 'topRight');\nvar getTransitionDirection = function getTransitionDirection(placement) {\n if (placement !== undefined && (placement === 'topLeft' || placement === 'topRight')) {\n return \"slide-down\";\n }\n return \"slide-up\";\n};\nvar getTransitionName = function getTransitionName(rootPrefixCls, motion, transitionName) {\n if (transitionName !== undefined) {\n return transitionName;\n }\n return rootPrefixCls + \"-\" + motion;\n};\nexport { getTransitionName, getTransitionDirection };\nexport default initCollapseMotion;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { placements } from \"rc-tooltip/es/placements\";\nvar autoAdjustOverflowEnabled = {\n adjustX: 1,\n adjustY: 1\n};\nvar autoAdjustOverflowDisabled = {\n adjustX: 0,\n adjustY: 0\n};\nvar targetOffset = [0, 0];\nexport function getOverflowOptions(autoAdjustOverflow) {\n if (typeof autoAdjustOverflow === 'boolean') {\n return autoAdjustOverflow ? autoAdjustOverflowEnabled : autoAdjustOverflowDisabled;\n }\n return _extends(_extends({}, autoAdjustOverflowDisabled), autoAdjustOverflow);\n}\nexport default function getPlacements(config) {\n var _config$arrowWidth = config.arrowWidth,\n arrowWidth = _config$arrowWidth === void 0 ? 4 : _config$arrowWidth,\n _config$horizontalArr = config.horizontalArrowShift,\n horizontalArrowShift = _config$horizontalArr === void 0 ? 16 : _config$horizontalArr,\n _config$verticalArrow = config.verticalArrowShift,\n verticalArrowShift = _config$verticalArrow === void 0 ? 8 : _config$verticalArrow,\n autoAdjustOverflow = config.autoAdjustOverflow,\n arrowPointAtCenter = config.arrowPointAtCenter;\n var placementMap = {\n left: {\n points: ['cr', 'cl'],\n offset: [-4, 0]\n },\n right: {\n points: ['cl', 'cr'],\n offset: [4, 0]\n },\n top: {\n points: ['bc', 'tc'],\n offset: [0, -4]\n },\n bottom: {\n points: ['tc', 'bc'],\n offset: [0, 4]\n },\n topLeft: {\n points: ['bl', 'tc'],\n offset: [-(horizontalArrowShift + arrowWidth), -4]\n },\n leftTop: {\n points: ['tr', 'cl'],\n offset: [-4, -(verticalArrowShift + arrowWidth)]\n },\n topRight: {\n points: ['br', 'tc'],\n offset: [horizontalArrowShift + arrowWidth, -4]\n },\n rightTop: {\n points: ['tl', 'cr'],\n offset: [4, -(verticalArrowShift + arrowWidth)]\n },\n bottomRight: {\n points: ['tr', 'bc'],\n offset: [horizontalArrowShift + arrowWidth, 4]\n },\n rightBottom: {\n points: ['bl', 'cr'],\n offset: [4, verticalArrowShift + arrowWidth]\n },\n bottomLeft: {\n points: ['tl', 'bc'],\n offset: [-(horizontalArrowShift + arrowWidth), 4]\n },\n leftBottom: {\n points: ['br', 'cl'],\n offset: [-4, verticalArrowShift + arrowWidth]\n }\n };\n Object.keys(placementMap).forEach(function (key) {\n placementMap[key] = arrowPointAtCenter ? _extends(_extends({}, placementMap[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow),\n targetOffset: targetOffset\n }) : _extends(_extends({}, placements[key]), {\n overflow: getOverflowOptions(autoAdjustOverflow)\n });\n placementMap[key].ignoreShake = true;\n });\n return placementMap;\n}","import * as React from 'react';\nvar isValidElement = React.isValidElement;\nexport { isValidElement };\nexport function isFragment(child) {\n return child && isValidElement(child) && child.type === React.Fragment;\n}\nexport function replaceElement(element, replacement, props) {\n if (!isValidElement(element)) {\n return replacement;\n }\n return /*#__PURE__*/React.cloneElement(element, typeof props === 'function' ? props(element.props || {}) : props);\n}\nexport function cloneElement(element, props) {\n return replaceElement(element, element, props);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nexport var responsiveArray = ['xxl', 'xl', 'lg', 'md', 'sm', 'xs'];\nexport var responsiveMap = {\n xs: '(max-width: 575px)',\n sm: '(min-width: 576px)',\n md: '(min-width: 768px)',\n lg: '(min-width: 992px)',\n xl: '(min-width: 1200px)',\n xxl: '(min-width: 1600px)'\n};\nvar subscribers = new Map();\nvar subUid = -1;\nvar screens = {};\nvar responsiveObserve = {\n matchHandlers: {},\n dispatch: function dispatch(pointMap) {\n screens = pointMap;\n subscribers.forEach(function (func) {\n return func(screens);\n });\n return subscribers.size >= 1;\n },\n subscribe: function subscribe(func) {\n if (!subscribers.size) this.register();\n subUid += 1;\n subscribers.set(subUid, func);\n func(screens);\n return subUid;\n },\n unsubscribe: function unsubscribe(token) {\n subscribers[\"delete\"](token);\n if (!subscribers.size) this.unregister();\n },\n unregister: function unregister() {\n var _this = this;\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var handler = _this.matchHandlers[matchMediaQuery];\n handler === null || handler === void 0 ? void 0 : handler.mql.removeListener(handler === null || handler === void 0 ? void 0 : handler.listener);\n });\n subscribers.clear();\n },\n register: function register() {\n var _this2 = this;\n Object.keys(responsiveMap).forEach(function (screen) {\n var matchMediaQuery = responsiveMap[screen];\n var listener = function listener(_ref) {\n var matches = _ref.matches;\n _this2.dispatch(_extends(_extends({}, screens), _defineProperty({}, screen, matches)));\n };\n var mql = window.matchMedia(matchMediaQuery);\n mql.addListener(listener);\n _this2.matchHandlers[matchMediaQuery] = {\n mql: mql,\n listener: listener\n };\n listener(mql);\n });\n }\n};\nexport default responsiveObserve;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport classNames from 'classnames';\nimport { tuple } from './type';\nvar InputStatuses = tuple('warning', 'error', '');\nexport function getStatusClassNames(prefixCls, status, hasFeedback) {\n var _classNames;\n return classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-status-success\", status === 'success'), _defineProperty(_classNames, prefixCls + \"-status-warning\", status === 'warning'), _defineProperty(_classNames, prefixCls + \"-status-error\", status === 'error'), _defineProperty(_classNames, prefixCls + \"-status-validating\", status === 'validating'), _defineProperty(_classNames, prefixCls + \"-has-feedback\", hasFeedback), _classNames));\n}\nexport var getMergedStatus = function getMergedStatus(contextStatus, customStatus) {\n return customStatus || contextStatus;\n};","import canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { isStyleSupport } from \"rc-util/es/Dom/styleChecker\";\nexport var canUseDocElement = function canUseDocElement() {\n return canUseDom() && window.document.documentElement;\n};\nexport { isStyleSupport };\nvar flexGapSupported;\nexport var detectFlexGapSupported = function detectFlexGapSupported() {\n if (!canUseDocElement()) {\n return false;\n }\n if (flexGapSupported !== undefined) {\n return flexGapSupported;\n }\n // create flex container with row-gap set\n var flex = document.createElement('div');\n flex.style.display = 'flex';\n flex.style.flexDirection = 'column';\n flex.style.rowGap = '1px';\n // create two, elements inside it\n flex.appendChild(document.createElement('div'));\n flex.appendChild(document.createElement('div'));\n // append to the DOM (needed to obtain scrollHeight)\n document.body.appendChild(flex);\n flexGapSupported = flex.scrollHeight === 1; // flex container should be 1px high from the row-gap\n document.body.removeChild(flex);\n return flexGapSupported;\n};","// https://stackoverflow.com/questions/46176165/ways-to-get-string-literal-type-of-array-values-without-enum-overhead\nexport var tuple = function tuple() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args;\n};\nexport var tupleNum = function tupleNum() {\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n return args;\n};","import raf from \"rc-util/es/raf\";\nvar id = 0;\nvar ids = {};\n// Support call raf with delay specified frame\nexport default function wrapperRaf(callback) {\n var delayFrames = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n var myId = id++;\n var restFrames = delayFrames;\n function internalCallback() {\n restFrames -= 1;\n if (restFrames <= 0) {\n callback();\n delete ids[myId];\n } else {\n ids[myId] = raf(internalCallback);\n }\n }\n ids[myId] = raf(internalCallback);\n return myId;\n}\nwrapperRaf.cancel = function cancel(pid) {\n if (pid === undefined) return;\n raf.cancel(ids[pid]);\n delete ids[pid];\n};\nwrapperRaf.ids = ids; // export this for test usage","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { forwardRef } from 'react';\nimport { ConfigConsumer, ConfigContext } from '../../config-provider';\nimport raf from '../raf';\nimport { cloneElement } from '../reactNode';\nimport useStyle from './style';\nvar styleForPseudo;\n// Where el is the DOM element you'd like to test for visibility\nfunction isHidden(element) {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return !element || element.offsetParent === null || element.hidden;\n}\nfunction getValidateContainer(nodeRoot) {\n if (nodeRoot instanceof Document) {\n return nodeRoot.body;\n }\n return Array.from(nodeRoot.childNodes).find(function (ele) {\n return (ele === null || ele === void 0 ? void 0 : ele.nodeType) === Node.ELEMENT_NODE;\n });\n}\nfunction isNotGrey(color) {\n // eslint-disable-next-line no-useless-escape\n var match = (color || '').match(/rgba?\\((\\d*), (\\d*), (\\d*)(, [\\d.]*)?\\)/);\n if (match && match[1] && match[2] && match[3]) {\n return !(match[1] === match[2] && match[2] === match[3]);\n }\n return true;\n}\nfunction isValidWaveColor(color) {\n return color && color !== '#fff' && color !== '#ffffff' && color !== 'rgb(255, 255, 255)' && color !== 'rgba(255, 255, 255, 1)' && isNotGrey(color) && !/rgba\\((?:\\d*, ){3}0\\)/.test(color) &&\n // any transparent rgba color\n color !== 'transparent';\n}\nfunction getTargetWaveColor(node) {\n var computedStyle = getComputedStyle(node);\n var borderTopColor = computedStyle.getPropertyValue('border-top-color');\n var borderColor = computedStyle.getPropertyValue('border-color');\n var backgroundColor = computedStyle.getPropertyValue('background-color');\n if (isValidWaveColor(borderTopColor)) {\n return borderTopColor;\n }\n if (isValidWaveColor(borderColor)) {\n return borderColor;\n }\n return backgroundColor;\n}\nexport var InternalWave = /*#__PURE__*/function (_React$Component) {\n _inherits(InternalWave, _React$Component);\n var _super = _createSuper(InternalWave);\n function InternalWave() {\n var _this;\n _classCallCheck(this, InternalWave);\n _this = _super.apply(this, arguments);\n _this.containerRef = /*#__PURE__*/React.createRef();\n _this.animationStart = false;\n _this.destroyed = false;\n _this.onClick = function (node, waveColor) {\n var _a, _b;\n var _this$props = _this.props,\n insertExtraNode = _this$props.insertExtraNode,\n disabled = _this$props.disabled;\n if (disabled || !node || isHidden(node) || node.className.includes('-leave')) {\n return;\n }\n _this.extraNode = document.createElement('div');\n var _assertThisInitialize = _assertThisInitialized(_this),\n extraNode = _assertThisInitialize.extraNode;\n var getPrefixCls = _this.context.getPrefixCls;\n extraNode.className = getPrefixCls('') + \"-click-animating-node\";\n var attributeName = _this.getAttributeName();\n node.setAttribute(attributeName, 'true');\n // Not white or transparent or grey\n if (isValidWaveColor(waveColor)) {\n extraNode.style.borderColor = waveColor;\n var nodeRoot = ((_a = node.getRootNode) === null || _a === void 0 ? void 0 : _a.call(node)) || node.ownerDocument;\n var nodeBody = (_b = getValidateContainer(nodeRoot)) !== null && _b !== void 0 ? _b : nodeRoot;\n styleForPseudo = updateCSS(\"\\n [\" + getPrefixCls('') + \"-click-animating-without-extra-node='true']::after, .\" + getPrefixCls('') + \"-click-animating-node {\\n --antd-wave-shadow-color: \" + waveColor + \";\\n }\", 'antd-wave', {\n csp: _this.csp,\n attachTo: nodeBody\n });\n }\n if (insertExtraNode) {\n node.appendChild(extraNode);\n }\n ['transition', 'animation'].forEach(function (name) {\n node.addEventListener(name + \"start\", _this.onTransitionStart);\n node.addEventListener(name + \"end\", _this.onTransitionEnd);\n });\n };\n _this.onTransitionStart = function (e) {\n if (_this.destroyed) {\n return;\n }\n var node = _this.containerRef.current;\n if (!e || e.target !== node || _this.animationStart) {\n return;\n }\n _this.resetEffect(node);\n };\n _this.onTransitionEnd = function (e) {\n if (!e || e.animationName !== 'fadeEffect') {\n return;\n }\n _this.resetEffect(e.target);\n };\n _this.bindAnimationEvent = function (node) {\n if (!node || !node.getAttribute || node.getAttribute('disabled') || node.className.includes('disabled')) {\n return;\n }\n var onClick = function onClick(e) {\n // Fix radio button click twice\n if (e.target.tagName === 'INPUT' || isHidden(e.target)) {\n return;\n }\n _this.resetEffect(node);\n // Get wave color from target\n var waveColor = getTargetWaveColor(node);\n _this.clickWaveTimeoutId = window.setTimeout(function () {\n return _this.onClick(node, waveColor);\n }, 0);\n raf.cancel(_this.animationStartId);\n _this.animationStart = true;\n // Render to trigger transition event cost 3 frames. Let's delay 10 frames to reset this.\n _this.animationStartId = raf(function () {\n _this.animationStart = false;\n }, 10);\n };\n node.addEventListener('click', onClick, true);\n return {\n cancel: function cancel() {\n node.removeEventListener('click', onClick, true);\n }\n };\n };\n _this.renderWave = function (_ref) {\n var csp = _ref.csp;\n var children = _this.props.children;\n _this.csp = csp;\n if (! /*#__PURE__*/React.isValidElement(children)) return children;\n var ref = _this.containerRef;\n if (supportRef(children)) {\n ref = composeRef(children.ref, _this.containerRef);\n }\n return cloneElement(children, {\n ref: ref\n });\n };\n return _this;\n }\n _createClass(InternalWave, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.destroyed = false;\n var node = this.containerRef.current;\n if (!node || node.nodeType !== 1) {\n return;\n }\n this.instance = this.bindAnimationEvent(node);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.instance) {\n this.instance.cancel();\n }\n if (this.clickWaveTimeoutId) {\n clearTimeout(this.clickWaveTimeoutId);\n }\n this.destroyed = true;\n }\n }, {\n key: \"getAttributeName\",\n value: function getAttributeName() {\n var getPrefixCls = this.context.getPrefixCls;\n var insertExtraNode = this.props.insertExtraNode;\n return insertExtraNode ? getPrefixCls('') + \"-click-animating\" : getPrefixCls('') + \"-click-animating-without-extra-node\";\n }\n }, {\n key: \"resetEffect\",\n value: function resetEffect(node) {\n var _this2 = this;\n if (!node || node === this.extraNode || !(node instanceof Element)) {\n return;\n }\n var insertExtraNode = this.props.insertExtraNode;\n var attributeName = this.getAttributeName();\n node.setAttribute(attributeName, 'false'); // edge has bug on `removeAttribute` #14466\n if (styleForPseudo) {\n styleForPseudo.innerHTML = '';\n }\n if (insertExtraNode && this.extraNode && node.contains(this.extraNode)) {\n node.removeChild(this.extraNode);\n }\n ['transition', 'animation'].forEach(function (name) {\n node.removeEventListener(name + \"start\", _this2.onTransitionStart);\n node.removeEventListener(name + \"end\", _this2.onTransitionEnd);\n });\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, this.renderWave);\n }\n }]);\n return InternalWave;\n}(React.Component);\nInternalWave.contextType = ConfigContext;\nvar Wave = /*#__PURE__*/forwardRef(function (props, ref) {\n useStyle();\n return /*#__PURE__*/React.createElement(InternalWave, _extends({\n ref: ref\n }, props));\n});\nexport default Wave;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Keyframes, useStyleRegister } from '@ant-design/cssinjs';\nimport { useContext } from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { useToken } from '../../theme/internal';\nvar genWaveStyle = function genWaveStyle(token) {\n var _ref;\n var waveEffect = new Keyframes('waveEffect', {\n '100%': {\n boxShadow: \"0 0 0 6px var(--antd-wave-shadow-color)\"\n }\n });\n var fadeEffect = new Keyframes('fadeEffect', {\n '100%': {\n opacity: 0\n }\n });\n return [(_ref = {}, _defineProperty(_ref, token.clickAnimatingWithoutExtraNodeTrue + \",\\n \" + token.clickAnimatingTrue, {\n '--antd-wave-shadow-color': token.colorPrimary,\n '--scroll-bar': 0,\n position: 'relative'\n }), _defineProperty(_ref, token.clickAnimatingWithoutExtraNodeTrueAfter + \",\\n & \" + token.clickAnimatingNode, {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n insetInlineEnd: 0,\n bottom: 0,\n display: 'block',\n borderRadius: 'inherit',\n boxShadow: \"0 0 0 0 var(--antd-wave-shadow-color)\",\n opacity: 0.2,\n animation: {\n _skip_check_: true,\n value: fadeEffect.getName(token.hashId) + \" 2s \" + token.motionEaseOutCirc + \", \" + waveEffect.getName(token.hashId) + \" 0.4s \" + token.motionEaseOutCirc\n },\n animationFillMode: 'forwards',\n content: '\"\"',\n pointerEvents: 'none'\n }), _ref), {}, waveEffect, fadeEffect];\n};\nexport default (function () {\n var _useToken = useToken(),\n _useToken2 = _slicedToArray(_useToken, 3),\n theme = _useToken2[0],\n token = _useToken2[1],\n hashId = _useToken2[2];\n var _useContext = useContext(ConfigContext),\n getPrefixCls = _useContext.getPrefixCls;\n var rootPrefixCls = getPrefixCls();\n var clickAnimatingTrue = \"[\" + rootPrefixCls + \"-click-animating='true']\";\n var clickAnimatingWithoutExtraNodeTrue = \"[\" + rootPrefixCls + \"-click-animating-without-extra-node='true']\";\n var clickAnimatingNode = \".\" + rootPrefixCls + \"-click-animating-node\";\n var waveToken = _extends(_extends({}, token), {\n hashId: hashId,\n clickAnimatingNode: clickAnimatingNode,\n clickAnimatingTrue: clickAnimatingTrue,\n clickAnimatingWithoutExtraNodeTrue: clickAnimatingWithoutExtraNodeTrue,\n clickAnimatingWithoutExtraNodeTrueAfter: clickAnimatingWithoutExtraNodeTrue + \"::after\"\n });\n return [useStyleRegister({\n theme: theme,\n token: token,\n hashId: hashId,\n path: ['wave']\n }, function () {\n return [genWaveStyle(waveToken)];\n }), hashId];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { useToken } from '../theme/internal';\nimport warning from '../_util/warning';\nexport var GroupSizeContext = /*#__PURE__*/React.createContext(undefined);\nvar ButtonGroup = function ButtonGroup(props) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var customizePrefixCls = props.prefixCls,\n size = props.size,\n className = props.className,\n others = __rest(props, [\"prefixCls\", \"size\", \"className\"]);\n var prefixCls = getPrefixCls('btn-group', customizePrefixCls);\n // Here we only need hashId\n var _useToken = useToken(),\n _useToken2 = _slicedToArray(_useToken, 3),\n hashId = _useToken2[2];\n // large => lg\n // small => sm\n var sizeCls = '';\n switch (size) {\n case 'large':\n sizeCls = 'lg';\n break;\n case 'small':\n sizeCls = 'sm';\n break;\n case 'middle':\n case undefined:\n break;\n default:\n process.env.NODE_ENV !== \"production\" ? warning(!size, 'Button.Group', 'Invalid prop `size`.') : void 0;\n }\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-\" + sizeCls, sizeCls), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _classNames), className, hashId);\n return /*#__PURE__*/React.createElement(GroupSizeContext.Provider, {\n value: size\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes\n })));\n};\nexport default ButtonGroup;","import LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport CSSMotion from 'rc-motion';\nimport React from 'react';\nvar getCollapsedWidth = function getCollapsedWidth() {\n return {\n width: 0,\n opacity: 0,\n transform: 'scale(0)'\n };\n};\nvar getRealWidth = function getRealWidth(node) {\n return {\n width: node.scrollWidth,\n opacity: 1,\n transform: 'scale(1)'\n };\n};\nvar LoadingIcon = function LoadingIcon(_ref) {\n var prefixCls = _ref.prefixCls,\n loading = _ref.loading,\n existIcon = _ref.existIcon;\n var visible = !!loading;\n if (existIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-loading-icon\"\n }, /*#__PURE__*/React.createElement(LoadingOutlined, null));\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n // We do not really use this motionName\n motionName: prefixCls + \"-loading-icon-motion\",\n removeOnLeave: true,\n onAppearStart: getCollapsedWidth,\n onAppearActive: getRealWidth,\n onEnterStart: getCollapsedWidth,\n onEnterActive: getRealWidth,\n onLeaveStart: getRealWidth,\n onLeaveActive: getCollapsedWidth\n }, function (_ref2, ref) {\n var className = _ref2.className,\n style = _ref2.style;\n return /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-loading-icon\",\n style: style,\n ref: ref\n }, /*#__PURE__*/React.createElement(LoadingOutlined, {\n className: className\n }));\n });\n};\nexport default LoadingIcon;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genButtonBorderStyle = function genButtonBorderStyle(buttonTypeCls, borderColor) {\n return _defineProperty({}, \"> span, > \" + buttonTypeCls, {\n '&:not(:last-child)': _defineProperty({}, \"&, & > \" + buttonTypeCls, {\n '&:not(:disabled)': {\n borderInlineEndColor: borderColor\n }\n }),\n '&:not(:first-child)': _defineProperty({}, \"&, & > \" + buttonTypeCls, {\n '&:not(:disabled)': {\n borderInlineStartColor: borderColor\n }\n })\n });\n};\nvar genGroupStyle = function genGroupStyle(token) {\n var _componentCls, _ref2;\n var componentCls = token.componentCls,\n fontSize = token.fontSize,\n lineWidth = token.lineWidth,\n colorPrimaryHover = token.colorPrimaryHover,\n colorErrorHover = token.colorErrorHover;\n return _defineProperty({}, componentCls + \"-group\", [(_ref2 = {\n position: 'relative',\n display: 'inline-flex'\n }, _defineProperty(_ref2, \"> span, > \" + componentCls, {\n '&:not(:last-child)': _defineProperty({}, \"&, & > \" + componentCls, {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }),\n '&:not(:first-child)': _defineProperty({\n marginInlineStart: -lineWidth\n }, \"&, & > \" + componentCls, {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n })\n }), _defineProperty(_ref2, componentCls, (_componentCls = {\n position: 'relative',\n zIndex: 1\n }, _defineProperty(_componentCls, \"&:hover,\\n &:focus,\\n &:active\", {\n zIndex: 2\n }), _defineProperty(_componentCls, '&[disabled]', {\n zIndex: 0\n }), _componentCls)), _defineProperty(_ref2, componentCls + \"-icon-only\", {\n fontSize: fontSize\n }), _ref2),\n // Border Color\n genButtonBorderStyle(componentCls + \"-primary\", colorPrimaryHover), genButtonBorderStyle(componentCls + \"-danger\", colorErrorHover)]);\n};\nexport default genGroupStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nfunction compactItemVerticalBorder(token) {\n return {\n // border collapse\n '&-item:not(&-last-item)': {\n marginBottom: -token.lineWidth\n },\n '&-item': {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n },\n '&[disabled]': {\n zIndex: 0\n }\n }\n };\n}\nfunction compactItemBorderVerticalRadius(prefixCls) {\n return {\n '&-item:not(&-first-item):not(&-last-item)': {\n borderRadius: 0\n },\n '&-item&-first-item:not(&-last-item)': _defineProperty({}, \"&, &\" + prefixCls + \"-sm, &\" + prefixCls + \"-lg\", {\n borderEndEndRadius: 0,\n borderEndStartRadius: 0\n }),\n '&-item&-last-item:not(&-first-item)': _defineProperty({}, \"&, &\" + prefixCls + \"-sm, &\" + prefixCls + \"-lg\", {\n borderStartStartRadius: 0,\n borderStartEndRadius: 0\n })\n };\n}\nexport function genCompactItemVerticalStyle(token, prefixCls) {\n return {\n '&-compact-vertical': _extends(_extends({}, compactItemVerticalBorder(token)), compactItemBorderVerticalRadius(prefixCls))\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport genGroupStyle from './group';\nimport { genFocusStyle } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nimport { genCompactItemVerticalStyle } from '../../style/compact-item-vertical';\n// ============================== Shared ==============================\nvar genSharedButtonStyle = function genSharedButtonStyle(token) {\n var _extends2, _extends3;\n var componentCls = token.componentCls,\n iconCls = token.iconCls;\n return _defineProperty({}, componentCls, _extends(_extends(_extends((_extends2 = {\n outline: 'none',\n position: 'relative',\n display: 'inline-block',\n fontWeight: 400,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n backgroundImage: 'none',\n backgroundColor: 'transparent',\n border: token.lineWidth + \"px \" + token.lineType + \" transparent\",\n cursor: 'pointer',\n transition: \"all \" + token.motionDurationMid + \" \" + token.motionEaseInOut,\n userSelect: 'none',\n touchAction: 'manipulation',\n lineHeight: token.lineHeight,\n color: token.colorText,\n '> span': {\n display: 'inline-block'\n }\n }, _defineProperty(_extends2, \"> \" + iconCls + \" + span, > span + \" + iconCls, {\n marginInlineStart: token.marginXS\n }), _defineProperty(_extends2, '&:not(:disabled)', _extends({}, genFocusStyle(token))), _extends2), genCompactItemStyle(token, componentCls)), genCompactItemVerticalStyle(token, componentCls)), (_extends3 = {\n // make `btn-icon-only` not too narrow\n '&-icon-only&-compact-item': {\n flex: 'none'\n }\n }, _defineProperty(_extends3, \"&-compact-item\" + componentCls + \"-primary\", {\n '&:not([disabled]) + &:not([disabled])': {\n position: 'relative',\n '&:after': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: token.lineWidth,\n height: \"calc(100% + \" + token.lineWidth * 2 + \"px)\",\n backgroundColor: token.colorPrimaryBorder,\n content: '\"\"'\n }\n }\n }), _defineProperty(_extends3, '&-compact-vertical-item', _defineProperty({}, \"&\" + componentCls + \"-primary\", {\n '&:not([disabled]) + &:not([disabled])': {\n position: 'relative',\n '&:after': {\n position: 'absolute',\n top: -token.lineWidth,\n insetInlineStart: -token.lineWidth,\n display: 'inline-block',\n width: \"calc(100% + \" + token.lineWidth * 2 + \"px)\",\n height: token.lineWidth,\n backgroundColor: token.colorPrimaryBorder,\n content: '\"\"'\n }\n }\n })), _extends3)));\n};\nvar genHoverActiveButtonStyle = function genHoverActiveButtonStyle(hoverStyle, activeStyle) {\n return {\n '&:not(:disabled)': {\n '&:hover': hoverStyle,\n '&:active': activeStyle\n }\n };\n};\n// ============================== Shape ===============================\nvar genCircleButtonStyle = function genCircleButtonStyle(token) {\n return {\n minWidth: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n borderRadius: '50%'\n };\n};\nvar genRoundButtonStyle = function genRoundButtonStyle(token) {\n return {\n borderRadius: token.controlHeight,\n paddingInlineStart: token.controlHeight / 2,\n paddingInlineEnd: token.controlHeight / 2,\n width: 'auto'\n };\n};\n// =============================== Type ===============================\nvar genGhostButtonStyle = function genGhostButtonStyle(btnCls, textColor, borderColor, textColorDisabled, borderColorDisabled, hoverStyle, activeStyle) {\n return _defineProperty({}, \"&\" + btnCls + \"-background-ghost\", _extends(_extends({\n color: textColor || undefined,\n backgroundColor: 'transparent',\n borderColor: borderColor || undefined,\n boxShadow: 'none'\n }, genHoverActiveButtonStyle(_extends({\n backgroundColor: 'transparent'\n }, hoverStyle), _extends({\n backgroundColor: 'transparent'\n }, activeStyle))), {\n '&:disabled': {\n cursor: 'not-allowed',\n color: textColorDisabled || undefined,\n borderColor: borderColorDisabled || undefined\n }\n }));\n};\nvar genSolidDisabledButtonStyle = function genSolidDisabledButtonStyle(token) {\n return {\n '&:disabled': {\n cursor: 'not-allowed',\n borderColor: token.colorBorder,\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n boxShadow: 'none'\n }\n };\n};\nvar genSolidButtonStyle = function genSolidButtonStyle(token) {\n return _extends({}, genSolidDisabledButtonStyle(token));\n};\nvar genPureDisabledButtonStyle = function genPureDisabledButtonStyle(token) {\n return {\n '&:disabled': {\n cursor: 'not-allowed',\n color: token.colorTextDisabled\n }\n };\n};\n// Type: Default\nvar genDefaultButtonStyle = function genDefaultButtonStyle(token) {\n return _extends(_extends(_extends(_extends(_extends({}, genSolidButtonStyle(token)), {\n backgroundColor: token.colorBgContainer,\n borderColor: token.colorBorder,\n boxShadow: \"0 \" + token.controlOutlineWidth + \"px 0 \" + token.controlTmpOutline\n }), genHoverActiveButtonStyle({\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n }, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n })), genGhostButtonStyle(token.componentCls, token.colorBgContainer, token.colorBgContainer, token.colorTextDisabled, token.colorBorder)), _defineProperty({}, \"&\" + token.componentCls + \"-dangerous\", _extends(_extends(_extends({\n color: token.colorError,\n borderColor: token.colorError\n }, genHoverActiveButtonStyle({\n color: token.colorErrorHover,\n borderColor: token.colorErrorBorderHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder)), genSolidDisabledButtonStyle(token))));\n};\n// Type: Primary\nvar genPrimaryButtonStyle = function genPrimaryButtonStyle(token) {\n return _extends(_extends(_extends(_extends(_extends({}, genSolidButtonStyle(token)), {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimary,\n boxShadow: \"0 \" + token.controlOutlineWidth + \"px 0 \" + token.controlOutline\n }), genHoverActiveButtonStyle({\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryHover\n }, {\n color: token.colorTextLightSolid,\n backgroundColor: token.colorPrimaryActive\n })), genGhostButtonStyle(token.componentCls, token.colorPrimary, token.colorPrimary, token.colorTextDisabled, token.colorBorder, {\n color: token.colorPrimaryHover,\n borderColor: token.colorPrimaryHover\n }, {\n color: token.colorPrimaryActive,\n borderColor: token.colorPrimaryActive\n })), _defineProperty({}, \"&\" + token.componentCls + \"-dangerous\", _extends(_extends(_extends({\n backgroundColor: token.colorError,\n boxShadow: \"0 \" + token.controlOutlineWidth + \"px 0 \" + token.colorErrorOutline\n }, genHoverActiveButtonStyle({\n backgroundColor: token.colorErrorHover\n }, {\n backgroundColor: token.colorErrorActive\n })), genGhostButtonStyle(token.componentCls, token.colorError, token.colorError, token.colorTextDisabled, token.colorBorder, {\n color: token.colorErrorHover,\n borderColor: token.colorErrorHover\n }, {\n color: token.colorErrorActive,\n borderColor: token.colorErrorActive\n })), genSolidDisabledButtonStyle(token))));\n};\n// Type: Dashed\nvar genDashedButtonStyle = function genDashedButtonStyle(token) {\n return _extends(_extends({}, genDefaultButtonStyle(token)), {\n borderStyle: 'dashed'\n });\n};\n// Type: Link\nvar genLinkButtonStyle = function genLinkButtonStyle(token) {\n return _extends(_extends(_extends({\n color: token.colorLink\n }, genHoverActiveButtonStyle({\n color: token.colorLinkHover\n }, {\n color: token.colorLinkActive\n })), genPureDisabledButtonStyle(token)), _defineProperty({}, \"&\" + token.componentCls + \"-dangerous\", _extends(_extends({\n color: token.colorError\n }, genHoverActiveButtonStyle({\n color: token.colorErrorHover\n }, {\n color: token.colorErrorActive\n })), genPureDisabledButtonStyle(token))));\n};\n// Type: Text\nvar genTextButtonStyle = function genTextButtonStyle(token) {\n return _extends(_extends(_extends({}, genHoverActiveButtonStyle({\n color: token.colorText,\n backgroundColor: token.colorBgTextHover\n }, {\n color: token.colorText,\n backgroundColor: token.colorBgTextActive\n })), genPureDisabledButtonStyle(token)), _defineProperty({}, \"&\" + token.componentCls + \"-dangerous\", _extends(_extends({\n color: token.colorError\n }, genPureDisabledButtonStyle(token)), genHoverActiveButtonStyle({\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }, {\n color: token.colorErrorHover,\n backgroundColor: token.colorErrorBg\n }))));\n};\nvar genTypeButtonStyle = function genTypeButtonStyle(token) {\n var _ref3;\n var componentCls = token.componentCls;\n return _ref3 = {}, _defineProperty(_ref3, componentCls + \"-default\", genDefaultButtonStyle(token)), _defineProperty(_ref3, componentCls + \"-primary\", genPrimaryButtonStyle(token)), _defineProperty(_ref3, componentCls + \"-dashed\", genDashedButtonStyle(token)), _defineProperty(_ref3, componentCls + \"-link\", genLinkButtonStyle(token)), _defineProperty(_ref3, componentCls + \"-text\", genTextButtonStyle(token)), _ref3;\n};\n// =============================== Size ===============================\nvar genSizeButtonStyle = function genSizeButtonStyle(token) {\n var _ref4;\n var sizePrefixCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var componentCls = token.componentCls,\n iconCls = token.iconCls;\n var paddingVertical = Math.max(0, (token.controlHeight - token.fontSize * token.lineHeight) / 2 - token.lineWidth);\n var paddingHorizontal = token.buttonPaddingHorizontal - token.lineWidth;\n var iconOnlyCls = componentCls + \"-icon-only\";\n return [// Size\n _defineProperty({}, \"\" + componentCls + sizePrefixCls, (_ref4 = {\n fontSize: token.fontSize,\n height: token.controlHeight,\n padding: paddingVertical + \"px \" + paddingHorizontal + \"px\",\n borderRadius: token.borderRadius\n }, _defineProperty(_ref4, \"&\" + iconOnlyCls, {\n width: token.controlHeight,\n paddingInlineStart: 0,\n paddingInlineEnd: 0,\n '> span': {\n transform: 'scale(1.143)' // 14px -> 16px\n }\n }), _defineProperty(_ref4, \"&\" + componentCls + \"-loading\", {\n opacity: token.opacityLoading,\n cursor: 'default'\n }), _defineProperty(_ref4, componentCls + \"-loading-icon\", {\n transition: \"width \" + token.motionDurationSlow + \" \" + token.motionEaseInOut + \", opacity \" + token.motionDurationSlow + \" \" + token.motionEaseInOut\n }), _defineProperty(_ref4, \"&:not(\" + iconOnlyCls + \") \" + componentCls + \"-loading-icon > \" + iconCls, {\n marginInlineEnd: token.marginXS\n }), _ref4)), // Shape - patch prefixCls again to override solid border radius style\n _defineProperty({}, \"\" + componentCls + componentCls + \"-circle\" + sizePrefixCls, genCircleButtonStyle(token)), _defineProperty({}, \"\" + componentCls + componentCls + \"-round\" + sizePrefixCls, genRoundButtonStyle(token))];\n};\nvar genSizeBaseButtonStyle = function genSizeBaseButtonStyle(token) {\n return genSizeButtonStyle(token);\n};\nvar genSizeSmallButtonStyle = function genSizeSmallButtonStyle(token) {\n var smallToken = mergeToken(token, {\n controlHeight: token.controlHeightSM,\n padding: token.paddingXS,\n buttonPaddingHorizontal: 8,\n borderRadius: token.borderRadiusSM\n });\n return genSizeButtonStyle(smallToken, token.componentCls + \"-sm\");\n};\nvar genSizeLargeButtonStyle = function genSizeLargeButtonStyle(token) {\n var largeToken = mergeToken(token, {\n controlHeight: token.controlHeightLG,\n fontSize: token.fontSizeLG,\n borderRadius: token.borderRadiusLG\n });\n return genSizeButtonStyle(largeToken, token.componentCls + \"-lg\");\n};\nvar genBlockButtonStyle = function genBlockButtonStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls, _defineProperty({}, \"&\" + componentCls + \"-block\", {\n width: '100%'\n }));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Button', function (token) {\n var controlTmpOutline = token.controlTmpOutline,\n paddingContentHorizontal = token.paddingContentHorizontal;\n var buttonToken = mergeToken(token, {\n colorOutlineDefault: controlTmpOutline,\n buttonPaddingHorizontal: paddingContentHorizontal\n });\n return [\n // Shared\n genSharedButtonStyle(buttonToken),\n // Size\n genSizeSmallButtonStyle(buttonToken), genSizeBaseButtonStyle(buttonToken), genSizeLargeButtonStyle(buttonToken),\n // Block\n genBlockButtonStyle(buttonToken),\n // Group (type, ghost, danger, disabled, loading)\n genTypeButtonStyle(buttonToken),\n // Button Group\n genGroupStyle(buttonToken)];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/* eslint-disable react/button-has-type */\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { useCompactItemContext } from '../space/Compact';\nimport { cloneElement, isFragment } from '../_util/reactNode';\nimport { tuple } from '../_util/type';\nimport warning from '../_util/warning';\nimport Wave from '../_util/wave';\nimport Group, { GroupSizeContext } from './button-group';\nimport LoadingIcon from './LoadingIcon';\n// CSSINJS\nimport useStyle from './style';\nvar rxTwoCNChar = /^[\\u4e00-\\u9fa5]{2}$/;\nvar isTwoCNChar = rxTwoCNChar.test.bind(rxTwoCNChar);\nfunction isString(str) {\n return typeof str === 'string';\n}\nfunction isUnBorderedButtonType(type) {\n return type === 'text' || type === 'link';\n}\n// Insert one space between two chinese characters automatically.\nfunction insertSpace(child, needInserted) {\n // Check the child if is undefined or null.\n if (child === null || child === undefined) {\n return;\n }\n var SPACE = needInserted ? ' ' : '';\n // strictNullChecks oops.\n if (typeof child !== 'string' && typeof child !== 'number' && isString(child.type) && isTwoCNChar(child.props.children)) {\n return cloneElement(child, {\n children: child.props.children.split('').join(SPACE)\n });\n }\n if (typeof child === 'string') {\n return isTwoCNChar(child) ? /*#__PURE__*/React.createElement(\"span\", null, child.split('').join(SPACE)) : /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n if (isFragment(child)) {\n return /*#__PURE__*/React.createElement(\"span\", null, child);\n }\n return child;\n}\nfunction spaceChildren(children, needInserted) {\n var isPrevChildPure = false;\n var childList = [];\n React.Children.forEach(children, function (child) {\n var type = _typeof(child);\n var isCurrentChildPure = type === 'string' || type === 'number';\n if (isPrevChildPure && isCurrentChildPure) {\n var lastIndex = childList.length - 1;\n var lastChild = childList[lastIndex];\n childList[lastIndex] = \"\" + lastChild + child;\n } else {\n childList.push(child);\n }\n isPrevChildPure = isCurrentChildPure;\n });\n // Pass to React.Children.map to auto fill key\n return React.Children.map(childList, function (child) {\n return insertSpace(child, needInserted);\n });\n}\nvar ButtonTypes = tuple('default', 'primary', 'ghost', 'dashed', 'link', 'text');\nvar ButtonShapes = tuple('default', 'circle', 'round');\nvar ButtonHTMLTypes = tuple('submit', 'button', 'reset');\nexport function convertLegacyProps(type) {\n if (type === 'danger') {\n return {\n danger: true\n };\n }\n return {\n type: type\n };\n}\nvar InternalButton = function InternalButton(props, ref) {\n var _classNames;\n var _props$loading = props.loading,\n loading = _props$loading === void 0 ? false : _props$loading,\n customizePrefixCls = props.prefixCls,\n _props$type = props.type,\n type = _props$type === void 0 ? 'default' : _props$type,\n danger = props.danger,\n _props$shape = props.shape,\n shape = _props$shape === void 0 ? 'default' : _props$shape,\n customizeSize = props.size,\n customDisabled = props.disabled,\n className = props.className,\n children = props.children,\n icon = props.icon,\n _props$ghost = props.ghost,\n ghost = _props$ghost === void 0 ? false : _props$ghost,\n _props$block = props.block,\n block = _props$block === void 0 ? false : _props$block,\n _props$htmlType = props.htmlType,\n htmlType = _props$htmlType === void 0 ? 'button' : _props$htmlType,\n rest = __rest(props, [\"loading\", \"prefixCls\", \"type\", \"danger\", \"shape\", \"size\", \"disabled\", \"className\", \"children\", \"icon\", \"ghost\", \"block\", \"htmlType\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n autoInsertSpaceInButton = _React$useContext.autoInsertSpaceInButton,\n direction = _React$useContext.direction;\n var prefixCls = getPrefixCls('btn', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var size = React.useContext(SizeContext);\n // ===================== Disabled =====================\n var disabled = React.useContext(DisabledContext);\n var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n var groupSize = React.useContext(GroupSizeContext);\n var _React$useState = React.useState(!!loading),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerLoading = _React$useState2[0],\n setLoading = _React$useState2[1];\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n hasTwoCNChar = _React$useState4[0],\n setHasTwoCNChar = _React$useState4[1];\n var buttonRef = ref || /*#__PURE__*/React.createRef();\n var isNeedInserted = function isNeedInserted() {\n return React.Children.count(children) === 1 && !icon && !isUnBorderedButtonType(type);\n };\n var fixTwoCNChar = function fixTwoCNChar() {\n // Fix for HOC usage like \n if (!buttonRef || !buttonRef.current || autoInsertSpaceInButton === false) {\n return;\n }\n var buttonText = buttonRef.current.textContent;\n if (isNeedInserted() && isTwoCNChar(buttonText)) {\n if (!hasTwoCNChar) {\n setHasTwoCNChar(true);\n }\n } else if (hasTwoCNChar) {\n setHasTwoCNChar(false);\n }\n };\n // =============== Update Loading ===============\n var loadingOrDelay = typeof loading === 'boolean' ? loading : (loading === null || loading === void 0 ? void 0 : loading.delay) || true;\n React.useEffect(function () {\n var delayTimer = null;\n if (typeof loadingOrDelay === 'number') {\n delayTimer = window.setTimeout(function () {\n delayTimer = null;\n setLoading(loadingOrDelay);\n }, loadingOrDelay);\n } else {\n setLoading(loadingOrDelay);\n }\n return function () {\n if (delayTimer) {\n // in order to not perform a React state update on an unmounted component\n // and clear timer after 'loadingOrDelay' updated.\n window.clearTimeout(delayTimer);\n delayTimer = null;\n }\n };\n }, [loadingOrDelay]);\n React.useEffect(fixTwoCNChar, [buttonRef]);\n var handleClick = function handleClick(e) {\n var onClick = props.onClick;\n // https://github.com/ant-design/ant-design/issues/30207\n if (innerLoading || mergedDisabled) {\n e.preventDefault();\n return;\n }\n onClick === null || onClick === void 0 ? void 0 : onClick(e);\n };\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Button', \"`icon` is using ReactNode instead of string naming in v4. Please check `\" + icon + \"` at https://ant.design/components/icon\") : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!(ghost && isUnBorderedButtonType(type)), 'Button', \"`link` or `text` button can't be a `ghost` button.\") : void 0;\n var autoInsertSpace = autoInsertSpaceInButton !== false;\n var _useCompactItemContex = useCompactItemContext(prefixCls, direction),\n compactSize = _useCompactItemContex.compactSize,\n compactItemClassnames = _useCompactItemContex.compactItemClassnames;\n var sizeClassNameMap = {\n large: 'lg',\n small: 'sm',\n middle: undefined\n };\n var sizeFullname = compactSize || groupSize || customizeSize || size;\n var sizeCls = sizeFullname ? sizeClassNameMap[sizeFullname] || '' : '';\n var iconType = innerLoading ? 'loading' : icon;\n var linkButtonRestProps = omit(rest, ['navigate']);\n var classes = classNames(prefixCls, hashId, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-\" + shape, shape !== 'default' && shape), _defineProperty(_classNames, prefixCls + \"-\" + type, type), _defineProperty(_classNames, prefixCls + \"-\" + sizeCls, sizeCls), _defineProperty(_classNames, prefixCls + \"-icon-only\", !children && children !== 0 && !!iconType), _defineProperty(_classNames, prefixCls + \"-background-ghost\", ghost && !isUnBorderedButtonType(type)), _defineProperty(_classNames, prefixCls + \"-loading\", innerLoading), _defineProperty(_classNames, prefixCls + \"-two-chinese-chars\", hasTwoCNChar && autoInsertSpace && !innerLoading), _defineProperty(_classNames, prefixCls + \"-block\", block), _defineProperty(_classNames, prefixCls + \"-dangerous\", !!danger), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _defineProperty(_classNames, prefixCls + \"-disabled\", linkButtonRestProps.href !== undefined && mergedDisabled), _classNames), compactItemClassnames, className);\n var iconNode = icon && !innerLoading ? icon : /*#__PURE__*/React.createElement(LoadingIcon, {\n existIcon: !!icon,\n prefixCls: prefixCls,\n loading: !!innerLoading\n });\n var kids = children || children === 0 ? spaceChildren(children, isNeedInserted() && autoInsertSpace) : null;\n if (linkButtonRestProps.href !== undefined) {\n return wrapSSR( /*#__PURE__*/React.createElement(\"a\", _extends({}, linkButtonRestProps, {\n className: classes,\n onClick: handleClick,\n ref: buttonRef\n }), iconNode, kids));\n }\n var buttonNode = /*#__PURE__*/React.createElement(\"button\", _extends({}, rest, {\n type: htmlType,\n className: classes,\n onClick: handleClick,\n disabled: mergedDisabled,\n ref: buttonRef\n }), iconNode, kids);\n if (!isUnBorderedButtonType(type)) {\n buttonNode = /*#__PURE__*/React.createElement(Wave, {\n disabled: !!innerLoading\n }, buttonNode);\n }\n return wrapSSR(buttonNode);\n};\nvar Button = /*#__PURE__*/React.forwardRef(InternalButton);\nif (process.env.NODE_ENV !== 'production') {\n Button.displayName = 'Button';\n}\nButton.Group = Group;\nButton.__ANT_BUTTON = true;\nexport default Button;","import Button from './button';\nexport default Button;","import * as React from 'react';\nvar DisabledContext = /*#__PURE__*/React.createContext(false);\nexport var DisabledContextProvider = function DisabledContextProvider(_ref) {\n var children = _ref.children,\n disabled = _ref.disabled;\n var originDisabled = React.useContext(DisabledContext);\n return /*#__PURE__*/React.createElement(DisabledContext.Provider, {\n value: disabled !== null && disabled !== void 0 ? disabled : originDisabled\n }, children);\n};\nexport default DisabledContext;","import * as React from 'react';\nvar SizeContext = /*#__PURE__*/React.createContext(undefined);\nexport var SizeContextProvider = function SizeContextProvider(_ref) {\n var children = _ref.children,\n size = _ref.size;\n return /*#__PURE__*/React.createElement(SizeContext.Consumer, null, function (originSize) {\n return /*#__PURE__*/React.createElement(SizeContext.Provider, {\n value: size || originSize\n }, children);\n });\n};\nexport default SizeContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nexport var defaultIconPrefixCls = 'anticon';\nvar defaultGetPrefixCls = function defaultGetPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? \"ant-\" + suffixCls : 'ant';\n};\n// zombieJ: 🚨 Do not pass `defaultRenderEmpty` here since it will cause circular dependency.\nexport var ConfigContext = /*#__PURE__*/React.createContext({\n // We provide a default function for Context without provider\n getPrefixCls: defaultGetPrefixCls,\n iconPrefixCls: defaultIconPrefixCls\n});\nexport var ConfigConsumer = ConfigContext.Consumer;\n/** @deprecated Use hooks instead. This is a legacy function */\nexport function withConfigConsumer(config) {\n return function withConfigConsumerFunc(Component) {\n // Wrap with ConfigConsumer. Since we need compatible with react 15, be careful when using ref methods\n var SFC = function SFC(props) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (configProps) {\n var basicPrefixCls = config.prefixCls;\n var getPrefixCls = configProps.getPrefixCls;\n var customizePrefixCls = props.prefixCls;\n var prefixCls = getPrefixCls(basicPrefixCls, customizePrefixCls);\n return /*#__PURE__*/React.createElement(Component, _extends({}, configProps, props, {\n prefixCls: prefixCls\n }));\n });\n };\n var cons = Component.constructor;\n var name = cons && cons.displayName || Component.name || 'Component';\n if (process.env.NODE_ENV !== 'production') {\n SFC.displayName = \"withConfigConsumer(\" + name + \")\";\n }\n return SFC;\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport { changeConfirmLocale } from '../modal/locale';\nimport LocaleContext from './context';\nexport var ANT_MARK = 'internalMark';\nvar LocaleProvider = function LocaleProvider(props) {\n var _props$locale = props.locale,\n locale = _props$locale === void 0 ? {} : _props$locale,\n children = props.children,\n _ANT_MARK__ = props._ANT_MARK__;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(_ANT_MARK__ === ANT_MARK, 'LocaleProvider', '`LocaleProvider` is deprecated. Please use `locale` with `ConfigProvider` instead: http://u.ant.design/locale') : void 0;\n }\n React.useEffect(function () {\n changeConfirmLocale(locale && locale.Modal);\n return function () {\n changeConfirmLocale();\n };\n }, [locale]);\n var getMemoizedContextValue = React.useMemo(function () {\n return _extends(_extends({}, locale), {\n exist: true\n });\n }, [locale]);\n return /*#__PURE__*/React.createElement(LocaleContext.Provider, {\n value: getMemoizedContextValue\n }, children);\n};\nexport default LocaleProvider;","/* eslint-disable import/prefer-default-export, prefer-destructuring */\nimport { generate } from '@ant-design/colors';\nimport { TinyColor } from '@ctrl/tinycolor';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\";\nimport { updateCSS } from \"rc-util/es/Dom/dynamicCSS\";\nimport warning from '../_util/warning';\nvar dynamicStyleMark = \"-ant-\" + Date.now() + \"-\" + Math.random();\nexport function getStyle(globalPrefixCls, theme) {\n var variables = {};\n var formatColor = function formatColor(color, updater) {\n var clone = color.clone();\n clone = (updater === null || updater === void 0 ? void 0 : updater(clone)) || clone;\n return clone.toRgbString();\n };\n var fillColor = function fillColor(colorVal, type) {\n var baseColor = new TinyColor(colorVal);\n var colorPalettes = generate(baseColor.toRgbString());\n variables[type + \"-color\"] = formatColor(baseColor);\n variables[type + \"-color-disabled\"] = colorPalettes[1];\n variables[type + \"-color-hover\"] = colorPalettes[4];\n variables[type + \"-color-active\"] = colorPalettes[6];\n variables[type + \"-color-outline\"] = baseColor.clone().setAlpha(0.2).toRgbString();\n variables[type + \"-color-deprecated-bg\"] = colorPalettes[0];\n variables[type + \"-color-deprecated-border\"] = colorPalettes[2];\n };\n // ================ Primary Color ================\n if (theme.primaryColor) {\n fillColor(theme.primaryColor, 'primary');\n var primaryColor = new TinyColor(theme.primaryColor);\n var primaryColors = generate(primaryColor.toRgbString());\n // Legacy - We should use semantic naming standard\n primaryColors.forEach(function (color, index) {\n variables[\"primary-\" + (index + 1)] = color;\n });\n // Deprecated\n variables['primary-color-deprecated-l-35'] = formatColor(primaryColor, function (c) {\n return c.lighten(35);\n });\n variables['primary-color-deprecated-l-20'] = formatColor(primaryColor, function (c) {\n return c.lighten(20);\n });\n variables['primary-color-deprecated-t-20'] = formatColor(primaryColor, function (c) {\n return c.tint(20);\n });\n variables['primary-color-deprecated-t-50'] = formatColor(primaryColor, function (c) {\n return c.tint(50);\n });\n variables['primary-color-deprecated-f-12'] = formatColor(primaryColor, function (c) {\n return c.setAlpha(c.getAlpha() * 0.12);\n });\n var primaryActiveColor = new TinyColor(primaryColors[0]);\n variables['primary-color-active-deprecated-f-30'] = formatColor(primaryActiveColor, function (c) {\n return c.setAlpha(c.getAlpha() * 0.3);\n });\n variables['primary-color-active-deprecated-d-02'] = formatColor(primaryActiveColor, function (c) {\n return c.darken(2);\n });\n }\n // ================ Success Color ================\n if (theme.successColor) {\n fillColor(theme.successColor, 'success');\n }\n // ================ Warning Color ================\n if (theme.warningColor) {\n fillColor(theme.warningColor, 'warning');\n }\n // ================= Error Color =================\n if (theme.errorColor) {\n fillColor(theme.errorColor, 'error');\n }\n // ================= Info Color ==================\n if (theme.infoColor) {\n fillColor(theme.infoColor, 'info');\n }\n // Convert to css variables\n var cssList = Object.keys(variables).map(function (key) {\n return \"--\" + globalPrefixCls + \"-\" + key + \": \" + variables[key] + \";\";\n });\n return (\"\\n :root {\\n \" + cssList.join('\\n') + \"\\n }\\n \").trim();\n}\nexport function registerTheme(globalPrefixCls, theme) {\n var style = getStyle(globalPrefixCls, theme);\n if (canUseDom()) {\n updateCSS(style, dynamicStyleMark + \"-dynamic-theme\");\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'ConfigProvider', 'SSR do not support dynamic theme with css variables.') : void 0;\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { createTheme } from '@ant-design/cssinjs';\nimport IconContext from \"@ant-design/icons/es/components/Context\";\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport * as React from 'react';\nimport LocaleProvider, { ANT_MARK } from '../locale-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale/en_US';\nimport { DesignTokenContext } from '../theme/internal';\nimport defaultSeedToken from '../theme/themes/seed';\nimport { ConfigConsumer, ConfigContext, defaultIconPrefixCls } from './context';\nimport { registerTheme } from './cssVariables';\nimport { DisabledContextProvider } from './DisabledContext';\nimport useTheme from './hooks/useTheme';\nimport SizeContext, { SizeContextProvider } from './SizeContext';\nimport useStyle from './style';\nexport { ConfigContext, ConfigConsumer };\nexport { defaultIconPrefixCls };\nexport var configConsumerProps = ['getTargetContainer', 'getPopupContainer', 'rootPrefixCls', 'getPrefixCls', 'renderEmpty', 'csp', 'autoInsertSpaceInButton', 'locale', 'pageHeader'];\n// These props is used by `useContext` directly in sub component\nvar PASSED_PROPS = ['getTargetContainer', 'getPopupContainer', 'renderEmpty', 'pageHeader', 'input', 'pagination', 'form'];\nexport var defaultPrefixCls = 'ant';\nvar globalPrefixCls;\nvar globalIconPrefixCls;\nfunction getGlobalPrefixCls() {\n return globalPrefixCls || defaultPrefixCls;\n}\nfunction getGlobalIconPrefixCls() {\n return globalIconPrefixCls || defaultIconPrefixCls;\n}\nvar setGlobalConfig = function setGlobalConfig(_ref) {\n var prefixCls = _ref.prefixCls,\n iconPrefixCls = _ref.iconPrefixCls,\n theme = _ref.theme;\n if (prefixCls !== undefined) {\n globalPrefixCls = prefixCls;\n }\n if (iconPrefixCls !== undefined) {\n globalIconPrefixCls = iconPrefixCls;\n }\n if (theme) {\n registerTheme(getGlobalPrefixCls(), theme);\n }\n};\nexport var globalConfig = function globalConfig() {\n return {\n getPrefixCls: function getPrefixCls(suffixCls, customizePrefixCls) {\n if (customizePrefixCls) return customizePrefixCls;\n return suffixCls ? getGlobalPrefixCls() + \"-\" + suffixCls : getGlobalPrefixCls();\n },\n getIconPrefixCls: getGlobalIconPrefixCls,\n getRootPrefixCls: function getRootPrefixCls() {\n // If Global prefixCls provided, use this\n if (globalPrefixCls) {\n return globalPrefixCls;\n }\n // Fallback to default prefixCls\n return getGlobalPrefixCls();\n }\n };\n};\nvar ProviderChildren = function ProviderChildren(props) {\n var _a, _b;\n var children = props.children,\n customCsp = props.csp,\n autoInsertSpaceInButton = props.autoInsertSpaceInButton,\n form = props.form,\n locale = props.locale,\n componentSize = props.componentSize,\n direction = props.direction,\n space = props.space,\n virtual = props.virtual,\n dropdownMatchSelectWidth = props.dropdownMatchSelectWidth,\n legacyLocale = props.legacyLocale,\n parentContext = props.parentContext,\n customIconPrefixCls = props.iconPrefixCls,\n theme = props.theme,\n componentDisabled = props.componentDisabled;\n var getPrefixCls = React.useCallback(function (suffixCls, customizePrefixCls) {\n var prefixCls = props.prefixCls;\n if (customizePrefixCls) return customizePrefixCls;\n var mergedPrefixCls = prefixCls || parentContext.getPrefixCls('');\n return suffixCls ? mergedPrefixCls + \"-\" + suffixCls : mergedPrefixCls;\n }, [parentContext.getPrefixCls, props.prefixCls]);\n var iconPrefixCls = customIconPrefixCls || parentContext.iconPrefixCls || defaultIconPrefixCls;\n var shouldWrapSSR = iconPrefixCls !== parentContext.iconPrefixCls;\n var csp = customCsp || parentContext.csp;\n var wrapSSR = useStyle(iconPrefixCls);\n var mergedTheme = useTheme(theme, parentContext.theme);\n var config = _extends(_extends({}, parentContext), {\n csp: csp,\n autoInsertSpaceInButton: autoInsertSpaceInButton,\n locale: locale || legacyLocale,\n direction: direction,\n space: space,\n virtual: virtual,\n dropdownMatchSelectWidth: dropdownMatchSelectWidth,\n getPrefixCls: getPrefixCls,\n iconPrefixCls: iconPrefixCls,\n theme: mergedTheme\n });\n // Pass the props used by `useContext` directly with child component.\n // These props should merged into `config`.\n PASSED_PROPS.forEach(function (propName) {\n var propValue = props[propName];\n if (propValue) {\n config[propName] = propValue;\n }\n });\n // https://github.com/ant-design/ant-design/issues/27617\n var memoedConfig = useMemo(function () {\n return config;\n }, config, function (prevConfig, currentConfig) {\n var prevKeys = Object.keys(prevConfig);\n var currentKeys = Object.keys(currentConfig);\n return prevKeys.length !== currentKeys.length || prevKeys.some(function (key) {\n return prevConfig[key] !== currentConfig[key];\n });\n });\n var memoIconContextValue = React.useMemo(function () {\n return {\n prefixCls: iconPrefixCls,\n csp: csp\n };\n }, [iconPrefixCls, csp]);\n var childNode = shouldWrapSSR ? wrapSSR(children) : children;\n // Additional Form provider\n var validateMessages = {};\n if (locale) {\n validateMessages = ((_a = locale.Form) === null || _a === void 0 ? void 0 : _a.defaultValidateMessages) || ((_b = defaultLocale.Form) === null || _b === void 0 ? void 0 : _b.defaultValidateMessages) || {};\n }\n if (form && form.validateMessages) {\n validateMessages = _extends(_extends({}, validateMessages), form.validateMessages);\n }\n if (Object.keys(validateMessages).length > 0) {\n childNode = /*#__PURE__*/React.createElement(RcFormProvider, {\n validateMessages: validateMessages\n }, children);\n }\n if (locale) {\n childNode = /*#__PURE__*/React.createElement(LocaleProvider, {\n locale: locale,\n _ANT_MARK__: ANT_MARK\n }, childNode);\n }\n if (iconPrefixCls || csp) {\n childNode = /*#__PURE__*/React.createElement(IconContext.Provider, {\n value: memoIconContextValue\n }, childNode);\n }\n if (componentSize) {\n childNode = /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: componentSize\n }, childNode);\n }\n // ================================ Dynamic theme ================================\n var memoTheme = React.useMemo(function () {\n var _a = mergedTheme || {},\n algorithm = _a.algorithm,\n token = _a.token,\n rest = __rest(_a, [\"algorithm\", \"token\"]);\n var themeObj = algorithm && (!Array.isArray(algorithm) || algorithm.length > 0) ? createTheme(algorithm) : undefined;\n return _extends(_extends({}, rest), {\n theme: themeObj,\n token: _extends(_extends({}, defaultSeedToken), token)\n });\n }, [mergedTheme]);\n if (theme) {\n childNode = /*#__PURE__*/React.createElement(DesignTokenContext.Provider, {\n value: memoTheme\n }, childNode);\n }\n // =================================== Render ===================================\n if (componentDisabled !== undefined) {\n childNode = /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: componentDisabled\n }, childNode);\n }\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: memoedConfig\n }, childNode);\n};\nvar ConfigProvider = function ConfigProvider(props) {\n return /*#__PURE__*/React.createElement(LocaleReceiver, null, function (_, __, legacyLocale) {\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (context) {\n return /*#__PURE__*/React.createElement(ProviderChildren, _extends({\n parentContext: context,\n legacyLocale: legacyLocale\n }, props));\n });\n });\n};\nConfigProvider.ConfigContext = ConfigContext;\nConfigProvider.SizeContext = SizeContext;\nConfigProvider.config = setGlobalConfig;\nexport default ConfigProvider;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useStyleRegister } from '@ant-design/cssinjs';\nimport { resetIcon } from '../../style';\nimport { useToken } from '../../theme/internal';\nvar useStyle = function useStyle(iconPrefixCls) {\n var _useToken = useToken(),\n _useToken2 = _slicedToArray(_useToken, 2),\n theme = _useToken2[0],\n token = _useToken2[1];\n // Generate style for icons\n return useStyleRegister({\n theme: theme,\n token: token,\n hashId: '',\n path: ['ant-design-icons', iconPrefixCls]\n }, function () {\n return [_defineProperty({}, \".\" + iconPrefixCls, resetIcon())];\n });\n};\nexport default useStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport useMemo from \"rc-util/es/hooks/useMemo\";\nimport shallowEqual from 'shallowequal';\nimport { defaultConfig } from '../../theme/internal';\nexport default function useTheme(theme, parentTheme) {\n var themeConfig = theme || {};\n var parentThemeConfig = themeConfig.inherit === false || !parentTheme ? defaultConfig : parentTheme;\n var mergedTheme = useMemo(function () {\n if (!theme) {\n return parentTheme;\n }\n // Override\n var mergedComponents = _extends({}, parentThemeConfig.components);\n Object.keys(theme.components || {}).forEach(function (componentName) {\n mergedComponents[componentName] = _extends(_extends({}, mergedComponents[componentName]), theme.components[componentName]);\n });\n // Base token\n return _extends(_extends(_extends({}, parentThemeConfig), themeConfig), {\n token: _extends(_extends({}, parentThemeConfig.token), themeConfig.token),\n components: mergedComponents\n });\n }, [themeConfig, parentThemeConfig], function (prev, next) {\n return prev.some(function (prevTheme, index) {\n var nextTheme = next[index];\n return !shallowEqual(prevTheme, nextTheme);\n });\n });\n return mergedTheme;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent } from '../../style';\n// ============================== Shared ==============================\nvar genSharedDividerStyle = function genSharedDividerStyle(token) {\n var _extends2;\n var componentCls = token.componentCls,\n sizePaddingEdgeHorizontal = token.sizePaddingEdgeHorizontal,\n colorSplit = token.colorSplit,\n lineWidth = token.lineWidth;\n return _defineProperty({}, componentCls, _extends(_extends({}, resetComponent(token)), (_extends2 = {\n borderBlockStart: lineWidth + \"px solid \" + colorSplit,\n // vertical\n '&-vertical': {\n position: 'relative',\n top: '-0.06em',\n display: 'inline-block',\n height: '0.9em',\n margin: \"0 \" + token.dividerVerticalGutterMargin + \"px\",\n verticalAlign: 'middle',\n borderTop: 0,\n borderInlineStart: lineWidth + \"px solid \" + colorSplit\n },\n '&-horizontal': {\n display: 'flex',\n clear: 'both',\n width: '100%',\n minWidth: '100%',\n margin: token.dividerHorizontalGutterMargin + \"px 0\"\n },\n '&-horizontal&-with-text': {\n display: 'flex',\n margin: token.dividerHorizontalWithTextGutterMargin + \"px 0\",\n color: token.colorTextHeading,\n fontWeight: 500,\n fontSize: token.fontSizeLG,\n whiteSpace: 'nowrap',\n textAlign: 'center',\n borderBlockStart: \"0 \" + colorSplit,\n '&::before, &::after': {\n position: 'relative',\n top: '50%',\n width: '50%',\n borderBlockStart: lineWidth + \"px solid transparent\",\n // Chrome not accept `inherit` in `border-top`\n borderBlockStartColor: 'inherit',\n borderBlockEnd: 0,\n transform: 'translateY(50%)',\n content: \"''\"\n }\n },\n '&-horizontal&-with-text-left': {\n '&::before': {\n top: '50%',\n width: '5%'\n },\n '&::after': {\n top: '50%',\n width: '95%'\n }\n },\n '&-horizontal&-with-text-right': {\n '&::before': {\n top: '50%',\n width: '95%'\n },\n '&::after': {\n top: '50%',\n width: '5%'\n }\n }\n }, _defineProperty(_extends2, componentCls + \"-inner-text\", {\n display: 'inline-block',\n padding: '0 1em'\n }), _defineProperty(_extends2, '&-dashed', {\n background: 'none',\n borderColor: colorSplit,\n borderStyle: 'dashed',\n borderWidth: lineWidth + \"px 0 0\"\n }), _defineProperty(_extends2, '&-horizontal&-with-text&-dashed', {\n '&::before, &::after': {\n borderStyle: 'dashed none none'\n }\n }), _defineProperty(_extends2, '&-vertical&-dashed', {\n borderInlineStart: lineWidth,\n borderInlineEnd: 0,\n borderBlockStart: 0,\n borderBlockEnd: 0\n }), _defineProperty(_extends2, '&-plain&-with-text', {\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize\n }), _defineProperty(_extends2, '&-horizontal&-with-text-left&-no-default-orientation-margin-left', _defineProperty({\n '&::before': {\n width: 0\n },\n '&::after': {\n width: '100%'\n }\n }, componentCls + \"-inner-text\", {\n paddingInlineStart: sizePaddingEdgeHorizontal\n })), _defineProperty(_extends2, '&-horizontal&-with-text-right&-no-default-orientation-margin-right', _defineProperty({\n '&::before': {\n width: '100%'\n },\n '&::after': {\n width: 0\n }\n }, componentCls + \"-inner-text\", {\n paddingInlineEnd: sizePaddingEdgeHorizontal\n })), _extends2)));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Divider', function (token) {\n var dividerToken = mergeToken(token, {\n dividerVerticalGutterMargin: token.marginXS,\n dividerHorizontalWithTextGutterMargin: token.margin,\n dividerHorizontalGutterMargin: token.marginLG\n });\n return [genSharedDividerStyle(dividerToken)];\n}, {\n sizePaddingEdgeHorizontal: 0\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport warning from '../_util/warning';\nimport useStyle from './style';\nvar Divider = function Divider(props) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var customizePrefixCls = props.prefixCls,\n _props$type = props.type,\n type = _props$type === void 0 ? 'horizontal' : _props$type,\n _props$orientation = props.orientation,\n orientation = _props$orientation === void 0 ? 'center' : _props$orientation,\n orientationMargin = props.orientationMargin,\n className = props.className,\n children = props.children,\n dashed = props.dashed,\n plain = props.plain,\n restProps = __rest(props, [\"prefixCls\", \"type\", \"orientation\", \"orientationMargin\", \"className\", \"children\", \"dashed\", \"plain\"]);\n var prefixCls = getPrefixCls('divider', customizePrefixCls);\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var orientationPrefix = orientation.length > 0 ? \"-\" + orientation : orientation;\n var hasChildren = !!children;\n var hasCustomMarginLeft = orientation === 'left' && orientationMargin != null;\n var hasCustomMarginRight = orientation === 'right' && orientationMargin != null;\n var classString = classNames(prefixCls, hashId, prefixCls + \"-\" + type, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-with-text\", hasChildren), _defineProperty(_classNames, prefixCls + \"-with-text\" + orientationPrefix, hasChildren), _defineProperty(_classNames, prefixCls + \"-dashed\", !!dashed), _defineProperty(_classNames, prefixCls + \"-plain\", !!plain), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _defineProperty(_classNames, prefixCls + \"-no-default-orientation-margin-left\", hasCustomMarginLeft), _defineProperty(_classNames, prefixCls + \"-no-default-orientation-margin-right\", hasCustomMarginRight), _classNames), className);\n var innerStyle = _extends(_extends({}, hasCustomMarginLeft && {\n marginLeft: orientationMargin\n }), hasCustomMarginRight && {\n marginRight: orientationMargin\n });\n // Warning children not work in vertical mode\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!children || type !== 'vertical', 'Divider', '`children` not working in `vertical` mode.') : void 0;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classString\n }, restProps, {\n role: \"separator\"\n }), children && type !== 'vertical' && /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-inner-text\",\n style: innerStyle\n }, children)));\n};\nexport default Divider;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { FormProvider as RcFormProvider } from 'rc-field-form';\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nexport var FormContext = /*#__PURE__*/React.createContext({\n labelAlign: 'right',\n vertical: false,\n itemRef: function itemRef() {}\n});\nexport var NoStyleItemContext = /*#__PURE__*/React.createContext(null);\nexport var FormProvider = function FormProvider(props) {\n var providerProps = omit(props, ['prefixCls']);\n return /*#__PURE__*/React.createElement(RcFormProvider, _extends({}, providerProps));\n};\nexport var FormItemPrefixContext = /*#__PURE__*/React.createContext({\n prefixCls: ''\n});\nexport var FormItemInputContext = /*#__PURE__*/React.createContext({});\nexport var NoFormStyle = function NoFormStyle(_ref) {\n var children = _ref.children,\n status = _ref.status,\n override = _ref.override;\n var formItemInputContext = useContext(FormItemInputContext);\n var newFormItemInputContext = useMemo(function () {\n var newContext = _extends({}, formItemInputContext);\n if (override) {\n delete newContext.isFormItemInput;\n }\n if (status) {\n delete newContext.status;\n delete newContext.hasFeedback;\n delete newContext.feedbackIcon;\n }\n return newContext;\n }, [status, override, formItemInputContext]);\n return /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: newFormItemInputContext\n }, children);\n};","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function useDebounce(value) {\n var _React$useState = React.useState(value),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n cacheValue = _React$useState2[0],\n setCacheValue = _React$useState2[1];\n React.useEffect(function () {\n var timeout = setTimeout(function () {\n setCacheValue(value);\n }, value.length ? 0 : 10);\n return function () {\n clearTimeout(timeout);\n };\n }, [value]);\n return cacheValue;\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genFormValidateMotionStyle = function genFormValidateMotionStyle(token) {\n var _helpItemCls;\n var componentCls = token.componentCls;\n var helpCls = componentCls + \"-show-help\";\n var helpItemCls = componentCls + \"-show-help-item\";\n return _defineProperty({}, helpCls, _defineProperty({\n // Explain holder\n transition: \"opacity \" + token.motionDurationSlow + \" \" + token.motionEaseInOut,\n '&-appear, &-enter': {\n opacity: 0,\n '&-active': {\n opacity: 1\n }\n },\n '&-leave': {\n opacity: 1,\n '&-active': {\n opacity: 0\n }\n }\n }, helpItemCls, (_helpItemCls = {\n overflow: 'hidden',\n transition: \"height \" + token.motionDurationSlow + \" \" + token.motionEaseInOut + \",\\n opacity \" + token.motionDurationSlow + \" \" + token.motionEaseInOut + \",\\n transform \" + token.motionDurationSlow + \" \" + token.motionEaseInOut + \" !important\"\n }, _defineProperty(_helpItemCls, \"&\" + helpItemCls + \"-appear, &\" + helpItemCls + \"-enter\", _defineProperty({\n transform: \"translateY(-5px)\",\n opacity: 0\n }, \"&-active\", {\n transform: 'translateY(0)',\n opacity: 1\n })), _defineProperty(_helpItemCls, \"&\" + helpItemCls + \"-leave-active\", {\n transform: \"translateY(-5px)\"\n }), _helpItemCls)));\n};\nexport default genFormValidateMotionStyle;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { genCollapseMotion, zoomIn } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nimport genFormValidateMotionStyle from './explain';\nvar resetForm = function resetForm(token) {\n var _ref;\n return _ref = {\n legend: {\n display: 'block',\n width: '100%',\n marginBottom: token.marginLG,\n padding: 0,\n color: token.colorTextDescription,\n fontSize: token.fontSizeLG,\n lineHeight: 'inherit',\n border: 0,\n borderBottom: token.lineWidth + \"px \" + token.lineType + \" \" + token.colorBorder\n },\n label: {\n fontSize: token.fontSize\n },\n 'input[type=\"search\"]': {\n boxSizing: 'border-box'\n },\n // Position radios and checkboxes better\n 'input[type=\"radio\"], input[type=\"checkbox\"]': {\n lineHeight: 'normal'\n },\n 'input[type=\"file\"]': {\n display: 'block'\n },\n // Make range inputs behave like textual form controls\n 'input[type=\"range\"]': {\n display: 'block',\n width: '100%'\n },\n // Make multiple select elements height not fixed\n 'select[multiple], select[size]': {\n height: 'auto'\n }\n }, _defineProperty(_ref, \"input[type='file']:focus,\\n input[type='radio']:focus,\\n input[type='checkbox']:focus\", {\n outline: 0,\n boxShadow: \"0 0 0 \" + token.controlOutlineWidth + \"px \" + token.controlOutline\n }), _defineProperty(_ref, \"output\", {\n display: 'block',\n paddingTop: 15,\n color: token.colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight\n }), _ref;\n};\nvar genFormSize = function genFormSize(token, height) {\n var _formItemCls;\n var formItemCls = token.formItemCls;\n return _defineProperty({}, formItemCls, (_formItemCls = {}, _defineProperty(_formItemCls, formItemCls + \"-label > label\", {\n height: height\n }), _defineProperty(_formItemCls, formItemCls + \"-control-input\", {\n minHeight: height\n }), _formItemCls));\n};\nvar genFormStyle = function genFormStyle(token) {\n var _extends2;\n var componentCls = token.componentCls;\n return _defineProperty({}, token.componentCls, _extends(_extends(_extends({}, resetComponent(token)), resetForm(token)), (_extends2 = {}, _defineProperty(_extends2, componentCls + \"-text\", {\n display: 'inline-block',\n paddingInlineEnd: token.paddingSM\n }), _defineProperty(_extends2, '&-small', _extends({}, genFormSize(token, token.controlHeightSM))), _defineProperty(_extends2, '&-large', _extends({}, genFormSize(token, token.controlHeightLG))), _extends2)));\n};\nvar genFormItemStyle = function genFormItemStyle(token) {\n var _label, _ref6, _extends3;\n var formItemCls = token.formItemCls,\n iconCls = token.iconCls,\n componentCls = token.componentCls,\n rootPrefixCls = token.rootPrefixCls;\n return _defineProperty({}, formItemCls, _extends(_extends({}, resetComponent(token)), (_extends3 = {\n marginBottom: token.marginLG,\n verticalAlign: 'top',\n '&-with-help': {\n transition: 'none'\n }\n }, _defineProperty(_extends3, \"&-hidden,\\n &-hidden.\" + rootPrefixCls + \"-row\", {\n // https://github.com/ant-design/ant-design/issues/26141\n display: 'none'\n }), _defineProperty(_extends3, '&-has-warning', _defineProperty({}, formItemCls + \"-split\", {\n color: token.colorError\n })), _defineProperty(_extends3, '&-has-error', _defineProperty({}, formItemCls + \"-split\", {\n color: token.colorWarning\n })), _defineProperty(_extends3, formItemCls + \"-label\", {\n display: 'inline-block',\n flexGrow: 0,\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textAlign: 'end',\n verticalAlign: 'middle',\n '&-left': {\n textAlign: 'start'\n },\n '&-wrap': {\n overflow: 'unset',\n lineHeight: token.lineHeight + \" - 0.25em\",\n whiteSpace: 'unset'\n },\n '> label': (_label = {\n position: 'relative',\n display: 'inline-flex',\n alignItems: 'center',\n maxWidth: '100%',\n height: token.controlHeight,\n color: token.colorTextHeading,\n fontSize: token.fontSize\n }, _defineProperty(_label, \"> \" + iconCls, {\n fontSize: token.fontSize,\n verticalAlign: 'top'\n }), _defineProperty(_label, \"&\" + formItemCls + \"-required:not(\" + formItemCls + \"-required-mark-optional)::before\", _defineProperty({\n display: 'inline-block',\n marginInlineEnd: token.marginXXS,\n color: token.colorError,\n fontSize: token.fontSize,\n fontFamily: 'SimSun, sans-serif',\n lineHeight: 1,\n content: '\"*\"'\n }, componentCls + \"-hide-required-mark &\", {\n display: 'none'\n })), _defineProperty(_label, formItemCls + \"-optional\", _defineProperty({\n display: 'inline-block',\n marginInlineStart: token.marginXXS,\n color: token.colorTextDescription\n }, componentCls + \"-hide-required-mark &\", {\n display: 'none'\n })), _defineProperty(_label, formItemCls + \"-tooltip\", {\n color: token.colorTextDescription,\n cursor: 'help',\n writingMode: 'horizontal-tb',\n marginInlineStart: token.marginXXS\n }), _defineProperty(_label, '&::after', {\n content: '\":\"',\n position: 'relative',\n marginBlock: 0,\n marginInlineStart: token.marginXXS / 2,\n marginInlineEnd: token.marginXS\n }), _defineProperty(_label, \"&\" + formItemCls + \"-no-colon::after\", {\n content: '\" \"'\n }), _label)\n }), _defineProperty(_extends3, formItemCls + \"-control\", (_ref6 = {\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1\n }, _defineProperty(_ref6, \"&:first-child:not([class^=\\\"'\" + rootPrefixCls + \"-col-'\\\"]):not([class*=\\\"' \" + rootPrefixCls + \"-col-'\\\"])\", {\n width: '100%'\n }), _defineProperty(_ref6, '&-input', {\n position: 'relative',\n display: 'flex',\n alignItems: 'center',\n minHeight: token.controlHeight,\n '&-content': {\n flex: 'auto',\n maxWidth: '100%'\n }\n }), _ref6)), _defineProperty(_extends3, formItemCls, {\n '&-explain, &-extra': {\n clear: 'both',\n color: token.colorTextDescription,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight\n },\n '&-explain-connected': {\n width: '100%'\n },\n '&-extra': {\n minHeight: token.controlHeightSM,\n transition: \"color \" + token.motionDurationMid + \" \" + token.motionEaseOut // sync input color transition\n },\n\n '&-explain': {\n '&-error': {\n color: token.colorError\n },\n '&-warning': {\n color: token.colorWarning\n }\n }\n }), _defineProperty(_extends3, \"&-with-help \" + formItemCls + \"-explain\", {\n height: 'auto',\n opacity: 1\n }), _defineProperty(_extends3, formItemCls + \"-feedback-icon\", {\n fontSize: token.fontSize,\n textAlign: 'center',\n visibility: 'visible',\n animationName: zoomIn,\n animationDuration: token.motionDurationMid,\n animationTimingFunction: token.motionEaseOutBack,\n pointerEvents: 'none',\n '&-success': {\n color: token.colorSuccess\n },\n '&-error': {\n color: token.colorError\n },\n '&-warning': {\n color: token.colorWarning\n },\n '&-validating': {\n color: token.colorPrimary\n }\n }), _extends3)));\n};\nvar genHorizontalStyle = function genHorizontalStyle(token) {\n var _ref8;\n var componentCls = token.componentCls,\n formItemCls = token.formItemCls,\n rootPrefixCls = token.rootPrefixCls;\n return _defineProperty({}, componentCls + \"-horizontal\", (_ref8 = {}, _defineProperty(_ref8, formItemCls + \"-label\", {\n flexGrow: 0\n }), _defineProperty(_ref8, formItemCls + \"-control\", {\n flex: '1 1 0',\n // https://github.com/ant-design/ant-design/issues/32777\n // https://github.com/ant-design/ant-design/issues/33773\n minWidth: 0\n }), _defineProperty(_ref8, formItemCls + \"-label.\" + rootPrefixCls + \"-col-24 + \" + formItemCls + \"-control\", {\n minWidth: 'unset'\n }), _ref8));\n};\nvar genInlineStyle = function genInlineStyle(token) {\n var _formItemCls2;\n var componentCls = token.componentCls,\n formItemCls = token.formItemCls;\n return _defineProperty({}, componentCls + \"-inline\", _defineProperty({\n display: 'flex',\n flexWrap: 'wrap'\n }, formItemCls, (_formItemCls2 = {\n flex: 'none',\n flexWrap: 'nowrap',\n marginInlineEnd: token.margin,\n marginBottom: 0,\n '&-with-help': {\n marginBottom: token.marginLG\n }\n }, _defineProperty(_formItemCls2, \"> \" + formItemCls + \"-label,\\n > \" + formItemCls + \"-control\", {\n display: 'inline-block',\n verticalAlign: 'top'\n }), _defineProperty(_formItemCls2, \"> \" + formItemCls + \"-label\", {\n flex: 'none'\n }), _defineProperty(_formItemCls2, componentCls + \"-text\", {\n display: 'inline-block'\n }), _defineProperty(_formItemCls2, formItemCls + \"-has-feedback\", {\n display: 'inline-block'\n }), _formItemCls2)));\n};\nvar makeVerticalLayoutLabel = function makeVerticalLayoutLabel(token) {\n return {\n margin: 0,\n padding: \"0 0 \" + token.paddingXS + \"px\",\n whiteSpace: 'initial',\n textAlign: 'start',\n '> label': {\n margin: 0,\n '&::after': {\n display: 'none'\n }\n }\n };\n};\nvar makeVerticalLayout = function makeVerticalLayout(token) {\n var _ref12;\n var componentCls = token.componentCls,\n formItemCls = token.formItemCls;\n return _ref12 = {}, _defineProperty(_ref12, formItemCls + \" \" + formItemCls + \"-label\", _extends({}, makeVerticalLayoutLabel(token))), _defineProperty(_ref12, componentCls, _defineProperty({}, formItemCls, _defineProperty({\n flexWrap: 'wrap'\n }, formItemCls + \"-label,\\n \" + formItemCls + \"-control\", {\n flex: '0 0 100%',\n maxWidth: '100%'\n }))), _ref12;\n};\nvar genVerticalStyle = function genVerticalStyle(token) {\n var _ref17;\n var componentCls = token.componentCls,\n formItemCls = token.formItemCls,\n rootPrefixCls = token.rootPrefixCls;\n return _ref17 = {}, _defineProperty(_ref17, componentCls + \"-vertical\", _defineProperty({}, formItemCls, _defineProperty({\n '&-row': {\n flexDirection: 'column'\n },\n '&-label > label': {\n height: 'auto'\n }\n }, componentCls + \"-item-control\", {\n width: '100%'\n }))), _defineProperty(_ref17, componentCls + \"-vertical \" + formItemCls + \"-label,\\n .\" + rootPrefixCls + \"-col-24\" + formItemCls + \"-label,\\n .\" + rootPrefixCls + \"-col-xl-24\" + formItemCls + \"-label\", _extends({}, makeVerticalLayoutLabel(token))), _defineProperty(_ref17, \"@media (max-width: \" + token.screenSMMax + \"px)\", _extends(_extends({}, makeVerticalLayout(token)), _defineProperty({}, componentCls, _defineProperty({}, \".\" + rootPrefixCls + \"-col-xs-24\" + formItemCls + \"-label\", _extends({}, makeVerticalLayoutLabel(token)))))), _defineProperty(_ref17, \"@media (max-width: \" + token.screenSMMax + \"px)\", _defineProperty({}, componentCls, _defineProperty({}, \".\" + rootPrefixCls + \"-col-sm-24\" + formItemCls + \"-label\", _extends({}, makeVerticalLayoutLabel(token))))), _defineProperty(_ref17, \"@media (max-width: \" + token.screenMDMax + \"px)\", _defineProperty({}, componentCls, _defineProperty({}, \".\" + rootPrefixCls + \"-col-md-24\" + formItemCls + \"-label\", _extends({}, makeVerticalLayoutLabel(token))))), _defineProperty(_ref17, \"@media (max-width: \" + token.screenLGMax + \"px)\", _defineProperty({}, componentCls, _defineProperty({}, \".\" + rootPrefixCls + \"-col-lg-24\" + formItemCls + \"-label\", _extends({}, makeVerticalLayoutLabel(token))))), _ref17;\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Form', function (token, _ref18) {\n var rootPrefixCls = _ref18.rootPrefixCls;\n var formToken = mergeToken(token, {\n formItemCls: token.componentCls + \"-item\",\n rootPrefixCls: rootPrefixCls\n });\n return [genFormStyle(formToken), genFormItemStyle(formToken), genFormValidateMotionStyle(formToken), genHorizontalStyle(formToken), genInlineStyle(formToken), genVerticalStyle(formToken), genCollapseMotion(formToken), zoomIn];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport CSSMotion, { CSSMotionList } from 'rc-motion';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport initCollapseMotion from '../_util/motion';\nimport { FormItemPrefixContext } from './context';\nimport useDebounce from './hooks/useDebounce';\nimport useStyle from './style';\nvar EMPTY_LIST = [];\nfunction toErrorEntity(error, errorStatus, prefix) {\n var index = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : 0;\n return {\n key: typeof error === 'string' ? error : prefix + \"-\" + index,\n error: error,\n errorStatus: errorStatus\n };\n}\nexport default function ErrorList(_ref) {\n var help = _ref.help,\n helpStatus = _ref.helpStatus,\n _ref$errors = _ref.errors,\n errors = _ref$errors === void 0 ? EMPTY_LIST : _ref$errors,\n _ref$warnings = _ref.warnings,\n warnings = _ref$warnings === void 0 ? EMPTY_LIST : _ref$warnings,\n rootClassName = _ref.className,\n fieldId = _ref.fieldId,\n onVisibleChanged = _ref.onVisibleChanged;\n var _React$useContext = React.useContext(FormItemPrefixContext),\n prefixCls = _React$useContext.prefixCls;\n var baseClassName = prefixCls + \"-item-explain\";\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n hashId = _useStyle2[1];\n var collapseMotion = useMemo(function () {\n return initCollapseMotion(prefixCls);\n }, [prefixCls]);\n // We have to debounce here again since somewhere use ErrorList directly still need no shaking\n // ref: https://github.com/ant-design/ant-design/issues/36336\n var debounceErrors = useDebounce(errors);\n var debounceWarnings = useDebounce(warnings);\n var fullKeyList = React.useMemo(function () {\n if (help !== undefined && help !== null) {\n return [toErrorEntity(help, helpStatus, 'help')];\n }\n return [].concat(_toConsumableArray(debounceErrors.map(function (error, index) {\n return toErrorEntity(error, 'error', 'error', index);\n })), _toConsumableArray(debounceWarnings.map(function (warning, index) {\n return toErrorEntity(warning, 'warning', 'warning', index);\n })));\n }, [help, helpStatus, debounceErrors, debounceWarnings]);\n var helpProps = {};\n if (fieldId) {\n helpProps.id = fieldId + \"_help\";\n }\n return /*#__PURE__*/React.createElement(CSSMotion, {\n motionDeadline: collapseMotion.motionDeadline,\n motionName: prefixCls + \"-show-help\",\n visible: !!fullKeyList.length,\n onVisibleChanged: onVisibleChanged\n }, function (holderProps) {\n var holderClassName = holderProps.className,\n holderStyle = holderProps.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, helpProps, {\n className: classNames(baseClassName, holderClassName, rootClassName, hashId),\n style: holderStyle,\n role: \"alert\"\n }), /*#__PURE__*/React.createElement(CSSMotionList, _extends({\n keys: fullKeyList\n }, initCollapseMotion(prefixCls), {\n motionName: prefixCls + \"-show-help-item\",\n component: false\n }), function (itemProps) {\n var key = itemProps.key,\n error = itemProps.error,\n errorStatus = itemProps.errorStatus,\n itemClassName = itemProps.className,\n itemStyle = itemProps.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n key: key,\n className: classNames(itemClassName, _defineProperty({}, baseClassName + \"-\" + errorStatus, errorStatus)),\n style: itemStyle\n }, error);\n }));\n });\n}","function t(t){return\"object\"==typeof t&&null!=t&&1===t.nodeType}function e(t,e){return(!e||\"hidden\"!==t)&&\"visible\"!==t&&\"clip\"!==t}function n(t,n){if(t.clientHeighte||o>t&&l=e&&d>=n?o-t-r:l>e&&dn?l-e+i:0}var i=function(e,i){var o=window,l=i.scrollMode,d=i.block,f=i.inline,h=i.boundary,u=i.skipOverflowHiddenElements,s=\"function\"==typeof h?h:function(t){return t!==h};if(!t(e))throw new TypeError(\"Invalid target\");for(var a,c,g=document.scrollingElement||document.documentElement,p=[],m=e;t(m)&&s(m);){if((m=null==(c=(a=m).parentElement)?a.getRootNode().host||null:c)===g){p.push(m);break}null!=m&&m===document.body&&n(m)&&!n(document.documentElement)||null!=m&&n(m,u)&&p.push(m)}for(var w=o.visualViewport?o.visualViewport.width:innerWidth,v=o.visualViewport?o.visualViewport.height:innerHeight,W=window.scrollX||pageXOffset,H=window.scrollY||pageYOffset,b=e.getBoundingClientRect(),y=b.height,E=b.width,M=b.top,V=b.right,x=b.bottom,I=b.left,C=\"start\"===d||\"nearest\"===d?M:\"end\"===d?x:M+y/2,R=\"center\"===f?I+E/2:\"end\"===f?V:I,T=[],k=0;k=0&&I>=0&&x<=v&&V<=w&&M>=Y&&x<=S&&I>=j&&V<=L)return T;var N=getComputedStyle(B),q=parseInt(N.borderLeftWidth,10),z=parseInt(N.borderTopWidth,10),A=parseInt(N.borderRightWidth,10),F=parseInt(N.borderBottomWidth,10),G=0,J=0,K=\"offsetWidth\"in B?B.offsetWidth-B.clientWidth-q-A:0,P=\"offsetHeight\"in B?B.offsetHeight-B.clientHeight-z-F:0,Q=\"offsetWidth\"in B?0===B.offsetWidth?0:X/B.offsetWidth:0,U=\"offsetHeight\"in B?0===B.offsetHeight?0:O/B.offsetHeight:0;if(g===B)G=\"start\"===d?C:\"end\"===d?C-v:\"nearest\"===d?r(H,H+v,v,z,F,H+C,H+C+y,y):C-v/2,J=\"start\"===f?R:\"center\"===f?R-w/2:\"end\"===f?R-w:r(W,W+w,w,q,A,W+R,W+R+E,E),G=Math.max(0,G+H),J=Math.max(0,J+W);else{G=\"start\"===d?C-Y-z:\"end\"===d?C-S+F+P:\"nearest\"===d?r(Y,S,O,z,F+P,C,C+y,y):C-(Y+O/2)+P/2,J=\"start\"===f?R-j-q:\"center\"===f?R-(j+X/2)+K/2:\"end\"===f?R-L+A+K:r(j,L,X,q,A+K,R,R+E,E);var Z=B.scrollLeft,$=B.scrollTop;C+=$-(G=Math.max(0,Math.min($+G/U,B.scrollHeight-O/U+P))),R+=Z-(J=Math.max(0,Math.min(Z+J/Q,B.scrollWidth-X/Q+K)))}T.push({el:B,top:G,left:J})}return T};export{i as default};\n//# sourceMappingURL=index.mjs.map\n","import compute from 'compute-scroll-into-view';\nfunction isOptionsObject(options) {\n return options === Object(options) && Object.keys(options).length !== 0;\n}\nfunction defaultBehavior(actions, behavior) {\n if (behavior === void 0) {\n behavior = 'auto';\n }\n var canSmoothScroll = ('scrollBehavior' in document.body.style);\n actions.forEach(function (_ref) {\n var el = _ref.el,\n top = _ref.top,\n left = _ref.left;\n if (el.scroll && canSmoothScroll) {\n el.scroll({\n top: top,\n left: left,\n behavior: behavior\n });\n } else {\n el.scrollTop = top;\n el.scrollLeft = left;\n }\n });\n}\nfunction getOptions(options) {\n if (options === false) {\n return {\n block: 'end',\n inline: 'nearest'\n };\n }\n if (isOptionsObject(options)) {\n return options;\n }\n return {\n block: 'start',\n inline: 'nearest'\n };\n}\nfunction scrollIntoView(target, options) {\n var isTargetAttached = target.isConnected || target.ownerDocument.documentElement.contains(target);\n if (isOptionsObject(options) && typeof options.behavior === 'function') {\n return options.behavior(isTargetAttached ? compute(target, options) : []);\n }\n if (!isTargetAttached) {\n return;\n }\n var computeOptions = getOptions(options);\n return defaultBehavior(compute(target, computeOptions), computeOptions.behavior);\n}\nexport default scrollIntoView;","// form item name black list. in form ,you can use form.id get the form item element.\n// use object hasOwnProperty will get better performance if black list is longer.\nvar formItemNameBlackList = ['parentNode'];\n// default form item id prefix.\nvar defaultItemNamePrefixCls = 'form_item';\nexport function toArray(candidate) {\n if (candidate === undefined || candidate === false) return [];\n return Array.isArray(candidate) ? candidate : [candidate];\n}\nexport function getFieldId(namePath, formName) {\n if (!namePath.length) return undefined;\n var mergedId = namePath.join('_');\n if (formName) {\n return formName + \"_\" + mergedId;\n }\n var isIllegalName = formItemNameBlackList.includes(mergedId);\n return isIllegalName ? defaultItemNamePrefixCls + \"_\" + mergedId : mergedId;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useForm as useRcForm } from 'rc-field-form';\nimport * as React from 'react';\nimport scrollIntoView from 'scroll-into-view-if-needed';\nimport { getFieldId, toArray } from '../util';\nfunction toNamePathStr(name) {\n var namePath = toArray(name);\n return namePath.join('_');\n}\nexport default function useForm(form) {\n var _useRcForm = useRcForm(),\n _useRcForm2 = _slicedToArray(_useRcForm, 1),\n rcForm = _useRcForm2[0];\n var itemsRef = React.useRef({});\n var wrapForm = React.useMemo(function () {\n return form !== null && form !== void 0 ? form : _extends(_extends({}, rcForm), {\n __INTERNAL__: {\n itemRef: function itemRef(name) {\n return function (node) {\n var namePathStr = toNamePathStr(name);\n if (node) {\n itemsRef.current[namePathStr] = node;\n } else {\n delete itemsRef.current[namePathStr];\n }\n };\n }\n },\n scrollToField: function scrollToField(name) {\n var options = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var namePath = toArray(name);\n var fieldId = getFieldId(namePath, wrapForm.__INTERNAL__.name);\n var node = fieldId ? document.getElementById(fieldId) : null;\n if (node) {\n scrollIntoView(node, _extends({\n scrollMode: 'if-needed',\n block: 'nearest'\n }, options));\n }\n },\n getFieldInstance: function getFieldInstance(name) {\n var namePathStr = toNamePathStr(name);\n return itemsRef.current[namePathStr];\n }\n });\n }, [form, rcForm]);\n return [wrapForm];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport FieldForm, { List, useWatch } from 'rc-field-form';\nimport * as React from 'react';\nimport { useMemo } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext, { DisabledContextProvider } from '../config-provider/DisabledContext';\nimport SizeContext, { SizeContextProvider } from '../config-provider/SizeContext';\nimport { FormContext } from './context';\nimport useForm from './hooks/useForm';\nimport useStyle from './style';\nvar InternalForm = function InternalForm(props, ref) {\n var _classNames;\n var contextSize = React.useContext(SizeContext);\n var contextDisabled = React.useContext(DisabledContext);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n contextForm = _React$useContext.form;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className,\n _props$size = props.size,\n size = _props$size === void 0 ? contextSize : _props$size,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? contextDisabled : _props$disabled,\n form = props.form,\n colon = props.colon,\n labelAlign = props.labelAlign,\n labelWrap = props.labelWrap,\n labelCol = props.labelCol,\n wrapperCol = props.wrapperCol,\n hideRequiredMark = props.hideRequiredMark,\n _props$layout = props.layout,\n layout = _props$layout === void 0 ? 'horizontal' : _props$layout,\n scrollToFirstError = props.scrollToFirstError,\n requiredMark = props.requiredMark,\n onFinishFailed = props.onFinishFailed,\n name = props.name,\n restFormProps = __rest(props, [\"prefixCls\", \"className\", \"size\", \"disabled\", \"form\", \"colon\", \"labelAlign\", \"labelWrap\", \"labelCol\", \"wrapperCol\", \"hideRequiredMark\", \"layout\", \"scrollToFirstError\", \"requiredMark\", \"onFinishFailed\", \"name\"]);\n var mergedRequiredMark = useMemo(function () {\n if (requiredMark !== undefined) {\n return requiredMark;\n }\n if (contextForm && contextForm.requiredMark !== undefined) {\n return contextForm.requiredMark;\n }\n if (hideRequiredMark) {\n return false;\n }\n return true;\n }, [hideRequiredMark, requiredMark, contextForm]);\n var mergedColon = colon !== null && colon !== void 0 ? colon : contextForm === null || contextForm === void 0 ? void 0 : contextForm.colon;\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var formClassName = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-\" + layout, true), _defineProperty(_classNames, prefixCls + \"-hide-required-mark\", mergedRequiredMark === false), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _defineProperty(_classNames, prefixCls + \"-\" + size, size), _classNames), hashId, className);\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n wrapForm = _useForm2[0];\n var __INTERNAL__ = wrapForm.__INTERNAL__;\n __INTERNAL__.name = name;\n var formContextValue = useMemo(function () {\n return {\n name: name,\n labelAlign: labelAlign,\n labelCol: labelCol,\n labelWrap: labelWrap,\n wrapperCol: wrapperCol,\n vertical: layout === 'vertical',\n colon: mergedColon,\n requiredMark: mergedRequiredMark,\n itemRef: __INTERNAL__.itemRef,\n form: wrapForm\n };\n }, [name, labelAlign, labelCol, wrapperCol, layout, mergedColon, mergedRequiredMark, wrapForm]);\n React.useImperativeHandle(ref, function () {\n return wrapForm;\n });\n var onInternalFinishFailed = function onInternalFinishFailed(errorInfo) {\n onFinishFailed === null || onFinishFailed === void 0 ? void 0 : onFinishFailed(errorInfo);\n var defaultScrollToFirstError = {\n block: 'nearest'\n };\n if (scrollToFirstError && errorInfo.errorFields.length) {\n if (_typeof(scrollToFirstError) === 'object') {\n defaultScrollToFirstError = scrollToFirstError;\n }\n wrapForm.scrollToField(errorInfo.errorFields[0].name, defaultScrollToFirstError);\n }\n };\n return wrapSSR( /*#__PURE__*/React.createElement(DisabledContextProvider, {\n disabled: disabled\n }, /*#__PURE__*/React.createElement(SizeContextProvider, {\n size: size\n }, /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: formContextValue\n }, /*#__PURE__*/React.createElement(FieldForm, _extends({\n id: name\n }, restFormProps, {\n name: name,\n onFinishFailed: onInternalFinishFailed,\n form: wrapForm,\n className: formClassName\n }))))));\n};\nvar Form = /*#__PURE__*/React.forwardRef(InternalForm);\nexport { useForm, List, useWatch };\nexport default Form;","import { useContext } from 'react';\nimport { FormItemInputContext } from '../context';\nimport warning from '../../_util/warning';\nvar useFormItemStatus = function useFormItemStatus() {\n var _useContext = useContext(FormItemInputContext),\n status = _useContext.status;\n process.env.NODE_ENV !== \"production\" ? warning(status !== undefined, 'Form.Item', \"Form.Item.useStatus should be used under Form.Item component. For more information: \" + window.location.protocol + \"//\" + window.location.host + \"/components/form-cn/#Form.Item.useStatus\") : void 0;\n return {\n status: status\n };\n};\n// Only used for compatible package. Not promise this will work on future version.\nuseFormItemStatus.Context = FormItemInputContext;\nexport default useFormItemStatus;","// This icon file is generated automatically.\nvar QuestionCircleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M512 64C264.6 64 64 264.6 64 512s200.6 448 448 448 448-200.6 448-448S759.4 64 512 64zm0 820c-205.4 0-372-166.6-372-372s166.6-372 372-372 372 166.6 372 372-166.6 372-372 372z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M623.6 316.7C593.6 290.4 554 276 512 276s-81.6 14.5-111.6 40.7C369.2 344 352 380.7 352 420v7.6c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8V420c0-44.1 43.1-80 96-80s96 35.9 96 80c0 31.1-22 59.6-56.1 72.7-21.2 8.1-39.2 22.3-52.1 40.9-13.1 19-19.9 41.8-19.9 64.9V620c0 4.4 3.6 8 8 8h48c4.4 0 8-3.6 8-8v-22.7a48.3 48.3 0 0130.9-44.8c59-22.7 97.1-74.7 97.1-132.5.1-39.3-17.1-76-48.3-103.3zM472 732a40 40 0 1080 0 40 40 0 10-80 0z\" } }] }, \"name\": \"question-circle\", \"theme\": \"outlined\" };\nexport default QuestionCircleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport QuestionCircleOutlinedSvg from \"@ant-design/icons-svg/es/asn/QuestionCircleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar QuestionCircleOutlined = function QuestionCircleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: QuestionCircleOutlinedSvg\n }));\n};\nQuestionCircleOutlined.displayName = 'QuestionCircleOutlined';\nexport default /*#__PURE__*/React.forwardRef(QuestionCircleOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport QuestionCircleOutlined from \"@ant-design/icons/es/icons/QuestionCircleOutlined\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Col from '../grid/col';\nimport { useLocaleReceiver } from '../locale-provider/LocaleReceiver';\nimport defaultLocale from '../locale/en_US';\nimport Tooltip from '../tooltip';\nimport { FormContext } from './context';\nfunction toTooltipProps(tooltip) {\n if (!tooltip) {\n return null;\n }\n if (_typeof(tooltip) === 'object' && ! /*#__PURE__*/React.isValidElement(tooltip)) {\n return tooltip;\n }\n return {\n title: tooltip\n };\n}\nvar FormItemLabel = function FormItemLabel(_ref) {\n var prefixCls = _ref.prefixCls,\n label = _ref.label,\n htmlFor = _ref.htmlFor,\n labelCol = _ref.labelCol,\n labelAlign = _ref.labelAlign,\n colon = _ref.colon,\n required = _ref.required,\n requiredMark = _ref.requiredMark,\n tooltip = _ref.tooltip;\n var _useLocaleReceiver = useLocaleReceiver('Form'),\n _useLocaleReceiver2 = _slicedToArray(_useLocaleReceiver, 1),\n formLocale = _useLocaleReceiver2[0];\n if (!label) return null;\n return /*#__PURE__*/React.createElement(FormContext.Consumer, {\n key: \"label\"\n }, function (_ref2) {\n var _classNames2;\n var vertical = _ref2.vertical,\n contextLabelAlign = _ref2.labelAlign,\n contextLabelCol = _ref2.labelCol,\n labelWrap = _ref2.labelWrap,\n contextColon = _ref2.colon;\n var _a;\n var mergedLabelCol = labelCol || contextLabelCol || {};\n var mergedLabelAlign = labelAlign || contextLabelAlign;\n var labelClsBasic = prefixCls + \"-item-label\";\n var labelColClassName = classNames(labelClsBasic, mergedLabelAlign === 'left' && labelClsBasic + \"-left\", mergedLabelCol.className, _defineProperty({}, labelClsBasic + \"-wrap\", !!labelWrap));\n var labelChildren = label;\n // Keep label is original where there should have no colon\n var computedColon = colon === true || contextColon !== false && colon !== false;\n var haveColon = computedColon && !vertical;\n // Remove duplicated user input colon\n if (haveColon && typeof label === 'string' && label.trim() !== '') {\n labelChildren = label.replace(/[:|:]\\s*$/, '');\n }\n // Tooltip\n var tooltipProps = toTooltipProps(tooltip);\n if (tooltipProps) {\n var _tooltipProps$icon = tooltipProps.icon,\n icon = _tooltipProps$icon === void 0 ? /*#__PURE__*/React.createElement(QuestionCircleOutlined, null) : _tooltipProps$icon,\n restTooltipProps = __rest(tooltipProps, [\"icon\"]);\n var tooltipNode = /*#__PURE__*/React.createElement(Tooltip, _extends({}, restTooltipProps), /*#__PURE__*/React.cloneElement(icon, {\n className: prefixCls + \"-item-tooltip\",\n title: ''\n }));\n labelChildren = /*#__PURE__*/React.createElement(React.Fragment, null, labelChildren, tooltipNode);\n }\n // Add required mark if optional\n if (requiredMark === 'optional' && !required) {\n labelChildren = /*#__PURE__*/React.createElement(React.Fragment, null, labelChildren, /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-item-optional\",\n title: \"\"\n }, (formLocale === null || formLocale === void 0 ? void 0 : formLocale.optional) || ((_a = defaultLocale.Form) === null || _a === void 0 ? void 0 : _a.optional)));\n }\n var labelClassName = classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + \"-item-required\", required), _defineProperty(_classNames2, prefixCls + \"-item-required-mark-optional\", requiredMark === 'optional'), _defineProperty(_classNames2, prefixCls + \"-item-no-colon\", !computedColon), _classNames2));\n return /*#__PURE__*/React.createElement(Col, _extends({}, mergedLabelCol, {\n className: labelColClassName\n }), /*#__PURE__*/React.createElement(\"label\", {\n htmlFor: htmlFor,\n className: labelClassName,\n title: typeof label === 'string' ? label : ''\n }, labelChildren));\n });\n};\nexport default FormItemLabel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport Col from '../grid/col';\nimport { FormContext, FormItemPrefixContext } from './context';\nimport ErrorList from './ErrorList';\nvar FormItemInput = function FormItemInput(props) {\n var prefixCls = props.prefixCls,\n status = props.status,\n wrapperCol = props.wrapperCol,\n children = props.children,\n errors = props.errors,\n warnings = props.warnings,\n formItemRender = props._internalItemRender,\n extra = props.extra,\n help = props.help,\n fieldId = props.fieldId,\n marginBottom = props.marginBottom,\n onErrorVisibleChanged = props.onErrorVisibleChanged;\n var baseClassName = prefixCls + \"-item\";\n var formContext = React.useContext(FormContext);\n var mergedWrapperCol = wrapperCol || formContext.wrapperCol || {};\n var className = classNames(baseClassName + \"-control\", mergedWrapperCol.className);\n // Pass to sub FormItem should not with col info\n var subFormContext = React.useMemo(function () {\n return _extends({}, formContext);\n }, [formContext]);\n delete subFormContext.labelCol;\n delete subFormContext.wrapperCol;\n var inputDom = /*#__PURE__*/React.createElement(\"div\", {\n className: baseClassName + \"-control-input\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: baseClassName + \"-control-input-content\"\n }, children));\n var formItemContext = React.useMemo(function () {\n return {\n prefixCls: prefixCls,\n status: status\n };\n }, [prefixCls, status]);\n var errorListDom = marginBottom !== null || errors.length || warnings.length ? /*#__PURE__*/React.createElement(\"div\", {\n style: {\n display: 'flex',\n flexWrap: 'nowrap'\n }\n }, /*#__PURE__*/React.createElement(FormItemPrefixContext.Provider, {\n value: formItemContext\n }, /*#__PURE__*/React.createElement(ErrorList, {\n fieldId: fieldId,\n errors: errors,\n warnings: warnings,\n help: help,\n helpStatus: status,\n className: baseClassName + \"-explain-connected\",\n onVisibleChanged: onErrorVisibleChanged\n })), !!marginBottom && /*#__PURE__*/React.createElement(\"div\", {\n style: {\n width: 0,\n height: marginBottom\n }\n })) : null;\n var extraProps = {};\n if (fieldId) {\n extraProps.id = fieldId + \"_extra\";\n }\n // If extra = 0, && will goes wrong\n // 0&&error -> 0\n var extraDom = extra ? /*#__PURE__*/React.createElement(\"div\", _extends({}, extraProps, {\n className: baseClassName + \"-extra\"\n }), extra) : null;\n var dom = formItemRender && formItemRender.mark === 'pro_table_render' && formItemRender.render ? formItemRender.render(props, {\n input: inputDom,\n errorList: errorListDom,\n extra: extraDom\n }) : /*#__PURE__*/React.createElement(React.Fragment, null, inputDom, errorListDom, extraDom);\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: subFormContext\n }, /*#__PURE__*/React.createElement(Col, _extends({}, mergedWrapperCol, {\n className: className\n }), dom));\n};\nexport default FormItemInput;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport omit from \"rc-util/es/omit\";\nimport { Row } from '../../grid';\nimport FormItemLabel from '../FormItemLabel';\nimport FormItemInput from '../FormItemInput';\nimport { FormContext, FormItemInputContext, NoStyleItemContext } from '../context';\nimport useDebounce from '../hooks/useDebounce';\nvar iconMap = {\n success: CheckCircleFilled,\n warning: ExclamationCircleFilled,\n error: CloseCircleFilled,\n validating: LoadingOutlined\n};\nexport default function ItemHolder(props) {\n var _itemClassName;\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n help = props.help,\n errors = props.errors,\n warnings = props.warnings,\n validateStatus = props.validateStatus,\n meta = props.meta,\n hasFeedback = props.hasFeedback,\n hidden = props.hidden,\n children = props.children,\n fieldId = props.fieldId,\n isRequired = props.isRequired,\n onSubItemMetaChange = props.onSubItemMetaChange,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"help\", \"errors\", \"warnings\", \"validateStatus\", \"meta\", \"hasFeedback\", \"hidden\", \"children\", \"fieldId\", \"isRequired\", \"onSubItemMetaChange\"]);\n var itemPrefixCls = prefixCls + \"-item\";\n var _React$useContext = React.useContext(FormContext),\n requiredMark = _React$useContext.requiredMark;\n // ======================== Margin ========================\n var itemRef = React.useRef(null);\n var debounceErrors = useDebounce(errors);\n var debounceWarnings = useDebounce(warnings);\n var hasHelp = help !== undefined && help !== null;\n var hasError = !!(hasHelp || errors.length || warnings.length);\n var _React$useState = React.useState(null),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n marginBottom = _React$useState2[0],\n setMarginBottom = _React$useState2[1];\n useLayoutEffect(function () {\n if (hasError && itemRef.current) {\n var itemStyle = getComputedStyle(itemRef.current);\n setMarginBottom(parseInt(itemStyle.marginBottom, 10));\n }\n }, [hasError]);\n var onErrorVisibleChanged = function onErrorVisibleChanged(nextVisible) {\n if (!nextVisible) {\n setMarginBottom(null);\n }\n };\n // ======================== Status ========================\n var mergedValidateStatus = '';\n if (validateStatus !== undefined) {\n mergedValidateStatus = validateStatus;\n } else if (meta.validating) {\n mergedValidateStatus = 'validating';\n } else if (debounceErrors.length) {\n mergedValidateStatus = 'error';\n } else if (debounceWarnings.length) {\n mergedValidateStatus = 'warning';\n } else if (meta.touched) {\n mergedValidateStatus = 'success';\n }\n var formItemStatusContext = React.useMemo(function () {\n var feedbackIcon;\n if (hasFeedback) {\n var IconNode = mergedValidateStatus && iconMap[mergedValidateStatus];\n feedbackIcon = IconNode ? /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(itemPrefixCls + \"-feedback-icon\", itemPrefixCls + \"-feedback-icon-\" + mergedValidateStatus)\n }, /*#__PURE__*/React.createElement(IconNode, null)) : null;\n }\n return {\n status: mergedValidateStatus,\n hasFeedback: hasFeedback,\n feedbackIcon: feedbackIcon,\n isFormItemInput: true\n };\n }, [mergedValidateStatus, hasFeedback]);\n // ======================== Render ========================\n var itemClassName = (_itemClassName = {}, _defineProperty(_itemClassName, itemPrefixCls, true), _defineProperty(_itemClassName, itemPrefixCls + \"-with-help\", hasHelp || debounceErrors.length || debounceWarnings.length), _defineProperty(_itemClassName, \"\" + className, !!className), _defineProperty(_itemClassName, itemPrefixCls + \"-has-feedback\", mergedValidateStatus && hasFeedback), _defineProperty(_itemClassName, itemPrefixCls + \"-has-success\", mergedValidateStatus === 'success'), _defineProperty(_itemClassName, itemPrefixCls + \"-has-warning\", mergedValidateStatus === 'warning'), _defineProperty(_itemClassName, itemPrefixCls + \"-has-error\", mergedValidateStatus === 'error'), _defineProperty(_itemClassName, itemPrefixCls + \"-is-validating\", mergedValidateStatus === 'validating'), _defineProperty(_itemClassName, itemPrefixCls + \"-hidden\", hidden), _itemClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(itemClassName),\n style: style,\n ref: itemRef\n }, /*#__PURE__*/React.createElement(Row, _extends({\n className: itemPrefixCls + \"-row\"\n }, omit(restProps, ['_internalItemRender', 'colon', 'dependencies', 'extra', 'fieldKey', 'getValueFromEvent', 'getValueProps', 'htmlFor', 'id', 'initialValue', 'isListField', 'label', 'labelAlign', 'labelCol', 'labelWrap', 'messageVariables', 'name', 'normalize', 'noStyle', 'preserve', 'required', 'requiredMark', 'rules', 'shouldUpdate', 'trigger', 'tooltip', 'validateFirst', 'validateTrigger', 'valuePropName', 'wrapperCol'])), /*#__PURE__*/React.createElement(FormItemLabel, _extends({\n htmlFor: fieldId,\n required: isRequired,\n requiredMark: requiredMark\n }, props, {\n prefixCls: prefixCls\n })), /*#__PURE__*/React.createElement(FormItemInput, _extends({}, props, meta, {\n errors: debounceErrors,\n warnings: debounceWarnings,\n prefixCls: prefixCls,\n status: mergedValidateStatus,\n help: help,\n marginBottom: marginBottom,\n onErrorVisibleChanged: onErrorVisibleChanged\n }), /*#__PURE__*/React.createElement(NoStyleItemContext.Provider, {\n value: onSubItemMetaChange\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: formItemStatusContext\n }, children)))), !!marginBottom && /*#__PURE__*/React.createElement(\"div\", {\n className: itemPrefixCls + \"-margin-offset\",\n style: {\n marginBottom: -marginBottom\n }\n }));\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport { Field, FieldContext, ListContext } from 'rc-field-form';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport useFormItemStatus from '../hooks/useFormItemStatus';\nimport { ConfigContext } from '../../config-provider';\nimport { cloneElement, isValidElement } from '../../_util/reactNode';\nimport { tuple } from '../../_util/type';\nimport warning from '../../_util/warning';\nimport { FormContext, NoStyleItemContext } from '../context';\nimport useFrameState from '../hooks/useFrameState';\nimport useItemRef from '../hooks/useItemRef';\nimport { getFieldId, toArray } from '../util';\nimport ItemHolder from './ItemHolder';\nimport useStyle from '../style';\nvar NAME_SPLIT = '__SPLIT__';\nvar ValidateStatuses = tuple('success', 'warning', 'error', 'validating', '');\nvar MemoInput = /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (prev, next) {\n return prev.value === next.value && prev.update === next.update && prev.childProps.length === next.childProps.length && prev.childProps.every(function (value, index) {\n return value === next.childProps[index];\n });\n});\nfunction hasValidName(name) {\n if (name === null) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form.Item', '`null` is passed as `name` property') : void 0;\n }\n return !(name === undefined || name === null);\n}\nfunction genEmptyMeta() {\n return {\n errors: [],\n warnings: [],\n touched: false,\n validating: false,\n name: []\n };\n}\nfunction InternalFormItem(props) {\n var name = props.name,\n noStyle = props.noStyle,\n className = props.className,\n dependencies = props.dependencies,\n customizePrefixCls = props.prefixCls,\n shouldUpdate = props.shouldUpdate,\n rules = props.rules,\n children = props.children,\n required = props.required,\n label = props.label,\n messageVariables = props.messageVariables,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? 'onChange' : _props$trigger,\n validateTrigger = props.validateTrigger,\n hidden = props.hidden;\n var _useContext = useContext(ConfigContext),\n getPrefixCls = _useContext.getPrefixCls;\n var _useContext2 = useContext(FormContext),\n formName = _useContext2.name;\n var isRenderProps = typeof children === 'function';\n var notifyParentMetaChange = useContext(NoStyleItemContext);\n var _useContext3 = useContext(FieldContext),\n contextValidateTrigger = _useContext3.validateTrigger;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : contextValidateTrigger;\n var hasName = hasValidName(name);\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n // ========================= MISC =========================\n // Get `noStyle` required info\n var listContext = React.useContext(ListContext);\n var fieldKeyPathRef = React.useRef();\n // ======================== Errors ========================\n // >>>>> Collect sub field errors\n var _useFrameState = useFrameState({}),\n _useFrameState2 = _slicedToArray(_useFrameState, 2),\n subFieldErrors = _useFrameState2[0],\n setSubFieldErrors = _useFrameState2[1];\n // >>>>> Current field errors\n var _useState = useState(function () {\n return genEmptyMeta();\n }),\n _useState2 = _slicedToArray(_useState, 2),\n meta = _useState2[0],\n setMeta = _useState2[1];\n var onMetaChange = function onMetaChange(nextMeta) {\n // This keyInfo is not correct when field is removed\n // Since origin keyManager no longer keep the origin key anymore\n // Which means we need cache origin one and reuse when removed\n var keyInfo = listContext === null || listContext === void 0 ? void 0 : listContext.getKey(nextMeta.name);\n // Destroy will reset all the meta\n setMeta(nextMeta.destroy ? genEmptyMeta() : nextMeta, true);\n // Bump to parent since noStyle\n if (noStyle && notifyParentMetaChange) {\n var namePath = nextMeta.name;\n if (!nextMeta.destroy) {\n if (keyInfo !== undefined) {\n var _keyInfo = _slicedToArray(keyInfo, 2),\n fieldKey = _keyInfo[0],\n restPath = _keyInfo[1];\n namePath = [fieldKey].concat(_toConsumableArray(restPath));\n fieldKeyPathRef.current = namePath;\n }\n } else {\n // Use origin cache data\n namePath = fieldKeyPathRef.current || namePath;\n }\n notifyParentMetaChange(nextMeta, namePath);\n }\n };\n // >>>>> Collect noStyle Field error to the top FormItem\n var onSubItemMetaChange = function onSubItemMetaChange(subMeta, uniqueKeys) {\n // Only `noStyle` sub item will trigger\n setSubFieldErrors(function (prevSubFieldErrors) {\n var clone = _extends({}, prevSubFieldErrors);\n // name: ['user', 1] + key: [4] = ['user', 4]\n var mergedNamePath = [].concat(_toConsumableArray(subMeta.name.slice(0, -1)), _toConsumableArray(uniqueKeys));\n var mergedNameKey = mergedNamePath.join(NAME_SPLIT);\n if (subMeta.destroy) {\n // Remove\n delete clone[mergedNameKey];\n } else {\n // Update\n clone[mergedNameKey] = subMeta;\n }\n return clone;\n });\n };\n // >>>>> Get merged errors\n var _React$useMemo = React.useMemo(function () {\n var errorList = _toConsumableArray(meta.errors);\n var warningList = _toConsumableArray(meta.warnings);\n Object.values(subFieldErrors).forEach(function (subFieldError) {\n errorList.push.apply(errorList, _toConsumableArray(subFieldError.errors || []));\n warningList.push.apply(warningList, _toConsumableArray(subFieldError.warnings || []));\n });\n return [errorList, warningList];\n }, [subFieldErrors, meta.errors, meta.warnings]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n mergedErrors = _React$useMemo2[0],\n mergedWarnings = _React$useMemo2[1];\n // ===================== Children Ref =====================\n var getItemRef = useItemRef();\n // ======================== Render ========================\n function renderLayout(baseChildren, fieldId, isRequired) {\n if (noStyle && !hidden) {\n return baseChildren;\n }\n return /*#__PURE__*/React.createElement(ItemHolder, _extends({\n key: \"row\"\n }, props, {\n className: classNames(className, hashId),\n prefixCls: prefixCls,\n fieldId: fieldId,\n isRequired: isRequired,\n errors: mergedErrors,\n warnings: mergedWarnings,\n meta: meta,\n onSubItemMetaChange: onSubItemMetaChange\n }), baseChildren);\n }\n if (!hasName && !isRenderProps && !dependencies) {\n return wrapSSR(renderLayout(children));\n }\n var variables = {};\n if (typeof label === 'string') {\n variables.label = label;\n } else if (name) {\n variables.label = String(name);\n }\n if (messageVariables) {\n variables = _extends(_extends({}, variables), messageVariables);\n }\n // >>>>> With Field\n return wrapSSR( /*#__PURE__*/React.createElement(Field, _extends({}, props, {\n messageVariables: variables,\n trigger: trigger,\n validateTrigger: mergedValidateTrigger,\n onMetaChange: onMetaChange\n }), function (control, renderMeta, context) {\n var mergedName = toArray(name).length && renderMeta ? renderMeta.name : [];\n var fieldId = getFieldId(mergedName, formName);\n var isRequired = required !== undefined ? required : !!(rules && rules.some(function (rule) {\n if (rule && _typeof(rule) === 'object' && rule.required && !rule.warningOnly) {\n return true;\n }\n if (typeof rule === 'function') {\n var ruleEntity = rule(context);\n return ruleEntity && ruleEntity.required && !ruleEntity.warningOnly;\n }\n return false;\n }));\n // ======================= Children =======================\n var mergedControl = _extends({}, control);\n var childNode = null;\n process.env.NODE_ENV !== \"production\" ? warning(!(shouldUpdate && dependencies), 'Form.Item', \"`shouldUpdate` and `dependencies` shouldn't be used together. See https://u.ant.design/form-deps.\") : void 0;\n if (Array.isArray(children) && hasName) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form.Item', 'A `Form.Item` with a `name` prop must have a single child element. For information on how to render more complex form items, see https://u.ant.design/complex-form-item.') : void 0;\n childNode = children;\n } else if (isRenderProps && (!(shouldUpdate || dependencies) || hasName)) {\n process.env.NODE_ENV !== \"production\" ? warning(!!(shouldUpdate || dependencies), 'Form.Item', 'A `Form.Item` with a render function must have either `shouldUpdate` or `dependencies`.') : void 0;\n process.env.NODE_ENV !== \"production\" ? warning(!hasName, 'Form.Item', 'A `Form.Item` with a render function cannot be a field, and thus cannot have a `name` prop.') : void 0;\n } else if (dependencies && !isRenderProps && !hasName) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form.Item', 'Must set `name` or use a render function when `dependencies` is set.') : void 0;\n } else if (isValidElement(children)) {\n process.env.NODE_ENV !== \"production\" ? warning(children.props.defaultValue === undefined, 'Form.Item', '`defaultValue` will not work on controlled Field. You should use `initialValues` of Form instead.') : void 0;\n var childProps = _extends(_extends({}, children.props), mergedControl);\n if (!childProps.id) {\n childProps.id = fieldId;\n }\n if (props.help || mergedErrors.length > 0 || mergedWarnings.length > 0 || props.extra) {\n var describedbyArr = [];\n if (props.help || mergedErrors.length > 0) {\n describedbyArr.push(fieldId + \"_help\");\n }\n if (props.extra) {\n describedbyArr.push(fieldId + \"_extra\");\n }\n childProps['aria-describedby'] = describedbyArr.join(' ');\n }\n if (mergedErrors.length > 0) {\n childProps['aria-invalid'] = 'true';\n }\n if (isRequired) {\n childProps['aria-required'] = 'true';\n }\n if (supportRef(children)) {\n childProps.ref = getItemRef(mergedName, children);\n }\n // We should keep user origin event handler\n var triggers = new Set([].concat(_toConsumableArray(toArray(trigger)), _toConsumableArray(toArray(mergedValidateTrigger))));\n triggers.forEach(function (eventName) {\n childProps[eventName] = function () {\n var _a2, _c2;\n var _a, _b, _c;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n (_a = mergedControl[eventName]) === null || _a === void 0 ? void 0 : (_a2 = _a).call.apply(_a2, [mergedControl].concat(args));\n (_c = (_b = children.props)[eventName]) === null || _c === void 0 ? void 0 : (_c2 = _c).call.apply(_c2, [_b].concat(args));\n };\n });\n // List of props that need to be watched for changes -> if changes are detected in MemoInput -> rerender\n var watchingChildProps = [childProps['aria-required'], childProps['aria-invalid'], childProps['aria-describedby']];\n childNode = /*#__PURE__*/React.createElement(MemoInput, {\n value: mergedControl[props.valuePropName || 'value'],\n update: children,\n childProps: watchingChildProps\n }, cloneElement(children, childProps));\n } else if (isRenderProps && (shouldUpdate || dependencies) && !hasName) {\n childNode = children(context);\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(!mergedName.length, 'Form.Item', '`name` is only used for validate React element. If you are using Form.Item as layout display, please remove `name` instead.') : void 0;\n childNode = children;\n }\n return renderLayout(childNode, fieldId, isRequired);\n }));\n}\nvar FormItem = InternalFormItem;\nFormItem.useStatus = useFormItemStatus;\nexport default FormItem;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport raf from \"rc-util/es/raf\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nexport default function useFrameState(defaultValue) {\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n var frameRef = useRef(null);\n var batchRef = useRef([]);\n var destroyRef = useRef(false);\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n raf.cancel(frameRef.current);\n frameRef.current = null;\n };\n }, []);\n function setFrameValue(updater) {\n if (destroyRef.current) {\n return;\n }\n if (frameRef.current === null) {\n batchRef.current = [];\n frameRef.current = raf(function () {\n frameRef.current = null;\n setValue(function (prevValue) {\n var current = prevValue;\n batchRef.current.forEach(function (func) {\n current = func(current);\n });\n return current;\n });\n });\n }\n batchRef.current.push(updater);\n }\n return [value, setFrameValue];\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { FormContext } from '../context';\nexport default function useItemRef() {\n var _React$useContext = React.useContext(FormContext),\n itemRef = _React$useContext.itemRef;\n var cacheRef = React.useRef({});\n function getRef(name, children) {\n var childrenRef = children && _typeof(children) === 'object' && children.ref;\n var nameStr = name.join('_');\n if (cacheRef.current.name !== nameStr || cacheRef.current.originRef !== childrenRef) {\n cacheRef.current.name = nameStr;\n cacheRef.current.originRef = childrenRef;\n cacheRef.current.ref = composeRef(itemRef(name), childrenRef);\n }\n return cacheRef.current.ref;\n }\n return getRef;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { List } from 'rc-field-form';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport warning from '../_util/warning';\nimport { FormItemPrefixContext } from './context';\nvar FormList = function FormList(_a) {\n var customizePrefixCls = _a.prefixCls,\n children = _a.children,\n props = __rest(_a, [\"prefixCls\", \"children\"]);\n process.env.NODE_ENV !== \"production\" ? warning(!!props.name, 'Form.List', 'Miss `name` prop.') : void 0;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('form', customizePrefixCls);\n var contextValue = React.useMemo(function () {\n return {\n prefixCls: prefixCls,\n status: 'error'\n };\n }, [prefixCls]);\n return /*#__PURE__*/React.createElement(List, _extends({}, props), function (fields, operation, meta) {\n return /*#__PURE__*/React.createElement(FormItemPrefixContext.Provider, {\n value: contextValue\n }, children(fields.map(function (field) {\n return _extends(_extends({}, field), {\n fieldKey: field.key\n });\n }), operation, {\n errors: meta.errors,\n warnings: meta.warnings\n }));\n });\n};\nexport default FormList;","import warning from '../_util/warning';\nimport { FormProvider } from './context';\nimport ErrorList from './ErrorList';\nimport InternalForm, { useForm, useWatch } from './Form';\nimport Item from './FormItem';\nimport List from './FormList';\nimport useFormInstance from './hooks/useFormInstance';\nvar Form = InternalForm;\nForm.Item = Item;\nForm.List = List;\nForm.ErrorList = ErrorList;\nForm.useForm = useForm;\nForm.useFormInstance = useFormInstance;\nForm.useWatch = useWatch;\nForm.Provider = FormProvider;\nForm.create = function () {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Form', 'antd v4 removed `Form.create`. Please remove or use `@ant-design/compatible` instead.') : void 0;\n};\nexport default Form;","import { useContext } from 'react';\nimport { FormContext } from '../context';\nexport default function useFormInstance() {\n var _useContext = useContext(FormContext),\n form = _useContext.form;\n return form;\n}","import { createContext } from 'react';\nvar RowContext = /*#__PURE__*/createContext({});\nexport default RowContext;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport RowContext from './RowContext';\nimport { useColStyle } from './style';\nfunction parseFlex(flex) {\n if (typeof flex === 'number') {\n return flex + \" \" + flex + \" auto\";\n }\n if (/^\\d+(\\.\\d+)?(px|em|rem|%)$/.test(flex)) {\n return \"0 0 \" + flex;\n }\n return flex;\n}\nvar sizes = ['xs', 'sm', 'md', 'lg', 'xl', 'xxl'];\nvar Col = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var _React$useContext2 = React.useContext(RowContext),\n gutter = _React$useContext2.gutter,\n wrap = _React$useContext2.wrap,\n supportFlexGap = _React$useContext2.supportFlexGap;\n var customizePrefixCls = props.prefixCls,\n span = props.span,\n order = props.order,\n offset = props.offset,\n push = props.push,\n pull = props.pull,\n className = props.className,\n children = props.children,\n flex = props.flex,\n style = props.style,\n others = __rest(props, [\"prefixCls\", \"span\", \"order\", \"offset\", \"push\", \"pull\", \"className\", \"children\", \"flex\", \"style\"]);\n var prefixCls = getPrefixCls('col', customizePrefixCls);\n var _useColStyle = useColStyle(prefixCls),\n _useColStyle2 = _slicedToArray(_useColStyle, 2),\n wrapSSR = _useColStyle2[0],\n hashId = _useColStyle2[1];\n var sizeClassObj = {};\n sizes.forEach(function (size) {\n var _extends2;\n var sizeProps = {};\n var propSize = props[size];\n if (typeof propSize === 'number') {\n sizeProps.span = propSize;\n } else if (_typeof(propSize) === 'object') {\n sizeProps = propSize || {};\n }\n delete others[size];\n sizeClassObj = _extends(_extends({}, sizeClassObj), (_extends2 = {}, _defineProperty(_extends2, prefixCls + \"-\" + size + \"-\" + sizeProps.span, sizeProps.span !== undefined), _defineProperty(_extends2, prefixCls + \"-\" + size + \"-order-\" + sizeProps.order, sizeProps.order || sizeProps.order === 0), _defineProperty(_extends2, prefixCls + \"-\" + size + \"-offset-\" + sizeProps.offset, sizeProps.offset || sizeProps.offset === 0), _defineProperty(_extends2, prefixCls + \"-\" + size + \"-push-\" + sizeProps.push, sizeProps.push || sizeProps.push === 0), _defineProperty(_extends2, prefixCls + \"-\" + size + \"-pull-\" + sizeProps.pull, sizeProps.pull || sizeProps.pull === 0), _defineProperty(_extends2, prefixCls + \"-rtl\", direction === 'rtl'), _extends2));\n });\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-\" + span, span !== undefined), _defineProperty(_classNames, prefixCls + \"-order-\" + order, order), _defineProperty(_classNames, prefixCls + \"-offset-\" + offset, offset), _defineProperty(_classNames, prefixCls + \"-push-\" + push, push), _defineProperty(_classNames, prefixCls + \"-pull-\" + pull, pull), _classNames), className, sizeClassObj, hashId);\n var mergedStyle = {};\n // Horizontal gutter use padding\n if (gutter && gutter[0] > 0) {\n var horizontalGutter = gutter[0] / 2;\n mergedStyle.paddingLeft = horizontalGutter;\n mergedStyle.paddingRight = horizontalGutter;\n }\n // Vertical gutter use padding when gap not support\n if (gutter && gutter[1] > 0 && !supportFlexGap) {\n var verticalGutter = gutter[1] / 2;\n mergedStyle.paddingTop = verticalGutter;\n mergedStyle.paddingBottom = verticalGutter;\n }\n if (flex) {\n mergedStyle.flex = parseFlex(flex);\n // Hack for Firefox to avoid size issue\n // https://github.com/ant-design/ant-design/pull/20023#issuecomment-564389553\n if (wrap === false && !mergedStyle.minWidth) {\n mergedStyle.minWidth = 0;\n }\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n style: _extends(_extends({}, mergedStyle), style),\n className: classes,\n ref: ref\n }), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Col.displayName = 'Col';\n}\nexport default Col;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useFlexGapSupport from '../_util/hooks/useFlexGapSupport';\nimport ResponsiveObserve, { responsiveArray } from '../_util/responsiveObserve';\nimport { tuple } from '../_util/type';\nimport RowContext from './RowContext';\nimport { useRowStyle } from './style';\nvar RowAligns = tuple('top', 'middle', 'bottom', 'stretch');\nvar RowJustify = tuple('start', 'end', 'center', 'space-around', 'space-between', 'space-evenly');\nfunction useMergePropByScreen(oriProp, screen) {\n var _React$useState = React.useState(typeof oriProp === 'string' ? oriProp : ''),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prop = _React$useState2[0],\n setProp = _React$useState2[1];\n var clacMergeAlignOrJustify = function clacMergeAlignOrJustify() {\n if (_typeof(oriProp) !== 'object') {\n return;\n }\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n // if do not match, do nothing\n if (!screen[breakpoint]) continue;\n var curVal = oriProp[breakpoint];\n if (curVal !== undefined) {\n setProp(curVal);\n return;\n }\n }\n };\n React.useEffect(function () {\n clacMergeAlignOrJustify();\n }, [JSON.stringify(oriProp), screen]);\n return prop;\n}\nvar Row = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n justify = props.justify,\n align = props.align,\n className = props.className,\n style = props.style,\n children = props.children,\n _props$gutter = props.gutter,\n gutter = _props$gutter === void 0 ? 0 : _props$gutter,\n wrap = props.wrap,\n others = __rest(props, [\"prefixCls\", \"justify\", \"align\", \"className\", \"style\", \"children\", \"gutter\", \"wrap\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var _React$useState3 = React.useState({\n xs: true,\n sm: true,\n md: true,\n lg: true,\n xl: true,\n xxl: true\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n screens = _React$useState4[0],\n setScreens = _React$useState4[1];\n // to save screens info when responsiveObserve callback had been call\n var _React$useState5 = React.useState({\n xs: false,\n sm: false,\n md: false,\n lg: false,\n xl: false,\n xxl: false\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n curScreens = _React$useState6[0],\n setCurScreens = _React$useState6[1];\n // ================================== calc reponsive data ==================================\n var mergeAlign = useMergePropByScreen(align, curScreens);\n var mergeJustify = useMergePropByScreen(justify, curScreens);\n var supportFlexGap = useFlexGapSupport();\n var gutterRef = React.useRef(gutter);\n // ================================== Effect ==================================\n React.useEffect(function () {\n var token = ResponsiveObserve.subscribe(function (screen) {\n setCurScreens(screen);\n var currentGutter = gutterRef.current || 0;\n if (!Array.isArray(currentGutter) && _typeof(currentGutter) === 'object' || Array.isArray(currentGutter) && (_typeof(currentGutter[0]) === 'object' || _typeof(currentGutter[1]) === 'object')) {\n setScreens(screen);\n }\n });\n return function () {\n return ResponsiveObserve.unsubscribe(token);\n };\n }, []);\n // ================================== Render ==================================\n var getGutter = function getGutter() {\n var results = [undefined, undefined];\n var normalizedGutter = Array.isArray(gutter) ? gutter : [gutter, undefined];\n normalizedGutter.forEach(function (g, index) {\n if (_typeof(g) === 'object') {\n for (var i = 0; i < responsiveArray.length; i++) {\n var breakpoint = responsiveArray[i];\n if (screens[breakpoint] && g[breakpoint] !== undefined) {\n results[index] = g[breakpoint];\n break;\n }\n }\n } else {\n results[index] = g;\n }\n });\n return results;\n };\n var prefixCls = getPrefixCls('row', customizePrefixCls);\n var _useRowStyle = useRowStyle(prefixCls),\n _useRowStyle2 = _slicedToArray(_useRowStyle, 2),\n wrapSSR = _useRowStyle2[0],\n hashId = _useRowStyle2[1];\n var gutters = getGutter();\n var classes = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-no-wrap\", wrap === false), _defineProperty(_classNames, prefixCls + \"-\" + mergeJustify, mergeJustify), _defineProperty(_classNames, prefixCls + \"-\" + mergeAlign, mergeAlign), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _classNames), className, hashId);\n // Add gutter related style\n var rowStyle = {};\n var horizontalGutter = gutters[0] != null && gutters[0] > 0 ? gutters[0] / -2 : undefined;\n var verticalGutter = gutters[1] != null && gutters[1] > 0 ? gutters[1] / -2 : undefined;\n if (horizontalGutter) {\n rowStyle.marginLeft = horizontalGutter;\n rowStyle.marginRight = horizontalGutter;\n }\n if (supportFlexGap) {\n // Set gap direct if flex gap support\n var _gutters = _slicedToArray(gutters, 2);\n rowStyle.rowGap = _gutters[1];\n } else if (verticalGutter) {\n rowStyle.marginTop = verticalGutter;\n rowStyle.marginBottom = verticalGutter;\n }\n // \"gutters\" is a new array in each rendering phase, it'll make 'React.useMemo' effectless.\n // So we deconstruct \"gutters\" variable here.\n var _gutters2 = _slicedToArray(gutters, 2),\n gutterH = _gutters2[0],\n gutterV = _gutters2[1];\n var rowContext = React.useMemo(function () {\n return {\n gutter: [gutterH, gutterV],\n wrap: wrap,\n supportFlexGap: supportFlexGap\n };\n }, [gutterH, gutterV, wrap, supportFlexGap]);\n return wrapSSR( /*#__PURE__*/React.createElement(RowContext.Provider, {\n value: rowContext\n }, /*#__PURE__*/React.createElement(\"div\", _extends({}, others, {\n className: classes,\n style: _extends(_extends({}, rowStyle), style),\n ref: ref\n }), children)));\n});\nif (process.env.NODE_ENV !== 'production') {\n Row.displayName = 'Row';\n}\nexport default Row;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\n// ============================== Row-Shared ==============================\nvar genGridRowStyle = function genGridRowStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls, {\n display: 'flex',\n flexFlow: 'row wrap',\n minWidth: 0,\n '&::before, &::after': {\n display: 'flex'\n },\n '&-no-wrap': {\n flexWrap: 'nowrap'\n },\n // The origin of the X-axis\n '&-start': {\n justifyContent: 'flex-start'\n },\n // The center of the X-axis\n '&-center': {\n justifyContent: 'center'\n },\n // The opposite of the X-axis\n '&-end': {\n justifyContent: 'flex-end'\n },\n '&-space-between': {\n justifyContent: 'space-between'\n },\n '&-space-around ': {\n justifyContent: 'space-around'\n },\n // Align at the top\n '&-top': {\n alignItems: 'flex-start'\n },\n // Align at the center\n '&-middle': {\n alignItems: 'center'\n },\n '&-bottom': {\n alignItems: 'flex-end'\n }\n });\n};\n// ============================== Col-Shared ==============================\nvar genGridColStyle = function genGridColStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls, {\n position: 'relative',\n maxWidth: '100%',\n // Prevent columns from collapsing when empty\n minHeight: 1\n });\n};\nvar genLoopGridColumnsStyle = function genLoopGridColumnsStyle(token, sizeCls) {\n var componentCls = token.componentCls,\n gridColumns = token.gridColumns;\n var gridColumnsStyle = {};\n for (var i = gridColumns; i >= 0; i--) {\n if (i === 0) {\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-\" + i] = {\n display: 'none'\n };\n gridColumnsStyle[componentCls + \"-push-\" + i] = {\n insetInlineStart: 'auto'\n };\n gridColumnsStyle[componentCls + \"-pull-\" + i] = {\n insetInlineEnd: 'auto'\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-push-\" + i] = {\n insetInlineStart: 'auto'\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-pull-\" + i] = {\n insetInlineEnd: 'auto'\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-offset-\" + i] = {\n marginInlineEnd: 0\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-order-\" + i] = {\n order: 0\n };\n } else {\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-\" + i] = {\n display: 'block',\n flex: \"0 0 \" + i / gridColumns * 100 + \"%\",\n maxWidth: i / gridColumns * 100 + \"%\"\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-push-\" + i] = {\n insetInlineStart: i / gridColumns * 100 + \"%\"\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-pull-\" + i] = {\n insetInlineEnd: i / gridColumns * 100 + \"%\"\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-offset-\" + i] = {\n marginInlineStart: i / gridColumns * 100 + \"%\"\n };\n gridColumnsStyle[\"\" + componentCls + sizeCls + \"-order-\" + i] = {\n order: i\n };\n }\n }\n return gridColumnsStyle;\n};\nvar genGridStyle = function genGridStyle(token, sizeCls) {\n return genLoopGridColumnsStyle(token, sizeCls);\n};\nvar genGridMediaStyle = function genGridMediaStyle(token, screenSize, sizeCls) {\n return _defineProperty({}, \"@media (min-width: \" + screenSize + \"px)\", _extends({}, genGridStyle(token, sizeCls)));\n};\n// ============================== Export ==============================\nexport var useRowStyle = genComponentStyleHook('Grid', function (token) {\n return [genGridRowStyle(token)];\n});\nexport var useColStyle = genComponentStyleHook('Grid', function (token) {\n var gridToken = mergeToken(token, {\n gridColumns: 24 // Row is divided into 24 parts in Grid\n });\n\n var gridMediaSizesMap = {\n '-sm': gridToken.screenSMMin,\n '-md': gridToken.screenMDMin,\n '-lg': gridToken.screenLGMin,\n '-xl': gridToken.screenXLMin,\n '-xxl': gridToken.screenXXLMin\n };\n return [genGridColStyle(gridToken), genGridStyle(gridToken, ''), genGridStyle(gridToken, '-xs'), Object.keys(gridMediaSizesMap).map(function (key) {\n return genGridMediaStyle(gridToken, gridMediaSizesMap[key], key);\n }).reduce(function (pre, cur) {\n return _extends(_extends({}, pre), cur);\n }, {})];\n});","export function hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}\nexport function resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n\n var event = e;\n\n if (e.type === 'click') {\n // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n var currentTarget = target.cloneNode(true); // click clear icon\n\n event = Object.create(e, {\n target: {\n value: currentTarget\n },\n currentTarget: {\n value: currentTarget\n }\n });\n currentTarget.value = '';\n onChange(event);\n return;\n } // Trigger by composition event, this means we need force change the input value\n\n\n if (targetValue !== undefined) {\n event = Object.create(e, {\n target: {\n value: target\n },\n currentTarget: {\n value: target\n }\n });\n target.value = targetValue;\n onChange(event);\n return;\n }\n\n onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) return;\n element.focus(option); // Selection content\n\n var _ref = option || {},\n cursor = _ref.cursor;\n\n if (cursor) {\n var len = element.value.length;\n\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n\n case 'end':\n element.setSelectionRange(len, len);\n break;\n\n default:\n element.setSelectionRange(0, len);\n }\n }\n}\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n\n return String(value);\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport React, { cloneElement, useRef } from 'react';\nimport classNames from 'classnames';\nimport { hasAddon, hasPrefixSuffix } from \"./utils/commonUtils\";\n\nvar BaseInput = function BaseInput(props) {\n var inputElement = props.inputElement,\n prefixCls = props.prefixCls,\n prefix = props.prefix,\n suffix = props.suffix,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n className = props.className,\n style = props.style,\n affixWrapperClassName = props.affixWrapperClassName,\n groupClassName = props.groupClassName,\n wrapperClassName = props.wrapperClassName,\n disabled = props.disabled,\n readOnly = props.readOnly,\n focused = props.focused,\n triggerFocus = props.triggerFocus,\n allowClear = props.allowClear,\n value = props.value,\n handleReset = props.handleReset,\n hidden = props.hidden;\n var containerRef = useRef(null);\n\n var onInputClick = function onInputClick(e) {\n var _containerRef$current;\n\n if ((_containerRef$current = containerRef.current) !== null && _containerRef$current !== void 0 && _containerRef$current.contains(e.target)) {\n triggerFocus === null || triggerFocus === void 0 ? void 0 : triggerFocus();\n }\n }; // ================== Clear Icon ================== //\n\n\n var getClearIcon = function getClearIcon() {\n var _classNames;\n\n if (!allowClear) {\n return null;\n }\n\n var needClear = !disabled && !readOnly && value;\n var clearIconCls = \"\".concat(prefixCls, \"-clear-icon\");\n var iconNode = _typeof(allowClear) === 'object' && allowClear !== null && allowClear !== void 0 && allowClear.clearIcon ? allowClear.clearIcon : '✖';\n return /*#__PURE__*/React.createElement(\"span\", {\n onClick: handleReset // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n ,\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: classNames(clearIconCls, (_classNames = {}, _defineProperty(_classNames, \"\".concat(clearIconCls, \"-hidden\"), !needClear), _defineProperty(_classNames, \"\".concat(clearIconCls, \"-has-suffix\"), !!suffix), _classNames)),\n role: \"button\",\n tabIndex: -1\n }, iconNode);\n };\n\n var element = /*#__PURE__*/cloneElement(inputElement, {\n value: value,\n hidden: hidden\n }); // ================== Prefix & Suffix ================== //\n\n if (hasPrefixSuffix(props)) {\n var _classNames2;\n\n var affixWrapperPrefixCls = \"\".concat(prefixCls, \"-affix-wrapper\");\n var affixWrapperCls = classNames(affixWrapperPrefixCls, (_classNames2 = {}, _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-disabled\"), disabled), _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-focused\"), focused), _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-readonly\"), readOnly), _defineProperty(_classNames2, \"\".concat(affixWrapperPrefixCls, \"-input-with-clear-btn\"), suffix && allowClear && value), _classNames2), !hasAddon(props) && className, affixWrapperClassName);\n var suffixNode = (suffix || allowClear) && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-suffix\")\n }, getClearIcon(), suffix);\n element = /*#__PURE__*/React.createElement(\"span\", {\n className: affixWrapperCls,\n style: style,\n hidden: !hasAddon(props) && hidden,\n onClick: onInputClick,\n ref: containerRef\n }, prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-prefix\")\n }, prefix), /*#__PURE__*/cloneElement(inputElement, {\n style: null,\n value: value,\n hidden: null\n }), suffixNode);\n } // ================== Addon ================== //\n\n\n if (hasAddon(props)) {\n var wrapperCls = \"\".concat(prefixCls, \"-group\");\n var addonCls = \"\".concat(wrapperCls, \"-addon\");\n var mergedWrapperClassName = classNames(\"\".concat(prefixCls, \"-wrapper\"), wrapperCls, wrapperClassName);\n var mergedGroupClassName = classNames(\"\".concat(prefixCls, \"-group-wrapper\"), className, groupClassName); // Need another wrapper for changing display:table to display:inline-block\n // and put style prop in wrapper\n\n return /*#__PURE__*/React.createElement(\"span\", {\n className: mergedGroupClassName,\n style: style,\n hidden: hidden\n }, /*#__PURE__*/React.createElement(\"span\", {\n className: mergedWrapperClassName\n }, addonBefore && /*#__PURE__*/React.createElement(\"span\", {\n className: addonCls\n }, addonBefore), /*#__PURE__*/cloneElement(element, {\n style: null,\n hidden: null\n }), addonAfter && /*#__PURE__*/React.createElement(\"span\", {\n className: addonCls\n }, addonAfter)));\n }\n\n return element;\n};\n\nexport default BaseInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"autoComplete\", \"onChange\", \"onFocus\", \"onBlur\", \"onPressEnter\", \"onKeyDown\", \"prefixCls\", \"disabled\", \"htmlSize\", \"className\", \"maxLength\", \"suffix\", \"showCount\", \"type\", \"inputClassName\"];\nimport React, { useRef, useState, forwardRef, useImperativeHandle, useEffect } from 'react';\nimport BaseInput from \"./BaseInput\";\nimport omit from \"rc-util/es/omit\";\nimport { fixControlledValue, hasAddon, hasPrefixSuffix, resolveOnChange, triggerFocus } from \"./utils/commonUtils\";\nimport classNames from 'classnames';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nvar Input = /*#__PURE__*/forwardRef(function (props, ref) {\n var autoComplete = props.autoComplete,\n onChange = props.onChange,\n onFocus = props.onFocus,\n onBlur = props.onBlur,\n onPressEnter = props.onPressEnter,\n onKeyDown = props.onKeyDown,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input' : _props$prefixCls,\n disabled = props.disabled,\n htmlSize = props.htmlSize,\n className = props.className,\n maxLength = props.maxLength,\n suffix = props.suffix,\n showCount = props.showCount,\n _props$type = props.type,\n type = _props$type === void 0 ? 'text' : _props$type,\n inputClassName = props.inputClassName,\n rest = _objectWithoutProperties(props, _excluded);\n\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n focused = _useState2[0],\n setFocused = _useState2[1];\n\n var inputRef = useRef(null);\n\n var focus = function focus(option) {\n if (inputRef.current) {\n triggerFocus(inputRef.current, option);\n }\n };\n\n useImperativeHandle(ref, function () {\n return {\n focus: focus,\n blur: function blur() {\n var _inputRef$current;\n\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.blur();\n },\n setSelectionRange: function setSelectionRange(start, end, direction) {\n var _inputRef$current2;\n\n (_inputRef$current2 = inputRef.current) === null || _inputRef$current2 === void 0 ? void 0 : _inputRef$current2.setSelectionRange(start, end, direction);\n },\n select: function select() {\n var _inputRef$current3;\n\n (_inputRef$current3 = inputRef.current) === null || _inputRef$current3 === void 0 ? void 0 : _inputRef$current3.select();\n },\n input: inputRef.current\n };\n });\n useEffect(function () {\n setFocused(function (prev) {\n return prev && disabled ? false : prev;\n });\n }, [disabled]);\n\n var handleChange = function handleChange(e) {\n if (props.value === undefined) {\n setValue(e.target.value);\n }\n\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n\n var handleKeyDown = function handleKeyDown(e) {\n if (onPressEnter && e.key === 'Enter') {\n onPressEnter(e);\n }\n\n onKeyDown === null || onKeyDown === void 0 ? void 0 : onKeyDown(e);\n };\n\n var handleFocus = function handleFocus(e) {\n setFocused(true);\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n\n var handleBlur = function handleBlur(e) {\n setFocused(false);\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n\n var handleReset = function handleReset(e) {\n setValue('');\n focus();\n\n if (inputRef.current) {\n resolveOnChange(inputRef.current, e, onChange);\n }\n };\n\n var getInputElement = function getInputElement() {\n // Fix https://fb.me/react-unknown-prop\n var otherProps = omit(props, ['prefixCls', 'onPressEnter', 'addonBefore', 'addonAfter', 'prefix', 'suffix', 'allowClear', // Input elements must be either controlled or uncontrolled,\n // specify either the value prop, or the defaultValue prop, but not both.\n 'defaultValue', 'showCount', 'affixWrapperClassName', 'groupClassName', 'inputClassName', 'wrapperClassName', 'htmlSize']);\n return /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: autoComplete\n }, otherProps, {\n onChange: handleChange,\n onFocus: handleFocus,\n onBlur: handleBlur,\n onKeyDown: handleKeyDown,\n className: classNames(prefixCls, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled), inputClassName, !hasAddon(props) && !hasPrefixSuffix(props) && className),\n ref: inputRef,\n size: htmlSize,\n type: type\n }));\n };\n\n var getSuffix = function getSuffix() {\n // Max length value\n var hasMaxLength = Number(maxLength) > 0;\n\n if (suffix || showCount) {\n var val = fixControlledValue(value);\n\n var valueLength = _toConsumableArray(val).length;\n\n var dataCount = _typeof(showCount) === 'object' ? showCount.formatter({\n value: val,\n count: valueLength,\n maxLength: maxLength\n }) : \"\".concat(valueLength).concat(hasMaxLength ? \" / \".concat(maxLength) : '');\n return /*#__PURE__*/React.createElement(React.Fragment, null, !!showCount && /*#__PURE__*/React.createElement(\"span\", {\n className: classNames(\"\".concat(prefixCls, \"-show-count-suffix\"), _defineProperty({}, \"\".concat(prefixCls, \"-show-count-has-suffix\"), !!suffix))\n }, dataCount), suffix);\n }\n\n return null;\n };\n\n return /*#__PURE__*/React.createElement(BaseInput, _extends({}, rest, {\n prefixCls: prefixCls,\n className: className,\n inputElement: getInputElement(),\n handleReset: handleReset,\n value: fixControlledValue(value),\n focused: focused,\n triggerFocus: focus,\n suffix: getSuffix(),\n disabled: disabled\n }));\n});\nexport default Input;","import BaseInput from \"./BaseInput\";\nimport Input from \"./Input\";\nexport { BaseInput };\nexport default Input;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport RcInput from 'rc-input';\nimport { composeRef } from \"rc-util/es/ref\";\nimport React, { forwardRef, useContext, useEffect, useRef } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { FormItemInputContext, NoFormStyle } from '../form/context';\nimport { NoCompactStyle, useCompactItemContext } from '../space/Compact';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport warning from '../_util/warning';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport { hasPrefixSuffix } from './utils';\n// CSSINJS\nimport useStyle from './style';\nexport function fixControlledValue(value) {\n if (typeof value === 'undefined' || value === null) {\n return '';\n }\n return String(value);\n}\nexport function resolveOnChange(target, e, onChange, targetValue) {\n if (!onChange) {\n return;\n }\n var event = e;\n if (e.type === 'click') {\n // Clone a new target for event.\n // Avoid the following usage, the setQuery method gets the original value.\n //\n // const [query, setQuery] = React.useState('');\n // {\n // setQuery((prevStatus) => e.target.value);\n // }}\n // />\n var currentTarget = target.cloneNode(true);\n // click clear icon\n event = Object.create(e, {\n target: {\n value: currentTarget\n },\n currentTarget: {\n value: currentTarget\n }\n });\n currentTarget.value = '';\n onChange(event);\n return;\n }\n // Trigger by composition event, this means we need force change the input value\n if (targetValue !== undefined) {\n event = Object.create(e, {\n target: {\n value: target\n },\n currentTarget: {\n value: target\n }\n });\n target.value = targetValue;\n onChange(event);\n return;\n }\n onChange(event);\n}\nexport function triggerFocus(element, option) {\n if (!element) {\n return;\n }\n element.focus(option);\n // Selection content\n var _ref = option || {},\n cursor = _ref.cursor;\n if (cursor) {\n var len = element.value.length;\n switch (cursor) {\n case 'start':\n element.setSelectionRange(0, 0);\n break;\n case 'end':\n element.setSelectionRange(len, len);\n break;\n default:\n element.setSelectionRange(0, len);\n break;\n }\n }\n}\nvar Input = /*#__PURE__*/forwardRef(function (props, ref) {\n var _classNames, _classNames2, _classNames4;\n var customizePrefixCls = props.prefixCls,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n customStatus = props.status,\n customSize = props.size,\n customDisabled = props.disabled,\n onBlur = props.onBlur,\n onFocus = props.onFocus,\n suffix = props.suffix,\n allowClear = props.allowClear,\n addonAfter = props.addonAfter,\n addonBefore = props.addonBefore,\n className = props.className,\n onChange = props.onChange,\n rest = __rest(props, [\"prefixCls\", \"bordered\", \"status\", \"size\", \"disabled\", \"onBlur\", \"onFocus\", \"suffix\", \"allowClear\", \"addonAfter\", \"addonBefore\", \"className\", \"onChange\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction,\n input = _React$useContext.input;\n var prefixCls = getPrefixCls('input', customizePrefixCls);\n var inputRef = useRef(null);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n // ===================== Compact Item =====================\n var _useCompactItemContex = useCompactItemContext(prefixCls, direction),\n compactSize = _useCompactItemContex.compactSize,\n compactItemClassnames = _useCompactItemContex.compactItemClassnames;\n // ===================== Size =====================\n var size = React.useContext(SizeContext);\n var mergedSize = compactSize || customSize || size;\n // ===================== Disabled =====================\n var disabled = React.useContext(DisabledContext);\n var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n // ===================== Status =====================\n var _useContext = useContext(FormItemInputContext),\n contextStatus = _useContext.status,\n hasFeedback = _useContext.hasFeedback,\n feedbackIcon = _useContext.feedbackIcon;\n var mergedStatus = getMergedStatus(contextStatus, customStatus);\n // ===================== Focus warning =====================\n var inputHasPrefixSuffix = hasPrefixSuffix(props) || !!hasFeedback;\n var prevHasPrefixSuffix = useRef(inputHasPrefixSuffix);\n useEffect(function () {\n var _a;\n if (inputHasPrefixSuffix && !prevHasPrefixSuffix.current) {\n process.env.NODE_ENV !== \"production\" ? warning(document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input), 'Input', \"When Input is focused, dynamic add or remove prefix / suffix will make it lose focus caused by dom structure change. Read more: https://ant.design/components/input/#FAQ\") : void 0;\n }\n prevHasPrefixSuffix.current = inputHasPrefixSuffix;\n }, [inputHasPrefixSuffix]);\n // ===================== Remove Password value =====================\n var removePasswordTimeout = useRemovePasswordTimeout(inputRef, true);\n var handleBlur = function handleBlur(e) {\n removePasswordTimeout();\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(e);\n };\n var handleFocus = function handleFocus(e) {\n removePasswordTimeout();\n onFocus === null || onFocus === void 0 ? void 0 : onFocus(e);\n };\n var handleChange = function handleChange(e) {\n removePasswordTimeout();\n onChange === null || onChange === void 0 ? void 0 : onChange(e);\n };\n var suffixNode = (hasFeedback || suffix) && /*#__PURE__*/React.createElement(React.Fragment, null, suffix, hasFeedback && feedbackIcon);\n // Allow clear\n var mergedAllowClear;\n if (_typeof(allowClear) === 'object' && (allowClear === null || allowClear === void 0 ? void 0 : allowClear.clearIcon)) {\n mergedAllowClear = allowClear;\n } else if (allowClear) {\n mergedAllowClear = {\n clearIcon: /*#__PURE__*/React.createElement(CloseCircleFilled, null)\n };\n }\n return wrapSSR( /*#__PURE__*/React.createElement(RcInput, _extends({\n ref: composeRef(ref, inputRef),\n prefixCls: prefixCls,\n autoComplete: input === null || input === void 0 ? void 0 : input.autoComplete\n }, rest, {\n disabled: mergedDisabled || undefined,\n onBlur: handleBlur,\n onFocus: handleFocus,\n suffix: suffixNode,\n allowClear: mergedAllowClear,\n className: classNames(className, compactItemClassnames),\n onChange: handleChange,\n addonAfter: addonAfter && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonAfter)),\n addonBefore: addonBefore && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n override: true,\n status: true\n }, addonBefore)),\n inputClassName: classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-sm\", mergedSize === 'small'), _defineProperty(_classNames, prefixCls + \"-lg\", mergedSize === 'large'), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _defineProperty(_classNames, prefixCls + \"-borderless\", !bordered), _classNames), !inputHasPrefixSuffix && getStatusClassNames(prefixCls, mergedStatus), hashId),\n affixWrapperClassName: classNames((_classNames2 = {}, _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-sm\", mergedSize === 'small'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-lg\", mergedSize === 'large'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-rtl\", direction === 'rtl'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-borderless\", !bordered), _classNames2), getStatusClassNames(prefixCls + \"-affix-wrapper\", mergedStatus, hasFeedback), hashId),\n wrapperClassName: classNames(_defineProperty({}, prefixCls + \"-group-rtl\", direction === 'rtl'), hashId),\n groupClassName: classNames((_classNames4 = {}, _defineProperty(_classNames4, prefixCls + \"-group-wrapper-sm\", mergedSize === 'small'), _defineProperty(_classNames4, prefixCls + \"-group-wrapper-lg\", mergedSize === 'large'), _defineProperty(_classNames4, prefixCls + \"-group-wrapper-rtl\", direction === 'rtl'), _classNames4), getStatusClassNames(prefixCls + \"-group-wrapper\", mergedStatus, hasFeedback), hashId)\n })));\n});\nexport default Input;","// eslint-disable-next-line import/prefer-default-export\nexport function hasPrefixSuffix(props) {\n return !!(props.prefix || props.suffix || props.allowClear);\n}","// Thanks to https://github.com/andreypopp/react-textarea-autosize/\n/**\n * calculateNodeHeight(uiTextNode, useCache = false)\n */\nvar HIDDEN_TEXTAREA_STYLE = \"\\n min-height:0 !important;\\n max-height:none !important;\\n height:0 !important;\\n visibility:hidden !important;\\n overflow:hidden !important;\\n position:absolute !important;\\n z-index:-1000 !important;\\n top:0 !important;\\n right:0 !important;\\n pointer-events: none !important;\\n\";\nvar SIZING_STYLE = ['letter-spacing', 'line-height', 'padding-top', 'padding-bottom', 'font-family', 'font-weight', 'font-size', 'font-variant', 'text-rendering', 'text-transform', 'width', 'text-indent', 'padding-left', 'padding-right', 'border-width', 'box-sizing', 'word-break'];\nvar computedStyleCache = {};\nvar hiddenTextarea;\nexport function calculateNodeStyling(node) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var nodeRef = node.getAttribute('id') || node.getAttribute('data-reactid') || node.getAttribute('name');\n if (useCache && computedStyleCache[nodeRef]) {\n return computedStyleCache[nodeRef];\n }\n var style = window.getComputedStyle(node);\n var boxSizing = style.getPropertyValue('box-sizing') || style.getPropertyValue('-moz-box-sizing') || style.getPropertyValue('-webkit-box-sizing');\n var paddingSize = parseFloat(style.getPropertyValue('padding-bottom')) + parseFloat(style.getPropertyValue('padding-top'));\n var borderSize = parseFloat(style.getPropertyValue('border-bottom-width')) + parseFloat(style.getPropertyValue('border-top-width'));\n var sizingStyle = SIZING_STYLE.map(function (name) {\n return \"\".concat(name, \":\").concat(style.getPropertyValue(name));\n }).join(';');\n var nodeInfo = {\n sizingStyle: sizingStyle,\n paddingSize: paddingSize,\n borderSize: borderSize,\n boxSizing: boxSizing\n };\n if (useCache && nodeRef) {\n computedStyleCache[nodeRef] = nodeInfo;\n }\n return nodeInfo;\n}\nexport default function calculateAutoSizeStyle(uiTextNode) {\n var useCache = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var minRows = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null;\n var maxRows = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null;\n if (!hiddenTextarea) {\n hiddenTextarea = document.createElement('textarea');\n hiddenTextarea.setAttribute('tab-index', '-1');\n hiddenTextarea.setAttribute('aria-hidden', 'true');\n document.body.appendChild(hiddenTextarea);\n }\n // Fix wrap=\"off\" issue\n // https://github.com/ant-design/ant-design/issues/6577\n if (uiTextNode.getAttribute('wrap')) {\n hiddenTextarea.setAttribute('wrap', uiTextNode.getAttribute('wrap'));\n } else {\n hiddenTextarea.removeAttribute('wrap');\n }\n // Copy all CSS properties that have an impact on the height of the content in\n // the textbox\n var _calculateNodeStyling = calculateNodeStyling(uiTextNode, useCache),\n paddingSize = _calculateNodeStyling.paddingSize,\n borderSize = _calculateNodeStyling.borderSize,\n boxSizing = _calculateNodeStyling.boxSizing,\n sizingStyle = _calculateNodeStyling.sizingStyle;\n // Need to have the overflow attribute to hide the scrollbar otherwise\n // text-lines will not calculated properly as the shadow will technically be\n // narrower for content\n hiddenTextarea.setAttribute('style', \"\".concat(sizingStyle, \";\").concat(HIDDEN_TEXTAREA_STYLE));\n hiddenTextarea.value = uiTextNode.value || uiTextNode.placeholder || '';\n var minHeight = undefined;\n var maxHeight = undefined;\n var overflowY;\n var height = hiddenTextarea.scrollHeight;\n if (boxSizing === 'border-box') {\n // border-box: add border, since height = content + padding + border\n height += borderSize;\n } else if (boxSizing === 'content-box') {\n // remove padding, since height = content\n height -= paddingSize;\n }\n if (minRows !== null || maxRows !== null) {\n // measure height of a textarea with a single row\n hiddenTextarea.value = ' ';\n var singleRowHeight = hiddenTextarea.scrollHeight - paddingSize;\n if (minRows !== null) {\n minHeight = singleRowHeight * minRows;\n if (boxSizing === 'border-box') {\n minHeight = minHeight + paddingSize + borderSize;\n }\n height = Math.max(minHeight, height);\n }\n if (maxRows !== null) {\n maxHeight = singleRowHeight * maxRows;\n if (boxSizing === 'border-box') {\n maxHeight = maxHeight + paddingSize + borderSize;\n }\n overflowY = height > maxHeight ? '' : 'hidden';\n height = Math.min(maxHeight, height);\n }\n }\n var style = {\n height: height,\n overflowY: overflowY,\n resize: 'none'\n };\n if (minHeight) {\n style.minHeight = minHeight;\n }\n if (maxHeight) {\n style.maxHeight = maxHeight;\n }\n return style;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"onPressEnter\", \"defaultValue\", \"value\", \"autoSize\", \"onResize\", \"className\", \"style\", \"disabled\", \"onChange\", \"onInternalAutoSize\"];\nimport * as React from 'react';\nimport ResizeObserver from 'rc-resize-observer';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport raf from \"rc-util/es/raf\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport classNames from 'classnames';\nimport calculateAutoSizeStyle from './calculateNodeHeight';\nvar RESIZE_START = 0;\nvar RESIZE_MEASURING = 1;\nvar RESIZE_STABLE = 2;\nvar ResizableTextArea = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-textarea' : _props$prefixCls,\n onPressEnter = props.onPressEnter,\n defaultValue = props.defaultValue,\n value = props.value,\n autoSize = props.autoSize,\n onResize = props.onResize,\n className = props.className,\n style = props.style,\n disabled = props.disabled,\n onChange = props.onChange,\n onInternalAutoSize = props.onInternalAutoSize,\n restProps = _objectWithoutProperties(props, _excluded);\n // =============================== Value ================================\n var _useMergedState = useMergedState(defaultValue, {\n value: value,\n postState: function postState(val) {\n return val !== null && val !== void 0 ? val : '';\n }\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n mergedValue = _useMergedState2[0],\n setMergedValue = _useMergedState2[1];\n var onInternalChange = function onInternalChange(event) {\n setMergedValue(event.target.value);\n onChange === null || onChange === void 0 ? void 0 : onChange(event);\n };\n // ================================ Ref =================================\n var textareaRef = React.useRef();\n React.useImperativeHandle(ref, function () {\n return {\n textArea: textareaRef.current\n };\n });\n // ============================== AutoSize ==============================\n var _React$useMemo = React.useMemo(function () {\n if (autoSize && _typeof(autoSize) === 'object') {\n return [autoSize.minRows, autoSize.maxRows];\n }\n return [];\n }, [autoSize]),\n _React$useMemo2 = _slicedToArray(_React$useMemo, 2),\n minRows = _React$useMemo2[0],\n maxRows = _React$useMemo2[1];\n var needAutoSize = !!autoSize;\n // =============================== Scroll ===============================\n // https://github.com/ant-design/ant-design/issues/21870\n var fixFirefoxAutoScroll = function fixFirefoxAutoScroll() {\n try {\n // FF has bug with jump of scroll to top. We force back here.\n if (document.activeElement === textareaRef.current) {\n var _textareaRef$current = textareaRef.current,\n selectionStart = _textareaRef$current.selectionStart,\n selectionEnd = _textareaRef$current.selectionEnd,\n scrollTop = _textareaRef$current.scrollTop;\n // Fix Safari bug which not rollback when break line\n // This makes Chinese IME can't input. Do not fix this\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n textareaRef.current.scrollTop = scrollTop;\n }\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n };\n // =============================== Resize ===============================\n var _React$useState = React.useState(RESIZE_STABLE),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n resizeState = _React$useState2[0],\n setResizeState = _React$useState2[1];\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n autoSizeStyle = _React$useState4[0],\n setAutoSizeStyle = _React$useState4[1];\n var startResize = function startResize() {\n setResizeState(RESIZE_START);\n if (process.env.NODE_ENV === 'test') {\n onInternalAutoSize === null || onInternalAutoSize === void 0 ? void 0 : onInternalAutoSize();\n }\n };\n // Change to trigger resize measure\n useLayoutEffect(function () {\n if (needAutoSize) {\n startResize();\n }\n }, [value, minRows, maxRows, needAutoSize]);\n useLayoutEffect(function () {\n if (resizeState === RESIZE_START) {\n setResizeState(RESIZE_MEASURING);\n } else if (resizeState === RESIZE_MEASURING) {\n var textareaStyles = calculateAutoSizeStyle(textareaRef.current, false, minRows, maxRows);\n // Safari has bug that text will keep break line on text cut when it's prev is break line.\n // ZombieJ: This not often happen. So we just skip it.\n // const { selectionStart, selectionEnd, scrollTop } = textareaRef.current;\n // const { value: tmpValue } = textareaRef.current;\n // textareaRef.current.value = '';\n // textareaRef.current.value = tmpValue;\n // if (document.activeElement === textareaRef.current) {\n // textareaRef.current.scrollTop = scrollTop;\n // textareaRef.current.setSelectionRange(selectionStart, selectionEnd);\n // }\n setResizeState(RESIZE_STABLE);\n setAutoSizeStyle(textareaStyles);\n } else {\n fixFirefoxAutoScroll();\n }\n }, [resizeState]);\n // We lock resize trigger by raf to avoid Safari warning\n var resizeRafRef = React.useRef();\n var cleanRaf = function cleanRaf() {\n raf.cancel(resizeRafRef.current);\n };\n var onInternalResize = function onInternalResize(size) {\n if (resizeState === RESIZE_STABLE) {\n onResize === null || onResize === void 0 ? void 0 : onResize(size);\n if (autoSize) {\n cleanRaf();\n resizeRafRef.current = raf(function () {\n startResize();\n });\n }\n }\n };\n React.useEffect(function () {\n return cleanRaf;\n }, []);\n // =============================== Render ===============================\n var mergedAutoSizeStyle = needAutoSize ? autoSizeStyle : null;\n var mergedStyle = _objectSpread(_objectSpread({}, style), mergedAutoSizeStyle);\n if (resizeState === RESIZE_START || resizeState === RESIZE_MEASURING) {\n mergedStyle.overflowY = 'hidden';\n mergedStyle.overflowX = 'hidden';\n }\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onInternalResize,\n disabled: !(autoSize || onResize)\n }, /*#__PURE__*/React.createElement(\"textarea\", _extends({}, restProps, {\n ref: textareaRef,\n style: mergedStyle,\n className: classNames(prefixCls, className, _defineProperty({}, \"\".concat(prefixCls, \"-disabled\"), disabled)),\n disabled: disabled,\n value: mergedValue,\n onChange: onInternalChange\n })));\n});\nexport default ResizableTextArea;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\nimport ResizableTextArea from './ResizableTextArea';\nvar TextArea = /*#__PURE__*/function (_React$Component) {\n _inherits(TextArea, _React$Component);\n var _super = _createSuper(TextArea);\n function TextArea(props) {\n var _this;\n _classCallCheck(this, TextArea);\n _this = _super.call(this, props);\n _this.resizableTextArea = void 0;\n _this.focus = function () {\n _this.resizableTextArea.textArea.focus();\n };\n _this.saveTextArea = function (resizableTextArea) {\n _this.resizableTextArea = resizableTextArea;\n };\n _this.handleChange = function (e) {\n var onChange = _this.props.onChange;\n _this.setValue(e.target.value);\n if (onChange) {\n onChange(e);\n }\n };\n _this.handleKeyDown = function (e) {\n var _this$props = _this.props,\n onPressEnter = _this$props.onPressEnter,\n onKeyDown = _this$props.onKeyDown;\n if (e.keyCode === 13 && onPressEnter) {\n onPressEnter(e);\n }\n if (onKeyDown) {\n onKeyDown(e);\n }\n };\n var value = typeof props.value === 'undefined' || props.value === null ? props.defaultValue : props.value;\n _this.state = {\n value: value\n };\n return _this;\n }\n _createClass(TextArea, [{\n key: \"setValue\",\n value: function setValue(value, callback) {\n if (!('value' in this.props)) {\n this.setState({\n value: value\n }, callback);\n }\n }\n }, {\n key: \"blur\",\n value: function blur() {\n this.resizableTextArea.textArea.blur();\n }\n }, {\n key: \"render\",\n value: function render() {\n return /*#__PURE__*/React.createElement(ResizableTextArea, _extends({}, this.props, {\n value: this.state.value,\n onKeyDown: this.handleKeyDown,\n onChange: this.handleChange,\n ref: this.saveTextArea\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(nextProps) {\n if ('value' in nextProps) {\n return {\n value: nextProps.value\n };\n }\n return null;\n }\n }]);\n return TextArea;\n}(React.Component);\nexport { ResizableTextArea };\nexport default TextArea;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { FormItemInputContext } from '../form/context';\nimport { cloneElement } from '../_util/reactNode';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport { tuple } from '../_util/type';\nvar ClearableInputType = tuple('text', 'input');\nfunction hasAddon(props) {\n return !!(props.addonBefore || props.addonAfter);\n}\nvar ClearableLabeledInput = /*#__PURE__*/function (_React$Component) {\n _inherits(ClearableLabeledInput, _React$Component);\n var _super = _createSuper(ClearableLabeledInput);\n function ClearableLabeledInput() {\n _classCallCheck(this, ClearableLabeledInput);\n return _super.apply(this, arguments);\n }\n _createClass(ClearableLabeledInput, [{\n key: \"renderClearIcon\",\n value: function renderClearIcon(prefixCls) {\n var _classNames;\n var _this$props = this.props,\n value = _this$props.value,\n disabled = _this$props.disabled,\n readOnly = _this$props.readOnly,\n handleReset = _this$props.handleReset,\n suffix = _this$props.suffix;\n var needClear = !disabled && !readOnly && value;\n var className = prefixCls + \"-clear-icon\";\n return /*#__PURE__*/React.createElement(CloseCircleFilled, {\n onClick: handleReset,\n // Do not trigger onBlur when clear input\n // https://github.com/ant-design/ant-design/issues/31200\n onMouseDown: function onMouseDown(e) {\n return e.preventDefault();\n },\n className: classNames((_classNames = {}, _defineProperty(_classNames, className + \"-hidden\", !needClear), _defineProperty(_classNames, className + \"-has-suffix\", !!suffix), _classNames), className),\n role: \"button\"\n });\n }\n }, {\n key: \"renderTextAreaWithClearIcon\",\n value: function renderTextAreaWithClearIcon(prefixCls, element, statusContext) {\n var _classNames2;\n var _this$props2 = this.props,\n value = _this$props2.value,\n allowClear = _this$props2.allowClear,\n className = _this$props2.className,\n style = _this$props2.style,\n direction = _this$props2.direction,\n bordered = _this$props2.bordered,\n hidden = _this$props2.hidden,\n customStatus = _this$props2.status,\n hashId = _this$props2.hashId;\n var contextStatus = statusContext.status,\n hasFeedback = statusContext.hasFeedback;\n if (!allowClear) {\n return cloneElement(element, {\n value: value\n });\n }\n var affixWrapperCls = classNames(prefixCls + \"-affix-wrapper\", prefixCls + \"-affix-wrapper-textarea-with-clear-btn\", getStatusClassNames(prefixCls + \"-affix-wrapper\", getMergedStatus(contextStatus, customStatus), hasFeedback), (_classNames2 = {}, _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-rtl\", direction === 'rtl'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-borderless\", !bordered), _defineProperty(_classNames2, \"\" + className, !hasAddon(this.props) && className), _classNames2), hashId);\n return /*#__PURE__*/React.createElement(\"span\", {\n className: affixWrapperCls,\n style: style,\n hidden: hidden\n }, cloneElement(element, {\n style: null,\n value: value\n }), this.renderClearIcon(prefixCls));\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this = this;\n return /*#__PURE__*/React.createElement(FormItemInputContext.Consumer, null, function (statusContext) {\n var _this$props3 = _this.props,\n prefixCls = _this$props3.prefixCls,\n inputType = _this$props3.inputType,\n element = _this$props3.element;\n if (inputType === ClearableInputType[0]) {\n return _this.renderTextAreaWithClearIcon(prefixCls, element, statusContext);\n }\n });\n }\n }]);\n return ClearableLabeledInput;\n}(React.Component);\nexport default ClearableLabeledInput;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcTextArea from 'rc-textarea';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { FormItemInputContext } from '../form/context';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport ClearableLabeledInput from './ClearableLabeledInput';\nimport { fixControlledValue, resolveOnChange, triggerFocus } from './Input';\nimport useStyle from './style';\nfunction fixEmojiLength(value, maxLength) {\n return _toConsumableArray(value || '').slice(0, maxLength).join('');\n}\nfunction setTriggerValue(isCursorInEnd, preValue, triggerValue, maxLength) {\n var newTriggerValue = triggerValue;\n if (isCursorInEnd) {\n // 光标在尾部,直接截断\n newTriggerValue = fixEmojiLength(triggerValue, maxLength);\n } else if (_toConsumableArray(preValue || '').length < triggerValue.length && _toConsumableArray(triggerValue || '').length > maxLength) {\n // 光标在中间,如果最后的值超过最大值,则采用原先的值\n newTriggerValue = preValue;\n }\n return newTriggerValue;\n}\nvar TextArea = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var _classNames;\n var customizePrefixCls = _a.prefixCls,\n _a$bordered = _a.bordered,\n bordered = _a$bordered === void 0 ? true : _a$bordered,\n _a$showCount = _a.showCount,\n showCount = _a$showCount === void 0 ? false : _a$showCount,\n maxLength = _a.maxLength,\n className = _a.className,\n style = _a.style,\n customizeSize = _a.size,\n customDisabled = _a.disabled,\n onCompositionStart = _a.onCompositionStart,\n onCompositionEnd = _a.onCompositionEnd,\n onChange = _a.onChange,\n customStatus = _a.status,\n props = __rest(_a, [\"prefixCls\", \"bordered\", \"showCount\", \"maxLength\", \"className\", \"style\", \"size\", \"disabled\", \"onCompositionStart\", \"onCompositionEnd\", \"onChange\", \"status\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var size = React.useContext(SizeContext);\n // ===================== Disabled =====================\n var disabled = React.useContext(DisabledContext);\n var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n var _React$useContext2 = React.useContext(FormItemInputContext),\n contextStatus = _React$useContext2.status,\n hasFeedback = _React$useContext2.hasFeedback,\n feedbackIcon = _React$useContext2.feedbackIcon;\n var mergedStatus = getMergedStatus(contextStatus, customStatus);\n var innerRef = React.useRef(null);\n var clearableInputRef = React.useRef(null);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n compositing = _React$useState2[0],\n setCompositing = _React$useState2[1];\n var oldCompositionValueRef = React.useRef();\n var oldSelectionStartRef = React.useRef(0);\n var _useMergedState = useMergedState(props.defaultValue, {\n value: props.value\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n value = _useMergedState2[0],\n setValue = _useMergedState2[1];\n var hidden = props.hidden;\n var handleSetValue = function handleSetValue(val, callback) {\n if (props.value === undefined) {\n setValue(val);\n callback === null || callback === void 0 ? void 0 : callback();\n }\n };\n // =========================== Value Update ===========================\n // Max length value\n var hasMaxLength = Number(maxLength) > 0;\n var onInternalCompositionStart = function onInternalCompositionStart(e) {\n setCompositing(true);\n // 拼音输入前保存一份旧值\n oldCompositionValueRef.current = value;\n // 保存旧的光标位置\n oldSelectionStartRef.current = e.currentTarget.selectionStart;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n var onInternalCompositionEnd = function onInternalCompositionEnd(e) {\n var _a;\n setCompositing(false);\n var triggerValue = e.currentTarget.value;\n if (hasMaxLength) {\n var isCursorInEnd = oldSelectionStartRef.current >= maxLength + 1 || oldSelectionStartRef.current === ((_a = oldCompositionValueRef.current) === null || _a === void 0 ? void 0 : _a.length);\n triggerValue = setTriggerValue(isCursorInEnd, oldCompositionValueRef.current, triggerValue, maxLength);\n }\n // Patch composition onChange when value changed\n if (triggerValue !== value) {\n handleSetValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n }\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n var handleChange = function handleChange(e) {\n var triggerValue = e.target.value;\n if (!compositing && hasMaxLength) {\n // 1. 复制粘贴超过maxlength的情况 2.未超过maxlength的情况\n var isCursorInEnd = e.target.selectionStart >= maxLength + 1 || e.target.selectionStart === triggerValue.length || !e.target.selectionStart;\n triggerValue = setTriggerValue(isCursorInEnd, value, triggerValue, maxLength);\n }\n handleSetValue(triggerValue);\n resolveOnChange(e.currentTarget, e, onChange, triggerValue);\n };\n // ============================== Reset ===============================\n var handleReset = function handleReset(e) {\n var _a, _b, _c;\n handleSetValue('');\n (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n resolveOnChange((_c = (_b = innerRef.current) === null || _b === void 0 ? void 0 : _b.resizableTextArea) === null || _c === void 0 ? void 0 : _c.textArea, e, onChange);\n };\n var prefixCls = getPrefixCls('input', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n React.useImperativeHandle(ref, function () {\n var _a;\n return {\n resizableTextArea: (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea,\n focus: function focus(option) {\n var _a, _b;\n triggerFocus((_b = (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.resizableTextArea) === null || _b === void 0 ? void 0 : _b.textArea, option);\n },\n blur: function blur() {\n var _a;\n return (_a = innerRef.current) === null || _a === void 0 ? void 0 : _a.blur();\n }\n };\n });\n var textArea = /*#__PURE__*/React.createElement(RcTextArea, _extends({}, omit(props, ['allowClear']), {\n disabled: mergedDisabled,\n className: classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-borderless\", !bordered), _defineProperty(_classNames, className, className && !showCount), _defineProperty(_classNames, prefixCls + \"-sm\", size === 'small' || customizeSize === 'small'), _defineProperty(_classNames, prefixCls + \"-lg\", size === 'large' || customizeSize === 'large'), _classNames), getStatusClassNames(prefixCls, mergedStatus), hashId),\n style: showCount ? {\n resize: style === null || style === void 0 ? void 0 : style.resize\n } : style,\n prefixCls: prefixCls,\n onCompositionStart: onInternalCompositionStart,\n onChange: handleChange,\n onCompositionEnd: onInternalCompositionEnd,\n ref: innerRef\n }));\n var val = fixControlledValue(value);\n if (!compositing && hasMaxLength && (props.value === null || props.value === undefined)) {\n // fix #27612 将value转为数组进行截取,解决 '😂'.length === 2 等emoji表情导致的截取乱码的问题\n val = fixEmojiLength(val, maxLength);\n }\n // TextArea\n var textareaNode = /*#__PURE__*/React.createElement(ClearableLabeledInput, _extends({\n disabled: mergedDisabled\n }, props, {\n prefixCls: prefixCls,\n direction: direction,\n inputType: \"text\",\n value: val,\n element: textArea,\n handleReset: handleReset,\n ref: clearableInputRef,\n bordered: bordered,\n status: customStatus,\n style: showCount ? undefined : style,\n hashId: hashId\n }));\n // Only show text area wrapper when needed\n if (showCount || hasFeedback) {\n var _classNames2;\n var valueLength = _toConsumableArray(val).length;\n var dataCount = '';\n if (_typeof(showCount) === 'object') {\n dataCount = showCount.formatter({\n value: val,\n count: valueLength,\n maxLength: maxLength\n });\n } else {\n dataCount = \"\" + valueLength + (hasMaxLength ? \" / \" + maxLength : '');\n }\n return /*#__PURE__*/React.createElement(\"div\", {\n hidden: hidden,\n className: classNames(prefixCls + \"-textarea\", (_classNames2 = {}, _defineProperty(_classNames2, prefixCls + \"-textarea-rtl\", direction === 'rtl'), _defineProperty(_classNames2, prefixCls + \"-textarea-show-count\", showCount), _classNames2), getStatusClassNames(prefixCls + \"-textarea\", mergedStatus, hasFeedback), className, hashId),\n style: style,\n \"data-count\": dataCount\n }, textareaNode, hasFeedback && /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-textarea-suffix\"\n }, feedbackIcon));\n }\n return wrapSSR(textareaNode);\n});\nexport default TextArea;","import { useEffect, useRef } from 'react';\nexport default function useRemovePasswordTimeout(inputRef, triggerOnMount) {\n var removePasswordTimeoutRef = useRef([]);\n var removePasswordTimeout = function removePasswordTimeout() {\n removePasswordTimeoutRef.current.push(setTimeout(function () {\n var _a, _b, _c, _d;\n if (((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) && ((_b = inputRef.current) === null || _b === void 0 ? void 0 : _b.input.getAttribute('type')) === 'password' && ((_c = inputRef.current) === null || _c === void 0 ? void 0 : _c.input.hasAttribute('value'))) {\n (_d = inputRef.current) === null || _d === void 0 ? void 0 : _d.input.removeAttribute('value');\n }\n }));\n };\n useEffect(function () {\n if (triggerOnMount) {\n removePasswordTimeout();\n }\n return function () {\n return removePasswordTimeoutRef.current.forEach(function (timer) {\n if (timer) {\n clearTimeout(timer);\n }\n });\n };\n }, []);\n return removePasswordTimeout;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { useContext, useMemo } from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { FormItemInputContext } from '../form/context';\nimport useStyle from './style';\nvar Group = function Group(props) {\n var _classNames;\n var _useContext = useContext(ConfigContext),\n getPrefixCls = _useContext.getPrefixCls,\n direction = _useContext.direction;\n var customizePrefixCls = props.prefixCls,\n _props$className = props.className,\n className = _props$className === void 0 ? '' : _props$className;\n var prefixCls = getPrefixCls('input-group', customizePrefixCls);\n var inputPrefixCls = getPrefixCls('input');\n var _useStyle = useStyle(inputPrefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-lg\", props.size === 'large'), _defineProperty(_classNames, prefixCls + \"-sm\", props.size === 'small'), _defineProperty(_classNames, prefixCls + \"-compact\", props.compact), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _classNames), hashId, className);\n var formItemContext = useContext(FormItemInputContext);\n var groupFormItemContext = useMemo(function () {\n return _extends(_extends({}, formItemContext), {\n isFormItemInput: false\n });\n }, [formItemContext]);\n return wrapSSR( /*#__PURE__*/React.createElement(\"span\", {\n className: cls,\n style: props.style,\n onMouseEnter: props.onMouseEnter,\n onMouseLeave: props.onMouseLeave,\n onFocus: props.onFocus,\n onBlur: props.onBlur\n }, /*#__PURE__*/React.createElement(FormItemInputContext.Provider, {\n value: groupFormItemContext\n }, props.children)));\n};\nexport default Group;","// This icon file is generated automatically.\nvar EyeInvisibleOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M942.2 486.2Q889.47 375.11 816.7 305l-50.88 50.88C807.31 395.53 843.45 447.4 874.7 512 791.5 684.2 673.4 766 512 766q-72.67 0-133.87-22.38L323 798.75Q408 838 512 838q288.3 0 430.2-300.3a60.29 60.29 0 000-51.5zm-63.57-320.64L836 122.88a8 8 0 00-11.32 0L715.31 232.2Q624.86 186 512 186q-288.3 0-430.2 300.3a60.3 60.3 0 000 51.5q56.69 119.4 136.5 191.41L112.48 835a8 8 0 000 11.31L155.17 889a8 8 0 0011.31 0l712.15-712.12a8 8 0 000-11.32zM149.3 512C232.6 339.8 350.7 258 512 258c54.54 0 104.13 9.36 149.12 28.39l-70.3 70.3a176 176 0 00-238.13 238.13l-83.42 83.42C223.1 637.49 183.3 582.28 149.3 512zm246.7 0a112.11 112.11 0 01146.2-106.69L401.31 546.2A112 112 0 01396 512z\" } }, { \"tag\": \"path\", \"attrs\": { \"d\": \"M508 624c-3.46 0-6.87-.16-10.25-.47l-52.82 52.82a176.09 176.09 0 00227.42-227.42l-52.82 52.82c.31 3.38.47 6.79.47 10.25a111.94 111.94 0 01-112 112z\" } }] }, \"name\": \"eye-invisible\", \"theme\": \"outlined\" };\nexport default EyeInvisibleOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EyeInvisibleOutlinedSvg from \"@ant-design/icons-svg/es/asn/EyeInvisibleOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EyeInvisibleOutlined = function EyeInvisibleOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EyeInvisibleOutlinedSvg\n }));\n};\nEyeInvisibleOutlined.displayName = 'EyeInvisibleOutlined';\nexport default /*#__PURE__*/React.forwardRef(EyeInvisibleOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport EyeInvisibleOutlined from \"@ant-design/icons/es/icons/EyeInvisibleOutlined\";\nimport EyeOutlined from \"@ant-design/icons/es/icons/EyeOutlined\";\nimport classNames from 'classnames';\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport { ConfigConsumer } from '../config-provider';\nimport useRemovePasswordTimeout from './hooks/useRemovePasswordTimeout';\nimport Input from './Input';\nvar defaultIconRender = function defaultIconRender(visible) {\n return visible ? /*#__PURE__*/React.createElement(EyeOutlined, null) : /*#__PURE__*/React.createElement(EyeInvisibleOutlined, null);\n};\nvar ActionMap = {\n click: 'onClick',\n hover: 'onMouseOver'\n};\nvar Password = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visibilityTogg = props.visibilityToggle,\n visibilityToggle = _props$visibilityTogg === void 0 ? true : _props$visibilityTogg;\n var visibilityControlled = _typeof(visibilityToggle) === 'object' && visibilityToggle.visible !== undefined;\n var _useState = useState(function () {\n return visibilityControlled ? visibilityToggle.visible : false;\n }),\n _useState2 = _slicedToArray(_useState, 2),\n visible = _useState2[0],\n setVisible = _useState2[1];\n var inputRef = useRef(null);\n React.useEffect(function () {\n if (visibilityControlled) {\n setVisible(visibilityToggle.visible);\n }\n }, [visibilityControlled, visibilityToggle]);\n // Remove Password value\n var removePasswordTimeout = useRemovePasswordTimeout(inputRef);\n var onVisibleChange = function onVisibleChange() {\n var disabled = props.disabled;\n if (disabled) {\n return;\n }\n if (visible) {\n removePasswordTimeout();\n }\n setVisible(function (prevState) {\n var _a;\n var newState = !prevState;\n if (_typeof(visibilityToggle) === 'object') {\n (_a = visibilityToggle.onVisibleChange) === null || _a === void 0 ? void 0 : _a.call(visibilityToggle, newState);\n }\n return newState;\n });\n };\n var getIcon = function getIcon(prefixCls) {\n var _iconProps;\n var _props$action = props.action,\n action = _props$action === void 0 ? 'click' : _props$action,\n _props$iconRender = props.iconRender,\n iconRender = _props$iconRender === void 0 ? defaultIconRender : _props$iconRender;\n var iconTrigger = ActionMap[action] || '';\n var icon = iconRender(visible);\n var iconProps = (_iconProps = {}, _defineProperty(_iconProps, iconTrigger, onVisibleChange), _defineProperty(_iconProps, \"className\", prefixCls + \"-icon\"), _defineProperty(_iconProps, \"key\", 'passwordIcon'), _defineProperty(_iconProps, \"onMouseDown\", function onMouseDown(e) {\n // Prevent focused state lost\n // https://github.com/ant-design/ant-design/issues/15173\n e.preventDefault();\n }), _defineProperty(_iconProps, \"onMouseUp\", function onMouseUp(e) {\n // Prevent caret position change\n // https://github.com/ant-design/ant-design/issues/23524\n e.preventDefault();\n }), _iconProps);\n return /*#__PURE__*/React.cloneElement( /*#__PURE__*/React.isValidElement(icon) ? icon : /*#__PURE__*/React.createElement(\"span\", null, icon), iconProps);\n };\n var renderPassword = function renderPassword(_ref) {\n var getPrefixCls = _ref.getPrefixCls;\n var className = props.className,\n customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n size = props.size,\n restProps = __rest(props, [\"className\", \"prefixCls\", \"inputPrefixCls\", \"size\"]);\n var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n var prefixCls = getPrefixCls('input-password', customizePrefixCls);\n var suffixIcon = visibilityToggle && getIcon(prefixCls);\n var inputClassName = classNames(prefixCls, className, _defineProperty({}, prefixCls + \"-\" + size, !!size));\n var omittedProps = _extends(_extends({}, omit(restProps, ['suffix', 'iconRender', 'visibilityToggle'])), {\n type: visible ? 'text' : 'password',\n className: inputClassName,\n prefixCls: inputPrefixCls,\n suffix: suffixIcon\n });\n if (size) {\n omittedProps.size = size;\n }\n return /*#__PURE__*/React.createElement(Input, _extends({\n ref: composeRef(ref, inputRef)\n }, omittedProps));\n };\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, renderPassword);\n});\nif (process.env.NODE_ENV !== 'production') {\n Password.displayName = 'Password';\n}\nexport default Password;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport SearchOutlined from \"@ant-design/icons/es/icons/SearchOutlined\";\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { ConfigContext } from '../config-provider';\nimport SizeContext from '../config-provider/SizeContext';\nimport { useCompactItemContext } from '../space/Compact';\nimport { cloneElement } from '../_util/reactNode';\nimport Input from './Input';\nvar Search = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var customizePrefixCls = props.prefixCls,\n customizeInputPrefixCls = props.inputPrefixCls,\n className = props.className,\n customizeSize = props.size,\n suffix = props.suffix,\n _props$enterButton = props.enterButton,\n enterButton = _props$enterButton === void 0 ? false : _props$enterButton,\n addonAfter = props.addonAfter,\n loading = props.loading,\n disabled = props.disabled,\n customOnSearch = props.onSearch,\n customOnChange = props.onChange,\n onCompositionStart = props.onCompositionStart,\n onCompositionEnd = props.onCompositionEnd,\n restProps = __rest(props, [\"prefixCls\", \"inputPrefixCls\", \"className\", \"size\", \"suffix\", \"enterButton\", \"addonAfter\", \"loading\", \"disabled\", \"onSearch\", \"onChange\", \"onCompositionStart\", \"onCompositionEnd\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var contextSize = React.useContext(SizeContext);\n var composedRef = React.useRef(false);\n var prefixCls = getPrefixCls('input-search', customizePrefixCls);\n var inputPrefixCls = getPrefixCls('input', customizeInputPrefixCls);\n var _useCompactItemContex = useCompactItemContext(prefixCls, direction),\n compactSize = _useCompactItemContex.compactSize;\n var size = compactSize || customizeSize || contextSize;\n var inputRef = React.useRef(null);\n var onChange = function onChange(e) {\n if (e && e.target && e.type === 'click' && customOnSearch) {\n customOnSearch(e.target.value, e);\n }\n if (customOnChange) {\n customOnChange(e);\n }\n };\n var onMouseDown = function onMouseDown(e) {\n var _a;\n if (document.activeElement === ((_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input)) {\n e.preventDefault();\n }\n };\n var onSearch = function onSearch(e) {\n var _a, _b;\n if (customOnSearch) {\n customOnSearch((_b = (_a = inputRef.current) === null || _a === void 0 ? void 0 : _a.input) === null || _b === void 0 ? void 0 : _b.value, e);\n }\n };\n var onPressEnter = function onPressEnter(e) {\n if (composedRef.current || loading) {\n return;\n }\n onSearch(e);\n };\n var searchIcon = typeof enterButton === 'boolean' ? /*#__PURE__*/React.createElement(SearchOutlined, null) : null;\n var btnClassName = prefixCls + \"-button\";\n var button;\n var enterButtonAsElement = enterButton || {};\n var isAntdButton = enterButtonAsElement.type && enterButtonAsElement.type.__ANT_BUTTON === true;\n if (isAntdButton || enterButtonAsElement.type === 'button') {\n button = cloneElement(enterButtonAsElement, _extends({\n onMouseDown: onMouseDown,\n onClick: function onClick(e) {\n var _a, _b;\n (_b = (_a = enterButtonAsElement === null || enterButtonAsElement === void 0 ? void 0 : enterButtonAsElement.props) === null || _a === void 0 ? void 0 : _a.onClick) === null || _b === void 0 ? void 0 : _b.call(_a, e);\n onSearch(e);\n },\n key: 'enterButton'\n }, isAntdButton ? {\n className: btnClassName,\n size: size\n } : {}));\n } else {\n button = /*#__PURE__*/React.createElement(Button, {\n className: btnClassName,\n type: enterButton ? 'primary' : undefined,\n size: size,\n disabled: disabled,\n key: \"enterButton\",\n onMouseDown: onMouseDown,\n onClick: onSearch,\n loading: loading,\n icon: searchIcon\n }, enterButton);\n }\n if (addonAfter) {\n button = [button, cloneElement(addonAfter, {\n key: 'addonAfter'\n })];\n }\n var cls = classNames(prefixCls, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _defineProperty(_classNames, prefixCls + \"-\" + size, !!size), _defineProperty(_classNames, prefixCls + \"-with-button\", !!enterButton), _classNames), className);\n var handleOnCompositionStart = function handleOnCompositionStart(e) {\n composedRef.current = true;\n onCompositionStart === null || onCompositionStart === void 0 ? void 0 : onCompositionStart(e);\n };\n var handleOnCompositionEnd = function handleOnCompositionEnd(e) {\n composedRef.current = false;\n onCompositionEnd === null || onCompositionEnd === void 0 ? void 0 : onCompositionEnd(e);\n };\n return /*#__PURE__*/React.createElement(Input, _extends({\n ref: composeRef(inputRef, ref),\n onPressEnter: onPressEnter\n }, restProps, {\n size: size,\n onCompositionStart: handleOnCompositionStart,\n onCompositionEnd: handleOnCompositionEnd,\n prefixCls: inputPrefixCls,\n addonAfter: button,\n suffix: suffix,\n onChange: onChange,\n className: cls,\n disabled: disabled\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Search.displayName = 'Search';\n}\nexport default Search;","import Group from './Group';\nimport InternalInput from './Input';\nimport Password from './Password';\nimport Search from './Search';\nimport TextArea from './TextArea';\nvar Input = InternalInput;\nInput.Group = Group;\nInput.Search = Search;\nInput.TextArea = TextArea;\nInput.Password = Password;\nexport default Input;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { clearFix, resetComponent } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nexport var genPlaceholderStyle = function genPlaceholderStyle(color) {\n return {\n // Firefox\n '&::-moz-placeholder': {\n opacity: 1\n },\n '&::placeholder': {\n color: color,\n userSelect: 'none' // https://github.com/ant-design/ant-design/pull/32639\n },\n\n '&:placeholder-shown': {\n textOverflow: 'ellipsis'\n }\n };\n};\nexport var genHoverStyle = function genHoverStyle(token) {\n return {\n borderColor: token.inputBorderHoverColor,\n borderInlineEndWidth: token.lineWidth\n };\n};\nexport var genActiveStyle = function genActiveStyle(token) {\n return {\n borderColor: token.inputBorderHoverColor,\n boxShadow: \"0 0 0 \" + token.controlOutlineWidth + \"px \" + token.controlOutline,\n borderInlineEndWidth: token.lineWidth,\n outline: 0\n };\n};\nexport var genDisabledStyle = function genDisabledStyle(token) {\n return {\n color: token.colorTextDisabled,\n backgroundColor: token.colorBgContainerDisabled,\n borderColor: token.colorBorder,\n boxShadow: 'none',\n cursor: 'not-allowed',\n opacity: 1,\n '&:hover': _extends({}, genHoverStyle(mergeToken(token, {\n inputBorderHoverColor: token.colorBorder\n })))\n };\n};\nvar genInputLargeStyle = function genInputLargeStyle(token) {\n var inputPaddingVerticalLG = token.inputPaddingVerticalLG,\n inputPaddingHorizontal = token.inputPaddingHorizontal,\n fontSizeLG = token.fontSizeLG,\n lineHeightLG = token.lineHeightLG,\n borderRadiusLG = token.borderRadiusLG;\n return {\n padding: inputPaddingVerticalLG + \"px \" + inputPaddingHorizontal + \"px\",\n fontSize: fontSizeLG,\n lineHeight: lineHeightLG,\n borderRadius: borderRadiusLG\n };\n};\nexport var genInputSmallStyle = function genInputSmallStyle(token) {\n return {\n padding: token.inputPaddingVerticalSM + \"px \" + (token.controlPaddingHorizontalSM - 1) + \"px\",\n borderRadius: token.borderRadiusSM\n };\n};\nexport var genStatusStyle = function genStatusStyle(token) {\n var componentCls = token.componentCls,\n colorError = token.colorError,\n colorWarning = token.colorWarning,\n colorErrorOutline = token.colorErrorOutline,\n colorWarningOutline = token.colorWarningOutline,\n colorErrorBorderHover = token.colorErrorBorderHover,\n colorWarningBorderHover = token.colorWarningBorderHover;\n return {\n '&-status-error:not(&-disabled):not(&-borderless)&': _defineProperty({\n borderColor: colorError,\n '&:hover': {\n borderColor: colorErrorBorderHover\n },\n '&:focus, &-focused': _extends({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorError,\n inputBorderHoverColor: colorError,\n controlOutline: colorErrorOutline\n })))\n }, componentCls + \"-prefix\", {\n color: colorError\n }),\n '&-status-warning:not(&-disabled):not(&-borderless)&': _defineProperty({\n borderColor: colorWarning,\n '&:hover': {\n borderColor: colorWarningBorderHover\n },\n '&:focus, &-focused': _extends({}, genActiveStyle(mergeToken(token, {\n inputBorderActiveColor: colorWarning,\n inputBorderHoverColor: colorWarning,\n controlOutline: colorWarningOutline\n })))\n }, componentCls + \"-prefix\", {\n color: colorWarning\n })\n };\n};\nexport var genBasicInputStyle = function genBasicInputStyle(token) {\n return _extends(_extends({\n position: 'relative',\n display: 'inline-block',\n width: '100%',\n minWidth: 0,\n padding: token.inputPaddingVertical + \"px \" + token.inputPaddingHorizontal + \"px\",\n color: token.colorText,\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n backgroundColor: token.colorBgContainer,\n backgroundImage: 'none',\n borderWidth: token.lineWidth,\n borderStyle: token.lineType,\n borderColor: token.colorBorder,\n borderRadius: token.borderRadius,\n transition: \"all \" + token.motionDurationMid\n }, genPlaceholderStyle(token.colorTextPlaceholder)), {\n '&:hover': _extends({}, genHoverStyle(token)),\n '&:focus, &-focused': _extends({}, genActiveStyle(token)),\n '&-disabled, &[disabled]': _extends({}, genDisabledStyle(token)),\n '&-borderless': {\n '&, &:hover, &:focus, &-focused, &-disabled, &[disabled]': {\n backgroundColor: 'transparent',\n border: 'none',\n boxShadow: 'none'\n }\n },\n // Reset height for `textarea`s\n 'textarea&': {\n maxWidth: '100%',\n height: 'auto',\n minHeight: token.controlHeight,\n lineHeight: token.lineHeight,\n verticalAlign: 'bottom',\n transition: \"all \" + token.motionDurationSlow + \", height 0s\",\n resize: 'vertical'\n },\n // Size\n '&-lg': _extends({}, genInputLargeStyle(token)),\n '&-sm': _extends({}, genInputSmallStyle(token)),\n // RTL\n '&-rtl': {\n direction: 'rtl'\n },\n '&-textarea-rtl': {\n direction: 'rtl'\n }\n });\n};\nexport var genInputGroupStyle = function genInputGroupStyle(token) {\n var _ref2, _addon, _ref4, _ref6, _ref10, _extends2, _ref12;\n var componentCls = token.componentCls,\n antCls = token.antCls;\n return _ref12 = {\n position: 'relative',\n display: 'table',\n width: '100%',\n borderCollapse: 'separate',\n borderSpacing: 0\n }, _defineProperty(_ref12, \"&[class*='col-']\", {\n paddingInlineEnd: token.paddingXS,\n '&:last-child': {\n paddingInlineEnd: 0\n }\n }), _defineProperty(_ref12, \"&-lg \" + componentCls + \", &-lg > \" + componentCls + \"-group-addon\", _extends({}, genInputLargeStyle(token))), _defineProperty(_ref12, \"&-sm \" + componentCls + \", &-sm > \" + componentCls + \"-group-addon\", _extends({}, genInputSmallStyle(token))), _defineProperty(_ref12, \"&-lg \" + antCls + \"-select-single \" + antCls + \"-select-selector\", {\n height: token.controlHeightLG\n }), _defineProperty(_ref12, \"&-sm \" + antCls + \"-select-single \" + antCls + \"-select-selector\", {\n height: token.controlHeightSM\n }), _defineProperty(_ref12, \"> \" + componentCls, {\n display: 'table-cell',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n }), _defineProperty(_ref12, componentCls + \"-group\", (_ref4 = {}, _defineProperty(_ref4, \"&-addon, &-wrap\", {\n display: 'table-cell',\n width: 1,\n whiteSpace: 'nowrap',\n verticalAlign: 'middle',\n '&:not(:first-child):not(:last-child)': {\n borderRadius: 0\n }\n }), _defineProperty(_ref4, '&-wrap > *', {\n display: 'block !important'\n }), _defineProperty(_ref4, '&-addon', (_addon = {\n position: 'relative',\n padding: \"0 \" + token.inputPaddingHorizontal + \"px\",\n color: token.colorText,\n fontWeight: 'normal',\n fontSize: token.fontSize,\n textAlign: 'center',\n backgroundColor: token.colorFillAlter,\n border: token.lineWidth + \"px \" + token.lineType + \" \" + token.colorBorder,\n borderRadius: token.borderRadius,\n transition: \"all \" + token.motionDurationSlow\n }, _defineProperty(_addon, antCls + \"-select\", (_ref2 = {\n margin: \"-\" + (token.inputPaddingVertical + 1) + \"px -\" + token.inputPaddingHorizontal + \"px\"\n }, _defineProperty(_ref2, \"&\" + antCls + \"-select-single:not(\" + antCls + \"-select-customize-input)\", _defineProperty({}, antCls + \"-select-selector\", {\n backgroundColor: 'inherit',\n border: token.lineWidth + \"px \" + token.lineType + \" transparent\",\n boxShadow: 'none'\n })), _defineProperty(_ref2, '&-open, &-focused', _defineProperty({}, antCls + \"-select-selector\", {\n color: token.colorPrimary\n })), _ref2)), _defineProperty(_addon, antCls + \"-cascader-picker\", _defineProperty({\n margin: \"-9px -\" + token.inputPaddingHorizontal + \"px\",\n backgroundColor: 'transparent'\n }, antCls + \"-cascader-input\", {\n textAlign: 'start',\n border: 0,\n boxShadow: 'none'\n })), _addon)), _defineProperty(_ref4, '&-addon:first-child', {\n borderInlineEnd: 0\n }), _defineProperty(_ref4, '&-addon:last-child', {\n borderInlineStart: 0\n }), _ref4)), _defineProperty(_ref12, \"\" + componentCls, {\n \"float\": 'inline-start',\n width: '100%',\n marginBottom: 0,\n textAlign: 'inherit',\n '&:focus': {\n zIndex: 1,\n borderInlineEndWidth: 1\n },\n '&:hover': _defineProperty({\n zIndex: 1,\n borderInlineEndWidth: 1\n }, componentCls + \"-search-with-button &\", {\n zIndex: 0\n })\n }), _defineProperty(_ref12, \"> \" + componentCls + \":first-child, \" + componentCls + \"-group-addon:first-child\", _defineProperty({\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }, antCls + \"-select \" + antCls + \"-select-selector\", {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n })), _defineProperty(_ref12, \"> \" + componentCls + \"-affix-wrapper\", (_ref6 = {}, _defineProperty(_ref6, \"&:not(:first-child) \" + componentCls, {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }), _defineProperty(_ref6, \"&:not(:last-child) \" + componentCls, {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }), _ref6)), _defineProperty(_ref12, \"> \" + componentCls + \":last-child, \" + componentCls + \"-group-addon:last-child\", _defineProperty({\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n }, antCls + \"-select \" + antCls + \"-select-selector\", {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n })), _defineProperty(_ref12, componentCls + \"-affix-wrapper\", _defineProperty({\n '&:not(:last-child)': _defineProperty({\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n }, componentCls + \"-search &\", {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n })\n }, \"&:not(:first-child), \" + componentCls + \"-search &:not(:first-child)\", {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n })), _defineProperty(_ref12, '&&-compact', _extends(_extends({\n display: 'block'\n }, clearFix()), (_extends2 = {}, _defineProperty(_extends2, componentCls + \"-group-addon, \" + componentCls + \"-group-wrap, > \" + componentCls, {\n '&:not(:first-child):not(:last-child)': {\n borderInlineEndWidth: token.lineWidth,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n }\n }), _defineProperty(_extends2, '& > *', {\n display: 'inline-block',\n \"float\": 'none',\n verticalAlign: 'top',\n borderRadius: 0\n }), _defineProperty(_extends2, \"& > \" + componentCls + \"-affix-wrapper\", {\n display: 'inline-flex'\n }), _defineProperty(_extends2, \"& > \" + antCls + \"-picker-range\", {\n display: 'inline-flex'\n }), _defineProperty(_extends2, '& > *:not(:last-child)', {\n marginInlineEnd: -token.lineWidth,\n borderInlineEndWidth: token.lineWidth\n }), _defineProperty(_extends2, \"\" + componentCls, {\n \"float\": 'none'\n }), _defineProperty(_extends2, \"& > \" + antCls + \"-select > \" + antCls + \"-select-selector,\\n & > \" + antCls + \"-select-auto-complete \" + componentCls + \",\\n & > \" + antCls + \"-cascader-picker \" + componentCls + \",\\n & > \" + componentCls + \"-group-wrapper \" + componentCls, {\n borderInlineEndWidth: token.lineWidth,\n borderRadius: 0,\n '&:hover': {\n zIndex: 1\n },\n '&:focus': {\n zIndex: 1\n }\n }), _defineProperty(_extends2, \"& > \" + antCls + \"-select-focused\", {\n zIndex: 1\n }), _defineProperty(_extends2, \"& > \" + antCls + \"-select > \" + antCls + \"-select-arrow\", {\n zIndex: 1 // https://github.com/ant-design/ant-design/issues/20371\n }), _defineProperty(_extends2, \"& > *:first-child,\\n & > \" + antCls + \"-select:first-child > \" + antCls + \"-select-selector,\\n & > \" + antCls + \"-select-auto-complete:first-child \" + componentCls + \",\\n & > \" + antCls + \"-cascader-picker:first-child \" + componentCls, {\n borderStartStartRadius: token.borderRadius,\n borderEndStartRadius: token.borderRadius\n }), _defineProperty(_extends2, \"& > *:last-child,\\n & > \" + antCls + \"-select:last-child > \" + antCls + \"-select-selector,\\n & > \" + antCls + \"-cascader-picker:last-child \" + componentCls + \",\\n & > \" + antCls + \"-cascader-picker-focused:last-child \" + componentCls, {\n borderInlineEndWidth: token.lineWidth,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius\n }), _defineProperty(_extends2, \"& > \" + antCls + \"-select-auto-complete \" + componentCls, {\n verticalAlign: 'top'\n }), _defineProperty(_extends2, componentCls + \"-group-wrapper + \" + componentCls + \"-group-wrapper\", _defineProperty({\n marginInlineStart: -token.lineWidth\n }, componentCls + \"-affix-wrapper\", {\n borderRadius: 0\n })), _defineProperty(_extends2, componentCls + \"-group-wrapper:not(:last-child)\", _defineProperty({}, \"&\" + componentCls + \"-search > \" + componentCls + \"-group\", (_ref10 = {}, _defineProperty(_ref10, \"& > \" + componentCls + \"-group-addon > \" + componentCls + \"-search-button\", {\n borderRadius: 0\n }), _defineProperty(_ref10, \"& > \" + componentCls, {\n borderStartStartRadius: token.borderRadius,\n borderStartEndRadius: 0,\n borderEndEndRadius: 0,\n borderEndStartRadius: token.borderRadius\n }), _ref10))), _extends2))), _ref12;\n};\nvar genInputStyle = function genInputStyle(token) {\n var _typeColor;\n var prefixCls = token.prefixCls,\n componentCls = token.componentCls,\n controlHeightSM = token.controlHeightSM,\n lineWidth = token.lineWidth;\n var FIXED_CHROME_COLOR_HEIGHT = 16;\n var colorSmallPadding = (controlHeightSM - lineWidth * 2 - FIXED_CHROME_COLOR_HEIGHT) / 2;\n return _defineProperty({}, \"\" + componentCls, _extends(_extends(_extends(_extends(_extends({}, resetComponent(token)), genBasicInputStyle(token)), genStatusStyle(token)), genCompactItemStyle(token, prefixCls)), {\n '&[type=\"color\"]': (_typeColor = {\n height: token.controlHeight\n }, _defineProperty(_typeColor, \"&\" + componentCls + \"-lg\", {\n height: token.controlHeightLG\n }), _defineProperty(_typeColor, \"&\" + componentCls + \"-sm\", {\n height: controlHeightSM,\n paddingTop: colorSmallPadding,\n paddingBottom: colorSmallPadding\n }), _typeColor)\n }));\n};\nvar genAllowClearStyle = function genAllowClearStyle(token) {\n var _ref14;\n var componentCls = token.componentCls;\n return _ref14 = {}, _defineProperty(_ref14, componentCls + \"-clear-icon\", {\n margin: 0,\n color: token.colorIcon,\n fontSize: token.fontSizeIcon,\n verticalAlign: -1,\n // https://github.com/ant-design/ant-design/pull/18151\n // https://codesandbox.io/s/wizardly-sun-u10br\n cursor: 'pointer',\n transition: \"color \" + token.motionDurationSlow,\n '&:hover': {\n color: token.colorTextDescription\n },\n '&:active': {\n color: token.colorText\n },\n '&-hidden': {\n visibility: 'hidden'\n },\n '&-has-suffix': {\n margin: \"0 \" + token.inputAffixPadding + \"px\"\n }\n }), _defineProperty(_ref14, '&-textarea-with-clear-btn', _defineProperty({\n padding: '0 !important',\n border: '0 !important'\n }, componentCls + \"-clear-icon\", {\n position: 'absolute',\n insetBlockStart: token.paddingXS,\n insetInlineEnd: token.paddingXS,\n zIndex: 1\n })), _ref14;\n};\nvar genAffixStyle = function genAffixStyle(token) {\n var _extends4;\n var componentCls = token.componentCls,\n inputAffixPadding = token.inputAffixPadding,\n colorTextDescription = token.colorTextDescription,\n motionDurationSlow = token.motionDurationSlow,\n colorIcon = token.colorIcon,\n colorIconHover = token.colorIconHover,\n iconCls = token.iconCls;\n return _defineProperty({}, componentCls + \"-affix-wrapper\", _extends(_extends(_extends(_extends(_extends({}, genBasicInputStyle(token)), (_extends4 = {\n display: 'inline-flex',\n '&:not(&-disabled):hover': _extends(_extends({}, genHoverStyle(token)), _defineProperty({\n zIndex: 1\n }, componentCls + \"-search-with-button &\", {\n zIndex: 0\n })),\n '&-focused, &:focus': {\n zIndex: 1\n },\n '&-disabled': _defineProperty({}, componentCls + \"[disabled]\", {\n background: 'transparent'\n })\n }, _defineProperty(_extends4, \"> input\" + componentCls, {\n padding: 0,\n fontSize: 'inherit',\n border: 'none',\n borderRadius: 0,\n outline: 'none',\n '&:focus': {\n boxShadow: 'none !important'\n }\n }), _defineProperty(_extends4, '&::before', {\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n }), _defineProperty(_extends4, \"\" + componentCls, {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n '> *:not(:last-child)': {\n marginInlineEnd: token.paddingXS\n }\n },\n '&-show-count-suffix': {\n color: colorTextDescription\n },\n '&-show-count-has-suffix': {\n marginInlineEnd: token.paddingXXS\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n marginInlineStart: inputAffixPadding\n }\n }), _extends4)), genAllowClearStyle(token)), _defineProperty({}, \"\" + iconCls + componentCls + \"-password-icon\", {\n color: colorIcon,\n cursor: 'pointer',\n transition: \"all \" + motionDurationSlow,\n '&:hover': {\n color: colorIconHover\n }\n })), genStatusStyle(token)));\n};\nvar genGroupStyle = function genGroupStyle(token) {\n var componentCls = token.componentCls,\n colorError = token.colorError,\n colorSuccess = token.colorSuccess,\n borderRadiusLG = token.borderRadiusLG,\n borderRadiusSM = token.borderRadiusSM;\n return _defineProperty({}, componentCls + \"-group\", _extends(_extends(_extends({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-rtl': {\n direction: 'rtl'\n },\n '&-wrapper': {\n display: 'inline-block',\n width: '100%',\n textAlign: 'start',\n verticalAlign: 'top',\n '&-rtl': {\n direction: 'rtl'\n },\n // Size\n '&-lg': _defineProperty({}, componentCls + \"-group-addon\", {\n borderRadius: borderRadiusLG\n }),\n '&-sm': _defineProperty({}, componentCls + \"-group-addon\", {\n borderRadius: borderRadiusSM\n }),\n // Status\n '&-status-error': _defineProperty({}, componentCls + \"-group-addon\", {\n color: colorError,\n borderColor: colorError\n }),\n '&-status-warning': _defineProperty({}, componentCls + \"-group-addon:last-child\", {\n color: colorSuccess,\n borderColor: colorSuccess\n })\n }\n }));\n};\nvar genSearchInputStyle = function genSearchInputStyle(token) {\n var _ref18, _ref23, _searchPrefixCls;\n var componentCls = token.componentCls,\n antCls = token.antCls;\n var searchPrefixCls = componentCls + \"-search\";\n return _defineProperty({}, searchPrefixCls, (_searchPrefixCls = {}, _defineProperty(_searchPrefixCls, \"\" + componentCls, {\n '&:hover, &:focus': _defineProperty({\n borderColor: token.colorPrimaryHover\n }, \"+ \" + componentCls + \"-group-addon \" + searchPrefixCls + \"-button:not(\" + antCls + \"-btn-primary)\", {\n borderInlineStartColor: token.colorPrimaryHover\n })\n }), _defineProperty(_searchPrefixCls, componentCls + \"-affix-wrapper\", {\n borderRadius: 0\n }), _defineProperty(_searchPrefixCls, componentCls + \"-lg\", {\n lineHeight: token.lineHeightLG - 0.0002\n }), _defineProperty(_searchPrefixCls, \"> \" + componentCls + \"-group\", _defineProperty({}, \"> \" + componentCls + \"-group-addon:last-child\", (_ref18 = {\n insetInlineStart: -1,\n padding: 0,\n border: 0\n }, _defineProperty(_ref18, searchPrefixCls + \"-button\", {\n paddingTop: 0,\n paddingBottom: 0,\n borderStartStartRadius: 0,\n borderStartEndRadius: token.borderRadius,\n borderEndEndRadius: token.borderRadius,\n borderEndStartRadius: 0\n }), _defineProperty(_ref18, searchPrefixCls + \"-button:not(\" + antCls + \"-btn-primary)\", _defineProperty({\n color: token.colorTextDescription,\n '&:hover': {\n color: token.colorPrimaryHover\n },\n '&:active': {\n color: token.colorPrimaryActive\n }\n }, \"&\" + antCls + \"-btn-loading::before\", {\n insetInlineStart: 0,\n insetInlineEnd: 0,\n insetBlockStart: 0,\n insetBlockEnd: 0\n })), _ref18))), _defineProperty(_searchPrefixCls, searchPrefixCls + \"-button\", {\n height: token.controlHeight,\n '&:hover, &:focus': {\n zIndex: 1\n }\n }), _defineProperty(_searchPrefixCls, \"&-large \" + searchPrefixCls + \"-button\", {\n height: token.controlHeightLG\n }), _defineProperty(_searchPrefixCls, \"&-small \" + searchPrefixCls + \"-button\", {\n height: token.controlHeightSM\n }), _defineProperty(_searchPrefixCls, '&-rtl', {\n direction: 'rtl'\n }), _defineProperty(_searchPrefixCls, \"&\" + componentCls + \"-compact-item\", (_ref23 = {}, _defineProperty(_ref23, \"&:not(\" + componentCls + \"-compact-last-item)\", _defineProperty({}, componentCls + \"-group-addon\", _defineProperty({}, componentCls + \"-search-button\", {\n marginInlineEnd: -token.lineWidth,\n borderRadius: 0\n }))), _defineProperty(_ref23, \"&:not(\" + componentCls + \"-compact-first-item)\", _defineProperty({}, componentCls + \",\" + componentCls + \"-affix-wrapper\", {\n borderRadius: 0\n })), _defineProperty(_ref23, \"> \" + componentCls + \"-group-addon \" + componentCls + \"-search-button,\\n > \" + componentCls + \",\\n \" + componentCls + \"-affix-wrapper\", {\n '&:hover,&:focus,&:active': {\n zIndex: 2\n }\n }), _defineProperty(_ref23, \"> \" + componentCls + \"-affix-wrapper-focused\", {\n zIndex: 2\n }), _ref23)), _searchPrefixCls));\n};\nexport function initInputToken(token) {\n // @ts-ignore\n return mergeToken(token, {\n inputAffixPadding: token.paddingXXS,\n inputPaddingVertical: Math.max(Math.round((token.controlHeight - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 3),\n inputPaddingVerticalLG: Math.ceil((token.controlHeightLG - token.fontSizeLG * token.lineHeightLG) / 2 * 10) / 10 - token.lineWidth,\n inputPaddingVerticalSM: Math.max(Math.round((token.controlHeightSM - token.fontSize * token.lineHeight) / 2 * 10) / 10 - token.lineWidth, 0),\n inputPaddingHorizontal: token.controlPaddingHorizontal - token.lineWidth,\n inputPaddingHorizontalSM: token.controlPaddingHorizontalSM - token.lineWidth,\n inputBorderHoverColor: token.colorPrimaryHover,\n inputBorderActiveColor: token.colorPrimaryHover\n });\n}\nvar genTextAreaStyle = function genTextAreaStyle(token) {\n var _showCount, _textareaPrefixCls;\n var componentCls = token.componentCls,\n inputPaddingHorizontal = token.inputPaddingHorizontal,\n paddingLG = token.paddingLG;\n var textareaPrefixCls = componentCls + \"-textarea\";\n return _defineProperty({}, textareaPrefixCls, (_textareaPrefixCls = {\n position: 'relative'\n }, _defineProperty(_textareaPrefixCls, textareaPrefixCls + \"-suffix\", {\n position: 'absolute',\n top: 0,\n insetInlineEnd: inputPaddingHorizontal,\n bottom: 0,\n zIndex: 1,\n display: 'inline-flex',\n alignItems: 'center',\n margin: 'auto'\n }), _defineProperty(_textareaPrefixCls, \"&-status-error,\\n &-status-warning,\\n &-status-success,\\n &-status-validating\", _defineProperty({}, \"&\" + textareaPrefixCls + \"-has-feedback\", _defineProperty({}, \"\" + componentCls, {\n paddingInlineEnd: paddingLG\n }))), _defineProperty(_textareaPrefixCls, '&-show-count', (_showCount = {}, _defineProperty(_showCount, \"> \" + componentCls, {\n height: '100%'\n }), _defineProperty(_showCount, '&::after', {\n position: 'absolute',\n bottom: 0,\n insetInlineEnd: 0,\n color: token.colorTextDescription,\n whiteSpace: 'nowrap',\n content: 'attr(data-count)',\n pointerEvents: 'none',\n display: 'block',\n transform: 'translateY(100%)'\n }), _showCount)), _textareaPrefixCls));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Input', function (token) {\n var inputToken = initInputToken(token);\n return [genInputStyle(inputToken), genTextAreaStyle(inputToken), genAffixStyle(inputToken), genGroupStyle(inputToken), genSearchInputStyle(inputToken)];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport LocaleContext from './context';\nimport defaultLocaleData from '../locale/en_US';\nvar LocaleReceiver = function LocaleReceiver(props) {\n var _props$componentName = props.componentName,\n componentName = _props$componentName === void 0 ? 'global' : _props$componentName,\n defaultLocale = props.defaultLocale,\n children = props.children;\n var antLocale = React.useContext(LocaleContext);\n var getLocale = React.useMemo(function () {\n var _a;\n var locale = defaultLocale || defaultLocaleData[componentName];\n var localeFromContext = (_a = antLocale === null || antLocale === void 0 ? void 0 : antLocale[componentName]) !== null && _a !== void 0 ? _a : {};\n return _extends(_extends({}, locale instanceof Function ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n var getLocaleCode = React.useMemo(function () {\n var localeCode = antLocale && antLocale.locale;\n // Had use LocaleProvide but didn't set locale\n if (antLocale && antLocale.exist && !localeCode) {\n return defaultLocaleData.locale;\n }\n return localeCode;\n }, [antLocale]);\n return children(getLocale, getLocaleCode, antLocale);\n};\nexport default LocaleReceiver;\nexport var useLocaleReceiver = function useLocaleReceiver(componentName, defaultLocale) {\n var antLocale = React.useContext(LocaleContext);\n var getLocale = React.useMemo(function () {\n var _a;\n var locale = defaultLocale || defaultLocaleData[componentName];\n var localeFromContext = (_a = antLocale === null || antLocale === void 0 ? void 0 : antLocale[componentName]) !== null && _a !== void 0 ? _a : {};\n return _extends(_extends({}, typeof locale === 'function' ? locale() : locale), localeFromContext || {});\n }, [componentName, defaultLocale, antLocale]);\n return [getLocale];\n};","import { createContext } from 'react';\nvar LocaleContext = /*#__PURE__*/createContext(undefined);\nexport default LocaleContext;","var locale = {\n locale: 'en_US',\n today: 'Today',\n now: 'Now',\n backToToday: 'Back to today',\n ok: 'OK',\n clear: 'Clear',\n month: 'Month',\n year: 'Year',\n timeSelect: 'select time',\n dateSelect: 'select date',\n weekSelect: 'Choose a week',\n monthSelect: 'Choose a month',\n yearSelect: 'Choose a year',\n decadeSelect: 'Choose a decade',\n yearFormat: 'YYYY',\n dateFormat: 'M/D/YYYY',\n dayFormat: 'D',\n dateTimeFormat: 'M/D/YYYY HH:mm:ss',\n monthBeforeYear: true,\n previousMonth: 'Previous month (PageUp)',\n nextMonth: 'Next month (PageDown)',\n previousYear: 'Last year (Control + left)',\n nextYear: 'Next year (Control + right)',\n previousDecade: 'Last decade',\n nextDecade: 'Next decade',\n previousCentury: 'Last century',\n nextCentury: 'Next century'\n};\nexport default locale;","var locale = {\n placeholder: 'Select time',\n rangePlaceholder: ['Start time', 'End time']\n};\nexport default locale;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport CalendarLocale from \"rc-picker/es/locale/en_US\";\nimport TimePickerLocale from '../../time-picker/locale/en_US';\n// Merge into a locale object\nvar locale = {\n lang: _extends({\n placeholder: 'Select date',\n yearPlaceholder: 'Select year',\n quarterPlaceholder: 'Select quarter',\n monthPlaceholder: 'Select month',\n weekPlaceholder: 'Select week',\n rangePlaceholder: ['Start date', 'End date'],\n rangeYearPlaceholder: ['Start year', 'End year'],\n rangeQuarterPlaceholder: ['Start quarter', 'End quarter'],\n rangeMonthPlaceholder: ['Start month', 'End month'],\n rangeWeekPlaceholder: ['Start week', 'End week']\n }, CalendarLocale),\n timePickerLocale: _extends({}, TimePickerLocale)\n};\n// All settings at:\n// https://github.com/ant-design/ant-design/blob/master/components/date-picker/locale/example.json\nexport default locale;","import enUS from '../../date-picker/locale/en_US';\nexport default enUS;","/* eslint-disable no-template-curly-in-string */\nimport Pagination from \"rc-pagination/es/locale/en_US\";\nimport Calendar from '../calendar/locale/en_US';\nimport DatePicker from '../date-picker/locale/en_US';\nimport TimePicker from '../time-picker/locale/en_US';\nvar typeTemplate = '${label} is not a valid ${type}';\nvar localeValues = {\n locale: 'en',\n Pagination: Pagination,\n DatePicker: DatePicker,\n TimePicker: TimePicker,\n Calendar: Calendar,\n global: {\n placeholder: 'Please select'\n },\n Table: {\n filterTitle: 'Filter menu',\n filterConfirm: 'OK',\n filterReset: 'Reset',\n filterEmptyText: 'No filters',\n filterCheckall: 'Select all items',\n filterSearchPlaceholder: 'Search in filters',\n emptyText: 'No data',\n selectAll: 'Select current page',\n selectInvert: 'Invert current page',\n selectNone: 'Clear all data',\n selectionAll: 'Select all data',\n sortTitle: 'Sort',\n expand: 'Expand row',\n collapse: 'Collapse row',\n triggerDesc: 'Click to sort descending',\n triggerAsc: 'Click to sort ascending',\n cancelSort: 'Click to cancel sorting'\n },\n Tour: {\n Next: 'Next',\n Previous: 'Previous',\n Finish: 'Finish'\n },\n Modal: {\n okText: 'OK',\n cancelText: 'Cancel',\n justOkText: 'OK'\n },\n Popconfirm: {\n okText: 'OK',\n cancelText: 'Cancel'\n },\n Transfer: {\n titles: ['', ''],\n searchPlaceholder: 'Search here',\n itemUnit: 'item',\n itemsUnit: 'items',\n remove: 'Remove',\n selectCurrent: 'Select current page',\n removeCurrent: 'Remove current page',\n selectAll: 'Select all data',\n removeAll: 'Remove all data',\n selectInvert: 'Invert current page'\n },\n Upload: {\n uploading: 'Uploading...',\n removeFile: 'Remove file',\n uploadError: 'Upload error',\n previewFile: 'Preview file',\n downloadFile: 'Download file'\n },\n Empty: {\n description: 'No data'\n },\n Icon: {\n icon: 'icon'\n },\n Text: {\n edit: 'Edit',\n copy: 'Copy',\n copied: 'Copied',\n expand: 'Expand'\n },\n PageHeader: {\n back: 'Back'\n },\n Form: {\n optional: '(optional)',\n defaultValidateMessages: {\n \"default\": 'Field validation error for ${label}',\n required: 'Please enter ${label}',\n \"enum\": '${label} must be one of [${enum}]',\n whitespace: '${label} cannot be a blank character',\n date: {\n format: '${label} date format is invalid',\n parse: '${label} cannot be converted to a date',\n invalid: '${label} is an invalid date'\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n \"boolean\": typeTemplate,\n integer: typeTemplate,\n \"float\": typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: '${label} must be ${len} characters',\n min: '${label} must be at least ${min} characters',\n max: '${label} must be up to ${max} characters',\n range: '${label} must be between ${min}-${max} characters'\n },\n number: {\n len: '${label} must be equal to ${len}',\n min: '${label} must be minimum ${min}',\n max: '${label} must be maximum ${max}',\n range: '${label} must be between ${min}-${max}'\n },\n array: {\n len: 'Must be ${len} ${label}',\n min: 'At least ${min} ${label}',\n max: 'At most ${max} ${label}',\n range: 'The amount of ${label} must be between ${min}-${max}'\n },\n pattern: {\n mismatch: '${label} does not match the pattern ${pattern}'\n }\n }\n },\n Image: {\n preview: 'Preview'\n }\n};\nexport default localeValues;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nvar Notify = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n style = props.style,\n className = props.className,\n _props$duration = props.duration,\n duration = _props$duration === void 0 ? 4.5 : _props$duration,\n eventKey = props.eventKey,\n content = props.content,\n closable = props.closable,\n _props$closeIcon = props.closeIcon,\n closeIcon = _props$closeIcon === void 0 ? 'x' : _props$closeIcon,\n divProps = props.props,\n onClick = props.onClick,\n onNoticeClose = props.onNoticeClose;\n\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n hovering = _React$useState2[0],\n setHovering = _React$useState2[1]; // ======================== Close =========================\n\n\n var onInternalClose = function onInternalClose() {\n onNoticeClose(eventKey);\n }; // ======================== Effect ========================\n\n\n React.useEffect(function () {\n if (!hovering && duration > 0) {\n var timeout = setTimeout(function () {\n onInternalClose();\n }, duration * 1000);\n return function () {\n clearTimeout(timeout);\n };\n }\n }, [duration, hovering]); // ======================== Render ========================\n\n var noticePrefixCls = \"\".concat(prefixCls, \"-notice\");\n return /*#__PURE__*/React.createElement(\"div\", _extends({}, divProps, {\n ref: ref,\n className: classNames(noticePrefixCls, className, _defineProperty({}, \"\".concat(noticePrefixCls, \"-closable\"), closable)),\n style: style,\n onMouseEnter: function onMouseEnter() {\n setHovering(true);\n },\n onMouseLeave: function onMouseLeave() {\n setHovering(false);\n },\n onClick: onClick\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(noticePrefixCls, \"-content\")\n }, content), closable && /*#__PURE__*/React.createElement(\"a\", {\n tabIndex: 0,\n className: \"\".concat(noticePrefixCls, \"-close\"),\n onClick: function onClick(e) {\n e.preventDefault();\n e.stopPropagation();\n onInternalClose();\n }\n }, closeIcon));\n});\nexport default Notify;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { createPortal } from 'react-dom';\nimport { CSSMotionList } from 'rc-motion';\nimport classNames from 'classnames';\nimport Notice from './Notice'; // ant-notification ant-notification-topRight\n\nvar Notifications = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-notification' : _props$prefixCls,\n container = props.container,\n motion = props.motion,\n maxCount = props.maxCount,\n className = props.className,\n style = props.style,\n onAllRemoved = props.onAllRemoved;\n\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n configList = _React$useState2[0],\n setConfigList = _React$useState2[1]; // ======================== Close =========================\n\n\n var onNoticeClose = function onNoticeClose(key) {\n var _config$onClose;\n\n // Trigger close event\n var config = configList.find(function (item) {\n return item.key === key;\n });\n config === null || config === void 0 ? void 0 : (_config$onClose = config.onClose) === null || _config$onClose === void 0 ? void 0 : _config$onClose.call(config);\n setConfigList(function (list) {\n return list.filter(function (item) {\n return item.key !== key;\n });\n });\n }; // ========================= Refs =========================\n\n\n React.useImperativeHandle(ref, function () {\n return {\n open: function open(config) {\n setConfigList(function (list) {\n var clone = _toConsumableArray(list); // Replace if exist\n\n\n var index = clone.findIndex(function (item) {\n return item.key === config.key;\n });\n\n if (index >= 0) {\n clone[index] = config;\n } else {\n clone.push(config);\n }\n\n if (maxCount > 0 && clone.length > maxCount) {\n clone = clone.slice(-maxCount);\n }\n\n return clone;\n });\n },\n close: function close(key) {\n onNoticeClose(key);\n },\n destroy: function destroy() {\n setConfigList([]);\n }\n };\n }); // ====================== Placements ======================\n\n var _React$useState3 = React.useState({}),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n placements = _React$useState4[0],\n setPlacements = _React$useState4[1];\n\n React.useEffect(function () {\n var nextPlacements = {};\n configList.forEach(function (config) {\n var _config$placement = config.placement,\n placement = _config$placement === void 0 ? 'topRight' : _config$placement;\n\n if (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n nextPlacements[placement].push(config);\n }\n }); // Fill exist placements to avoid empty list causing remove without motion\n\n Object.keys(placements).forEach(function (placement) {\n nextPlacements[placement] = nextPlacements[placement] || [];\n });\n setPlacements(nextPlacements);\n }, [configList]); // Clean up container if all notices fade out\n\n var onAllNoticeRemoved = function onAllNoticeRemoved(placement) {\n setPlacements(function (originPlacements) {\n var clone = _objectSpread({}, originPlacements);\n\n var list = clone[placement] || [];\n\n if (!list.length) {\n delete clone[placement];\n }\n\n return clone;\n });\n }; // Effect tell that placements is empty now\n\n\n var emptyRef = React.useRef(false);\n React.useEffect(function () {\n if (Object.keys(placements).length > 0) {\n emptyRef.current = true;\n } else if (emptyRef.current) {\n // Trigger only when from exist to empty\n onAllRemoved === null || onAllRemoved === void 0 ? void 0 : onAllRemoved();\n emptyRef.current = false;\n }\n }, [placements]); // ======================== Render ========================\n\n if (!container) {\n return null;\n }\n\n var placementList = Object.keys(placements);\n return /*#__PURE__*/createPortal( /*#__PURE__*/React.createElement(React.Fragment, null, placementList.map(function (placement) {\n var placementConfigList = placements[placement];\n var keys = placementConfigList.map(function (config) {\n return {\n config: config,\n key: config.key\n };\n });\n var placementMotion = typeof motion === 'function' ? motion(placement) : motion;\n return /*#__PURE__*/React.createElement(CSSMotionList, _extends({\n key: placement,\n className: classNames(prefixCls, \"\".concat(prefixCls, \"-\").concat(placement), className === null || className === void 0 ? void 0 : className(placement)),\n style: style === null || style === void 0 ? void 0 : style(placement),\n keys: keys,\n motionAppear: true\n }, placementMotion, {\n onAllRemoved: function onAllRemoved() {\n onAllNoticeRemoved(placement);\n }\n }), function (_ref, nodeRef) {\n var config = _ref.config,\n motionClassName = _ref.className,\n motionStyle = _ref.style;\n var key = config.key;\n var configClassName = config.className,\n configStyle = config.style;\n return /*#__PURE__*/React.createElement(Notice, _extends({}, config, {\n ref: nodeRef,\n prefixCls: prefixCls,\n className: classNames(motionClassName, configClassName),\n style: _objectSpread(_objectSpread({}, motionStyle), configStyle),\n key: key,\n eventKey: key,\n onNoticeClose: onNoticeClose\n }));\n });\n })), container);\n});\n\nif (process.env.NODE_ENV !== 'production') {\n Notifications.displayName = 'Notifications';\n}\n\nexport default Notifications;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"getContainer\", \"motion\", \"prefixCls\", \"maxCount\", \"className\", \"style\", \"onAllRemoved\"];\nimport * as React from 'react';\nimport Notifications from './Notifications';\n\nvar defaultGetContainer = function defaultGetContainer() {\n return document.body;\n};\n\nvar uniqueKey = 0;\n\nfunction mergeConfig() {\n var clone = {};\n\n for (var _len = arguments.length, objList = new Array(_len), _key = 0; _key < _len; _key++) {\n objList[_key] = arguments[_key];\n }\n\n objList.forEach(function (obj) {\n if (obj) {\n Object.keys(obj).forEach(function (key) {\n var val = obj[key];\n\n if (val !== undefined) {\n clone[key] = val;\n }\n });\n }\n });\n return clone;\n}\n\nexport default function useNotification() {\n var rootConfig = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n var _rootConfig$getContai = rootConfig.getContainer,\n getContainer = _rootConfig$getContai === void 0 ? defaultGetContainer : _rootConfig$getContai,\n motion = rootConfig.motion,\n prefixCls = rootConfig.prefixCls,\n maxCount = rootConfig.maxCount,\n className = rootConfig.className,\n style = rootConfig.style,\n onAllRemoved = rootConfig.onAllRemoved,\n shareConfig = _objectWithoutProperties(rootConfig, _excluded);\n\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n container = _React$useState2[0],\n setContainer = _React$useState2[1];\n\n var notificationsRef = React.useRef();\n var contextHolder = /*#__PURE__*/React.createElement(Notifications, {\n container: container,\n ref: notificationsRef,\n prefixCls: prefixCls,\n motion: motion,\n maxCount: maxCount,\n className: className,\n style: style,\n onAllRemoved: onAllRemoved\n });\n\n var _React$useState3 = React.useState([]),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n taskQueue = _React$useState4[0],\n setTaskQueue = _React$useState4[1]; // ========================= Refs =========================\n\n\n var api = React.useMemo(function () {\n return {\n open: function open(config) {\n var mergedConfig = mergeConfig(shareConfig, config);\n\n if (mergedConfig.key === null || mergedConfig.key === undefined) {\n mergedConfig.key = \"rc-notification-\".concat(uniqueKey);\n uniqueKey += 1;\n }\n\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'open',\n config: mergedConfig\n }]);\n });\n },\n close: function close(key) {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'close',\n key: key\n }]);\n });\n },\n destroy: function destroy() {\n setTaskQueue(function (queue) {\n return [].concat(_toConsumableArray(queue), [{\n type: 'destroy'\n }]);\n });\n }\n };\n }, []); // ======================= Container ======================\n // React 18 should all in effect that we will check container in each render\n // Which means getContainer should be stable.\n\n React.useEffect(function () {\n setContainer(getContainer());\n }); // ======================== Effect ========================\n\n React.useEffect(function () {\n // Flush task when node ready\n if (notificationsRef.current && taskQueue.length) {\n taskQueue.forEach(function (task) {\n switch (task.type) {\n case 'open':\n notificationsRef.current.open(task.config);\n break;\n\n case 'close':\n notificationsRef.current.close(task.key);\n break;\n\n case 'destroy':\n notificationsRef.current.destroy();\n break;\n }\n });\n setTaskQueue([]);\n }\n }, [taskQueue]); // ======================== Return ========================\n\n return [api, contextHolder];\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// deps-lint-skip-all\nimport { Keyframes } from '@ant-design/cssinjs';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nvar genMessageStyle = function genMessageStyle(token) {\n var _extends2, _ref2;\n var componentCls = token.componentCls,\n iconCls = token.iconCls,\n boxShadowSecondary = token.boxShadowSecondary,\n colorBgElevated = token.colorBgElevated,\n colorSuccess = token.colorSuccess,\n colorError = token.colorError,\n colorWarning = token.colorWarning,\n colorInfo = token.colorInfo,\n fontSizeLG = token.fontSizeLG,\n motionEaseInOutCirc = token.motionEaseInOutCirc,\n motionDurationSlow = token.motionDurationSlow,\n marginXS = token.marginXS,\n paddingXS = token.paddingXS,\n borderRadiusLG = token.borderRadiusLG,\n zIndexPopup = token.zIndexPopup,\n messageNoticeContentPadding = token.messageNoticeContentPadding;\n var messageMoveIn = new Keyframes('MessageMoveIn', {\n '0%': {\n padding: 0,\n transform: 'translateY(-100%)',\n opacity: 0\n },\n '100%': {\n padding: paddingXS,\n transform: 'translateY(0)',\n opacity: 1\n }\n });\n var messageMoveOut = new Keyframes('MessageMoveOut', {\n '0%': {\n maxHeight: token.height,\n padding: paddingXS,\n opacity: 1\n },\n '100%': {\n maxHeight: 0,\n padding: 0,\n opacity: 0\n }\n });\n return [// ============================ Holder ============================\n _defineProperty({}, componentCls, _extends(_extends({}, resetComponent(token)), (_extends2 = {\n position: 'fixed',\n top: marginXS,\n insetInlineStart: 0,\n width: '100%',\n pointerEvents: 'none',\n zIndex: zIndexPopup\n }, _defineProperty(_extends2, componentCls + \"-move-up\", {\n animationFillMode: 'forwards'\n }), _defineProperty(_extends2, \"\\n \" + componentCls + \"-move-up-appear,\\n \" + componentCls + \"-move-up-enter\\n \", {\n animationName: messageMoveIn,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n }), _defineProperty(_extends2, \"\\n \" + componentCls + \"-move-up-appear\" + componentCls + \"-move-up-appear-active,\\n \" + componentCls + \"-move-up-enter\" + componentCls + \"-move-up-enter-active\\n \", {\n animationPlayState: 'running'\n }), _defineProperty(_extends2, componentCls + \"-move-up-leave\", {\n animationName: messageMoveOut,\n animationDuration: motionDurationSlow,\n animationPlayState: 'paused',\n animationTimingFunction: motionEaseInOutCirc\n }), _defineProperty(_extends2, componentCls + \"-move-up-leave\" + componentCls + \"-move-up-leave-active\", {\n animationPlayState: 'running'\n }), _defineProperty(_extends2, '&-rtl', {\n direction: 'rtl',\n span: {\n direction: 'rtl'\n }\n }), _extends2))), // ============================ Notice ============================\n _defineProperty({}, componentCls + \"-notice\", (_ref2 = {\n padding: paddingXS,\n textAlign: 'center'\n }, _defineProperty(_ref2, iconCls, {\n verticalAlign: 'text-bottom',\n marginInlineEnd: marginXS,\n fontSize: fontSizeLG\n }), _defineProperty(_ref2, componentCls + \"-notice-content\", {\n display: 'inline-block',\n padding: messageNoticeContentPadding,\n background: colorBgElevated,\n borderRadius: borderRadiusLG,\n boxShadow: boxShadowSecondary,\n pointerEvents: 'all'\n }), _defineProperty(_ref2, componentCls + \"-success \" + iconCls, {\n color: colorSuccess\n }), _defineProperty(_ref2, componentCls + \"-error \" + iconCls, {\n color: colorError\n }), _defineProperty(_ref2, componentCls + \"-warning \" + iconCls, {\n color: colorWarning\n }), _defineProperty(_ref2, \"\\n \" + componentCls + \"-info \" + iconCls + \",\\n \" + componentCls + \"-loading \" + iconCls, {\n color: colorInfo\n }), _ref2)), // ============================= Pure =============================\n _defineProperty({}, componentCls + \"-notice-pure-panel\", {\n padding: 0,\n textAlign: 'start'\n })];\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Message', function (token) {\n // Gen-style functions here\n var combinedToken = mergeToken(token, {\n messageNoticeContentPadding: (token.controlHeightLG - token.fontSize * token.lineHeight) / 2 + \"px \" + token.paddingContentVertical + \"px\"\n });\n return [genMessageStyle(combinedToken)];\n}, function (token) {\n return {\n height: 150,\n zIndexPopup: token.zIndexPopupBase + 10\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport LoadingOutlined from \"@ant-design/icons/es/icons/LoadingOutlined\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport { Notice } from 'rc-notification';\nimport classNames from 'classnames';\nimport useStyle from './style';\nimport { ConfigContext } from '../config-provider';\nexport var TypeIcon = {\n info: /*#__PURE__*/React.createElement(InfoCircleFilled, null),\n success: /*#__PURE__*/React.createElement(CheckCircleFilled, null),\n error: /*#__PURE__*/React.createElement(CloseCircleFilled, null),\n warning: /*#__PURE__*/React.createElement(ExclamationCircleFilled, null),\n loading: /*#__PURE__*/React.createElement(LoadingOutlined, null)\n};\nexport function PureContent(_ref) {\n var prefixCls = _ref.prefixCls,\n type = _ref.type,\n icon = _ref.icon,\n children = _ref.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls + \"-custom-content\", prefixCls + \"-\" + type)\n }, icon || TypeIcon[type], /*#__PURE__*/React.createElement(\"span\", null, children));\n}\n/** @private Internal Component. Do not use in your production. */\nexport default function PurePanel(props) {\n var staticPrefixCls = props.prefixCls,\n className = props.className,\n type = props.type,\n icon = props.icon,\n content = props.content,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"type\", \"icon\", \"content\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = staticPrefixCls || getPrefixCls('message');\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n hashId = _useStyle2[1];\n return /*#__PURE__*/React.createElement(Notice, _extends({}, restProps, {\n prefixCls: prefixCls,\n className: classNames(className, hashId, prefixCls + \"-notice-pure-panel\"),\n eventKey: \"pure\",\n duration: null,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content)\n }));\n}","export function getMotion(prefixCls, transitionName) {\n return {\n motionName: transitionName !== null && transitionName !== void 0 ? transitionName : prefixCls + \"-move-up\"\n };\n}\n/** Wrap message open with promise like function */\nexport function wrapPromiseFn(openFn) {\n var closeFn;\n var closePromise = new Promise(function (resolve) {\n closeFn = openFn(function () {\n resolve(true);\n });\n });\n var result = function result() {\n closeFn === null || closeFn === void 0 ? void 0 : closeFn();\n };\n result.then = function (filled, rejected) {\n return closePromise.then(filled, rejected);\n };\n result.promise = closePromise;\n return result;\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { useNotification as useRcNotification } from 'rc-notification';\nimport classNames from 'classnames';\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { getMotion, wrapPromiseFn } from './util';\nimport warning from '../_util/warning';\nimport { PureContent } from './PurePanel';\nvar DEFAULT_OFFSET = 8;\nvar DEFAULT_DURATION = 3;\nvar Holder = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var top = props.top,\n staticPrefixCls = props.prefixCls,\n staticGetContainer = props.getContainer,\n maxCount = props.maxCount,\n rtl = props.rtl,\n transitionName = props.transitionName,\n onAllRemoved = props.onAllRemoved;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n getPopupContainer = _React$useContext.getPopupContainer;\n var prefixCls = staticPrefixCls || getPrefixCls('message');\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n hashId = _useStyle2[1];\n // =============================== Style ===============================\n var getStyle = function getStyle() {\n return {\n left: '50%',\n transform: 'translateX(-50%)',\n top: top !== null && top !== void 0 ? top : DEFAULT_OFFSET\n };\n };\n var getClassName = function getClassName() {\n return classNames(hashId, rtl ? prefixCls + \"-rtl\" : '');\n };\n // ============================== Motion ===============================\n var getNotificationMotion = function getNotificationMotion() {\n return getMotion(prefixCls, transitionName);\n };\n // ============================ Close Icon =============================\n var mergedCloseIcon = /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-close-x\"\n }, /*#__PURE__*/React.createElement(CloseOutlined, {\n className: prefixCls + \"-close-icon\"\n }));\n // ============================== Origin ===============================\n var _useRcNotification = useRcNotification({\n prefixCls: prefixCls,\n style: getStyle,\n className: getClassName,\n motion: getNotificationMotion,\n closable: false,\n closeIcon: mergedCloseIcon,\n duration: DEFAULT_DURATION,\n getContainer: function getContainer() {\n return (staticGetContainer === null || staticGetContainer === void 0 ? void 0 : staticGetContainer()) || (getPopupContainer === null || getPopupContainer === void 0 ? void 0 : getPopupContainer()) || document.body;\n },\n maxCount: maxCount,\n onAllRemoved: onAllRemoved\n }),\n _useRcNotification2 = _slicedToArray(_useRcNotification, 2),\n api = _useRcNotification2[0],\n holder = _useRcNotification2[1];\n // ================================ Ref ================================\n React.useImperativeHandle(ref, function () {\n return _extends(_extends({}, api), {\n prefixCls: prefixCls,\n hashId: hashId\n });\n });\n return holder;\n});\n// ==============================================================================\n// == Hook ==\n// ==============================================================================\nvar keyIndex = 0;\nexport function useInternalMessage(notificationConfig) {\n var holderRef = React.useRef(null);\n // ================================ API ================================\n var wrapAPI = React.useMemo(function () {\n // Wrap with notification content\n // >>> close\n var close = function close(key) {\n var _a;\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.close(key);\n };\n // >>> Open\n var open = function open(config) {\n if (!holderRef.current) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Message', 'You are calling notice in render which will break in React 18 concurrent mode. Please trigger in effect instead.') : void 0;\n var fakeResult = function fakeResult() {};\n fakeResult.then = function () {};\n return fakeResult;\n }\n var _holderRef$current = holderRef.current,\n originOpen = _holderRef$current.open,\n prefixCls = _holderRef$current.prefixCls,\n hashId = _holderRef$current.hashId;\n var noticePrefixCls = prefixCls + \"-notice\";\n var content = config.content,\n icon = config.icon,\n type = config.type,\n key = config.key,\n className = config.className,\n _onClose = config.onClose,\n restConfig = __rest(config, [\"content\", \"icon\", \"type\", \"key\", \"className\", \"onClose\"]);\n var mergedKey = key;\n if (mergedKey === undefined || mergedKey === null) {\n keyIndex += 1;\n mergedKey = \"antd-message-\" + keyIndex;\n }\n return wrapPromiseFn(function (resolve) {\n originOpen(_extends(_extends({}, restConfig), {\n key: mergedKey,\n content: /*#__PURE__*/React.createElement(PureContent, {\n prefixCls: prefixCls,\n type: type,\n icon: icon\n }, content),\n placement: 'top',\n className: classNames(type && noticePrefixCls + \"-\" + type, hashId, className),\n onClose: function onClose() {\n _onClose === null || _onClose === void 0 ? void 0 : _onClose();\n resolve();\n }\n }));\n // Return close function\n return function () {\n close(mergedKey);\n };\n });\n };\n // >>> destroy\n var destroy = function destroy(key) {\n var _a;\n if (key !== undefined) {\n close(key);\n } else {\n (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n };\n var clone = {\n open: open,\n destroy: destroy\n };\n var keys = ['info', 'success', 'warning', 'error', 'loading'];\n keys.forEach(function (type) {\n var typeOpen = function typeOpen(jointContent, duration, onClose) {\n var config;\n if (jointContent && _typeof(jointContent) === 'object' && 'content' in jointContent) {\n config = jointContent;\n } else {\n config = {\n content: jointContent\n };\n }\n // Params\n var mergedDuration;\n var mergedOnClose;\n if (typeof duration === 'function') {\n mergedOnClose = duration;\n } else {\n mergedDuration = duration;\n mergedOnClose = onClose;\n }\n var mergedConfig = _extends(_extends({\n onClose: mergedOnClose,\n duration: mergedDuration\n }, config), {\n type: type\n });\n return open(mergedConfig);\n };\n clone[type] = typeOpen;\n });\n return clone;\n }, []);\n // ============================== Return ===============================\n return [wrapAPI, /*#__PURE__*/React.createElement(Holder, _extends({\n key: \"holder\"\n }, notificationConfig, {\n ref: holderRef\n }))];\n}\nexport default function useMessage(notificationConfig) {\n return useInternalMessage(notificationConfig);\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { render } from \"rc-util/es/React/render\";\nimport * as React from 'react';\nimport ConfigProvider, { globalConfig } from '../config-provider';\nimport PurePanel from './PurePanel';\nimport useMessage, { useInternalMessage } from './useMessage';\nimport { wrapPromiseFn } from './util';\nvar methods = ['success', 'info', 'warning', 'error', 'loading'];\nvar message = null;\nvar act = function act(callback) {\n return callback();\n};\nvar taskQueue = [];\nvar defaultGlobalConfig = {};\nfunction getGlobalContext() {\n var _defaultGlobalConfig = defaultGlobalConfig,\n globalPrefixCls = _defaultGlobalConfig.prefixCls,\n globalGetContainer = _defaultGlobalConfig.getContainer,\n rtl = _defaultGlobalConfig.rtl,\n maxCount = _defaultGlobalConfig.maxCount,\n top = _defaultGlobalConfig.top;\n var mergedPrefixCls = globalPrefixCls !== null && globalPrefixCls !== void 0 ? globalPrefixCls : globalConfig().getPrefixCls('message');\n var mergedContainer = (globalGetContainer === null || globalGetContainer === void 0 ? void 0 : globalGetContainer()) || document.body;\n return {\n prefixCls: mergedPrefixCls,\n container: mergedContainer,\n rtl: rtl,\n maxCount: maxCount,\n top: top\n };\n}\nvar GlobalHolder = /*#__PURE__*/React.forwardRef(function (_, ref) {\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n prefixCls = _React$useState2[0],\n setPrefixCls = _React$useState2[1];\n var _React$useState3 = React.useState(),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n container = _React$useState4[0],\n setContainer = _React$useState4[1];\n var _React$useState5 = React.useState(),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n maxCount = _React$useState6[0],\n setMaxCount = _React$useState6[1];\n var _React$useState7 = React.useState(),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n rtl = _React$useState8[0],\n setRTL = _React$useState8[1];\n var _React$useState9 = React.useState(),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n top = _React$useState10[0],\n setTop = _React$useState10[1];\n var _useInternalMessage = useInternalMessage({\n prefixCls: prefixCls,\n getContainer: function getContainer() {\n return container;\n },\n maxCount: maxCount,\n rtl: rtl,\n top: top\n }),\n _useInternalMessage2 = _slicedToArray(_useInternalMessage, 2),\n api = _useInternalMessage2[0],\n holder = _useInternalMessage2[1];\n var global = globalConfig();\n var rootPrefixCls = global.getRootPrefixCls();\n var rootIconPrefixCls = global.getIconPrefixCls();\n var sync = function sync() {\n var _getGlobalContext = getGlobalContext(),\n nextGlobalPrefixCls = _getGlobalContext.prefixCls,\n nextGlobalContainer = _getGlobalContext.container,\n nextGlobalMaxCount = _getGlobalContext.maxCount,\n nextGlobalRTL = _getGlobalContext.rtl,\n nextTop = _getGlobalContext.top;\n setPrefixCls(nextGlobalPrefixCls);\n setContainer(nextGlobalContainer);\n setMaxCount(nextGlobalMaxCount);\n setRTL(nextGlobalRTL);\n setTop(nextTop);\n };\n React.useEffect(sync, []);\n React.useImperativeHandle(ref, function () {\n var instance = _extends({}, api);\n Object.keys(instance).forEach(function (method) {\n instance[method] = function () {\n sync();\n return api[method].apply(api, arguments);\n };\n });\n return {\n instance: instance,\n sync: sync\n };\n });\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: rootIconPrefixCls\n }, holder);\n});\nfunction flushNotice() {\n if (!message) {\n var holderFragment = document.createDocumentFragment();\n var newMessage = {\n fragment: holderFragment\n };\n message = newMessage;\n // Delay render to avoid sync issue\n act(function () {\n render( /*#__PURE__*/React.createElement(GlobalHolder, {\n ref: function ref(node) {\n var _ref = node || {},\n instance = _ref.instance,\n sync = _ref.sync;\n // React 18 test env will throw if call immediately in ref\n Promise.resolve().then(function () {\n if (!newMessage.instance && instance) {\n newMessage.instance = instance;\n newMessage.sync = sync;\n flushNotice();\n }\n });\n }\n }), holderFragment);\n });\n return;\n }\n // Notification not ready\n if (!message.instance) {\n return;\n }\n // >>> Execute task\n taskQueue.forEach(function (task) {\n var type = task.type,\n skipped = task.skipped;\n // Only `skipped` when user call notice but cancel it immediately\n // and instance not ready\n if (!skipped) {\n switch (type) {\n case 'open':\n {\n act(function () {\n var closeFn = message.instance.open(_extends(_extends({}, defaultGlobalConfig), task.config));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n break;\n }\n case 'destroy':\n act(function () {\n message === null || message === void 0 ? void 0 : message.instance.destroy(task.key);\n });\n break;\n // Other type open\n default:\n {\n act(function () {\n var _message$instance;\n var closeFn = (_message$instance = message.instance)[type].apply(_message$instance, _toConsumableArray(task.args));\n closeFn === null || closeFn === void 0 ? void 0 : closeFn.then(task.resolve);\n task.setCloseFn(closeFn);\n });\n }\n }\n }\n });\n // Clean up\n taskQueue = [];\n}\nfunction setMessageGlobalConfig(config) {\n defaultGlobalConfig = _extends(_extends({}, defaultGlobalConfig), config);\n // Trigger sync for it\n act(function () {\n var _a;\n (_a = message === null || message === void 0 ? void 0 : message.sync) === null || _a === void 0 ? void 0 : _a.call(message);\n });\n}\nfunction open(config) {\n var result = wrapPromiseFn(function (resolve) {\n var closeFn;\n var task = {\n type: 'open',\n config: config,\n resolve: resolve,\n setCloseFn: function setCloseFn(fn) {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return function () {\n if (closeFn) {\n act(function () {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction typeOpen(type, args) {\n var result = wrapPromiseFn(function (resolve) {\n var closeFn;\n var task = {\n type: type,\n args: args,\n resolve: resolve,\n setCloseFn: function setCloseFn(fn) {\n closeFn = fn;\n }\n };\n taskQueue.push(task);\n return function () {\n if (closeFn) {\n act(function () {\n closeFn();\n });\n } else {\n task.skipped = true;\n }\n };\n });\n flushNotice();\n return result;\n}\nfunction destroy(key) {\n taskQueue.push({\n type: 'destroy',\n key: key\n });\n flushNotice();\n}\nvar baseStaticMethods = {\n open: open,\n destroy: destroy,\n config: setMessageGlobalConfig,\n useMessage: useMessage,\n _InternalPanelDoNotUseOrYouWillBeFired: PurePanel\n};\nvar staticMethods = baseStaticMethods;\nmethods.forEach(function (type) {\n staticMethods[type] = function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return typeOpen(type, args);\n };\n});\n// ==============================================================================\n// == Test ==\n// ==============================================================================\nvar noop = function noop() {};\n/** @private Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport var actWrapper = noop;\nif (process.env.NODE_ENV === 'test') {\n actWrapper = function actWrapper(wrapper) {\n act = wrapper;\n };\n}\n/** @private Only Work in test env */\n// eslint-disable-next-line import/no-mutable-exports\nexport var actDestroy = noop;\nif (process.env.NODE_ENV === 'test') {\n actDestroy = function actDestroy() {\n message = null;\n };\n}\nexport default staticMethods;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport useState from \"rc-util/es/hooks/useState\";\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nfunction isThenable(thing) {\n return !!(thing && !!thing.then);\n}\nvar ActionButton = function ActionButton(props) {\n var clickedRef = React.useRef(false);\n var ref = React.useRef(null);\n var _useState = useState(false),\n _useState2 = _slicedToArray(_useState, 2),\n loading = _useState2[0],\n setLoading = _useState2[1];\n var close = props.close;\n var onInternalClose = function onInternalClose() {\n close === null || close === void 0 ? void 0 : close.apply(void 0, arguments);\n };\n React.useEffect(function () {\n var timeoutId = null;\n if (props.autoFocus) {\n timeoutId = setTimeout(function () {\n var _a;\n (_a = ref.current) === null || _a === void 0 ? void 0 : _a.focus();\n });\n }\n return function () {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n };\n }, []);\n var handlePromiseOnOk = function handlePromiseOnOk(returnValueOfOnOk) {\n if (!isThenable(returnValueOfOnOk)) {\n return;\n }\n setLoading(true);\n returnValueOfOnOk.then(function () {\n setLoading(false, true);\n onInternalClose.apply(void 0, arguments);\n clickedRef.current = false;\n }, function (e) {\n // Emit error when catch promise reject\n // eslint-disable-next-line no-console\n console.error(e);\n // See: https://github.com/ant-design/ant-design/issues/6183\n setLoading(false, true);\n clickedRef.current = false;\n });\n };\n var onClick = function onClick(e) {\n var actionFn = props.actionFn;\n if (clickedRef.current) {\n return;\n }\n clickedRef.current = true;\n if (!actionFn) {\n onInternalClose();\n return;\n }\n var returnValueOfOnOk;\n if (props.emitEvent) {\n returnValueOfOnOk = actionFn(e);\n if (props.quitOnNullishReturnValue && !isThenable(returnValueOfOnOk)) {\n clickedRef.current = false;\n onInternalClose(e);\n return;\n }\n } else if (actionFn.length) {\n returnValueOfOnOk = actionFn(close);\n // https://github.com/ant-design/ant-design/issues/23358\n clickedRef.current = false;\n } else {\n returnValueOfOnOk = actionFn();\n if (!returnValueOfOnOk) {\n onInternalClose();\n return;\n }\n }\n handlePromiseOnOk(returnValueOfOnOk);\n };\n var type = props.type,\n children = props.children,\n prefixCls = props.prefixCls,\n buttonProps = props.buttonProps;\n return /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(type), {\n onClick: onClick,\n loading: loading,\n prefixCls: prefixCls\n }, buttonProps, {\n ref: ref\n }), children);\n};\nexport default ActionButton;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nfunction getUseId() {\n // We need fully clone React function here to avoid webpack warning React 17 do not export `useId`\n var fullClone = _objectSpread({}, React);\n return fullClone.useId;\n}\nvar uuid = 0;\n/** @private Note only worked in develop env. Not work in production. */\nexport function resetUuid() {\n if (process.env.NODE_ENV !== 'production') {\n uuid = 0;\n }\n}\nexport default function useId(id) {\n // Inner id for accessibility usage. Only work in client side\n var _React$useState = React.useState('ssr-id'),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n innerId = _React$useState2[0],\n setInnerId = _React$useState2[1];\n var useOriginId = getUseId();\n var reactNativeId = useOriginId === null || useOriginId === void 0 ? void 0 : useOriginId();\n React.useEffect(function () {\n if (!useOriginId) {\n var nextId = uuid;\n uuid += 1;\n setInnerId(\"rc_unique_\".concat(nextId));\n }\n }, []);\n // Developer passed id is single source of truth\n if (id) {\n return id;\n }\n // Test env always return mock id\n if (process.env.NODE_ENV === 'test') {\n return 'test-id';\n }\n // Return react native id or inner id\n return reactNativeId || innerId;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n style = props.style,\n visible = props.visible,\n maskProps = props.maskProps,\n motionName = props.motionName;\n return /*#__PURE__*/React.createElement(CSSMotion, {\n key: \"mask\",\n visible: visible,\n motionName: motionName,\n leavedClassName: \"\".concat(prefixCls, \"-mask-hidden\")\n }, function (_ref, ref) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n ref: ref,\n style: _objectSpread(_objectSpread({}, motionStyle), style),\n className: classNames(\"\".concat(prefixCls, \"-mask\"), motionClassName)\n }, maskProps));\n });\n}","// =============================== Motion ===============================\nexport function getMotionName(prefixCls, transitionName, animationName) {\n var motionName = transitionName;\n if (!motionName && animationName) {\n motionName = \"\".concat(prefixCls, \"-\").concat(animationName);\n }\n return motionName;\n}\n// =============================== Offset ===============================\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n ret = d.body[method];\n }\n }\n return ret;\n}\nexport function offset(el) {\n var rect = el.getBoundingClientRect();\n var pos = {\n left: rect.left,\n top: rect.top\n };\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScroll(w);\n pos.top += getScroll(w, true);\n return pos;\n}","import * as React from 'react';\nexport default /*#__PURE__*/React.memo(function (_ref) {\n var children = _ref.children;\n return children;\n}, function (_, _ref2) {\n var shouldUpdate = _ref2.shouldUpdate;\n return !shouldUpdate;\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React, { useRef } from 'react';\nimport classNames from 'classnames';\nimport MemoChildren from './MemoChildren';\nvar sentinelStyle = {\n width: 0,\n height: 0,\n overflow: 'hidden',\n outline: 'none'\n};\nvar Panel = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n title = props.title,\n ariaId = props.ariaId,\n footer = props.footer,\n closable = props.closable,\n closeIcon = props.closeIcon,\n onClose = props.onClose,\n children = props.children,\n bodyStyle = props.bodyStyle,\n bodyProps = props.bodyProps,\n modalRender = props.modalRender,\n onMouseDown = props.onMouseDown,\n onMouseUp = props.onMouseUp,\n holderRef = props.holderRef,\n visible = props.visible,\n forceRender = props.forceRender,\n width = props.width,\n height = props.height;\n // ================================= Refs =================================\n var sentinelStartRef = useRef();\n var sentinelEndRef = useRef();\n React.useImperativeHandle(ref, function () {\n return {\n focus: function focus() {\n var _sentinelStartRef$cur;\n (_sentinelStartRef$cur = sentinelStartRef.current) === null || _sentinelStartRef$cur === void 0 ? void 0 : _sentinelStartRef$cur.focus();\n },\n changeActive: function changeActive(next) {\n var _document = document,\n activeElement = _document.activeElement;\n if (next && activeElement === sentinelEndRef.current) {\n sentinelStartRef.current.focus();\n } else if (!next && activeElement === sentinelStartRef.current) {\n sentinelEndRef.current.focus();\n }\n }\n };\n });\n // ================================ Style =================================\n var contentStyle = {};\n if (width !== undefined) {\n contentStyle.width = width;\n }\n if (height !== undefined) {\n contentStyle.height = height;\n }\n // ================================ Render ================================\n var footerNode;\n if (footer) {\n footerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-footer\")\n }, footer);\n }\n var headerNode;\n if (title) {\n headerNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-header\")\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-title\"),\n id: ariaId\n }, title));\n }\n var closer;\n if (closable) {\n closer = /*#__PURE__*/React.createElement(\"button\", {\n type: \"button\",\n onClick: onClose,\n \"aria-label\": \"Close\",\n className: \"\".concat(prefixCls, \"-close\")\n }, closeIcon || /*#__PURE__*/React.createElement(\"span\", {\n className: \"\".concat(prefixCls, \"-close-x\")\n }));\n }\n var content = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, closer, headerNode, /*#__PURE__*/React.createElement(\"div\", _extends({\n className: \"\".concat(prefixCls, \"-body\"),\n style: bodyStyle\n }, bodyProps), children), footerNode);\n return /*#__PURE__*/React.createElement(\"div\", {\n key: \"dialog-element\",\n role: \"dialog\",\n \"aria-labelledby\": title ? ariaId : null,\n \"aria-modal\": \"true\",\n ref: holderRef,\n style: _objectSpread(_objectSpread({}, style), contentStyle),\n className: classNames(prefixCls, className),\n onMouseDown: onMouseDown,\n onMouseUp: onMouseUp\n }, /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelStartRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }), /*#__PURE__*/React.createElement(MemoChildren, {\n shouldUpdate: visible || forceRender\n }, modalRender ? modalRender(content) : content), /*#__PURE__*/React.createElement(\"div\", {\n tabIndex: 0,\n ref: sentinelEndRef,\n style: sentinelStyle,\n \"aria-hidden\": \"true\"\n }));\n});\nif (process.env.NODE_ENV !== 'production') {\n Panel.displayName = 'Panel';\n}\nexport default Panel;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { offset } from '../../util';\nimport Panel from './Panel';\nvar Content = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n title = props.title,\n style = props.style,\n className = props.className,\n visible = props.visible,\n forceRender = props.forceRender,\n destroyOnClose = props.destroyOnClose,\n motionName = props.motionName,\n ariaId = props.ariaId,\n onVisibleChanged = props.onVisibleChanged,\n mousePosition = props.mousePosition;\n var dialogRef = useRef();\n // ============================= Style ==============================\n var _React$useState = React.useState(),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n transformOrigin = _React$useState2[0],\n setTransformOrigin = _React$useState2[1];\n var contentStyle = {};\n if (transformOrigin) {\n contentStyle.transformOrigin = transformOrigin;\n }\n function onPrepare() {\n var elementOffset = offset(dialogRef.current);\n setTransformOrigin(mousePosition ? \"\".concat(mousePosition.x - elementOffset.left, \"px \").concat(mousePosition.y - elementOffset.top, \"px\") : '');\n }\n // ============================= Render =============================\n return /*#__PURE__*/React.createElement(CSSMotion, {\n visible: visible,\n onVisibleChanged: onVisibleChanged,\n onAppearPrepare: onPrepare,\n onEnterPrepare: onPrepare,\n forceRender: forceRender,\n motionName: motionName,\n removeOnLeave: destroyOnClose,\n ref: dialogRef\n }, function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n return /*#__PURE__*/React.createElement(Panel, _extends({}, props, {\n ref: ref,\n title: title,\n ariaId: ariaId,\n prefixCls: prefixCls,\n holderRef: motionRef,\n style: _objectSpread(_objectSpread(_objectSpread({}, motionStyle), style), contentStyle),\n className: classNames(className, motionClassName)\n }));\n });\n});\nContent.displayName = 'Content';\nexport default Content;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport useId from \"rc-util/es/hooks/useId\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport pickAttrs from \"rc-util/es/pickAttrs\";\nimport Mask from './Mask';\nimport { getMotionName } from '../util';\nimport Content from './Content';\nexport default function Dialog(props) {\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-dialog' : _props$prefixCls,\n zIndex = props.zIndex,\n _props$visible = props.visible,\n visible = _props$visible === void 0 ? false : _props$visible,\n _props$keyboard = props.keyboard,\n keyboard = _props$keyboard === void 0 ? true : _props$keyboard,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n wrapStyle = props.wrapStyle,\n wrapClassName = props.wrapClassName,\n wrapProps = props.wrapProps,\n onClose = props.onClose,\n afterClose = props.afterClose,\n transitionName = props.transitionName,\n animation = props.animation,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? true : _props$closable,\n _props$mask = props.mask,\n mask = _props$mask === void 0 ? true : _props$mask,\n maskTransitionName = props.maskTransitionName,\n maskAnimation = props.maskAnimation,\n _props$maskClosable = props.maskClosable,\n maskClosable = _props$maskClosable === void 0 ? true : _props$maskClosable,\n maskStyle = props.maskStyle,\n maskProps = props.maskProps,\n rootClassName = props.rootClassName;\n var lastOutSideActiveElementRef = useRef();\n var wrapperRef = useRef();\n var contentRef = useRef();\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n // ========================== Init ==========================\n var ariaId = useId();\n function saveLastOutSideActiveElementRef() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n lastOutSideActiveElementRef.current = document.activeElement;\n }\n }\n function focusDialogContent() {\n if (!contains(wrapperRef.current, document.activeElement)) {\n var _contentRef$current;\n (_contentRef$current = contentRef.current) === null || _contentRef$current === void 0 ? void 0 : _contentRef$current.focus();\n }\n }\n // ========================= Events =========================\n function onDialogVisibleChanged(newVisible) {\n // Try to focus\n if (newVisible) {\n focusDialogContent();\n } else {\n // Clean up scroll bar & focus back\n setAnimatedVisible(false);\n if (mask && lastOutSideActiveElementRef.current && focusTriggerAfterClose) {\n try {\n lastOutSideActiveElementRef.current.focus({\n preventScroll: true\n });\n } catch (e) {\n // Do nothing\n }\n lastOutSideActiveElementRef.current = null;\n }\n // Trigger afterClose only when change visible from true to false\n if (animatedVisible) {\n afterClose === null || afterClose === void 0 ? void 0 : afterClose();\n }\n }\n }\n function onInternalClose(e) {\n onClose === null || onClose === void 0 ? void 0 : onClose(e);\n }\n // >>> Content\n var contentClickRef = useRef(false);\n var contentTimeoutRef = useRef();\n // We need record content click incase content popup out of dialog\n var onContentMouseDown = function onContentMouseDown() {\n clearTimeout(contentTimeoutRef.current);\n contentClickRef.current = true;\n };\n var onContentMouseUp = function onContentMouseUp() {\n contentTimeoutRef.current = setTimeout(function () {\n contentClickRef.current = false;\n });\n };\n // >>> Wrapper\n // Close only when element not on dialog\n var onWrapperClick = null;\n if (maskClosable) {\n onWrapperClick = function onWrapperClick(e) {\n if (contentClickRef.current) {\n contentClickRef.current = false;\n } else if (wrapperRef.current === e.target) {\n onInternalClose(e);\n }\n };\n }\n function onWrapperKeyDown(e) {\n if (keyboard && e.keyCode === KeyCode.ESC) {\n e.stopPropagation();\n onInternalClose(e);\n return;\n }\n // keep focus inside dialog\n if (visible) {\n if (e.keyCode === KeyCode.TAB) {\n contentRef.current.changeActive(!e.shiftKey);\n }\n }\n }\n // ========================= Effect =========================\n useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n saveLastOutSideActiveElementRef();\n }\n }, [visible]);\n // Remove direct should also check the scroll bar update\n useEffect(function () {\n return function () {\n clearTimeout(contentTimeoutRef.current);\n };\n }, []);\n // ========================= Render =========================\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n className: classNames(\"\".concat(prefixCls, \"-root\"), rootClassName)\n }, pickAttrs(props, {\n data: true\n })), /*#__PURE__*/React.createElement(Mask, {\n prefixCls: prefixCls,\n visible: mask && visible,\n motionName: getMotionName(prefixCls, maskTransitionName, maskAnimation),\n style: _objectSpread({\n zIndex: zIndex\n }, maskStyle),\n maskProps: maskProps\n }), /*#__PURE__*/React.createElement(\"div\", _extends({\n tabIndex: -1,\n onKeyDown: onWrapperKeyDown,\n className: classNames(\"\".concat(prefixCls, \"-wrap\"), wrapClassName),\n ref: wrapperRef,\n onClick: onWrapperClick,\n style: _objectSpread(_objectSpread({\n zIndex: zIndex\n }, wrapStyle), {}, {\n display: !animatedVisible ? 'none' : null\n })\n }, wrapProps), /*#__PURE__*/React.createElement(Content, _extends({}, props, {\n onMouseDown: onContentMouseDown,\n onMouseUp: onContentMouseUp,\n ref: contentRef,\n closable: closable,\n ariaId: ariaId,\n prefixCls: prefixCls,\n visible: visible && animatedVisible,\n onClose: onInternalClose,\n onVisibleChanged: onDialogVisibleChanged,\n motionName: getMotionName(prefixCls, transitionName, animation)\n }))));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport Portal from '@rc-component/portal';\nimport Dialog from './Dialog';\n// fix issue #10656\n/*\n * getContainer remarks\n * Custom container should not be return, because in the Portal component, it will remove the\n * return container element here, if the custom container is the only child of it's component,\n * like issue #10656, It will has a conflict with removeChild method in react-dom.\n * So here should add a child (div element) to custom container.\n * */\nvar DialogWrap = function DialogWrap(props) {\n var visible = props.visible,\n getContainer = props.getContainer,\n forceRender = props.forceRender,\n _props$destroyOnClose = props.destroyOnClose,\n destroyOnClose = _props$destroyOnClose === void 0 ? false : _props$destroyOnClose,\n _afterClose = props.afterClose;\n var _React$useState = React.useState(visible),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n animatedVisible = _React$useState2[0],\n setAnimatedVisible = _React$useState2[1];\n React.useEffect(function () {\n if (visible) {\n setAnimatedVisible(true);\n }\n }, [visible]);\n // // 渲染在当前 dom 里;\n // if (getContainer === false) {\n // return (\n // 2} // 不对 body 做任何操作。。\n // />\n // );\n // }\n // Destroy on close will remove wrapped div\n if (!forceRender && destroyOnClose && !animatedVisible) {\n return null;\n }\n return /*#__PURE__*/React.createElement(Portal, {\n open: visible || forceRender || animatedVisible,\n autoDestroy: false,\n getContainer: getContainer,\n autoLock: visible || animatedVisible\n }, /*#__PURE__*/React.createElement(Dialog, _extends({}, props, {\n destroyOnClose: destroyOnClose,\n afterClose: function afterClose() {\n _afterClose === null || _afterClose === void 0 ? void 0 : _afterClose();\n setAnimatedVisible(false);\n }\n })));\n};\nDialogWrap.displayName = 'Dialog';\nexport default DialogWrap;","import DialogWrap from './DialogWrap';\nimport Panel from './Dialog/Content/Panel';\nexport { Panel };\nexport default DialogWrap;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport var fadeIn = new Keyframes('antFadeIn', {\n '0%': {\n opacity: 0\n },\n '100%': {\n opacity: 1\n }\n});\nexport var fadeOut = new Keyframes('antFadeOut', {\n '0%': {\n opacity: 1\n },\n '100%': {\n opacity: 0\n }\n});\nexport var initFadeMotion = function initFadeMotion(token) {\n var _ref;\n var sameLevel = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var antCls = token.antCls;\n var motionCls = antCls + \"-fade\";\n var sameLevelPrefix = sameLevel ? '&' : '';\n return [initMotion(motionCls, fadeIn, fadeOut, token.motionDurationMid, sameLevel), (_ref = {}, _defineProperty(_ref, \"\\n \" + sameLevelPrefix + motionCls + \"-enter,\\n \" + sameLevelPrefix + motionCls + \"-appear\\n \", {\n opacity: 0,\n animationTimingFunction: 'linear'\n }), _defineProperty(_ref, \"\" + sameLevelPrefix + motionCls + \"-leave\", {\n animationTimingFunction: 'linear'\n }), _ref)];\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { initFadeMotion, initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken } from '../../theme/internal';\nimport { clearFix, genFocusStyle, resetComponent } from '../../style';\nfunction box(position) {\n return {\n position: position,\n top: 0,\n insetInlineEnd: 0,\n bottom: 0,\n insetInlineStart: 0\n };\n}\nexport var genModalMaskStyle = function genModalMaskStyle(token) {\n var _ref;\n var componentCls = token.componentCls;\n return [_defineProperty({}, componentCls + \"-root\", (_ref = {}, _defineProperty(_ref, \"\" + componentCls + token.antCls + \"-zoom-enter, \" + componentCls + token.antCls + \"-zoom-appear\", {\n // reset scale avoid mousePosition bug\n transform: 'none',\n opacity: 0,\n animationDuration: token.motionDurationSlow,\n // https://github.com/ant-design/ant-design/issues/11777\n userSelect: 'none'\n }), _defineProperty(_ref, componentCls + \"-mask\", _extends(_extends({}, box('fixed')), _defineProperty({\n zIndex: token.zIndexPopupBase,\n height: '100%',\n backgroundColor: token.colorBgMask\n }, componentCls + \"-hidden\", {\n display: 'none'\n }))), _defineProperty(_ref, componentCls + \"-wrap\", _extends(_extends({}, box('fixed')), {\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch'\n })), _ref)), _defineProperty({}, componentCls + \"-root\", initFadeMotion(token))];\n};\nvar genModalStyle = function genModalStyle(token) {\n var _ref6, _ref7, _extends3, _ref11;\n var componentCls = token.componentCls;\n return [// ======================== Root =========================\n _defineProperty({}, componentCls + \"-root\", (_ref7 = {}, _defineProperty(_ref7, componentCls + \"-wrap\", {\n zIndex: token.zIndexPopupBase,\n position: 'fixed',\n inset: 0,\n overflow: 'auto',\n outline: 0,\n WebkitOverflowScrolling: 'touch'\n }), _defineProperty(_ref7, componentCls + \"-wrap-rtl\", {\n direction: 'rtl'\n }), _defineProperty(_ref7, componentCls + \"-centered\", _defineProperty({\n textAlign: 'center',\n '&::before': {\n display: 'inline-block',\n width: 0,\n height: '100%',\n verticalAlign: 'middle',\n content: '\"\"'\n }\n }, componentCls, {\n top: 0,\n display: 'inline-block',\n paddingBottom: 0,\n textAlign: 'start',\n verticalAlign: 'middle'\n })), _defineProperty(_ref7, \"@media (max-width: \" + token.screenSMMax + \")\", (_ref6 = {}, _defineProperty(_ref6, componentCls, {\n maxWidth: 'calc(100vw - 16px)',\n margin: token.marginXS + \" auto\"\n }), _defineProperty(_ref6, componentCls + \"-centered\", _defineProperty({}, componentCls, {\n flex: 1\n })), _ref6)), _ref7)), // ======================== Modal ========================\n _defineProperty({}, componentCls, _extends(_extends({}, resetComponent(token)), (_extends3 = {\n pointerEvents: 'none',\n position: 'relative',\n top: 100,\n width: 'auto',\n maxWidth: \"calc(100vw - \" + token.margin * 2 + \"px)\",\n margin: '0 auto',\n paddingBottom: token.paddingLG\n }, _defineProperty(_extends3, componentCls + \"-title\", {\n margin: 0,\n color: token.modalHeadingColor,\n fontWeight: token.fontWeightStrong,\n fontSize: token.modalHeaderTitleFontSize,\n lineHeight: token.modalHeaderTitleLineHeight,\n wordWrap: 'break-word'\n }), _defineProperty(_extends3, componentCls + \"-content\", {\n position: 'relative',\n backgroundColor: token.modalContentBg,\n backgroundClip: 'padding-box',\n border: 0,\n borderRadius: token.borderRadiusLG,\n boxShadow: token.boxShadowSecondary,\n pointerEvents: 'auto',\n padding: token.paddingMD + \"px \" + token.paddingContentHorizontalLG + \"px\"\n }), _defineProperty(_extends3, componentCls + \"-close\", _extends({\n position: 'absolute',\n top: (token.modalHeaderCloseSize - token.modalCloseBtnSize) / 2,\n insetInlineEnd: (token.modalHeaderCloseSize - token.modalCloseBtnSize) / 2,\n zIndex: token.zIndexPopupBase + 10,\n padding: 0,\n color: token.modalCloseColor,\n fontWeight: token.fontWeightStrong,\n lineHeight: 1,\n textDecoration: 'none',\n background: 'transparent',\n borderRadius: token.borderRadiusSM,\n width: token.modalConfirmIconSize,\n height: token.modalConfirmIconSize,\n border: 0,\n outline: 0,\n cursor: 'pointer',\n transition: \"color \" + token.motionDurationMid + \", background-color \" + token.motionDurationMid,\n '&-x': {\n display: 'block',\n fontSize: token.fontSizeLG,\n fontStyle: 'normal',\n lineHeight: token.modalCloseBtnSize + \"px\",\n textAlign: 'center',\n textTransform: 'none',\n textRendering: 'auto'\n },\n '&:hover': {\n color: token.modalIconHoverColor,\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContent,\n textDecoration: 'none'\n },\n '&:active': {\n backgroundColor: token.wireframe ? 'transparent' : token.colorFillContentHover\n }\n }, genFocusStyle(token))), _defineProperty(_extends3, componentCls + \"-header\", {\n color: token.colorText,\n background: token.modalHeaderBg,\n borderRadius: token.borderRadiusLG + \"px \" + token.borderRadiusLG + \"px 0 0\",\n marginBottom: token.marginXS\n }), _defineProperty(_extends3, componentCls + \"-body\", {\n fontSize: token.fontSize,\n lineHeight: token.lineHeight,\n wordWrap: 'break-word'\n }), _defineProperty(_extends3, componentCls + \"-footer\", _defineProperty({\n textAlign: 'end',\n background: token.modalFooterBg,\n marginTop: token.marginSM\n }, token.antCls + \"-btn + \" + token.antCls + \"-btn:not(\" + token.antCls + \"-dropdown-trigger)\", {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n })), _defineProperty(_extends3, componentCls + \"-open\", {\n overflow: 'hidden'\n }), _extends3))), // ======================== Pure =========================\n _defineProperty({}, componentCls + \"-pure-panel\", (_ref11 = {\n top: 'auto',\n padding: 0,\n display: 'flex',\n flexDirection: 'column'\n }, _defineProperty(_ref11, componentCls + \"-content,\\n \" + componentCls + \"-body,\\n \" + componentCls + \"-confirm-body-wrapper\", {\n display: 'flex',\n flexDirection: 'column',\n flex: 'auto'\n }), _defineProperty(_ref11, componentCls + \"-confirm-body\", {\n marginBottom: 'auto'\n }), _ref11))];\n};\nvar genModalConfirmStyle = function genModalConfirmStyle(token) {\n var _ref14, _ref15, _confirmComponentCls, _ref17;\n var componentCls = token.componentCls;\n var confirmComponentCls = componentCls + \"-confirm\";\n return _ref17 = {}, _defineProperty(_ref17, confirmComponentCls, (_confirmComponentCls = {\n '&-rtl': {\n direction: 'rtl'\n }\n }, _defineProperty(_confirmComponentCls, token.antCls + \"-modal-header\", {\n display: 'none'\n }), _defineProperty(_confirmComponentCls, confirmComponentCls + \"-body-wrapper\", _extends({}, clearFix())), _defineProperty(_confirmComponentCls, confirmComponentCls + \"-body\", (_ref15 = {\n display: 'flex',\n flexWrap: 'wrap',\n alignItems: 'center'\n }, _defineProperty(_ref15, confirmComponentCls + \"-title\", _defineProperty({\n flex: '0 0 100%',\n display: 'block',\n // create BFC to avoid\n // https://user-images.githubusercontent.com/507615/37702510-ba844e06-2d2d-11e8-9b67-8e19be57f445.png\n overflow: 'hidden',\n color: token.colorTextHeading,\n fontWeight: token.fontWeightStrong,\n fontSize: token.modalHeaderTitleFontSize,\n lineHeight: token.modalHeaderTitleLineHeight\n }, \"+ \" + confirmComponentCls + \"-content\", {\n marginBlockStart: token.marginXS\n })), _defineProperty(_ref15, confirmComponentCls + \"-content\", {\n color: token.colorText,\n fontSize: token.fontSize\n }), _defineProperty(_ref15, \"> \" + token.iconCls, (_ref14 = {\n flex: 'none',\n marginInlineEnd: token.marginSM,\n fontSize: token.modalConfirmIconSize\n }, _defineProperty(_ref14, \"+ \" + confirmComponentCls + \"-title\", {\n flex: 1\n }), _defineProperty(_ref14, \"+ \" + confirmComponentCls + \"-title + \" + confirmComponentCls + \"-content\", {\n marginInlineStart: token.modalConfirmIconSize + token.marginSM,\n flexBasis: '100%'\n }), _ref14)), _ref15)), _defineProperty(_confirmComponentCls, confirmComponentCls + \"-btns\", _defineProperty({\n textAlign: 'end',\n marginTop: token.marginSM\n }, token.antCls + \"-btn + \" + token.antCls + \"-btn\", {\n marginBottom: 0,\n marginInlineStart: token.marginXS\n })), _confirmComponentCls)), _defineProperty(_ref17, confirmComponentCls + \"-error \" + confirmComponentCls + \"-body > \" + token.iconCls, {\n color: token.colorError\n }), _defineProperty(_ref17, confirmComponentCls + \"-warning \" + confirmComponentCls + \"-body > \" + token.iconCls + \",\\n \" + confirmComponentCls + \"-confirm \" + confirmComponentCls + \"-body > \" + token.iconCls, {\n color: token.colorWarning\n }), _defineProperty(_ref17, confirmComponentCls + \"-info \" + confirmComponentCls + \"-body > \" + token.iconCls, {\n color: token.colorInfo\n }), _defineProperty(_ref17, confirmComponentCls + \"-success \" + confirmComponentCls + \"-body > \" + token.iconCls, {\n color: token.colorSuccess\n }), _defineProperty(_ref17, componentCls + \"-zoom-leave \" + componentCls + \"-btns\", {\n pointerEvents: 'none'\n }), _ref17;\n};\nvar genRTLStyle = function genRTLStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls + \"-root\", _defineProperty({}, componentCls + \"-wrap-rtl\", _defineProperty({\n direction: 'rtl'\n }, componentCls + \"-confirm-body\", {\n direction: 'rtl'\n })));\n};\nvar genWireframeStyle = function genWireframeStyle(token) {\n var _componentCls, _confirmComponentCls2, _ref23;\n var componentCls = token.componentCls,\n antCls = token.antCls;\n var confirmComponentCls = componentCls + \"-confirm\";\n return _ref23 = {}, _defineProperty(_ref23, componentCls, (_componentCls = {}, _defineProperty(_componentCls, componentCls + \"-content\", {\n padding: 0\n }), _defineProperty(_componentCls, componentCls + \"-header\", {\n padding: token.modalHeaderPadding,\n borderBottom: token.modalHeaderBorderWidth + \"px \" + token.modalHeaderBorderStyle + \" \" + token.modalHeaderBorderColorSplit,\n marginBottom: 0\n }), _defineProperty(_componentCls, componentCls + \"-body\", {\n padding: token.modalBodyPadding\n }), _defineProperty(_componentCls, componentCls + \"-footer\", {\n padding: token.modalFooterPaddingVertical + \"px \" + token.modalFooterPaddingHorizontal + \"px\",\n borderTop: token.modalFooterBorderWidth + \"px \" + token.modalFooterBorderStyle + \" \" + token.modalFooterBorderColorSplit,\n borderRadius: \"0 0 \" + token.borderRadiusLG + \"px \" + token.borderRadiusLG + \"px\",\n marginTop: 0\n }), _componentCls)), _defineProperty(_ref23, confirmComponentCls, (_confirmComponentCls2 = {}, _defineProperty(_confirmComponentCls2, antCls + \"-modal-body\", {\n padding: token.padding * 2 + \"px \" + token.padding * 2 + \"px \" + token.paddingLG + \"px\"\n }), _defineProperty(_confirmComponentCls2, confirmComponentCls + \"-body\", _defineProperty({}, \"> \" + token.iconCls, _defineProperty({\n marginInlineEnd: token.margin\n }, \"+ \" + confirmComponentCls + \"-title + \" + confirmComponentCls + \"-content\", {\n marginInlineStart: token.modalConfirmIconSize + token.margin\n }))), _defineProperty(_confirmComponentCls2, confirmComponentCls + \"-btns\", {\n marginTop: token.marginLG\n }), _confirmComponentCls2)), _ref23;\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Modal', function (token) {\n var headerPaddingVertical = token.padding;\n var headerFontSize = token.fontSizeHeading5;\n var headerLineHeight = token.lineHeightHeading5;\n var modalToken = mergeToken(token, {\n modalBodyPadding: token.paddingLG,\n modalHeaderBg: token.colorBgElevated,\n modalHeaderPadding: headerPaddingVertical + \"px \" + token.paddingLG + \"px\",\n modalHeaderBorderWidth: token.lineWidth,\n modalHeaderBorderStyle: token.lineType,\n modalHeaderTitleLineHeight: headerLineHeight,\n modalHeaderTitleFontSize: headerFontSize,\n modalHeaderBorderColorSplit: token.colorSplit,\n modalHeaderCloseSize: headerLineHeight * headerFontSize + headerPaddingVertical * 2,\n modalContentBg: token.colorBgElevated,\n modalHeadingColor: token.colorTextHeading,\n modalCloseColor: token.colorTextDescription,\n modalFooterBg: 'transparent',\n modalFooterBorderColorSplit: token.colorSplit,\n modalFooterBorderStyle: token.lineType,\n modalFooterPaddingVertical: token.paddingXS,\n modalFooterPaddingHorizontal: token.padding,\n modalFooterBorderWidth: token.lineWidth,\n modalConfirmTitleFontSize: token.fontSizeLG,\n modalIconHoverColor: token.colorIconHover,\n modalConfirmIconSize: token.fontSize * token.lineHeight,\n modalCloseBtnSize: token.controlHeightLG * 0.55\n });\n return [genModalStyle(modalToken), genModalConfirmStyle(modalToken), genRTLStyle(modalToken), genModalMaskStyle(modalToken), token.wireframe && genWireframeStyle(modalToken), initZoomMotion(modalToken, 'zoom')];\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CloseOutlined from \"@ant-design/icons/es/icons/CloseOutlined\";\nimport classNames from 'classnames';\nimport { Panel } from 'rc-dialog';\nimport * as React from 'react';\nimport Button from '../button';\nimport { convertLegacyProps } from '../button/button';\nimport { ConfigContext } from '../config-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport { ConfirmContent } from './ConfirmDialog';\nimport { getConfirmLocale } from './locale';\nimport useStyle from './style';\nexport function renderCloseIcon(prefixCls, closeIcon) {\n return /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-close-x\"\n }, closeIcon || /*#__PURE__*/React.createElement(CloseOutlined, {\n className: prefixCls + \"-close-icon\"\n }));\n}\nexport function renderFooter(props) {\n var okText = props.okText,\n _props$okType = props.okType,\n okType = _props$okType === void 0 ? 'primary' : _props$okType,\n cancelText = props.cancelText,\n confirmLoading = props.confirmLoading,\n onOk = props.onOk,\n onCancel = props.onCancel,\n okButtonProps = props.okButtonProps,\n cancelButtonProps = props.cancelButtonProps,\n footer = props.footer;\n return footer === undefined ? /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\",\n defaultLocale: getConfirmLocale()\n }, function (locale) {\n return /*#__PURE__*/React.createElement(React.Fragment, null, /*#__PURE__*/React.createElement(Button, _extends({\n onClick: onCancel\n }, cancelButtonProps), cancelText || locale.cancelText), /*#__PURE__*/React.createElement(Button, _extends({}, convertLegacyProps(okType), {\n loading: confirmLoading,\n onClick: onOk\n }, okButtonProps), okText || locale.okText));\n }) : footer;\n}\nexport default function PurePanel(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n closeIcon = props.closeIcon,\n closable = props.closable,\n type = props.type,\n title = props.title,\n children = props.children,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"closeIcon\", \"closable\", \"type\", \"title\", \"children\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var rootPrefixCls = getPrefixCls();\n var prefixCls = customizePrefixCls || getPrefixCls('modal');\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n hashId = _useStyle2[1];\n var confirmPrefixCls = prefixCls + \"-confirm\";\n // Choose target props by confirm mark\n var additionalProps = {};\n if (type) {\n additionalProps = {\n closable: closable !== null && closable !== void 0 ? closable : false,\n title: '',\n footer: '',\n children: /*#__PURE__*/React.createElement(ConfirmContent, _extends({}, props, {\n confirmPrefixCls: confirmPrefixCls,\n rootPrefixCls: rootPrefixCls,\n content: children\n }))\n };\n } else {\n additionalProps = {\n closable: closable !== null && closable !== void 0 ? closable : true,\n title: title,\n footer: renderFooter(props),\n children: children\n };\n }\n return /*#__PURE__*/React.createElement(Panel, _extends({\n prefixCls: prefixCls,\n className: classNames(hashId, prefixCls + \"-pure-panel\", type && confirmPrefixCls, type && confirmPrefixCls + \"-\" + type, className)\n }, restProps, {\n closeIcon: renderCloseIcon(prefixCls, closeIcon),\n closable: closable\n }, additionalProps));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport Dialog from 'rc-dialog';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { NoFormStyle } from '../form/context';\nimport { NoCompactStyle } from '../space/Compact';\nimport { getTransitionName } from '../_util/motion';\nimport { canUseDocElement } from '../_util/styleChecker';\nimport warning from '../_util/warning';\nimport { renderCloseIcon, renderFooter } from './PurePanel';\nimport useStyle from './style';\nvar mousePosition;\n// ref: https://github.com/ant-design/ant-design/issues/15795\nvar getClickPosition = function getClickPosition(e) {\n mousePosition = {\n x: e.pageX,\n y: e.pageY\n };\n // 100ms 内发生过点击事件,则从点击位置动画展示\n // 否则直接 zoom 展示\n // 这样可以兼容非点击方式展开\n setTimeout(function () {\n mousePosition = null;\n }, 100);\n};\n// 只有点击事件支持从鼠标位置动画展开\nif (canUseDocElement()) {\n document.documentElement.addEventListener('click', getClickPosition, true);\n}\nvar Modal = function Modal(props) {\n var _classNames;\n var _a;\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var handleCancel = function handleCancel(e) {\n var onCancel = props.onCancel;\n onCancel === null || onCancel === void 0 ? void 0 : onCancel(e);\n };\n var handleOk = function handleOk(e) {\n var onOk = props.onOk;\n onOk === null || onOk === void 0 ? void 0 : onOk(e);\n };\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Modal', \"`visible` will be removed in next major version, please use `open` instead.\") : void 0;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n open = props.open,\n wrapClassName = props.wrapClassName,\n centered = props.centered,\n getContainer = props.getContainer,\n closeIcon = props.closeIcon,\n _props$focusTriggerAf = props.focusTriggerAfterClose,\n focusTriggerAfterClose = _props$focusTriggerAf === void 0 ? true : _props$focusTriggerAf,\n visible = props.visible,\n _props$width = props.width,\n width = _props$width === void 0 ? 520 : _props$width,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"open\", \"wrapClassName\", \"centered\", \"getContainer\", \"closeIcon\", \"focusTriggerAfterClose\", \"visible\", \"width\"]);\n var prefixCls = getPrefixCls('modal', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var wrapClassNameExtended = classNames(wrapClassName, (_classNames = {}, _defineProperty(_classNames, prefixCls + \"-centered\", !!centered), _defineProperty(_classNames, prefixCls + \"-wrap-rtl\", direction === 'rtl'), _classNames));\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(!('visible' in props), 'Modal', '`visible` is deprecated, please use `open` instead.') : void 0;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n status: true,\n override: true\n }, /*#__PURE__*/React.createElement(Dialog, _extends({\n width: width\n }, restProps, {\n getContainer: getContainer === undefined ? getContextPopupContainer : getContainer,\n prefixCls: prefixCls,\n rootClassName: hashId,\n wrapClassName: wrapClassNameExtended,\n footer: renderFooter(_extends(_extends({}, props), {\n onOk: handleOk,\n onCancel: handleCancel\n })),\n visible: open !== null && open !== void 0 ? open : visible,\n mousePosition: (_a = restProps.mousePosition) !== null && _a !== void 0 ? _a : mousePosition,\n onClose: handleCancel,\n closeIcon: renderCloseIcon(prefixCls, closeIcon),\n focusTriggerAfterClose: focusTriggerAfterClose,\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n className: classNames(hashId, className)\n })))));\n};\nexport default Modal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport CheckCircleFilled from \"@ant-design/icons/es/icons/CheckCircleFilled\";\nimport CloseCircleFilled from \"@ant-design/icons/es/icons/CloseCircleFilled\";\nimport ExclamationCircleFilled from \"@ant-design/icons/es/icons/ExclamationCircleFilled\";\nimport InfoCircleFilled from \"@ant-design/icons/es/icons/InfoCircleFilled\";\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport ConfigProvider from '../config-provider';\nimport LocaleReceiver from '../locale-provider/LocaleReceiver';\nimport ActionButton from '../_util/ActionButton';\nimport { getTransitionName } from '../_util/motion';\nimport warning from '../_util/warning';\nimport Dialog from './Modal';\nexport function ConfirmContent(props) {\n var icon = props.icon,\n onCancel = props.onCancel,\n onOk = props.onOk,\n close = props.close,\n okText = props.okText,\n okButtonProps = props.okButtonProps,\n cancelText = props.cancelText,\n cancelButtonProps = props.cancelButtonProps,\n confirmPrefixCls = props.confirmPrefixCls,\n rootPrefixCls = props.rootPrefixCls,\n type = props.type,\n okCancel = props.okCancel,\n staticLocale = props.locale;\n process.env.NODE_ENV !== \"production\" ? warning(!(typeof icon === 'string' && icon.length > 2), 'Modal', \"`icon` is using ReactNode instead of string naming in v4. Please check `\" + icon + \"` at https://ant.design/components/icon\") : void 0;\n // Icon\n var mergedIcon = icon;\n // 支持传入{ icon: null }来隐藏`Modal.confirm`默认的Icon\n if (!icon && icon !== null) {\n switch (type) {\n case 'info':\n mergedIcon = /*#__PURE__*/React.createElement(InfoCircleFilled, null);\n break;\n case 'success':\n mergedIcon = /*#__PURE__*/React.createElement(CheckCircleFilled, null);\n break;\n case 'error':\n mergedIcon = /*#__PURE__*/React.createElement(CloseCircleFilled, null);\n break;\n default:\n mergedIcon = /*#__PURE__*/React.createElement(ExclamationCircleFilled, null);\n }\n }\n var okType = props.okType || 'primary';\n // 默认为 true,保持向下兼容\n var mergedOkCancel = okCancel !== null && okCancel !== void 0 ? okCancel : type === 'confirm';\n var autoFocusButton = props.autoFocusButton === null ? false : props.autoFocusButton || 'ok';\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\"\n }, function (locale) {\n var mergedLocale = staticLocale || locale;\n var cancelButton = mergedOkCancel && /*#__PURE__*/React.createElement(ActionButton, {\n actionFn: onCancel,\n close: close,\n autoFocus: autoFocusButton === 'cancel',\n buttonProps: cancelButtonProps,\n prefixCls: rootPrefixCls + \"-btn\"\n }, cancelText || (mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.cancelText));\n return /*#__PURE__*/React.createElement(\"div\", {\n className: confirmPrefixCls + \"-body-wrapper\"\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: confirmPrefixCls + \"-body\"\n }, mergedIcon, props.title === undefined ? null : /*#__PURE__*/React.createElement(\"span\", {\n className: confirmPrefixCls + \"-title\"\n }, props.title), /*#__PURE__*/React.createElement(\"div\", {\n className: confirmPrefixCls + \"-content\"\n }, props.content)), /*#__PURE__*/React.createElement(\"div\", {\n className: confirmPrefixCls + \"-btns\"\n }, cancelButton, /*#__PURE__*/React.createElement(ActionButton, {\n type: okType,\n actionFn: onOk,\n close: close,\n autoFocus: autoFocusButton === 'ok',\n buttonProps: okButtonProps,\n prefixCls: rootPrefixCls + \"-btn\"\n }, okText || (mergedOkCancel ? mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.okText : mergedLocale === null || mergedLocale === void 0 ? void 0 : mergedLocale.justOkText))));\n });\n}\nvar ConfirmDialog = function ConfirmDialog(props) {\n var close = props.close,\n zIndex = props.zIndex,\n afterClose = props.afterClose,\n visible = props.visible,\n open = props.open,\n keyboard = props.keyboard,\n centered = props.centered,\n getContainer = props.getContainer,\n maskStyle = props.maskStyle,\n direction = props.direction,\n prefixCls = props.prefixCls,\n wrapClassName = props.wrapClassName,\n rootPrefixCls = props.rootPrefixCls,\n iconPrefixCls = props.iconPrefixCls,\n bodyStyle = props.bodyStyle,\n _props$closable = props.closable,\n closable = _props$closable === void 0 ? false : _props$closable,\n closeIcon = props.closeIcon,\n modalRender = props.modalRender,\n focusTriggerAfterClose = props.focusTriggerAfterClose;\n if (process.env.NODE_ENV !== 'production') {\n process.env.NODE_ENV !== \"production\" ? warning(visible === undefined, 'Modal', \"`visible` is deprecated, please use `open` instead.\") : void 0;\n }\n var confirmPrefixCls = prefixCls + \"-confirm\";\n var width = props.width || 416;\n var style = props.style || {};\n var mask = props.mask === undefined ? true : props.mask;\n // 默认为 false,保持旧版默认行为\n var maskClosable = props.maskClosable === undefined ? false : props.maskClosable;\n var classString = classNames(confirmPrefixCls, confirmPrefixCls + \"-\" + props.type, _defineProperty({}, confirmPrefixCls + \"-rtl\", direction === 'rtl'), props.className);\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n prefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n direction: direction\n }, /*#__PURE__*/React.createElement(Dialog, {\n prefixCls: prefixCls,\n className: classString,\n wrapClassName: classNames(_defineProperty({}, confirmPrefixCls + \"-centered\", !!props.centered), wrapClassName),\n onCancel: function onCancel() {\n return close === null || close === void 0 ? void 0 : close({\n triggerCancel: true\n });\n },\n open: open,\n title: \"\",\n footer: \"\",\n transitionName: getTransitionName(rootPrefixCls, 'zoom', props.transitionName),\n maskTransitionName: getTransitionName(rootPrefixCls, 'fade', props.maskTransitionName),\n mask: mask,\n maskClosable: maskClosable,\n maskStyle: maskStyle,\n style: style,\n bodyStyle: bodyStyle,\n width: width,\n zIndex: zIndex,\n afterClose: afterClose,\n keyboard: keyboard,\n centered: centered,\n getContainer: getContainer,\n closable: closable,\n closeIcon: closeIcon,\n modalRender: modalRender,\n focusTriggerAfterClose: focusTriggerAfterClose\n }, /*#__PURE__*/React.createElement(ConfirmContent, _extends({}, props, {\n confirmPrefixCls: confirmPrefixCls\n }))));\n};\nif (process.env.NODE_ENV !== 'production') {\n ConfirmDialog.displayName = 'ConfirmDialog';\n}\nexport default ConfirmDialog;","var destroyFns = [];\nexport default destroyFns;","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { render as reactRender, unmount as reactUnmount } from \"rc-util/es/React/render\";\nimport * as React from 'react';\nimport { globalConfig } from '../config-provider';\nimport warning from '../_util/warning';\nimport ConfirmDialog from './ConfirmDialog';\nimport destroyFns from './destroyFns';\nimport { getConfirmLocale } from './locale';\nvar defaultRootPrefixCls = '';\nfunction getRootPrefixCls() {\n return defaultRootPrefixCls;\n}\nexport default function confirm(config) {\n var container = document.createDocumentFragment();\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n var currentConfig = _extends(_extends({}, config), {\n close: close,\n open: true\n });\n var timeoutId;\n function destroy() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var triggerCancel = args.some(function (param) {\n return param && param.triggerCancel;\n });\n if (config.onCancel && triggerCancel) {\n config.onCancel.apply(config, [function () {}].concat(_toConsumableArray(args.slice(1))));\n }\n for (var i = 0; i < destroyFns.length; i++) {\n var fn = destroyFns[i];\n // eslint-disable-next-line @typescript-eslint/no-use-before-define\n if (fn === close) {\n destroyFns.splice(i, 1);\n break;\n }\n }\n reactUnmount(container);\n }\n function render(_a) {\n var okText = _a.okText,\n cancelText = _a.cancelText,\n customizePrefixCls = _a.prefixCls,\n props = __rest(_a, [\"okText\", \"cancelText\", \"prefixCls\"]);\n clearTimeout(timeoutId);\n /**\n * https://github.com/ant-design/ant-design/issues/23623\n *\n * Sync render blocks React event. Let's make this async.\n */\n timeoutId = setTimeout(function () {\n var runtimeLocale = getConfirmLocale();\n var _globalConfig = globalConfig(),\n getPrefixCls = _globalConfig.getPrefixCls,\n getIconPrefixCls = _globalConfig.getIconPrefixCls;\n // because Modal.config \b set rootPrefixCls, which is different from other components\n var rootPrefixCls = getPrefixCls(undefined, getRootPrefixCls());\n var prefixCls = customizePrefixCls || rootPrefixCls + \"-modal\";\n var iconPrefixCls = getIconPrefixCls();\n reactRender( /*#__PURE__*/React.createElement(ConfirmDialog, _extends({}, props, {\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n okText: okText,\n locale: runtimeLocale,\n cancelText: cancelText || runtimeLocale.cancelText\n })), container);\n });\n }\n function close() {\n var _this = this;\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n currentConfig = _extends(_extends({}, currentConfig), {\n open: false,\n afterClose: function afterClose() {\n if (typeof config.afterClose === 'function') {\n config.afterClose();\n }\n destroy.apply(_this, args);\n }\n });\n // Legacy support\n if (currentConfig.visible) {\n delete currentConfig.visible;\n }\n render(currentConfig);\n }\n function update(configUpdate) {\n if (typeof configUpdate === 'function') {\n currentConfig = configUpdate(currentConfig);\n } else {\n currentConfig = _extends(_extends({}, currentConfig), configUpdate);\n }\n render(currentConfig);\n }\n render(currentConfig);\n destroyFns.push(close);\n return {\n destroy: close,\n update: update\n };\n}\nexport function withWarn(props) {\n return _extends(_extends({}, props), {\n type: 'warning'\n });\n}\nexport function withInfo(props) {\n return _extends(_extends({}, props), {\n type: 'info'\n });\n}\nexport function withSuccess(props) {\n return _extends(_extends({}, props), {\n type: 'success'\n });\n}\nexport function withError(props) {\n return _extends(_extends({}, props), {\n type: 'error'\n });\n}\nexport function withConfirm(props) {\n return _extends(_extends({}, props), {\n type: 'confirm'\n });\n}\nexport function modalGlobalConfig(_ref) {\n var rootPrefixCls = _ref.rootPrefixCls;\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Modal', 'Modal.config is deprecated. Please use ConfigProvider.config instead.') : void 0;\n defaultRootPrefixCls = rootPrefixCls;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport LocaleReceiver from '../../locale-provider/LocaleReceiver';\nimport defaultLocale from '../../locale/en_US';\nimport ConfirmDialog from '../ConfirmDialog';\nvar HookModal = function HookModal(_ref, ref) {\n var afterClose = _ref.afterClose,\n config = _ref.config;\n var _React$useState = React.useState(true),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n open = _React$useState2[0],\n setOpen = _React$useState2[1];\n var _React$useState3 = React.useState(config),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n innerConfig = _React$useState4[0],\n setInnerConfig = _React$useState4[1];\n var _React$useContext = React.useContext(ConfigContext),\n direction = _React$useContext.direction,\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('modal');\n var rootPrefixCls = getPrefixCls();\n var close = function close() {\n setOpen(false);\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var triggerCancel = args.some(function (param) {\n return param && param.triggerCancel;\n });\n if (innerConfig.onCancel && triggerCancel) {\n innerConfig.onCancel.apply(innerConfig, [function () {}].concat(_toConsumableArray(args.slice(1))));\n }\n };\n React.useImperativeHandle(ref, function () {\n return {\n destroy: close,\n update: function update(newConfig) {\n setInnerConfig(function (originConfig) {\n return _extends(_extends({}, originConfig), newConfig);\n });\n }\n };\n });\n return /*#__PURE__*/React.createElement(LocaleReceiver, {\n componentName: \"Modal\",\n defaultLocale: defaultLocale.Modal\n }, function (contextLocale) {\n return /*#__PURE__*/React.createElement(ConfirmDialog, _extends({\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls\n }, innerConfig, {\n close: close,\n open: open,\n afterClose: afterClose,\n okText: innerConfig.okText || (innerConfig.okCancel ? contextLocale.okText : contextLocale.justOkText),\n direction: direction,\n cancelText: innerConfig.cancelText || contextLocale.cancelText\n }));\n });\n};\nexport default /*#__PURE__*/React.forwardRef(HookModal);","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport usePatchElement from '../../_util/hooks/usePatchElement';\nimport { withConfirm, withError, withInfo, withSuccess, withWarn } from '../confirm';\nimport HookModal from './HookModal';\nvar uuid = 0;\nvar ElementsHolder = /*#__PURE__*/React.memo( /*#__PURE__*/React.forwardRef(function (_props, ref) {\n var _usePatchElement = usePatchElement(),\n _usePatchElement2 = _slicedToArray(_usePatchElement, 2),\n elements = _usePatchElement2[0],\n patchElement = _usePatchElement2[1];\n React.useImperativeHandle(ref, function () {\n return {\n patchElement: patchElement\n };\n }, []);\n // eslint-disable-next-line react/jsx-no-useless-fragment\n return /*#__PURE__*/React.createElement(React.Fragment, null, elements);\n}));\nexport default function useModal() {\n var holderRef = React.useRef(null);\n // ========================== Effect ==========================\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n actionQueue = _React$useState2[0],\n setActionQueue = _React$useState2[1];\n React.useEffect(function () {\n if (actionQueue.length) {\n var cloneQueue = _toConsumableArray(actionQueue);\n cloneQueue.forEach(function (action) {\n action();\n });\n setActionQueue([]);\n }\n }, [actionQueue]);\n // =========================== Hook ===========================\n var getConfirmFunc = React.useCallback(function (withFunc) {\n return function hookConfirm(config) {\n var _a;\n uuid += 1;\n var modalRef = /*#__PURE__*/React.createRef();\n var closeFunc;\n var modal = /*#__PURE__*/React.createElement(HookModal, {\n key: \"modal-\" + uuid,\n config: withFunc(config),\n ref: modalRef,\n afterClose: function afterClose() {\n closeFunc === null || closeFunc === void 0 ? void 0 : closeFunc();\n }\n });\n closeFunc = (_a = holderRef.current) === null || _a === void 0 ? void 0 : _a.patchElement(modal);\n return {\n destroy: function destroy() {\n function destroyAction() {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.destroy();\n }\n if (modalRef.current) {\n destroyAction();\n } else {\n setActionQueue(function (prev) {\n return [].concat(_toConsumableArray(prev), [destroyAction]);\n });\n }\n },\n update: function update(newConfig) {\n function updateAction() {\n var _a;\n (_a = modalRef.current) === null || _a === void 0 ? void 0 : _a.update(newConfig);\n }\n if (modalRef.current) {\n updateAction();\n } else {\n setActionQueue(function (prev) {\n return [].concat(_toConsumableArray(prev), [updateAction]);\n });\n }\n }\n };\n };\n }, []);\n var fns = React.useMemo(function () {\n return {\n info: getConfirmFunc(withInfo),\n success: getConfirmFunc(withSuccess),\n error: getConfirmFunc(withError),\n warning: getConfirmFunc(withWarn),\n confirm: getConfirmFunc(withConfirm)\n };\n }, []);\n // eslint-disable-next-line react/jsx-key\n return [fns, /*#__PURE__*/React.createElement(ElementsHolder, {\n ref: holderRef\n })];\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default function usePatchElement() {\n var _React$useState = React.useState([]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n elements = _React$useState2[0],\n setElements = _React$useState2[1];\n var patchElement = React.useCallback(function (element) {\n // append a new element to elements (and create a new ref)\n setElements(function (originElements) {\n return [].concat(_toConsumableArray(originElements), [element]);\n });\n // return a function that removes the new element out of elements (and create a new ref)\n // it works a little like useEffect\n return function () {\n setElements(function (originElements) {\n return originElements.filter(function (ele) {\n return ele !== element;\n });\n });\n };\n }, []);\n return [elements, patchElement];\n}","import confirm, { modalGlobalConfig, withConfirm, withError, withInfo, withSuccess, withWarn } from './confirm';\nimport destroyFns from './destroyFns';\nimport OriginModal from './Modal';\nimport PurePanel from './PurePanel';\nimport useModal from './useModal';\nfunction modalWarn(props) {\n return confirm(withWarn(props));\n}\nvar Modal = OriginModal;\nModal.useModal = useModal;\nModal.info = function infoFn(props) {\n return confirm(withInfo(props));\n};\nModal.success = function successFn(props) {\n return confirm(withSuccess(props));\n};\nModal.error = function errorFn(props) {\n return confirm(withError(props));\n};\nModal.warning = modalWarn;\nModal.warn = modalWarn;\nModal.confirm = function confirmFn(props) {\n return confirm(withConfirm(props));\n};\nModal.destroyAll = function destroyAllFn() {\n while (destroyFns.length) {\n var close = destroyFns.pop();\n if (close) {\n close();\n }\n }\n};\nModal.config = modalGlobalConfig;\nModal._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Modal;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport defaultLocale from '../locale/en_US';\nvar runtimeLocale = _extends({}, defaultLocale.Modal);\nexport function changeConfirmLocale(newLocale) {\n if (newLocale) {\n runtimeLocale = _extends(_extends({}, runtimeLocale), newLocale);\n } else {\n runtimeLocale = _extends({}, defaultLocale.Modal);\n }\n}\nexport function getConfirmLocale() {\n return runtimeLocale;\n}","export var getRenderPropValue = function getRenderPropValue(propValue) {\n if (!propValue) {\n return null;\n }\n if (typeof propValue === 'function') {\n return propValue();\n }\n return propValue;\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken, PresetColors } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nimport getArrowStyle from '../../style/placementArrow';\nvar genBaseStyle = function genBaseStyle(token) {\n var _extends2;\n var componentCls = token.componentCls,\n popoverBg = token.popoverBg,\n popoverColor = token.popoverColor,\n width = token.width,\n fontWeightStrong = token.fontWeightStrong,\n popoverPadding = token.popoverPadding,\n boxShadowSecondary = token.boxShadowSecondary,\n colorTextHeading = token.colorTextHeading,\n borderRadius = token.borderRadiusLG,\n zIndexPopup = token.zIndexPopup,\n marginXS = token.marginXS;\n return [_defineProperty({}, componentCls, _extends(_extends({}, resetComponent(token)), (_extends2 = {\n position: 'absolute',\n top: 0,\n insetInlineStart: 0,\n zIndex: zIndexPopup,\n fontWeight: 'normal',\n whiteSpace: 'normal',\n textAlign: 'start',\n cursor: 'auto',\n userSelect: 'text',\n '&-rtl': {\n direction: 'rtl'\n },\n '&-hidden': {\n display: 'none'\n }\n }, _defineProperty(_extends2, componentCls + \"-content\", {\n position: 'relative'\n }), _defineProperty(_extends2, componentCls + \"-inner\", {\n backgroundColor: popoverBg,\n backgroundClip: 'padding-box',\n borderRadius: borderRadius,\n boxShadow: boxShadowSecondary,\n padding: popoverPadding\n }), _defineProperty(_extends2, componentCls + \"-title\", {\n minWidth: width,\n marginBottom: marginXS,\n color: colorTextHeading,\n fontWeight: fontWeightStrong\n }), _defineProperty(_extends2, componentCls + \"-inner-content\", {\n color: popoverColor\n }), _extends2))),\n // Arrow Style\n getArrowStyle(token, {\n colorBg: token.colorBgElevated\n }), // Pure Render\n _defineProperty({}, componentCls + \"-pure\", _defineProperty({\n position: 'relative',\n maxWidth: 'none'\n }, componentCls + \"-content\", {\n display: 'inline-block'\n }))];\n};\nvar genColorStyle = function genColorStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls, PresetColors.map(function (colorKey) {\n var _ref4;\n var lightColor = token[colorKey + \"-6\"];\n return _defineProperty({}, \"&\" + componentCls + \"-\" + colorKey, (_ref4 = {}, _defineProperty(_ref4, componentCls + \"-inner\", {\n backgroundColor: lightColor\n }), _defineProperty(_ref4, componentCls + \"-arrow\", {\n background: 'transparent',\n '&:before': {\n backgroundColor: lightColor\n }\n }), _ref4));\n }));\n};\nvar genWireframeStyle = function genWireframeStyle(token) {\n var _componentCls;\n var componentCls = token.componentCls,\n lineWidth = token.lineWidth,\n lineType = token.lineType,\n colorSplit = token.colorSplit,\n paddingSM = token.paddingSM,\n controlHeight = token.controlHeight,\n fontSize = token.fontSize,\n lineHeight = token.lineHeight,\n padding = token.padding;\n var titlePaddingBlockDist = controlHeight - Math.round(fontSize * lineHeight);\n var popoverTitlePaddingBlockTop = titlePaddingBlockDist / 2;\n var popoverTitlePaddingBlockBottom = titlePaddingBlockDist / 2 - lineWidth;\n var popoverPaddingHorizontal = padding;\n return _defineProperty({}, componentCls, (_componentCls = {}, _defineProperty(_componentCls, componentCls + \"-inner\", {\n padding: 0\n }), _defineProperty(_componentCls, componentCls + \"-title\", {\n margin: 0,\n padding: popoverTitlePaddingBlockTop + \"px \" + popoverPaddingHorizontal + \"px \" + popoverTitlePaddingBlockBottom + \"px\",\n borderBottom: lineWidth + \"px \" + lineType + \" \" + colorSplit\n }), _defineProperty(_componentCls, componentCls + \"-inner-content\", {\n padding: paddingSM + \"px \" + popoverPaddingHorizontal + \"px\"\n }), _componentCls));\n};\nexport default genComponentStyleHook('Popover', function (token) {\n var colorBgElevated = token.colorBgElevated,\n colorText = token.colorText,\n wireframe = token.wireframe;\n var popoverToken = mergeToken(token, {\n popoverBg: colorBgElevated,\n popoverColor: colorText,\n popoverPadding: 12 // Fixed Value\n });\n\n return [genBaseStyle(popoverToken), genColorStyle(popoverToken), wireframe && genWireframeStyle(popoverToken), initZoomMotion(popoverToken, 'zoom-big')];\n}, function (_ref8) {\n var zIndexPopupBase = _ref8.zIndexPopupBase;\n return {\n zIndexPopup: zIndexPopupBase + 30,\n width: 177\n };\n});","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport { Popup } from 'rc-tooltip';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { getRenderPropValue } from '../_util/getRenderPropValue';\nexport var getOverlay = function getOverlay(prefixCls, title, content) {\n if (!title && !content) return undefined;\n return /*#__PURE__*/React.createElement(React.Fragment, null, title && /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-title\"\n }, getRenderPropValue(title)), /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-inner-content\"\n }, getRenderPropValue(content)));\n};\nexport function RawPurePanel(props) {\n var hashId = props.hashId,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'top' : _props$placement,\n title = props.title,\n content = props.content,\n children = props.children;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(hashId, prefixCls, prefixCls + \"-pure\", prefixCls + \"-placement-\" + placement, className),\n style: style\n }, /*#__PURE__*/React.createElement(Popup, _extends({}, props, {\n className: hashId,\n prefixCls: prefixCls\n }), children || getOverlay(prefixCls, title, content)));\n}\nexport default function PurePanel(props) {\n var customizePrefixCls = props.prefixCls,\n restProps = __rest(props, [\"prefixCls\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('popover', customizePrefixCls);\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n return wrapSSR( /*#__PURE__*/React.createElement(RawPurePanel, _extends({}, restProps, {\n prefixCls: prefixCls,\n hashId: hashId\n })));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport Tooltip from '../tooltip';\nimport { getRenderPropValue } from '../_util/getRenderPropValue';\nimport { getTransitionName } from '../_util/motion';\nimport PurePanel from './PurePanel';\n// CSSINJS\nimport useStyle from './style';\nvar Overlay = function Overlay(_ref) {\n var title = _ref.title,\n content = _ref.content,\n prefixCls = _ref.prefixCls;\n if (!title && !content) {\n return null;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, null, title && /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-title\"\n }, getRenderPropValue(title)), /*#__PURE__*/React.createElement(\"div\", {\n className: prefixCls + \"-inner-content\"\n }, getRenderPropValue(content)));\n};\nvar Popover = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var customizePrefixCls = props.prefixCls,\n title = props.title,\n content = props.content,\n overlayClassName = props.overlayClassName,\n _overlay = props._overlay,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'top' : _props$placement,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? 'hover' : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n _props$overlayStyle = props.overlayStyle,\n overlayStyle = _props$overlayStyle === void 0 ? {} : _props$overlayStyle,\n otherProps = __rest(props, [\"prefixCls\", \"title\", \"content\", \"overlayClassName\", \"_overlay\", \"placement\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('popover', customizePrefixCls);\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var rootPrefixCls = getPrefixCls();\n var overlayCls = classNames(overlayClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(Tooltip, _extends({\n placement: placement,\n trigger: trigger,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n overlayStyle: overlayStyle\n }, otherProps, {\n prefixCls: prefixCls,\n overlayClassName: overlayCls,\n ref: ref,\n overlay: _overlay || /*#__PURE__*/React.createElement(Overlay, {\n prefixCls: prefixCls,\n title: title,\n content: content\n }),\n transitionName: getTransitionName(rootPrefixCls, 'zoom-big', otherProps.transitionName),\n \"data-popover-inject\": true\n })));\n});\nif (process.env.NODE_ENV !== 'production') {\n Popover.displayName = 'Popover';\n}\nPopover._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Popover;","import { Row } from '../grid';\nexport default Row;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nexport var SpaceCompactItemContext = /*#__PURE__*/React.createContext(null);\nexport var useCompactItemContext = function useCompactItemContext(prefixCls, direction) {\n var compactItemContext = React.useContext(SpaceCompactItemContext);\n var compactItemClassnames = React.useMemo(function () {\n var _classNames;\n if (!compactItemContext) return '';\n var compactDirection = compactItemContext.compactDirection,\n isFirstItem = compactItemContext.isFirstItem,\n isLastItem = compactItemContext.isLastItem;\n var separator = compactDirection === 'vertical' ? '-vertical-' : '-';\n return classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-compact\" + separator + \"item\", true), _defineProperty(_classNames, prefixCls + \"-compact\" + separator + \"first-item\", isFirstItem), _defineProperty(_classNames, prefixCls + \"-compact\" + separator + \"last-item\", isLastItem), _defineProperty(_classNames, prefixCls + \"-compact\" + separator + \"item-rtl\", direction === 'rtl'), _classNames));\n }, [prefixCls, direction, compactItemContext]);\n return {\n compactSize: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactSize,\n compactDirection: compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.compactDirection,\n compactItemClassnames: compactItemClassnames\n };\n};\nexport var NoCompactStyle = function NoCompactStyle(_ref) {\n var children = _ref.children;\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: null\n }, children);\n};\nvar CompactItem = function CompactItem(_a) {\n var children = _a.children,\n otherProps = __rest(_a, [\"children\"]);\n return /*#__PURE__*/React.createElement(SpaceCompactItemContext.Provider, {\n value: otherProps\n }, children);\n};\nvar Compact = function Compact(props) {\n var _classNames2;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n directionConfig = _React$useContext.direction;\n var _props$size = props.size,\n size = _props$size === void 0 ? 'middle' : _props$size,\n direction = props.direction,\n block = props.block,\n customizePrefixCls = props.prefixCls,\n className = props.className,\n children = props.children,\n restProps = __rest(props, [\"size\", \"direction\", \"block\", \"prefixCls\", \"className\", \"children\"]);\n var prefixCls = getPrefixCls('space-compact', customizePrefixCls);\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var clx = classNames(prefixCls, hashId, (_classNames2 = {}, _defineProperty(_classNames2, prefixCls + \"-rtl\", directionConfig === 'rtl'), _defineProperty(_classNames2, prefixCls + \"-block\", block), _defineProperty(_classNames2, prefixCls + \"-vertical\", direction === 'vertical'), _classNames2), className);\n var compactItemContext = React.useContext(SpaceCompactItemContext);\n var childNodes = toArray(children);\n var nodes = React.useMemo(function () {\n return childNodes.map(function (child, i) {\n var key = child && child.key || prefixCls + \"-item-\" + i;\n return /*#__PURE__*/React.createElement(CompactItem, {\n key: key,\n compactSize: size,\n compactDirection: direction,\n isFirstItem: i === 0 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isFirstItem)),\n isLastItem: i === childNodes.length - 1 && (!compactItemContext || (compactItemContext === null || compactItemContext === void 0 ? void 0 : compactItemContext.isLastItem))\n }, child);\n });\n }, [size, childNodes, compactItemContext]);\n // =========================== Render ===========================\n if (childNodes.length === 0) {\n return null;\n }\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", _extends({\n className: clx\n }, restProps), nodes));\n};\nexport default Compact;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genSpaceCompactStyle = function genSpaceCompactStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls, {\n display: 'inline-flex',\n '&-block': {\n display: 'flex',\n width: '100%'\n },\n '&-vertical': {\n flexDirection: 'column'\n }\n });\n};\n// ============================== Export ==============================\nexport default genSpaceCompactStyle;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { genComponentStyleHook } from '../../theme/internal';\nimport genSpaceCompactStyle from './compact';\nvar genSpaceStyle = function genSpaceStyle(token) {\n var componentCls = token.componentCls;\n return _defineProperty({}, componentCls, _defineProperty({\n display: 'inline-flex',\n '&-rtl': {\n direction: 'rtl'\n },\n '&-vertical': {\n flexDirection: 'column'\n },\n '&-align': {\n flexDirection: 'column',\n '&-center': {\n alignItems: 'center'\n },\n '&-start': {\n alignItems: 'flex-start'\n },\n '&-end': {\n alignItems: 'flex-end'\n },\n '&-baseline': {\n alignItems: 'flex-baseline'\n }\n }\n }, componentCls + \"-space-item\", {\n '&:empty': {\n display: 'none'\n }\n }));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Space', function (token) {\n return [genSpaceStyle(token), genSpaceCompactStyle(token)];\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n// handle border collapse\nfunction compactItemBorder(token, borderedItemCls, popoverFocusedCls) {\n var childCombinator = borderedItemCls ? '> *' : '';\n return {\n '&-item:not(&-last-item)': {\n marginInlineEnd: -token.lineWidth\n },\n '&-item': _extends(_extends(_defineProperty({}, \"&:hover \" + childCombinator + \", &:focus \" + childCombinator + \", &:active \" + childCombinator, {\n zIndex: 2\n }), popoverFocusedCls ? _defineProperty({}, \"&\" + popoverFocusedCls, {\n zIndex: 2\n }) : {}), _defineProperty({}, \"&[disabled] \" + childCombinator, {\n zIndex: 0\n }))\n };\n}\n// handle border-radius\nfunction compactItemBorderRadius(prefixCls, borderedElementCls) {\n var _ref2;\n var childCombinator = borderedElementCls ? \"> \" + borderedElementCls : '';\n return _ref2 = {}, _defineProperty(_ref2, \"&-item:not(&-first-item):not(&-last-item) \" + childCombinator, {\n borderRadius: 0\n }), _defineProperty(_ref2, '&-item:not(&-last-item)&-first-item', _defineProperty({}, \"& \" + childCombinator + \", &\" + prefixCls + \"-sm \" + childCombinator + \", &\" + prefixCls + \"-lg \" + childCombinator, {\n borderStartEndRadius: 0,\n borderEndEndRadius: 0\n })), _defineProperty(_ref2, '&-item:not(&-first-item)&-last-item', _defineProperty({}, \"& \" + childCombinator + \", &\" + prefixCls + \"-sm \" + childCombinator + \", &\" + prefixCls + \"-lg \" + childCombinator, {\n borderStartStartRadius: 0,\n borderEndStartRadius: 0\n })), _ref2;\n}\nexport function genCompactItemStyle(token, prefixCls, /** Some component borders are implemented on child elements like `Select` */\nborderedElementCls,\n/**\n * Some components have special `focus` className especially with popovers like `Select` and\n * `DatePicker`\n */\npopoverFocusedCls) {\n return {\n '&-compact': _extends(_extends({}, compactItemBorder(token, borderedElementCls, popoverFocusedCls)), compactItemBorderRadius(prefixCls, borderedElementCls))\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nexport { operationUnit } from './operationUnit';\nexport { roundedArrow } from './roundedArrow';\nexport var textEllipsis = {\n overflow: 'hidden',\n whiteSpace: 'nowrap',\n textOverflow: 'ellipsis'\n};\nexport var resetComponent = function resetComponent(token) {\n return {\n boxSizing: 'border-box',\n margin: 0,\n padding: 0,\n color: token.colorText,\n fontSize: token.fontSize,\n // font-variant: @font-variant-base;\n lineHeight: token.lineHeight,\n listStyle: 'none',\n // font-feature-settings: @font-feature-settings-base;\n fontFamily: token.fontFamily\n };\n};\nexport var resetIcon = function resetIcon() {\n return {\n display: 'inline-flex',\n alignItems: 'center',\n color: 'inherit',\n fontStyle: 'normal',\n lineHeight: 0,\n textAlign: 'center',\n textTransform: 'none',\n // for SVG icon, see https://blog.prototypr.io/align-svg-icons-to-text-and-say-goodbye-to-font-icons-d44b3d7b26b4\n verticalAlign: '-0.125em',\n textRendering: 'optimizeLegibility',\n '-webkit-font-smoothing': 'antialiased',\n '-moz-osx-font-smoothing': 'grayscale',\n '> *': {\n lineHeight: 1\n },\n svg: {\n display: 'inline-block'\n },\n '& &-icon': {\n display: 'block'\n }\n };\n};\nexport var clearFix = function clearFix() {\n return {\n // https://github.com/ant-design/ant-design/issues/21301#issuecomment-583955229\n '&::before': {\n display: 'table',\n content: '\"\"'\n },\n '&::after': {\n // https://github.com/ant-design/ant-design/issues/21864\n display: 'table',\n clear: 'both',\n content: '\"\"'\n }\n };\n};\nexport var genLinkStyle = function genLinkStyle(token) {\n var _a;\n return {\n a: (_a = {\n color: token.colorLink,\n textDecoration: token.linkDecoration,\n backgroundColor: 'transparent',\n outline: 'none',\n cursor: 'pointer',\n transition: \"color \" + token.motionDurationSlow,\n '-webkit-text-decoration-skip': 'objects',\n '&:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n }\n }, _defineProperty(_a, \"&:active,\\n &:hover\", {\n textDecoration: token.linkHoverDecoration,\n outline: 0\n }), _defineProperty(_a, '&:focus', {\n textDecoration: token.linkFocusDecoration,\n outline: 0\n }), _defineProperty(_a, '&[disabled]', {\n color: token.colorTextDisabled,\n cursor: 'not-allowed'\n }), _a)\n };\n};\nexport var genCommonStyle = function genCommonStyle(token, componentPrefixCls) {\n var fontFamily = token.fontFamily,\n fontSize = token.fontSize;\n var rootPrefixSelector = \"[class^=\\\"\" + componentPrefixCls + \"\\\"], [class*=\\\" \" + componentPrefixCls + \"\\\"]\";\n return _defineProperty({}, rootPrefixSelector, _defineProperty({\n fontFamily: fontFamily,\n fontSize: fontSize,\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }, rootPrefixSelector, {\n boxSizing: 'border-box',\n '&::before, &::after': {\n boxSizing: 'border-box'\n }\n }));\n};\nexport var genFocusOutline = function genFocusOutline(token) {\n return {\n outline: token.lineWidth * 4 + \"px solid \" + token.colorPrimaryBorder,\n outlineOffset: 1,\n transition: 'outline-offset 0s, outline 0s'\n };\n};\nexport var genFocusStyle = function genFocusStyle(token) {\n return {\n '&:focus-visible': _extends({}, genFocusOutline(token))\n };\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nvar genCollapseMotion = function genCollapseMotion(token) {\n var _token$componentCls;\n return _defineProperty({}, token.componentCls, (_token$componentCls = {}, _defineProperty(_token$componentCls, token.antCls + \"-motion-collapse-legacy\", {\n overflow: 'hidden',\n '&-active': {\n transition: \"height \" + token.motionDurationMid + \" \" + token.motionEaseInOut + \",\\n opacity \" + token.motionDurationMid + \" \" + token.motionEaseInOut + \" !important\"\n }\n }), _defineProperty(_token$componentCls, token.antCls + \"-motion-collapse\", {\n overflow: 'hidden',\n transition: \"height \" + token.motionDurationMid + \" \" + token.motionEaseInOut + \",\\n opacity \" + token.motionDurationMid + \" \" + token.motionEaseInOut + \" !important\"\n }), _token$componentCls));\n};\nexport default genCollapseMotion;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar initMotionCommon = function initMotionCommon(duration) {\n return {\n animationDuration: duration,\n animationFillMode: 'both'\n };\n};\n// FIXME: origin less code seems same as initMotionCommon. Maybe we can safe remove\nvar initMotionCommonLeave = function initMotionCommonLeave(duration) {\n return {\n animationDuration: duration,\n animationFillMode: 'both'\n };\n};\nexport var initMotion = function initMotion(motionCls, inKeyframes, outKeyframes, duration) {\n var _ref;\n var sameLevel = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;\n var sameLevelPrefix = sameLevel ? '&' : '';\n return _ref = {}, _defineProperty(_ref, \"\\n \" + sameLevelPrefix + motionCls + \"-enter,\\n \" + sameLevelPrefix + motionCls + \"-appear\\n \", _extends(_extends({}, initMotionCommon(duration)), {\n animationPlayState: 'paused'\n })), _defineProperty(_ref, \"\" + sameLevelPrefix + motionCls + \"-leave\", _extends(_extends({}, initMotionCommonLeave(duration)), {\n animationPlayState: 'paused'\n })), _defineProperty(_ref, \"\\n \" + sameLevelPrefix + motionCls + \"-enter\" + motionCls + \"-enter-active,\\n \" + sameLevelPrefix + motionCls + \"-appear\" + motionCls + \"-appear-active\\n \", {\n animationName: inKeyframes,\n animationPlayState: 'running'\n }), _defineProperty(_ref, \"\" + sameLevelPrefix + motionCls + \"-leave\" + motionCls + \"-leave-active\", {\n animationName: outKeyframes,\n animationPlayState: 'running',\n pointerEvents: 'none'\n }), _ref;\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { Keyframes } from '@ant-design/cssinjs';\nimport { initMotion } from './motion';\nexport var zoomIn = new Keyframes('antZoomIn', {\n '0%': {\n transform: 'scale(0.2)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport var zoomOut = new Keyframes('antZoomOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.2)',\n opacity: 0\n }\n});\nexport var zoomBigIn = new Keyframes('antZoomBigIn', {\n '0%': {\n transform: 'scale(0.8)',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n opacity: 1\n }\n});\nexport var zoomBigOut = new Keyframes('antZoomBigOut', {\n '0%': {\n transform: 'scale(1)'\n },\n '100%': {\n transform: 'scale(0.8)',\n opacity: 0\n }\n});\nexport var zoomUpIn = new Keyframes('antZoomUpIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n }\n});\nexport var zoomUpOut = new Keyframes('antZoomUpOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 0%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 0%',\n opacity: 0\n }\n});\nexport var zoomLeftIn = new Keyframes('antZoomLeftIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n }\n});\nexport var zoomLeftOut = new Keyframes('antZoomLeftOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '0% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '0% 50%',\n opacity: 0\n }\n});\nexport var zoomRightIn = new Keyframes('antZoomRightIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n }\n});\nexport var zoomRightOut = new Keyframes('antZoomRightOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '100% 50%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '100% 50%',\n opacity: 0\n }\n});\nexport var zoomDownIn = new Keyframes('antZoomDownIn', {\n '0%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n },\n '100%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n }\n});\nexport var zoomDownOut = new Keyframes('antZoomDownOut', {\n '0%': {\n transform: 'scale(1)',\n transformOrigin: '50% 100%'\n },\n '100%': {\n transform: 'scale(0.8)',\n transformOrigin: '50% 100%',\n opacity: 0\n }\n});\nvar zoomMotion = {\n zoom: {\n inKeyframes: zoomIn,\n outKeyframes: zoomOut\n },\n 'zoom-big': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-big-fast': {\n inKeyframes: zoomBigIn,\n outKeyframes: zoomBigOut\n },\n 'zoom-left': {\n inKeyframes: zoomLeftIn,\n outKeyframes: zoomLeftOut\n },\n 'zoom-right': {\n inKeyframes: zoomRightIn,\n outKeyframes: zoomRightOut\n },\n 'zoom-up': {\n inKeyframes: zoomUpIn,\n outKeyframes: zoomUpOut\n },\n 'zoom-down': {\n inKeyframes: zoomDownIn,\n outKeyframes: zoomDownOut\n }\n};\nexport var initZoomMotion = function initZoomMotion(token, motionName) {\n var _ref;\n var antCls = token.antCls;\n var motionCls = antCls + \"-\" + motionName;\n var _zoomMotion$motionNam = zoomMotion[motionName],\n inKeyframes = _zoomMotion$motionNam.inKeyframes,\n outKeyframes = _zoomMotion$motionNam.outKeyframes;\n return [initMotion(motionCls, inKeyframes, outKeyframes, motionName === 'zoom-big-fast' ? token.motionDurationMid : token.motionDurationMid), (_ref = {}, _defineProperty(_ref, \"\\n \" + motionCls + \"-enter,\\n \" + motionCls + \"-appear\\n \", {\n transform: 'scale(0)',\n opacity: 0,\n animationTimingFunction: token.motionEaseOutCirc,\n '&-prepare': {\n transform: 'none'\n }\n }), _defineProperty(_ref, motionCls + \"-leave\", {\n animationTimingFunction: token.motionEaseInOutCirc\n }), _ref)];\n};","// eslint-disable-next-line import/prefer-default-export\nexport var operationUnit = function operationUnit(token) {\n return {\n // FIXME: This use link but is a operation unit. Seems should be a colorPrimary.\n // And Typography use this to generate link style which should not do this.\n color: token.colorLink,\n textDecoration: 'none',\n outline: 'none',\n cursor: 'pointer',\n transition: \"color \" + token.motionDurationSlow,\n '&:focus, &:hover': {\n color: token.colorLinkHover\n },\n '&:active': {\n color: token.colorLinkActive\n }\n };\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { roundedArrow } from './roundedArrow';\nfunction connectArrowCls(classList) {\n var showArrowCls = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return classList.map(function (cls) {\n return \"\" + showArrowCls + cls;\n }).join(',');\n}\nexport var MAX_VERTICAL_CONTENT_RADIUS = 8;\nexport function getArrowOffset(options) {\n var maxVerticalContentRadius = MAX_VERTICAL_CONTENT_RADIUS;\n var sizePopupArrow = options.sizePopupArrow,\n contentRadius = options.contentRadius,\n borderRadiusOuter = options.borderRadiusOuter,\n limitVerticalRadius = options.limitVerticalRadius;\n var arrowInnerOffset = sizePopupArrow / 2 - Math.ceil(borderRadiusOuter * (Math.sqrt(2) - 1));\n var dropdownArrowOffset = (contentRadius > 12 ? contentRadius + 2 : 12) - arrowInnerOffset;\n var dropdownArrowOffsetVertical = limitVerticalRadius ? maxVerticalContentRadius - arrowInnerOffset : dropdownArrowOffset;\n return {\n dropdownArrowOffset: dropdownArrowOffset,\n dropdownArrowOffsetVertical: dropdownArrowOffsetVertical\n };\n}\nexport default function getArrowStyle(token, options) {\n var _componentCls;\n var componentCls = token.componentCls,\n sizePopupArrow = token.sizePopupArrow,\n marginXXS = token.marginXXS,\n borderRadiusXS = token.borderRadiusXS,\n borderRadiusOuter = token.borderRadiusOuter,\n boxShadowPopoverArrow = token.boxShadowPopoverArrow;\n var colorBg = options.colorBg,\n showArrowCls = options.showArrowCls,\n _options$contentRadiu = options.contentRadius,\n contentRadius = _options$contentRadiu === void 0 ? token.borderRadiusLG : _options$contentRadiu,\n limitVerticalRadius = options.limitVerticalRadius;\n var _getArrowOffset = getArrowOffset({\n sizePopupArrow: sizePopupArrow,\n contentRadius: contentRadius,\n borderRadiusOuter: borderRadiusOuter,\n limitVerticalRadius: limitVerticalRadius\n }),\n dropdownArrowOffsetVertical = _getArrowOffset.dropdownArrowOffsetVertical,\n dropdownArrowOffset = _getArrowOffset.dropdownArrowOffset;\n var dropdownArrowDistance = sizePopupArrow / 2 + marginXXS;\n return _defineProperty({}, componentCls, (_componentCls = {}, _defineProperty(_componentCls, componentCls + \"-arrow\", [_extends(_extends({\n position: 'absolute',\n zIndex: 1,\n display: 'block'\n }, roundedArrow(sizePopupArrow, borderRadiusXS, borderRadiusOuter, colorBg, boxShadowPopoverArrow)), {\n '&:before': {\n background: colorBg\n }\n })]), _defineProperty(_componentCls, [\"&-placement-top \" + componentCls + \"-arrow\", \"&-placement-topLeft \" + componentCls + \"-arrow\", \"&-placement-topRight \" + componentCls + \"-arrow\"].join(','), {\n bottom: 0,\n transform: 'translateY(100%) rotate(180deg)'\n }), _defineProperty(_componentCls, \"&-placement-top \" + componentCls + \"-arrow\", {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateX(-50%) translateY(100%) rotate(180deg)'\n }), _defineProperty(_componentCls, \"&-placement-topLeft \" + componentCls + \"-arrow\", {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }), _defineProperty(_componentCls, \"&-placement-topRight \" + componentCls + \"-arrow\", {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }), _defineProperty(_componentCls, [\"&-placement-bottom \" + componentCls + \"-arrow\", \"&-placement-bottomLeft \" + componentCls + \"-arrow\", \"&-placement-bottomRight \" + componentCls + \"-arrow\"].join(','), {\n top: 0,\n transform: \"translateY(-100%)\"\n }), _defineProperty(_componentCls, \"&-placement-bottom \" + componentCls + \"-arrow\", {\n left: {\n _skip_check_: true,\n value: '50%'\n },\n transform: \"translateX(-50%) translateY(-100%)\"\n }), _defineProperty(_componentCls, \"&-placement-bottomLeft \" + componentCls + \"-arrow\", {\n left: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }), _defineProperty(_componentCls, \"&-placement-bottomRight \" + componentCls + \"-arrow\", {\n right: {\n _skip_check_: true,\n value: dropdownArrowOffset\n }\n }), _defineProperty(_componentCls, [\"&-placement-left \" + componentCls + \"-arrow\", \"&-placement-leftTop \" + componentCls + \"-arrow\", \"&-placement-leftBottom \" + componentCls + \"-arrow\"].join(','), {\n right: {\n _skip_check_: true,\n value: 0\n },\n transform: 'translateX(100%) rotate(90deg)'\n }), _defineProperty(_componentCls, \"&-placement-left \" + componentCls + \"-arrow\", {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(100%) rotate(90deg)'\n }), _defineProperty(_componentCls, \"&-placement-leftTop \" + componentCls + \"-arrow\", {\n top: dropdownArrowOffsetVertical\n }), _defineProperty(_componentCls, \"&-placement-leftBottom \" + componentCls + \"-arrow\", {\n bottom: dropdownArrowOffsetVertical\n }), _defineProperty(_componentCls, [\"&-placement-right \" + componentCls + \"-arrow\", \"&-placement-rightTop \" + componentCls + \"-arrow\", \"&-placement-rightBottom \" + componentCls + \"-arrow\"].join(','), {\n left: {\n _skip_check_: true,\n value: 0\n },\n transform: 'translateX(-100%) rotate(-90deg)'\n }), _defineProperty(_componentCls, \"&-placement-right \" + componentCls + \"-arrow\", {\n top: {\n _skip_check_: true,\n value: '50%'\n },\n transform: 'translateY(-50%) translateX(-100%) rotate(-90deg)'\n }), _defineProperty(_componentCls, \"&-placement-rightTop \" + componentCls + \"-arrow\", {\n top: dropdownArrowOffsetVertical\n }), _defineProperty(_componentCls, \"&-placement-rightBottom \" + componentCls + \"-arrow\", {\n bottom: dropdownArrowOffsetVertical\n }), _defineProperty(_componentCls, connectArrowCls([\"&-placement-topLeft\", \"&-placement-top\", \"&-placement-topRight\"], showArrowCls), {\n paddingBottom: dropdownArrowDistance\n }), _defineProperty(_componentCls, connectArrowCls([\"&-placement-bottomLeft\", \"&-placement-bottom\", \"&-placement-bottomRight\"], showArrowCls), {\n paddingTop: dropdownArrowDistance\n }), _defineProperty(_componentCls, connectArrowCls([\"&-placement-leftTop\", \"&-placement-left\", \"&-placement-leftBottom\"], showArrowCls), {\n paddingRight: {\n _skip_check_: true,\n value: dropdownArrowDistance\n }\n }), _defineProperty(_componentCls, connectArrowCls([\"&-placement-rightTop\", \"&-placement-right\", \"&-placement-rightBottom\"], showArrowCls), {\n paddingLeft: {\n _skip_check_: true,\n value: dropdownArrowDistance\n }\n }), _componentCls));\n}","export var roundedArrow = function roundedArrow(width, innerRadius, outerRadius, bgColor, boxShadow) {\n var unitWidth = width / 2;\n var ax = unitWidth - outerRadius * (Math.sqrt(2) - 1);\n var ay = unitWidth;\n var bx = unitWidth + outerRadius * (1 - 1 / Math.sqrt(2));\n var by = unitWidth - outerRadius * (1 - 1 / Math.sqrt(2));\n var cx = 2 * unitWidth - innerRadius * (1 / Math.sqrt(2));\n var cy = innerRadius * (1 / Math.sqrt(2));\n var dx = 4 * unitWidth - cx;\n var dy = cy;\n var ex = 4 * unitWidth - bx;\n var ey = by;\n var fx = 4 * unitWidth - ax;\n var fy = ay;\n return {\n borderRadius: {\n _skip_check_: true,\n value: \"0 0 \" + innerRadius + \"px\"\n },\n pointerEvents: 'none',\n width: width * 2,\n height: width * 2,\n overflow: 'hidden',\n '&::after': {\n content: '\"\"',\n position: 'absolute',\n width: width / Math.sqrt(2),\n height: width / Math.sqrt(2),\n bottom: 0,\n insetInline: 0,\n margin: 'auto',\n borderRadius: {\n _skip_check_: true,\n value: \"0 0 \" + innerRadius + \"px 0\"\n },\n transform: 'translateY(50%) rotate(-135deg)',\n boxShadow: boxShadow,\n zIndex: 0,\n background: 'transparent'\n },\n '&::before': {\n position: 'absolute',\n bottom: 0,\n insetInlineStart: 0,\n width: width * 2,\n height: width / 2,\n background: bgColor,\n clipPath: \"path('M \" + ax + \" \" + ay + \" A \" + outerRadius + \" \" + outerRadius + \" 0 0 0 \" + bx + \" \" + by + \" L \" + cx + \" \" + cy + \" A \" + innerRadius + \" \" + innerRadius + \" 0 0 1 \" + dx + \" \" + dy + \" L \" + ex + \" \" + ey + \" A \" + outerRadius + \" \" + outerRadius + \" 0 0 0 \" + fx + \" \" + fy + \" Z')\",\n content: '\"\"'\n }\n };\n};","export var PresetColors = ['blue', 'purple', 'cyan', 'green', 'magenta', 'pink', 'red', 'orange', 'yellow', 'volcano', 'geekblue', 'lime', 'gold'];","var genControlHeight = function genControlHeight(token) {\n var controlHeight = token.controlHeight;\n return {\n controlHeightSM: controlHeight * 0.75,\n controlHeightXS: controlHeight * 0.5,\n controlHeightLG: controlHeight * 1.25\n };\n};\nexport default genControlHeight;","var genRadius = function genRadius(radiusBase) {\n var radiusLG = radiusBase;\n var radiusSM = radiusBase;\n var radiusXS = radiusBase;\n var radiusOuter = radiusBase;\n // radiusLG\n if (radiusBase < 6 && radiusBase >= 5) {\n radiusLG = radiusBase + 1;\n } else if (radiusBase < 16 && radiusBase >= 6) {\n radiusLG = radiusBase + 2;\n } else if (radiusBase >= 16) {\n radiusLG = 16;\n }\n // radiusSM\n if (radiusBase < 7 && radiusBase >= 5) {\n radiusSM = 4;\n } else if (radiusBase < 8 && radiusBase >= 7) {\n radiusSM = 5;\n } else if (radiusBase < 14 && radiusBase >= 8) {\n radiusSM = 6;\n } else if (radiusBase < 16 && radiusBase >= 14) {\n radiusSM = 7;\n } else if (radiusBase >= 16) {\n radiusSM = 8;\n }\n // radiusXS\n if (radiusBase < 6 && radiusBase >= 2) {\n radiusXS = 1;\n } else if (radiusBase >= 6) {\n radiusXS = 2;\n }\n // radiusOuter\n if (radiusBase > 4 && radiusBase < 8) {\n radiusOuter = 4;\n } else if (radiusBase >= 8) {\n radiusOuter = 6;\n }\n return {\n borderRadius: radiusBase > 16 ? 16 : radiusBase,\n borderRadiusXS: radiusXS,\n borderRadiusSM: radiusSM,\n borderRadiusLG: radiusLG,\n borderRadiusOuter: radiusOuter\n };\n};\nexport default genRadius;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport genFontSizes from './genFontSizes';\nimport genRadius from './genRadius';\nexport default function genCommonMapToken(token) {\n var motionUnit = token.motionUnit,\n motionBase = token.motionBase,\n fontSize = token.fontSize,\n borderRadius = token.borderRadius,\n lineWidth = token.lineWidth;\n var fontSizes = genFontSizes(fontSize);\n return _extends({\n // motion\n motionDurationFast: (motionBase + motionUnit).toFixed(1) + \"s\",\n motionDurationMid: (motionBase + motionUnit * 2).toFixed(1) + \"s\",\n motionDurationSlow: (motionBase + motionUnit * 3).toFixed(1) + \"s\",\n // font\n fontSizes: fontSizes.map(function (fs) {\n return fs.size;\n }),\n lineHeights: fontSizes.map(function (fs) {\n return fs.lineHeight;\n }),\n // line\n lineWidthBold: lineWidth + 1\n }, genRadius(borderRadius));\n}","// https://zhuanlan.zhihu.com/p/32746810\nexport default function getFontSizes(base) {\n var fontSizes = new Array(10).fill(null).map(function (_, index) {\n var i = index - 1;\n var baseSize = base * Math.pow(2.71828, i / 5);\n var intSize = index > 1 ? Math.floor(baseSize) : Math.ceil(baseSize);\n // Convert to even\n return Math.floor(intSize / 2) * 2;\n });\n fontSizes[1] = base;\n return fontSizes.map(function (size) {\n var height = size + 8;\n return {\n size: size,\n lineHeight: height / size\n };\n });\n}","import { TinyColor } from '@ctrl/tinycolor';\nexport var getAlphaColor = function getAlphaColor(baseColor, alpha) {\n return new TinyColor(baseColor).setAlpha(alpha).toRgbString();\n};\nexport var getSolidColor = function getSolidColor(baseColor, brightness) {\n var instance = new TinyColor(baseColor);\n return instance.darken(brightness).toHexString();\n};","import { generate } from '@ant-design/colors';\nimport { getAlphaColor, getSolidColor } from './colorAlgorithm';\nexport var generateColorPalettes = function generateColorPalettes(baseColor) {\n var colors = generate(baseColor);\n return {\n 1: colors[0],\n 2: colors[1],\n 3: colors[2],\n 4: colors[3],\n 5: colors[4],\n 6: colors[5],\n 7: colors[6],\n 8: colors[4],\n 9: colors[5],\n 10: colors[6]\n // 8: colors[7],\n // 9: colors[8],\n // 10: colors[9],\n };\n};\n\nexport var generateNeutralColorPalettes = function generateNeutralColorPalettes(bgBaseColor, textBaseColor) {\n var colorBgBase = bgBaseColor || '#fff';\n var colorTextBase = textBaseColor || '#000';\n return {\n colorBgBase: colorBgBase,\n colorTextBase: colorTextBase,\n colorText: getAlphaColor(colorTextBase, 0.88),\n colorTextSecondary: getAlphaColor(colorTextBase, 0.65),\n colorTextTertiary: getAlphaColor(colorTextBase, 0.45),\n colorTextQuaternary: getAlphaColor(colorTextBase, 0.25),\n colorFill: getAlphaColor(colorTextBase, 0.15),\n colorFillSecondary: getAlphaColor(colorTextBase, 0.06),\n colorFillTertiary: getAlphaColor(colorTextBase, 0.04),\n colorFillQuaternary: getAlphaColor(colorTextBase, 0.02),\n colorBgLayout: getSolidColor(colorBgBase, 4),\n colorBgContainer: getSolidColor(colorBgBase, 0),\n colorBgElevated: getSolidColor(colorBgBase, 0),\n colorBgSpotlight: getAlphaColor(colorTextBase, 0.85),\n colorBorder: getSolidColor(colorBgBase, 15),\n colorBorderSecondary: getSolidColor(colorBgBase, 6)\n };\n};","import { TinyColor } from '@ctrl/tinycolor';\nfunction isStableColor(color) {\n return color >= 0 && color <= 255;\n}\nfunction getAlphaColor(frontColor, backgroundColor) {\n var _TinyColor$toRgb = new TinyColor(frontColor).toRgb(),\n fR = _TinyColor$toRgb.r,\n fG = _TinyColor$toRgb.g,\n fB = _TinyColor$toRgb.b,\n originAlpha = _TinyColor$toRgb.a;\n if (originAlpha < 1) {\n return frontColor;\n }\n var _TinyColor$toRgb2 = new TinyColor(backgroundColor).toRgb(),\n bR = _TinyColor$toRgb2.r,\n bG = _TinyColor$toRgb2.g,\n bB = _TinyColor$toRgb2.b;\n for (var fA = 0.01; fA <= 1; fA += 0.01) {\n var r = Math.round((fR - bR * (1 - fA)) / fA);\n var g = Math.round((fG - bG * (1 - fA)) / fA);\n var b = Math.round((fB - bB * (1 - fA)) / fA);\n if (isStableColor(r) && isStableColor(g) && isStableColor(b)) return new TinyColor({\n r: r,\n g: g,\n b: b,\n a: Math.round(fA * 100) / 100\n }).toRgbString();\n }\n // fallback\n /* istanbul ignore next */\n return new TinyColor({\n r: fR,\n g: fG,\n b: fB,\n a: 1\n }).toRgbString();\n}\nexport default getAlphaColor;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport { TinyColor } from '@ctrl/tinycolor';\nimport getAlphaColor from './getAlphaColor';\nimport seedToken from '../themes/seed';\n/**\n * Seed (designer) > Derivative (designer) > Alias (developer).\n *\n * Merge seed & derivative & override token and generate alias token for developer.\n */\nexport default function formatToken(derivativeToken) {\n var override = derivativeToken.override,\n restToken = __rest(derivativeToken, [\"override\"]);\n var overrideTokens = _extends({}, override);\n Object.keys(seedToken).forEach(function (token) {\n delete overrideTokens[token];\n });\n var mergedToken = _extends(_extends({}, restToken), overrideTokens);\n var fontSizes = mergedToken.fontSizes,\n lineHeights = mergedToken.lineHeights;\n var screenXS = 480;\n var screenSM = 576;\n var screenMD = 768;\n var screenLG = 992;\n var screenXL = 1200;\n var screenXXL = 1600;\n var fontSizeSM = fontSizes[0];\n // Generate alias token\n var aliasToken = _extends(_extends(_extends({}, mergedToken), {\n colorLink: mergedToken.colorInfoText,\n colorLinkHover: mergedToken.colorInfoHover,\n colorLinkActive: mergedToken.colorInfoActive,\n // ============== Background ============== //\n colorFillContent: mergedToken.colorFillSecondary,\n colorFillContentHover: mergedToken.colorFill,\n colorFillAlter: mergedToken.colorFillQuaternary,\n colorBgContainerDisabled: mergedToken.colorFillTertiary,\n // ============== Split ============== //\n colorBorderBg: mergedToken.colorBgContainer,\n colorSplit: getAlphaColor(mergedToken.colorBorderSecondary, mergedToken.colorBgContainer),\n // ============== Text ============== //\n colorTextPlaceholder: mergedToken.colorTextQuaternary,\n colorTextDisabled: mergedToken.colorTextQuaternary,\n colorTextHeading: mergedToken.colorText,\n colorTextLabel: mergedToken.colorTextSecondary,\n colorTextDescription: mergedToken.colorTextTertiary,\n colorTextLightSolid: mergedToken.colorWhite,\n colorHighlight: mergedToken.colorError,\n colorBgTextHover: mergedToken.colorFillSecondary,\n colorBgTextActive: mergedToken.colorFill,\n colorIcon: mergedToken.colorTextTertiary,\n colorIconHover: mergedToken.colorText,\n colorErrorOutline: getAlphaColor(mergedToken.colorErrorBg, mergedToken.colorBgContainer),\n colorWarningOutline: getAlphaColor(mergedToken.colorWarningBg, mergedToken.colorBgContainer),\n // Font\n fontSizeSM: fontSizeSM,\n fontSize: fontSizes[1],\n fontSizeLG: fontSizes[2],\n fontSizeXL: fontSizes[3],\n fontSizeHeading1: fontSizes[6],\n fontSizeHeading2: fontSizes[5],\n fontSizeHeading3: fontSizes[4],\n fontSizeHeading4: fontSizes[3],\n fontSizeHeading5: fontSizes[2],\n fontSizeIcon: fontSizeSM,\n lineHeight: lineHeights[1],\n lineHeightLG: lineHeights[2],\n lineHeightSM: lineHeights[0],\n lineHeightHeading1: lineHeights[6],\n lineHeightHeading2: lineHeights[5],\n lineHeightHeading3: lineHeights[4],\n lineHeightHeading4: lineHeights[3],\n lineHeightHeading5: lineHeights[2],\n // Control\n lineWidth: mergedToken.lineWidth,\n controlOutlineWidth: mergedToken.lineWidth * 2,\n // Checkbox size and expand icon size\n controlInteractiveSize: mergedToken.controlHeight / 2,\n controlItemBgHover: mergedToken.colorFillTertiary,\n controlItemBgActive: mergedToken.colorPrimaryBg,\n controlItemBgActiveHover: mergedToken.colorPrimaryBgHover,\n controlItemBgActiveDisabled: mergedToken.colorFill,\n controlTmpOutline: mergedToken.colorFillQuaternary,\n controlOutline: getAlphaColor(mergedToken.colorPrimaryBg, mergedToken.colorBgContainer),\n lineType: mergedToken.lineType,\n borderRadius: mergedToken.borderRadius,\n borderRadiusXS: mergedToken.borderRadiusXS,\n borderRadiusSM: mergedToken.borderRadiusSM,\n borderRadiusLG: mergedToken.borderRadiusLG,\n fontWeightStrong: 600,\n opacityLoading: 0.65,\n linkDecoration: 'none',\n linkHoverDecoration: 'none',\n linkFocusDecoration: 'none',\n controlPaddingHorizontal: 12,\n controlPaddingHorizontalSM: 8,\n paddingXXS: mergedToken.sizeXXS,\n paddingXS: mergedToken.sizeXS,\n paddingSM: mergedToken.sizeSM,\n padding: mergedToken.size,\n paddingMD: mergedToken.sizeMD,\n paddingLG: mergedToken.sizeLG,\n paddingXL: mergedToken.sizeXL,\n paddingContentHorizontalLG: mergedToken.sizeLG,\n paddingContentVerticalLG: mergedToken.sizeMS,\n paddingContentHorizontal: mergedToken.sizeMS,\n paddingContentVertical: mergedToken.sizeSM,\n paddingContentHorizontalSM: mergedToken.size,\n paddingContentVerticalSM: mergedToken.sizeXS,\n marginXXS: mergedToken.sizeXXS,\n marginXS: mergedToken.sizeXS,\n marginSM: mergedToken.sizeSM,\n margin: mergedToken.size,\n marginMD: mergedToken.sizeMD,\n marginLG: mergedToken.sizeLG,\n marginXL: mergedToken.sizeXL,\n marginXXL: mergedToken.sizeXXL,\n boxShadow: \"\\n 0 1px 2px 0 rgba(0, 0, 0, 0.03),\\n 0 1px 6px -1px rgba(0, 0, 0, 0.02),\\n 0 2px 4px 0 rgba(0, 0, 0, 0.02)\\n \",\n boxShadowSecondary: \"\\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\\n \",\n screenXS: screenXS,\n screenXSMin: screenXS,\n screenXSMax: screenXS - 1,\n screenSM: screenSM,\n screenSMMin: screenSM,\n screenSMMax: screenSM - 1,\n screenMD: screenMD,\n screenMDMin: screenMD,\n screenMDMax: screenMD - 1,\n screenLG: screenLG,\n screenLGMin: screenLG,\n screenLGMax: screenLG - 1,\n screenXL: screenXL,\n screenXLMin: screenXL,\n screenXLMax: screenXL - 1,\n screenXXL: screenXXL,\n screenXXLMin: screenXXL,\n screenXXLMax: screenXXL - 1,\n // FIXME: component box-shadow, should be removed\n boxShadowPopoverArrow: \"3px 3px 7px rgba(0, 0, 0, 0.1)\",\n boxShadowCard: \"\\n 0 1px 2px -2px \" + new TinyColor('rgba(0, 0, 0, 0.16)').toRgbString() + \",\\n 0 3px 6px 0 \" + new TinyColor('rgba(0, 0, 0, 0.12)').toRgbString() + \",\\n 0 5px 12px 4px \" + new TinyColor('rgba(0, 0, 0, 0.09)').toRgbString() + \"\\n \",\n boxShadowDrawerRight: \"\\n -6px 0 16px 0 rgba(0, 0, 0, 0.08),\\n -3px 0 6px -4px rgba(0, 0, 0, 0.12),\\n -9px 0 28px 8px rgba(0, 0, 0, 0.05)\\n \",\n boxShadowDrawerLeft: \"\\n 6px 0 16px 0 rgba(0, 0, 0, 0.08),\\n 3px 0 6px -4px rgba(0, 0, 0, 0.12),\\n 9px 0 28px 8px rgba(0, 0, 0, 0.05)\\n \",\n boxShadowDrawerUp: \"\\n 0 6px 16px 0 rgba(0, 0, 0, 0.08),\\n 0 3px 6px -4px rgba(0, 0, 0, 0.12),\\n 0 9px 28px 8px rgba(0, 0, 0, 0.05)\\n \",\n boxShadowDrawerDown: \"\\n 0 -6px 16px 0 rgba(0, 0, 0, 0.08),\\n 0 -3px 6px -4px rgba(0, 0, 0, 0.12),\\n 0 -9px 28px 8px rgba(0, 0, 0, 0.05)\\n \",\n boxShadowTabsOverflowLeft: \"inset 10px 0 8px -8px rgba(0, 0, 0, 0.08)\",\n boxShadowTabsOverflowRight: \"inset -10px 0 8px -8px rgba(0, 0, 0, 0.08)\",\n boxShadowTabsOverflowTop: \"inset 0 10px 8px -8px rgba(0, 0, 0, 0.08)\",\n boxShadowTabsOverflowBottom: \"inset 0 -10px 8px -8px rgba(0, 0, 0, 0.08)\"\n }), overrideTokens);\n return aliasToken;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { createTheme, useCacheToken, useStyleRegister } from '@ant-design/cssinjs';\nimport React from 'react';\nimport version from '../version';\nimport { PresetColors } from './interface';\nimport defaultDerivative from './themes/default';\nimport defaultSeedToken from './themes/seed';\nimport formatToken from './util/alias';\nimport genComponentStyleHook from './util/genComponentStyleHook';\nimport statisticToken, { merge as mergeToken, statistic } from './util/statistic';\nvar defaultTheme = createTheme(defaultDerivative);\nexport {\n// colors\nPresetColors,\n// Statistic\nstatistic, statisticToken, mergeToken,\n// hooks\nuseStyleRegister, genComponentStyleHook };\n// ================================ Context =================================\n// To ensure snapshot stable. We disable hashed in test env.\nexport var defaultConfig = {\n token: defaultSeedToken,\n hashed: true\n};\nexport var DesignTokenContext = /*#__PURE__*/React.createContext(defaultConfig);\n// ================================== Hook ==================================\nexport function useToken() {\n var _React$useContext = React.useContext(DesignTokenContext),\n rootDesignToken = _React$useContext.token,\n hashed = _React$useContext.hashed,\n theme = _React$useContext.theme,\n components = _React$useContext.components;\n var salt = version + \"-\" + (hashed || '');\n var mergedTheme = theme || defaultTheme;\n var _useCacheToken = useCacheToken(mergedTheme, [defaultSeedToken, rootDesignToken], {\n salt: salt,\n override: _extends({\n override: rootDesignToken\n }, components),\n formatToken: formatToken\n }),\n _useCacheToken2 = _slicedToArray(_useCacheToken, 2),\n token = _useCacheToken2[0],\n hashId = _useCacheToken2[1];\n return [mergedTheme, token, hashed ? hashId : ''];\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { generate } from '@ant-design/colors';\nimport genControlHeight from '../shared/genControlHeight';\nimport genSizeMapToken from '../shared/genSizeMapToken';\nimport { defaultPresetColors } from '../seed';\nimport genColorMapToken from '../shared/genColorMapToken';\nimport genCommonMapToken from '../shared/genCommonMapToken';\nimport { generateColorPalettes, generateNeutralColorPalettes } from './colors';\nexport default function derivative(token) {\n var colorPalettes = Object.keys(defaultPresetColors).map(function (colorKey) {\n var colors = generate(token[colorKey]);\n return new Array(10).fill(1).reduce(function (prev, _, i) {\n prev[colorKey + \"-\" + (i + 1)] = colors[i];\n return prev;\n }, {});\n }).reduce(function (prev, cur) {\n prev = _extends(_extends({}, prev), cur);\n return prev;\n }, {});\n return _extends(_extends(_extends(_extends(_extends(_extends({}, token), colorPalettes), genColorMapToken(token, {\n generateColorPalettes: generateColorPalettes,\n generateNeutralColorPalettes: generateNeutralColorPalettes\n })), genSizeMapToken(token)), genControlHeight(token)), genCommonMapToken(token));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { TinyColor } from '@ctrl/tinycolor';\nexport default function genColorMapToken(seed, _ref) {\n var generateColorPalettes = _ref.generateColorPalettes,\n generateNeutralColorPalettes = _ref.generateNeutralColorPalettes;\n var colorSuccessBase = seed.colorSuccess,\n colorWarningBase = seed.colorWarning,\n colorErrorBase = seed.colorError,\n colorInfoBase = seed.colorInfo,\n colorPrimaryBase = seed.colorPrimary,\n colorBgBase = seed.colorBgBase,\n colorTextBase = seed.colorTextBase;\n var primaryColors = generateColorPalettes(colorPrimaryBase);\n var successColors = generateColorPalettes(colorSuccessBase);\n var warningColors = generateColorPalettes(colorWarningBase);\n var errorColors = generateColorPalettes(colorErrorBase);\n var infoColors = generateColorPalettes(colorInfoBase);\n var neutralColors = generateNeutralColorPalettes(colorBgBase, colorTextBase);\n return _extends(_extends({}, neutralColors), {\n colorPrimaryBg: primaryColors[1],\n colorPrimaryBgHover: primaryColors[2],\n colorPrimaryBorder: primaryColors[3],\n colorPrimaryBorderHover: primaryColors[4],\n colorPrimaryHover: primaryColors[5],\n colorPrimary: primaryColors[6],\n colorPrimaryActive: primaryColors[7],\n colorPrimaryTextHover: primaryColors[8],\n colorPrimaryText: primaryColors[9],\n colorPrimaryTextActive: primaryColors[10],\n colorSuccessBg: successColors[1],\n colorSuccessBgHover: successColors[2],\n colorSuccessBorder: successColors[3],\n colorSuccessBorderHover: successColors[4],\n colorSuccessHover: successColors[4],\n colorSuccess: successColors[6],\n colorSuccessActive: successColors[7],\n colorSuccessTextHover: successColors[8],\n colorSuccessText: successColors[9],\n colorSuccessTextActive: successColors[10],\n colorErrorBg: errorColors[1],\n colorErrorBgHover: errorColors[2],\n colorErrorBorder: errorColors[3],\n colorErrorBorderHover: errorColors[4],\n colorErrorHover: errorColors[5],\n colorError: errorColors[6],\n colorErrorActive: errorColors[7],\n colorErrorTextHover: errorColors[8],\n colorErrorText: errorColors[9],\n colorErrorTextActive: errorColors[10],\n colorWarningBg: warningColors[1],\n colorWarningBgHover: warningColors[2],\n colorWarningBorder: warningColors[3],\n colorWarningBorderHover: warningColors[4],\n colorWarningHover: warningColors[4],\n colorWarning: warningColors[6],\n colorWarningActive: warningColors[7],\n colorWarningTextHover: warningColors[8],\n colorWarningText: warningColors[9],\n colorWarningTextActive: warningColors[10],\n colorInfoBg: infoColors[1],\n colorInfoBgHover: infoColors[2],\n colorInfoBorder: infoColors[3],\n colorInfoBorderHover: infoColors[4],\n colorInfoHover: infoColors[4],\n colorInfo: infoColors[6],\n colorInfoActive: infoColors[7],\n colorInfoTextHover: infoColors[8],\n colorInfoText: infoColors[9],\n colorInfoTextActive: infoColors[10],\n colorBgMask: new TinyColor('#000').setAlpha(0.45).toRgbString(),\n colorWhite: '#fff'\n });\n}","export default function genSizeMapToken(token) {\n var sizeUnit = token.sizeUnit,\n sizeStep = token.sizeStep;\n return {\n sizeXXL: sizeUnit * (sizeStep + 8),\n sizeXL: sizeUnit * (sizeStep + 4),\n sizeLG: sizeUnit * (sizeStep + 2),\n sizeMD: sizeUnit * (sizeStep + 1),\n sizeMS: sizeUnit * sizeStep,\n size: sizeUnit * sizeStep,\n sizeSM: sizeUnit * (sizeStep - 1),\n sizeXS: sizeUnit * (sizeStep - 2),\n sizeXXS: sizeUnit * (sizeStep - 3) // 4\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nexport var defaultPresetColors = {\n blue: '#1677ff',\n purple: '#722ED1',\n cyan: '#13C2C2',\n green: '#52C41A',\n magenta: '#EB2F96',\n pink: '#eb2f96',\n red: '#F5222D',\n orange: '#FA8C16',\n yellow: '#FADB14',\n volcano: '#FA541C',\n geekblue: '#2F54EB',\n gold: '#FAAD14',\n lime: '#A0D911'\n};\nvar seedToken = _extends(_extends({}, defaultPresetColors), {\n // Color\n colorPrimary: '#1677ff',\n colorSuccess: '#52c41a',\n colorWarning: '#faad14',\n colorError: '#ff4d4f',\n colorInfo: '#1677ff',\n colorTextBase: '',\n colorBgBase: '',\n // Font\n fontFamily: \"-apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial,\\n'Noto Sans', sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol',\\n'Noto Color Emoji'\",\n fontSize: 14,\n // Line\n lineWidth: 1,\n lineType: 'solid',\n // Motion\n motionUnit: 0.1,\n motionBase: 0,\n motionEaseOutCirc: \"cubic-bezier(0.08, 0.82, 0.17, 1)\",\n motionEaseInOutCirc: \"cubic-bezier(0.78, 0.14, 0.15, 0.86)\",\n motionEaseOut: 'cubic-bezier(0.215, 0.61, 0.355, 1)',\n motionEaseInOut: \"cubic-bezier(0.645, 0.045, 0.355, 1)\",\n motionEaseOutBack: \"cubic-bezier(0.12, 0.4, 0.29, 1.46)\",\n motionEaseInBack: \"cubic-bezier(0.71, -0.46, 0.88, 0.6)\",\n motionEaseInQuint: \"cubic-bezier(0.645, 0.045, 0.355, 1)\",\n motionEaseOutQuint: \"cubic-bezier(0.23, 1, 0.32, 1)\",\n // Radius\n borderRadius: 6,\n // Size\n sizeUnit: 4,\n sizeStep: 4,\n sizePopupArrow: 16,\n // Control Base\n controlHeight: 32,\n // zIndex\n zIndexBase: 0,\n zIndexPopupBase: 1000,\n // Image\n opacityImage: 1,\n // Wireframe\n wireframe: false\n});\nexport default seedToken;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useStyleRegister } from '@ant-design/cssinjs';\nimport { useContext } from 'react';\nimport { genCommonStyle, genLinkStyle } from '../../style';\nimport { ConfigContext } from '../../config-provider/context';\nimport { mergeToken, statisticToken, useToken } from '../internal';\nexport default function genComponentStyleHook(component, styleFn, getDefaultToken) {\n return function (prefixCls) {\n var _useToken = useToken(),\n _useToken2 = _slicedToArray(_useToken, 3),\n theme = _useToken2[0],\n token = _useToken2[1],\n hashId = _useToken2[2];\n var _useContext = useContext(ConfigContext),\n getPrefixCls = _useContext.getPrefixCls,\n iconPrefixCls = _useContext.iconPrefixCls;\n var rootPrefixCls = getPrefixCls();\n // Generate style for all a tags in antd component.\n useStyleRegister({\n theme: theme,\n token: token,\n hashId: hashId,\n path: ['Shared', rootPrefixCls]\n }, function () {\n return [{\n // Link\n '&': genLinkStyle(token)\n }];\n });\n return [useStyleRegister({\n theme: theme,\n token: token,\n hashId: hashId,\n path: [component, prefixCls, iconPrefixCls]\n }, function () {\n var _statisticToken = statisticToken(token),\n proxyToken = _statisticToken.token,\n flush = _statisticToken.flush;\n var defaultComponentToken = typeof getDefaultToken === 'function' ? getDefaultToken(proxyToken) : getDefaultToken;\n var mergedComponentToken = _extends(_extends({}, defaultComponentToken), token[component]);\n var componentCls = \".\" + prefixCls;\n var mergedToken = mergeToken(proxyToken, {\n componentCls: componentCls,\n prefixCls: prefixCls,\n iconCls: \".\" + iconPrefixCls,\n antCls: \".\" + rootPrefixCls\n }, mergedComponentToken);\n var styleInterpolation = styleFn(mergedToken, {\n hashId: hashId,\n prefixCls: prefixCls,\n rootPrefixCls: rootPrefixCls,\n iconPrefixCls: iconPrefixCls,\n overrideComponentToken: token[component]\n });\n flush(component, mergedComponentToken);\n return [genCommonStyle(token, prefixCls), styleInterpolation];\n }), hashId];\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nvar enableStatistic = process.env.NODE_ENV !== 'production' || typeof CSSINJS_STATISTIC !== 'undefined';\nvar recording = true;\n/**\n * This function will do as `Object.assign` in production. But will use Object.defineProperty:get to\n * pass all value access in development. To support statistic field usage with alias token.\n */\nexport function merge() {\n for (var _len = arguments.length, objs = new Array(_len), _key = 0; _key < _len; _key++) {\n objs[_key] = arguments[_key];\n }\n /* istanbul ignore next */\n if (!enableStatistic) {\n return _extends.apply(void 0, [{}].concat(objs));\n }\n recording = false;\n var ret = {};\n objs.forEach(function (obj) {\n var keys = Object.keys(obj);\n keys.forEach(function (key) {\n Object.defineProperty(ret, key, {\n configurable: true,\n enumerable: true,\n get: function get() {\n return obj[key];\n }\n });\n });\n });\n recording = true;\n return ret;\n}\n/** @private Internal Usage. Not use in your production. */\nexport var statistic = {};\n/** @private Internal Usage. Not use in your production. */\n// eslint-disable-next-line camelcase\nexport var _statistic_build_ = {};\n/* istanbul ignore next */\nfunction noop() {}\n/** Statistic token usage case. Should use `merge` function if you do not want spread record. */\nexport default function statisticToken(token) {\n var tokenKeys;\n var proxy = token;\n var flush = noop;\n if (enableStatistic) {\n tokenKeys = new Set();\n proxy = new Proxy(token, {\n get: function get(obj, prop) {\n if (recording) {\n tokenKeys.add(prop);\n }\n return obj[prop];\n }\n });\n flush = function flush(componentName, componentToken) {\n statistic[componentName] = {\n global: Array.from(tokenKeys),\n component: componentToken\n };\n };\n }\n return {\n token: proxy,\n keys: tokenKeys,\n flush: flush\n };\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport { initZoomMotion } from '../../style/motion';\nimport { genComponentStyleHook, mergeToken, PresetColors } from '../../theme/internal';\nimport { resetComponent } from '../../style';\nimport getArrowStyle, { MAX_VERTICAL_CONTENT_RADIUS } from '../../style/placementArrow';\nvar generatorTooltipPresetColor = function generatorTooltipPresetColor(token) {\n var componentCls = token.componentCls;\n return PresetColors.reduce(function (previousValue, currentValue) {\n var _previousValue;\n var lightColor = token[currentValue + \"-6\"];\n previousValue[\"&\" + componentCls + \"-\" + currentValue] = (_previousValue = {}, _defineProperty(_previousValue, componentCls + \"-inner\", {\n backgroundColor: lightColor\n }), _defineProperty(_previousValue, componentCls + \"-arrow\", {\n '--antd-arrow-background-color': lightColor\n }), _previousValue);\n return previousValue;\n }, {});\n};\nvar genTooltipStyle = function genTooltipStyle(token) {\n var _extends2;\n var componentCls = token.componentCls,\n tooltipMaxWidth = token.tooltipMaxWidth,\n tooltipColor = token.tooltipColor,\n tooltipBg = token.tooltipBg,\n tooltipBorderRadius = token.tooltipBorderRadius,\n zIndexPopup = token.zIndexPopup,\n controlHeight = token.controlHeight,\n boxShadowSecondary = token.boxShadowSecondary,\n paddingSM = token.paddingSM,\n paddingXS = token.paddingXS,\n tooltipRadiusOuter = token.tooltipRadiusOuter;\n return [_defineProperty({}, componentCls, _extends(_extends(_extends(_extends({}, resetComponent(token)), (_extends2 = {\n position: 'absolute',\n zIndex: zIndexPopup,\n display: 'block',\n '&': [{\n width: 'max-content'\n }, {\n width: 'intrinsic'\n }],\n maxWidth: tooltipMaxWidth,\n visibility: 'visible',\n '&-hidden': {\n display: 'none'\n },\n '--antd-arrow-background-color': tooltipBg\n }, _defineProperty(_extends2, componentCls + \"-inner\", {\n minWidth: controlHeight,\n minHeight: controlHeight,\n padding: paddingSM / 2 + \"px \" + paddingXS + \"px\",\n color: tooltipColor,\n textAlign: 'start',\n textDecoration: 'none',\n wordWrap: 'break-word',\n backgroundColor: tooltipBg,\n borderRadius: tooltipBorderRadius,\n boxShadow: boxShadowSecondary\n }), _defineProperty(_extends2, [\"&-placement-left\", \"&-placement-leftTop\", \"&-placement-leftBottom\", \"&-placement-right\", \"&-placement-rightTop\", \"&-placement-rightBottom\"].join(','), _defineProperty({}, componentCls + \"-inner\", {\n borderRadius: tooltipBorderRadius > MAX_VERTICAL_CONTENT_RADIUS ? MAX_VERTICAL_CONTENT_RADIUS : tooltipBorderRadius\n })), _defineProperty(_extends2, componentCls + \"-content\", {\n position: 'relative'\n }), _extends2)), generatorTooltipPresetColor(token)), {\n // RTL\n '&-rtl': {\n direction: 'rtl'\n }\n })),\n // Arrow Style\n getArrowStyle(mergeToken(token, {\n borderRadiusOuter: tooltipRadiusOuter\n }), {\n colorBg: 'var(--antd-arrow-background-color)',\n showArrowCls: '',\n contentRadius: tooltipBorderRadius,\n limitVerticalRadius: true\n }), // Pure Render\n _defineProperty({}, componentCls + \"-pure\", {\n position: 'relative',\n maxWidth: 'none'\n })];\n};\n// ============================== Export ==============================\nexport default (function (prefixCls, injectStyle) {\n var useOriginHook = genComponentStyleHook('Tooltip', function (token) {\n // Popover use Tooltip as internal component. We do not need to handle this.\n if (injectStyle === false) {\n return [];\n }\n var borderRadius = token.borderRadius,\n colorTextLightSolid = token.colorTextLightSolid,\n colorBgDefault = token.colorBgDefault,\n borderRadiusOuter = token.borderRadiusOuter;\n var TooltipToken = mergeToken(token, {\n // default variables\n tooltipMaxWidth: 250,\n tooltipColor: colorTextLightSolid,\n tooltipBorderRadius: borderRadius,\n tooltipBg: colorBgDefault,\n tooltipRadiusOuter: borderRadiusOuter > 4 ? 4 : borderRadiusOuter\n });\n return [genTooltipStyle(TooltipToken), initZoomMotion(token, 'zoom-big-fast')];\n }, function (_ref3) {\n var zIndexPopupBase = _ref3.zIndexPopupBase,\n colorBgSpotlight = _ref3.colorBgSpotlight;\n return {\n zIndexPopup: zIndexPopupBase + 70,\n colorBgDefault: colorBgSpotlight\n };\n });\n return useOriginHook(prefixCls);\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint-disable import/prefer-default-export */\nimport classNames from 'classnames';\nimport { PresetColorTypes } from '../_util/colors';\nvar PresetColorRegex = new RegExp(\"^(\" + PresetColorTypes.join('|') + \")(-inverse)?$\");\nexport function parseColor(prefixCls, color) {\n var className = classNames(_defineProperty({}, prefixCls + \"-\" + color, color && PresetColorRegex.test(color)));\n var overlayStyle = {};\n var arrowStyle = {};\n if (color && !PresetColorRegex.test(color)) {\n overlayStyle.background = color;\n // @ts-ignore\n arrowStyle['--antd-arrow-background-color'] = color;\n }\n return {\n className: className,\n overlayStyle: overlayStyle,\n arrowStyle: arrowStyle\n };\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport RcTooltip from 'rc-tooltip';\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport { getTransitionName } from '../_util/motion';\nimport getPlacements from '../_util/placements';\nimport { cloneElement, isValidElement, isFragment } from '../_util/reactNode';\nimport warning from '../_util/warning';\nimport PurePanel from './PurePanel';\nimport useStyle from './style';\nimport { parseColor } from './util';\nvar splitObject = function splitObject(obj, keys) {\n var picked = {};\n var omitted = _extends({}, obj);\n keys.forEach(function (key) {\n if (obj && key in obj) {\n picked[key] = obj[key];\n delete omitted[key];\n }\n });\n return {\n picked: picked,\n omitted: omitted\n };\n};\n// Fix Tooltip won't hide at disabled button\n// mouse events don't trigger at disabled button in Chrome\n// https://github.com/react-component/tooltip/issues/18\nfunction getDisabledCompatibleChildren(element, prefixCls) {\n var elementType = element.type;\n if ((elementType.__ANT_BUTTON === true || element.type === 'button') && element.props.disabled || elementType.__ANT_SWITCH === true && (element.props.disabled || element.props.loading) || elementType.__ANT_RADIO === true && element.props.disabled) {\n // Pick some layout related style properties up to span\n // Prevent layout bugs like https://github.com/ant-design/ant-design/issues/5254\n var _splitObject = splitObject(element.props.style, ['position', 'left', 'right', 'top', 'bottom', 'float', 'display', 'zIndex']),\n picked = _splitObject.picked,\n omitted = _splitObject.omitted;\n var spanStyle = _extends(_extends({\n display: 'inline-block'\n }, picked), {\n cursor: 'not-allowed',\n width: element.props.block ? '100%' : undefined\n });\n var buttonStyle = _extends(_extends({}, omitted), {\n pointerEvents: 'none'\n });\n var child = cloneElement(element, {\n style: buttonStyle,\n className: null\n });\n return /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle,\n className: classNames(element.props.className, prefixCls + \"-disabled-compatible-wrapper\")\n }, child);\n }\n return element;\n}\nvar Tooltip = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _a, _b;\n var customizePrefixCls = props.prefixCls,\n openClassName = props.openClassName,\n getTooltipContainer = props.getTooltipContainer,\n overlayClassName = props.overlayClassName,\n color = props.color,\n overlayInnerStyle = props.overlayInnerStyle,\n children = props.children,\n afterOpenChange = props.afterOpenChange,\n afterVisibleChange = props.afterVisibleChange;\n var _React$useContext = React.useContext(ConfigContext),\n getContextPopupContainer = _React$useContext.getPopupContainer,\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n if (process.env.NODE_ENV !== 'production') {\n [['visible', 'open'], ['defaultVisible', 'defaultOpen'], ['onVisibleChange', 'onOpenChange'], ['afterVisibleChange', 'afterOpenChange']].forEach(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n deprecatedName = _ref2[0],\n newName = _ref2[1];\n process.env.NODE_ENV !== \"production\" ? warning(!(deprecatedName in props), 'Tooltip', \"`\" + deprecatedName + \"` is deprecated, please use `\" + newName + \"` instead.\") : void 0;\n });\n }\n var _useMergedState = useMergedState(false, {\n value: (_a = props.open) !== null && _a !== void 0 ? _a : props.visible,\n defaultValue: (_b = props.defaultOpen) !== null && _b !== void 0 ? _b : props.defaultVisible\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n open = _useMergedState2[0],\n setOpen = _useMergedState2[1];\n var isNoTitle = function isNoTitle() {\n var title = props.title,\n overlay = props.overlay;\n return !title && !overlay && title !== 0; // overlay for old version compatibility\n };\n\n var onOpenChange = function onOpenChange(vis) {\n var _a, _b;\n setOpen(isNoTitle() ? false : vis);\n if (!isNoTitle()) {\n (_a = props.onOpenChange) === null || _a === void 0 ? void 0 : _a.call(props, vis);\n (_b = props.onVisibleChange) === null || _b === void 0 ? void 0 : _b.call(props, vis);\n }\n };\n var getTooltipPlacements = function getTooltipPlacements() {\n var builtinPlacements = props.builtinPlacements,\n _props$arrowPointAtCe = props.arrowPointAtCenter,\n arrowPointAtCenter = _props$arrowPointAtCe === void 0 ? false : _props$arrowPointAtCe,\n _props$autoAdjustOver = props.autoAdjustOverflow,\n autoAdjustOverflow = _props$autoAdjustOver === void 0 ? true : _props$autoAdjustOver;\n return builtinPlacements || getPlacements({\n arrowPointAtCenter: arrowPointAtCenter,\n autoAdjustOverflow: autoAdjustOverflow\n });\n };\n // 动态设置动画点\n var onPopupAlign = function onPopupAlign(domNode, align) {\n var placements = getTooltipPlacements();\n // 当前返回的位置\n var placement = Object.keys(placements).find(function (key) {\n var _a, _b;\n return placements[key].points[0] === ((_a = align.points) === null || _a === void 0 ? void 0 : _a[0]) && placements[key].points[1] === ((_b = align.points) === null || _b === void 0 ? void 0 : _b[1]);\n });\n if (!placement) {\n return;\n }\n // 根据当前坐标设置动画点\n var rect = domNode.getBoundingClientRect();\n var transformOrigin = {\n top: '50%',\n left: '50%'\n };\n if (/top|Bottom/.test(placement)) {\n transformOrigin.top = rect.height - align.offset[1] + \"px\";\n } else if (/Top|bottom/.test(placement)) {\n transformOrigin.top = -align.offset[1] + \"px\";\n }\n if (/left|Right/.test(placement)) {\n transformOrigin.left = rect.width - align.offset[0] + \"px\";\n } else if (/right|Left/.test(placement)) {\n transformOrigin.left = -align.offset[0] + \"px\";\n }\n domNode.style.transformOrigin = transformOrigin.left + \" \" + transformOrigin.top;\n };\n var getOverlay = function getOverlay() {\n var title = props.title,\n overlay = props.overlay;\n if (title === 0) {\n return title;\n }\n return overlay || title || '';\n };\n var getPopupContainer = props.getPopupContainer,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'top' : _props$placement,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0.1 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n otherProps = __rest(props, [\"getPopupContainer\", \"placement\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\"]);\n var prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n var rootPrefixCls = getPrefixCls();\n var injectFromPopover = props['data-popover-inject'];\n var tempOpen = open;\n // Hide tooltip when there is no title\n if (!('open' in props) && !('visible' in props) && isNoTitle()) {\n tempOpen = false;\n }\n var child = getDisabledCompatibleChildren(isValidElement(children) && !isFragment(children) ? children : /*#__PURE__*/React.createElement(\"span\", null, children), prefixCls);\n var childProps = child.props;\n var childCls = !childProps.className || typeof childProps.className === 'string' ? classNames(childProps.className, _defineProperty({}, openClassName || prefixCls + \"-open\", true)) : childProps.className;\n // Style\n var _useStyle = useStyle(prefixCls, !injectFromPopover),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n // Color\n var colorInfo = parseColor(prefixCls, color);\n var formattedOverlayInnerStyle = _extends(_extends({}, overlayInnerStyle), colorInfo.overlayStyle);\n var arrowContentStyle = colorInfo.arrowStyle;\n var customOverlayClassName = classNames(overlayClassName, _defineProperty({}, prefixCls + \"-rtl\", direction === 'rtl'), colorInfo.className, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(RcTooltip, _extends({}, otherProps, {\n placement: placement,\n mouseEnterDelay: mouseEnterDelay,\n mouseLeaveDelay: mouseLeaveDelay,\n prefixCls: prefixCls,\n overlayClassName: customOverlayClassName,\n overlayStyle: _extends(_extends({}, arrowContentStyle), overlayStyle),\n getTooltipContainer: getPopupContainer || getTooltipContainer || getContextPopupContainer,\n ref: ref,\n builtinPlacements: getTooltipPlacements(),\n overlay: getOverlay(),\n visible: tempOpen,\n onVisibleChange: onOpenChange,\n afterVisibleChange: afterOpenChange !== null && afterOpenChange !== void 0 ? afterOpenChange : afterVisibleChange,\n onPopupAlign: onPopupAlign,\n overlayInnerStyle: formattedOverlayInnerStyle,\n arrowContent: /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-arrow-content\"\n }),\n motion: {\n motionName: getTransitionName(rootPrefixCls, 'zoom-big-fast', props.transitionName),\n motionDeadline: 1000\n }\n }), tempOpen ? cloneElement(child, {\n className: childCls\n }) : child));\n});\nif (process.env.NODE_ENV !== 'production') {\n Tooltip.displayName = 'Tooltip';\n}\nTooltip._InternalPanelDoNotUseOrYouWillBeFired = PurePanel;\nexport default Tooltip;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { Popup } from 'rc-tooltip';\nimport classNames from 'classnames';\nimport { ConfigContext } from '../config-provider';\nimport useStyle from './style';\nimport { parseColor } from './util';\n// ant-tooltip css-dev-only-do-not-override-w2s56n ant-tooltip-placement-top ant-tooltip-hidden\nexport default function PurePanel(props) {\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'top' : _props$placement,\n title = props.title,\n color = props.color,\n overlayInnerStyle = props.overlayInnerStyle;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls;\n var prefixCls = getPrefixCls('tooltip', customizePrefixCls);\n var _useStyle = useStyle(prefixCls, true),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n // Color\n var colorInfo = parseColor(prefixCls, color);\n var formattedOverlayInnerStyle = _extends(_extends({}, overlayInnerStyle), colorInfo.overlayStyle);\n var arrowContentStyle = colorInfo.arrowStyle;\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(hashId, prefixCls, prefixCls + \"-pure\", prefixCls + \"-placement-\" + placement, className, colorInfo.className),\n style: arrowContentStyle\n }, /*#__PURE__*/React.createElement(Popup, _extends({}, props, {\n className: hashId,\n prefixCls: prefixCls,\n overlayInnerStyle: formattedOverlayInnerStyle\n }), title)));\n}","// This icon file is generated automatically.\nvar CopyOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M832 64H296c-4.4 0-8 3.6-8 8v56c0 4.4 3.6 8 8 8h496v688c0 4.4 3.6 8 8 8h56c4.4 0 8-3.6 8-8V96c0-17.7-14.3-32-32-32zM704 192H192c-17.7 0-32 14.3-32 32v530.7c0 8.5 3.4 16.6 9.4 22.6l173.3 173.3c2.2 2.2 4.7 4 7.4 5.5v1.9h4.2c3.5 1.3 7.2 2 11 2H704c17.7 0 32-14.3 32-32V224c0-17.7-14.3-32-32-32zM350 856.2L263.9 770H350v86.2zM664 888H414V746c0-22.1-17.9-40-40-40H232V264h432v624z\" } }] }, \"name\": \"copy\", \"theme\": \"outlined\" };\nexport default CopyOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport CopyOutlinedSvg from \"@ant-design/icons-svg/es/asn/CopyOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar CopyOutlined = function CopyOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: CopyOutlinedSvg\n }));\n};\nCopyOutlined.displayName = 'CopyOutlined';\nexport default /*#__PURE__*/React.forwardRef(CopyOutlined);","// This icon file is generated automatically.\nvar EditOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M257.7 752c2 0 4-.2 6-.5L431.9 722c2-.4 3.9-1.3 5.3-2.8l423.9-423.9a9.96 9.96 0 000-14.1L694.9 114.9c-1.9-1.9-4.4-2.9-7.1-2.9s-5.2 1-7.1 2.9L256.8 538.8c-1.5 1.5-2.4 3.3-2.8 5.3l-29.5 168.2a33.5 33.5 0 009.4 29.8c6.6 6.4 14.9 9.9 23.8 9.9zm67.4-174.4L687.8 215l73.3 73.3-362.7 362.6-88.9 15.7 15.6-89zM880 836H144c-17.7 0-32 14.3-32 32v36c0 4.4 3.6 8 8 8h784c4.4 0 8-3.6 8-8v-36c0-17.7-14.3-32-32-32z\" } }] }, \"name\": \"edit\", \"theme\": \"outlined\" };\nexport default EditOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EditOutlinedSvg from \"@ant-design/icons-svg/es/asn/EditOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EditOutlined = function EditOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EditOutlinedSvg\n }));\n};\nEditOutlined.displayName = 'EditOutlined';\nexport default /*#__PURE__*/React.forwardRef(EditOutlined);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\n/**\n * Wrap of sub component which need use as Button capacity (like Icon component).\n *\n * This helps accessibility reader to tread as a interactive button to operation.\n */\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nvar inlineStyle = {\n border: 0,\n background: 'transparent',\n padding: 0,\n lineHeight: 'inherit',\n display: 'inline-block'\n};\nvar TransButton = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var onKeyDown = function onKeyDown(event) {\n var keyCode = event.keyCode;\n if (keyCode === KeyCode.ENTER) {\n event.preventDefault();\n }\n };\n var onKeyUp = function onKeyUp(event) {\n var keyCode = event.keyCode;\n var onClick = props.onClick;\n if (keyCode === KeyCode.ENTER && onClick) {\n onClick();\n }\n };\n var style = props.style,\n noStyle = props.noStyle,\n disabled = props.disabled,\n restProps = __rest(props, [\"style\", \"noStyle\", \"disabled\"]);\n var mergedStyle = {};\n if (!noStyle) {\n mergedStyle = _extends({}, inlineStyle);\n }\n if (disabled) {\n mergedStyle.pointerEvents = 'none';\n }\n mergedStyle = _extends(_extends({}, mergedStyle), style);\n return /*#__PURE__*/React.createElement(\"div\", _extends({\n role: \"button\",\n tabIndex: 0,\n ref: ref\n }, restProps, {\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n style: mergedStyle\n }));\n});\nexport default TransButton;","// This icon file is generated automatically.\nvar EnterOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M864 170h-60c-4.4 0-8 3.6-8 8v518H310v-73c0-6.7-7.8-10.5-13-6.3l-141.9 112a8 8 0 000 12.6l141.9 112c5.3 4.2 13 .4 13-6.3v-75h498c35.3 0 64-28.7 64-64V178c0-4.4-3.6-8-8-8z\" } }] }, \"name\": \"enter\", \"theme\": \"outlined\" };\nexport default EnterOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport EnterOutlinedSvg from \"@ant-design/icons-svg/es/asn/EnterOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar EnterOutlined = function EnterOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: EnterOutlinedSvg\n }));\n};\nEnterOutlined.displayName = 'EnterOutlined';\nexport default /*#__PURE__*/React.forwardRef(EnterOutlined);","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { genComponentStyleHook } from '../../theme/internal';\nimport { getCopiableStyles, getEditableStyles, getEllipsisStyles, getLinkStyles, getResetStyles, getTitleStyles } from './mixins';\nimport { operationUnit } from '../../style';\nvar genTypographyStyle = function genTypographyStyle(token) {\n var _extends3;\n var componentCls = token.componentCls,\n sizeMarginHeadingVerticalStart = token.sizeMarginHeadingVerticalStart;\n return _defineProperty({}, componentCls, _extends(_extends(_extends(_extends(_extends(_extends(_extends(_extends(_extends(_defineProperty({\n color: token.colorText,\n wordBreak: 'break-word',\n lineHeight: token.lineHeight,\n '&&-secondary': {\n color: token.colorTextDescription\n },\n '&&-success': {\n color: token.colorSuccess\n },\n '&&-warning': {\n color: token.colorWarning\n },\n '&&-danger': {\n color: token.colorError,\n 'a&:active, a&:focus': {\n color: token.colorErrorActive\n },\n 'a&:hover': {\n color: token.colorErrorHover\n }\n },\n '&&-disabled': {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n userSelect: 'none'\n }\n }, \"\\n div&,\\n p\\n \", {\n marginBottom: '1em'\n }), getTitleStyles(token)), (_extends3 = {}, _defineProperty(_extends3, \"\\n & + h1&,\\n & + h2&,\\n & + h3&,\\n & + h4&,\\n & + h5&\\n \", {\n marginTop: sizeMarginHeadingVerticalStart\n }), _defineProperty(_extends3, \"\\n div,\\n ul,\\n li,\\n p,\\n h1,\\n h2,\\n h3,\\n h4,\\n h5\", _defineProperty({}, \"\\n + h1,\\n + h2,\\n + h3,\\n + h4,\\n + h5\\n \", {\n marginTop: sizeMarginHeadingVerticalStart\n })), _extends3)), getResetStyles()), getLinkStyles(token)), _defineProperty({}, \"\\n \" + componentCls + \"-expand,\\n \" + componentCls + \"-edit,\\n \" + componentCls + \"-copy\\n \", _extends(_extends({}, operationUnit(token)), {\n marginInlineStart: token.marginXXS\n }))), getEditableStyles(token)), getCopiableStyles(token)), getEllipsisStyles()), {\n '&-rtl': {\n direction: 'rtl'\n }\n }));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('Typography', function (token) {\n return [genTypographyStyle(token)];\n}, {\n sizeMarginHeadingVerticalStart: '1.2em',\n sizeMarginHeadingVerticalEnd: '0.5em'\n});","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\n/*\n.typography-title(@fontSize; @fontWeight; @lineHeight; @headingColor; @headingMarginBottom;) {\n margin-bottom: @headingMarginBottom;\n color: @headingColor;\n font-weight: @fontWeight;\n fontSize: @fontSize;\n line-height: @lineHeight;\n}\n*/\nimport { gold } from '@ant-design/colors';\nimport { initInputToken } from '../../input/style';\nimport { operationUnit } from '../../style';\n// eslint-disable-next-line import/prefer-default-export\nvar getTitleStyle = function getTitleStyle(fontSize, lineHeight, color, token) {\n var sizeMarginHeadingVerticalEnd = token.sizeMarginHeadingVerticalEnd,\n fontWeightStrong = token.fontWeightStrong;\n return {\n marginBottom: sizeMarginHeadingVerticalEnd,\n color: color,\n fontWeight: fontWeightStrong,\n fontSize: fontSize,\n lineHeight: lineHeight\n };\n};\n// eslint-disable-next-line import/prefer-default-export\nexport var getTitleStyles = function getTitleStyles(token) {\n var headings = [1, 2, 3, 4, 5];\n var styles = {};\n headings.forEach(function (headingLevel) {\n styles[\"\\n h\" + headingLevel + \"&,\\n div&-h\" + headingLevel + \",\\n div&-h\" + headingLevel + \" > textarea,\\n h\" + headingLevel + \"\\n \"] = getTitleStyle(token[\"fontSizeHeading\" + headingLevel], token[\"lineHeightHeading\" + headingLevel], token.colorTextHeading, token);\n });\n return styles;\n};\nexport var getLinkStyles = function getLinkStyles(token) {\n var componentCls = token.componentCls;\n return {\n 'a&, a': _extends(_extends({}, operationUnit(token)), _defineProperty({\n textDecoration: token.linkDecoration,\n '&:active, &:hover': {\n textDecoration: token.linkHoverDecoration\n }\n }, \"&[disabled], &\" + componentCls + \"-disabled\", {\n color: token.colorTextDisabled,\n cursor: 'not-allowed',\n '&:active, &:hover': {\n color: token.colorTextDisabled\n },\n '&:active': {\n pointerEvents: 'none'\n }\n }))\n };\n};\nexport var getResetStyles = function getResetStyles() {\n return {\n code: {\n margin: '0 0.2em',\n paddingInline: '0.4em',\n paddingBlock: '0.2em 0.1em',\n fontSize: '85%',\n background: 'rgba(150, 150, 150, 0.1)',\n border: '1px solid rgba(100, 100, 100, 0.2)',\n borderRadius: 3\n },\n kbd: {\n margin: '0 0.2em',\n paddingInline: '0.4em',\n paddingBlock: '0.15em 0.1em',\n fontSize: '90%',\n background: 'rgba(150, 150, 150, 0.06)',\n border: '1px solid rgba(100, 100, 100, 0.2)',\n borderBottomWidth: 2,\n borderRadius: 3\n },\n mark: {\n padding: 0,\n // FIXME hardcode in v4\n backgroundColor: gold[2]\n },\n 'u, ins': {\n textDecoration: 'underline',\n textDecorationSkipInk: 'auto'\n },\n 's, del': {\n textDecoration: 'line-through'\n },\n strong: {\n fontWeight: 600\n },\n // list\n 'ul, ol': {\n marginInline: 0,\n marginBlock: '0 1em',\n padding: 0,\n li: {\n marginInline: '20px 0',\n marginBlock: 0,\n paddingInline: '4px 0',\n paddingBlock: 0\n }\n },\n ul: {\n listStyleType: 'circle',\n ul: {\n listStyleType: 'disc'\n }\n },\n ol: {\n listStyleType: 'decimal'\n },\n // pre & block\n 'pre, blockquote': {\n margin: '1em 0'\n },\n pre: {\n padding: '0.4em 0.6em',\n whiteSpace: 'pre-wrap',\n wordWrap: 'break-word',\n background: 'rgba(150, 150, 150, 0.1)',\n border: '1px solid rgba(100, 100, 100, 0.2)',\n borderRadius: 3,\n // Compatible for marked\n code: {\n display: 'inline',\n margin: 0,\n padding: 0,\n fontSize: 'inherit',\n fontFamily: 'inherit',\n background: 'transparent',\n border: 0\n }\n },\n blockquote: {\n paddingInline: '0.6em 0',\n paddingBlock: 0,\n borderInlineStart: '4px solid rgba(100, 100, 100, 0.2)',\n opacity: 0.85\n }\n };\n};\nexport var getEditableStyles = function getEditableStyles(token) {\n var _editContent;\n var componentCls = token.componentCls;\n var inputToken = initInputToken(token);\n var inputShift = inputToken.inputPaddingVertical + 1;\n return {\n '&-edit-content': (_editContent = {\n position: 'relative',\n 'div&': {\n insetInlineStart: -token.paddingSM,\n marginTop: -inputShift,\n marginBottom: \"calc(1em - \" + inputShift + \"px)\"\n }\n }, _defineProperty(_editContent, componentCls + \"-edit-content-confirm\", {\n position: 'absolute',\n insetInlineEnd: token.marginXS + 2,\n insetBlockEnd: token.marginXS,\n color: token.colorTextDescription,\n // default style\n fontWeight: 'normal',\n fontSize: token.fontSize,\n fontStyle: 'normal',\n pointerEvents: 'none'\n }), _defineProperty(_editContent, \"textarea\", {\n margin: '0!important',\n // Fix Editable Textarea flash in Firefox\n MozTransition: 'none',\n height: '1em'\n }), _editContent)\n };\n};\nexport var getCopiableStyles = function getCopiableStyles(token) {\n return {\n '&-copy-success': _defineProperty({}, \"\\n &,\\n &:hover,\\n &:focus\", {\n color: token.colorSuccess\n })\n };\n};\nexport var getEllipsisStyles = function getEllipsisStyles() {\n var _ref;\n return _ref = {}, _defineProperty(_ref, \"\\n a&-ellipsis,\\n span&-ellipsis\\n \", {\n display: 'inline-block',\n maxWidth: '100%'\n }), _defineProperty(_ref, '&-single-line', {\n whiteSpace: 'nowrap'\n }), _defineProperty(_ref, '&-ellipsis-single-line', {\n overflow: 'hidden',\n textOverflow: 'ellipsis',\n // https://blog.csdn.net/iefreer/article/details/50421025\n 'a&, span&': {\n verticalAlign: 'bottom'\n }\n }), _defineProperty(_ref, '&-ellipsis-multiple-line', {\n display: '-webkit-box',\n overflow: 'hidden',\n WebkitLineClamp: 3,\n WebkitBoxOrient: 'vertical'\n }), _ref;\n};","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport EnterOutlined from \"@ant-design/icons/es/icons/EnterOutlined\";\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport * as React from 'react';\nimport TextArea from '../input/TextArea';\nimport { cloneElement } from '../_util/reactNode';\nimport useStyle from './style';\nvar Editable = function Editable(_ref) {\n var prefixCls = _ref.prefixCls,\n ariaLabel = _ref['aria-label'],\n className = _ref.className,\n style = _ref.style,\n direction = _ref.direction,\n maxLength = _ref.maxLength,\n _ref$autoSize = _ref.autoSize,\n autoSize = _ref$autoSize === void 0 ? true : _ref$autoSize,\n value = _ref.value,\n onSave = _ref.onSave,\n onCancel = _ref.onCancel,\n onEnd = _ref.onEnd,\n component = _ref.component,\n _ref$enterIcon = _ref.enterIcon,\n enterIcon = _ref$enterIcon === void 0 ? /*#__PURE__*/React.createElement(EnterOutlined, null) : _ref$enterIcon;\n var ref = React.useRef(null);\n var inComposition = React.useRef(false);\n var lastKeyCode = React.useRef();\n var _React$useState = React.useState(value),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n current = _React$useState2[0],\n setCurrent = _React$useState2[1];\n React.useEffect(function () {\n setCurrent(value);\n }, [value]);\n React.useEffect(function () {\n if (ref.current && ref.current.resizableTextArea) {\n var textArea = ref.current.resizableTextArea.textArea;\n textArea.focus();\n var length = textArea.value.length;\n textArea.setSelectionRange(length, length);\n }\n }, []);\n var onChange = function onChange(_ref2) {\n var target = _ref2.target;\n setCurrent(target.value.replace(/[\\n\\r]/g, ''));\n };\n var onCompositionStart = function onCompositionStart() {\n inComposition.current = true;\n };\n var onCompositionEnd = function onCompositionEnd() {\n inComposition.current = false;\n };\n var onKeyDown = function onKeyDown(_ref3) {\n var keyCode = _ref3.keyCode;\n // We don't record keyCode when IME is using\n if (inComposition.current) return;\n lastKeyCode.current = keyCode;\n };\n var confirmChange = function confirmChange() {\n onSave(current.trim());\n };\n var onKeyUp = function onKeyUp(_ref4) {\n var keyCode = _ref4.keyCode,\n ctrlKey = _ref4.ctrlKey,\n altKey = _ref4.altKey,\n metaKey = _ref4.metaKey,\n shiftKey = _ref4.shiftKey;\n // Check if it's a real key\n if (lastKeyCode.current === keyCode && !inComposition.current && !ctrlKey && !altKey && !metaKey && !shiftKey) {\n if (keyCode === KeyCode.ENTER) {\n confirmChange();\n onEnd === null || onEnd === void 0 ? void 0 : onEnd();\n } else if (keyCode === KeyCode.ESC) {\n onCancel();\n }\n }\n };\n var onBlur = function onBlur() {\n confirmChange();\n };\n var textClassName = component ? prefixCls + \"-\" + component : '';\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var textAreaClassName = classNames(prefixCls, prefixCls + \"-edit-content\", _defineProperty({}, prefixCls + \"-rtl\", direction === 'rtl'), className, textClassName, hashId);\n return wrapSSR( /*#__PURE__*/React.createElement(\"div\", {\n className: textAreaClassName,\n style: style\n }, /*#__PURE__*/React.createElement(TextArea, {\n ref: ref,\n maxLength: maxLength,\n value: current,\n onChange: onChange,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd,\n onBlur: onBlur,\n \"aria-label\": ariaLabel,\n rows: 1,\n autoSize: autoSize\n }), enterIcon !== null ? cloneElement(enterIcon, {\n className: prefixCls + \"-edit-content-confirm\"\n }) : null));\n};\nexport default Editable;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nexport default function useMergedConfig(propConfig, templateConfig) {\n return React.useMemo(function () {\n var support = !!propConfig;\n return [support, _extends(_extends({}, templateConfig), support && _typeof(propConfig) === 'object' ? propConfig : null)];\n }, [propConfig]);\n}","import * as React from 'react';\n/** Similar with `useEffect` but only trigger after mounted */\nvar useUpdatedEffect = function useUpdatedEffect(callback, conditions) {\n var mountRef = React.useRef(false);\n React.useEffect(function () {\n if (mountRef.current) {\n callback();\n } else {\n mountRef.current = true;\n }\n }, conditions);\n};\nexport default useUpdatedEffect;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport classNames from 'classnames';\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { ConfigContext } from '../config-provider';\nimport warning from '../_util/warning';\nimport useStyle from './style';\nvar Typography = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var customizePrefixCls = _a.prefixCls,\n _a$component = _a.component,\n Component = _a$component === void 0 ? 'article' : _a$component,\n className = _a.className,\n setContentRef = _a.setContentRef,\n children = _a.children,\n typographyDirection = _a.direction,\n restProps = __rest(_a, [\"prefixCls\", \"component\", \"className\", \"setContentRef\", \"children\", \"direction\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n contextDirection = _React$useContext.direction;\n var direction = typographyDirection !== null && typographyDirection !== void 0 ? typographyDirection : contextDirection;\n var mergedRef = ref;\n if (setContentRef) {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Typography', '`setContentRef` is deprecated. Please use `ref` instead.') : void 0;\n mergedRef = composeRef(ref, setContentRef);\n }\n var prefixCls = getPrefixCls('typography', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var componentClassName = classNames(prefixCls, _defineProperty({}, prefixCls + \"-rtl\", direction === 'rtl'), className, hashId);\n return wrapSSR(\n /*#__PURE__*/\n // @ts-expect-error: Expression produces a union type that is too complex to represent.\n React.createElement(Component, _extends({\n className: componentClassName,\n ref: mergedRef\n }, restProps), children));\n});\nif (process.env.NODE_ENV !== 'production') {\n Typography.displayName = 'Typography';\n}\n// es default export should use const instead of let\nexport default Typography;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport * as React from 'react';\nfunction cuttable(node) {\n var type = _typeof(node);\n return type === 'string' || type === 'number';\n}\nfunction getNodesLen(nodeList) {\n var totalLen = 0;\n nodeList.forEach(function (node) {\n if (cuttable(node)) {\n totalLen += String(node).length;\n } else {\n totalLen += 1;\n }\n });\n return totalLen;\n}\nfunction sliceNodes(nodeList, len) {\n var currLen = 0;\n var currentNodeList = [];\n for (var i = 0; i < nodeList.length; i += 1) {\n // Match to return\n if (currLen === len) {\n return currentNodeList;\n }\n var node = nodeList[i];\n var canCut = cuttable(node);\n var nodeLen = canCut ? String(node).length : 1;\n var nextLen = currLen + nodeLen;\n // Exceed but current not which means we need cut this\n // This will not happen on validate ReactElement\n if (nextLen > len) {\n var restLen = len - currLen;\n currentNodeList.push(String(node).slice(0, restLen));\n return currentNodeList;\n }\n currentNodeList.push(node);\n currLen = nextLen;\n }\n return nodeList;\n}\nvar NONE = 0;\nvar PREPARE = 1;\nvar WALKING = 2;\nvar DONE_WITH_ELLIPSIS = 3;\nvar DONE_WITHOUT_ELLIPSIS = 4;\nvar Ellipsis = function Ellipsis(_ref) {\n var enabledMeasure = _ref.enabledMeasure,\n children = _ref.children,\n text = _ref.text,\n width = _ref.width,\n fontSize = _ref.fontSize,\n rows = _ref.rows,\n onEllipsis = _ref.onEllipsis;\n var _React$useState = React.useState([0, 0, 0]),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n _React$useState2$ = _slicedToArray(_React$useState2[0], 3),\n startLen = _React$useState2$[0],\n midLen = _React$useState2$[1],\n endLen = _React$useState2$[2],\n setCutLength = _React$useState2[1];\n var _React$useState3 = React.useState(NONE),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n walkingState = _React$useState4[0],\n setWalkingState = _React$useState4[1];\n var _React$useState5 = React.useState(0),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n singleRowHeight = _React$useState6[0],\n setSingleRowHeight = _React$useState6[1];\n var singleRowRef = React.useRef(null);\n var midRowRef = React.useRef(null);\n var nodeList = React.useMemo(function () {\n return toArray(text);\n }, [text]);\n var totalLen = React.useMemo(function () {\n return getNodesLen(nodeList);\n }, [nodeList]);\n var mergedChildren = React.useMemo(function () {\n if (!enabledMeasure || walkingState !== DONE_WITH_ELLIPSIS) {\n return children(nodeList, false);\n }\n return children(sliceNodes(nodeList, midLen), midLen < totalLen);\n }, [enabledMeasure, walkingState, children, nodeList, midLen, totalLen]);\n // ======================== Walk ========================\n useIsomorphicLayoutEffect(function () {\n if (enabledMeasure && width && fontSize && totalLen) {\n setWalkingState(PREPARE);\n setCutLength([0, Math.ceil(totalLen / 2), totalLen]);\n }\n }, [enabledMeasure, width, fontSize, text, totalLen, rows]);\n useIsomorphicLayoutEffect(function () {\n var _a;\n if (walkingState === PREPARE) {\n setSingleRowHeight(((_a = singleRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0);\n }\n }, [walkingState]);\n useIsomorphicLayoutEffect(function () {\n var _a, _b;\n if (singleRowHeight) {\n if (walkingState === PREPARE) {\n // Ignore if position is enough\n var midHeight = ((_a = midRowRef.current) === null || _a === void 0 ? void 0 : _a.offsetHeight) || 0;\n var maxHeight = rows * singleRowHeight;\n if (midHeight <= maxHeight) {\n setWalkingState(DONE_WITHOUT_ELLIPSIS);\n onEllipsis(false);\n } else {\n setWalkingState(WALKING);\n }\n } else if (walkingState === WALKING) {\n if (startLen !== endLen) {\n var _midHeight = ((_b = midRowRef.current) === null || _b === void 0 ? void 0 : _b.offsetHeight) || 0;\n var _maxHeight = rows * singleRowHeight;\n var nextStartLen = startLen;\n var nextEndLen = endLen;\n // We reach the last round\n if (startLen === endLen - 1) {\n nextEndLen = startLen;\n } else if (_midHeight <= _maxHeight) {\n nextStartLen = midLen;\n } else {\n nextEndLen = midLen;\n }\n var nextMidLen = Math.ceil((nextStartLen + nextEndLen) / 2);\n setCutLength([nextStartLen, nextMidLen, nextEndLen]);\n } else {\n setWalkingState(DONE_WITH_ELLIPSIS);\n onEllipsis(true);\n }\n }\n }\n }, [walkingState, startLen, endLen, rows, singleRowHeight]);\n // ======================= Render =======================\n var measureStyle = {\n width: width,\n whiteSpace: 'normal',\n margin: 0,\n padding: 0\n };\n var renderMeasure = function renderMeasure(content, ref, style) {\n return /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true,\n ref: ref,\n style: _extends({\n position: 'fixed',\n display: 'block',\n left: 0,\n top: 0,\n zIndex: -9999,\n visibility: 'hidden',\n pointerEvents: 'none',\n fontSize: Math.floor(fontSize / 2) * 2\n }, style)\n }, content);\n };\n var renderMeasureSlice = function renderMeasureSlice(len, ref) {\n var sliceNodeList = sliceNodes(nodeList, len);\n return renderMeasure(children(sliceNodeList, true), ref, measureStyle);\n };\n return /*#__PURE__*/React.createElement(React.Fragment, null, mergedChildren, enabledMeasure && walkingState !== DONE_WITH_ELLIPSIS && walkingState !== DONE_WITHOUT_ELLIPSIS && /*#__PURE__*/React.createElement(React.Fragment, null, renderMeasure('lg', singleRowRef, {\n wordBreak: 'keep-all',\n whiteSpace: 'nowrap'\n }), walkingState === PREPARE ? renderMeasure(children(nodeList, false), midRowRef, measureStyle) : renderMeasureSlice(midLen, midRowRef)));\n};\nif (process.env.NODE_ENV !== 'production') {\n Ellipsis.displayName = 'Ellipsis';\n}\nexport default Ellipsis;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Tooltip from '../../tooltip';\nvar EllipsisTooltip = function EllipsisTooltip(_ref) {\n var enabledEllipsis = _ref.enabledEllipsis,\n isEllipsis = _ref.isEllipsis,\n children = _ref.children,\n tooltipProps = _ref.tooltipProps;\n if (!(tooltipProps === null || tooltipProps === void 0 ? void 0 : tooltipProps.title) || !enabledEllipsis) {\n return children;\n }\n return /*#__PURE__*/React.createElement(Tooltip, _extends({\n open: isEllipsis ? undefined : false\n }, tooltipProps), children);\n};\nif (process.env.NODE_ENV !== 'production') {\n EllipsisTooltip.displayName = 'EllipsisTooltip';\n}\nexport default EllipsisTooltip;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport CheckOutlined from \"@ant-design/icons/es/icons/CheckOutlined\";\nimport CopyOutlined from \"@ant-design/icons/es/icons/CopyOutlined\";\nimport EditOutlined from \"@ant-design/icons/es/icons/EditOutlined\";\nimport classNames from 'classnames';\nimport copy from 'copy-to-clipboard';\nimport ResizeObserver from 'rc-resize-observer';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport useIsomorphicLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport useMergedState from \"rc-util/es/hooks/useMergedState\";\nimport omit from \"rc-util/es/omit\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport { ConfigContext } from '../../config-provider';\nimport { useLocaleReceiver } from '../../locale-provider/LocaleReceiver';\nimport TransButton from '../../_util/transButton';\nimport { isStyleSupport } from '../../_util/styleChecker';\nimport Tooltip from '../../tooltip';\nimport Editable from '../Editable';\nimport useMergedConfig from '../hooks/useMergedConfig';\nimport useUpdatedEffect from '../hooks/useUpdatedEffect';\nimport Typography from '../Typography';\nimport Ellipsis from './Ellipsis';\nimport EllipsisTooltip from './EllipsisTooltip';\nfunction wrapperDecorations(_ref, content) {\n var mark = _ref.mark,\n code = _ref.code,\n underline = _ref.underline,\n del = _ref[\"delete\"],\n strong = _ref.strong,\n keyboard = _ref.keyboard,\n italic = _ref.italic;\n var currentContent = content;\n function wrap(needed, tag) {\n if (!needed) return;\n currentContent = /*#__PURE__*/React.createElement(tag, {}, currentContent);\n }\n wrap(strong, 'strong');\n wrap(underline, 'u');\n wrap(del, 'del');\n wrap(code, 'code');\n wrap(mark, 'mark');\n wrap(keyboard, 'kbd');\n wrap(italic, 'i');\n return currentContent;\n}\nfunction getNode(dom, defaultNode, needDom) {\n if (dom === true || dom === undefined) {\n return defaultNode;\n }\n return dom || needDom && defaultNode;\n}\nfunction toList(val) {\n if (val === false) {\n return [false, false];\n }\n return Array.isArray(val) ? val : [val];\n}\nvar ELLIPSIS_STR = '...';\nvar Base = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _a, _b, _c;\n var customizePrefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n type = props.type,\n disabled = props.disabled,\n children = props.children,\n ellipsis = props.ellipsis,\n editable = props.editable,\n copyable = props.copyable,\n component = props.component,\n title = props.title,\n restProps = __rest(props, [\"prefixCls\", \"className\", \"style\", \"type\", \"disabled\", \"children\", \"ellipsis\", \"editable\", \"copyable\", \"component\", \"title\"]);\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var textLocale = useLocaleReceiver('Text')[0]; // Force TS get this\n var typographyRef = React.useRef(null);\n var editIconRef = React.useRef(null);\n // ============================ MISC ============================\n var prefixCls = getPrefixCls('typography', customizePrefixCls);\n var textProps = omit(restProps, ['mark', 'code', 'delete', 'underline', 'strong', 'keyboard', 'italic']);\n // ========================== Editable ==========================\n var _useMergedConfig = useMergedConfig(editable),\n _useMergedConfig2 = _slicedToArray(_useMergedConfig, 2),\n enableEdit = _useMergedConfig2[0],\n editConfig = _useMergedConfig2[1];\n var _useMergedState = useMergedState(false, {\n value: editConfig.editing\n }),\n _useMergedState2 = _slicedToArray(_useMergedState, 2),\n editing = _useMergedState2[0],\n setEditing = _useMergedState2[1];\n var _editConfig$triggerTy = editConfig.triggerType,\n triggerType = _editConfig$triggerTy === void 0 ? ['icon'] : _editConfig$triggerTy;\n var triggerEdit = function triggerEdit(edit) {\n var _a;\n if (edit) {\n (_a = editConfig.onStart) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n }\n setEditing(edit);\n };\n // Focus edit icon when back\n useUpdatedEffect(function () {\n var _a;\n if (!editing) {\n (_a = editIconRef.current) === null || _a === void 0 ? void 0 : _a.focus();\n }\n }, [editing]);\n var onEditClick = function onEditClick(e) {\n e === null || e === void 0 ? void 0 : e.preventDefault();\n triggerEdit(true);\n };\n var onEditChange = function onEditChange(value) {\n var _a;\n (_a = editConfig.onChange) === null || _a === void 0 ? void 0 : _a.call(editConfig, value);\n triggerEdit(false);\n };\n var onEditCancel = function onEditCancel() {\n var _a;\n (_a = editConfig.onCancel) === null || _a === void 0 ? void 0 : _a.call(editConfig);\n triggerEdit(false);\n };\n // ========================== Copyable ==========================\n var _useMergedConfig3 = useMergedConfig(copyable),\n _useMergedConfig4 = _slicedToArray(_useMergedConfig3, 2),\n enableCopy = _useMergedConfig4[0],\n copyConfig = _useMergedConfig4[1];\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n copied = _React$useState2[0],\n setCopied = _React$useState2[1];\n var copyIdRef = React.useRef();\n var copyOptions = {};\n if (copyConfig.format) {\n copyOptions.format = copyConfig.format;\n }\n var cleanCopyId = function cleanCopyId() {\n window.clearTimeout(copyIdRef.current);\n };\n var onCopyClick = function onCopyClick(e) {\n var _a;\n e === null || e === void 0 ? void 0 : e.preventDefault();\n e === null || e === void 0 ? void 0 : e.stopPropagation();\n copy(copyConfig.text || String(children) || '', copyOptions);\n setCopied(true);\n // Trigger tips update\n cleanCopyId();\n copyIdRef.current = window.setTimeout(function () {\n setCopied(false);\n }, 3000);\n (_a = copyConfig.onCopy) === null || _a === void 0 ? void 0 : _a.call(copyConfig, e);\n };\n React.useEffect(function () {\n return cleanCopyId;\n }, []);\n // ========================== Ellipsis ==========================\n var _React$useState3 = React.useState(false),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n isLineClampSupport = _React$useState4[0],\n setIsLineClampSupport = _React$useState4[1];\n var _React$useState5 = React.useState(false),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n isTextOverflowSupport = _React$useState6[0],\n setIsTextOverflowSupport = _React$useState6[1];\n var _React$useState7 = React.useState(false),\n _React$useState8 = _slicedToArray(_React$useState7, 2),\n expanded = _React$useState8[0],\n setExpanded = _React$useState8[1];\n var _React$useState9 = React.useState(false),\n _React$useState10 = _slicedToArray(_React$useState9, 2),\n isJsEllipsis = _React$useState10[0],\n setIsJsEllipsis = _React$useState10[1];\n var _React$useState11 = React.useState(false),\n _React$useState12 = _slicedToArray(_React$useState11, 2),\n isNativeEllipsis = _React$useState12[0],\n setIsNativeEllipsis = _React$useState12[1];\n var _React$useState13 = React.useState(true),\n _React$useState14 = _slicedToArray(_React$useState13, 2),\n isNativeVisible = _React$useState14[0],\n setIsNativeVisible = _React$useState14[1];\n var _useMergedConfig5 = useMergedConfig(ellipsis, {\n expandable: false\n }),\n _useMergedConfig6 = _slicedToArray(_useMergedConfig5, 2),\n enableEllipsis = _useMergedConfig6[0],\n ellipsisConfig = _useMergedConfig6[1];\n var mergedEnableEllipsis = enableEllipsis && !expanded;\n // Shared prop to reduce bundle size\n var _ellipsisConfig$rows = ellipsisConfig.rows,\n rows = _ellipsisConfig$rows === void 0 ? 1 : _ellipsisConfig$rows;\n var needMeasureEllipsis = React.useMemo(function () {\n return (\n // Disable ellipsis\n !mergedEnableEllipsis ||\n // Provide suffix\n ellipsisConfig.suffix !== undefined || ellipsisConfig.onEllipsis ||\n // Can't use css ellipsis since we need to provide the place for button\n ellipsisConfig.expandable || enableEdit || enableCopy\n );\n }, [mergedEnableEllipsis, ellipsisConfig, enableEdit, enableCopy]);\n useIsomorphicLayoutEffect(function () {\n if (enableEllipsis && !needMeasureEllipsis) {\n setIsLineClampSupport(isStyleSupport('webkitLineClamp'));\n setIsTextOverflowSupport(isStyleSupport('textOverflow'));\n }\n }, [needMeasureEllipsis, enableEllipsis]);\n var cssEllipsis = React.useMemo(function () {\n if (needMeasureEllipsis) {\n return false;\n }\n if (rows === 1) {\n return isTextOverflowSupport;\n }\n return isLineClampSupport;\n }, [needMeasureEllipsis, isTextOverflowSupport, isLineClampSupport]);\n var isMergedEllipsis = mergedEnableEllipsis && (cssEllipsis ? isNativeEllipsis : isJsEllipsis);\n var cssTextOverflow = mergedEnableEllipsis && rows === 1 && cssEllipsis;\n var cssLineClamp = mergedEnableEllipsis && rows > 1 && cssEllipsis;\n // >>>>> Expand\n var onExpandClick = function onExpandClick(e) {\n var _a;\n setExpanded(true);\n (_a = ellipsisConfig.onExpand) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, e);\n };\n var _React$useState15 = React.useState(0),\n _React$useState16 = _slicedToArray(_React$useState15, 2),\n ellipsisWidth = _React$useState16[0],\n setEllipsisWidth = _React$useState16[1];\n var _React$useState17 = React.useState(0),\n _React$useState18 = _slicedToArray(_React$useState17, 2),\n ellipsisFontSize = _React$useState18[0],\n setEllipsisFontSize = _React$useState18[1];\n var onResize = function onResize(_ref2, element) {\n var offsetWidth = _ref2.offsetWidth;\n var _a;\n setEllipsisWidth(offsetWidth);\n setEllipsisFontSize(parseInt((_a = window.getComputedStyle) === null || _a === void 0 ? void 0 : _a.call(window, element).fontSize, 10) || 0);\n };\n // >>>>> JS Ellipsis\n var onJsEllipsis = function onJsEllipsis(jsEllipsis) {\n var _a;\n setIsJsEllipsis(jsEllipsis);\n // Trigger if changed\n if (isJsEllipsis !== jsEllipsis) {\n (_a = ellipsisConfig.onEllipsis) === null || _a === void 0 ? void 0 : _a.call(ellipsisConfig, jsEllipsis);\n }\n };\n // >>>>> Native ellipsis\n React.useEffect(function () {\n var textEle = typographyRef.current;\n if (enableEllipsis && cssEllipsis && textEle) {\n var currentEllipsis = cssLineClamp ? textEle.offsetHeight < textEle.scrollHeight : textEle.offsetWidth < textEle.scrollWidth;\n if (isNativeEllipsis !== currentEllipsis) {\n setIsNativeEllipsis(currentEllipsis);\n }\n }\n }, [enableEllipsis, cssEllipsis, children, cssLineClamp, isNativeVisible]);\n // https://github.com/ant-design/ant-design/issues/36786\n // Use IntersectionObserver to check if element is invisible\n React.useEffect(function () {\n var textEle = typographyRef.current;\n if (typeof IntersectionObserver === 'undefined' || !textEle || !cssEllipsis || !mergedEnableEllipsis) {\n return;\n }\n /* eslint-disable-next-line compat/compat */\n var observer = new IntersectionObserver(function () {\n setIsNativeVisible(!!textEle.offsetParent);\n });\n observer.observe(textEle);\n return function () {\n observer.disconnect();\n };\n }, [cssEllipsis, mergedEnableEllipsis]);\n // ========================== Tooltip ===========================\n var tooltipProps = {};\n if (ellipsisConfig.tooltip === true) {\n tooltipProps = {\n title: (_a = editConfig.text) !== null && _a !== void 0 ? _a : children\n };\n } else if ( /*#__PURE__*/React.isValidElement(ellipsisConfig.tooltip)) {\n tooltipProps = {\n title: ellipsisConfig.tooltip\n };\n } else if (_typeof(ellipsisConfig.tooltip) === 'object') {\n tooltipProps = _extends({\n title: (_b = editConfig.text) !== null && _b !== void 0 ? _b : children\n }, ellipsisConfig.tooltip);\n } else {\n tooltipProps = {\n title: ellipsisConfig.tooltip\n };\n }\n var topAriaLabel = React.useMemo(function () {\n var isValid = function isValid(val) {\n return ['string', 'number'].includes(_typeof(val));\n };\n if (!enableEllipsis || cssEllipsis) {\n return undefined;\n }\n if (isValid(editConfig.text)) {\n return editConfig.text;\n }\n if (isValid(children)) {\n return children;\n }\n if (isValid(title)) {\n return title;\n }\n if (isValid(tooltipProps.title)) {\n return tooltipProps.title;\n }\n return undefined;\n }, [enableEllipsis, cssEllipsis, title, tooltipProps.title, isMergedEllipsis]);\n // =========================== Render ===========================\n // >>>>>>>>>>> Editing input\n if (editing) {\n return /*#__PURE__*/React.createElement(Editable, {\n value: (_c = editConfig.text) !== null && _c !== void 0 ? _c : typeof children === 'string' ? children : '',\n onSave: onEditChange,\n onCancel: onEditCancel,\n onEnd: editConfig.onEnd,\n prefixCls: prefixCls,\n className: className,\n style: style,\n direction: direction,\n component: component,\n maxLength: editConfig.maxLength,\n autoSize: editConfig.autoSize,\n enterIcon: editConfig.enterIcon\n });\n }\n // >>>>>>>>>>> Typography\n // Expand\n var renderExpand = function renderExpand() {\n var expandable = ellipsisConfig.expandable,\n symbol = ellipsisConfig.symbol;\n if (!expandable) return null;\n var expandContent;\n if (symbol) {\n expandContent = symbol;\n } else {\n expandContent = textLocale.expand;\n }\n return /*#__PURE__*/React.createElement(\"a\", {\n key: \"expand\",\n className: prefixCls + \"-expand\",\n onClick: onExpandClick,\n \"aria-label\": textLocale.expand\n }, expandContent);\n };\n // Edit\n var renderEdit = function renderEdit() {\n if (!enableEdit) return;\n var icon = editConfig.icon,\n tooltip = editConfig.tooltip;\n var editTitle = toArray(tooltip)[0] || textLocale.edit;\n var ariaLabel = typeof editTitle === 'string' ? editTitle : '';\n return triggerType.includes('icon') ? /*#__PURE__*/React.createElement(Tooltip, {\n key: \"edit\",\n title: tooltip === false ? '' : editTitle\n }, /*#__PURE__*/React.createElement(TransButton, {\n ref: editIconRef,\n className: prefixCls + \"-edit\",\n onClick: onEditClick,\n \"aria-label\": ariaLabel\n }, icon || /*#__PURE__*/React.createElement(EditOutlined, {\n role: \"button\"\n }))) : null;\n };\n // Copy\n var renderCopy = function renderCopy() {\n if (!enableCopy) return;\n var tooltips = copyConfig.tooltips,\n icon = copyConfig.icon;\n var tooltipNodes = toList(tooltips);\n var iconNodes = toList(icon);\n var copyTitle = copied ? getNode(tooltipNodes[1], textLocale.copied) : getNode(tooltipNodes[0], textLocale.copy);\n var systemStr = copied ? textLocale.copied : textLocale.copy;\n var ariaLabel = typeof copyTitle === 'string' ? copyTitle : systemStr;\n return /*#__PURE__*/React.createElement(Tooltip, {\n key: \"copy\",\n title: copyTitle\n }, /*#__PURE__*/React.createElement(TransButton, {\n className: classNames(prefixCls + \"-copy\", copied && prefixCls + \"-copy-success\"),\n onClick: onCopyClick,\n \"aria-label\": ariaLabel\n }, copied ? getNode(iconNodes[1], /*#__PURE__*/React.createElement(CheckOutlined, null), true) : getNode(iconNodes[0], /*#__PURE__*/React.createElement(CopyOutlined, null), true)));\n };\n var renderOperations = function renderOperations(renderExpanded) {\n return [renderExpanded && renderExpand(), renderEdit(), renderCopy()];\n };\n var renderEllipsis = function renderEllipsis(needEllipsis) {\n return [needEllipsis && /*#__PURE__*/React.createElement(\"span\", {\n \"aria-hidden\": true,\n key: \"ellipsis\"\n }, ELLIPSIS_STR), ellipsisConfig.suffix, renderOperations(needEllipsis)];\n };\n return /*#__PURE__*/React.createElement(ResizeObserver, {\n onResize: onResize,\n disabled: !mergedEnableEllipsis || cssEllipsis\n }, function (resizeRef) {\n var _classNames;\n return /*#__PURE__*/React.createElement(EllipsisTooltip, {\n tooltipProps: tooltipProps,\n enabledEllipsis: mergedEnableEllipsis,\n isEllipsis: isMergedEllipsis\n }, /*#__PURE__*/React.createElement(Typography, _extends({\n className: classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-\" + type, type), _defineProperty(_classNames, prefixCls + \"-disabled\", disabled), _defineProperty(_classNames, prefixCls + \"-ellipsis\", enableEllipsis), _defineProperty(_classNames, prefixCls + \"-single-line\", mergedEnableEllipsis && rows === 1), _defineProperty(_classNames, prefixCls + \"-ellipsis-single-line\", cssTextOverflow), _defineProperty(_classNames, prefixCls + \"-ellipsis-multiple-line\", cssLineClamp), _classNames), className),\n prefixCls: customizePrefixCls,\n style: _extends(_extends({}, style), {\n WebkitLineClamp: cssLineClamp ? rows : undefined\n }),\n component: component,\n ref: composeRef(resizeRef, typographyRef, ref),\n direction: direction,\n onClick: triggerType.includes('text') ? onEditClick : undefined,\n \"aria-label\": topAriaLabel === null || topAriaLabel === void 0 ? void 0 : topAriaLabel.toString(),\n title: title\n }, textProps), /*#__PURE__*/React.createElement(Ellipsis, {\n enabledMeasure: mergedEnableEllipsis && !cssEllipsis,\n text: children,\n rows: rows,\n width: ellipsisWidth,\n fontSize: ellipsisFontSize,\n onEllipsis: onJsEllipsis\n }, function (node, needEllipsis) {\n var renderNode = node;\n if (node.length && needEllipsis && topAriaLabel) {\n renderNode = /*#__PURE__*/React.createElement(\"span\", {\n key: \"show-content\",\n \"aria-hidden\": true\n }, renderNode);\n }\n var wrappedContext = wrapperDecorations(props, /*#__PURE__*/React.createElement(React.Fragment, null, renderNode, renderEllipsis(needEllipsis)));\n return wrappedContext;\n })));\n });\n});\nexport default Base;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport Base from './Base';\nvar Link = /*#__PURE__*/React.forwardRef(function (_a, ref) {\n var ellipsis = _a.ellipsis,\n rel = _a.rel,\n restProps = __rest(_a, [\"ellipsis\", \"rel\"]);\n process.env.NODE_ENV !== \"production\" ? warning(_typeof(ellipsis) !== 'object', 'Typography.Link', '`ellipsis` only supports boolean value.') : void 0;\n var mergedProps = _extends(_extends({}, restProps), {\n rel: rel === undefined && restProps.target === '_blank' ? 'noopener noreferrer' : rel\n });\n // @ts-expect-error: https://github.com/ant-design/ant-design/issues/26622\n delete mergedProps.navigate;\n return /*#__PURE__*/React.createElement(Base, _extends({}, mergedProps, {\n ref: ref,\n ellipsis: !!ellipsis,\n component: \"a\"\n }));\n});\nexport default Link;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport Base from './Base';\nvar Paragraph = /*#__PURE__*/React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(Base, _extends({\n ref: ref\n }, props, {\n component: \"div\"\n }));\n});\nexport default Paragraph;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport omit from \"rc-util/es/omit\";\nimport * as React from 'react';\nimport warning from '../_util/warning';\nimport Base from './Base';\nvar Text = function Text(_a, ref) {\n var ellipsis = _a.ellipsis,\n restProps = __rest(_a, [\"ellipsis\"]);\n var mergedEllipsis = React.useMemo(function () {\n if (ellipsis && _typeof(ellipsis) === 'object') {\n return omit(ellipsis, ['expandable', 'rows']);\n }\n return ellipsis;\n }, [ellipsis]);\n process.env.NODE_ENV !== \"production\" ? warning(_typeof(ellipsis) !== 'object' || !ellipsis || !('expandable' in ellipsis) && !('rows' in ellipsis), 'Typography.Text', '`ellipsis` do not support `expandable` or `rows` props.') : void 0;\n return /*#__PURE__*/React.createElement(Base, _extends({\n ref: ref\n }, restProps, {\n ellipsis: mergedEllipsis,\n component: \"span\"\n }));\n};\nexport default /*#__PURE__*/React.forwardRef(Text);","import _extends from \"@babel/runtime/helpers/esm/extends\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport * as React from 'react';\nimport { tupleNum } from '../_util/type';\nimport warning from '../_util/warning';\nimport Base from './Base';\nvar TITLE_ELE_LIST = tupleNum(1, 2, 3, 4, 5);\nvar Title = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$level = props.level,\n level = _props$level === void 0 ? 1 : _props$level,\n restProps = __rest(props, [\"level\"]);\n var component;\n if (TITLE_ELE_LIST.includes(level)) {\n component = \"h\" + level;\n } else {\n process.env.NODE_ENV !== \"production\" ? warning(false, 'Typography.Title', 'Title only accept `1 | 2 | 3 | 4 | 5` as `level` value. And `5` need 4.6.0+ version.') : void 0;\n component = 'h1';\n }\n return /*#__PURE__*/React.createElement(Base, _extends({\n ref: ref\n }, restProps, {\n component: component\n }));\n});\nexport default Title;","import Link from './Link';\nimport Paragraph from './Paragraph';\nimport Text from './Text';\nimport Title from './Title';\nimport OriginTypography from './Typography';\nvar Typography = OriginTypography;\nTypography.Text = Text;\nTypography.Link = Link;\nTypography.Title = Title;\nTypography.Paragraph = Paragraph;\nexport default Typography;","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var CognitoHostedUIIdentityProvider;\n(function (CognitoHostedUIIdentityProvider) {\n CognitoHostedUIIdentityProvider[\"Cognito\"] = \"COGNITO\";\n CognitoHostedUIIdentityProvider[\"Google\"] = \"Google\";\n CognitoHostedUIIdentityProvider[\"Facebook\"] = \"Facebook\";\n CognitoHostedUIIdentityProvider[\"Amazon\"] = \"LoginWithAmazon\";\n CognitoHostedUIIdentityProvider[\"Apple\"] = \"SignInWithApple\";\n})(CognitoHostedUIIdentityProvider || (CognitoHostedUIIdentityProvider = {}));\nexport function isFederatedSignInOptions(obj) {\n var keys = ['provider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isFederatedSignInOptionsCustom(obj) {\n var keys = ['customProvider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function hasCustomState(obj) {\n var keys = ['customState'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isCognitoHostedOpts(oauth) {\n return oauth.redirectSignIn !== undefined;\n}\nexport var AuthErrorTypes;\n(function (AuthErrorTypes) {\n AuthErrorTypes[\"NoConfig\"] = \"noConfig\";\n AuthErrorTypes[\"MissingAuthConfig\"] = \"missingAuthConfig\";\n AuthErrorTypes[\"EmptyUsername\"] = \"emptyUsername\";\n AuthErrorTypes[\"InvalidUsername\"] = \"invalidUsername\";\n AuthErrorTypes[\"EmptyPassword\"] = \"emptyPassword\";\n AuthErrorTypes[\"EmptyCode\"] = \"emptyCode\";\n AuthErrorTypes[\"SignUpError\"] = \"signUpError\";\n AuthErrorTypes[\"NoMFA\"] = \"noMFA\";\n AuthErrorTypes[\"InvalidMFA\"] = \"invalidMFA\";\n AuthErrorTypes[\"EmptyChallengeResponse\"] = \"emptyChallengeResponse\";\n AuthErrorTypes[\"NoUserSession\"] = \"noUserSession\";\n AuthErrorTypes[\"Default\"] = \"default\";\n AuthErrorTypes[\"DeviceConfig\"] = \"deviceConfig\";\n AuthErrorTypes[\"NetworkError\"] = \"networkError\";\n AuthErrorTypes[\"AutoSignInError\"] = \"autoSignInError\";\n})(AuthErrorTypes || (AuthErrorTypes = {}));\nexport function isUsernamePasswordOpts(obj) {\n return !!obj.username;\n}\nexport var GRAPHQL_AUTH_MODE;\n(function (GRAPHQL_AUTH_MODE) {\n GRAPHQL_AUTH_MODE[\"API_KEY\"] = \"API_KEY\";\n GRAPHQL_AUTH_MODE[\"AWS_IAM\"] = \"AWS_IAM\";\n GRAPHQL_AUTH_MODE[\"OPENID_CONNECT\"] = \"OPENID_CONNECT\";\n GRAPHQL_AUTH_MODE[\"AMAZON_COGNITO_USER_POOLS\"] = \"AMAZON_COGNITO_USER_POOLS\";\n GRAPHQL_AUTH_MODE[\"AWS_LAMBDA\"] = \"AWS_LAMBDA\";\n})(GRAPHQL_AUTH_MODE || (GRAPHQL_AUTH_MODE = {}));\n//# sourceMappingURL=Auth.js.map","import Cookies from 'universal-cookie';\nimport { browserOrNode } from '../JS';\nvar isBrowser = browserOrNode().isBrowser;\nvar UniversalStorage = /** @class */ (function () {\n function UniversalStorage(context) {\n if (context === void 0) { context = {}; }\n this.cookies = new Cookies();\n this.store = isBrowser ? window.localStorage : Object.create(null);\n this.cookies = context.req\n ? new Cookies(context.req.headers.cookie)\n : new Cookies();\n Object.assign(this.store, this.cookies.getAll());\n }\n Object.defineProperty(UniversalStorage.prototype, \"length\", {\n get: function () {\n return Object.entries(this.store).length;\n },\n enumerable: true,\n configurable: true\n });\n UniversalStorage.prototype.clear = function () {\n var _this = this;\n Array.from(new Array(this.length))\n .map(function (_, i) { return _this.key(i); })\n .forEach(function (key) { return _this.removeItem(key); });\n };\n UniversalStorage.prototype.getItem = function (key) {\n return this.getLocalItem(key);\n };\n UniversalStorage.prototype.getLocalItem = function (key) {\n return Object.prototype.hasOwnProperty.call(this.store, key)\n ? this.store[key]\n : null;\n };\n UniversalStorage.prototype.getUniversalItem = function (key) {\n return this.cookies.get(key);\n };\n UniversalStorage.prototype.key = function (index) {\n return Object.keys(this.store)[index];\n };\n UniversalStorage.prototype.removeItem = function (key) {\n this.removeLocalItem(key);\n this.removeUniversalItem(key);\n };\n UniversalStorage.prototype.removeLocalItem = function (key) {\n delete this.store[key];\n };\n UniversalStorage.prototype.removeUniversalItem = function (key) {\n this.cookies.remove(key, {\n path: '/',\n });\n };\n UniversalStorage.prototype.setItem = function (key, value) {\n this.setLocalItem(key, value);\n // keys take the shape:\n // 1. `${ProviderPrefix}.${userPoolClientId}.${username}.${tokenType}\n // 2. `${ProviderPrefix}.${userPoolClientId}.LastAuthUser\n var tokenType = key.split('.').pop();\n switch (tokenType) {\n // LastAuthUser is needed for computing other key names\n case 'LastAuthUser':\n // accessToken is required for CognitoUserSession\n case 'accessToken':\n // refreshToken originates on the client, but SSR pages won't fail when this expires\n // Note: the new `accessToken` will also be refreshed on the client (since Amplify doesn't set server-side cookies)\n case 'refreshToken':\n // Required for CognitoUserSession\n case 'idToken':\n isBrowser\n ? this.setUniversalItem(key, value)\n : this.setLocalItem(key, value);\n // userData is used when `Auth.currentAuthenticatedUser({ bypassCache: false })`.\n // Can be persisted to speed up calls to `Auth.currentAuthenticatedUser()`\n // case 'userData':\n // Ignoring clockDrift on the server for now, but needs testing\n // case 'clockDrift':\n }\n };\n UniversalStorage.prototype.setLocalItem = function (key, value) {\n this.store[key] = value;\n };\n UniversalStorage.prototype.setUniversalItem = function (key, value) {\n this.cookies.set(key, value, {\n path: '/',\n // `httpOnly` cannot be set via JavaScript: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#JavaScript_access_using_Document.cookie\n sameSite: true,\n // Allow unsecure requests to http://localhost:3000/ when in development.\n secure: window.location.hostname === 'localhost' ? false : true,\n });\n };\n return UniversalStorage;\n}());\nexport { UniversalStorage };\n//# sourceMappingURL=index.js.map","var crypto;\n\n// Native crypto from window (Browser)\nif (typeof window !== 'undefined' && window.crypto) {\n crypto = window.crypto;\n}\n\n// Native (experimental IE 11) crypto from window (Browser)\nif (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n}\n\n// Native crypto from global (NodeJS)\nif (!crypto && typeof global !== 'undefined' && global.crypto) {\n crypto = global.crypto;\n}\n\n// Native crypto import via require (NodeJS)\nif (!crypto && typeof require === 'function') {\n try {\n crypto = require('crypto');\n } catch (err) {}\n}\n\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\nexport default function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n }\n\n // Use randomBytes method (NodeJS)\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n throw new Error('Native crypto module could not be used to get secure random number.');\n}","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar AuthenticationDetails = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationDetails object\n * @param {object=} data Creation options.\n * @param {string} data.Username User being authenticated.\n * @param {string} data.Password Plain-text password to authenticate with.\n * @param {(AttributeArg[])?} data.ValidationData Application extra metadata.\n * @param {(AttributeArg[])?} data.AuthParamaters Authentication paramaters for custom auth.\n */\n function AuthenticationDetails(data) {\n var _ref = data || {},\n ValidationData = _ref.ValidationData,\n Username = _ref.Username,\n Password = _ref.Password,\n AuthParameters = _ref.AuthParameters,\n ClientMetadata = _ref.ClientMetadata;\n this.validationData = ValidationData || {};\n this.authParameters = AuthParameters || {};\n this.clientMetadata = ClientMetadata || {};\n this.username = Username;\n this.password = Password;\n }\n\n /**\n * @returns {string} the record's username\n */\n var _proto = AuthenticationDetails.prototype;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {string} the record's password\n */;\n _proto.getPassword = function getPassword() {\n return this.password;\n }\n\n /**\n * @returns {Array} the record's validationData\n */;\n _proto.getValidationData = function getValidationData() {\n return this.validationData;\n }\n\n /**\n * @returns {Array} the record's authParameters\n */;\n _proto.getAuthParameters = function getAuthParameters() {\n return this.authParameters;\n }\n\n /**\n * @returns {ClientMetadata} the clientMetadata for a Lambda trigger\n */;\n _proto.getClientMetadata = function getClientMetadata() {\n return this.clientMetadata;\n };\n return AuthenticationDetails;\n}();\nexport { AuthenticationDetails as default };","import cryptoSecureRandomInt from './cryptoSecureRandomInt';\n\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\nfunction hexStringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var hexChars = [];\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n return hexChars.join('');\n}\nvar WordArray = /*#__PURE__*/function () {\n function WordArray(words, sigBytes) {\n words = this.words = words || [];\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n }\n var _proto = WordArray.prototype;\n _proto.random = function random(nBytes) {\n var words = [];\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n return new WordArray(words, nBytes);\n };\n _proto.toString = function toString() {\n return hexStringify(this);\n };\n return WordArray;\n}();\nexport { WordArray as default };","// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\n\nexport default BigInteger;\n\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n\n// (public) Constructor\nfunction BigInteger(a, b) {\n if (a != null) this.fromString(a, b);\n}\n\n// return new, unset BigInteger\nfunction nbi() {\n return new BigInteger(null);\n}\n\n// Bits per digit\nvar dbits;\n\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe;\n\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n}\nvar inBrowser = typeof navigator !== 'undefined';\nif (inBrowser && j_lm && navigator.appName == 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n} else if (inBrowser && j_lm && navigator.appName != 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n} else {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n\n// Digit conversions\nvar BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nvar BI_RC = new Array();\nvar rr, vv;\nrr = '0'.charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = 'a'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = 'A'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n}\n\n// (protected) copy this to r\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n r.t = this.t;\n r.s = this.s;\n}\n\n// (protected) set from integer value x, -DV <= x < DV\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0;\n}\n\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n\n// (protected) set from string and radix\nfunction bnpFromString(s, b) {\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n var i = s.length,\n mi = false,\n sh = 0;\n while (--i >= 0) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == '-') mi = true;\n continue;\n }\n mi = false;\n if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;\n this[this.t++] = x >> this.DB - sh;\n } else this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB) sh -= this.DB;\n }\n this.clamp();\n if (mi) BigInteger.ZERO.subTo(this, this);\n}\n\n// (protected) clamp off excess high words\nfunction bnpClamp() {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n}\n\n// (public) return string representation in given radix\nfunction bnToString(b) {\n if (this.s < 0) return '-' + this.negate().toString(b);\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n var km = (1 << k) - 1,\n d,\n m = false,\n r = '',\n i = this.t;\n var p = this.DB - i * this.DB % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & (1 << p) - 1) << k - p;\n d |= this[--i] >> (p += this.DB - k);\n } else {\n d = this[i] >> (p -= k) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) m = true;\n if (m) r += int2char(d);\n }\n }\n return m ? r : '0';\n}\n\n// (public) -this\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n}\n\n// (public) |this|\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n}\n\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0) return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0) return this.s < 0 ? -r : r;\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) return r;\n }\n return 0;\n}\n\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1,\n t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0) return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n}\n\n// (protected) r = this << n*DB\nfunction bnpDLShiftTo(n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r.t = this.t + n;\n r.s = this.s;\n}\n\n// (protected) r = this >> n*DB\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n}\n\n// (protected) r = this << n\nfunction bnpLShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB),\n c = this.s << bs & this.DM,\n i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = this[i] >> cbs | c;\n c = (this[i] & bm) << bs;\n }\n for (i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n}\n\n// (protected) r = this >> n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n}\n\n// (protected) r = this - a\nfunction bnpSubTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n}\n\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n r.s = 0;\n r.clamp();\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n}\n\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n}\n\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction bnpDivRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) return;\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0);\n if (r != null) this.copyTo(r);\n return;\n }\n if (r == null) r = nbi();\n var y = nbi(),\n ts = this.s,\n ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]);\n // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n } else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt,\n d2 = (1 << this.F1) / yt,\n e = 1 << this.F2;\n var i = r.t,\n j = i - ys,\n t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y);\n // \"negative\" y so we can replace sub with am later\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) r.rShiftTo(nsh, r);\n // Denormalize remainder\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\n}\n\n// (public) this mod a\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n return r;\n}\n\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction bnpInvDigit() {\n if (this.t < 1) return 0;\n var x = this[0];\n if ((x & 1) == 0) return 0;\n var y = x & 3;\n // y == 1/x mod 2^2\n y = y * (2 - (x & 0xf) * y) & 0xf;\n // y == 1/x mod 2^4\n y = y * (2 - (x & 0xff) * y) & 0xff;\n // y == 1/x mod 2^8\n y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff;\n // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = y * (2 - x * y % this.DV) % this.DV;\n // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return y > 0 ? this.DV - y : -y;\n}\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n}\n\n// (protected) r = this + a\nfunction bnpAddTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n}\n\n// (public) this + a\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n}\n\n// (public) this - a\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n}\n\n// (public) this * a\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n}\n\n// (public) this / a\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n}\n\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << m.DB - 15) - 1;\n this.mt2 = 2 * m.t;\n}\n\n// xR mod m\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n return r;\n}\n\n// x/R mod m\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n}\n\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n}\n\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n}\n\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo;\n\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(),\n k,\n r = nbv(1),\n z = new Montgomery(m);\n if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6;\n\n // precomputation\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1;\n g[1] = z.convert(this);\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1,\n w,\n is1 = true,\n r2 = nbi(),\n t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) w = e[j] >> i - k1 & km;else {\n w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n } else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) z.sqrTo(r, r2);else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & 1 << i) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n var result = z.revert(r);\n callback(null, result);\n return result;\n}\n\n// protected\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo;\n\n// public\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow;\n\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport WordArray from './utils/WordArray';\nimport { Sha256 } from '@aws-crypto/sha256-js';\n\n/**\n * Returns a Buffer with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Buffer} fixed-length sequence of random bytes\n */\n\nfunction randomBytes(nBytes) {\n return Buffer.from(new WordArray().random(nBytes).toString(), 'hex');\n}\nimport BigInteger from './BigInteger';\n\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\nvar HEX_MSB_REGEX = /^[89a-f]/i;\nvar initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' + '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' + 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' + 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' + 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' + '83655D23DCA3AD961C62F356208552BB9ED529077096966D' + '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' + 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' + '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' + 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' + 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' + 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' + 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' + '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nvar newPasswordRequiredChallengeUserAttributePrefix = 'userAttributes.';\n\n/** @class */\nvar AuthenticationHelper = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationHelper object\n * @param {string} PoolName Cognito user pool name.\n */\n function AuthenticationHelper(PoolName) {\n this.N = new BigInteger(initN, 16);\n this.g = new BigInteger('2', 16);\n this.k = new BigInteger(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16);\n this.smallAValue = this.generateRandomSmallA();\n this.getLargeAValue(function () {});\n this.infoBits = Buffer.from('Caldera Derived Key', 'utf8');\n this.poolName = PoolName;\n }\n\n /**\n * @returns {BigInteger} small A, a random number\n */\n var _proto = AuthenticationHelper.prototype;\n _proto.getSmallAValue = function getSmallAValue() {\n return this.smallAValue;\n }\n\n /**\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n */;\n _proto.getLargeAValue = function getLargeAValue(callback) {\n var _this = this;\n if (this.largeAValue) {\n callback(null, this.largeAValue);\n } else {\n this.calculateA(this.smallAValue, function (err, largeAValue) {\n if (err) {\n callback(err, null);\n }\n _this.largeAValue = largeAValue;\n callback(null, _this.largeAValue);\n });\n }\n }\n\n /**\n * helper function to generate a random big integer\n * @returns {BigInteger} a random value.\n * @private\n */;\n _proto.generateRandomSmallA = function generateRandomSmallA() {\n // This will be interpreted as a postive 128-bit integer\n var hexRandom = randomBytes(128).toString('hex');\n var randomBigInt = new BigInteger(hexRandom, 16);\n\n // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n\n return randomBigInt;\n }\n\n /**\n * helper function to generate a random string\n * @returns {string} a random value.\n * @private\n */;\n _proto.generateRandomString = function generateRandomString() {\n return randomBytes(40).toString('base64');\n }\n\n /**\n * @returns {string} Generated random value included in password hash.\n */;\n _proto.getRandomPassword = function getRandomPassword() {\n return this.randomPassword;\n }\n\n /**\n * @returns {string} Generated random value included in devices hash.\n */;\n _proto.getSaltDevices = function getSaltDevices() {\n return this.SaltToHashDevices;\n }\n\n /**\n * @returns {string} Value used to verify devices.\n */;\n _proto.getVerifierDevices = function getVerifierDevices() {\n return this.verifierDevices;\n }\n\n /**\n * Generate salts and compute verifier.\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n * @param {nodeCallback} callback Called with (err, null)\n * @returns {void}\n */;\n _proto.generateHashDevice = function generateHashDevice(deviceGroupKey, username, callback) {\n var _this2 = this;\n this.randomPassword = this.generateRandomString();\n var combinedString = \"\" + deviceGroupKey + username + \":\" + this.randomPassword;\n var hashedString = this.hash(combinedString);\n var hexRandom = randomBytes(16).toString('hex');\n\n // The random hex will be unambiguously represented as a postive integer\n this.SaltToHashDevices = this.padHex(new BigInteger(hexRandom, 16));\n this.g.modPow(new BigInteger(this.hexHash(this.SaltToHashDevices + hashedString), 16), this.N, function (err, verifierDevicesNotPadded) {\n if (err) {\n callback(err, null);\n }\n _this2.verifierDevices = _this2.padHex(verifierDevicesNotPadded);\n callback(null, null);\n });\n }\n\n /**\n * Calculate the client's public value A = g^a%N\n * with the generated random number a\n * @param {BigInteger} a Randomly generated small A.\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n * @private\n */;\n _proto.calculateA = function calculateA(a, callback) {\n var _this3 = this;\n this.g.modPow(a, this.N, function (err, A) {\n if (err) {\n callback(err, null);\n }\n if (A.mod(_this3.N).equals(BigInteger.ZERO)) {\n callback(new Error('Illegal paramater. A mod N cannot be 0.'), null);\n }\n callback(null, A);\n });\n }\n\n /**\n * Calculate the client's value U which is the hash of A and B\n * @param {BigInteger} A Large A value.\n * @param {BigInteger} B Server B value.\n * @returns {BigInteger} Computed U value.\n * @private\n */;\n _proto.calculateU = function calculateU(A, B) {\n this.UHexHash = this.hexHash(this.padHex(A) + this.padHex(B));\n var finalU = new BigInteger(this.UHexHash, 16);\n return finalU;\n }\n\n /**\n * Calculate a hash from a bitArray\n * @param {Buffer} buf Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hash = function hash(buf) {\n var awsCryptoHash = new Sha256();\n awsCryptoHash.update(buf);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var hashHex = Buffer.from(resultFromAWSCrypto).toString('hex');\n return new Array(64 - hashHex.length).join('0') + hashHex;\n }\n\n /**\n * Calculate a hash from a hex string\n * @param {String} hexStr Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hexHash = function hexHash(hexStr) {\n return this.hash(Buffer.from(hexStr, 'hex'));\n }\n\n /**\n * Standard hkdf algorithm\n * @param {Buffer} ikm Input key material.\n * @param {Buffer} salt Salt value.\n * @returns {Buffer} Strong key material.\n * @private\n */;\n _proto.computehkdf = function computehkdf(ikm, salt) {\n var infoBitsBuffer = Buffer.concat([this.infoBits, Buffer.from(String.fromCharCode(1), 'utf8')]);\n var awsCryptoHash = new Sha256(salt);\n awsCryptoHash.update(ikm);\n var resultFromAWSCryptoPrk = awsCryptoHash.digestSync();\n var awsCryptoHashHmac = new Sha256(resultFromAWSCryptoPrk);\n awsCryptoHashHmac.update(infoBitsBuffer);\n var resultFromAWSCryptoHmac = awsCryptoHashHmac.digestSync();\n var hashHexFromAWSCrypto = resultFromAWSCryptoHmac;\n var currentHex = hashHexFromAWSCrypto.slice(0, 16);\n return currentHex;\n }\n\n /**\n * Calculates the final hkdf based on computed S value, and computed U value and the key\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {BigInteger} serverBValue Server B value.\n * @param {BigInteger} salt Generated salt.\n * @param {nodeCallback} callback Called with (err, hkdfValue)\n * @returns {void}\n */;\n _proto.getPasswordAuthenticationKey = function getPasswordAuthenticationKey(username, password, serverBValue, salt, callback) {\n var _this4 = this;\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n this.UValue = this.calculateU(this.largeAValue, serverBValue);\n if (this.UValue.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n var usernamePassword = \"\" + this.poolName + username + \":\" + password;\n var usernamePasswordHash = this.hash(usernamePassword);\n var xValue = new BigInteger(this.hexHash(this.padHex(salt) + usernamePasswordHash), 16);\n this.calculateS(xValue, serverBValue, function (err, sValue) {\n if (err) {\n callback(err, null);\n }\n var hkdf = _this4.computehkdf(Buffer.from(_this4.padHex(sValue), 'hex'), Buffer.from(_this4.padHex(_this4.UValue), 'hex'));\n callback(null, hkdf);\n });\n }\n\n /**\n * Calculates the S value used in getPasswordAuthenticationKey\n * @param {BigInteger} xValue Salted password hash value.\n * @param {BigInteger} serverBValue Server B value.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.calculateS = function calculateS(xValue, serverBValue, callback) {\n var _this5 = this;\n this.g.modPow(xValue, this.N, function (err, gModPowXN) {\n if (err) {\n callback(err, null);\n }\n var intValue2 = serverBValue.subtract(_this5.k.multiply(gModPowXN));\n intValue2.modPow(_this5.smallAValue.add(_this5.UValue.multiply(xValue)), _this5.N, function (err2, result) {\n if (err2) {\n callback(err2, null);\n }\n callback(null, result.mod(_this5.N));\n });\n });\n }\n\n /**\n * Return constant newPasswordRequiredChallengeUserAttributePrefix\n * @return {newPasswordRequiredChallengeUserAttributePrefix} constant prefix value\n */;\n _proto.getNewPasswordRequiredChallengeUserAttributePrefix = function getNewPasswordRequiredChallengeUserAttributePrefix() {\n return newPasswordRequiredChallengeUserAttributePrefix;\n }\n\n /**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {BigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */;\n _proto.padHex = function padHex(bigInt) {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n var isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n\n /* Get a hex string for abs(bigInt) */\n var hexStr = bigInt.abs().toString(16);\n\n /* Pad hex to even length if needed */\n hexStr = hexStr.length % 2 !== 0 ? \"0\" + hexStr : hexStr;\n\n /* Prepend \"00\" if the most significant bit is set */\n hexStr = HEX_MSB_REGEX.test(hexStr) ? \"00\" + hexStr : hexStr;\n if (isNegative) {\n /* Flip the bits of the representation */\n var invertedNibbles = hexStr.split('').map(function (x) {\n var invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n }).join('');\n\n /* After flipping the bits, add one to get the 2's complement representation */\n var flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n \t\tAny sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n \t\tThis only happens in the case when the input is 80...00\n */\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n return hexStr;\n };\n return AuthenticationHelper;\n}();\nexport { AuthenticationHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\n\n/** @class */\nvar CognitoJwtToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoJwtToken object\n * @param {string=} token The JWT token.\n */\n function CognitoJwtToken(token) {\n // Assign object\n this.jwtToken = token || '';\n this.payload = this.decodePayload();\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoJwtToken.prototype;\n _proto.getJwtToken = function getJwtToken() {\n return this.jwtToken;\n }\n\n /**\n * @returns {int} the token's expiration (exp member).\n */;\n _proto.getExpiration = function getExpiration() {\n return this.payload.exp;\n }\n\n /**\n * @returns {int} the token's \"issued at\" (iat member).\n */;\n _proto.getIssuedAt = function getIssuedAt() {\n return this.payload.iat;\n }\n\n /**\n * @returns {object} the token's payload.\n */;\n _proto.decodePayload = function decodePayload() {\n var payload = this.jwtToken.split('.')[1];\n try {\n return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));\n } catch (err) {\n return {};\n }\n };\n return CognitoJwtToken;\n}();\nexport { CognitoJwtToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoAccessToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoAccessToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoAccessToken object\n * @param {string=} AccessToken The JWT access token.\n */\n function CognitoAccessToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n AccessToken = _ref.AccessToken;\n return _CognitoJwtToken.call(this, AccessToken || '') || this;\n }\n return CognitoAccessToken;\n}(CognitoJwtToken);\nexport { CognitoAccessToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoIdToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoIdToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoIdToken object\n * @param {string=} IdToken The JWT Id token\n */\n function CognitoIdToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken;\n return _CognitoJwtToken.call(this, IdToken || '') || this;\n }\n return CognitoIdToken;\n}(CognitoJwtToken);\nexport { CognitoIdToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoRefreshToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoRefreshToken object\n * @param {string=} RefreshToken The JWT refresh token.\n */\n function CognitoRefreshToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n RefreshToken = _ref.RefreshToken;\n // Assign object\n this.token = RefreshToken || '';\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoRefreshToken.prototype;\n _proto.getToken = function getToken() {\n return this.token;\n };\n return CognitoRefreshToken;\n}();\nexport { CognitoRefreshToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserSession = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserSession object\n * @param {CognitoIdToken} IdToken The session's Id token.\n * @param {CognitoRefreshToken=} RefreshToken The session's refresh token.\n * @param {CognitoAccessToken} AccessToken The session's access token.\n * @param {int} ClockDrift The saved computer's clock drift or undefined to force calculation.\n */\n function CognitoUserSession(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken,\n RefreshToken = _ref.RefreshToken,\n AccessToken = _ref.AccessToken,\n ClockDrift = _ref.ClockDrift;\n if (AccessToken == null || IdToken == null) {\n throw new Error('Id token and Access Token must be present.');\n }\n this.idToken = IdToken;\n this.refreshToken = RefreshToken;\n this.accessToken = AccessToken;\n this.clockDrift = ClockDrift === undefined ? this.calculateClockDrift() : ClockDrift;\n }\n\n /**\n * @returns {CognitoIdToken} the session's Id token\n */\n var _proto = CognitoUserSession.prototype;\n _proto.getIdToken = function getIdToken() {\n return this.idToken;\n }\n\n /**\n * @returns {CognitoRefreshToken} the session's refresh token\n */;\n _proto.getRefreshToken = function getRefreshToken() {\n return this.refreshToken;\n }\n\n /**\n * @returns {CognitoAccessToken} the session's access token\n */;\n _proto.getAccessToken = function getAccessToken() {\n return this.accessToken;\n }\n\n /**\n * @returns {int} the session's clock drift\n */;\n _proto.getClockDrift = function getClockDrift() {\n return this.clockDrift;\n }\n\n /**\n * @returns {int} the computer's clock drift\n */;\n _proto.calculateClockDrift = function calculateClockDrift() {\n var now = Math.floor(new Date() / 1000);\n var iat = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return now - iat;\n }\n\n /**\n * Checks to see if the session is still valid based on session expiry information found\n * in tokens and the current time (adjusted with clock drift)\n * @returns {boolean} if the session is still valid\n */;\n _proto.isValid = function isValid() {\n var now = Math.floor(new Date() / 1000);\n var adjusted = now - this.clockDrift;\n return adjusted < this.accessToken.getExpiration() && adjusted < this.idToken.getExpiration();\n };\n return CognitoUserSession;\n}();\nexport { CognitoUserSession as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar weekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\n/** @class */\nvar DateHelper = /*#__PURE__*/function () {\n function DateHelper() {}\n var _proto = DateHelper.prototype;\n /**\n * @returns {string} The current time in \"ddd MMM D HH:mm:ss UTC YYYY\" format.\n */\n _proto.getNowString = function getNowString() {\n var now = new Date();\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n var minutes = now.getUTCMinutes();\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n var seconds = now.getUTCSeconds();\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n var year = now.getUTCFullYear();\n\n // ddd MMM D HH:mm:ss UTC YYYY\n var dateNow = weekDay + \" \" + month + \" \" + day + \" \" + hours + \":\" + minutes + \":\" + seconds + \" UTC \" + year;\n return dateNow;\n };\n return DateHelper;\n}();\nexport { DateHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserAttribute = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserAttribute object\n * @param {string=} Name The record's name\n * @param {string=} Value The record's value\n */\n function CognitoUserAttribute(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n Name = _ref.Name,\n Value = _ref.Value;\n this.Name = Name || '';\n this.Value = Value || '';\n }\n\n /**\n * @returns {string} the record's value.\n */\n var _proto = CognitoUserAttribute.prototype;\n _proto.getValue = function getValue() {\n return this.Value;\n }\n\n /**\n * Sets the record's value.\n * @param {string} value The new value.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setValue = function setValue(value) {\n this.Value = value;\n return this;\n }\n\n /**\n * @returns {string} the record's name.\n */;\n _proto.getName = function getName() {\n return this.Name;\n }\n\n /**\n * Sets the record's name\n * @param {string} name The new name.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setName = function setName(name) {\n this.Name = name;\n return this;\n }\n\n /**\n * @returns {string} a string representation of the record.\n */;\n _proto.toString = function toString() {\n return JSON.stringify(this);\n }\n\n /**\n * @returns {object} a flat object representing the record.\n */;\n _proto.toJSON = function toJSON() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n };\n return CognitoUserAttribute;\n}();\nexport { CognitoUserAttribute as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar dataMemory = {};\n\n/** @class */\nexport var MemoryStorage = /*#__PURE__*/function () {\n function MemoryStorage() {}\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function setItem(key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n MemoryStorage.getItem = function getItem(key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {boolean} return true\n */;\n MemoryStorage.removeItem = function removeItem(key) {\n return delete dataMemory[key];\n }\n\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */;\n MemoryStorage.clear = function clear() {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}();\n\n/** @class */\nvar StorageHelper = /*#__PURE__*/function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.cognito.test-ls', 1);\n this.storageWindow.removeItem('aws.cognito.test-ls');\n } catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n var _proto = StorageHelper.prototype;\n _proto.getStorage = function getStorage() {\n return this.storageWindow;\n };\n return StorageHelper;\n}();\nexport { StorageHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport { Sha256 } from '@aws-crypto/sha256-js';\nimport BigInteger from './BigInteger';\nimport AuthenticationHelper from './AuthenticationHelper';\nimport CognitoAccessToken from './CognitoAccessToken';\nimport CognitoIdToken from './CognitoIdToken';\nimport CognitoRefreshToken from './CognitoRefreshToken';\nimport CognitoUserSession from './CognitoUserSession';\nimport DateHelper from './DateHelper';\nimport CognitoUserAttribute from './CognitoUserAttribute';\nimport StorageHelper from './StorageHelper';\n\n/**\n * @callback nodeCallback\n * @template T result\n * @param {*} err The operation failure reason, or null.\n * @param {T} result The operation result.\n */\n\n/**\n * @callback onFailure\n * @param {*} err Failure reason.\n */\n\n/**\n * @callback onSuccess\n * @template T result\n * @param {T} result The operation result.\n */\n\n/**\n * @callback mfaRequired\n * @param {*} details MFA challenge details.\n */\n\n/**\n * @callback customChallenge\n * @param {*} details Custom challenge details.\n */\n\n/**\n * @callback inputVerificationCode\n * @param {*} data Server response.\n */\n\n/**\n * @callback authSuccess\n * @param {CognitoUserSession} session The new session.\n * @param {bool=} userConfirmationNecessary User must be confirmed.\n */\n\nvar isBrowser = typeof navigator !== 'undefined';\nvar userAgent = isBrowser ? navigator.userAgent : 'nodejs';\n\n/** @class */\nvar CognitoUser = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUser object\n * @param {object} data Creation options\n * @param {string} data.Username The user's username.\n * @param {CognitoUserPool} data.Pool Pool containing the user.\n * @param {object} data.Storage Optional storage object.\n */\n function CognitoUser(data) {\n if (data == null || data.Username == null || data.Pool == null) {\n throw new Error('Username and Pool information are required.');\n }\n this.username = data.Username || '';\n this.pool = data.Pool;\n this.Session = null;\n this.client = data.Pool.client;\n this.signInUserSession = null;\n this.authenticationFlowType = 'USER_SRP_AUTH';\n this.storage = data.Storage || new StorageHelper().getStorage();\n this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n\n /**\n * Sets the session for this user\n * @param {CognitoUserSession} signInUserSession the session\n * @returns {void}\n */\n var _proto = CognitoUser.prototype;\n _proto.setSignInUserSession = function setSignInUserSession(signInUserSession) {\n this.clearCachedUserData();\n this.signInUserSession = signInUserSession;\n this.cacheTokens();\n }\n\n /**\n * @returns {CognitoUserSession} the current session for this user\n */;\n _proto.getSignInUserSession = function getSignInUserSession() {\n return this.signInUserSession;\n }\n\n /**\n * @returns {string} the user's username\n */;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {String} the authentication flow type\n */;\n _proto.getAuthenticationFlowType = function getAuthenticationFlowType() {\n return this.authenticationFlowType;\n }\n\n /**\n * sets authentication flow type\n * @param {string} authenticationFlowType New value.\n * @returns {void}\n */;\n _proto.setAuthenticationFlowType = function setAuthenticationFlowType(authenticationFlowType) {\n this.authenticationFlowType = authenticationFlowType;\n }\n\n /**\n * This is used for authenticating the user through the custom authentication flow.\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.initiateAuth = function initiateAuth(authDetails, callback) {\n var _this = this;\n var authParameters = authDetails.getAuthParameters();\n authParameters.USERNAME = this.username;\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = data.ChallengeName;\n var challengeParameters = data.ChallengeParameters;\n if (challengeName === 'CUSTOM_CHALLENGE') {\n _this.Session = data.Session;\n return callback.customChallenge(challengeParameters);\n }\n _this.signInUserSession = _this.getCognitoUserSession(data.AuthenticationResult);\n _this.cacheTokens();\n return callback.onSuccess(_this.signInUserSession);\n });\n }\n\n /**\n * This is used for authenticating the user.\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUser = function authenticateUser(authDetails, callback) {\n if (this.authenticationFlowType === 'USER_PASSWORD_AUTH') {\n return this.authenticateUserPlainUsernamePassword(authDetails, callback);\n } else if (this.authenticationFlowType === 'USER_SRP_AUTH' || this.authenticationFlowType === 'CUSTOM_AUTH') {\n return this.authenticateUserDefaultAuth(authDetails, callback);\n }\n return callback.onFailure(new Error('Authentication flow type is invalid.'));\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * It calls the AuthenticationHelper for SRP related\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserDefaultAuth = function authenticateUserDefaultAuth(authDetails, callback) {\n var _this2 = this;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var dateHelper = new DateHelper();\n var serverBValue;\n var salt;\n var authParameters = {};\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n authParameters.USERNAME = this.username;\n authenticationHelper.getLargeAValue(function (errOnAValue, aValue) {\n // getLargeAValue callback start\n if (errOnAValue) {\n callback.onFailure(errOnAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n if (_this2.authenticationFlowType === 'CUSTOM_AUTH') {\n authParameters.CHALLENGE_NAME = 'SRP_A';\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: _this2.authenticationFlowType,\n ClientId: _this2.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData(_this2.username)) {\n jsonReq.UserContextData = _this2.getUserContextData(_this2.username);\n }\n _this2.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n _this2.username = challengeParameters.USER_ID_FOR_SRP;\n _this2.userDataKey = _this2.keyPrefix + \".\" + _this2.username + \".userData\";\n serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n salt = new BigInteger(challengeParameters.SALT, 16);\n _this2.getCachedDeviceKeyAndPassword();\n authenticationHelper.getPasswordAuthenticationKey(_this2.username, authDetails.getPassword(), serverBValue, salt, function (errOnHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errOnHkdf) {\n callback.onFailure(errOnHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this2.pool.getUserPoolName(), 'utf8'), Buffer.from(_this2.username, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this2.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n if (_this2.deviceKey != null) {\n challengeResponses.DEVICE_KEY = _this2.deviceKey;\n }\n var respondToAuthChallenge = function respondToAuthChallenge(challenge, challengeCallback) {\n return _this2.client.request('RespondToAuthChallenge', challenge, function (errChallenge, dataChallenge) {\n if (errChallenge && errChallenge.code === 'ResourceNotFoundException' && errChallenge.message.toLowerCase().indexOf('device') !== -1) {\n challengeResponses.DEVICE_KEY = null;\n _this2.deviceKey = null;\n _this2.randomPassword = null;\n _this2.deviceGroupKey = null;\n _this2.clearCachedDeviceKeyAndPassword();\n return respondToAuthChallenge(challenge, challengeCallback);\n }\n return challengeCallback(errChallenge, dataChallenge);\n });\n };\n var jsonReqResp = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: _this2.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData()) {\n jsonReqResp.UserContextData = _this2.getUserContextData();\n }\n respondToAuthChallenge(jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this2.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {AuthenticationDetails} authDetails Contains the authentication data.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserPlainUsernamePassword = function authenticateUserPlainUsernamePassword(authDetails, callback) {\n var _this3 = this;\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.PASSWORD = authDetails.getPassword();\n if (!authParameters.PASSWORD) {\n callback.onFailure(new Error('PASSWORD parameter is required'));\n return;\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData(this.username)) {\n jsonReq.UserContextData = this.getUserContextData(this.username);\n }\n // USER_PASSWORD_AUTH happens in a single round-trip: client sends userName and password,\n // Cognito UserPools verifies password and returns tokens.\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this3.authenticateUserInternal(authResult, authenticationHelper, callback);\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {object} dataAuthenticate authentication data\n * @param {object} authenticationHelper helper created\n * @param {callback} callback passed on from caller\n * @returns {void}\n */;\n _proto.authenticateUserInternal = function authenticateUserInternal(dataAuthenticate, authenticationHelper, callback) {\n var _this4 = this;\n var challengeName = dataAuthenticate.ChallengeName;\n var challengeParameters = dataAuthenticate.ChallengeParameters;\n if (challengeName === 'SMS_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'SELECT_MFA_TYPE') {\n this.Session = dataAuthenticate.Session;\n return callback.selectMFAType(challengeName, challengeParameters);\n }\n if (challengeName === 'MFA_SETUP') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaSetup(challengeName, challengeParameters);\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.totpRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'CUSTOM_CHALLENGE') {\n this.Session = dataAuthenticate.Session;\n return callback.customChallenge(challengeParameters);\n }\n if (challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.Session = dataAuthenticate.Session;\n var userAttributes = null;\n var rawRequiredAttributes = null;\n var requiredAttributes = [];\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n if (challengeParameters) {\n userAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.userAttributes);\n rawRequiredAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.requiredAttributes);\n }\n if (rawRequiredAttributes) {\n for (var i = 0; i < rawRequiredAttributes.length; i++) {\n requiredAttributes[i] = rawRequiredAttributes[i].substr(userAttributesPrefix.length);\n }\n }\n return callback.newPasswordRequired(userAttributes, requiredAttributes);\n }\n if (challengeName === 'DEVICE_SRP_AUTH') {\n this.Session = dataAuthenticate.Session;\n this.getDeviceResponse(callback);\n return undefined;\n }\n this.signInUserSession = this.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n this.challengeName = challengeName;\n this.cacheTokens();\n var newDeviceMetadata = dataAuthenticate.AuthenticationResult.NewDeviceMetadata;\n if (newDeviceMetadata == null) {\n return callback.onSuccess(this.signInUserSession);\n }\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this4.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this4.deviceGroupKey = newDeviceMetadata.DeviceGroupKey;\n _this4.randomPassword = authenticationHelper.getRandomPassword();\n _this4.client.request('ConfirmDevice', {\n DeviceKey: newDeviceMetadata.DeviceKey,\n AccessToken: _this4.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this4.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this4.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this4.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this4.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n }\n\n /**\n * This method is user to complete the NEW_PASSWORD_REQUIRED challenge.\n * Pass the new password with any new user attributes to be updated.\n * User attribute keys must be of format userAttributes..\n * @param {string} newPassword new password for this user\n * @param {object} requiredAttributeData map with values for all required attributes\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.completeNewPasswordChallenge = function completeNewPasswordChallenge(newPassword, requiredAttributeData, callback, clientMetadata) {\n var _this5 = this;\n if (!newPassword) {\n return callback.onFailure(new Error('New password is required.'));\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n var finalUserAttributes = {};\n if (requiredAttributeData) {\n Object.keys(requiredAttributeData).forEach(function (key) {\n finalUserAttributes[userAttributesPrefix + key] = requiredAttributeData[key];\n });\n }\n finalUserAttributes.NEW_PASSWORD = newPassword;\n finalUserAttributes.USERNAME = this.username;\n var jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ClientId: this.pool.getClientId(),\n ChallengeResponses: finalUserAttributes,\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this5.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n }\n\n /**\n * This is used to get a session using device authentication. It is called at the end of user\n * authentication\n *\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n * @private\n */;\n _proto.getDeviceResponse = function getDeviceResponse(callback, clientMetadata) {\n var _this6 = this;\n var authenticationHelper = new AuthenticationHelper(this.deviceGroupKey);\n var dateHelper = new DateHelper();\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.DEVICE_KEY = this.deviceKey;\n authenticationHelper.getLargeAValue(function (errAValue, aValue) {\n // getLargeAValue callback start\n if (errAValue) {\n callback.onFailure(errAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n var jsonReq = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: authParameters,\n ClientMetadata: clientMetadata,\n Session: _this6.Session\n };\n if (_this6.getUserContextData()) {\n jsonReq.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n var serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n var salt = new BigInteger(challengeParameters.SALT, 16);\n authenticationHelper.getPasswordAuthenticationKey(_this6.deviceKey, _this6.randomPassword, serverBValue, salt, function (errHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errHkdf) {\n return callback.onFailure(errHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this6.deviceGroupKey, 'utf8'), Buffer.from(_this6.deviceKey, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this6.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n challengeResponses.DEVICE_KEY = _this6.deviceKey;\n var jsonReqResp = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session\n };\n if (_this6.getUserContextData()) {\n jsonReqResp.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n _this6.signInUserSession = _this6.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this6.cacheTokens();\n return callback.onSuccess(_this6.signInUserSession);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * This is used for a certain user to confirm the registration by using a confirmation code\n * @param {string} confirmationCode Code entered by user.\n * @param {bool} forceAliasCreation Allow migrating from an existing email / phone number.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmRegistration = function confirmRegistration(confirmationCode, forceAliasCreation, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: confirmationCode,\n Username: this.username,\n ForceAliasCreation: forceAliasCreation,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmSignUp', jsonReq, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n }\n\n /**\n * This is used by the user once he has the responses to a custom challenge\n * @param {string} answerChallenge The custom challenge answer.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge\n * Custom challenge response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendCustomChallengeAnswer = function sendCustomChallengeAnswer(answerChallenge, callback, clientMetadata) {\n var _this7 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this7.authenticateUserInternal(data, authenticationHelper, callback);\n });\n }\n\n /**\n * This is used by the user once he has an MFA code\n * @param {string} confirmationCode The MFA code entered by the user.\n * @param {object} callback Result callback map.\n * @param {string} mfaType The mfa we are replying to.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendMFACode = function sendMFACode(confirmationCode, callback, mfaType, clientMetadata) {\n var _this8 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.SMS_MFA_CODE = confirmationCode;\n var mfaTypeSelection = mfaType || 'SMS_MFA';\n if (mfaTypeSelection === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = confirmationCode;\n }\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: mfaTypeSelection,\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, dataAuthenticate) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = dataAuthenticate.ChallengeName;\n if (challengeName === 'DEVICE_SRP_AUTH') {\n _this8.getDeviceResponse(callback);\n return undefined;\n }\n _this8.signInUserSession = _this8.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this8.cacheTokens();\n if (dataAuthenticate.AuthenticationResult.NewDeviceMetadata == null) {\n return callback.onSuccess(_this8.signInUserSession);\n }\n var authenticationHelper = new AuthenticationHelper(_this8.pool.getUserPoolName());\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this8.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this8.deviceGroupKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey;\n _this8.randomPassword = authenticationHelper.getRandomPassword();\n _this8.client.request('ConfirmDevice', {\n DeviceKey: dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: _this8.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this8.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this8.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this8.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this8.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n });\n }\n\n /**\n * This is used by an authenticated user to change the current password\n * @param {string} oldUserPassword The current password.\n * @param {string} newUserPassword The requested new password.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.changePassword = function changePassword(oldUserPassword, newUserPassword, callback, clientMetadata) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('ChangePassword', {\n PreviousPassword: oldUserPassword,\n ProposedPassword: newUserPassword,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.enableMFA = function enableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n var mfaEnabled = {\n DeliveryMedium: 'SMS',\n AttributeName: 'phone_number'\n };\n mfaOptions.push(mfaEnabled);\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @param {IMfaSettings} smsMfaSettings the sms mfa settings\n * @param {IMFASettings} softwareTokenMfaSettings the software token mfa settings\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.setUserMfaPreference = function setUserMfaPreference(smsMfaSettings, softwareTokenMfaSettings, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('SetUserMFAPreference', {\n SMSMfaSettings: smsMfaSettings,\n SoftwareTokenMfaSettings: softwareTokenMfaSettings,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to disable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.disableMFA = function disableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to delete itself\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.deleteUser = function deleteUser(callback, clientMetadata) {\n var _this9 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n _this9.clearCachedUser();\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * @typedef {CognitoUserAttribute | { Name:string, Value:string }} AttributeArg\n */\n /**\n * This is used by an authenticated user to change a list of attributes\n * @param {AttributeArg[]} attributes A list of the new user attributes.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.updateAttributes = function updateAttributes(attributes, callback, clientMetadata) {\n var _this10 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('UpdateUserAttributes', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: attributes,\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this10.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to get a list of attributes\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getUserAttributes = function getUserAttributes(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n var attributeList = [];\n for (var i = 0; i < userData.UserAttributes.length; i++) {\n var attribute = {\n Name: userData.UserAttributes[i].Name,\n Value: userData.UserAttributes[i].Value\n };\n var userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n return callback(null, attributeList);\n });\n return undefined;\n }\n\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getMFAOptions = function getMFAOptions(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, userData.MFAOptions);\n });\n return undefined;\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.createGetUserRequest = function createGetUserRequest() {\n return this.client.promisifyRequest('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.refreshSessionIfPossible = function refreshSessionIfPossible(options) {\n var _this11 = this;\n if (options === void 0) {\n options = {};\n }\n // best effort, if not possible\n return new Promise(function (resolve) {\n var refresh = _this11.signInUserSession.getRefreshToken();\n if (refresh && refresh.getToken()) {\n _this11.refreshSession(refresh, resolve, options.clientMetadata);\n } else {\n resolve();\n }\n });\n }\n\n /**\n * @typedef {Object} GetUserDataOptions\n * @property {boolean} bypassCache - force getting data from Cognito service\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used by an authenticated users to get the userData\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetUserDataOptions} params\n * @returns {void}\n */;\n _proto.getUserData = function getUserData(callback, params) {\n var _this12 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.clearCachedUserData();\n return callback(new Error('User is not authenticated'), null);\n }\n var userData = this.getUserDataFromCache();\n if (!userData) {\n this.fetchUserData().then(function (data) {\n callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n if (this.isFetchUserDataAndTokenRequired(params)) {\n this.fetchUserData().then(function (data) {\n return _this12.refreshSessionIfPossible(params).then(function () {\n return data;\n });\n }).then(function (data) {\n return callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n try {\n callback(null, JSON.parse(userData));\n return;\n } catch (err) {\n this.clearCachedUserData();\n callback(err, null);\n return;\n }\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.getUserDataFromCache = function getUserDataFromCache() {\n var userData = this.storage.getItem(this.userDataKey);\n return userData;\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.isFetchUserDataAndTokenRequired = function isFetchUserDataAndTokenRequired(params) {\n var _ref = params || {},\n _ref$bypassCache = _ref.bypassCache,\n bypassCache = _ref$bypassCache === void 0 ? false : _ref$bypassCache;\n return bypassCache;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.fetchUserData = function fetchUserData() {\n var _this13 = this;\n return this.createGetUserRequest().then(function (data) {\n _this13.cacheUserData(data);\n return data;\n });\n }\n\n /**\n * This is used by an authenticated user to delete a list of attributes\n * @param {string[]} attributeList Names of the attributes to delete.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.deleteAttributes = function deleteAttributes(attributeList, callback) {\n var _this14 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUserAttributes', {\n UserAttributeNames: attributeList,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this14.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by a user to resend a confirmation code\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.resendConfirmationCode = function resendConfirmationCode(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n this.client.request('ResendConfirmationCode', jsonReq, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, result);\n });\n }\n\n /**\n * @typedef {Object} GetSessionOptions\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used to get a session, either from the session object\n * or from the local storage, or by using a refresh token\n *\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetSessionOptions} options\n * @returns {void}\n */;\n _proto.getSession = function getSession(callback, options) {\n if (options === void 0) {\n options = {};\n }\n if (this.username == null) {\n return callback(new Error('Username is null. Cannot retrieve a new session'), null);\n }\n if (this.signInUserSession != null && this.signInUserSession.isValid()) {\n return callback(null, this.signInUserSession);\n }\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var idTokenKey = keyPrefix + \".idToken\";\n var accessTokenKey = keyPrefix + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".clockDrift\";\n if (this.storage.getItem(idTokenKey)) {\n var idToken = new CognitoIdToken({\n IdToken: this.storage.getItem(idTokenKey)\n });\n var accessToken = new CognitoAccessToken({\n AccessToken: this.storage.getItem(accessTokenKey)\n });\n var refreshToken = new CognitoRefreshToken({\n RefreshToken: this.storage.getItem(refreshTokenKey)\n });\n var clockDrift = parseInt(this.storage.getItem(clockDriftKey), 0) || 0;\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken,\n ClockDrift: clockDrift\n };\n var cachedSession = new CognitoUserSession(sessionData);\n if (cachedSession.isValid()) {\n this.signInUserSession = cachedSession;\n return callback(null, this.signInUserSession);\n }\n if (!refreshToken.getToken()) {\n return callback(new Error('Cannot retrieve a new session. Please authenticate.'), null);\n }\n this.refreshSession(refreshToken, callback, options.clientMetadata);\n } else {\n callback(new Error('Local storage is missing an ID Token, Please authenticate'), null);\n }\n return undefined;\n }\n\n /**\n * This uses the refreshToken to retrieve a new session\n * @param {CognitoRefreshToken} refreshToken A previous session's refresh token.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.refreshSession = function refreshSession(refreshToken, callback, clientMetadata) {\n var _this15 = this;\n var wrappedCallback = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(callback) : callback;\n var authParameters = {};\n authParameters.REFRESH_TOKEN = refreshToken.getToken();\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n if (this.storage.getItem(lastUserKey)) {\n this.username = this.storage.getItem(lastUserKey);\n var deviceKeyKey = keyPrefix + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n if (err.code === 'NotAuthorizedException') {\n _this15.clearCachedUser();\n }\n return wrappedCallback(err, null);\n }\n if (authResult) {\n var authenticationResult = authResult.AuthenticationResult;\n if (!Object.prototype.hasOwnProperty.call(authenticationResult, 'RefreshToken')) {\n authenticationResult.RefreshToken = refreshToken.getToken();\n }\n _this15.signInUserSession = _this15.getCognitoUserSession(authenticationResult);\n _this15.cacheTokens();\n return wrappedCallback(null, _this15.signInUserSession);\n }\n return undefined;\n });\n }\n\n /**\n * This is used to save the session tokens to local storage\n * @returns {void}\n */;\n _proto.cacheTokens = function cacheTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n this.storage.setItem(idTokenKey, this.signInUserSession.getIdToken().getJwtToken());\n this.storage.setItem(accessTokenKey, this.signInUserSession.getAccessToken().getJwtToken());\n this.storage.setItem(refreshTokenKey, this.signInUserSession.getRefreshToken().getToken());\n this.storage.setItem(clockDriftKey, \"\" + this.signInUserSession.getClockDrift());\n this.storage.setItem(lastUserKey, this.username);\n }\n\n /**\n * This is to cache user data\n */;\n _proto.cacheUserData = function cacheUserData(userData) {\n this.storage.setItem(this.userDataKey, JSON.stringify(userData));\n }\n\n /**\n * This is to remove cached user data\n */;\n _proto.clearCachedUserData = function clearCachedUserData() {\n this.storage.removeItem(this.userDataKey);\n };\n _proto.clearCachedUser = function clearCachedUser() {\n this.clearCachedTokens();\n this.clearCachedUserData();\n }\n\n /**\n * This is used to cache the device key and device group and device password\n * @returns {void}\n */;\n _proto.cacheDeviceKeyAndPassword = function cacheDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.setItem(deviceKeyKey, this.deviceKey);\n this.storage.setItem(randomPasswordKey, this.randomPassword);\n this.storage.setItem(deviceGroupKeyKey, this.deviceGroupKey);\n }\n\n /**\n * This is used to get current device key and device group and device password\n * @returns {void}\n */;\n _proto.getCachedDeviceKeyAndPassword = function getCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n if (this.storage.getItem(deviceKeyKey)) {\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n this.randomPassword = this.storage.getItem(randomPasswordKey);\n this.deviceGroupKey = this.storage.getItem(deviceGroupKeyKey);\n }\n }\n\n /**\n * This is used to clear the device key info from local storage\n * @returns {void}\n */;\n _proto.clearCachedDeviceKeyAndPassword = function clearCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.removeItem(deviceKeyKey);\n this.storage.removeItem(randomPasswordKey);\n this.storage.removeItem(deviceGroupKeyKey);\n }\n\n /**\n * This is used to clear the session tokens from local storage\n * @returns {void}\n */;\n _proto.clearCachedTokens = function clearCachedTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(idTokenKey);\n this.storage.removeItem(accessTokenKey);\n this.storage.removeItem(refreshTokenKey);\n this.storage.removeItem(lastUserKey);\n this.storage.removeItem(clockDriftKey);\n }\n\n /**\n * This is used to build a user session from tokens retrieved in the authentication result\n * @param {object} authResult Successful auth response from server.\n * @returns {CognitoUserSession} The new user session.\n * @private\n */;\n _proto.getCognitoUserSession = function getCognitoUserSession(authResult) {\n var idToken = new CognitoIdToken(authResult);\n var accessToken = new CognitoAccessToken(authResult);\n var refreshToken = new CognitoRefreshToken(authResult);\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken\n };\n return new CognitoUserSession(sessionData);\n }\n\n /**\n * This is used to initiate a forgot password request\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode?} callback.inputVerificationCode\n * Optional callback raised instead of onSuccess with response data.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.forgotPassword = function forgotPassword(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ForgotPassword', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess(data);\n });\n }\n\n /**\n * This is used to confirm a new password using a confirmationCode\n * @param {string} confirmationCode Code entered by user.\n * @param {string} newPassword Confirm new password.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmPassword = function confirmPassword(confirmationCode, newPassword, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: confirmationCode,\n Password: newPassword,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmForgotPassword', jsonReq, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n }\n\n /**\n * This is used to initiate an attribute confirmation request\n * @param {string} attributeName User attribute that needs confirmation.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode} callback.inputVerificationCode Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.getAttributeVerificationCode = function getAttributeVerificationCode(attributeName, callback, clientMetadata) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetUserAttributeVerificationCode', {\n AttributeName: attributeName,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to confirm an attribute using a confirmation code\n * @param {string} attributeName Attribute being confirmed.\n * @param {string} confirmationCode Code entered by user.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.verifyAttribute = function verifyAttribute(attributeName, confirmationCode, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('VerifyUserAttribute', {\n AttributeName: attributeName,\n Code: confirmationCode,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to get the device information using the current device key\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device data.\n * @returns {void}\n */;\n _proto.getDevice = function getDevice(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to forget a specific device\n * @param {string} deviceKey Device key.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetSpecificDevice = function forgetSpecificDevice(deviceKey, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('ForgetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: deviceKey\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to forget the current device\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetDevice = function forgetDevice(callback) {\n var _this16 = this;\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: callback.onFailure,\n onSuccess: function onSuccess(result) {\n _this16.deviceKey = null;\n _this16.deviceGroupKey = null;\n _this16.randomPassword = null;\n _this16.clearCachedDeviceKeyAndPassword();\n return callback.onSuccess(result);\n }\n });\n }\n\n /**\n * This is used to set the device status as remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusRemembered = function setDeviceStatusRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to set the device status as not remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusNotRemembered = function setDeviceStatusNotRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'not_remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to list all devices for a user\n *\n * @param {int} limit the number of devices returned in a call\n * @param {string | null} paginationToken the pagination token in case any was returned before\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device list.\n * @returns {void}\n */;\n _proto.listDevices = function listDevices(limit, paginationToken, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n var requestParams = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: limit\n };\n if (paginationToken) {\n requestParams.PaginationToken = paginationToken;\n }\n this.client.request('ListDevices', requestParams, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to globally revoke all tokens issued to a user\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.globalSignOut = function globalSignOut(callback) {\n var _this17 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GlobalSignOut', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n _this17.clearCachedUser();\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used for the user to signOut of the application and clear the cached tokens.\n * @returns {void}\n */;\n _proto.signOut = function signOut(revokeTokenCallback) {\n var _this18 = this;\n // If tokens won't be revoked, we just clean the client data.\n if (!revokeTokenCallback || typeof revokeTokenCallback !== 'function') {\n this.cleanClientData();\n return;\n }\n this.getSession(function (error, _session) {\n if (error) {\n return revokeTokenCallback(error);\n }\n _this18.revokeTokens(function (err) {\n _this18.cleanClientData();\n revokeTokenCallback(err);\n });\n });\n };\n _proto.revokeTokens = function revokeTokens(revokeTokenCallback) {\n if (revokeTokenCallback === void 0) {\n revokeTokenCallback = function revokeTokenCallback() {};\n }\n if (typeof revokeTokenCallback !== 'function') {\n throw new Error('Invalid revokeTokenCallback. It should be a function.');\n }\n var tokensToBeRevoked = [];\n if (!this.signInUserSession) {\n var error = new Error('User is not authenticated');\n return revokeTokenCallback(error);\n }\n if (!this.signInUserSession.getAccessToken()) {\n var _error = new Error('No Access token available');\n return revokeTokenCallback(_error);\n }\n var refreshToken = this.signInUserSession.getRefreshToken().getToken();\n var accessToken = this.signInUserSession.getAccessToken();\n if (this.isSessionRevocable(accessToken)) {\n if (refreshToken) {\n return this.revokeToken({\n token: refreshToken,\n callback: revokeTokenCallback\n });\n }\n }\n revokeTokenCallback();\n };\n _proto.isSessionRevocable = function isSessionRevocable(token) {\n if (token && typeof token.decodePayload === 'function') {\n try {\n var _token$decodePayload = token.decodePayload(),\n origin_jti = _token$decodePayload.origin_jti;\n return !!origin_jti;\n } catch (err) {\n // Nothing to do, token doesnt have origin_jti claim\n }\n }\n return false;\n };\n _proto.cleanClientData = function cleanClientData() {\n this.signInUserSession = null;\n this.clearCachedUser();\n };\n _proto.revokeToken = function revokeToken(_ref2) {\n var token = _ref2.token,\n callback = _ref2.callback;\n this.client.requestWithRetry('RevokeToken', {\n Token: token,\n ClientId: this.pool.getClientId()\n }, function (err) {\n if (err) {\n return callback(err);\n }\n callback();\n });\n }\n\n /**\n * This is used by a user trying to select a given MFA\n * @param {string} answerChallenge the mfa the user wants\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.sendMFASelectionAnswer = function sendMFASelectionAnswer(answerChallenge, callback) {\n var _this19 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this19.Session = data.Session;\n if (answerChallenge === 'SMS_MFA') {\n return callback.mfaRequired(data.ChallengeName, data.ChallengeParameters);\n }\n if (answerChallenge === 'SOFTWARE_TOKEN_MFA') {\n return callback.totpRequired(data.ChallengeName, data.ChallengeParameters);\n }\n return undefined;\n });\n }\n\n /**\n * This returns the user context data for advanced security feature.\n * @returns {string} the user context data from CognitoUserPool\n */;\n _proto.getUserContextData = function getUserContextData() {\n var pool = this.pool;\n return pool.getUserContextData(this.username);\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to associate a TOTP MFA\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.associateSoftwareToken = function associateSoftwareToken(callback) {\n var _this20 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('AssociateSoftwareToken', {\n Session: this.Session\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this20.Session = data.Session;\n return callback.associateSecretCode(data.SecretCode);\n });\n } else {\n this.client.request('AssociateSoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.associateSecretCode(data.SecretCode);\n });\n }\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to verify a TOTP MFA\n * @param {string} totpCode The MFA code entered by the user.\n * @param {string} friendlyDeviceName The device name we are assigning to the device.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.verifySoftwareToken = function verifySoftwareToken(totpCode, friendlyDeviceName, callback) {\n var _this21 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('VerifySoftwareToken', {\n Session: this.Session,\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this21.Session = data.Session;\n var challengeResponses = {};\n challengeResponses.USERNAME = _this21.username;\n var jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ClientId: _this21.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: _this21.Session\n };\n if (_this21.getUserContextData()) {\n jsonReq.UserContextData = _this21.getUserContextData();\n }\n _this21.client.request('RespondToAuthChallenge', jsonReq, function (errRespond, dataRespond) {\n if (errRespond) {\n return callback.onFailure(errRespond);\n }\n _this21.signInUserSession = _this21.getCognitoUserSession(dataRespond.AuthenticationResult);\n _this21.cacheTokens();\n return callback.onSuccess(_this21.signInUserSession);\n });\n return undefined;\n });\n } else {\n this.client.request('VerifySoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n }\n };\n return CognitoUser;\n}();\nexport { CognitoUser as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getUserAgent = function getUserAgent() {\n return Platform.userAgent;\n};\n\n/**\n * @deprecated use named import\n */\nexport default Platform;","import { getUserAgent } from \"./Platform\";\n// constructor\nfunction UserAgent() {}\n// public\nUserAgent.prototype.userAgent = getUserAgent();\nexport var appendToCognitoUserAgent = function appendToCognitoUserAgent(content) {\n if (!content) {\n return;\n }\n if (UserAgent.prototype.userAgent && !UserAgent.prototype.userAgent.includes(content)) {\n UserAgent.prototype.userAgent = UserAgent.prototype.userAgent.concat(' ', content);\n }\n if (!UserAgent.prototype.userAgent || UserAgent.prototype.userAgent === '') {\n UserAgent.prototype.userAgent = content;\n }\n};\n\n// class for defining the amzn user-agent\nexport default UserAgent;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nimport 'isomorphic-unfetch';\nimport UserAgent from './UserAgent';\nvar CognitoError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(CognitoError, _Error);\n function CognitoError(message, code, name, statusCode) {\n var _this;\n _this = _Error.call(this, message) || this;\n _this.code = code;\n _this.name = name;\n _this.statusCode = statusCode;\n return _this;\n }\n return CognitoError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/** @class */\nvar Client = /*#__PURE__*/function () {\n /**\n * Constructs a new AWS Cognito Identity Provider client object\n * @param {string} region AWS region\n * @param {string} endpoint endpoint\n * @param {object} fetchOptions options for fetch API (only credentials is supported)\n */\n function Client(region, endpoint, fetchOptions) {\n this.endpoint = endpoint || \"https://cognito-idp.\" + region + \".amazonaws.com/\";\n var _ref = fetchOptions || {},\n credentials = _ref.credentials;\n this.fetchOptions = credentials ? {\n credentials: credentials\n } : {};\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @returns Promise\n */\n var _proto = Client.prototype;\n _proto.promisifyRequest = function promisifyRequest(operation, params) {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.request(operation, params, function (err, data) {\n if (err) {\n reject(new CognitoError(err.message, err.code, err.name, err.statusCode));\n } else {\n resolve(data);\n }\n });\n });\n };\n _proto.requestWithRetry = function requestWithRetry(operation, params, callback) {\n var _this3 = this;\n var MAX_DELAY_IN_MILLIS = 5 * 1000;\n jitteredExponentialRetry(function (p) {\n return new Promise(function (res, rej) {\n _this3.request(operation, p, function (error, result) {\n if (error) {\n rej(error);\n } else {\n res(result);\n }\n });\n });\n }, [params], MAX_DELAY_IN_MILLIS).then(function (result) {\n return callback(null, result);\n })[\"catch\"](function (error) {\n return callback(error);\n });\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @param {function} callback Callback called when a response is returned\n * @returns {void}\n */;\n _proto.request = function request(operation, params, callback) {\n var headers = {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': \"AWSCognitoIdentityProviderService.\" + operation,\n 'X-Amz-User-Agent': UserAgent.prototype.userAgent\n };\n var options = Object.assign({}, this.fetchOptions, {\n headers: headers,\n method: 'POST',\n mode: 'cors',\n cache: 'no-cache',\n body: JSON.stringify(params)\n });\n var response;\n var responseJsonData;\n fetch(this.endpoint, options).then(function (resp) {\n response = resp;\n return resp;\n }, function (err) {\n // If error happens here, the request failed\n // if it is TypeError throw network error\n if (err instanceof TypeError) {\n throw new Error('Network error');\n }\n throw err;\n }).then(function (resp) {\n return resp.json()[\"catch\"](function () {\n return {};\n });\n }).then(function (data) {\n // return parsed body stream\n if (response.ok) return callback(null, data);\n responseJsonData = data;\n\n // Taken from aws-sdk-js/lib/protocol/json.js\n // eslint-disable-next-line no-underscore-dangle\n var code = (data.__type || data.code).split('#').pop();\n var error = new Error(data.message || data.Message || null);\n error.name = code;\n error.code = code;\n return callback(error);\n })[\"catch\"](function (err) {\n // first check if we have a service error\n if (response && response.headers && response.headers.get('x-amzn-errortype')) {\n try {\n var code = response.headers.get('x-amzn-errortype').split(':')[0];\n var error = new Error(response.status ? response.status.toString() : null);\n error.code = code;\n error.name = code;\n error.statusCode = response.status;\n return callback(error);\n } catch (ex) {\n return callback(err);\n }\n // otherwise check if error is Network error\n } else if (err instanceof Error && err.message === 'Network error') {\n err.code = 'NetworkError';\n }\n return callback(err);\n });\n };\n return Client;\n}();\nexport { Client as default };\nvar logger = {\n debug: function debug() {\n // Intentionally blank. This package doesn't have logging\n }\n};\n\n/**\n * For now, all errors are retryable.\n */\nvar NonRetryableError = /*#__PURE__*/function (_Error2) {\n _inheritsLoose(NonRetryableError, _Error2);\n function NonRetryableError(message) {\n var _this4;\n _this4 = _Error2.call(this, message) || this;\n _this4.nonRetryable = true;\n return _this4;\n }\n return NonRetryableError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nvar isNonRetryableError = function isNonRetryableError(obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\nfunction retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) {\n attempt = 1;\n }\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with args: \" + JSON.stringify(args));\n return functionToRetry.apply(void 0, args)[\"catch\"](function (err) {\n logger.debug(\"error on \" + functionToRetry.name, err);\n if (isNonRetryableError(err)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err);\n throw err;\n }\n var retryIn = delayFn(attempt, args, err);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn + \" ms\");\n if (retryIn !== false) {\n return new Promise(function (res) {\n return setTimeout(res, retryIn);\n }).then(function () {\n return retry(functionToRetry, args, delayFn, attempt + 1);\n });\n } else {\n throw err;\n }\n });\n}\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\nfunction jitteredExponentialRetry(functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) {\n maxDelayMs = MAX_DELAY_MS;\n }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n}\n;","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Client from './Client';\nimport CognitoUser from './CognitoUser';\nimport StorageHelper from './StorageHelper';\nvar USER_POOL_ID_MAX_LENGTH = 55;\n\n/** @class */\nvar CognitoUserPool = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserPool object\n * @param {object} data Creation options.\n * @param {string} data.UserPoolId Cognito user pool id.\n * @param {string} data.ClientId User pool application client id.\n * @param {string} data.endpoint Optional custom service endpoint.\n * @param {object} data.fetchOptions Optional options for fetch API.\n * (only credentials option is supported)\n * @param {object} data.Storage Optional storage object.\n * @param {boolean} data.AdvancedSecurityDataCollectionFlag Optional:\n * boolean flag indicating if the data collection is enabled\n * to support cognito advanced security features. By default, this\n * flag is set to true.\n */\n function CognitoUserPool(data, wrapRefreshSessionCallback) {\n var _ref = data || {},\n UserPoolId = _ref.UserPoolId,\n ClientId = _ref.ClientId,\n endpoint = _ref.endpoint,\n fetchOptions = _ref.fetchOptions,\n AdvancedSecurityDataCollectionFlag = _ref.AdvancedSecurityDataCollectionFlag;\n if (!UserPoolId || !ClientId) {\n throw new Error('Both UserPoolId and ClientId are required.');\n }\n if (UserPoolId.length > USER_POOL_ID_MAX_LENGTH || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(UserPoolId)) {\n throw new Error('Invalid UserPoolId format.');\n }\n var region = UserPoolId.split('_')[0];\n this.userPoolId = UserPoolId;\n this.clientId = ClientId;\n this.client = new Client(region, endpoint, fetchOptions);\n\n /**\n * By default, AdvancedSecurityDataCollectionFlag is set to true,\n * if no input value is provided.\n */\n this.advancedSecurityDataCollectionFlag = AdvancedSecurityDataCollectionFlag !== false;\n this.storage = data.Storage || new StorageHelper().getStorage();\n if (wrapRefreshSessionCallback) {\n this.wrapRefreshSessionCallback = wrapRefreshSessionCallback;\n }\n }\n\n /**\n * @returns {string} the user pool id\n */\n var _proto = CognitoUserPool.prototype;\n _proto.getUserPoolId = function getUserPoolId() {\n return this.userPoolId;\n }\n\n /**\n * @returns {string} the user pool name\n */;\n _proto.getUserPoolName = function getUserPoolName() {\n return this.getUserPoolId().split('_')[1];\n }\n\n /**\n * @returns {string} the client id\n */;\n _proto.getClientId = function getClientId() {\n return this.clientId;\n }\n\n /**\n * @typedef {object} SignUpResult\n * @property {CognitoUser} user New user.\n * @property {bool} userConfirmed If the user is already confirmed.\n */\n /**\n * method for signing up a user\n * @param {string} username User's username.\n * @param {string} password Plain-text initial password entered by user.\n * @param {(AttributeArg[])=} userAttributes New user attributes.\n * @param {(AttributeArg[])=} validationData Application metadata.\n * @param {(AttributeArg[])=} clientMetadata Client metadata.\n * @param {nodeCallback} callback Called on error or with the new user.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.signUp = function signUp(username, password, userAttributes, validationData, callback, clientMetadata) {\n var _this = this;\n var jsonReq = {\n ClientId: this.clientId,\n Username: username,\n Password: password,\n UserAttributes: userAttributes,\n ValidationData: validationData,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData(username)) {\n jsonReq.UserContextData = this.getUserContextData(username);\n }\n this.client.request('SignUp', jsonReq, function (err, data) {\n if (err) {\n return callback(err, null);\n }\n var cognitoUser = {\n Username: username,\n Pool: _this,\n Storage: _this.storage\n };\n var returnData = {\n user: new CognitoUser(cognitoUser),\n userConfirmed: data.UserConfirmed,\n userSub: data.UserSub,\n codeDeliveryDetails: data.CodeDeliveryDetails\n };\n return callback(null, returnData);\n });\n }\n\n /**\n * method for getting the current user of the application from the local storage\n *\n * @returns {CognitoUser} the user retrieved from storage\n */;\n _proto.getCurrentUser = function getCurrentUser() {\n var lastUserKey = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\";\n var lastAuthUser = this.storage.getItem(lastUserKey);\n if (lastAuthUser) {\n var cognitoUser = {\n Username: lastAuthUser,\n Pool: this,\n Storage: this.storage\n };\n return new CognitoUser(cognitoUser);\n }\n return null;\n }\n\n /**\n * This method returns the encoded data string used for cognito advanced security feature.\n * This would be generated only when developer has included the JS used for collecting the\n * data on their client. Please refer to documentation to know more about using AdvancedSecurity\n * features\n * @param {string} username the username for the context data\n * @returns {string} the user context data\n **/;\n _proto.getUserContextData = function getUserContextData(username) {\n if (typeof AmazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n /* eslint-disable */\n var amazonCognitoAdvancedSecurityDataConst = AmazonCognitoAdvancedSecurityData;\n /* eslint-enable */\n\n if (this.advancedSecurityDataCollectionFlag) {\n var advancedSecurityData = amazonCognitoAdvancedSecurityDataConst.getData(username, this.userPoolId, this.clientId);\n if (advancedSecurityData) {\n var userContextData = {\n EncodedData: advancedSecurityData\n };\n return userContextData;\n }\n }\n return {};\n };\n return CognitoUserPool;\n}();\nexport { CognitoUserPool as default };","export var AuthErrorStrings;\n(function (AuthErrorStrings) {\n AuthErrorStrings[\"DEFAULT_MSG\"] = \"Authentication Error\";\n AuthErrorStrings[\"EMPTY_EMAIL\"] = \"Email cannot be empty\";\n AuthErrorStrings[\"EMPTY_PHONE\"] = \"Phone number cannot be empty\";\n AuthErrorStrings[\"EMPTY_USERNAME\"] = \"Username cannot be empty\";\n AuthErrorStrings[\"INVALID_USERNAME\"] = \"The username should either be a string or one of the sign in types\";\n AuthErrorStrings[\"EMPTY_PASSWORD\"] = \"Password cannot be empty\";\n AuthErrorStrings[\"EMPTY_CODE\"] = \"Confirmation code cannot be empty\";\n AuthErrorStrings[\"SIGN_UP_ERROR\"] = \"Error creating account\";\n AuthErrorStrings[\"NO_MFA\"] = \"No valid MFA method provided\";\n AuthErrorStrings[\"INVALID_MFA\"] = \"Invalid MFA type\";\n AuthErrorStrings[\"EMPTY_CHALLENGE\"] = \"Challenge response cannot be empty\";\n AuthErrorStrings[\"NO_USER_SESSION\"] = \"Failed to get the session because the user is empty\";\n AuthErrorStrings[\"NETWORK_ERROR\"] = \"Network Error\";\n AuthErrorStrings[\"DEVICE_CONFIG\"] = \"Device tracking has not been configured in this User Pool\";\n AuthErrorStrings[\"AUTOSIGNIN_ERROR\"] = \"Please use your credentials to sign in\";\n})(AuthErrorStrings || (AuthErrorStrings = {}));\n//# sourceMappingURL=AuthErrorStrings.js.map","import * as Cookies from 'js-cookie';\n\n/** @class */\nvar CookieStorage = /*#__PURE__*/function () {\n /**\n * Constructs a new CookieStorage object\n * @param {object} data Creation options.\n * @param {string} data.domain Cookies domain (mandatory).\n * @param {string} data.path Cookies path (default: '/')\n * @param {integer} data.expires Cookie expiration (in days, default: 365)\n * @param {boolean} data.secure Cookie secure flag (default: true)\n * @param {string} data.sameSite Cookie request behaviour (default: null)\n */\n function CookieStorage(data) {\n if (data.domain) {\n this.domain = data.domain;\n } else {\n throw new Error('The domain of cookieStorage can not be undefined.');\n }\n if (data.path) {\n this.path = data.path;\n } else {\n this.path = '/';\n }\n if (Object.prototype.hasOwnProperty.call(data, 'expires')) {\n this.expires = data.expires;\n } else {\n this.expires = 365;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'secure')) {\n this.secure = data.secure;\n } else {\n this.secure = true;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!['strict', 'lax', 'none'].includes(data.sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n if (data.sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n this.sameSite = data.sameSite;\n } else {\n this.sameSite = null;\n }\n }\n\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n var _proto = CookieStorage.prototype;\n _proto.setItem = function setItem(key, value) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n Cookies.set(key, value, options);\n return Cookies.get(key);\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n _proto.getItem = function getItem(key) {\n return Cookies.get(key);\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */;\n _proto.removeItem = function removeItem(key) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n return Cookies.remove(key, options);\n }\n\n /**\n * This is used to clear the storage of optional\n * items that were previously set\n * @returns {} an empty object\n */;\n _proto.clear = function clear() {\n var cookies = Cookies.get();\n var numKeys = Object.keys(cookies).length;\n for (var index = 0; index < numKeys; ++index) {\n this.removeItem(Object.keys(cookies)[index]);\n }\n return {};\n };\n return CookieStorage;\n}();\nexport { CookieStorage as default };","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar SELF = '_self';\nexport var launchUri = function (url) {\n var windowProxy = window.open(url, SELF);\n if (windowProxy) {\n return Promise.resolve(windowProxy);\n }\n else {\n return Promise.reject();\n }\n};\n//# sourceMappingURL=urlOpener.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { parse } from 'url'; // Used for OAuth parsing of Cognito Hosted UI\nimport { launchUri } from './urlOpener';\nimport * as oAuthStorage from './oauthStorage';\nimport { Buffer } from 'buffer';\nimport { isCognitoHostedOpts, CognitoHostedUIIdentityProvider, } from '../types/Auth';\nimport { ConsoleLogger as Logger, Hub, urlSafeEncode } from '@aws-amplify/core';\nimport { Sha256 } from '@aws-crypto/sha256-js';\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchAuthEvent = function (event, data, message) {\n Hub.dispatch('auth', { event: event, data: data, message: message }, 'Auth', AMPLIFY_SYMBOL);\n};\nvar logger = new Logger('OAuth');\nvar OAuth = /** @class */ (function () {\n function OAuth(_a) {\n var config = _a.config, cognitoClientId = _a.cognitoClientId, _b = _a.scopes, scopes = _b === void 0 ? [] : _b;\n this._urlOpener = config.urlOpener || launchUri;\n this._config = config;\n this._cognitoClientId = cognitoClientId;\n if (!this.isValidScopes(scopes))\n throw Error('scopes must be a String Array');\n this._scopes = scopes;\n }\n OAuth.prototype.isValidScopes = function (scopes) {\n return (Array.isArray(scopes) && scopes.every(function (scope) { return typeof scope === 'string'; }));\n };\n OAuth.prototype.oauthSignIn = function (responseType, domain, redirectSignIn, clientId, provider, customState) {\n if (responseType === void 0) { responseType = 'code'; }\n if (provider === void 0) { provider = CognitoHostedUIIdentityProvider.Cognito; }\n var generatedState = this._generateState(32);\n /* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito\n single-encodes/decodes url on first sign in and double-encodes/decodes url\n when user already signed in. Using encodeURIComponent, Base32, Base64 add\n characters % or = which on further encoding becomes unsafe. '=' create issue\n for parsing query params.\n Refer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n var state = customState\n ? generatedState + \"-\" + urlSafeEncode(customState)\n : generatedState;\n oAuthStorage.setState(state);\n var pkce_key = this._generateRandom(128);\n oAuthStorage.setPKCE(pkce_key);\n var code_challenge = this._generateChallenge(pkce_key);\n var code_challenge_method = 'S256';\n var scopesString = this._scopes.join(' ');\n var queryString = Object.entries(__assign(__assign({ redirect_uri: redirectSignIn, response_type: responseType, client_id: clientId, identity_provider: provider, scope: scopesString, state: state }, (responseType === 'code' ? { code_challenge: code_challenge } : {})), (responseType === 'code' ? { code_challenge_method: code_challenge_method } : {})))\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(v);\n })\n .join('&');\n var URL = \"https://\" + domain + \"/oauth2/authorize?\" + queryString;\n logger.debug(\"Redirecting to \" + URL);\n this._urlOpener(URL, redirectSignIn);\n };\n OAuth.prototype._handleCodeFlow = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var code, currentUrlPathname, redirectSignInPathname, oAuthTokenEndpoint, client_id, redirect_uri, code_verifier, oAuthTokenBody, body, _a, access_token, refresh_token, id_token, error;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n code = (parse(currentUrl).query || '')\n .split('&')\n .map(function (pairings) { return pairings.split('='); })\n .reduce(function (accum, _a) {\n var _b;\n var _c = __read(_a, 2), k = _c[0], v = _c[1];\n return (__assign(__assign({}, accum), (_b = {}, _b[k] = v, _b)));\n }, { code: undefined }).code;\n currentUrlPathname = parse(currentUrl).pathname || '/';\n redirectSignInPathname = parse(this._config.redirectSignIn).pathname || '/';\n if (!code || currentUrlPathname !== redirectSignInPathname) {\n return [2 /*return*/];\n }\n oAuthTokenEndpoint = 'https://' + this._config.domain + '/oauth2/token';\n dispatchAuthEvent('codeFlow', {}, \"Retrieving tokens from \" + oAuthTokenEndpoint);\n client_id = isCognitoHostedOpts(this._config)\n ? this._cognitoClientId\n : this._config.clientID;\n redirect_uri = isCognitoHostedOpts(this._config)\n ? this._config.redirectSignIn\n : this._config.redirectUri;\n code_verifier = oAuthStorage.getPKCE();\n oAuthTokenBody = __assign({ grant_type: 'authorization_code', code: code,\n client_id: client_id,\n redirect_uri: redirect_uri }, (code_verifier ? { code_verifier: code_verifier } : {}));\n logger.debug(\"Calling token endpoint: \" + oAuthTokenEndpoint + \" with\", oAuthTokenBody);\n body = Object.entries(oAuthTokenBody)\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(v);\n })\n .join('&');\n return [4 /*yield*/, fetch(oAuthTokenEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: body,\n })];\n case 1: return [4 /*yield*/, (_b.sent()).json()];\n case 2:\n _a = _b.sent(), access_token = _a.access_token, refresh_token = _a.refresh_token, id_token = _a.id_token, error = _a.error;\n if (error) {\n throw new Error(error);\n }\n return [2 /*return*/, {\n accessToken: access_token,\n refreshToken: refresh_token,\n idToken: id_token,\n }];\n }\n });\n });\n };\n OAuth.prototype._handleImplicitFlow = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, id_token, access_token;\n return __generator(this, function (_b) {\n _a = (parse(currentUrl).hash || '#')\n .substr(1) // Remove # from returned code\n .split('&')\n .map(function (pairings) { return pairings.split('='); })\n .reduce(function (accum, _a) {\n var _b;\n var _c = __read(_a, 2), k = _c[0], v = _c[1];\n return (__assign(__assign({}, accum), (_b = {}, _b[k] = v, _b)));\n }, {\n id_token: undefined,\n access_token: undefined,\n }), id_token = _a.id_token, access_token = _a.access_token;\n dispatchAuthEvent('implicitFlow', {}, \"Got tokens from \" + currentUrl);\n logger.debug(\"Retrieving implicit tokens from \" + currentUrl + \" with\");\n return [2 /*return*/, {\n accessToken: access_token,\n idToken: id_token,\n refreshToken: null,\n }];\n });\n });\n };\n OAuth.prototype.handleAuthResponse = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var urlParams, error, error_description, state, _a, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 5, , 6]);\n urlParams = currentUrl\n ? __assign(__assign({}, (parse(currentUrl).hash || '#')\n .substr(1)\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return ((acc[k] = v), acc);\n }, {})), (parse(currentUrl).query || '')\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return ((acc[k] = v), acc);\n }, {}))\n : {};\n error = urlParams.error, error_description = urlParams.error_description;\n if (error) {\n throw new Error(error_description);\n }\n state = this._validateState(urlParams);\n logger.debug(\"Starting \" + this._config.responseType + \" flow with \" + currentUrl);\n if (!(this._config.responseType === 'code')) return [3 /*break*/, 2];\n _a = [{}];\n return [4 /*yield*/, this._handleCodeFlow(currentUrl)];\n case 1: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_c.sent())])), { state: state }])];\n case 2:\n _b = [{}];\n return [4 /*yield*/, this._handleImplicitFlow(currentUrl)];\n case 3: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.sent())])), { state: state }])];\n case 4: return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n logger.error(\"Error handling auth response.\", e_1);\n throw e_1;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n OAuth.prototype._validateState = function (urlParams) {\n if (!urlParams) {\n return;\n }\n var savedState = oAuthStorage.getState();\n var returnedState = urlParams.state;\n // This is because savedState only exists if the flow was initiated by Amplify\n if (savedState && savedState !== returnedState) {\n throw new Error('Invalid state in OAuth flow');\n }\n return returnedState;\n };\n OAuth.prototype.signOut = function () {\n return __awaiter(this, void 0, void 0, function () {\n var oAuthLogoutEndpoint, client_id, signout_uri;\n return __generator(this, function (_a) {\n oAuthLogoutEndpoint = 'https://' + this._config.domain + '/logout?';\n client_id = isCognitoHostedOpts(this._config)\n ? this._cognitoClientId\n : this._config.oauth.clientID;\n signout_uri = isCognitoHostedOpts(this._config)\n ? this._config.redirectSignOut\n : this._config.returnTo;\n oAuthLogoutEndpoint += Object.entries({\n client_id: client_id,\n logout_uri: encodeURIComponent(signout_uri),\n })\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return k + \"=\" + v;\n })\n .join('&');\n dispatchAuthEvent('oAuthSignOut', { oAuth: 'signOut' }, \"Signing out from \" + oAuthLogoutEndpoint);\n logger.debug(\"Signing out from \" + oAuthLogoutEndpoint);\n return [2 /*return*/, this._urlOpener(oAuthLogoutEndpoint, signout_uri)];\n });\n });\n };\n OAuth.prototype._generateState = function (length) {\n var result = '';\n var i = length;\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (; i > 0; --i)\n result += chars[Math.round(Math.random() * (chars.length - 1))];\n return result;\n };\n OAuth.prototype._generateChallenge = function (code) {\n var awsCryptoHash = new Sha256();\n awsCryptoHash.update(code);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var b64 = Buffer.from(resultFromAWSCrypto).toString('base64');\n var base64URLFromAWSCrypto = this._base64URL(b64);\n return base64URLFromAWSCrypto;\n };\n OAuth.prototype._base64URL = function (string) {\n return string.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n };\n OAuth.prototype._generateRandom = function (size) {\n var CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n var buffer = new Uint8Array(size);\n if (typeof window !== 'undefined' && !!window.crypto) {\n window.crypto.getRandomValues(buffer);\n }\n else {\n for (var i = 0; i < size; i += 1) {\n buffer[i] = (Math.random() * CHARSET.length) | 0;\n }\n }\n return this._bufferToString(buffer);\n };\n OAuth.prototype._bufferToString = function (buffer) {\n var CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var state = [];\n for (var i = 0; i < buffer.byteLength; i += 1) {\n var index = buffer[i] % CHARSET.length;\n state.push(CHARSET[index]);\n }\n return state.join('');\n };\n return OAuth;\n}());\nexport default OAuth;\n//# sourceMappingURL=OAuth.js.map","export function urlSafeEncode(str) {\n return str\n .split('')\n .map(function (char) {\n return char\n .charCodeAt(0)\n .toString(16)\n .padStart(2, '0');\n })\n .join('');\n}\nexport function urlSafeDecode(hex) {\n return hex\n .match(/.{2}/g)\n .map(function (char) { return String.fromCharCode(parseInt(char, 16)); })\n .join('');\n}\n//# sourceMappingURL=StringUtils.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var setState = function (state) {\n window.sessionStorage.setItem('oauth_state', state);\n};\nexport var getState = function () {\n var oauth_state = window.sessionStorage.getItem('oauth_state');\n window.sessionStorage.removeItem('oauth_state');\n return oauth_state;\n};\nexport var setPKCE = function (private_key) {\n window.sessionStorage.setItem('ouath_pkce_key', private_key);\n};\nexport var getPKCE = function () {\n var ouath_pkce_key = window.sessionStorage.getItem('ouath_pkce_key');\n window.sessionStorage.removeItem('ouath_pkce_key');\n return ouath_pkce_key;\n};\nexport var clearAll = function () {\n window.sessionStorage.removeItem('ouath_pkce_key');\n window.sessionStorage.removeItem('oauth_state');\n};\n//# sourceMappingURL=oauthStorage.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __extends } from \"tslib\";\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\nvar logger = new Logger('AuthError');\nvar AuthError = /** @class */ (function (_super) {\n __extends(AuthError, _super);\n function AuthError(type) {\n var _this = this;\n var _a = authErrorMessages[type], message = _a.message, log = _a.log;\n _this = _super.call(this, message) || this;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n _this.constructor = AuthError;\n Object.setPrototypeOf(_this, AuthError.prototype);\n _this.name = 'AuthError';\n _this.log = log || message;\n logger.error(_this.log);\n return _this;\n }\n return AuthError;\n}(Error));\nexport { AuthError };\nvar NoUserPoolError = /** @class */ (function (_super) {\n __extends(NoUserPoolError, _super);\n function NoUserPoolError(type) {\n var _this = _super.call(this, type) || this;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n _this.constructor = NoUserPoolError;\n Object.setPrototypeOf(_this, NoUserPoolError.prototype);\n _this.name = 'NoUserPoolError';\n return _this;\n }\n return NoUserPoolError;\n}(AuthError));\nexport { NoUserPoolError };\nexport var authErrorMessages = {\n noConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: \"\\n Error: Amplify has not been configured correctly.\\n This error is typically caused by one of the following scenarios:\\n\\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\\n \\n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\\n\\t\\t\\t\\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\\n \",\n },\n missingAuthConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: \"\\n Error: Amplify has not been configured correctly. \\n The configuration object is missing required auth properties.\\n This error is typically caused by one of the following scenarios:\\n\\n 1. Did you run `amplify push` after adding auth via `amplify add auth`?\\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\\n\\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\\n \",\n },\n emptyUsername: {\n message: AuthErrorStrings.EMPTY_USERNAME,\n },\n // TODO: should include a list of valid sign-in types\n invalidUsername: {\n message: AuthErrorStrings.INVALID_USERNAME,\n },\n emptyPassword: {\n message: AuthErrorStrings.EMPTY_PASSWORD,\n },\n emptyCode: {\n message: AuthErrorStrings.EMPTY_CODE,\n },\n signUpError: {\n message: AuthErrorStrings.SIGN_UP_ERROR,\n log: 'The first parameter should either be non-null string or object',\n },\n noMFA: {\n message: AuthErrorStrings.NO_MFA,\n },\n invalidMFA: {\n message: AuthErrorStrings.INVALID_MFA,\n },\n emptyChallengeResponse: {\n message: AuthErrorStrings.EMPTY_CHALLENGE,\n },\n noUserSession: {\n message: AuthErrorStrings.NO_USER_SESSION,\n },\n deviceConfig: {\n message: AuthErrorStrings.DEVICE_CONFIG,\n },\n networkError: {\n message: AuthErrorStrings.NETWORK_ERROR,\n },\n autoSignInError: {\n message: AuthErrorStrings.AUTOSIGNIN_ERROR,\n },\n default: {\n message: AuthErrorStrings.DEFAULT_MSG,\n },\n};\n//# sourceMappingURL=Errors.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { isUsernamePasswordOpts, isCognitoHostedOpts, isFederatedSignInOptions, isFederatedSignInOptionsCustom, hasCustomState, } from './types';\nimport { Amplify, ConsoleLogger as Logger, Credentials, Hub, StorageHelper, browserOrNode, parseAWSExports, UniversalStorage, urlSafeDecode, } from '@aws-amplify/core';\nimport { CookieStorage, CognitoUserPool, AuthenticationDetails, CognitoUser, CognitoUserSession, CognitoUserAttribute, CognitoIdToken, CognitoRefreshToken, CognitoAccessToken, } from 'amazon-cognito-identity-js';\nimport { parse } from 'url';\nimport OAuth from './OAuth/OAuth';\nimport { default as urlListener } from './urlListener';\nimport { AuthError, NoUserPoolError } from './Errors';\nimport { AuthErrorTypes, CognitoHostedUIIdentityProvider, } from './types/Auth';\nvar logger = new Logger('AuthClass');\nvar USER_ADMIN_SCOPE = 'aws.cognito.signin.user.admin';\n// 10 sec, following this guide https://www.nngroup.com/articles/response-times-3-important-limits/\nvar OAUTH_FLOW_MS_TIMEOUT = 10 * 1000;\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchAuthEvent = function (event, data, message) {\n Hub.dispatch('auth', { event: event, data: data, message: message }, 'Auth', AMPLIFY_SYMBOL);\n};\n// Cognito Documentation for max device\n// tslint:disable-next-line:max-line-length\n// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListDevices.html#API_ListDevices_RequestSyntax\nvar MAX_DEVICES = 60;\nvar MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\n/**\n * Provide authentication steps\n */\nvar AuthClass = /** @class */ (function () {\n /**\n * Initialize Auth with AWS configurations\n * @param {Object} config - Configuration of the Auth\n */\n function AuthClass(config) {\n var _this = this;\n this.userPool = null;\n this.user = null;\n this.oAuthFlowInProgress = false;\n this.autoSignInInitiated = false;\n this.inflightSessionPromise = null;\n this.inflightSessionPromiseCounter = 0;\n this.Credentials = Credentials;\n this.wrapRefreshSessionCallback = function (callback) {\n var wrapped = function (error, data) {\n if (data) {\n dispatchAuthEvent('tokenRefresh', undefined, \"New token retrieved\");\n }\n else {\n dispatchAuthEvent('tokenRefresh_failure', error, \"Failed to retrieve new token\");\n }\n return callback(error, data);\n };\n return wrapped;\n }; // prettier-ignore\n this.configure(config);\n this.currentCredentials = this.currentCredentials.bind(this);\n this.currentUserCredentials = this.currentUserCredentials.bind(this);\n Hub.listen('auth', function (_a) {\n var payload = _a.payload;\n var event = payload.event;\n switch (event) {\n case 'signIn':\n _this._storage.setItem('amplify-signin-with-hostedUI', 'false');\n break;\n case 'signOut':\n _this._storage.removeItem('amplify-signin-with-hostedUI');\n break;\n case 'cognitoHostedUI':\n _this._storage.setItem('amplify-signin-with-hostedUI', 'true');\n break;\n }\n });\n }\n AuthClass.prototype.getModuleName = function () {\n return 'Auth';\n };\n AuthClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config || {};\n logger.debug('configure Auth');\n var conf = Object.assign({}, this._config, parseAWSExports(config).Auth, config);\n this._config = conf;\n var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, oauth = _a.oauth, region = _a.region, identityPoolId = _a.identityPoolId, mandatorySignIn = _a.mandatorySignIn, refreshHandlers = _a.refreshHandlers, identityPoolRegion = _a.identityPoolRegion, clientMetadata = _a.clientMetadata, endpoint = _a.endpoint;\n if (!this._config.storage) {\n // backward compatability\n if (cookieStorage)\n this._storage = new CookieStorage(cookieStorage);\n else {\n this._storage = config.ssr\n ? new UniversalStorage()\n : new StorageHelper().getStorage();\n }\n }\n else {\n if (!this._isValidAuthStorage(this._config.storage)) {\n logger.error('The storage in the Auth config is not valid!');\n throw new Error('Empty storage object');\n }\n this._storage = this._config.storage;\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n if (userPoolId) {\n var userPoolData = {\n UserPoolId: userPoolId,\n ClientId: userPoolWebClientId,\n endpoint: endpoint,\n };\n userPoolData.Storage = this._storage;\n this.userPool = new CognitoUserPool(userPoolData, this.wrapRefreshSessionCallback);\n }\n this.Credentials.configure({\n mandatorySignIn: mandatorySignIn,\n region: region,\n userPoolId: userPoolId,\n identityPoolId: identityPoolId,\n refreshHandlers: refreshHandlers,\n storage: this._storage,\n identityPoolRegion: identityPoolRegion\n });\n // initialize cognitoauth client if hosted ui options provided\n // to keep backward compatibility:\n var cognitoHostedUIConfig = oauth\n ? isCognitoHostedOpts(this._config.oauth)\n ? oauth\n : oauth.awsCognito\n : undefined;\n if (cognitoHostedUIConfig) {\n var cognitoAuthParams = Object.assign({\n cognitoClientId: userPoolWebClientId,\n UserPoolId: userPoolId,\n domain: cognitoHostedUIConfig['domain'],\n scopes: cognitoHostedUIConfig['scope'],\n redirectSignIn: cognitoHostedUIConfig['redirectSignIn'],\n redirectSignOut: cognitoHostedUIConfig['redirectSignOut'],\n responseType: cognitoHostedUIConfig['responseType'],\n Storage: this._storage,\n urlOpener: cognitoHostedUIConfig['urlOpener'],\n clientMetadata: clientMetadata,\n }, cognitoHostedUIConfig['options']);\n this._oAuthHandler = new OAuth({\n scopes: cognitoAuthParams.scopes,\n config: cognitoAuthParams,\n cognitoClientId: cognitoAuthParams.cognitoClientId,\n });\n // **NOTE** - Remove this in a future major release as it is a breaking change\n // Prevents _handleAuthResponse from being called multiple times in Expo\n // See https://github.com/aws-amplify/amplify-js/issues/4388\n var usedResponseUrls_1 = {};\n urlListener(function (_a) {\n var url = _a.url;\n if (usedResponseUrls_1[url]) {\n return;\n }\n usedResponseUrls_1[url] = true;\n _this._handleAuthResponse(url);\n });\n }\n dispatchAuthEvent('configured', null, \"The Auth category has been configured successfully\");\n if (!this.autoSignInInitiated &&\n typeof this._storage['getItem'] === 'function') {\n var pollingInitiated = this.isTrueStorageValue('amplify-polling-started');\n if (pollingInitiated) {\n dispatchAuthEvent('autoSignIn_failure', null, AuthErrorTypes.AutoSignInError);\n this._storage.removeItem('amplify-auto-sign-in');\n }\n this._storage.removeItem('amplify-polling-started');\n }\n return this._config;\n };\n /**\n * Sign up with username, password and other attributes like phone, email\n * @param {String | object} params - The user attributes used for signin\n * @param {String[]} restOfAttrs - for the backward compatability\n * @return - A promise resolves callback data if success\n */\n AuthClass.prototype.signUp = function (params) {\n var _this = this;\n var restOfAttrs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n restOfAttrs[_i - 1] = arguments[_i];\n }\n var _a, _b, _c;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n var username = null;\n var password = null;\n var attributes = [];\n var validationData = null;\n var clientMetadata;\n var autoSignIn = { enabled: false };\n var autoSignInValidationData = {};\n var autoSignInClientMetaData = {};\n if (params && typeof params === 'string') {\n username = params;\n password = restOfAttrs ? restOfAttrs[0] : null;\n var email = restOfAttrs ? restOfAttrs[1] : null;\n var phone_number = restOfAttrs ? restOfAttrs[2] : null;\n if (email)\n attributes.push(new CognitoUserAttribute({ Name: 'email', Value: email }));\n if (phone_number)\n attributes.push(new CognitoUserAttribute({\n Name: 'phone_number',\n Value: phone_number,\n }));\n }\n else if (params && typeof params === 'object') {\n username = params['username'];\n password = params['password'];\n if (params && params.clientMetadata) {\n clientMetadata = params.clientMetadata;\n }\n else if (this._config.clientMetadata) {\n clientMetadata = this._config.clientMetadata;\n }\n var attrs_1 = params['attributes'];\n if (attrs_1) {\n Object.keys(attrs_1).map(function (key) {\n attributes.push(new CognitoUserAttribute({ Name: key, Value: attrs_1[key] }));\n });\n }\n var validationDataObject_1 = params['validationData'];\n if (validationDataObject_1) {\n validationData = [];\n Object.keys(validationDataObject_1).map(function (key) {\n validationData.push(new CognitoUserAttribute({\n Name: key,\n Value: validationDataObject_1[key],\n }));\n });\n }\n autoSignIn = (_a = params.autoSignIn) !== null && _a !== void 0 ? _a : { enabled: false };\n if (autoSignIn.enabled) {\n this._storage.setItem('amplify-auto-sign-in', 'true');\n autoSignInValidationData = (_b = autoSignIn.validationData) !== null && _b !== void 0 ? _b : {};\n autoSignInClientMetaData = (_c = autoSignIn.clientMetaData) !== null && _c !== void 0 ? _c : {};\n }\n }\n else {\n return this.rejectAuthError(AuthErrorTypes.SignUpError);\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n logger.debug('signUp attrs:', attributes);\n logger.debug('signUp validation data:', validationData);\n return new Promise(function (resolve, reject) {\n _this.userPool.signUp(username, password, attributes, validationData, function (err, data) {\n if (err) {\n dispatchAuthEvent('signUp_failure', err, username + \" failed to signup\");\n reject(err);\n }\n else {\n dispatchAuthEvent('signUp', data, username + \" has signed up successfully\");\n if (autoSignIn.enabled) {\n _this.handleAutoSignIn(username, password, autoSignInValidationData, autoSignInClientMetaData, data);\n }\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n AuthClass.prototype.handleAutoSignIn = function (username, password, validationData, clientMetadata, data) {\n this.autoSignInInitiated = true;\n var authDetails = new AuthenticationDetails({\n Username: username,\n Password: password,\n ValidationData: validationData,\n ClientMetadata: clientMetadata,\n });\n if (data.userConfirmed) {\n this.signInAfterUserConfirmed(authDetails);\n }\n else if (this._config.signUpVerificationMethod === 'link') {\n this.handleLinkAutoSignIn(authDetails);\n }\n else {\n this.handleCodeAutoSignIn(authDetails);\n }\n };\n AuthClass.prototype.handleCodeAutoSignIn = function (authDetails) {\n var _this = this;\n var listenEvent = function (_a) {\n var payload = _a.payload;\n if (payload.event === 'confirmSignUp') {\n _this.signInAfterUserConfirmed(authDetails, listenEvent);\n }\n };\n Hub.listen('auth', listenEvent);\n };\n AuthClass.prototype.handleLinkAutoSignIn = function (authDetails) {\n var _this = this;\n this._storage.setItem('amplify-polling-started', 'true');\n var start = Date.now();\n var autoSignInPollingIntervalId = setInterval(function () {\n if (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {\n clearInterval(autoSignInPollingIntervalId);\n dispatchAuthEvent('autoSignIn_failure', null, 'Please confirm your account and use your credentials to sign in.');\n _this._storage.removeItem('amplify-auto-sign-in');\n }\n else {\n _this.signInAfterUserConfirmed(authDetails, null, autoSignInPollingIntervalId);\n }\n }, 5000);\n };\n AuthClass.prototype.signInAfterUserConfirmed = function (authDetails, listenEvent, autoSignInPollingIntervalId) {\n return __awaiter(this, void 0, void 0, function () {\n var user, error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n user = this.createCognitoUser(authDetails.getUsername());\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, user.authenticateUser(authDetails, this.authCallbacks(user, function (value) {\n dispatchAuthEvent('autoSignIn', value, authDetails.getUsername() + \" has signed in successfully\");\n if (listenEvent) {\n Hub.remove('auth', listenEvent);\n }\n if (autoSignInPollingIntervalId) {\n clearInterval(autoSignInPollingIntervalId);\n _this._storage.removeItem('amplify-polling-started');\n }\n _this._storage.removeItem('amplify-auto-sign-in');\n }, function (error) {\n logger.error(error);\n _this._storage.removeItem('amplify-auto-sign-in');\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n logger.error(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Send the verification code to confirm sign up\n * @param {String} username - The username to be confirmed\n * @param {String} code - The verification code\n * @param {ConfirmSignUpOptions} options - other options for confirm signup\n * @return - A promise resolves callback data if success\n */\n AuthClass.prototype.confirmSignUp = function (username, code, options) {\n var _this = this;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n var user = this.createCognitoUser(username);\n var forceAliasCreation = options && typeof options.forceAliasCreation === 'boolean'\n ? options.forceAliasCreation\n : true;\n var clientMetadata;\n if (options && options.clientMetadata) {\n clientMetadata = options.clientMetadata;\n }\n else if (this._config.clientMetadata) {\n clientMetadata = this._config.clientMetadata;\n }\n return new Promise(function (resolve, reject) {\n user.confirmRegistration(code, forceAliasCreation, function (err, data) {\n if (err) {\n reject(err);\n }\n else {\n dispatchAuthEvent('confirmSignUp', data, username + \" has been confirmed successfully\");\n var autoSignIn = _this.isTrueStorageValue('amplify-auto-sign-in');\n if (autoSignIn && !_this.autoSignInInitiated) {\n dispatchAuthEvent('autoSignIn_failure', null, AuthErrorTypes.AutoSignInError);\n _this._storage.removeItem('amplify-auto-sign-in');\n }\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n AuthClass.prototype.isTrueStorageValue = function (value) {\n var item = this._storage.getItem(value);\n return item ? item === 'true' : false;\n };\n /**\n * Resend the verification code\n * @param {String} username - The username to be confirmed\n * @param {ClientMetadata} clientMetadata - Metadata to be passed to Cognito Lambda triggers\n * @return - A promise resolves code delivery details if successful\n */\n AuthClass.prototype.resendSignUp = function (username, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.resendConfirmationCode(function (err, data) {\n if (err) {\n reject(err);\n }\n else {\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n /**\n * Sign in\n * @param {String | SignInOpts} usernameOrSignInOpts - The username to be signed in or the sign in options\n * @param {String} pw - The password of the username\n * @param {ClientMetaData} clientMetadata - Client metadata for custom workflows\n * @return - A promise resolves the CognitoUser\n */\n AuthClass.prototype.signIn = function (usernameOrSignInOpts, pw, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n var username = null;\n var password = null;\n var validationData = {};\n // for backward compatibility\n if (typeof usernameOrSignInOpts === 'string') {\n username = usernameOrSignInOpts;\n password = pw;\n }\n else if (isUsernamePasswordOpts(usernameOrSignInOpts)) {\n if (typeof pw !== 'undefined') {\n logger.warn('The password should be defined under the first parameter object!');\n }\n username = usernameOrSignInOpts.username;\n password = usernameOrSignInOpts.password;\n validationData = usernameOrSignInOpts.validationData;\n }\n else {\n return this.rejectAuthError(AuthErrorTypes.InvalidUsername);\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var authDetails = new AuthenticationDetails({\n Username: username,\n Password: password,\n ValidationData: validationData,\n ClientMetadata: clientMetadata,\n });\n if (password) {\n return this.signInWithPassword(authDetails);\n }\n else {\n return this.signInWithoutPassword(authDetails);\n }\n };\n /**\n * Return an object with the authentication callbacks\n * @param {CognitoUser} user - the cognito user object\n * @param {} resolve - function called when resolving the current step\n * @param {} reject - function called when rejecting the current step\n * @return - an object with the callback methods for user authentication\n */\n AuthClass.prototype.authCallbacks = function (user, resolve, reject) {\n var _this = this;\n var that = this;\n return {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_1, currentUser, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n delete user['challengeName'];\n delete user['challengeParam'];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 9]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 9];\n case 4:\n e_1 = _a.sent();\n logger.debug('cannot get cognito credentials', e_1);\n return [3 /*break*/, 9];\n case 5:\n _a.trys.push([5, 7, , 8]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 6:\n currentUser = _a.sent();\n that.user = currentUser;\n dispatchAuthEvent('signIn', currentUser, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(currentUser);\n return [3 /*break*/, 8];\n case 7:\n e_2 = _a.sent();\n logger.error('Failed to get the signed in user', e_2);\n reject(e_2);\n return [3 /*break*/, 8];\n case 8: return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('signIn failure', err);\n dispatchAuthEvent('signIn_failure', err, user.getUsername() + \" failed to signin\");\n reject(err);\n },\n customChallenge: function (challengeParam) {\n logger.debug('signIn custom challenge answer required');\n user['challengeName'] = 'CUSTOM_CHALLENGE';\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaRequired: function (challengeName, challengeParam) {\n logger.debug('signIn MFA required');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaSetup: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n newPasswordRequired: function (userAttributes, requiredAttributes) {\n logger.debug('signIn new password');\n user['challengeName'] = 'NEW_PASSWORD_REQUIRED';\n user['challengeParam'] = {\n userAttributes: userAttributes,\n requiredAttributes: requiredAttributes,\n };\n resolve(user);\n },\n totpRequired: function (challengeName, challengeParam) {\n logger.debug('signIn totpRequired');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n selectMFAType: function (challengeName, challengeParam) {\n logger.debug('signIn selectMFAType', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n };\n };\n /**\n * Sign in with a password\n * @private\n * @param {AuthenticationDetails} authDetails - the user sign in data\n * @return - A promise resolves the CognitoUser object if success or mfa required\n */\n AuthClass.prototype.signInWithPassword = function (authDetails) {\n var _this = this;\n if (this.pendingSignIn) {\n throw new Error('Pending sign-in attempt already in progress');\n }\n var user = this.createCognitoUser(authDetails.getUsername());\n this.pendingSignIn = new Promise(function (resolve, reject) {\n user.authenticateUser(authDetails, _this.authCallbacks(user, function (value) {\n _this.pendingSignIn = null;\n resolve(value);\n }, function (error) {\n _this.pendingSignIn = null;\n reject(error);\n }));\n });\n return this.pendingSignIn;\n };\n /**\n * Sign in without a password\n * @private\n * @param {AuthenticationDetails} authDetails - the user sign in data\n * @return - A promise resolves the CognitoUser object if success or mfa required\n */\n AuthClass.prototype.signInWithoutPassword = function (authDetails) {\n var _this = this;\n var user = this.createCognitoUser(authDetails.getUsername());\n user.setAuthenticationFlowType('CUSTOM_AUTH');\n return new Promise(function (resolve, reject) {\n user.initiateAuth(authDetails, _this.authCallbacks(user, resolve, reject));\n });\n };\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves the current preferred mfa option if success\n */\n AuthClass.prototype.getMFAOptions = function (user) {\n return new Promise(function (res, rej) {\n user.getMFAOptions(function (err, mfaOptions) {\n if (err) {\n logger.debug('get MFA Options failed', err);\n rej(err);\n return;\n }\n logger.debug('get MFA options success', mfaOptions);\n res(mfaOptions);\n return;\n });\n });\n };\n /**\n * get preferred mfa method\n * @param {CognitoUser} user - the current cognito user\n * @param {GetPreferredMFAOpts} params - options for getting the current user preferred MFA\n */\n AuthClass.prototype.getPreferredMFA = function (user, params) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n var bypassCache = params ? params.bypassCache : false;\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_1, mfaType;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting preferred mfa failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_1 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_1.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n mfaType = that._getMfaTypeFromUserData(data);\n if (!mfaType) {\n rej('invalid MFA Type');\n return [2 /*return*/];\n }\n else {\n res(mfaType);\n return [2 /*return*/];\n }\n return [2 /*return*/];\n }\n });\n }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });\n });\n };\n AuthClass.prototype._getMfaTypeFromUserData = function (data) {\n var ret = null;\n var preferredMFA = data.PreferredMfaSetting;\n // if the user has used Auth.setPreferredMFA() to setup the mfa type\n // then the \"PreferredMfaSetting\" would exist in the response\n if (preferredMFA) {\n ret = preferredMFA;\n }\n else {\n // if mfaList exists but empty, then its noMFA\n var mfaList = data.UserMFASettingList;\n if (!mfaList) {\n // if SMS was enabled by using Auth.enableSMS(),\n // the response would contain MFAOptions\n // as for now Cognito only supports for SMS, so we will say it is 'SMS_MFA'\n // if it does not exist, then it should be NOMFA\n var MFAOptions = data.MFAOptions;\n if (MFAOptions) {\n ret = 'SMS_MFA';\n }\n else {\n ret = 'NOMFA';\n }\n }\n else if (mfaList.length === 0) {\n ret = 'NOMFA';\n }\n else {\n logger.debug('invalid case for getPreferredMFA', data);\n }\n }\n return ret;\n };\n AuthClass.prototype._getUserData = function (user, params) {\n var _this = this;\n return new Promise(function (res, rej) {\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_2 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_2.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n res(data);\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); }, params);\n });\n };\n /**\n * set preferred MFA method\n * @param {CognitoUser} user - the current Cognito user\n * @param {string} mfaMethod - preferred mfa method\n * @return - A promise resolve if success\n */\n AuthClass.prototype.setPreferredMFA = function (user, mfaMethod) {\n return __awaiter(this, void 0, void 0, function () {\n var clientMetadata, userData, smsMfaSettings, totpMfaSettings, _a, mfaList, currentMFAType, that;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n clientMetadata = this._config.clientMetadata;\n return [4 /*yield*/, this._getUserData(user, {\n bypassCache: true,\n clientMetadata: clientMetadata,\n })];\n case 1:\n userData = _b.sent();\n smsMfaSettings = null;\n totpMfaSettings = null;\n _a = mfaMethod;\n switch (_a) {\n case 'TOTP': return [3 /*break*/, 2];\n case 'SOFTWARE_TOKEN_MFA': return [3 /*break*/, 2];\n case 'SMS': return [3 /*break*/, 3];\n case 'SMS_MFA': return [3 /*break*/, 3];\n case 'NOMFA': return [3 /*break*/, 4];\n }\n return [3 /*break*/, 6];\n case 2:\n totpMfaSettings = {\n PreferredMfa: true,\n Enabled: true,\n };\n return [3 /*break*/, 7];\n case 3:\n smsMfaSettings = {\n PreferredMfa: true,\n Enabled: true,\n };\n return [3 /*break*/, 7];\n case 4:\n mfaList = userData['UserMFASettingList'];\n return [4 /*yield*/, this._getMfaTypeFromUserData(userData)];\n case 5:\n currentMFAType = _b.sent();\n if (currentMFAType === 'NOMFA') {\n return [2 /*return*/, Promise.resolve('No change for mfa type')];\n }\n else if (currentMFAType === 'SMS_MFA') {\n smsMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else if (currentMFAType === 'SOFTWARE_TOKEN_MFA') {\n totpMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else {\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.InvalidMFA)];\n }\n // if there is a UserMFASettingList in the response\n // we need to disable every mfa type in that list\n if (mfaList && mfaList.length !== 0) {\n // to disable SMS or TOTP if exists in that list\n mfaList.forEach(function (mfaType) {\n if (mfaType === 'SMS_MFA') {\n smsMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else if (mfaType === 'SOFTWARE_TOKEN_MFA') {\n totpMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n });\n }\n return [3 /*break*/, 7];\n case 6:\n logger.debug('no validmfa method provided');\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.NoMFA)];\n case 7:\n that = this;\n return [2 /*return*/, new Promise(function (res, rej) {\n user.setUserMfaPreference(smsMfaSettings, totpMfaSettings, function (err, result) {\n if (err) {\n logger.debug('Set user mfa preference error', err);\n return rej(err);\n }\n logger.debug('Set user mfa success', result);\n logger.debug('Caching the latest user data into local');\n // cache the latest result into user data\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_3 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_3.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5: return [2 /*return*/, res(result)];\n }\n });\n }); }, {\n bypassCache: true,\n clientMetadata: clientMetadata,\n });\n });\n })];\n }\n });\n });\n };\n /**\n * disable SMS\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves is success\n */\n AuthClass.prototype.disableSMS = function (user) {\n return new Promise(function (res, rej) {\n user.disableMFA(function (err, data) {\n if (err) {\n logger.debug('disable mfa failed', err);\n rej(err);\n return;\n }\n logger.debug('disable mfa succeed', data);\n res(data);\n return;\n });\n });\n };\n /**\n * enable SMS\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves is success\n */\n AuthClass.prototype.enableSMS = function (user) {\n return new Promise(function (res, rej) {\n user.enableMFA(function (err, data) {\n if (err) {\n logger.debug('enable mfa failed', err);\n rej(err);\n return;\n }\n logger.debug('enable mfa succeed', data);\n res(data);\n return;\n });\n });\n };\n /**\n * Setup TOTP\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves with the secret code if success\n */\n AuthClass.prototype.setupTOTP = function (user) {\n return new Promise(function (res, rej) {\n user.associateSoftwareToken({\n onFailure: function (err) {\n logger.debug('associateSoftwareToken failed', err);\n rej(err);\n return;\n },\n associateSecretCode: function (secretCode) {\n logger.debug('associateSoftwareToken sucess', secretCode);\n res(secretCode);\n return;\n },\n });\n });\n };\n /**\n * verify TOTP setup\n * @param {CognitoUser} user - the current user\n * @param {string} challengeAnswer - challenge answer\n * @return - A promise resolves is success\n */\n AuthClass.prototype.verifyTotpToken = function (user, challengeAnswer) {\n logger.debug('verification totp token', user, challengeAnswer);\n return new Promise(function (res, rej) {\n user.verifySoftwareToken(challengeAnswer, 'My TOTP device', {\n onFailure: function (err) {\n logger.debug('verifyTotpToken failed', err);\n rej(err);\n return;\n },\n onSuccess: function (data) {\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n logger.debug('verifyTotpToken success', data);\n res(data);\n return;\n },\n });\n });\n };\n /**\n * Send MFA code to confirm sign in\n * @param {Object} user - The CognitoUser object\n * @param {String} code - The confirmation code\n */\n AuthClass.prototype.confirmSignIn = function (user, code, mfaType, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.sendMFACode(code, {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 6]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 6];\n case 4:\n e_3 = _a.sent();\n logger.debug('cannot get cognito credentials', e_3);\n return [3 /*break*/, 6];\n case 5:\n that.user = user;\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(user);\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('confirm signIn failure', err);\n reject(err);\n },\n }, mfaType, clientMetadata);\n });\n };\n AuthClass.prototype.completeNewPassword = function (user, password, requiredAttributes, clientMetadata) {\n var _this = this;\n if (requiredAttributes === void 0) { requiredAttributes = {}; }\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.completeNewPasswordChallenge(password, requiredAttributes, {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 6]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 6];\n case 4:\n e_4 = _a.sent();\n logger.debug('cannot get cognito credentials', e_4);\n return [3 /*break*/, 6];\n case 5:\n that.user = user;\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(user);\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('completeNewPassword failure', err);\n dispatchAuthEvent('completeNewPassword_failure', err, _this.user + \" failed to complete the new password flow\");\n reject(err);\n },\n mfaRequired: function (challengeName, challengeParam) {\n logger.debug('signIn MFA required');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaSetup: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n totpRequired: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n }, clientMetadata);\n });\n };\n /**\n * Send the answer to a custom challenge\n * @param {CognitoUser} user - The CognitoUser object\n * @param {String} challengeResponses - The confirmation code\n */\n AuthClass.prototype.sendCustomChallengeAnswer = function (user, challengeResponses, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!challengeResponses) {\n return this.rejectAuthError(AuthErrorTypes.EmptyChallengeResponse);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.sendCustomChallengeAnswer(challengeResponses, _this.authCallbacks(user, resolve, reject), clientMetadata);\n });\n };\n /**\n * Delete an authenticated users' attributes\n * @param {CognitoUser} - The currently logged in user object\n * @return {Promise}\n **/\n AuthClass.prototype.deleteUserAttributes = function (user, attributeNames) {\n var that = this;\n return new Promise(function (resolve, reject) {\n that.userSession(user).then(function (session) {\n user.deleteAttributes(attributeNames, function (err, result) {\n if (err) {\n return reject(err);\n }\n else {\n return resolve(result);\n }\n });\n });\n });\n };\n /**\n * Delete the current authenticated user\n * @return {Promise}\n **/\n // TODO: Check return type void\n AuthClass.prototype.deleteUser = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_5, isSignedInHostedUI;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._storageSync];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_5 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_5);\n throw new Error(e_5);\n case 3:\n isSignedInHostedUI = this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n return [2 /*return*/, new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {\n var user_1;\n var _this = this;\n return __generator(this, function (_a) {\n if (this.userPool) {\n user_1 = this.userPool.getCurrentUser();\n if (!user_1) {\n logger.debug('Failed to get user from user pool');\n return [2 /*return*/, rej(new Error('No current user.'))];\n }\n else {\n user_1.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_4;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user_1)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_4 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_4.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5:\n user_1.deleteUser(function (err, result) {\n if (err) {\n rej(err);\n }\n else {\n dispatchAuthEvent('userDeleted', result, 'The authenticated user has been deleted.');\n user_1.signOut();\n _this.user = null;\n try {\n _this.cleanCachedItems(); // clean aws credentials\n }\n catch (e) {\n // TODO: change to rejects in refactor\n logger.debug('failed to clear cached items');\n }\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n dispatchAuthEvent('signOut', _this.user, \"A user has been signed out\");\n res(result);\n }\n }\n });\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); });\n }\n }\n else {\n logger.debug('no Congito User pool');\n rej(new Error('Cognito User pool does not exist'));\n }\n return [2 /*return*/];\n });\n }); })];\n }\n });\n });\n };\n /**\n * Update an authenticated users' attributes\n * @param {CognitoUser} - The currently logged in user object\n * @return {Promise}\n **/\n AuthClass.prototype.updateUserAttributes = function (user, attributes, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n var attributeList = [];\n var that = this;\n return new Promise(function (resolve, reject) {\n that.userSession(user).then(function (session) {\n for (var key in attributes) {\n if (key !== 'sub' && key.indexOf('_verified') < 0) {\n var attr = {\n Name: key,\n Value: attributes[key],\n };\n attributeList.push(attr);\n }\n }\n user.updateAttributes(attributeList, function (err, result) {\n if (err) {\n return reject(err);\n }\n else {\n return resolve(result);\n }\n }, clientMetadata);\n });\n });\n };\n /**\n * Return user attributes\n * @param {Object} user - The CognitoUser object\n * @return - A promise resolves to user attributes if success\n */\n AuthClass.prototype.userAttributes = function (user) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.userSession(user).then(function (session) {\n user.getUserAttributes(function (err, attributes) {\n if (err) {\n reject(err);\n }\n else {\n resolve(attributes);\n }\n });\n });\n });\n };\n AuthClass.prototype.verifiedContact = function (user) {\n var that = this;\n return this.userAttributes(user).then(function (attributes) {\n var attrs = that.attributesToObject(attributes);\n var unverified = {};\n var verified = {};\n if (attrs['email']) {\n if (attrs['email_verified']) {\n verified['email'] = attrs['email'];\n }\n else {\n unverified['email'] = attrs['email'];\n }\n }\n if (attrs['phone_number']) {\n if (attrs['phone_number_verified']) {\n verified['phone_number'] = attrs['phone_number'];\n }\n else {\n unverified['phone_number'] = attrs['phone_number'];\n }\n }\n return {\n verified: verified,\n unverified: unverified,\n };\n });\n };\n AuthClass.prototype.isErrorWithMessage = function (err) {\n return (typeof err === 'object' &&\n Object.prototype.hasOwnProperty.call(err, 'message'));\n };\n // Session revoked by another app\n AuthClass.prototype.isTokenRevokedError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Access Token has been revoked');\n };\n AuthClass.prototype.isRefreshTokenRevokedError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Refresh Token has been revoked');\n };\n AuthClass.prototype.isUserDisabledError = function (err) {\n return this.isErrorWithMessage(err) && err.message === 'User is disabled.';\n };\n AuthClass.prototype.isUserDoesNotExistError = function (err) {\n return (this.isErrorWithMessage(err) && err.message === 'User does not exist.');\n };\n AuthClass.prototype.isRefreshTokenExpiredError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Refresh Token has expired');\n };\n AuthClass.prototype.isSignedInHostedUI = function () {\n return (this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true');\n };\n AuthClass.prototype.isSessionInvalid = function (err) {\n return (this.isUserDisabledError(err) ||\n this.isUserDoesNotExistError(err) ||\n this.isTokenRevokedError(err) ||\n this.isRefreshTokenRevokedError(err) ||\n this.isRefreshTokenExpiredError(err));\n };\n AuthClass.prototype.cleanUpInvalidSession = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var e_6;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n user.signOut();\n this.user = null;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanCachedItems()];\n case 2:\n _a.sent(); // clean aws credentials\n return [3 /*break*/, 4];\n case 3:\n e_6 = _a.sent();\n logger.debug('failed to clear cached items');\n return [3 /*break*/, 4];\n case 4:\n if (this.isSignedInHostedUI()) {\n return [2 /*return*/, new Promise(function (res, rej) {\n _this.oAuthSignOutRedirect(res, rej);\n })];\n }\n else {\n dispatchAuthEvent('signOut', this.user, \"A user has been signed out\");\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get current authenticated user\n * @return - A promise resolves to current authenticated CognitoUser if success\n */\n AuthClass.prototype.currentUserPoolUser = function (params) {\n var _this = this;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n return new Promise(function (res, rej) {\n _this._storageSync\n .then(function () { return __awaiter(_this, void 0, void 0, function () {\n var user, session, bypassCache, clientMetadata, _a, scope, err_1;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.isOAuthInProgress()) return [3 /*break*/, 2];\n logger.debug('OAuth signIn in progress, waiting for resolution...');\n return [4 /*yield*/, new Promise(function (res) {\n var timeoutId = setTimeout(function () {\n logger.debug('OAuth signIn in progress timeout');\n Hub.remove('auth', hostedUISignCallback);\n res();\n }, OAUTH_FLOW_MS_TIMEOUT);\n Hub.listen('auth', hostedUISignCallback);\n function hostedUISignCallback(_a) {\n var payload = _a.payload;\n var event = payload.event;\n if (event === 'cognitoHostedUI' ||\n event === 'cognitoHostedUI_failure') {\n logger.debug(\"OAuth signIn resolved: \" + event);\n clearTimeout(timeoutId);\n Hub.remove('auth', hostedUISignCallback);\n res();\n }\n }\n })];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n user = this.userPool.getCurrentUser();\n if (!user) {\n logger.debug('Failed to get user from user pool');\n rej('No current user');\n return [2 /*return*/];\n }\n _b.label = 3;\n case 3:\n _b.trys.push([3, 7, , 8]);\n return [4 /*yield*/, this._userSession(user)];\n case 4:\n session = _b.sent();\n bypassCache = params ? params.bypassCache : false;\n if (!bypassCache) return [3 /*break*/, 6];\n return [4 /*yield*/, this.Credentials.clear()];\n case 5:\n _b.sent();\n _b.label = 6;\n case 6:\n clientMetadata = this._config.clientMetadata;\n _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;\n if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_5, preferredMFA, attributeList, i, attribute, userAttribute, attributes;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 7];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_5 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_5.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [3 /*break*/, 6];\n case 5:\n res(user);\n _a.label = 6;\n case 6: return [2 /*return*/];\n case 7:\n preferredMFA = data.PreferredMfaSetting || 'NOMFA';\n attributeList = [];\n for (i = 0; i < data.UserAttributes.length; i++) {\n attribute = {\n Name: data.UserAttributes[i].Name,\n Value: data.UserAttributes[i].Value,\n };\n userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n attributes = this.attributesToObject(attributeList);\n Object.assign(user, { attributes: attributes, preferredMFA: preferredMFA });\n return [2 /*return*/, res(user)];\n }\n });\n }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });\n }\n else {\n logger.debug(\"Unable to get the user data because the \" + USER_ADMIN_SCOPE + \" \" +\n \"is not in the scopes of the access token\");\n return [2 /*return*/, res(user)];\n }\n return [3 /*break*/, 8];\n case 7:\n err_1 = _b.sent();\n rej(err_1);\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n logger.debug('Failed to sync cache info into memory', e);\n return rej(e);\n });\n });\n };\n AuthClass.prototype.isOAuthInProgress = function () {\n return this.oAuthFlowInProgress;\n };\n /**\n * Get current authenticated user\n * @param {CurrentUserOpts} - options for getting the current user\n * @return - A promise resolves to current authenticated CognitoUser if success\n */\n AuthClass.prototype.currentAuthenticatedUser = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n var federatedUser, e_7, federatedInfo, user, e_8;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('getting current authenticated user');\n federatedUser = null;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_7 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_7);\n throw e_7;\n case 4:\n try {\n federatedInfo = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo'));\n if (federatedInfo) {\n federatedUser = __assign(__assign({}, federatedInfo.user), { token: federatedInfo.token });\n }\n }\n catch (e) {\n logger.debug('cannot load federated user from auth storage');\n }\n if (!federatedUser) return [3 /*break*/, 5];\n this.user = federatedUser;\n logger.debug('get current authenticated federated user', this.user);\n return [2 /*return*/, this.user];\n case 5:\n logger.debug('get current authenticated userpool user');\n user = null;\n _a.label = 6;\n case 6:\n _a.trys.push([6, 8, , 9]);\n return [4 /*yield*/, this.currentUserPoolUser(params)];\n case 7:\n user = _a.sent();\n return [3 /*break*/, 9];\n case 8:\n e_8 = _a.sent();\n if (e_8 === 'No userPool') {\n logger.error('Cannot get the current user because the user pool is missing. ' +\n 'Please make sure the Auth module is configured with a valid Cognito User Pool ID');\n }\n logger.debug('The user is not authenticated by the error', e_8);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 9:\n this.user = user;\n return [2 /*return*/, this.user];\n }\n });\n });\n };\n /**\n * Get current user's session\n * @return - A promise resolves to session object if success\n */\n AuthClass.prototype.currentSession = function () {\n var that = this;\n logger.debug('Getting current session');\n // Purposely not calling the reject method here because we don't need a console error\n if (!this.userPool) {\n return Promise.reject(new Error('No User Pool in the configuration.'));\n }\n return new Promise(function (res, rej) {\n that\n .currentUserPoolUser()\n .then(function (user) {\n that\n .userSession(user)\n .then(function (session) {\n res(session);\n return;\n })\n .catch(function (e) {\n logger.debug('Failed to get the current session', e);\n rej(e);\n return;\n });\n })\n .catch(function (e) {\n logger.debug('Failed to get the current user', e);\n rej(e);\n return;\n });\n });\n };\n AuthClass.prototype._userSession = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var clientMetadata, userSession;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!user) {\n logger.debug('the user is null');\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.NoUserSession)];\n }\n clientMetadata = this._config.clientMetadata;\n // Debouncing the concurrent userSession calls by caching the promise.\n // This solution assumes users will always call this function with the same CognitoUser instance.\n if (this.inflightSessionPromiseCounter === 0) {\n this.inflightSessionPromise = new Promise(function (res, rej) {\n user.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_6;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the session from user', user);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_6 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_6.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n logger.debug('Succeed to get the user session', session);\n res(session);\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n });\n }\n this.inflightSessionPromiseCounter++;\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, this.inflightSessionPromise];\n case 2:\n userSession = _a.sent();\n // Set private member. Avoid user.setSignInUserSession() to prevent excessive localstorage refresh.\n // @ts-ignore\n user.signInUserSession = userSession;\n return [2 /*return*/, userSession];\n case 3:\n this.inflightSessionPromiseCounter--;\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get the corresponding user session\n * @param {Object} user - The CognitoUser object\n * @return - A promise resolves to the session\n */\n AuthClass.prototype.userSession = function (user) {\n return this._userSession(user);\n };\n /**\n * Get authenticated credentials of current user.\n * @return - A promise resolves to be current user's credentials\n */\n AuthClass.prototype.currentUserCredentials = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_9, federatedInfo;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Getting current user credentials');\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_9 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_9);\n throw e_9;\n case 4:\n federatedInfo = null;\n try {\n federatedInfo = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo'));\n }\n catch (e) {\n logger.debug('failed to get or parse item aws-amplify-federatedInfo', e);\n }\n if (federatedInfo) {\n // refresh the jwt token here if necessary\n return [2 /*return*/, this.Credentials.refreshFederatedToken(federatedInfo)];\n }\n else {\n return [2 /*return*/, this.currentSession()\n .then(function (session) {\n logger.debug('getting session success', session);\n return _this.Credentials.set(session, 'session');\n })\n .catch(function () {\n logger.debug('getting guest credentials');\n return _this.Credentials.set(null, 'guest');\n })];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.currentCredentials = function () {\n logger.debug('getting current credentials');\n return this.Credentials.get();\n };\n /**\n * Initiate an attribute confirmation request\n * @param {Object} user - The CognitoUser\n * @param {Object} attr - The attributes to be verified\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyUserAttribute = function (user, attr, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n return new Promise(function (resolve, reject) {\n user.getAttributeVerificationCode(attr, {\n onSuccess: function (success) {\n return resolve(success);\n },\n onFailure: function (err) {\n return reject(err);\n },\n }, clientMetadata);\n });\n };\n /**\n * Confirm an attribute using a confirmation code\n * @param {Object} user - The CognitoUser\n * @param {Object} attr - The attribute to be verified\n * @param {String} code - The confirmation code\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyUserAttributeSubmit = function (user, attr, code) {\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n return new Promise(function (resolve, reject) {\n user.verifyAttribute(attr, code, {\n onSuccess: function (data) {\n resolve(data);\n return;\n },\n onFailure: function (err) {\n reject(err);\n return;\n },\n });\n });\n };\n AuthClass.prototype.verifyCurrentUserAttribute = function (attr) {\n var that = this;\n return that\n .currentUserPoolUser()\n .then(function (user) { return that.verifyUserAttribute(user, attr); });\n };\n /**\n * Confirm current user's attribute using a confirmation code\n * @param {Object} attr - The attribute to be verified\n * @param {String} code - The confirmation code\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyCurrentUserAttributeSubmit = function (attr, code) {\n var that = this;\n return that\n .currentUserPoolUser()\n .then(function (user) { return that.verifyUserAttributeSubmit(user, attr, code); });\n };\n AuthClass.prototype.cognitoIdentitySignOut = function (opts, user) {\n return __awaiter(this, void 0, void 0, function () {\n var e_10, isSignedInHostedUI;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._storageSync];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_10 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_10);\n throw e_10;\n case 3:\n isSignedInHostedUI = this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n return [2 /*return*/, new Promise(function (res, rej) {\n if (opts && opts.global) {\n logger.debug('user global sign out', user);\n // in order to use global signout\n // we must validate the user as an authenticated user by using getSession\n var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n user.getSession(function (err, result) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_7;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_7 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_7.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5:\n user.globalSignOut({\n onSuccess: function (data) {\n logger.debug('global sign out success');\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n return res();\n }\n },\n onFailure: function (err) {\n logger.debug('global sign out failed', err);\n return rej(err);\n },\n });\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n }\n else {\n logger.debug('user sign out', user);\n user.signOut(function () {\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n return res();\n }\n });\n }\n })];\n }\n });\n });\n };\n AuthClass.prototype.oAuthSignOutRedirect = function (resolve, reject) {\n var isBrowser = browserOrNode().isBrowser;\n if (isBrowser) {\n this.oAuthSignOutRedirectOrReject(reject);\n }\n else {\n this.oAuthSignOutAndResolve(resolve);\n }\n };\n AuthClass.prototype.oAuthSignOutAndResolve = function (resolve) {\n this._oAuthHandler.signOut();\n resolve();\n };\n AuthClass.prototype.oAuthSignOutRedirectOrReject = function (reject) {\n this._oAuthHandler.signOut(); // this method redirects url\n // App should be redirected to another url otherwise it will reject\n setTimeout(function () { return reject(Error('Signout timeout fail')); }, 3000);\n };\n /**\n * Sign out method\n * @\n * @return - A promise resolved if success\n */\n AuthClass.prototype.signOut = function (opts) {\n return __awaiter(this, void 0, void 0, function () {\n var e_11, user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.cleanCachedItems()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_11 = _a.sent();\n logger.debug('failed to clear cached items');\n return [3 /*break*/, 3];\n case 3:\n if (!this.userPool) return [3 /*break*/, 7];\n user = this.userPool.getCurrentUser();\n if (!user) return [3 /*break*/, 5];\n return [4 /*yield*/, this.cognitoIdentitySignOut(opts, user)];\n case 4:\n _a.sent();\n return [3 /*break*/, 6];\n case 5:\n logger.debug('no current Cognito user');\n _a.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n logger.debug('no Cognito User pool');\n _a.label = 8;\n case 8:\n /**\n * Note for future refactor - no reliable way to get username with\n * Cognito User Pools vs Identity when federating with Social Providers\n * This is why we need a well structured session object that can be inspected\n * and information passed back in the message below for Hub dispatch\n */\n dispatchAuthEvent('signOut', this.user, \"A user has been signed out\");\n this.user = null;\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.cleanCachedItems = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // clear cognito cached item\n return [4 /*yield*/, this.Credentials.clear()];\n case 1:\n // clear cognito cached item\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Change a password for an authenticated user\n * @param {Object} user - The CognitoUser object\n * @param {String} oldPassword - the current password\n * @param {String} newPassword - the requested new password\n * @return - A promise resolves if success\n */\n AuthClass.prototype.changePassword = function (user, oldPassword, newPassword, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n return new Promise(function (resolve, reject) {\n _this.userSession(user).then(function (session) {\n user.changePassword(oldPassword, newPassword, function (err, data) {\n if (err) {\n logger.debug('change password failure', err);\n return reject(err);\n }\n else {\n return resolve(data);\n }\n }, clientMetadata);\n });\n });\n };\n /**\n * Initiate a forgot password request\n * @param {String} username - the username to change password\n * @return - A promise resolves if success\n */\n AuthClass.prototype.forgotPassword = function (username, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.forgotPassword({\n onSuccess: function () {\n resolve();\n return;\n },\n onFailure: function (err) {\n logger.debug('forgot password failure', err);\n dispatchAuthEvent('forgotPassword_failure', err, username + \" forgotPassword failed\");\n reject(err);\n return;\n },\n inputVerificationCode: function (data) {\n dispatchAuthEvent('forgotPassword', user, username + \" has initiated forgot password flow\");\n resolve(data);\n return;\n },\n }, clientMetadata);\n });\n };\n /**\n * Confirm a new password using a confirmation Code\n * @param {String} username - The username\n * @param {String} code - The confirmation code\n * @param {String} password - The new password\n * @return - A promise that resolves if success\n */\n AuthClass.prototype.forgotPasswordSubmit = function (username, code, password, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.confirmPassword(code, password, {\n onSuccess: function (success) {\n dispatchAuthEvent('forgotPasswordSubmit', user, username + \" forgotPasswordSubmit successful\");\n resolve(success);\n return;\n },\n onFailure: function (err) {\n dispatchAuthEvent('forgotPasswordSubmit_failure', err, username + \" forgotPasswordSubmit failed\");\n reject(err);\n return;\n },\n }, clientMetadata);\n });\n };\n /**\n * Get user information\n * @async\n * @return {Object }- current User's information\n */\n AuthClass.prototype.currentUserInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var source, user, attributes, userAttrs, credentials, e_12, info, err_2, user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n source = this.Credentials.getCredSource();\n if (!(!source || source === 'aws' || source === 'userPool')) return [3 /*break*/, 9];\n return [4 /*yield*/, this.currentUserPoolUser().catch(function (err) {\n return logger.error(err);\n })];\n case 1:\n user = _a.sent();\n if (!user) {\n return [2 /*return*/, null];\n }\n _a.label = 2;\n case 2:\n _a.trys.push([2, 8, , 9]);\n return [4 /*yield*/, this.userAttributes(user)];\n case 3:\n attributes = _a.sent();\n userAttrs = this.attributesToObject(attributes);\n credentials = null;\n _a.label = 4;\n case 4:\n _a.trys.push([4, 6, , 7]);\n return [4 /*yield*/, this.currentCredentials()];\n case 5:\n credentials = _a.sent();\n return [3 /*break*/, 7];\n case 6:\n e_12 = _a.sent();\n logger.debug('Failed to retrieve credentials while getting current user info', e_12);\n return [3 /*break*/, 7];\n case 7:\n info = {\n id: credentials ? credentials.identityId : undefined,\n username: user.getUsername(),\n attributes: userAttrs,\n };\n return [2 /*return*/, info];\n case 8:\n err_2 = _a.sent();\n logger.error('currentUserInfo error', err_2);\n return [2 /*return*/, {}];\n case 9:\n if (source === 'federated') {\n user = this.user;\n return [2 /*return*/, user ? user : {}];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.federatedSignIn = function (providerOrOptions, response, user) {\n return __awaiter(this, void 0, void 0, function () {\n var options, provider, customState, client_id, redirect_uri, provider, loggedInUser, token, identity_id, expires_at, credentials, currentUser;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._config.identityPoolId && !this._config.userPoolId) {\n throw new Error(\"Federation requires either a User Pool or Identity Pool in config\");\n }\n // Ensure backwards compatability\n if (typeof providerOrOptions === 'undefined') {\n if (this._config.identityPoolId && !this._config.userPoolId) {\n throw new Error(\"Federation with Identity Pools requires tokens passed as arguments\");\n }\n }\n if (!(isFederatedSignInOptions(providerOrOptions) ||\n isFederatedSignInOptionsCustom(providerOrOptions) ||\n hasCustomState(providerOrOptions) ||\n typeof providerOrOptions === 'undefined')) return [3 /*break*/, 1];\n options = providerOrOptions || {\n provider: CognitoHostedUIIdentityProvider.Cognito,\n };\n provider = isFederatedSignInOptions(options)\n ? options.provider\n : options.customProvider;\n customState = isFederatedSignInOptions(options)\n ? options.customState\n : options.customState;\n if (this._config.userPoolId) {\n client_id = isCognitoHostedOpts(this._config.oauth)\n ? this._config.userPoolWebClientId\n : this._config.oauth.clientID;\n redirect_uri = isCognitoHostedOpts(this._config.oauth)\n ? this._config.oauth.redirectSignIn\n : this._config.oauth.redirectUri;\n this._oAuthHandler.oauthSignIn(this._config.oauth.responseType, this._config.oauth.domain, redirect_uri, client_id, provider, customState);\n }\n return [3 /*break*/, 4];\n case 1:\n provider = providerOrOptions;\n // To check if the user is already logged in\n try {\n loggedInUser = JSON.stringify(JSON.parse(this._storage.getItem('aws-amplify-federatedInfo')).user);\n if (loggedInUser) {\n logger.warn(\"There is already a signed in user: \" + loggedInUser + \" in your app.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tYou should not call Auth.federatedSignIn method again as it may cause unexpected behavior.\");\n }\n }\n catch (e) { }\n token = response.token, identity_id = response.identity_id, expires_at = response.expires_at;\n return [4 /*yield*/, this.Credentials.set({ provider: provider, token: token, identity_id: identity_id, user: user, expires_at: expires_at }, 'federation')];\n case 2:\n credentials = _a.sent();\n return [4 /*yield*/, this.currentAuthenticatedUser()];\n case 3:\n currentUser = _a.sent();\n dispatchAuthEvent('signIn', currentUser, \"A user \" + currentUser.username + \" has been signed in\");\n logger.debug('federated sign in credentials', credentials);\n return [2 /*return*/, credentials];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Used to complete the OAuth flow with or without the Cognito Hosted UI\n * @param {String} URL - optional parameter for customers to pass in the response URL\n */\n AuthClass.prototype._handleAuthResponse = function (URL) {\n return __awaiter(this, void 0, void 0, function () {\n var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_3;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.oAuthFlowInProgress) {\n logger.debug(\"Skipping URL \" + URL + \" current flow in progress\");\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 8, 9]);\n this.oAuthFlowInProgress = true;\n if (!this._config.userPoolId) {\n throw new Error(\"OAuth responses require a User Pool defined in config\");\n }\n dispatchAuthEvent('parsingCallbackUrl', { url: URL }, \"The callback url is being parsed\");\n currentUrl = URL || (browserOrNode().isBrowser ? window.location.href : '');\n hasCodeOrError = !!(parse(currentUrl).query || '')\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .find(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k === 'code' || k === 'error';\n });\n hasTokenOrError = !!(parse(currentUrl).hash || '#')\n .substr(1)\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .find(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k === 'access_token' || k === 'error';\n });\n if (!(hasCodeOrError || hasTokenOrError)) return [3 /*break*/, 7];\n this._storage.setItem('amplify-redirected-from-hosted-ui', 'true');\n _b.label = 2;\n case 2:\n _b.trys.push([2, 6, , 7]);\n return [4 /*yield*/, this._oAuthHandler.handleAuthResponse(currentUrl)];\n case 3:\n _a = _b.sent(), accessToken = _a.accessToken, idToken = _a.idToken, refreshToken = _a.refreshToken, state = _a.state;\n session = new CognitoUserSession({\n IdToken: new CognitoIdToken({ IdToken: idToken }),\n RefreshToken: new CognitoRefreshToken({\n RefreshToken: refreshToken,\n }),\n AccessToken: new CognitoAccessToken({\n AccessToken: accessToken,\n }),\n });\n credentials = void 0;\n if (!this._config.identityPoolId) return [3 /*break*/, 5];\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 4:\n credentials = _b.sent();\n logger.debug('AWS credentials', credentials);\n _b.label = 5;\n case 5:\n isCustomStateIncluded = /-/.test(state);\n currentUser = this.createCognitoUser(session.getIdToken().decodePayload()['cognito:username']);\n // This calls cacheTokens() in Cognito SDK\n currentUser.setSignInUserSession(session);\n if (window && typeof window.history !== 'undefined') {\n window.history.replaceState({}, null, this._config.oauth.redirectSignIn);\n }\n dispatchAuthEvent('signIn', currentUser, \"A user \" + currentUser.getUsername() + \" has been signed in\");\n dispatchAuthEvent('cognitoHostedUI', currentUser, \"A user \" + currentUser.getUsername() + \" has been signed in via Cognito Hosted UI\");\n if (isCustomStateIncluded) {\n customState = state.split('-').splice(1).join('-');\n dispatchAuthEvent('customOAuthState', urlSafeDecode(customState), \"State for user \" + currentUser.getUsername());\n }\n //#endregion\n return [2 /*return*/, credentials];\n case 6:\n err_3 = _b.sent();\n logger.debug('Error in cognito hosted auth response', err_3);\n // Just like a successful handling of `?code`, replace the window history to \"dispose\" of the `code`.\n // Otherwise, reloading the page will throw errors as the `code` has already been spent.\n if (window && typeof window.history !== 'undefined') {\n window.history.replaceState({}, null, this._config.oauth.redirectSignIn);\n }\n dispatchAuthEvent('signIn_failure', err_3, \"The OAuth response flow failed\");\n dispatchAuthEvent('cognitoHostedUI_failure', err_3, \"A failure occurred when returning to the Cognito Hosted UI\");\n dispatchAuthEvent('customState_failure', err_3, \"A failure occurred when returning state\");\n return [3 /*break*/, 7];\n case 7: return [3 /*break*/, 9];\n case 8:\n this.oAuthFlowInProgress = false;\n return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n AuthClass.prototype.essentialCredentials = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n AuthClass.prototype.attributesToObject = function (attributes) {\n var _this = this;\n var obj = {};\n if (attributes) {\n attributes.map(function (attribute) {\n if (attribute.Name === 'email_verified' ||\n attribute.Name === 'phone_number_verified') {\n obj[attribute.Name] =\n _this.isTruthyString(attribute.Value) || attribute.Value === true;\n }\n else {\n obj[attribute.Name] = attribute.Value;\n }\n });\n }\n return obj;\n };\n AuthClass.prototype.isTruthyString = function (value) {\n return (typeof value.toLowerCase === 'function' && value.toLowerCase() === 'true');\n };\n AuthClass.prototype.createCognitoUser = function (username) {\n var userData = {\n Username: username,\n Pool: this.userPool,\n };\n userData.Storage = this._storage;\n var authenticationFlowType = this._config.authenticationFlowType;\n var user = new CognitoUser(userData);\n if (authenticationFlowType) {\n user.setAuthenticationFlowType(authenticationFlowType);\n }\n return user;\n };\n AuthClass.prototype._isValidAuthStorage = function (obj) {\n // We need to check if the obj has the functions of Storage\n return (!!obj &&\n typeof obj.getItem === 'function' &&\n typeof obj.setItem === 'function' &&\n typeof obj.removeItem === 'function' &&\n typeof obj.clear === 'function');\n };\n AuthClass.prototype.noUserPoolErrorHandler = function (config) {\n if (config) {\n if (!config.userPoolId || !config.identityPoolId) {\n return AuthErrorTypes.MissingAuthConfig;\n }\n }\n return AuthErrorTypes.NoConfig;\n };\n AuthClass.prototype.rejectAuthError = function (type) {\n return Promise.reject(new AuthError(type));\n };\n AuthClass.prototype.rejectNoUserPool = function () {\n var type = this.noUserPoolErrorHandler(this._config);\n return Promise.reject(new NoUserPoolError(type));\n };\n AuthClass.prototype.rememberDevice = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_2 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_2);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n currUser.setDeviceStatusRemembered({\n onSuccess: function (data) {\n res(data);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n });\n })];\n }\n });\n });\n };\n AuthClass.prototype.forgetDevice = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_3 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_3);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n currUser.forgetDevice({\n onSuccess: function (data) {\n res(data);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n });\n })];\n }\n });\n });\n };\n AuthClass.prototype.fetchDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_4 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_4);\n throw new Error('The user is not authenticated');\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n var cb = {\n onSuccess: function (data) {\n var deviceList = data.Devices.map(function (device) {\n var deviceName = device.DeviceAttributes.find(function (_a) {\n var Name = _a.Name;\n return Name === 'device_name';\n }) || {};\n var deviceInfo = {\n id: device.DeviceKey,\n name: deviceName.Value,\n };\n return deviceInfo;\n });\n res(deviceList);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n };\n currUser.listDevices(MAX_DEVICES, null, cb);\n })];\n }\n });\n });\n };\n return AuthClass;\n}());\nexport { AuthClass };\nexport var Auth = new AuthClass(null);\nAmplify.register(Auth);\n//# sourceMappingURL=Auth.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { browserOrNode } from '@aws-amplify/core';\nexport default (function (callback) {\n if (browserOrNode().isBrowser && window.location) {\n var url = window.location.href;\n callback({ url: url });\n }\n else if (browserOrNode().isNode) {\n // continue building on ssr\n (function () { }); // noop\n }\n else {\n throw new Error('Not supported');\n }\n});\n//# sourceMappingURL=urlListener.js.map","import { __read } from \"tslib\";\nimport { ConsoleLogger as LoggerClass } from './Logger';\nvar logger = new LoggerClass('Amplify');\nvar AmplifyClass = /** @class */ (function () {\n function AmplifyClass() {\n // Everything that is `register`ed is tracked here\n this._components = [];\n this._config = {};\n // All modules (with `getModuleName()`) are stored here for dependency injection\n this._modules = {};\n // for backward compatibility to avoid breaking change\n // if someone is using like Amplify.Auth\n this.Auth = null;\n this.Analytics = null;\n this.API = null;\n this.Credentials = null;\n this.Storage = null;\n this.I18n = null;\n this.Cache = null;\n this.PubSub = null;\n this.Interactions = null;\n this.Pushnotification = null;\n this.UI = null;\n this.XR = null;\n this.Predictions = null;\n this.DataStore = null;\n this.Geo = null;\n this.Notifications = null;\n this.Logger = LoggerClass;\n this.ServiceWorker = null;\n }\n AmplifyClass.prototype.register = function (comp) {\n logger.debug('component registered in amplify', comp);\n this._components.push(comp);\n if (typeof comp.getModuleName === 'function') {\n this._modules[comp.getModuleName()] = comp;\n this[comp.getModuleName()] = comp;\n }\n else {\n logger.debug('no getModuleName method for component', comp);\n }\n // Finally configure this new component(category) loaded\n // With the new modularization changes in Amplify V3, all the Amplify\n // component are not loaded/registered right away but when they are\n // imported (and hence instantiated) in the client's app. This ensures\n // that all new components imported get correctly configured with the\n // configuration that Amplify.configure() was called with.\n comp.configure(this._config);\n };\n AmplifyClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config;\n this._config = Object.assign(this._config, config);\n logger.debug('amplify config', this._config);\n // Dependency Injection via property-setting.\n // This avoids introducing a public method/interface/setter that's difficult to remove later.\n // Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n Object.entries(this._modules).forEach(function (_a) {\n var _b = __read(_a, 2), Name = _b[0], comp = _b[1];\n // e.g. Auth.*\n Object.keys(comp).forEach(function (property) {\n // e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n if (_this._modules[property]) {\n comp[property] = _this._modules[property];\n }\n });\n });\n this._components.map(function (comp) {\n comp.configure(_this._config);\n });\n return this._config;\n };\n AmplifyClass.prototype.addPluggable = function (pluggable) {\n if (pluggable &&\n pluggable['getCategory'] &&\n typeof pluggable['getCategory'] === 'function') {\n this._components.map(function (comp) {\n if (comp['addPluggable'] &&\n typeof comp['addPluggable'] === 'function') {\n comp.addPluggable(pluggable);\n }\n });\n }\n };\n return AmplifyClass;\n}());\nexport { AmplifyClass };\nexport var Amplify = new AmplifyClass();\n//# sourceMappingURL=Amplify.js.map","import { __awaiter, __extends, __generator, __read, __spread } from \"tslib\";\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nvar logger = new Logger('Util');\nvar NonRetryableError = /** @class */ (function (_super) {\n __extends(NonRetryableError, _super);\n function NonRetryableError(message) {\n var _this = _super.call(this, message) || this;\n _this.nonRetryable = true;\n return _this;\n }\n return NonRetryableError;\n}(Error));\nexport { NonRetryableError };\nexport var isNonRetryableError = function (obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function retry(functionToRetry, args, delayFn, onTerminate) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var attempt, terminated, timeout, wakeUp, lastError, _loop_1, state_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n attempt = 0;\n terminated = false;\n wakeUp = function () { };\n onTerminate &&\n onTerminate.then(function () {\n // signal not to try anymore.\n terminated = true;\n // stop sleeping if we're sleeping.\n clearTimeout(timeout);\n wakeUp();\n });\n _loop_1 = function () {\n var _a, _b, err_1, retryIn_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n attempt++;\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with this vars: \" + JSON.stringify(args));\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 7]);\n _a = {};\n _b = resolve;\n return [4 /*yield*/, functionToRetry.apply(void 0, __spread(args))];\n case 2: return [2 /*return*/, (_a.value = _b.apply(void 0, [_c.sent()]), _a)];\n case 3:\n err_1 = _c.sent();\n lastError = err_1;\n logger.debug(\"error on \" + functionToRetry.name, err_1);\n if (isNonRetryableError(err_1)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err_1);\n return [2 /*return*/, { value: reject(err_1) }];\n }\n retryIn_1 = delayFn(attempt, args, err_1);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn_1 + \" ms\");\n if (!(retryIn_1 === false || terminated)) return [3 /*break*/, 4];\n return [2 /*return*/, { value: reject(err_1) }];\n case 4: return [4 /*yield*/, new Promise(function (r) {\n wakeUp = r; // export wakeUp for onTerminate handling\n timeout = setTimeout(wakeUp, retryIn_1);\n })];\n case 5:\n _c.sent();\n _c.label = 6;\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n };\n _a.label = 1;\n case 1:\n if (!!terminated) return [3 /*break*/, 3];\n return [5 /*yield**/, _loop_1()];\n case 2:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n return [3 /*break*/, 1];\n case 3:\n // reached if terminated while waiting for a timer.\n reject(lastError);\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(maxDelayMs) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n/**\n * @private\n * Internal use of Amplify only\n */\nexport var jitteredExponentialRetry = function (functionToRetry, args, maxDelayMs, onTerminate) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs), onTerminate);\n};\n//# sourceMappingURL=Retry.js.map","import { __awaiter, __generator } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (ga) {\n logger.debug('google api already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar GoogleOAuth = /** @class */ (function () {\n function GoogleOAuth() {\n this.initialized = false;\n this.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n this._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n }\n GoogleOAuth.prototype.refreshGoogleToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Google SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshGoogleTokenImpl()];\n }\n });\n });\n };\n GoogleOAuth.prototype._refreshGoogleTokenImpl = function () {\n var ga = null;\n if (browserOrNode().isBrowser)\n ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (!ga) {\n logger.debug('no gapi auth2 available');\n return Promise.reject('no gapi auth2 available');\n }\n return new Promise(function (res, rej) {\n ga.getAuthInstance()\n .then(function (googleAuth) {\n if (!googleAuth) {\n logger.debug('google Auth undefined');\n rej(new NonRetryableError('google Auth undefined'));\n }\n var googleUser = googleAuth.currentUser.get();\n // refresh the token\n if (googleUser.isSignedIn()) {\n logger.debug('refreshing the google access token');\n googleUser\n .reloadAuthResponse()\n .then(function (authResponse) {\n var id_token = authResponse.id_token, expires_at = authResponse.expires_at;\n res({ token: id_token, expires_at: expires_at });\n })\n .catch(function (err) {\n if (err && err.error === 'network_error') {\n // Not using NonRetryableError so handler will be retried\n rej('Network error reloading google auth response');\n }\n else {\n rej(new NonRetryableError('Failed to reload google auth response'));\n }\n });\n }\n else {\n rej(new NonRetryableError('User is not signed in with Google'));\n }\n })\n .catch(function (err) {\n logger.debug('Failed to refresh google token', err);\n rej(new NonRetryableError('Failed to refresh google token'));\n });\n });\n };\n return GoogleOAuth;\n}());\nexport { GoogleOAuth };\n//# sourceMappingURL=GoogleOAuth.js.map","import { __awaiter, __generator } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var fb = window['FB'];\n if (fb) {\n logger.debug('FB SDK already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar FacebookOAuth = /** @class */ (function () {\n function FacebookOAuth() {\n this.initialized = false;\n this.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n this._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n }\n FacebookOAuth.prototype.refreshFacebookToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Facebook SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshFacebookTokenImpl()];\n }\n });\n });\n };\n FacebookOAuth.prototype._refreshFacebookTokenImpl = function () {\n var fb = null;\n if (browserOrNode().isBrowser)\n fb = window['FB'];\n if (!fb) {\n var errorMessage = 'no fb sdk available';\n logger.debug(errorMessage);\n return Promise.reject(new NonRetryableError(errorMessage));\n }\n return new Promise(function (res, rej) {\n fb.getLoginStatus(function (fbResponse) {\n if (!fbResponse || !fbResponse.authResponse) {\n var errorMessage = 'no response from facebook when refreshing the jwt token';\n logger.debug(errorMessage);\n // There is no definitive indication for a network error in\n // fbResponse, so we are treating it as an invalid token.\n rej(new NonRetryableError(errorMessage));\n }\n else {\n var response = fbResponse.authResponse;\n var accessToken = response.accessToken, expiresIn = response.expiresIn;\n var date = new Date();\n var expires_at = expiresIn * 1000 + date.getTime();\n if (!accessToken) {\n var errorMessage = 'the jwtToken is undefined';\n logger.debug(errorMessage);\n rej(new NonRetryableError(errorMessage));\n }\n res({\n token: accessToken,\n expires_at: expires_at,\n });\n }\n }, { scope: 'public_profile,email' });\n });\n };\n return FacebookOAuth;\n}());\nexport { FacebookOAuth };\n//# sourceMappingURL=FacebookOAuth.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\nexport var GoogleOAuth = new GoogleOAuthClass();\nexport var FacebookOAuth = new FacebookOAuthClass();\n//# sourceMappingURL=index.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { getAmplifyUserAgent } from './Platform';\nimport { Amplify } from './Amplify';\nimport { fromCognitoIdentity, fromCognitoIdentityPool, } from '@aws-sdk/credential-provider-cognito-identity';\nimport { CognitoIdentityClient, GetIdCommand, GetCredentialsForIdentityCommand, } from '@aws-sdk/client-cognito-identity';\nimport { parseAWSExports } from './parseAWSExports';\nimport { Hub } from './Hub';\nvar logger = new Logger('Credentials');\nvar CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nvar COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchCredentialsEvent = function (event, data, message) {\n Hub.dispatch('core', { event: event, data: data, message: message }, 'Credentials', AMPLIFY_SYMBOL);\n};\nvar CredentialsClass = /** @class */ (function () {\n function CredentialsClass(config) {\n this._gettingCredPromise = null;\n this._refreshHandlers = {};\n // Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n this.Auth = undefined;\n this.configure(config);\n this._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n this._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n }\n CredentialsClass.prototype.getModuleName = function () {\n return 'Credentials';\n };\n CredentialsClass.prototype.getCredSource = function () {\n return this._credentials_source;\n };\n CredentialsClass.prototype.configure = function (config) {\n if (!config)\n return this._config || {};\n this._config = Object.assign({}, this._config, config);\n var refreshHandlers = this._config.refreshHandlers;\n // If the developer has provided an object of refresh handlers,\n // then we can merge the provided handlers with the current handlers.\n if (refreshHandlers) {\n this._refreshHandlers = __assign(__assign({}, this._refreshHandlers), refreshHandlers);\n }\n this._storage = this._config.storage;\n if (!this._storage) {\n this._storage = new StorageHelper().getStorage();\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n dispatchCredentialsEvent('credentials_configured', null, \"Credentials has been configured successfully\");\n return this._config;\n };\n CredentialsClass.prototype.get = function () {\n logger.debug('getting credentials');\n return this._pickupCredentials();\n };\n // currently we only store the guest identity in local storage\n CredentialsClass.prototype._getCognitoIdentityIdStorageKey = function (identityPoolId) {\n return \"\" + COGNITO_IDENTITY_KEY_PREFIX + identityPoolId;\n };\n CredentialsClass.prototype._pickupCredentials = function () {\n logger.debug('picking up credentials');\n if (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n logger.debug('getting new cred promise');\n this._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n }\n else {\n logger.debug('getting old cred promise');\n }\n return this._gettingCredPromise;\n };\n CredentialsClass.prototype._keepAlive = function () {\n return __awaiter(this, void 0, void 0, function () {\n var cred, _a, Auth, user_1, session, refreshToken_1, refreshRequest, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('checking if credentials exists and not expired');\n cred = this._credentials;\n if (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n logger.debug('credentials not changed and not expired, directly return');\n return [2 /*return*/, Promise.resolve(cred)];\n }\n logger.debug('need to get a new credential or refresh the existing one');\n _a = this.Auth, Auth = _a === void 0 ? Amplify.Auth : _a;\n if (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n // If Auth module is not imported, do a best effort to get guest credentials\n return [2 /*return*/, this._setCredentialsForGuest()];\n }\n if (!(!this._isExpired(cred) && this._isPastTTL())) return [3 /*break*/, 6];\n logger.debug('ttl has passed but token is not yet expired');\n _b.label = 1;\n case 1:\n _b.trys.push([1, 5, , 6]);\n return [4 /*yield*/, Auth.currentUserPoolUser()];\n case 2:\n user_1 = _b.sent();\n return [4 /*yield*/, Auth.currentSession()];\n case 3:\n session = _b.sent();\n refreshToken_1 = session.refreshToken;\n refreshRequest = new Promise(function (res, rej) {\n user_1.refreshSession(refreshToken_1, function (err, data) {\n return err ? rej(err) : res(data);\n });\n });\n return [4 /*yield*/, refreshRequest];\n case 4:\n _b.sent(); // note that rejections will be caught and handled in the catch block.\n return [3 /*break*/, 6];\n case 5:\n err_1 = _b.sent();\n // should not throw because user might just be on guest access or is authenticated through federation\n logger.debug('Error attempting to refreshing the session', err_1);\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/, Auth.currentUserCredentials()];\n }\n });\n });\n };\n CredentialsClass.prototype.refreshFederatedToken = function (federatedInfo) {\n logger.debug('Getting federated credentials');\n var provider = federatedInfo.provider, user = federatedInfo.user, token = federatedInfo.token, identity_id = federatedInfo.identity_id;\n var expires_at = federatedInfo.expires_at;\n // Make sure expires_at is in millis\n expires_at =\n new Date(expires_at).getFullYear() === 1970\n ? expires_at * 1000\n : expires_at;\n var that = this;\n logger.debug('checking if federated jwt token expired');\n if (expires_at > new Date().getTime()) {\n // if not expired\n logger.debug('token not expired');\n return this._setCredentialsFromFederation({\n provider: provider,\n token: token,\n user: user,\n identity_id: identity_id,\n expires_at: expires_at,\n });\n }\n else {\n // if refresh handler exists\n if (that._refreshHandlers[provider] &&\n typeof that._refreshHandlers[provider] === 'function') {\n logger.debug('getting refreshed jwt token from federation provider');\n return this._providerRefreshWithRetry({\n refreshHandler: that._refreshHandlers[provider],\n provider: provider,\n user: user,\n });\n }\n else {\n logger.debug('no refresh handler for provider:', provider);\n this.clear();\n return Promise.reject('no refresh handler for provider');\n }\n }\n };\n CredentialsClass.prototype._providerRefreshWithRetry = function (_a) {\n var _this = this;\n var refreshHandler = _a.refreshHandler, provider = _a.provider, user = _a.user;\n var MAX_DELAY_MS = 10 * 1000;\n // refreshHandler will retry network errors, otherwise it will\n // return NonRetryableError to break out of jitteredExponentialRetry\n return jitteredExponentialRetry(refreshHandler, [], MAX_DELAY_MS)\n .then(function (data) {\n logger.debug('refresh federated token sucessfully', data);\n return _this._setCredentialsFromFederation({\n provider: provider,\n token: data.token,\n user: user,\n identity_id: data.identity_id,\n expires_at: data.expires_at,\n });\n })\n .catch(function (e) {\n var isNetworkError = typeof e === 'string' &&\n e.toLowerCase().lastIndexOf('network error', e.length) === 0;\n if (!isNetworkError) {\n _this.clear();\n }\n logger.debug('refresh federated token failed', e);\n return Promise.reject('refreshing federation token failed: ' + e);\n });\n };\n CredentialsClass.prototype._isExpired = function (credentials) {\n if (!credentials) {\n logger.debug('no credentials for expiration check');\n return true;\n }\n logger.debug('are these credentials expired?', credentials);\n var ts = Date.now();\n /* returns date object.\n https://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n */\n var expiration = credentials.expiration;\n return expiration.getTime() <= ts;\n };\n CredentialsClass.prototype._isPastTTL = function () {\n return this._nextCredentialsRefresh <= Date.now();\n };\n CredentialsClass.prototype._setCredentialsForGuest = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var _b, identityPoolId, region, mandatorySignIn, identityPoolRegion, identityId, _c, cognitoClient, credentials, cognitoIdentityParams, credentialsProvider;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n logger.debug('setting credentials for guest');\n if (!((_a = this._config) === null || _a === void 0 ? void 0 : _a.identityPoolId)) {\n // If Credentials are not configured thru Auth module,\n // doing best effort to check if the library was configured\n this._config = Object.assign({}, this._config, parseAWSExports(this._config || {}).Auth);\n }\n _b = this._config, identityPoolId = _b.identityPoolId, region = _b.region, mandatorySignIn = _b.mandatorySignIn, identityPoolRegion = _b.identityPoolRegion;\n if (mandatorySignIn) {\n return [2 /*return*/, Promise.reject('cannot get guest credentials when mandatory signin enabled')];\n }\n if (!identityPoolId) {\n logger.debug('No Cognito Identity pool provided for unauthenticated access');\n return [2 /*return*/, Promise.reject('No Cognito Identity pool provided for unauthenticated access')];\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return [2 /*return*/, Promise.reject('region is not configured for getting the credentials')];\n }\n _c = this;\n return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n identityId = (_c._identityId = _d.sent());\n cognitoClient = new CognitoIdentityClient({\n region: identityPoolRegion || region,\n customUserAgent: getAmplifyUserAgent(),\n });\n credentials = undefined;\n if (identityId) {\n cognitoIdentityParams = {\n identityId: identityId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n }\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)\n .then(function (res) {\n return res;\n })\n .catch(function (e) { return __awaiter(_this, void 0, void 0, function () {\n var credentialsProvider;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(e.name === 'ResourceNotFoundException' &&\n e.message === \"Identity '\" + identityId + \"' not found.\")) return [3 /*break*/, 2];\n logger.debug('Failed to load guest credentials');\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 1:\n _a.sent();\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)];\n case 2: return [2 /*return*/, e];\n }\n });\n }); })];\n }\n });\n });\n };\n CredentialsClass.prototype._setCredentialsFromFederation = function (params) {\n var provider = params.provider, token = params.token, identity_id = params.identity_id;\n var domains = {\n google: 'accounts.google.com',\n facebook: 'graph.facebook.com',\n amazon: 'www.amazon.com',\n developer: 'cognito-identity.amazonaws.com',\n };\n // Use custom provider url instead of the predefined ones\n var domain = domains[provider] || provider;\n if (!domain) {\n return Promise.reject('You must specify a federated provider');\n }\n var logins = {};\n logins[domain] = token;\n var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region, identityPoolRegion = _a.identityPoolRegion;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var cognitoClient = new CognitoIdentityClient({\n region: identityPoolRegion || region,\n customUserAgent: getAmplifyUserAgent(),\n });\n var credentials = undefined;\n if (identity_id) {\n var cognitoIdentityParams = {\n identityId: identity_id,\n logins: logins,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n var cognitoIdentityParams = {\n logins: logins,\n identityPoolId: identityPoolId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentityPool(cognitoIdentityParams)();\n }\n return this._loadCredentials(credentials, 'federated', true, params);\n };\n CredentialsClass.prototype._setCredentialsFromSession = function (session) {\n var _this = this;\n logger.debug('set credentials from session');\n var idToken = session.getIdToken().getJwtToken();\n var _a = this._config, region = _a.region, userPoolId = _a.userPoolId, identityPoolId = _a.identityPoolId, identityPoolRegion = _a.identityPoolRegion;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n var logins = {};\n logins[key] = idToken;\n var cognitoClient = new CognitoIdentityClient({\n region: identityPoolRegion || region,\n customUserAgent: getAmplifyUserAgent(),\n });\n /*\n Retreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n https://git.io/JeDxU\n\n Note: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n */\n var credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var guestIdentityId, generatedOrRetrievedIdentityId, IdentityId, _a, _b, AccessKeyId, Expiration, SecretKey, SessionToken, primaryIdentityId;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n guestIdentityId = _c.sent();\n if (!!guestIdentityId) return [3 /*break*/, 3];\n return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n Logins: logins,\n }))];\n case 2:\n IdentityId = (_c.sent()).IdentityId;\n generatedOrRetrievedIdentityId = IdentityId;\n _c.label = 3;\n case 3: return [4 /*yield*/, cognitoClient.send(new GetCredentialsForIdentityCommand({\n IdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n Logins: logins,\n }))];\n case 4:\n _a = _c.sent(), _b = _a.Credentials, AccessKeyId = _b.AccessKeyId, Expiration = _b.Expiration, SecretKey = _b.SecretKey, SessionToken = _b.SessionToken, primaryIdentityId = _a.IdentityId;\n this._identityId = primaryIdentityId;\n if (!guestIdentityId) return [3 /*break*/, 6];\n // if guestIdentity is found and used by GetCredentialsForIdentity\n // it will be linked to the logins provided, and disqualified as an unauth identity\n logger.debug(\"The guest identity \" + guestIdentityId + \" has been successfully linked to the logins\");\n if (guestIdentityId === primaryIdentityId) {\n logger.debug(\"The guest identity \" + guestIdentityId + \" has become the primary identity\");\n }\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 5:\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n _c.sent();\n _c.label = 6;\n case 6: \n // https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n return [2 /*return*/, {\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n identityId: primaryIdentityId,\n }];\n }\n });\n }); };\n var credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return this._loadCredentials(credentials, 'userPool', true, null);\n };\n CredentialsClass.prototype._loadCredentials = function (credentials, source, authenticated, info) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n credentials\n .then(function (credentials) { return __awaiter(_this, void 0, void 0, function () {\n var user, provider, token, expires_at, identity_id;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Load credentials successfully', credentials);\n if (this._identityId && !credentials.identityId) {\n credentials['identityId'] = this._identityId;\n }\n that._credentials = credentials;\n that._credentials.authenticated = authenticated;\n that._credentials_source = source;\n that._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n if (source === 'federated') {\n user = Object.assign({ id: this._credentials.identityId }, info.user);\n provider = info.provider, token = info.token, expires_at = info.expires_at, identity_id = info.identity_id;\n try {\n this._storage.setItem('aws-amplify-federatedInfo', JSON.stringify({\n provider: provider,\n token: token,\n user: user,\n expires_at: expires_at,\n identity_id: identity_id,\n }));\n }\n catch (e) {\n logger.debug('Failed to put federated info into auth storage', e);\n }\n }\n if (!(source === 'guest')) return [3 /*break*/, 2];\n return [4 /*yield*/, this._setGuestIdentityId(credentials.identityId)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n res(that._credentials);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (err) {\n if (err) {\n logger.debug('Failed to load credentials', credentials);\n logger.debug('Error loading credentials', err);\n rej(err);\n return;\n }\n });\n });\n };\n CredentialsClass.prototype.set = function (params, source) {\n if (source === 'session') {\n return this._setCredentialsFromSession(params);\n }\n else if (source === 'federation') {\n return this._setCredentialsFromFederation(params);\n }\n else if (source === 'guest') {\n return this._setCredentialsForGuest();\n }\n else {\n logger.debug('no source specified for setting credentials');\n return Promise.reject('invalid source');\n }\n };\n CredentialsClass.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._credentials = null;\n this._credentials_source = null;\n logger.debug('removing aws-amplify-federatedInfo from storage');\n this._storage.removeItem('aws-amplify-federatedInfo');\n return [2 /*return*/];\n });\n });\n };\n /* operations on local stored guest identity */\n CredentialsClass.prototype._getGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [2 /*return*/, this._storage.getItem(this._getCognitoIdentityIdStorageKey(identityPoolId))];\n case 3:\n e_1 = _a.sent();\n logger.debug('Failed to get the cached guest identityId', e_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._setGuestIdentityId = function (identityId) {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n this._storage.setItem(this._getCognitoIdentityIdStorageKey(identityPoolId), identityId);\n return [3 /*break*/, 4];\n case 3:\n e_2 = _a.sent();\n logger.debug('Failed to cache guest identityId', e_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._removeGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId;\n return __generator(this, function (_a) {\n identityPoolId = this._config.identityPoolId;\n logger.debug(\"removing \" + this._getCognitoIdentityIdStorageKey(identityPoolId) + \" from storage\");\n this._storage.removeItem(this._getCognitoIdentityIdStorageKey(identityPoolId));\n return [2 /*return*/];\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n CredentialsClass.prototype.shear = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n return CredentialsClass;\n}());\nexport { CredentialsClass };\nexport var Credentials = new CredentialsClass(null);\nAmplify.register(Credentials);\n//# sourceMappingURL=Credentials.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __read, __spread } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Hub');\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nfunction isLegacyCallback(callback) {\n return callback.onHubCapsule !== undefined;\n}\nvar HubClass = /** @class */ (function () {\n function HubClass(name) {\n this.listeners = [];\n this.patterns = [];\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n /**\n * Used internally to remove a Hub listener.\n *\n * @remarks\n * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n */\n HubClass.prototype._remove = function (channel, listener) {\n if (channel instanceof RegExp) {\n var pattern_1 = this.patterns.find(function (_a) {\n var pattern = _a.pattern;\n return pattern.source === channel.source;\n });\n if (!pattern_1) {\n logger.warn(\"No listeners for \" + channel);\n return;\n }\n this.patterns = __spread(this.patterns.filter(function (x) { return x !== pattern_1; }));\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n logger.warn(\"No listeners for \" + channel);\n return;\n }\n this.listeners[channel] = __spread(holder.filter(function (_a) {\n var callback = _a.callback;\n return callback !== listener;\n }));\n }\n };\n /**\n * @deprecated Instead of calling Hub.remove, call the result of Hub.listen.\n */\n HubClass.prototype.remove = function (channel, listener) {\n this._remove(channel, listener);\n };\n /**\n * Used to send a Hub event.\n *\n * @param channel - The channel on which the event will be broadcast\n * @param payload - The HubPayload\n * @param source - The source of the event; defaults to ''\n * @param ampSymbol - Symbol used to determine if the event is dispatched internally on a protected channel\n *\n */\n HubClass.prototype.dispatch = function (channel, payload, source, ampSymbol) {\n if (source === void 0) { source = ''; }\n if (this.protectedChannels.indexOf(channel) > -1) {\n var hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(\"WARNING: \" + channel + \" is protected and dispatching on it can have unintended consequences\");\n }\n }\n var capsule = {\n channel: channel,\n payload: __assign({}, payload),\n source: source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n };\n /**\n * Used to listen for Hub events.\n *\n * @param channel - The channel on which to listen\n * @param callback - The callback to execute when an event is received on the specified channel\n * @param listenerName - The name of the listener; defaults to 'noname'\n * @returns A function which can be called to cancel the listener.\n *\n */\n HubClass.prototype.listen = function (channel, callback, listenerName) {\n var _this = this;\n if (listenerName === void 0) { listenerName = 'noname'; }\n var cb;\n // Check for legacy onHubCapsule callback for backwards compatability\n if (isLegacyCallback(callback)) {\n logger.warn(\"WARNING onHubCapsule is Deprecated. Please pass in a callback.\");\n cb = callback.onHubCapsule.bind(callback);\n }\n else if (typeof callback !== 'function') {\n throw new Error('No callback supplied to Hub');\n }\n else {\n cb = callback;\n }\n if (channel instanceof RegExp) {\n this.patterns.push({\n pattern: channel,\n callback: cb,\n });\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n holder = [];\n this.listeners[channel] = holder;\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n }\n return function () {\n _this._remove(channel, cb);\n };\n };\n HubClass.prototype._toListeners = function (capsule) {\n var channel = capsule.channel, payload = capsule.payload;\n var holder = this.listeners[channel];\n if (holder) {\n holder.forEach(function (listener) {\n logger.debug(\"Dispatching to \" + channel + \" with \", payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n if (this.patterns.length > 0) {\n if (!payload.message) {\n logger.warn(\"Cannot perform pattern matching without a message key\");\n return;\n }\n var payloadStr_1 = payload.message;\n this.patterns.forEach(function (pattern) {\n var match = payloadStr_1.match(pattern.pattern);\n if (match) {\n var _a = __read(match), groups = _a.slice(1);\n var dispatchingCapsule = __assign(__assign({}, capsule), { patternInfo: groups });\n try {\n pattern.callback(dispatchingCapsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n });\n }\n };\n return HubClass;\n}());\nexport { HubClass };\n/*We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events.*/\nexport var Hub = new HubClass('__default__');\n//# sourceMappingURL=Hub.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar MIME_MAP = [\n { type: 'text/plain', ext: 'txt' },\n { type: 'text/html', ext: 'html' },\n { type: 'text/javascript', ext: 'js' },\n { type: 'text/css', ext: 'css' },\n { type: 'text/csv', ext: 'csv' },\n { type: 'text/yaml', ext: 'yml' },\n { type: 'text/yaml', ext: 'yaml' },\n { type: 'text/calendar', ext: 'ics' },\n { type: 'text/calendar', ext: 'ical' },\n { type: 'image/apng', ext: 'apng' },\n { type: 'image/bmp', ext: 'bmp' },\n { type: 'image/gif', ext: 'gif' },\n { type: 'image/x-icon', ext: 'ico' },\n { type: 'image/x-icon', ext: 'cur' },\n { type: 'image/jpeg', ext: 'jpg' },\n { type: 'image/jpeg', ext: 'jpeg' },\n { type: 'image/jpeg', ext: 'jfif' },\n { type: 'image/jpeg', ext: 'pjp' },\n { type: 'image/jpeg', ext: 'pjpeg' },\n { type: 'image/png', ext: 'png' },\n { type: 'image/svg+xml', ext: 'svg' },\n { type: 'image/tiff', ext: 'tif' },\n { type: 'image/tiff', ext: 'tiff' },\n { type: 'image/webp', ext: 'webp' },\n { type: 'application/json', ext: 'json' },\n { type: 'application/xml', ext: 'xml' },\n { type: 'application/x-sh', ext: 'sh' },\n { type: 'application/zip', ext: 'zip' },\n { type: 'application/x-rar-compressed', ext: 'rar' },\n { type: 'application/x-tar', ext: 'tar' },\n { type: 'application/x-bzip', ext: 'bz' },\n { type: 'application/x-bzip2', ext: 'bz2' },\n { type: 'application/pdf', ext: 'pdf' },\n { type: 'application/java-archive', ext: 'jar' },\n { type: 'application/msword', ext: 'doc' },\n { type: 'application/vnd.ms-excel', ext: 'xls' },\n { type: 'application/vnd.ms-excel', ext: 'xlsx' },\n { type: 'message/rfc822', ext: 'eml' },\n];\nexport var isEmpty = function (obj) {\n if (obj === void 0) { obj = {}; }\n return Object.keys(obj).length === 0;\n};\nexport var sortByField = function (list, field, dir) {\n if (!list || !list.sort) {\n return false;\n }\n var dirX = dir && dir === 'desc' ? -1 : 1;\n list.sort(function (a, b) {\n var a_val = a[field];\n var b_val = b[field];\n if (typeof b_val === 'undefined') {\n return typeof a_val === 'undefined' ? 0 : 1 * dirX;\n }\n if (typeof a_val === 'undefined') {\n return -1 * dirX;\n }\n if (a_val < b_val) {\n return -1 * dirX;\n }\n if (a_val > b_val) {\n return 1 * dirX;\n }\n return 0;\n });\n return true;\n};\nexport var objectLessAttributes = function (obj, less) {\n var ret = Object.assign({}, obj);\n if (less) {\n if (typeof less === 'string') {\n delete ret[less];\n }\n else {\n less.forEach(function (attr) {\n delete ret[attr];\n });\n }\n }\n return ret;\n};\nexport var filenameToContentType = function (filename, defVal) {\n if (defVal === void 0) { defVal = 'application/octet-stream'; }\n var name = filename.toLowerCase();\n var filtered = MIME_MAP.filter(function (mime) { return name.endsWith('.' + mime.ext); });\n return filtered.length > 0 ? filtered[0].type : defVal;\n};\nexport var isTextFile = function (contentType) {\n var type = contentType.toLowerCase();\n if (type.startsWith('text/')) {\n return true;\n }\n return ('application/json' === type ||\n 'application/xml' === type ||\n 'application/sh' === type);\n};\nexport var generateRandomString = function () {\n var result = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (var i = 32; i > 0; i -= 1) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n};\nexport var makeQuerablePromise = function (promise) {\n if (promise.isResolved)\n return promise;\n var isPending = true;\n var isRejected = false;\n var isFullfilled = false;\n var result = promise.then(function (data) {\n isFullfilled = true;\n isPending = false;\n return data;\n }, function (e) {\n isRejected = true;\n isPending = false;\n throw e;\n });\n result.isFullfilled = function () { return isFullfilled; };\n result.isPending = function () { return isPending; };\n result.isRejected = function () { return isRejected; };\n return result;\n};\nexport var isWebWorker = function () {\n if (typeof self === 'undefined') {\n return false;\n }\n var selfContext = self;\n return (typeof selfContext.WorkerGlobalScope !== 'undefined' &&\n self instanceof selfContext.WorkerGlobalScope);\n};\nexport var browserOrNode = function () {\n var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var isNode = typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null;\n return {\n isBrowser: isBrowser,\n isNode: isNode,\n };\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToLowerCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferedKey = whiteListForItself.includes(key)\n ? key\n : key[0].toLowerCase() + key.slice(1);\n ret[transferedKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToLowerCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToUpperCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferredKey = whiteListForItself.includes(key)\n ? key\n : key[0].toUpperCase() + key.slice(1);\n ret[transferredKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToUpperCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * Return true if the object is a strict object\n * which means it's not Array, Function, Number, String, Boolean or Null\n * @param obj the Object\n */\nexport var isStrictObject = function (obj) {\n return (obj instanceof Object &&\n !(obj instanceof Array) &&\n !(obj instanceof Function) &&\n !(obj instanceof Number) &&\n !(obj instanceof String) &&\n !(obj instanceof Boolean));\n};\n//# sourceMappingURL=JS.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __read, __spread, __values } from \"tslib\";\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nvar LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n};\nexport var LOG_TYPE;\n(function (LOG_TYPE) {\n LOG_TYPE[\"DEBUG\"] = \"DEBUG\";\n LOG_TYPE[\"ERROR\"] = \"ERROR\";\n LOG_TYPE[\"INFO\"] = \"INFO\";\n LOG_TYPE[\"WARN\"] = \"WARN\";\n LOG_TYPE[\"VERBOSE\"] = \"VERBOSE\";\n})(LOG_TYPE || (LOG_TYPE = {}));\n/**\n * Write logs\n * @class Logger\n */\nvar ConsoleLogger = /** @class */ (function () {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n function ConsoleLogger(name, level) {\n if (level === void 0) { level = LOG_TYPE.WARN; }\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n ConsoleLogger.prototype._padding = function (n) {\n return n < 10 ? '0' + n : '' + n;\n };\n ConsoleLogger.prototype._ts = function () {\n var dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n };\n ConsoleLogger.prototype.configure = function (config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n };\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LOG_TYPE|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype._log = function (type) {\n var e_1, _a;\n var msg = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n msg[_i - 1] = arguments[_i];\n }\n var logger_level_name = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n logger_level_name = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n logger_level_name = window.LOG_LEVEL;\n }\n var logger_level = LOG_LEVELS[logger_level_name];\n var type_level = LOG_LEVELS[type];\n if (!(type_level >= logger_level)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n var log = console.log.bind(console);\n if (type === LOG_TYPE.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LOG_TYPE.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n var prefix = \"[\" + type + \"] \" + this._ts() + \" \" + this.name;\n var message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = prefix + \" - \" + msg[0];\n log(message);\n }\n else if (msg.length === 1) {\n message = prefix + \" \" + msg[0];\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n var obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = prefix + \" - \" + msg[0] + \" \" + obj;\n log(prefix + \" - \" + msg[0], obj);\n }\n else {\n message = prefix + \" \" + msg;\n log(prefix, msg);\n }\n try {\n for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {\n var plugin = _c.value;\n var logEvent = { message: message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.log = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.info = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.warn = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.WARN], msg));\n };\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.error = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.ERROR], msg));\n };\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.debug = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.DEBUG], msg));\n };\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.verbose = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.VERBOSE], msg));\n };\n ConsoleLogger.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n };\n ConsoleLogger.prototype.listPluggables = function () {\n return this._pluggables;\n };\n ConsoleLogger.LOG_LEVEL = null;\n return ConsoleLogger;\n}());\nexport { ConsoleLogger };\n//# sourceMappingURL=ConsoleLogger.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nvar AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nvar AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nvar AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nvar AWS_CLOUDWATCH_CATEGORY = 'Logging';\nvar AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nvar NO_CREDS_ERROR_STRING = 'No credentials';\nvar RETRY_ERROR_CODES = [\n 'ResourceNotFoundException',\n 'InvalidSequenceTokenException',\n];\nexport { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, };\n//# sourceMappingURL=Constants.js.map","// generated by genversion\nexport var version = '5.0.4';\n//# sourceMappingURL=version.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false,\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getAmplifyUserAgent = function (content) {\n return \"\" + Platform.userAgent + (content ? content : '');\n};\n//# sourceMappingURL=index.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar dataMemory = {};\n/** @class */\nvar MemoryStorage = /** @class */ (function () {\n function MemoryStorage() {\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function (key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n };\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n MemoryStorage.getItem = function (key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key)\n ? dataMemory[key]\n : undefined;\n };\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n MemoryStorage.removeItem = function (key) {\n return delete dataMemory[key];\n };\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n MemoryStorage.clear = function () {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}());\nexport { MemoryStorage };\nvar StorageHelper = /** @class */ (function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.amplify.test-ls', 1);\n this.storageWindow.removeItem('aws.amplify.test-ls');\n }\n catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n StorageHelper.prototype.getStorage = function () {\n return this.storageWindow;\n };\n return StorageHelper;\n}());\nexport { StorageHelper };\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Parser');\nexport var parseAWSExports = function (config) {\n var amplifyConfig = {};\n // Analytics\n if (config['aws_mobile_analytics_app_id']) {\n var Analytics = {\n AWSPinpoint: {\n appId: config['aws_mobile_analytics_app_id'],\n region: config['aws_mobile_analytics_app_region'],\n },\n };\n amplifyConfig.Analytics = Analytics;\n }\n // Auth\n if (config['aws_cognito_identity_pool_id'] || config['aws_user_pools_id']) {\n amplifyConfig.Auth = {\n userPoolId: config['aws_user_pools_id'],\n userPoolWebClientId: config['aws_user_pools_web_client_id'],\n region: config['aws_cognito_region'],\n identityPoolId: config['aws_cognito_identity_pool_id'],\n identityPoolRegion: config['aws_cognito_region'],\n mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable',\n signUpVerificationMethod: config['aws_cognito_sign_up_verification_method'] || 'code',\n };\n }\n // Storage\n var storageConfig;\n if (config['aws_user_files_s3_bucket']) {\n storageConfig = {\n AWSS3: {\n bucket: config['aws_user_files_s3_bucket'],\n region: config['aws_user_files_s3_bucket_region'],\n dangerouslyConnectToHttpEndpointForTesting: config['aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing'],\n },\n };\n }\n else {\n storageConfig = config ? config.Storage || config : {};\n }\n // Logging\n if (config['Logging']) {\n amplifyConfig.Logging = __assign(__assign({}, config['Logging']), { region: config['aws_project_region'] });\n }\n // Geo\n if (config['geo']) {\n amplifyConfig.Geo = Object.assign({}, config.geo);\n if (config.geo['amazon_location_service']) {\n amplifyConfig.Geo = {\n AmazonLocationService: config.geo['amazon_location_service'],\n };\n }\n }\n amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics);\n amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth);\n amplifyConfig.Storage = Object.assign({}, storageConfig);\n amplifyConfig.Logging = Object.assign({}, amplifyConfig.Logging, config.Logging);\n logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig);\n return amplifyConfig;\n};\n//# sourceMappingURL=parseAWSExports.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","module.exports = require('./lib/axios');","'use strict';\n\nvar utils = require('./../utils');\nvar settle = require('./../core/settle');\nvar cookies = require('./../helpers/cookies');\nvar buildURL = require('./../helpers/buildURL');\nvar buildFullPath = require('../core/buildFullPath');\nvar parseHeaders = require('./../helpers/parseHeaders');\nvar isURLSameOrigin = require('./../helpers/isURLSameOrigin');\nvar createError = require('../core/createError');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\nmodule.exports = function xhrAdapter(config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n var requestData = config.data;\n var requestHeaders = config.headers;\n var responseType = config.responseType;\n var onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData)) {\n delete requestHeaders['Content-Type']; // Let the browser set it\n }\n\n var request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n var username = config.auth.username || '';\n var password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.Authorization = 'Basic ' + btoa(username + ':' + password);\n }\n\n var fullPath = buildFullPath(config.baseURL, config.url);\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n var responseHeaders = 'getAllResponseHeaders' in request ? parseHeaders(request.getAllResponseHeaders()) : null;\n var responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n var response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config: config,\n request: request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(createError('Request aborted', config, 'ECONNABORTED', request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(createError('Network Error', config, null, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n var timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n var transitional = config.transitional || defaults.transitional;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(createError(\n timeoutErrorMessage,\n config,\n transitional.clarifyTimeoutError ? 'ETIMEDOUT' : 'ECONNABORTED',\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (utils.isStandardBrowserEnv()) {\n // Add xsrf header\n var xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath)) && config.xsrfCookieName ?\n cookies.read(config.xsrfCookieName) :\n undefined;\n\n if (xsrfValue) {\n requestHeaders[config.xsrfHeaderName] = xsrfValue;\n }\n }\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders, function setRequestHeader(val, key) {\n if (typeof requestData === 'undefined' && key.toLowerCase() === 'content-type') {\n // Remove Content-Type if data is undefined\n delete requestHeaders[key];\n } else {\n // Otherwise add header to the request\n request.setRequestHeader(key, val);\n }\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', config.onDownloadProgress);\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', config.onUploadProgress);\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = function(cancel) {\n if (!request) {\n return;\n }\n reject(!cancel || (cancel && cancel.type) ? new Cancel('canceled') : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n if (!requestData) {\n requestData = null;\n }\n\n // Send the request\n request.send(requestData);\n });\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar bind = require('./helpers/bind');\nvar Axios = require('./core/Axios');\nvar mergeConfig = require('./core/mergeConfig');\nvar defaults = require('./defaults');\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n * @return {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n var context = new Axios(defaultConfig);\n var instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context);\n\n // Copy context to instance\n utils.extend(instance, context);\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nvar axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.Cancel = require('./cancel/Cancel');\naxios.CancelToken = require('./cancel/CancelToken');\naxios.isCancel = require('./cancel/isCancel');\naxios.VERSION = require('./env/data').version;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\naxios.spread = require('./helpers/spread');\n\n// Expose isAxiosError\naxios.isAxiosError = require('./helpers/isAxiosError');\n\nmodule.exports = axios;\n\n// Allow use of default import syntax in TypeScript\nmodule.exports.default = axios;\n","'use strict';\n\n/**\n * A `Cancel` is an object that is thrown when an operation is canceled.\n *\n * @class\n * @param {string=} message The message.\n */\nfunction Cancel(message) {\n this.message = message;\n}\n\nCancel.prototype.toString = function toString() {\n return 'Cancel' + (this.message ? ': ' + this.message : '');\n};\n\nCancel.prototype.__CANCEL__ = true;\n\nmodule.exports = Cancel;\n","'use strict';\n\nvar Cancel = require('./Cancel');\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @class\n * @param {Function} executor The executor function.\n */\nfunction CancelToken(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n var resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n var token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(function(cancel) {\n if (!token._listeners) return;\n\n var i;\n var l = token._listeners.length;\n\n for (i = 0; i < l; i++) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = function(onfulfilled) {\n var _resolve;\n // eslint-disable-next-line func-names\n var promise = new Promise(function(resolve) {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new Cancel(message);\n resolvePromise(token.reason);\n });\n}\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nCancelToken.prototype.throwIfRequested = function throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n};\n\n/**\n * Subscribe to the cancel signal\n */\n\nCancelToken.prototype.subscribe = function subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n};\n\n/**\n * Unsubscribe from the cancel signal\n */\n\nCancelToken.prototype.unsubscribe = function unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n var index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n};\n\n/**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\nCancelToken.source = function source() {\n var cancel;\n var token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token: token,\n cancel: cancel\n };\n};\n\nmodule.exports = CancelToken;\n","'use strict';\n\nmodule.exports = function isCancel(value) {\n return !!(value && value.__CANCEL__);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar buildURL = require('../helpers/buildURL');\nvar InterceptorManager = require('./InterceptorManager');\nvar dispatchRequest = require('./dispatchRequest');\nvar mergeConfig = require('./mergeConfig');\nvar validator = require('../helpers/validator');\n\nvar validators = validator.validators;\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n */\nfunction Axios(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n}\n\n/**\n * Dispatch a request\n *\n * @param {Object} config The config specific for this request (merged with this.defaults)\n */\nAxios.prototype.request = function request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n // Set config.method\n if (config.method) {\n config.method = config.method.toLowerCase();\n } else if (this.defaults.method) {\n config.method = this.defaults.method.toLowerCase();\n } else {\n config.method = 'get';\n }\n\n var transitional = config.transitional;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n // filter out skipped interceptors\n var requestInterceptorChain = [];\n var synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n var responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n var promise;\n\n if (!synchronousRequestInterceptors) {\n var chain = [dispatchRequest, undefined];\n\n Array.prototype.unshift.apply(chain, requestInterceptorChain);\n chain = chain.concat(responseInterceptorChain);\n\n promise = Promise.resolve(config);\n while (chain.length) {\n promise = promise.then(chain.shift(), chain.shift());\n }\n\n return promise;\n }\n\n\n var newConfig = config;\n while (requestInterceptorChain.length) {\n var onFulfilled = requestInterceptorChain.shift();\n var onRejected = requestInterceptorChain.shift();\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected(error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest(newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n while (responseInterceptorChain.length) {\n promise = promise.then(responseInterceptorChain.shift(), responseInterceptorChain.shift());\n }\n\n return promise;\n};\n\nAxios.prototype.getUri = function getUri(config) {\n config = mergeConfig(this.defaults, config);\n return buildURL(config.url, config.params, config.paramsSerializer).replace(/^\\?/, '');\n};\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method: method,\n url: url,\n data: data\n }));\n };\n});\n\nmodule.exports = Axios;\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction InterceptorManager() {\n this.handlers = [];\n}\n\n/**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\nInterceptorManager.prototype.use = function use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled: fulfilled,\n rejected: rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n};\n\n/**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n */\nInterceptorManager.prototype.eject = function eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n};\n\n/**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n */\nInterceptorManager.prototype.forEach = function forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n};\n\nmodule.exports = InterceptorManager;\n","'use strict';\n\nvar isAbsoluteURL = require('../helpers/isAbsoluteURL');\nvar combineURLs = require('../helpers/combineURLs');\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n * @returns {string} The combined full path\n */\nmodule.exports = function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n};\n","'use strict';\n\nvar enhanceError = require('./enhanceError');\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The created error.\n */\nmodule.exports = function createError(message, config, code, request, response) {\n var error = new Error(message);\n return enhanceError(error, config, code, request, response);\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar transformData = require('./transformData');\nvar isCancel = require('../cancel/isCancel');\nvar defaults = require('../defaults');\nvar Cancel = require('../cancel/Cancel');\n\n/**\n * Throws a `Cancel` if cancellation has been requested.\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new Cancel('canceled');\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n * @returns {Promise} The Promise to be fulfilled\n */\nmodule.exports = function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n // Ensure headers exist\n config.headers = config.headers || {};\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.data,\n config.headers,\n config.transformRequest\n );\n\n // Flatten headers\n config.headers = utils.merge(\n config.headers.common || {},\n config.headers[config.method] || {},\n config.headers\n );\n\n utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n function cleanHeaderConfig(method) {\n delete config.headers[method];\n }\n );\n\n var adapter = config.adapter || defaults.adapter;\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n response.data,\n response.headers,\n config.transformResponse\n );\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n reason.response.data,\n reason.response.headers,\n config.transformResponse\n );\n }\n }\n\n return Promise.reject(reason);\n });\n};\n","'use strict';\n\n/**\n * Update an Error with the specified config, error code, and response.\n *\n * @param {Error} error The error to update.\n * @param {Object} config The config.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n * @returns {Error} The error.\n */\nmodule.exports = function enhanceError(error, config, code, request, response) {\n error.config = config;\n if (code) {\n error.code = code;\n }\n\n error.request = request;\n error.response = response;\n error.isAxiosError = true;\n\n error.toJSON = function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: this.config,\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n };\n return error;\n};\n","'use strict';\n\nvar utils = require('../utils');\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n * @returns {Object} New object resulting from merging config2 to config1\n */\nmodule.exports = function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n var config = {};\n\n function getMergedValue(target, source) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge(target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(prop) {\n if (!utils.isUndefined(config2[prop])) {\n return getMergedValue(undefined, config2[prop]);\n } else if (!utils.isUndefined(config1[prop])) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(prop) {\n if (prop in config2) {\n return getMergedValue(config1[prop], config2[prop]);\n } else if (prop in config1) {\n return getMergedValue(undefined, config1[prop]);\n }\n }\n\n var mergeMap = {\n 'url': valueFromConfig2,\n 'method': valueFromConfig2,\n 'data': valueFromConfig2,\n 'baseURL': defaultToConfig2,\n 'transformRequest': defaultToConfig2,\n 'transformResponse': defaultToConfig2,\n 'paramsSerializer': defaultToConfig2,\n 'timeout': defaultToConfig2,\n 'timeoutMessage': defaultToConfig2,\n 'withCredentials': defaultToConfig2,\n 'adapter': defaultToConfig2,\n 'responseType': defaultToConfig2,\n 'xsrfCookieName': defaultToConfig2,\n 'xsrfHeaderName': defaultToConfig2,\n 'onUploadProgress': defaultToConfig2,\n 'onDownloadProgress': defaultToConfig2,\n 'decompress': defaultToConfig2,\n 'maxContentLength': defaultToConfig2,\n 'maxBodyLength': defaultToConfig2,\n 'transport': defaultToConfig2,\n 'httpAgent': defaultToConfig2,\n 'httpsAgent': defaultToConfig2,\n 'cancelToken': defaultToConfig2,\n 'socketPath': defaultToConfig2,\n 'responseEncoding': defaultToConfig2,\n 'validateStatus': mergeDirectKeys\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n var merge = mergeMap[prop] || mergeDeepProperties;\n var configValue = merge(prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n};\n","'use strict';\n\nvar createError = require('./createError');\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n */\nmodule.exports = function settle(resolve, reject, response) {\n var validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(createError(\n 'Request failed with status code ' + response.status,\n response.config,\n null,\n response.request,\n response\n ));\n }\n};\n","'use strict';\n\nvar utils = require('./../utils');\nvar defaults = require('./../defaults');\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Object|String} data The data to be transformed\n * @param {Array} headers The headers for the request or response\n * @param {Array|Function} fns A single function or Array of functions\n * @returns {*} The resulting transformed data\n */\nmodule.exports = function transformData(data, headers, fns) {\n var context = this || defaults;\n /*eslint no-param-reassign:0*/\n utils.forEach(fns, function transform(fn) {\n data = fn.call(context, data, headers);\n });\n\n return data;\n};\n","'use strict';\n\nvar utils = require('./utils');\nvar normalizeHeaderName = require('./helpers/normalizeHeaderName');\nvar enhanceError = require('./core/enhanceError');\n\nvar DEFAULT_CONTENT_TYPE = {\n 'Content-Type': 'application/x-www-form-urlencoded'\n};\n\nfunction setContentTypeIfUnset(headers, value) {\n if (!utils.isUndefined(headers) && utils.isUndefined(headers['Content-Type'])) {\n headers['Content-Type'] = value;\n }\n}\n\nfunction getDefaultAdapter() {\n var adapter;\n if (typeof XMLHttpRequest !== 'undefined') {\n // For browsers use XHR adapter\n adapter = require('./adapters/xhr');\n } else if (typeof process !== 'undefined' && Object.prototype.toString.call(process) === '[object process]') {\n // For node use HTTP adapter\n adapter = require('./adapters/http');\n }\n return adapter;\n}\n\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nvar defaults = {\n\n transitional: {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n },\n\n adapter: getDefaultAdapter(),\n\n transformRequest: [function transformRequest(data, headers) {\n normalizeHeaderName(headers, 'Accept');\n normalizeHeaderName(headers, 'Content-Type');\n\n if (utils.isFormData(data) ||\n utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n setContentTypeIfUnset(headers, 'application/x-www-form-urlencoded;charset=utf-8');\n return data.toString();\n }\n if (utils.isObject(data) || (headers && headers['Content-Type'] === 'application/json')) {\n setContentTypeIfUnset(headers, 'application/json');\n return stringifySafely(data);\n }\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n var transitional = this.transitional || defaults.transitional;\n var silentJSONParsing = transitional && transitional.silentJSONParsing;\n var forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n var strictJSONParsing = !silentJSONParsing && this.responseType === 'json';\n\n if (strictJSONParsing || (forcedJSONParsing && utils.isString(data) && data.length)) {\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw enhanceError(e, this, 'E_JSON_PARSE');\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nmodule.exports = defaults;\n","module.exports = {\n \"version\": \"0.26.0\"\n};","'use strict';\n\nmodule.exports = function bind(fn, thisArg) {\n return function wrap() {\n var args = new Array(arguments.length);\n for (var i = 0; i < args.length; i++) {\n args[i] = arguments[i];\n }\n return fn.apply(thisArg, args);\n };\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @returns {string} The formatted url\n */\nmodule.exports = function buildURL(url, params, paramsSerializer) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n\n var serializedParams;\n if (paramsSerializer) {\n serializedParams = paramsSerializer(params);\n } else if (utils.isURLSearchParams(params)) {\n serializedParams = params.toString();\n } else {\n var parts = [];\n\n utils.forEach(params, function serialize(val, key) {\n if (val === null || typeof val === 'undefined') {\n return;\n }\n\n if (utils.isArray(val)) {\n key = key + '[]';\n } else {\n val = [val];\n }\n\n utils.forEach(val, function parseValue(v) {\n if (utils.isDate(v)) {\n v = v.toISOString();\n } else if (utils.isObject(v)) {\n v = JSON.stringify(v);\n }\n parts.push(encode(key) + '=' + encode(v));\n });\n });\n\n serializedParams = parts.join('&');\n }\n\n if (serializedParams) {\n var hashmarkIndex = url.indexOf('#');\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n};\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n * @returns {string} The combined URL\n */\nmodule.exports = function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n var cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n var match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n // Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })()\n);\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nmodule.exports = function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nmodule.exports = function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\nmodule.exports = (\n utils.isStandardBrowserEnv() ?\n\n // Standard browser envs have full support of the APIs needed to test\n // whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n var msie = /(msie|trident)/i.test(navigator.userAgent);\n var urlParsingNode = document.createElement('a');\n var originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n var href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n var parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })()\n);\n","'use strict';\n\nvar utils = require('../utils');\n\nmodule.exports = function normalizeHeaderName(headers, normalizedName) {\n utils.forEach(headers, function processHeader(value, name) {\n if (name !== normalizedName && name.toUpperCase() === normalizedName.toUpperCase()) {\n headers[normalizedName] = value;\n delete headers[name];\n }\n });\n};\n","'use strict';\n\nvar utils = require('./../utils');\n\n// Headers whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nvar ignoreDuplicateOf = [\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n];\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} headers Headers needing to be parsed\n * @returns {Object} Headers parsed into an object\n */\nmodule.exports = function parseHeaders(headers) {\n var parsed = {};\n var key;\n var val;\n var i;\n\n if (!headers) { return parsed; }\n\n utils.forEach(headers.split('\\n'), function parser(line) {\n i = line.indexOf(':');\n key = utils.trim(line.substr(0, i)).toLowerCase();\n val = utils.trim(line.substr(i + 1));\n\n if (key) {\n if (parsed[key] && ignoreDuplicateOf.indexOf(key) >= 0) {\n return;\n }\n if (key === 'set-cookie') {\n parsed[key] = (parsed[key] ? parsed[key] : []).concat([val]);\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n }\n });\n\n return parsed;\n};\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n * @returns {Function}\n */\nmodule.exports = function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n};\n","'use strict';\n\nvar VERSION = require('../env/data').version;\n\nvar validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach(function(type, i) {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nvar deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return function(value, opt, opts) {\n if (validator === false) {\n throw new Error(formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')));\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new TypeError('options must be an object');\n }\n var keys = Object.keys(options);\n var i = keys.length;\n while (i-- > 0) {\n var opt = keys[i];\n var validator = schema[opt];\n if (validator) {\n var value = options[opt];\n var result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new TypeError('option ' + opt + ' must be ' + result);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw Error('Unknown option ' + opt);\n }\n }\n}\n\nmodule.exports = {\n assertOptions: assertOptions,\n validators: validators\n};\n","'use strict';\n\nvar bind = require('./helpers/bind');\n\n// utils is a library of generic helper functions non-specific to axios\n\nvar toString = Object.prototype.toString;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Array, otherwise false\n */\nfunction isArray(val) {\n return Array.isArray(val);\n}\n\n/**\n * Determine if a value is undefined\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nfunction isUndefined(val) {\n return typeof val === 'undefined';\n}\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && typeof val.constructor.isBuffer === 'function' && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nfunction isArrayBuffer(val) {\n return toString.call(val) === '[object ArrayBuffer]';\n}\n\n/**\n * Determine if a value is a FormData\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nfunction isFormData(val) {\n return toString.call(val) === '[object FormData]';\n}\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n var result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a String, otherwise false\n */\nfunction isString(val) {\n return typeof val === 'string';\n}\n\n/**\n * Determine if a value is a Number\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Number, otherwise false\n */\nfunction isNumber(val) {\n return typeof val === 'number';\n}\n\n/**\n * Determine if a value is an Object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is an Object, otherwise false\n */\nfunction isObject(val) {\n return val !== null && typeof val === 'object';\n}\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {Object} val The value to test\n * @return {boolean} True if value is a plain Object, otherwise false\n */\nfunction isPlainObject(val) {\n if (toString.call(val) !== '[object Object]') {\n return false;\n }\n\n var prototype = Object.getPrototypeOf(val);\n return prototype === null || prototype === Object.prototype;\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Date, otherwise false\n */\nfunction isDate(val) {\n return toString.call(val) === '[object Date]';\n}\n\n/**\n * Determine if a value is a File\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a File, otherwise false\n */\nfunction isFile(val) {\n return toString.call(val) === '[object File]';\n}\n\n/**\n * Determine if a value is a Blob\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nfunction isBlob(val) {\n return toString.call(val) === '[object Blob]';\n}\n\n/**\n * Determine if a value is a Function\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nfunction isFunction(val) {\n return toString.call(val) === '[object Function]';\n}\n\n/**\n * Determine if a value is a Stream\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nfunction isStream(val) {\n return isObject(val) && isFunction(val.pipe);\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {Object} val The value to test\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nfunction isURLSearchParams(val) {\n return toString.call(val) === '[object URLSearchParams]';\n}\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n * @returns {String} The String freed of excess whitespace\n */\nfunction trim(str) {\n return str.trim ? str.trim() : str.replace(/^\\s+|\\s+$/g, '');\n}\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n */\nfunction isStandardBrowserEnv() {\n if (typeof navigator !== 'undefined' && (navigator.product === 'ReactNative' ||\n navigator.product === 'NativeScript' ||\n navigator.product === 'NS')) {\n return false;\n }\n return (\n typeof window !== 'undefined' &&\n typeof document !== 'undefined'\n );\n}\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n */\nfunction forEach(obj, fn) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (var i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n for (var key in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n fn.call(null, obj[key], key, obj);\n }\n }\n }\n}\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n var result = {};\n function assignValue(val, key) {\n if (isPlainObject(result[key]) && isPlainObject(val)) {\n result[key] = merge(result[key], val);\n } else if (isPlainObject(val)) {\n result[key] = merge({}, val);\n } else if (isArray(val)) {\n result[key] = val.slice();\n } else {\n result[key] = val;\n }\n }\n\n for (var i = 0, l = arguments.length; i < l; i++) {\n forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n * @return {Object} The resulting value of object a\n */\nfunction extend(a, b, thisArg) {\n forEach(b, function assignValue(val, key) {\n if (thisArg && typeof val === 'function') {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n });\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n * @return {string} content value without BOM\n */\nfunction stripBOM(content) {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\nmodule.exports = {\n isArray: isArray,\n isArrayBuffer: isArrayBuffer,\n isBuffer: isBuffer,\n isFormData: isFormData,\n isArrayBufferView: isArrayBufferView,\n isString: isString,\n isNumber: isNumber,\n isObject: isObject,\n isPlainObject: isPlainObject,\n isUndefined: isUndefined,\n isDate: isDate,\n isFile: isFile,\n isBlob: isBlob,\n isFunction: isFunction,\n isStream: isStream,\n isURLSearchParams: isURLSearchParams,\n isStandardBrowserEnv: isStandardBrowserEnv,\n forEach: forEach,\n merge: merge,\n extend: extend,\n trim: trim,\n stripBOM: stripBOM\n};\n","/* eslint-env browser */\nmodule.exports = typeof self == 'object' ? self.FormData : window.FormData;\n","'use strict'\n\nexports.byteLength = byteLength\nexports.toByteArray = toByteArray\nexports.fromByteArray = fromByteArray\n\nvar lookup = []\nvar revLookup = []\nvar Arr = typeof Uint8Array !== 'undefined' ? Uint8Array : Array\n\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\n\nfunction getLens (b64) {\n var len = b64.length\n\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\n var placeHoldersLen = validLen === len\n ? 0\n : 4 - (validLen % 4)\n\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}\n\nfunction _byteLength (b64, validLen, placeHoldersLen) {\n return ((validLen + placeHoldersLen) * 3 / 4) - placeHoldersLen\n}\n\nfunction toByteArray (b64) {\n var tmp\n var lens = getLens(b64)\n var validLen = lens[0]\n var placeHoldersLen = lens[1]\n\n var arr = new Arr(_byteLength(b64, validLen, placeHoldersLen))\n\n var curByte = 0\n\n // if there are placeholders, only get up to the last complete 4 chars\n var len = placeHoldersLen > 0\n ? validLen - 4\n : validLen\n\n var i\n for (i = 0; i < len; i += 4) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 18) |\n (revLookup[b64.charCodeAt(i + 1)] << 12) |\n (revLookup[b64.charCodeAt(i + 2)] << 6) |\n revLookup[b64.charCodeAt(i + 3)]\n arr[curByte++] = (tmp >> 16) & 0xFF\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 2) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 2) |\n (revLookup[b64.charCodeAt(i + 1)] >> 4)\n arr[curByte++] = tmp & 0xFF\n }\n\n if (placeHoldersLen === 1) {\n tmp =\n (revLookup[b64.charCodeAt(i)] << 10) |\n (revLookup[b64.charCodeAt(i + 1)] << 4) |\n (revLookup[b64.charCodeAt(i + 2)] >> 2)\n arr[curByte++] = (tmp >> 8) & 0xFF\n arr[curByte++] = tmp & 0xFF\n }\n\n return arr\n}\n\nfunction tripletToBase64 (num) {\n return lookup[num >> 18 & 0x3F] +\n lookup[num >> 12 & 0x3F] +\n lookup[num >> 6 & 0x3F] +\n lookup[num & 0x3F]\n}\n\nfunction encodeChunk (uint8, start, end) {\n var tmp\n var output = []\n for (var i = start; i < end; i += 3) {\n tmp =\n ((uint8[i] << 16) & 0xFF0000) +\n ((uint8[i + 1] << 8) & 0xFF00) +\n (uint8[i + 2] & 0xFF)\n output.push(tripletToBase64(tmp))\n }\n return output.join('')\n}\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(\n lookup[tmp >> 2] +\n lookup[(tmp << 4) & 0x3F] +\n '=='\n )\n } else if (extraBytes === 2) {\n tmp = (uint8[len - 2] << 8) + uint8[len - 1]\n parts.push(\n lookup[tmp >> 10] +\n lookup[(tmp >> 4) & 0x3F] +\n lookup[(tmp << 2) & 0x3F] +\n '='\n )\n }\n\n return parts.join('')\n}\n","!function(e,t){\"object\"==typeof exports&&\"object\"==typeof module?module.exports=t():\"function\"==typeof define&&define.amd?define([],t):\"object\"==typeof exports?exports.bowser=t():e.bowser=t()}(this,(function(){return function(e){var t={};function r(n){if(t[n])return t[n].exports;var i=t[n]={i:n,l:!1,exports:{}};return e[n].call(i.exports,i,i.exports,r),i.l=!0,i.exports}return r.m=e,r.c=t,r.d=function(e,t,n){r.o(e,t)||Object.defineProperty(e,t,{enumerable:!0,get:n})},r.r=function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})},r.t=function(e,t){if(1&t&&(e=r(e)),8&t)return e;if(4&t&&\"object\"==typeof e&&e&&e.__esModule)return e;var n=Object.create(null);if(r.r(n),Object.defineProperty(n,\"default\",{enumerable:!0,value:e}),2&t&&\"string\"!=typeof e)for(var i in e)r.d(n,i,function(t){return e[t]}.bind(null,i));return n},r.n=function(e){var t=e&&e.__esModule?function(){return e.default}:function(){return e};return r.d(t,\"a\",t),t},r.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r.p=\"\",r(r.s=90)}({17:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n=r(18),i=function(){function e(){}return e.getFirstMatch=function(e,t){var r=t.match(e);return r&&r.length>0&&r[1]||\"\"},e.getSecondMatch=function(e,t){var r=t.match(e);return r&&r.length>1&&r[2]||\"\"},e.matchAndReturnConst=function(e,t,r){if(e.test(t))return r},e.getWindowsVersionName=function(e){switch(e){case\"NT\":return\"NT\";case\"XP\":return\"XP\";case\"NT 5.0\":return\"2000\";case\"NT 5.1\":return\"XP\";case\"NT 5.2\":return\"2003\";case\"NT 6.0\":return\"Vista\";case\"NT 6.1\":return\"7\";case\"NT 6.2\":return\"8\";case\"NT 6.3\":return\"8.1\";case\"NT 10.0\":return\"10\";default:return}},e.getMacOSVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),10===t[0])switch(t[1]){case 5:return\"Leopard\";case 6:return\"Snow Leopard\";case 7:return\"Lion\";case 8:return\"Mountain Lion\";case 9:return\"Mavericks\";case 10:return\"Yosemite\";case 11:return\"El Capitan\";case 12:return\"Sierra\";case 13:return\"High Sierra\";case 14:return\"Mojave\";case 15:return\"Catalina\";default:return}},e.getAndroidVersionName=function(e){var t=e.split(\".\").splice(0,2).map((function(e){return parseInt(e,10)||0}));if(t.push(0),!(1===t[0]&&t[1]<5))return 1===t[0]&&t[1]<6?\"Cupcake\":1===t[0]&&t[1]>=6?\"Donut\":2===t[0]&&t[1]<2?\"Eclair\":2===t[0]&&2===t[1]?\"Froyo\":2===t[0]&&t[1]>2?\"Gingerbread\":3===t[0]?\"Honeycomb\":4===t[0]&&t[1]<1?\"Ice Cream Sandwich\":4===t[0]&&t[1]<4?\"Jelly Bean\":4===t[0]&&t[1]>=4?\"KitKat\":5===t[0]?\"Lollipop\":6===t[0]?\"Marshmallow\":7===t[0]?\"Nougat\":8===t[0]?\"Oreo\":9===t[0]?\"Pie\":void 0},e.getVersionPrecision=function(e){return e.split(\".\").length},e.compareVersions=function(t,r,n){void 0===n&&(n=!1);var i=e.getVersionPrecision(t),s=e.getVersionPrecision(r),a=Math.max(i,s),o=0,u=e.map([t,r],(function(t){var r=a-e.getVersionPrecision(t),n=t+new Array(r+1).join(\".0\");return e.map(n.split(\".\"),(function(e){return new Array(20-e.length).join(\"0\")+e})).reverse()}));for(n&&(o=a-Math.min(i,s)),a-=1;a>=o;){if(u[0][a]>u[1][a])return 1;if(u[0][a]===u[1][a]){if(a===o)return 0;a-=1}else if(u[0][a]1?i-1:0),a=1;a0){var a=Object.keys(r),u=o.default.find(a,(function(e){return t.isOS(e)}));if(u){var d=this.satisfies(r[u]);if(void 0!==d)return d}var c=o.default.find(a,(function(e){return t.isPlatform(e)}));if(c){var f=this.satisfies(r[c]);if(void 0!==f)return f}}if(s>0){var l=Object.keys(i),h=o.default.find(l,(function(e){return t.isBrowser(e,!0)}));if(void 0!==h)return this.compareVersion(i[h])}},t.isBrowser=function(e,t){void 0===t&&(t=!1);var r=this.getBrowserName().toLowerCase(),n=e.toLowerCase(),i=o.default.getBrowserTypeByAlias(n);return t&&i&&(n=i.toLowerCase()),n===r},t.compareVersion=function(e){var t=[0],r=e,n=!1,i=this.getBrowserVersion();if(\"string\"==typeof i)return\">\"===e[0]||\"<\"===e[0]?(r=e.substr(1),\"=\"===e[1]?(n=!0,r=e.substr(2)):t=[],\">\"===e[0]?t.push(1):t.push(-1)):\"=\"===e[0]?r=e.substr(1):\"~\"===e[0]&&(n=!0,r=e.substr(1)),t.indexOf(o.default.compareVersions(i,r,n))>-1},t.isOS=function(e){return this.getOSName(!0)===String(e).toLowerCase()},t.isPlatform=function(e){return this.getPlatformType(!0)===String(e).toLowerCase()},t.isEngine=function(e){return this.getEngineName(!0)===String(e).toLowerCase()},t.is=function(e,t){return void 0===t&&(t=!1),this.isBrowser(e,t)||this.isOS(e)||this.isPlatform(e)},t.some=function(e){var t=this;return void 0===e&&(e=[]),e.some((function(e){return t.is(e)}))},e}();t.default=d,e.exports=t.default},92:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n};var s=/version\\/(\\d+(\\.?_?\\d+)+)/i,a=[{test:[/googlebot/i],describe:function(e){var t={name:\"Googlebot\"},r=i.default.getFirstMatch(/googlebot\\/(\\d+(\\.\\d+))/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/opera/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:opera)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opr\\/|opios/i],describe:function(e){var t={name:\"Opera\"},r=i.default.getFirstMatch(/(?:opr|opios)[\\s/](\\S+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/SamsungBrowser/i],describe:function(e){var t={name:\"Samsung Internet for Android\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:SamsungBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Whale/i],describe:function(e){var t={name:\"NAVER Whale Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:whale)[\\s/](\\d+(?:\\.\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MZBrowser/i],describe:function(e){var t={name:\"MZ Browser\"},r=i.default.getFirstMatch(/(?:MZBrowser)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/focus/i],describe:function(e){var t={name:\"Focus\"},r=i.default.getFirstMatch(/(?:focus)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/swing/i],describe:function(e){var t={name:\"Swing\"},r=i.default.getFirstMatch(/(?:swing)[\\s/](\\d+(?:\\.\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/coast/i],describe:function(e){var t={name:\"Opera Coast\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:coast)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/opt\\/\\d+(?:.?_?\\d+)+/i],describe:function(e){var t={name:\"Opera Touch\"},r=i.default.getFirstMatch(/(?:opt)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/yabrowser/i],describe:function(e){var t={name:\"Yandex Browser\"},r=i.default.getFirstMatch(/(?:yabrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/ucbrowser/i],describe:function(e){var t={name:\"UC Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:ucbrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/Maxthon|mxios/i],describe:function(e){var t={name:\"Maxthon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:Maxthon|mxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/epiphany/i],describe:function(e){var t={name:\"Epiphany\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:epiphany)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/puffin/i],describe:function(e){var t={name:\"Puffin\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:puffin)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sleipnir/i],describe:function(e){var t={name:\"Sleipnir\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:sleipnir)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/k-meleon/i],describe:function(e){var t={name:\"K-Meleon\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/(?:k-meleon)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/micromessenger/i],describe:function(e){var t={name:\"WeChat\"},r=i.default.getFirstMatch(/(?:micromessenger)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qqbrowser/i],describe:function(e){var t={name:/qqbrowserlite/i.test(e)?\"QQ Browser Lite\":\"QQ Browser\"},r=i.default.getFirstMatch(/(?:qqbrowserlite|qqbrowser)[/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/msie|trident/i],describe:function(e){var t={name:\"Internet Explorer\"},r=i.default.getFirstMatch(/(?:msie |rv:)(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/\\sedg\\//i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getFirstMatch(/\\sedg\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/edg([ea]|ios)/i],describe:function(e){var t={name:\"Microsoft Edge\"},r=i.default.getSecondMatch(/edg([ea]|ios)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/vivaldi/i],describe:function(e){var t={name:\"Vivaldi\"},r=i.default.getFirstMatch(/vivaldi\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/seamonkey/i],describe:function(e){var t={name:\"SeaMonkey\"},r=i.default.getFirstMatch(/seamonkey\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/sailfish/i],describe:function(e){var t={name:\"Sailfish\"},r=i.default.getFirstMatch(/sailfish\\s?browser\\/(\\d+(\\.\\d+)?)/i,e);return r&&(t.version=r),t}},{test:[/silk/i],describe:function(e){var t={name:\"Amazon Silk\"},r=i.default.getFirstMatch(/silk\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/phantom/i],describe:function(e){var t={name:\"PhantomJS\"},r=i.default.getFirstMatch(/phantomjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/slimerjs/i],describe:function(e){var t={name:\"SlimerJS\"},r=i.default.getFirstMatch(/slimerjs\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t={name:\"BlackBerry\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/blackberry[\\d]+\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t={name:\"WebOS Browser\"},r=i.default.getFirstMatch(s,e)||i.default.getFirstMatch(/w(?:eb)?[o0]sbrowser\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/bada/i],describe:function(e){var t={name:\"Bada\"},r=i.default.getFirstMatch(/dolfin\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/tizen/i],describe:function(e){var t={name:\"Tizen\"},r=i.default.getFirstMatch(/(?:tizen\\s?)?browser\\/(\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/qupzilla/i],describe:function(e){var t={name:\"QupZilla\"},r=i.default.getFirstMatch(/(?:qupzilla)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/firefox|iceweasel|fxios/i],describe:function(e){var t={name:\"Firefox\"},r=i.default.getFirstMatch(/(?:firefox|iceweasel|fxios)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/electron/i],describe:function(e){var t={name:\"Electron\"},r=i.default.getFirstMatch(/(?:electron)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/MiuiBrowser/i],describe:function(e){var t={name:\"Miui\"},r=i.default.getFirstMatch(/(?:MiuiBrowser)[\\s/](\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/chromium/i],describe:function(e){var t={name:\"Chromium\"},r=i.default.getFirstMatch(/(?:chromium)[\\s/](\\d+(\\.?_?\\d+)+)/i,e)||i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/chrome|crios|crmo/i],describe:function(e){var t={name:\"Chrome\"},r=i.default.getFirstMatch(/(?:chrome|crios|crmo)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/GSA/i],describe:function(e){var t={name:\"Google Search\"},r=i.default.getFirstMatch(/(?:GSA)\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t={name:\"Android Browser\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/playstation 4/i],describe:function(e){var t={name:\"PlayStation 4\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/safari|applewebkit/i],describe:function(e){var t={name:\"Safari\"},r=i.default.getFirstMatch(s,e);return r&&(t.version=r),t}},{test:[/.*/i],describe:function(e){var t=-1!==e.search(\"\\\\(\")?/^(.*)\\/(.*)[ \\t]\\((.*)/:/^(.*)\\/(.*) /;return{name:i.default.getFirstMatch(t,e),version:i.default.getSecondMatch(t,e)}}}];t.default=a,e.exports=t.default},93:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/Roku\\/DVP/],describe:function(e){var t=i.default.getFirstMatch(/Roku\\/DVP-(\\d+\\.\\d+)/i,e);return{name:s.OS_MAP.Roku,version:t}}},{test:[/windows phone/i],describe:function(e){var t=i.default.getFirstMatch(/windows phone (?:os)?\\s?(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.WindowsPhone,version:t}}},{test:[/windows /i],describe:function(e){var t=i.default.getFirstMatch(/Windows ((NT|XP)( \\d\\d?.\\d)?)/i,e),r=i.default.getWindowsVersionName(t);return{name:s.OS_MAP.Windows,version:t,versionName:r}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(e){var t={name:s.OS_MAP.iOS},r=i.default.getSecondMatch(/(Version\\/)(\\d[\\d.]+)/,e);return r&&(t.version=r),t}},{test:[/macintosh/i],describe:function(e){var t=i.default.getFirstMatch(/mac os x (\\d+(\\.?_?\\d+)+)/i,e).replace(/[_\\s]/g,\".\"),r=i.default.getMacOSVersionName(t),n={name:s.OS_MAP.MacOS,version:t};return r&&(n.versionName=r),n}},{test:[/(ipod|iphone|ipad)/i],describe:function(e){var t=i.default.getFirstMatch(/os (\\d+([_\\s]\\d+)*) like mac os x/i,e).replace(/[_\\s]/g,\".\");return{name:s.OS_MAP.iOS,version:t}}},{test:function(e){var t=!e.test(/like android/i),r=e.test(/android/i);return t&&r},describe:function(e){var t=i.default.getFirstMatch(/android[\\s/-](\\d+(\\.\\d+)*)/i,e),r=i.default.getAndroidVersionName(t),n={name:s.OS_MAP.Android,version:t};return r&&(n.versionName=r),n}},{test:[/(web|hpw)[o0]s/i],describe:function(e){var t=i.default.getFirstMatch(/(?:web|hpw)[o0]s\\/(\\d+(\\.\\d+)*)/i,e),r={name:s.OS_MAP.WebOS};return t&&t.length&&(r.version=t),r}},{test:[/blackberry|\\bbb\\d+/i,/rim\\stablet/i],describe:function(e){var t=i.default.getFirstMatch(/rim\\stablet\\sos\\s(\\d+(\\.\\d+)*)/i,e)||i.default.getFirstMatch(/blackberry\\d+\\/(\\d+([_\\s]\\d+)*)/i,e)||i.default.getFirstMatch(/\\bbb(\\d+)/i,e);return{name:s.OS_MAP.BlackBerry,version:t}}},{test:[/bada/i],describe:function(e){var t=i.default.getFirstMatch(/bada\\/(\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Bada,version:t}}},{test:[/tizen/i],describe:function(e){var t=i.default.getFirstMatch(/tizen[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.Tizen,version:t}}},{test:[/linux/i],describe:function(){return{name:s.OS_MAP.Linux}}},{test:[/CrOS/],describe:function(){return{name:s.OS_MAP.ChromeOS}}},{test:[/PlayStation 4/],describe:function(e){var t=i.default.getFirstMatch(/PlayStation 4[/\\s](\\d+(\\.\\d+)*)/i,e);return{name:s.OS_MAP.PlayStation4,version:t}}}];t.default=a,e.exports=t.default},94:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:[/googlebot/i],describe:function(){return{type:\"bot\",vendor:\"Google\"}}},{test:[/huawei/i],describe:function(e){var t=i.default.getFirstMatch(/(can-l01)/i,e)&&\"Nova\",r={type:s.PLATFORMS_MAP.mobile,vendor:\"Huawei\"};return t&&(r.model=t),r}},{test:[/nexus\\s*(?:7|8|9|10).*/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Nexus\"}}},{test:[/ipad/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/Macintosh(.*?) FxiOS(.*?)\\//],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Apple\",model:\"iPad\"}}},{test:[/kftt build/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\",model:\"Kindle Fire HD 7\"}}},{test:[/silk/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet,vendor:\"Amazon\"}}},{test:[/tablet(?! pc)/i],describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){var t=e.test(/ipod|iphone/i),r=e.test(/like (ipod|iphone)/i);return t&&!r},describe:function(e){var t=i.default.getFirstMatch(/(ipod|iphone)/i,e);return{type:s.PLATFORMS_MAP.mobile,vendor:\"Apple\",model:t}}},{test:[/nexus\\s*[0-6].*/i,/galaxy nexus/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Nexus\"}}},{test:[/[^-]mobi/i],describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"blackberry\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"BlackBerry\"}}},{test:function(e){return\"bada\"===e.getBrowserName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"windows phone\"===e.getBrowserName()},describe:function(){return{type:s.PLATFORMS_MAP.mobile,vendor:\"Microsoft\"}}},{test:function(e){var t=Number(String(e.getOSVersion()).split(\".\")[0]);return\"android\"===e.getOSName(!0)&&t>=3},describe:function(){return{type:s.PLATFORMS_MAP.tablet}}},{test:function(e){return\"android\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.mobile}}},{test:function(e){return\"macos\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop,vendor:\"Apple\"}}},{test:function(e){return\"windows\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"linux\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.desktop}}},{test:function(e){return\"playstation 4\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}},{test:function(e){return\"roku\"===e.getOSName(!0)},describe:function(){return{type:s.PLATFORMS_MAP.tv}}}];t.default=a,e.exports=t.default},95:function(e,t,r){\"use strict\";t.__esModule=!0,t.default=void 0;var n,i=(n=r(17))&&n.__esModule?n:{default:n},s=r(18);var a=[{test:function(e){return\"microsoft edge\"===e.getBrowserName(!0)},describe:function(e){if(/\\sedg\\//i.test(e))return{name:s.ENGINE_MAP.Blink};var t=i.default.getFirstMatch(/edge\\/(\\d+(\\.?_?\\d+)+)/i,e);return{name:s.ENGINE_MAP.EdgeHTML,version:t}}},{test:[/trident/i],describe:function(e){var t={name:s.ENGINE_MAP.Trident},r=i.default.getFirstMatch(/trident\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){return e.test(/presto/i)},describe:function(e){var t={name:s.ENGINE_MAP.Presto},r=i.default.getFirstMatch(/presto\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:function(e){var t=e.test(/gecko/i),r=e.test(/like gecko/i);return t&&!r},describe:function(e){var t={name:s.ENGINE_MAP.Gecko},r=i.default.getFirstMatch(/gecko\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}},{test:[/(apple)?webkit\\/537\\.36/i],describe:function(){return{name:s.ENGINE_MAP.Blink}}},{test:[/(apple)?webkit/i],describe:function(e){var t={name:s.ENGINE_MAP.WebKit},r=i.default.getFirstMatch(/webkit\\/(\\d+(\\.?_?\\d+)+)/i,e);return r&&(t.version=r),t}}];t.default=a,e.exports=t.default}})}));","/*!\n * The buffer module from node.js, for the browser.\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n/* eslint-disable no-proto */\n\n'use strict'\n\nvar base64 = require('base64-js')\nvar ieee754 = require('ieee754')\nvar isArray = require('isarray')\n\nexports.Buffer = Buffer\nexports.SlowBuffer = SlowBuffer\nexports.INSPECT_MAX_BYTES = 50\n\n/**\n * If `Buffer.TYPED_ARRAY_SUPPORT`:\n * === true Use Uint8Array implementation (fastest)\n * === false Use Object implementation (most compatible, even IE6)\n *\n * Browsers that support typed arrays are IE 10+, Firefox 4+, Chrome 7+, Safari 5.1+,\n * Opera 11.6+, iOS 4.2+.\n *\n * Due to various browser bugs, sometimes the Object implementation will be used even\n * when the browser supports typed arrays.\n *\n * Note:\n *\n * - Firefox 4-29 lacks support for adding new properties to `Uint8Array` instances,\n * See: https://bugzilla.mozilla.org/show_bug.cgi?id=695438.\n *\n * - Chrome 9-10 is missing the `TypedArray.prototype.subarray` function.\n *\n * - IE10 has a broken `TypedArray.prototype.subarray` function which returns arrays of\n * incorrect length in some situations.\n\n * We detect these buggy browsers and set `Buffer.TYPED_ARRAY_SUPPORT` to `false` so they\n * get the Object implementation, which is slower but behaves correctly.\n */\nBuffer.TYPED_ARRAY_SUPPORT = global.TYPED_ARRAY_SUPPORT !== undefined\n ? global.TYPED_ARRAY_SUPPORT\n : typedArraySupport()\n\n/*\n * Export kMaxLength after typed array support is determined.\n */\nexports.kMaxLength = kMaxLength()\n\nfunction typedArraySupport () {\n try {\n var arr = new Uint8Array(1)\n arr.__proto__ = {__proto__: Uint8Array.prototype, foo: function () { return 42 }}\n return arr.foo() === 42 && // typed array instances can be augmented\n typeof arr.subarray === 'function' && // chrome 9-10 lack `subarray`\n arr.subarray(1, 1).byteLength === 0 // ie10 has broken `subarray`\n } catch (e) {\n return false\n }\n}\n\nfunction kMaxLength () {\n return Buffer.TYPED_ARRAY_SUPPORT\n ? 0x7fffffff\n : 0x3fffffff\n}\n\nfunction createBuffer (that, length) {\n if (kMaxLength() < length) {\n throw new RangeError('Invalid typed array length')\n }\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = new Uint8Array(length)\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n if (that === null) {\n that = new Buffer(length)\n }\n that.length = length\n }\n\n return that\n}\n\n/**\n * The Buffer constructor returns instances of `Uint8Array` that have their\n * prototype changed to `Buffer.prototype`. Furthermore, `Buffer` is a subclass of\n * `Uint8Array`, so the returned instances will have all the node `Buffer` methods\n * and the `Uint8Array` methods. Square bracket notation works as expected -- it\n * returns a single octet.\n *\n * The `Uint8Array` prototype remains unmodified.\n */\n\nfunction Buffer (arg, encodingOrOffset, length) {\n if (!Buffer.TYPED_ARRAY_SUPPORT && !(this instanceof Buffer)) {\n return new Buffer(arg, encodingOrOffset, length)\n }\n\n // Common case.\n if (typeof arg === 'number') {\n if (typeof encodingOrOffset === 'string') {\n throw new Error(\n 'If encoding is specified then the first argument must be a string'\n )\n }\n return allocUnsafe(this, arg)\n }\n return from(this, arg, encodingOrOffset, length)\n}\n\nBuffer.poolSize = 8192 // not used by this implementation\n\n// TODO: Legacy, not needed anymore. Remove in next major version.\nBuffer._augment = function (arr) {\n arr.__proto__ = Buffer.prototype\n return arr\n}\n\nfunction from (that, value, encodingOrOffset, length) {\n if (typeof value === 'number') {\n throw new TypeError('\"value\" argument must not be a number')\n }\n\n if (typeof ArrayBuffer !== 'undefined' && value instanceof ArrayBuffer) {\n return fromArrayBuffer(that, value, encodingOrOffset, length)\n }\n\n if (typeof value === 'string') {\n return fromString(that, value, encodingOrOffset)\n }\n\n return fromObject(that, value)\n}\n\n/**\n * Functionally equivalent to Buffer(arg, encoding) but throws a TypeError\n * if value is a number.\n * Buffer.from(str[, encoding])\n * Buffer.from(array)\n * Buffer.from(buffer)\n * Buffer.from(arrayBuffer[, byteOffset[, length]])\n **/\nBuffer.from = function (value, encodingOrOffset, length) {\n return from(null, value, encodingOrOffset, length)\n}\n\nif (Buffer.TYPED_ARRAY_SUPPORT) {\n Buffer.prototype.__proto__ = Uint8Array.prototype\n Buffer.__proto__ = Uint8Array\n if (typeof Symbol !== 'undefined' && Symbol.species &&\n Buffer[Symbol.species] === Buffer) {\n // Fix subarray() in ES2016. See: https://github.com/feross/buffer/pull/97\n Object.defineProperty(Buffer, Symbol.species, {\n value: null,\n configurable: true\n })\n }\n}\n\nfunction assertSize (size) {\n if (typeof size !== 'number') {\n throw new TypeError('\"size\" argument must be a number')\n } else if (size < 0) {\n throw new RangeError('\"size\" argument must not be negative')\n }\n}\n\nfunction alloc (that, size, fill, encoding) {\n assertSize(size)\n if (size <= 0) {\n return createBuffer(that, size)\n }\n if (fill !== undefined) {\n // Only pay attention to encoding if it's a string. This\n // prevents accidentally sending in a number that would\n // be interpretted as a start offset.\n return typeof encoding === 'string'\n ? createBuffer(that, size).fill(fill, encoding)\n : createBuffer(that, size).fill(fill)\n }\n return createBuffer(that, size)\n}\n\n/**\n * Creates a new filled Buffer instance.\n * alloc(size[, fill[, encoding]])\n **/\nBuffer.alloc = function (size, fill, encoding) {\n return alloc(null, size, fill, encoding)\n}\n\nfunction allocUnsafe (that, size) {\n assertSize(size)\n that = createBuffer(that, size < 0 ? 0 : checked(size) | 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) {\n for (var i = 0; i < size; ++i) {\n that[i] = 0\n }\n }\n return that\n}\n\n/**\n * Equivalent to Buffer(num), by default creates a non-zero-filled Buffer instance.\n * */\nBuffer.allocUnsafe = function (size) {\n return allocUnsafe(null, size)\n}\n/**\n * Equivalent to SlowBuffer(num), by default creates a non-zero-filled Buffer instance.\n */\nBuffer.allocUnsafeSlow = function (size) {\n return allocUnsafe(null, size)\n}\n\nfunction fromString (that, string, encoding) {\n if (typeof encoding !== 'string' || encoding === '') {\n encoding = 'utf8'\n }\n\n if (!Buffer.isEncoding(encoding)) {\n throw new TypeError('\"encoding\" must be a valid string encoding')\n }\n\n var length = byteLength(string, encoding) | 0\n that = createBuffer(that, length)\n\n var actual = that.write(string, encoding)\n\n if (actual !== length) {\n // Writing a hex string, for example, that contains invalid characters will\n // cause everything after the first invalid character to be ignored. (e.g.\n // 'abxxcd' will be treated as 'ab')\n that = that.slice(0, actual)\n }\n\n return that\n}\n\nfunction fromArrayLike (that, array) {\n var length = array.length < 0 ? 0 : checked(array.length) | 0\n that = createBuffer(that, length)\n for (var i = 0; i < length; i += 1) {\n that[i] = array[i] & 255\n }\n return that\n}\n\nfunction fromArrayBuffer (that, array, byteOffset, length) {\n array.byteLength // this throws if `array` is not a valid ArrayBuffer\n\n if (byteOffset < 0 || array.byteLength < byteOffset) {\n throw new RangeError('\\'offset\\' is out of bounds')\n }\n\n if (array.byteLength < byteOffset + (length || 0)) {\n throw new RangeError('\\'length\\' is out of bounds')\n }\n\n if (byteOffset === undefined && length === undefined) {\n array = new Uint8Array(array)\n } else if (length === undefined) {\n array = new Uint8Array(array, byteOffset)\n } else {\n array = new Uint8Array(array, byteOffset, length)\n }\n\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n // Return an augmented `Uint8Array` instance, for best performance\n that = array\n that.__proto__ = Buffer.prototype\n } else {\n // Fallback: Return an object instance of the Buffer class\n that = fromArrayLike(that, array)\n }\n return that\n}\n\nfunction fromObject (that, obj) {\n if (Buffer.isBuffer(obj)) {\n var len = checked(obj.length) | 0\n that = createBuffer(that, len)\n\n if (that.length === 0) {\n return that\n }\n\n obj.copy(that, 0, 0, len)\n return that\n }\n\n if (obj) {\n if ((typeof ArrayBuffer !== 'undefined' &&\n obj.buffer instanceof ArrayBuffer) || 'length' in obj) {\n if (typeof obj.length !== 'number' || isnan(obj.length)) {\n return createBuffer(that, 0)\n }\n return fromArrayLike(that, obj)\n }\n\n if (obj.type === 'Buffer' && isArray(obj.data)) {\n return fromArrayLike(that, obj.data)\n }\n }\n\n throw new TypeError('First argument must be a string, Buffer, ArrayBuffer, Array, or array-like object.')\n}\n\nfunction checked (length) {\n // Note: cannot use `length < kMaxLength()` here because that fails when\n // length is NaN (which is otherwise coerced to zero.)\n if (length >= kMaxLength()) {\n throw new RangeError('Attempt to allocate Buffer larger than maximum ' +\n 'size: 0x' + kMaxLength().toString(16) + ' bytes')\n }\n return length | 0\n}\n\nfunction SlowBuffer (length) {\n if (+length != length) { // eslint-disable-line eqeqeq\n length = 0\n }\n return Buffer.alloc(+length)\n}\n\nBuffer.isBuffer = function isBuffer (b) {\n return !!(b != null && b._isBuffer)\n}\n\nBuffer.compare = function compare (a, b) {\n if (!Buffer.isBuffer(a) || !Buffer.isBuffer(b)) {\n throw new TypeError('Arguments must be Buffers')\n }\n\n if (a === b) return 0\n\n var x = a.length\n var y = b.length\n\n for (var i = 0, len = Math.min(x, y); i < len; ++i) {\n if (a[i] !== b[i]) {\n x = a[i]\n y = b[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\nBuffer.isEncoding = function isEncoding (encoding) {\n switch (String(encoding).toLowerCase()) {\n case 'hex':\n case 'utf8':\n case 'utf-8':\n case 'ascii':\n case 'latin1':\n case 'binary':\n case 'base64':\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return true\n default:\n return false\n }\n}\n\nBuffer.concat = function concat (list, length) {\n if (!isArray(list)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n\n if (list.length === 0) {\n return Buffer.alloc(0)\n }\n\n var i\n if (length === undefined) {\n length = 0\n for (i = 0; i < list.length; ++i) {\n length += list[i].length\n }\n }\n\n var buffer = Buffer.allocUnsafe(length)\n var pos = 0\n for (i = 0; i < list.length; ++i) {\n var buf = list[i]\n if (!Buffer.isBuffer(buf)) {\n throw new TypeError('\"list\" argument must be an Array of Buffers')\n }\n buf.copy(buffer, pos)\n pos += buf.length\n }\n return buffer\n}\n\nfunction byteLength (string, encoding) {\n if (Buffer.isBuffer(string)) {\n return string.length\n }\n if (typeof ArrayBuffer !== 'undefined' && typeof ArrayBuffer.isView === 'function' &&\n (ArrayBuffer.isView(string) || string instanceof ArrayBuffer)) {\n return string.byteLength\n }\n if (typeof string !== 'string') {\n string = '' + string\n }\n\n var len = string.length\n if (len === 0) return 0\n\n // Use a for loop to avoid recursion\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'ascii':\n case 'latin1':\n case 'binary':\n return len\n case 'utf8':\n case 'utf-8':\n case undefined:\n return utf8ToBytes(string).length\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return len * 2\n case 'hex':\n return len >>> 1\n case 'base64':\n return base64ToBytes(string).length\n default:\n if (loweredCase) return utf8ToBytes(string).length // assume utf8\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\nBuffer.byteLength = byteLength\n\nfunction slowToString (encoding, start, end) {\n var loweredCase = false\n\n // No need to verify that \"this.length <= MAX_UINT32\" since it's a read-only\n // property of a typed array.\n\n // This behaves neither like String nor Uint8Array in that we set start/end\n // to their upper/lower bounds if the value passed is out of range.\n // undefined is handled specially as per ECMA-262 6th Edition,\n // Section 13.3.3.7 Runtime Semantics: KeyedBindingInitialization.\n if (start === undefined || start < 0) {\n start = 0\n }\n // Return early if start > this.length. Done here to prevent potential uint32\n // coercion fail below.\n if (start > this.length) {\n return ''\n }\n\n if (end === undefined || end > this.length) {\n end = this.length\n }\n\n if (end <= 0) {\n return ''\n }\n\n // Force coersion to uint32. This will also coerce falsey/NaN values to 0.\n end >>>= 0\n start >>>= 0\n\n if (end <= start) {\n return ''\n }\n\n if (!encoding) encoding = 'utf8'\n\n while (true) {\n switch (encoding) {\n case 'hex':\n return hexSlice(this, start, end)\n\n case 'utf8':\n case 'utf-8':\n return utf8Slice(this, start, end)\n\n case 'ascii':\n return asciiSlice(this, start, end)\n\n case 'latin1':\n case 'binary':\n return latin1Slice(this, start, end)\n\n case 'base64':\n return base64Slice(this, start, end)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return utf16leSlice(this, start, end)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = (encoding + '').toLowerCase()\n loweredCase = true\n }\n }\n}\n\n// The property is used by `Buffer.isBuffer` and `is-buffer` (in Safari 5-7) to detect\n// Buffer instances.\nBuffer.prototype._isBuffer = true\n\nfunction swap (b, n, m) {\n var i = b[n]\n b[n] = b[m]\n b[m] = i\n}\n\nBuffer.prototype.swap16 = function swap16 () {\n var len = this.length\n if (len % 2 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 16-bits')\n }\n for (var i = 0; i < len; i += 2) {\n swap(this, i, i + 1)\n }\n return this\n}\n\nBuffer.prototype.swap32 = function swap32 () {\n var len = this.length\n if (len % 4 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 32-bits')\n }\n for (var i = 0; i < len; i += 4) {\n swap(this, i, i + 3)\n swap(this, i + 1, i + 2)\n }\n return this\n}\n\nBuffer.prototype.swap64 = function swap64 () {\n var len = this.length\n if (len % 8 !== 0) {\n throw new RangeError('Buffer size must be a multiple of 64-bits')\n }\n for (var i = 0; i < len; i += 8) {\n swap(this, i, i + 7)\n swap(this, i + 1, i + 6)\n swap(this, i + 2, i + 5)\n swap(this, i + 3, i + 4)\n }\n return this\n}\n\nBuffer.prototype.toString = function toString () {\n var length = this.length | 0\n if (length === 0) return ''\n if (arguments.length === 0) return utf8Slice(this, 0, length)\n return slowToString.apply(this, arguments)\n}\n\nBuffer.prototype.equals = function equals (b) {\n if (!Buffer.isBuffer(b)) throw new TypeError('Argument must be a Buffer')\n if (this === b) return true\n return Buffer.compare(this, b) === 0\n}\n\nBuffer.prototype.inspect = function inspect () {\n var str = ''\n var max = exports.INSPECT_MAX_BYTES\n if (this.length > 0) {\n str = this.toString('hex', 0, max).match(/.{2}/g).join(' ')\n if (this.length > max) str += ' ... '\n }\n return ''\n}\n\nBuffer.prototype.compare = function compare (target, start, end, thisStart, thisEnd) {\n if (!Buffer.isBuffer(target)) {\n throw new TypeError('Argument must be a Buffer')\n }\n\n if (start === undefined) {\n start = 0\n }\n if (end === undefined) {\n end = target ? target.length : 0\n }\n if (thisStart === undefined) {\n thisStart = 0\n }\n if (thisEnd === undefined) {\n thisEnd = this.length\n }\n\n if (start < 0 || end > target.length || thisStart < 0 || thisEnd > this.length) {\n throw new RangeError('out of range index')\n }\n\n if (thisStart >= thisEnd && start >= end) {\n return 0\n }\n if (thisStart >= thisEnd) {\n return -1\n }\n if (start >= end) {\n return 1\n }\n\n start >>>= 0\n end >>>= 0\n thisStart >>>= 0\n thisEnd >>>= 0\n\n if (this === target) return 0\n\n var x = thisEnd - thisStart\n var y = end - start\n var len = Math.min(x, y)\n\n var thisCopy = this.slice(thisStart, thisEnd)\n var targetCopy = target.slice(start, end)\n\n for (var i = 0; i < len; ++i) {\n if (thisCopy[i] !== targetCopy[i]) {\n x = thisCopy[i]\n y = targetCopy[i]\n break\n }\n }\n\n if (x < y) return -1\n if (y < x) return 1\n return 0\n}\n\n// Finds either the first index of `val` in `buffer` at offset >= `byteOffset`,\n// OR the last index of `val` in `buffer` at offset <= `byteOffset`.\n//\n// Arguments:\n// - buffer - a Buffer to search\n// - val - a string, Buffer, or number\n// - byteOffset - an index into `buffer`; will be clamped to an int32\n// - encoding - an optional encoding, relevant is val is a string\n// - dir - true for indexOf, false for lastIndexOf\nfunction bidirectionalIndexOf (buffer, val, byteOffset, encoding, dir) {\n // Empty buffer means no match\n if (buffer.length === 0) return -1\n\n // Normalize byteOffset\n if (typeof byteOffset === 'string') {\n encoding = byteOffset\n byteOffset = 0\n } else if (byteOffset > 0x7fffffff) {\n byteOffset = 0x7fffffff\n } else if (byteOffset < -0x80000000) {\n byteOffset = -0x80000000\n }\n byteOffset = +byteOffset // Coerce to Number.\n if (isNaN(byteOffset)) {\n // byteOffset: it it's undefined, null, NaN, \"foo\", etc, search whole buffer\n byteOffset = dir ? 0 : (buffer.length - 1)\n }\n\n // Normalize byteOffset: negative offsets start from the end of the buffer\n if (byteOffset < 0) byteOffset = buffer.length + byteOffset\n if (byteOffset >= buffer.length) {\n if (dir) return -1\n else byteOffset = buffer.length - 1\n } else if (byteOffset < 0) {\n if (dir) byteOffset = 0\n else return -1\n }\n\n // Normalize val\n if (typeof val === 'string') {\n val = Buffer.from(val, encoding)\n }\n\n // Finally, search either indexOf (if dir is true) or lastIndexOf\n if (Buffer.isBuffer(val)) {\n // Special case: looking for empty string/buffer always fails\n if (val.length === 0) {\n return -1\n }\n return arrayIndexOf(buffer, val, byteOffset, encoding, dir)\n } else if (typeof val === 'number') {\n val = val & 0xFF // Search for a byte value [0-255]\n if (Buffer.TYPED_ARRAY_SUPPORT &&\n typeof Uint8Array.prototype.indexOf === 'function') {\n if (dir) {\n return Uint8Array.prototype.indexOf.call(buffer, val, byteOffset)\n } else {\n return Uint8Array.prototype.lastIndexOf.call(buffer, val, byteOffset)\n }\n }\n return arrayIndexOf(buffer, [ val ], byteOffset, encoding, dir)\n }\n\n throw new TypeError('val must be string, number or Buffer')\n}\n\nfunction arrayIndexOf (arr, val, byteOffset, encoding, dir) {\n var indexSize = 1\n var arrLength = arr.length\n var valLength = val.length\n\n if (encoding !== undefined) {\n encoding = String(encoding).toLowerCase()\n if (encoding === 'ucs2' || encoding === 'ucs-2' ||\n encoding === 'utf16le' || encoding === 'utf-16le') {\n if (arr.length < 2 || val.length < 2) {\n return -1\n }\n indexSize = 2\n arrLength /= 2\n valLength /= 2\n byteOffset /= 2\n }\n }\n\n function read (buf, i) {\n if (indexSize === 1) {\n return buf[i]\n } else {\n return buf.readUInt16BE(i * indexSize)\n }\n }\n\n var i\n if (dir) {\n var foundIndex = -1\n for (i = byteOffset; i < arrLength; i++) {\n if (read(arr, i) === read(val, foundIndex === -1 ? 0 : i - foundIndex)) {\n if (foundIndex === -1) foundIndex = i\n if (i - foundIndex + 1 === valLength) return foundIndex * indexSize\n } else {\n if (foundIndex !== -1) i -= i - foundIndex\n foundIndex = -1\n }\n }\n } else {\n if (byteOffset + valLength > arrLength) byteOffset = arrLength - valLength\n for (i = byteOffset; i >= 0; i--) {\n var found = true\n for (var j = 0; j < valLength; j++) {\n if (read(arr, i + j) !== read(val, j)) {\n found = false\n break\n }\n }\n if (found) return i\n }\n }\n\n return -1\n}\n\nBuffer.prototype.includes = function includes (val, byteOffset, encoding) {\n return this.indexOf(val, byteOffset, encoding) !== -1\n}\n\nBuffer.prototype.indexOf = function indexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, true)\n}\n\nBuffer.prototype.lastIndexOf = function lastIndexOf (val, byteOffset, encoding) {\n return bidirectionalIndexOf(this, val, byteOffset, encoding, false)\n}\n\nfunction hexWrite (buf, string, offset, length) {\n offset = Number(offset) || 0\n var remaining = buf.length - offset\n if (!length) {\n length = remaining\n } else {\n length = Number(length)\n if (length > remaining) {\n length = remaining\n }\n }\n\n // must be an even number of digits\n var strLen = string.length\n if (strLen % 2 !== 0) throw new TypeError('Invalid hex string')\n\n if (length > strLen / 2) {\n length = strLen / 2\n }\n for (var i = 0; i < length; ++i) {\n var parsed = parseInt(string.substr(i * 2, 2), 16)\n if (isNaN(parsed)) return i\n buf[offset + i] = parsed\n }\n return i\n}\n\nfunction utf8Write (buf, string, offset, length) {\n return blitBuffer(utf8ToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nfunction asciiWrite (buf, string, offset, length) {\n return blitBuffer(asciiToBytes(string), buf, offset, length)\n}\n\nfunction latin1Write (buf, string, offset, length) {\n return asciiWrite(buf, string, offset, length)\n}\n\nfunction base64Write (buf, string, offset, length) {\n return blitBuffer(base64ToBytes(string), buf, offset, length)\n}\n\nfunction ucs2Write (buf, string, offset, length) {\n return blitBuffer(utf16leToBytes(string, buf.length - offset), buf, offset, length)\n}\n\nBuffer.prototype.write = function write (string, offset, length, encoding) {\n // Buffer#write(string)\n if (offset === undefined) {\n encoding = 'utf8'\n length = this.length\n offset = 0\n // Buffer#write(string, encoding)\n } else if (length === undefined && typeof offset === 'string') {\n encoding = offset\n length = this.length\n offset = 0\n // Buffer#write(string, offset[, length][, encoding])\n } else if (isFinite(offset)) {\n offset = offset | 0\n if (isFinite(length)) {\n length = length | 0\n if (encoding === undefined) encoding = 'utf8'\n } else {\n encoding = length\n length = undefined\n }\n // legacy write(string, encoding, offset, length) - remove in v0.13\n } else {\n throw new Error(\n 'Buffer.write(string, encoding, offset[, length]) is no longer supported'\n )\n }\n\n var remaining = this.length - offset\n if (length === undefined || length > remaining) length = remaining\n\n if ((string.length > 0 && (length < 0 || offset < 0)) || offset > this.length) {\n throw new RangeError('Attempt to write outside buffer bounds')\n }\n\n if (!encoding) encoding = 'utf8'\n\n var loweredCase = false\n for (;;) {\n switch (encoding) {\n case 'hex':\n return hexWrite(this, string, offset, length)\n\n case 'utf8':\n case 'utf-8':\n return utf8Write(this, string, offset, length)\n\n case 'ascii':\n return asciiWrite(this, string, offset, length)\n\n case 'latin1':\n case 'binary':\n return latin1Write(this, string, offset, length)\n\n case 'base64':\n // Warning: maxLength not taken into account in base64Write\n return base64Write(this, string, offset, length)\n\n case 'ucs2':\n case 'ucs-2':\n case 'utf16le':\n case 'utf-16le':\n return ucs2Write(this, string, offset, length)\n\n default:\n if (loweredCase) throw new TypeError('Unknown encoding: ' + encoding)\n encoding = ('' + encoding).toLowerCase()\n loweredCase = true\n }\n }\n}\n\nBuffer.prototype.toJSON = function toJSON () {\n return {\n type: 'Buffer',\n data: Array.prototype.slice.call(this._arr || this, 0)\n }\n}\n\nfunction base64Slice (buf, start, end) {\n if (start === 0 && end === buf.length) {\n return base64.fromByteArray(buf)\n } else {\n return base64.fromByteArray(buf.slice(start, end))\n }\n}\n\nfunction utf8Slice (buf, start, end) {\n end = Math.min(buf.length, end)\n var res = []\n\n var i = start\n while (i < end) {\n var firstByte = buf[i]\n var codePoint = null\n var bytesPerSequence = (firstByte > 0xEF) ? 4\n : (firstByte > 0xDF) ? 3\n : (firstByte > 0xBF) ? 2\n : 1\n\n if (i + bytesPerSequence <= end) {\n var secondByte, thirdByte, fourthByte, tempCodePoint\n\n switch (bytesPerSequence) {\n case 1:\n if (firstByte < 0x80) {\n codePoint = firstByte\n }\n break\n case 2:\n secondByte = buf[i + 1]\n if ((secondByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0x1F) << 0x6 | (secondByte & 0x3F)\n if (tempCodePoint > 0x7F) {\n codePoint = tempCodePoint\n }\n }\n break\n case 3:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0xC | (secondByte & 0x3F) << 0x6 | (thirdByte & 0x3F)\n if (tempCodePoint > 0x7FF && (tempCodePoint < 0xD800 || tempCodePoint > 0xDFFF)) {\n codePoint = tempCodePoint\n }\n }\n break\n case 4:\n secondByte = buf[i + 1]\n thirdByte = buf[i + 2]\n fourthByte = buf[i + 3]\n if ((secondByte & 0xC0) === 0x80 && (thirdByte & 0xC0) === 0x80 && (fourthByte & 0xC0) === 0x80) {\n tempCodePoint = (firstByte & 0xF) << 0x12 | (secondByte & 0x3F) << 0xC | (thirdByte & 0x3F) << 0x6 | (fourthByte & 0x3F)\n if (tempCodePoint > 0xFFFF && tempCodePoint < 0x110000) {\n codePoint = tempCodePoint\n }\n }\n }\n }\n\n if (codePoint === null) {\n // we did not generate a valid codePoint so insert a\n // replacement char (U+FFFD) and advance only 1 byte\n codePoint = 0xFFFD\n bytesPerSequence = 1\n } else if (codePoint > 0xFFFF) {\n // encode to utf16 (surrogate pair dance)\n codePoint -= 0x10000\n res.push(codePoint >>> 10 & 0x3FF | 0xD800)\n codePoint = 0xDC00 | codePoint & 0x3FF\n }\n\n res.push(codePoint)\n i += bytesPerSequence\n }\n\n return decodeCodePointsArray(res)\n}\n\n// Based on http://stackoverflow.com/a/22747272/680742, the browser with\n// the lowest limit is Chrome, with 0x10000 args.\n// We go 1 magnitude less, for safety\nvar MAX_ARGUMENTS_LENGTH = 0x1000\n\nfunction decodeCodePointsArray (codePoints) {\n var len = codePoints.length\n if (len <= MAX_ARGUMENTS_LENGTH) {\n return String.fromCharCode.apply(String, codePoints) // avoid extra slice()\n }\n\n // Decode in chunks to avoid \"call stack size exceeded\".\n var res = ''\n var i = 0\n while (i < len) {\n res += String.fromCharCode.apply(\n String,\n codePoints.slice(i, i += MAX_ARGUMENTS_LENGTH)\n )\n }\n return res\n}\n\nfunction asciiSlice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i] & 0x7F)\n }\n return ret\n}\n\nfunction latin1Slice (buf, start, end) {\n var ret = ''\n end = Math.min(buf.length, end)\n\n for (var i = start; i < end; ++i) {\n ret += String.fromCharCode(buf[i])\n }\n return ret\n}\n\nfunction hexSlice (buf, start, end) {\n var len = buf.length\n\n if (!start || start < 0) start = 0\n if (!end || end < 0 || end > len) end = len\n\n var out = ''\n for (var i = start; i < end; ++i) {\n out += toHex(buf[i])\n }\n return out\n}\n\nfunction utf16leSlice (buf, start, end) {\n var bytes = buf.slice(start, end)\n var res = ''\n for (var i = 0; i < bytes.length; i += 2) {\n res += String.fromCharCode(bytes[i] + bytes[i + 1] * 256)\n }\n return res\n}\n\nBuffer.prototype.slice = function slice (start, end) {\n var len = this.length\n start = ~~start\n end = end === undefined ? len : ~~end\n\n if (start < 0) {\n start += len\n if (start < 0) start = 0\n } else if (start > len) {\n start = len\n }\n\n if (end < 0) {\n end += len\n if (end < 0) end = 0\n } else if (end > len) {\n end = len\n }\n\n if (end < start) end = start\n\n var newBuf\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n newBuf = this.subarray(start, end)\n newBuf.__proto__ = Buffer.prototype\n } else {\n var sliceLen = end - start\n newBuf = new Buffer(sliceLen, undefined)\n for (var i = 0; i < sliceLen; ++i) {\n newBuf[i] = this[i + start]\n }\n }\n\n return newBuf\n}\n\n/*\n * Need to make sure that buffer isn't trying to write out of bounds.\n */\nfunction checkOffset (offset, ext, length) {\n if ((offset % 1) !== 0 || offset < 0) throw new RangeError('offset is not uint')\n if (offset + ext > length) throw new RangeError('Trying to access beyond buffer length')\n}\n\nBuffer.prototype.readUIntLE = function readUIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUIntBE = function readUIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n checkOffset(offset, byteLength, this.length)\n }\n\n var val = this[offset + --byteLength]\n var mul = 1\n while (byteLength > 0 && (mul *= 0x100)) {\n val += this[offset + --byteLength] * mul\n }\n\n return val\n}\n\nBuffer.prototype.readUInt8 = function readUInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n return this[offset]\n}\n\nBuffer.prototype.readUInt16LE = function readUInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return this[offset] | (this[offset + 1] << 8)\n}\n\nBuffer.prototype.readUInt16BE = function readUInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n return (this[offset] << 8) | this[offset + 1]\n}\n\nBuffer.prototype.readUInt32LE = function readUInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return ((this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16)) +\n (this[offset + 3] * 0x1000000)\n}\n\nBuffer.prototype.readUInt32BE = function readUInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] * 0x1000000) +\n ((this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n this[offset + 3])\n}\n\nBuffer.prototype.readIntLE = function readIntLE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var val = this[offset]\n var mul = 1\n var i = 0\n while (++i < byteLength && (mul *= 0x100)) {\n val += this[offset + i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readIntBE = function readIntBE (offset, byteLength, noAssert) {\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) checkOffset(offset, byteLength, this.length)\n\n var i = byteLength\n var mul = 1\n var val = this[offset + --i]\n while (i > 0 && (mul *= 0x100)) {\n val += this[offset + --i] * mul\n }\n mul *= 0x80\n\n if (val >= mul) val -= Math.pow(2, 8 * byteLength)\n\n return val\n}\n\nBuffer.prototype.readInt8 = function readInt8 (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 1, this.length)\n if (!(this[offset] & 0x80)) return (this[offset])\n return ((0xff - this[offset] + 1) * -1)\n}\n\nBuffer.prototype.readInt16LE = function readInt16LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset] | (this[offset + 1] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt16BE = function readInt16BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 2, this.length)\n var val = this[offset + 1] | (this[offset] << 8)\n return (val & 0x8000) ? val | 0xFFFF0000 : val\n}\n\nBuffer.prototype.readInt32LE = function readInt32LE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset]) |\n (this[offset + 1] << 8) |\n (this[offset + 2] << 16) |\n (this[offset + 3] << 24)\n}\n\nBuffer.prototype.readInt32BE = function readInt32BE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n\n return (this[offset] << 24) |\n (this[offset + 1] << 16) |\n (this[offset + 2] << 8) |\n (this[offset + 3])\n}\n\nBuffer.prototype.readFloatLE = function readFloatLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, true, 23, 4)\n}\n\nBuffer.prototype.readFloatBE = function readFloatBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 4, this.length)\n return ieee754.read(this, offset, false, 23, 4)\n}\n\nBuffer.prototype.readDoubleLE = function readDoubleLE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, true, 52, 8)\n}\n\nBuffer.prototype.readDoubleBE = function readDoubleBE (offset, noAssert) {\n if (!noAssert) checkOffset(offset, 8, this.length)\n return ieee754.read(this, offset, false, 52, 8)\n}\n\nfunction checkInt (buf, value, offset, ext, max, min) {\n if (!Buffer.isBuffer(buf)) throw new TypeError('\"buffer\" argument must be a Buffer instance')\n if (value > max || value < min) throw new RangeError('\"value\" argument is out of bounds')\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n}\n\nBuffer.prototype.writeUIntLE = function writeUIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var mul = 1\n var i = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUIntBE = function writeUIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n byteLength = byteLength | 0\n if (!noAssert) {\n var maxBytes = Math.pow(2, 8 * byteLength) - 1\n checkInt(this, value, offset, byteLength, maxBytes, 0)\n }\n\n var i = byteLength - 1\n var mul = 1\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n this[offset + i] = (value / mul) & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeUInt8 = function writeUInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0xff, 0)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nfunction objectWriteUInt16 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 2); i < j; ++i) {\n buf[offset + i] = (value & (0xff << (8 * (littleEndian ? i : 1 - i)))) >>>\n (littleEndian ? i : 1 - i) * 8\n }\n}\n\nBuffer.prototype.writeUInt16LE = function writeUInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeUInt16BE = function writeUInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0xffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nfunction objectWriteUInt32 (buf, value, offset, littleEndian) {\n if (value < 0) value = 0xffffffff + value + 1\n for (var i = 0, j = Math.min(buf.length - offset, 4); i < j; ++i) {\n buf[offset + i] = (value >>> (littleEndian ? i : 3 - i) * 8) & 0xff\n }\n}\n\nBuffer.prototype.writeUInt32LE = function writeUInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset + 3] = (value >>> 24)\n this[offset + 2] = (value >>> 16)\n this[offset + 1] = (value >>> 8)\n this[offset] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeUInt32BE = function writeUInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0xffffffff, 0)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeIntLE = function writeIntLE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = 0\n var mul = 1\n var sub = 0\n this[offset] = value & 0xFF\n while (++i < byteLength && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i - 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeIntBE = function writeIntBE (value, offset, byteLength, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) {\n var limit = Math.pow(2, 8 * byteLength - 1)\n\n checkInt(this, value, offset, byteLength, limit - 1, -limit)\n }\n\n var i = byteLength - 1\n var mul = 1\n var sub = 0\n this[offset + i] = value & 0xFF\n while (--i >= 0 && (mul *= 0x100)) {\n if (value < 0 && sub === 0 && this[offset + i + 1] !== 0) {\n sub = 1\n }\n this[offset + i] = ((value / mul) >> 0) - sub & 0xFF\n }\n\n return offset + byteLength\n}\n\nBuffer.prototype.writeInt8 = function writeInt8 (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 1, 0x7f, -0x80)\n if (!Buffer.TYPED_ARRAY_SUPPORT) value = Math.floor(value)\n if (value < 0) value = 0xff + value + 1\n this[offset] = (value & 0xff)\n return offset + 1\n}\n\nBuffer.prototype.writeInt16LE = function writeInt16LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n } else {\n objectWriteUInt16(this, value, offset, true)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt16BE = function writeInt16BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 2, 0x7fff, -0x8000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 8)\n this[offset + 1] = (value & 0xff)\n } else {\n objectWriteUInt16(this, value, offset, false)\n }\n return offset + 2\n}\n\nBuffer.prototype.writeInt32LE = function writeInt32LE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value & 0xff)\n this[offset + 1] = (value >>> 8)\n this[offset + 2] = (value >>> 16)\n this[offset + 3] = (value >>> 24)\n } else {\n objectWriteUInt32(this, value, offset, true)\n }\n return offset + 4\n}\n\nBuffer.prototype.writeInt32BE = function writeInt32BE (value, offset, noAssert) {\n value = +value\n offset = offset | 0\n if (!noAssert) checkInt(this, value, offset, 4, 0x7fffffff, -0x80000000)\n if (value < 0) value = 0xffffffff + value + 1\n if (Buffer.TYPED_ARRAY_SUPPORT) {\n this[offset] = (value >>> 24)\n this[offset + 1] = (value >>> 16)\n this[offset + 2] = (value >>> 8)\n this[offset + 3] = (value & 0xff)\n } else {\n objectWriteUInt32(this, value, offset, false)\n }\n return offset + 4\n}\n\nfunction checkIEEE754 (buf, value, offset, ext, max, min) {\n if (offset + ext > buf.length) throw new RangeError('Index out of range')\n if (offset < 0) throw new RangeError('Index out of range')\n}\n\nfunction writeFloat (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 4, 3.4028234663852886e+38, -3.4028234663852886e+38)\n }\n ieee754.write(buf, value, offset, littleEndian, 23, 4)\n return offset + 4\n}\n\nBuffer.prototype.writeFloatLE = function writeFloatLE (value, offset, noAssert) {\n return writeFloat(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeFloatBE = function writeFloatBE (value, offset, noAssert) {\n return writeFloat(this, value, offset, false, noAssert)\n}\n\nfunction writeDouble (buf, value, offset, littleEndian, noAssert) {\n if (!noAssert) {\n checkIEEE754(buf, value, offset, 8, 1.7976931348623157E+308, -1.7976931348623157E+308)\n }\n ieee754.write(buf, value, offset, littleEndian, 52, 8)\n return offset + 8\n}\n\nBuffer.prototype.writeDoubleLE = function writeDoubleLE (value, offset, noAssert) {\n return writeDouble(this, value, offset, true, noAssert)\n}\n\nBuffer.prototype.writeDoubleBE = function writeDoubleBE (value, offset, noAssert) {\n return writeDouble(this, value, offset, false, noAssert)\n}\n\n// copy(targetBuffer, targetStart=0, sourceStart=0, sourceEnd=buffer.length)\nBuffer.prototype.copy = function copy (target, targetStart, start, end) {\n if (!start) start = 0\n if (!end && end !== 0) end = this.length\n if (targetStart >= target.length) targetStart = target.length\n if (!targetStart) targetStart = 0\n if (end > 0 && end < start) end = start\n\n // Copy 0 bytes; we're done\n if (end === start) return 0\n if (target.length === 0 || this.length === 0) return 0\n\n // Fatal error conditions\n if (targetStart < 0) {\n throw new RangeError('targetStart out of bounds')\n }\n if (start < 0 || start >= this.length) throw new RangeError('sourceStart out of bounds')\n if (end < 0) throw new RangeError('sourceEnd out of bounds')\n\n // Are we oob?\n if (end > this.length) end = this.length\n if (target.length - targetStart < end - start) {\n end = target.length - targetStart + start\n }\n\n var len = end - start\n var i\n\n if (this === target && start < targetStart && targetStart < end) {\n // descending copy from end\n for (i = len - 1; i >= 0; --i) {\n target[i + targetStart] = this[i + start]\n }\n } else if (len < 1000 || !Buffer.TYPED_ARRAY_SUPPORT) {\n // ascending copy from start\n for (i = 0; i < len; ++i) {\n target[i + targetStart] = this[i + start]\n }\n } else {\n Uint8Array.prototype.set.call(\n target,\n this.subarray(start, start + len),\n targetStart\n )\n }\n\n return len\n}\n\n// Usage:\n// buffer.fill(number[, offset[, end]])\n// buffer.fill(buffer[, offset[, end]])\n// buffer.fill(string[, offset[, end]][, encoding])\nBuffer.prototype.fill = function fill (val, start, end, encoding) {\n // Handle string cases:\n if (typeof val === 'string') {\n if (typeof start === 'string') {\n encoding = start\n start = 0\n end = this.length\n } else if (typeof end === 'string') {\n encoding = end\n end = this.length\n }\n if (val.length === 1) {\n var code = val.charCodeAt(0)\n if (code < 256) {\n val = code\n }\n }\n if (encoding !== undefined && typeof encoding !== 'string') {\n throw new TypeError('encoding must be a string')\n }\n if (typeof encoding === 'string' && !Buffer.isEncoding(encoding)) {\n throw new TypeError('Unknown encoding: ' + encoding)\n }\n } else if (typeof val === 'number') {\n val = val & 255\n }\n\n // Invalid ranges are not set to a default, so can range check early.\n if (start < 0 || this.length < start || this.length < end) {\n throw new RangeError('Out of range index')\n }\n\n if (end <= start) {\n return this\n }\n\n start = start >>> 0\n end = end === undefined ? this.length : end >>> 0\n\n if (!val) val = 0\n\n var i\n if (typeof val === 'number') {\n for (i = start; i < end; ++i) {\n this[i] = val\n }\n } else {\n var bytes = Buffer.isBuffer(val)\n ? val\n : utf8ToBytes(new Buffer(val, encoding).toString())\n var len = bytes.length\n for (i = 0; i < end - start; ++i) {\n this[i + start] = bytes[i % len]\n }\n }\n\n return this\n}\n\n// HELPER FUNCTIONS\n// ================\n\nvar INVALID_BASE64_RE = /[^+\\/0-9A-Za-z-_]/g\n\nfunction base64clean (str) {\n // Node strips out invalid characters like \\n and \\t from the string, base64-js does not\n str = stringtrim(str).replace(INVALID_BASE64_RE, '')\n // Node converts strings with length < 2 to ''\n if (str.length < 2) return ''\n // Node allows for non-padded base64 strings (missing trailing ===), base64-js does not\n while (str.length % 4 !== 0) {\n str = str + '='\n }\n return str\n}\n\nfunction stringtrim (str) {\n if (str.trim) return str.trim()\n return str.replace(/^\\s+|\\s+$/g, '')\n}\n\nfunction toHex (n) {\n if (n < 16) return '0' + n.toString(16)\n return n.toString(16)\n}\n\nfunction utf8ToBytes (string, units) {\n units = units || Infinity\n var codePoint\n var length = string.length\n var leadSurrogate = null\n var bytes = []\n\n for (var i = 0; i < length; ++i) {\n codePoint = string.charCodeAt(i)\n\n // is surrogate component\n if (codePoint > 0xD7FF && codePoint < 0xE000) {\n // last char was a lead\n if (!leadSurrogate) {\n // no lead yet\n if (codePoint > 0xDBFF) {\n // unexpected trail\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n } else if (i + 1 === length) {\n // unpaired lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n continue\n }\n\n // valid lead\n leadSurrogate = codePoint\n\n continue\n }\n\n // 2 leads in a row\n if (codePoint < 0xDC00) {\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n leadSurrogate = codePoint\n continue\n }\n\n // valid surrogate pair\n codePoint = (leadSurrogate - 0xD800 << 10 | codePoint - 0xDC00) + 0x10000\n } else if (leadSurrogate) {\n // valid bmp char, but last char was a lead\n if ((units -= 3) > -1) bytes.push(0xEF, 0xBF, 0xBD)\n }\n\n leadSurrogate = null\n\n // encode utf8\n if (codePoint < 0x80) {\n if ((units -= 1) < 0) break\n bytes.push(codePoint)\n } else if (codePoint < 0x800) {\n if ((units -= 2) < 0) break\n bytes.push(\n codePoint >> 0x6 | 0xC0,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x10000) {\n if ((units -= 3) < 0) break\n bytes.push(\n codePoint >> 0xC | 0xE0,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else if (codePoint < 0x110000) {\n if ((units -= 4) < 0) break\n bytes.push(\n codePoint >> 0x12 | 0xF0,\n codePoint >> 0xC & 0x3F | 0x80,\n codePoint >> 0x6 & 0x3F | 0x80,\n codePoint & 0x3F | 0x80\n )\n } else {\n throw new Error('Invalid code point')\n }\n }\n\n return bytes\n}\n\nfunction asciiToBytes (str) {\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n // Node's code seems to be doing this and not & 0x7F..\n byteArray.push(str.charCodeAt(i) & 0xFF)\n }\n return byteArray\n}\n\nfunction utf16leToBytes (str, units) {\n var c, hi, lo\n var byteArray = []\n for (var i = 0; i < str.length; ++i) {\n if ((units -= 2) < 0) break\n\n c = str.charCodeAt(i)\n hi = c >> 8\n lo = c % 256\n byteArray.push(lo)\n byteArray.push(hi)\n }\n\n return byteArray\n}\n\nfunction base64ToBytes (str) {\n return base64.toByteArray(base64clean(str))\n}\n\nfunction blitBuffer (src, dst, offset, length) {\n for (var i = 0; i < length; ++i) {\n if ((i + offset >= dst.length) || (i >= src.length)) break\n dst[i + offset] = src[i]\n }\n return i\n}\n\nfunction isnan (val) {\n return val !== val // eslint-disable-line no-self-compare\n}\n","var charenc = {\n // UTF-8 encoding\n utf8: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n return charenc.bin.stringToBytes(unescape(encodeURIComponent(str)));\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n return decodeURIComponent(escape(charenc.bin.bytesToString(bytes)));\n }\n },\n\n // Binary encoding\n bin: {\n // Convert a string to a byte array\n stringToBytes: function(str) {\n for (var bytes = [], i = 0; i < str.length; i++)\n bytes.push(str.charCodeAt(i) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a string\n bytesToString: function(bytes) {\n for (var str = [], i = 0; i < bytes.length; i++)\n str.push(String.fromCharCode(bytes[i]));\n return str.join('');\n }\n }\n};\n\nmodule.exports = charenc;\n","/*!\n\tCopyright (c) 2018 Jed Watson.\n\tLicensed under the MIT License (MIT), see\n\thttp://jedwatson.github.io/classnames\n*/\n/* global define */\n\n(function () {\n\t'use strict';\n\n\tvar hasOwn = {}.hasOwnProperty;\n\tvar nativeCodeString = '[native code]';\n\n\tfunction classNames() {\n\t\tvar classes = [];\n\n\t\tfor (var i = 0; i < arguments.length; i++) {\n\t\t\tvar arg = arguments[i];\n\t\t\tif (!arg) continue;\n\n\t\t\tvar argType = typeof arg;\n\n\t\t\tif (argType === 'string' || argType === 'number') {\n\t\t\t\tclasses.push(arg);\n\t\t\t} else if (Array.isArray(arg)) {\n\t\t\t\tif (arg.length) {\n\t\t\t\t\tvar inner = classNames.apply(null, arg);\n\t\t\t\t\tif (inner) {\n\t\t\t\t\t\tclasses.push(inner);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t} else if (argType === 'object') {\n\t\t\t\tif (arg.toString !== Object.prototype.toString && !arg.toString.toString().includes('[native code]')) {\n\t\t\t\t\tclasses.push(arg.toString());\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\tfor (var key in arg) {\n\t\t\t\t\tif (hasOwn.call(arg, key) && arg[key]) {\n\t\t\t\t\t\tclasses.push(key);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\n\t\treturn classes.join(' ');\n\t}\n\n\tif (typeof module !== 'undefined' && module.exports) {\n\t\tclassNames.default = classNames;\n\t\tmodule.exports = classNames;\n\t} else if (typeof define === 'function' && typeof define.amd === 'object' && define.amd) {\n\t\t// register as 'classnames', consistent with npm package name\n\t\tdefine('classnames', [], function () {\n\t\t\treturn classNames;\n\t\t});\n\t} else {\n\t\twindow.classNames = classNames;\n\t}\n}());\n","/*!\n * cookie\n * Copyright(c) 2012-2014 Roman Shtylman\n * Copyright(c) 2015 Douglas Christopher Wilson\n * MIT Licensed\n */\n\n'use strict';\n\n/**\n * Module exports.\n * @public\n */\n\nexports.parse = parse;\nexports.serialize = serialize;\n\n/**\n * Module variables.\n * @private\n */\n\nvar decode = decodeURIComponent;\nvar encode = encodeURIComponent;\n\n/**\n * RegExp to match field-content in RFC 7230 sec 3.2\n *\n * field-content = field-vchar [ 1*( SP / HTAB ) field-vchar ]\n * field-vchar = VCHAR / obs-text\n * obs-text = %x80-FF\n */\n\nvar fieldContentRegExp = /^[\\u0009\\u0020-\\u007e\\u0080-\\u00ff]+$/;\n\n/**\n * Parse a cookie header.\n *\n * Parse the given cookie header string into an object\n * The object has the various cookies as keys(names) => values\n *\n * @param {string} str\n * @param {object} [options]\n * @return {object}\n * @public\n */\n\nfunction parse(str, options) {\n if (typeof str !== 'string') {\n throw new TypeError('argument str must be a string');\n }\n\n var obj = {}\n var opt = options || {};\n var pairs = str.split(';')\n var dec = opt.decode || decode;\n\n for (var i = 0; i < pairs.length; i++) {\n var pair = pairs[i];\n var index = pair.indexOf('=')\n\n // skip things that don't look like key=value\n if (index < 0) {\n continue;\n }\n\n var key = pair.substring(0, index).trim()\n\n // only assign once\n if (undefined == obj[key]) {\n var val = pair.substring(index + 1, pair.length).trim()\n\n // quoted values\n if (val[0] === '\"') {\n val = val.slice(1, -1)\n }\n\n obj[key] = tryDecode(val, dec);\n }\n }\n\n return obj;\n}\n\n/**\n * Serialize data into a cookie header.\n *\n * Serialize the a name value pair into a cookie string suitable for\n * http headers. An optional options object specified cookie parameters.\n *\n * serialize('foo', 'bar', { httpOnly: true })\n * => \"foo=bar; httpOnly\"\n *\n * @param {string} name\n * @param {string} val\n * @param {object} [options]\n * @return {string}\n * @public\n */\n\nfunction serialize(name, val, options) {\n var opt = options || {};\n var enc = opt.encode || encode;\n\n if (typeof enc !== 'function') {\n throw new TypeError('option encode is invalid');\n }\n\n if (!fieldContentRegExp.test(name)) {\n throw new TypeError('argument name is invalid');\n }\n\n var value = enc(val);\n\n if (value && !fieldContentRegExp.test(value)) {\n throw new TypeError('argument val is invalid');\n }\n\n var str = name + '=' + value;\n\n if (null != opt.maxAge) {\n var maxAge = opt.maxAge - 0;\n\n if (isNaN(maxAge) || !isFinite(maxAge)) {\n throw new TypeError('option maxAge is invalid')\n }\n\n str += '; Max-Age=' + Math.floor(maxAge);\n }\n\n if (opt.domain) {\n if (!fieldContentRegExp.test(opt.domain)) {\n throw new TypeError('option domain is invalid');\n }\n\n str += '; Domain=' + opt.domain;\n }\n\n if (opt.path) {\n if (!fieldContentRegExp.test(opt.path)) {\n throw new TypeError('option path is invalid');\n }\n\n str += '; Path=' + opt.path;\n }\n\n if (opt.expires) {\n if (typeof opt.expires.toUTCString !== 'function') {\n throw new TypeError('option expires is invalid');\n }\n\n str += '; Expires=' + opt.expires.toUTCString();\n }\n\n if (opt.httpOnly) {\n str += '; HttpOnly';\n }\n\n if (opt.secure) {\n str += '; Secure';\n }\n\n if (opt.sameSite) {\n var sameSite = typeof opt.sameSite === 'string'\n ? opt.sameSite.toLowerCase() : opt.sameSite;\n\n switch (sameSite) {\n case true:\n str += '; SameSite=Strict';\n break;\n case 'lax':\n str += '; SameSite=Lax';\n break;\n case 'strict':\n str += '; SameSite=Strict';\n break;\n case 'none':\n str += '; SameSite=None';\n break;\n default:\n throw new TypeError('option sameSite is invalid');\n }\n }\n\n return str;\n}\n\n/**\n * Try decoding a string using a decoding function.\n *\n * @param {string} str\n * @param {function} decode\n * @private\n */\n\nfunction tryDecode(str, decode) {\n try {\n return decode(str);\n } catch (e) {\n return str;\n }\n}\n","\"use strict\";\n\nvar deselectCurrent = require(\"toggle-selection\");\n\nvar clipboardToIE11Formatting = {\n \"text/plain\": \"Text\",\n \"text/html\": \"Url\",\n \"default\": \"Text\"\n}\n\nvar defaultMessage = \"Copy to clipboard: #{key}, Enter\";\n\nfunction format(message) {\n var copyKey = (/mac os x/i.test(navigator.userAgent) ? \"⌘\" : \"Ctrl\") + \"+C\";\n return message.replace(/#{\\s*key\\s*}/g, copyKey);\n}\n\nfunction copy(text, options) {\n var debug,\n message,\n reselectPrevious,\n range,\n selection,\n mark,\n success = false;\n if (!options) {\n options = {};\n }\n debug = options.debug || false;\n try {\n reselectPrevious = deselectCurrent();\n\n range = document.createRange();\n selection = document.getSelection();\n\n mark = document.createElement(\"span\");\n mark.textContent = text;\n // avoid screen readers from reading out loud the text\n mark.ariaHidden = \"true\"\n // reset user styles for span element\n mark.style.all = \"unset\";\n // prevents scrolling to the end of the page\n mark.style.position = \"fixed\";\n mark.style.top = 0;\n mark.style.clip = \"rect(0, 0, 0, 0)\";\n // used to preserve spaces and line breaks\n mark.style.whiteSpace = \"pre\";\n // do not inherit user-select (it may be `none`)\n mark.style.webkitUserSelect = \"text\";\n mark.style.MozUserSelect = \"text\";\n mark.style.msUserSelect = \"text\";\n mark.style.userSelect = \"text\";\n mark.addEventListener(\"copy\", function(e) {\n e.stopPropagation();\n if (options.format) {\n e.preventDefault();\n if (typeof e.clipboardData === \"undefined\") { // IE 11\n debug && console.warn(\"unable to use e.clipboardData\");\n debug && console.warn(\"trying IE specific stuff\");\n window.clipboardData.clearData();\n var format = clipboardToIE11Formatting[options.format] || clipboardToIE11Formatting[\"default\"]\n window.clipboardData.setData(format, text);\n } else { // all other browsers\n e.clipboardData.clearData();\n e.clipboardData.setData(options.format, text);\n }\n }\n if (options.onCopy) {\n e.preventDefault();\n options.onCopy(e.clipboardData);\n }\n });\n\n document.body.appendChild(mark);\n\n range.selectNodeContents(mark);\n selection.addRange(range);\n\n var successful = document.execCommand(\"copy\");\n if (!successful) {\n throw new Error(\"copy command was unsuccessful\");\n }\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using execCommand: \", err);\n debug && console.warn(\"trying IE specific stuff\");\n try {\n window.clipboardData.setData(options.format || \"text\", text);\n options.onCopy && options.onCopy(window.clipboardData);\n success = true;\n } catch (err) {\n debug && console.error(\"unable to copy using clipboardData: \", err);\n debug && console.error(\"falling back to prompt\");\n message = format(\"message\" in options ? options.message : defaultMessage);\n window.prompt(message, text);\n }\n } finally {\n if (selection) {\n if (typeof selection.removeRange == \"function\") {\n selection.removeRange(range);\n } else {\n selection.removeAllRanges();\n }\n }\n\n if (mark) {\n document.body.removeChild(mark);\n }\n reselectPrevious();\n }\n\n return success;\n}\n\nmodule.exports = copy;\n","require('../../../modules/es.array.concat');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').concat;\n","require('../../../modules/es.array.filter');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').filter;\n","require('../../../modules/es.array.map');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').map;\n","require('../../../modules/es.array.reduce');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').reduce;\n","require('../../../modules/es.array.slice');\nvar entryVirtual = require('../../../internals/entry-virtual');\n\nmodule.exports = entryVirtual('Array').slice;\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/concat');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.concat;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.concat) ? method : own;\n};\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/filter');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.filter;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.filter) ? method : own;\n};\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/map');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.map;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.map) ? method : own;\n};\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/reduce');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.reduce;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.reduce) ? method : own;\n};\n","var isPrototypeOf = require('../../internals/object-is-prototype-of');\nvar method = require('../array/virtual/slice');\n\nvar ArrayPrototype = Array.prototype;\n\nmodule.exports = function (it) {\n var own = it.slice;\n return it === ArrayPrototype || (isPrototypeOf(ArrayPrototype, it) && own === ArrayPrototype.slice) ? method : own;\n};\n","require('../../modules/es.json.stringify');\nvar path = require('../../internals/path');\nvar apply = require('../../internals/function-apply');\n\n// eslint-disable-next-line es/no-json -- safe\nif (!path.JSON) path.JSON = { stringify: JSON.stringify };\n\n// eslint-disable-next-line no-unused-vars -- required for `.length`\nmodule.exports = function stringify(it, replacer, space) {\n return apply(path.JSON.stringify, null, arguments);\n};\n","require('../../modules/es.object.assign');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.assign;\n","require('../../modules/es.object.define-properties');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperties = module.exports = function defineProperties(T, D) {\n return Object.defineProperties(T, D);\n};\n\nif (Object.defineProperties.sham) defineProperties.sham = true;\n","require('../../modules/es.object.define-property');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar defineProperty = module.exports = function defineProperty(it, key, desc) {\n return Object.defineProperty(it, key, desc);\n};\n\nif (Object.defineProperty.sham) defineProperty.sham = true;\n","require('../../modules/es.object.get-own-property-descriptor');\nvar path = require('../../internals/path');\n\nvar Object = path.Object;\n\nvar getOwnPropertyDescriptor = module.exports = function getOwnPropertyDescriptor(it, key) {\n return Object.getOwnPropertyDescriptor(it, key);\n};\n\nif (Object.getOwnPropertyDescriptor.sham) getOwnPropertyDescriptor.sham = true;\n","require('../../modules/es.object.get-own-property-descriptors');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertyDescriptors;\n","require('../../modules/es.symbol');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.getOwnPropertySymbols;\n","require('../../modules/es.object.keys');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Object.keys;\n","require('../modules/es.parse-float');\nvar path = require('../internals/path');\n\nmodule.exports = path.parseFloat;\n","require('../../modules/es.reflect.construct');\nvar path = require('../../internals/path');\n\nmodule.exports = path.Reflect.construct;\n","var isCallable = require('../internals/is-callable');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsCallable(argument) is true`\nmodule.exports = function (argument) {\n if (isCallable(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a function');\n};\n","var isConstructor = require('../internals/is-constructor');\nvar tryToString = require('../internals/try-to-string');\n\nvar $TypeError = TypeError;\n\n// `Assert: IsConstructor(argument) is true`\nmodule.exports = function (argument) {\n if (isConstructor(argument)) return argument;\n throw $TypeError(tryToString(argument) + ' is not a constructor');\n};\n","var isObject = require('../internals/is-object');\n\nvar $String = String;\nvar $TypeError = TypeError;\n\n// `Assert: Type(argument) is Object`\nmodule.exports = function (argument) {\n if (isObject(argument)) return argument;\n throw $TypeError($String(argument) + ' is not an object');\n};\n","var toIndexedObject = require('../internals/to-indexed-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\n// `Array.prototype.{ indexOf, includes }` methods implementation\nvar createMethod = function (IS_INCLUDES) {\n return function ($this, el, fromIndex) {\n var O = toIndexedObject($this);\n var length = lengthOfArrayLike(O);\n var index = toAbsoluteIndex(fromIndex, length);\n var value;\n // Array#includes uses SameValueZero equality algorithm\n // eslint-disable-next-line no-self-compare -- NaN check\n if (IS_INCLUDES && el != el) while (length > index) {\n value = O[index++];\n // eslint-disable-next-line no-self-compare -- NaN check\n if (value != value) return true;\n // Array#indexOf ignores holes, Array#includes - not\n } else for (;length > index; index++) {\n if ((IS_INCLUDES || index in O) && O[index] === el) return IS_INCLUDES || index || 0;\n } return !IS_INCLUDES && -1;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.includes` method\n // https://tc39.es/ecma262/#sec-array.prototype.includes\n includes: createMethod(true),\n // `Array.prototype.indexOf` method\n // https://tc39.es/ecma262/#sec-array.prototype.indexof\n indexOf: createMethod(false)\n};\n","var bind = require('../internals/function-bind-context');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IndexedObject = require('../internals/indexed-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar arraySpeciesCreate = require('../internals/array-species-create');\n\nvar push = uncurryThis([].push);\n\n// `Array.prototype.{ forEach, map, filter, some, every, find, findIndex, filterReject }` methods implementation\nvar createMethod = function (TYPE) {\n var IS_MAP = TYPE == 1;\n var IS_FILTER = TYPE == 2;\n var IS_SOME = TYPE == 3;\n var IS_EVERY = TYPE == 4;\n var IS_FIND_INDEX = TYPE == 6;\n var IS_FILTER_REJECT = TYPE == 7;\n var NO_HOLES = TYPE == 5 || IS_FIND_INDEX;\n return function ($this, callbackfn, that, specificCreate) {\n var O = toObject($this);\n var self = IndexedObject(O);\n var boundFunction = bind(callbackfn, that);\n var length = lengthOfArrayLike(self);\n var index = 0;\n var create = specificCreate || arraySpeciesCreate;\n var target = IS_MAP ? create($this, length) : IS_FILTER || IS_FILTER_REJECT ? create($this, 0) : undefined;\n var value, result;\n for (;length > index; index++) if (NO_HOLES || index in self) {\n value = self[index];\n result = boundFunction(value, index, O);\n if (TYPE) {\n if (IS_MAP) target[index] = result; // map\n else if (result) switch (TYPE) {\n case 3: return true; // some\n case 5: return value; // find\n case 6: return index; // findIndex\n case 2: push(target, value); // filter\n } else switch (TYPE) {\n case 4: return false; // every\n case 7: push(target, value); // filterReject\n }\n }\n }\n return IS_FIND_INDEX ? -1 : IS_SOME || IS_EVERY ? IS_EVERY : target;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.forEach` method\n // https://tc39.es/ecma262/#sec-array.prototype.foreach\n forEach: createMethod(0),\n // `Array.prototype.map` method\n // https://tc39.es/ecma262/#sec-array.prototype.map\n map: createMethod(1),\n // `Array.prototype.filter` method\n // https://tc39.es/ecma262/#sec-array.prototype.filter\n filter: createMethod(2),\n // `Array.prototype.some` method\n // https://tc39.es/ecma262/#sec-array.prototype.some\n some: createMethod(3),\n // `Array.prototype.every` method\n // https://tc39.es/ecma262/#sec-array.prototype.every\n every: createMethod(4),\n // `Array.prototype.find` method\n // https://tc39.es/ecma262/#sec-array.prototype.find\n find: createMethod(5),\n // `Array.prototype.findIndex` method\n // https://tc39.es/ecma262/#sec-array.prototype.findIndex\n findIndex: createMethod(6),\n // `Array.prototype.filterReject` method\n // https://github.com/tc39/proposal-array-filtering\n filterReject: createMethod(7)\n};\n","var fails = require('../internals/fails');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar SPECIES = wellKnownSymbol('species');\n\nmodule.exports = function (METHOD_NAME) {\n // We can't use this feature detection in V8 since it causes\n // deoptimization and serious performance degradation\n // https://github.com/zloirock/core-js/issues/677\n return V8_VERSION >= 51 || !fails(function () {\n var array = [];\n var constructor = array.constructor = {};\n constructor[SPECIES] = function () {\n return { foo: 1 };\n };\n return array[METHOD_NAME](Boolean).foo !== 1;\n });\n};\n","'use strict';\nvar fails = require('../internals/fails');\n\nmodule.exports = function (METHOD_NAME, argument) {\n var method = [][METHOD_NAME];\n return !!method && fails(function () {\n // eslint-disable-next-line no-useless-call -- required for testing\n method.call(null, argument || function () { return 1; }, 1);\n });\n};\n","var aCallable = require('../internals/a-callable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\n\nvar $TypeError = TypeError;\n\n// `Array.prototype.{ reduce, reduceRight }` methods implementation\nvar createMethod = function (IS_RIGHT) {\n return function (that, callbackfn, argumentsLength, memo) {\n aCallable(callbackfn);\n var O = toObject(that);\n var self = IndexedObject(O);\n var length = lengthOfArrayLike(O);\n var index = IS_RIGHT ? length - 1 : 0;\n var i = IS_RIGHT ? -1 : 1;\n if (argumentsLength < 2) while (true) {\n if (index in self) {\n memo = self[index];\n index += i;\n break;\n }\n index += i;\n if (IS_RIGHT ? index < 0 : length <= index) {\n throw $TypeError('Reduce of empty array with no initial value');\n }\n }\n for (;IS_RIGHT ? index >= 0 : length > index; index += i) if (index in self) {\n memo = callbackfn(memo, self[index], index, O);\n }\n return memo;\n };\n};\n\nmodule.exports = {\n // `Array.prototype.reduce` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduce\n left: createMethod(false),\n // `Array.prototype.reduceRight` method\n // https://tc39.es/ecma262/#sec-array.prototype.reduceright\n right: createMethod(true)\n};\n","var toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar createProperty = require('../internals/create-property');\n\nvar $Array = Array;\nvar max = Math.max;\n\nmodule.exports = function (O, start, end) {\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n var result = $Array(max(fin - k, 0));\n for (var n = 0; k < fin; k++, n++) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis([].slice);\n","var isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\n\n// a part of `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray) {\n var C;\n if (isArray(originalArray)) {\n C = originalArray.constructor;\n // cross-realm fallback\n if (isConstructor(C) && (C === $Array || isArray(C.prototype))) C = undefined;\n else if (isObject(C)) {\n C = C[SPECIES];\n if (C === null) C = undefined;\n }\n } return C === undefined ? $Array : C;\n};\n","var arraySpeciesConstructor = require('../internals/array-species-constructor');\n\n// `ArraySpeciesCreate` abstract operation\n// https://tc39.es/ecma262/#sec-arrayspeciescreate\nmodule.exports = function (originalArray, length) {\n return new (arraySpeciesConstructor(originalArray))(length === 0 ? 0 : length);\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar toString = uncurryThis({}.toString);\nvar stringSlice = uncurryThis(''.slice);\n\nmodule.exports = function (it) {\n return stringSlice(toString(it), 8, -1);\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar isCallable = require('../internals/is-callable');\nvar classofRaw = require('../internals/classof-raw');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar $Object = Object;\n\n// ES3 wrong here\nvar CORRECT_ARGUMENTS = classofRaw(function () { return arguments; }()) == 'Arguments';\n\n// fallback for IE11 Script Access Denied error\nvar tryGet = function (it, key) {\n try {\n return it[key];\n } catch (error) { /* empty */ }\n};\n\n// getting tag from ES6+ `Object.prototype.toString`\nmodule.exports = TO_STRING_TAG_SUPPORT ? classofRaw : function (it) {\n var O, tag, result;\n return it === undefined ? 'Undefined' : it === null ? 'Null'\n // @@toStringTag case\n : typeof (tag = tryGet(O = $Object(it), TO_STRING_TAG)) == 'string' ? tag\n // builtinTag case\n : CORRECT_ARGUMENTS ? classofRaw(O)\n // ES3 arguments fallback\n : (result = classofRaw(O)) == 'Object' && isCallable(O.callee) ? 'Arguments' : result;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = DESCRIPTORS ? function (object, key, value) {\n return definePropertyModule.f(object, key, createPropertyDescriptor(1, value));\n} : function (object, key, value) {\n object[key] = value;\n return object;\n};\n","module.exports = function (bitmap, value) {\n return {\n enumerable: !(bitmap & 1),\n configurable: !(bitmap & 2),\n writable: !(bitmap & 4),\n value: value\n };\n};\n","'use strict';\nvar toPropertyKey = require('../internals/to-property-key');\nvar definePropertyModule = require('../internals/object-define-property');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\n\nmodule.exports = function (object, key, value) {\n var propertyKey = toPropertyKey(key);\n if (propertyKey in object) definePropertyModule.f(object, propertyKey, createPropertyDescriptor(0, value));\n else object[propertyKey] = value;\n};\n","var createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\n\nmodule.exports = function (target, key, value, options) {\n if (options && options.enumerable) target[key] = value;\n else createNonEnumerableProperty(target, key, value);\n return target;\n};\n","var global = require('../internals/global');\n\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\n\nmodule.exports = function (key, value) {\n try {\n defineProperty(global, key, { value: value, configurable: true, writable: true });\n } catch (error) {\n global[key] = value;\n } return value;\n};\n","var fails = require('../internals/fails');\n\n// Detect IE8's incomplete defineProperty implementation\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty({}, 1, { get: function () { return 7; } })[1] != 7;\n});\n","var documentAll = typeof document == 'object' && document.all;\n\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot\nvar IS_HTMLDDA = typeof documentAll == 'undefined' && documentAll !== undefined;\n\nmodule.exports = {\n all: documentAll,\n IS_HTMLDDA: IS_HTMLDDA\n};\n","var global = require('../internals/global');\nvar isObject = require('../internals/is-object');\n\nvar document = global.document;\n// typeof document.createElement is 'object' in old IE\nvar EXISTS = isObject(document) && isObject(document.createElement);\n\nmodule.exports = function (it) {\n return EXISTS ? document.createElement(it) : {};\n};\n","var $TypeError = TypeError;\nvar MAX_SAFE_INTEGER = 0x1FFFFFFFFFFFFF; // 2 ** 53 - 1 == 9007199254740991\n\nmodule.exports = function (it) {\n if (it > MAX_SAFE_INTEGER) throw $TypeError('Maximum allowed index exceeded');\n return it;\n};\n","var classof = require('../internals/classof-raw');\nvar global = require('../internals/global');\n\nmodule.exports = classof(global.process) == 'process';\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('navigator', 'userAgent') || '';\n","var global = require('../internals/global');\nvar userAgent = require('../internals/engine-user-agent');\n\nvar process = global.process;\nvar Deno = global.Deno;\nvar versions = process && process.versions || Deno && Deno.version;\nvar v8 = versions && versions.v8;\nvar match, version;\n\nif (v8) {\n match = v8.split('.');\n // in old Chrome, versions of V8 isn't V8 = Chrome / 10\n // but their correct versions are not interesting for us\n version = match[0] > 0 && match[0] < 4 ? 1 : +(match[0] + match[1]);\n}\n\n// BrowserFS NodeJS `process` polyfill incorrectly set `.v8` to `0.0`\n// so check `userAgent` even if `.v8` exists, but 0\nif (!version && userAgent) {\n match = userAgent.match(/Edge\\/(\\d+)/);\n if (!match || match[1] >= 74) {\n match = userAgent.match(/Chrome\\/(\\d+)/);\n if (match) version = +match[1];\n }\n}\n\nmodule.exports = version;\n","var path = require('../internals/path');\n\nmodule.exports = function (CONSTRUCTOR) {\n return path[CONSTRUCTOR + 'Prototype'];\n};\n","// IE8- don't enum bug keys\nmodule.exports = [\n 'constructor',\n 'hasOwnProperty',\n 'isPrototypeOf',\n 'propertyIsEnumerable',\n 'toLocaleString',\n 'toString',\n 'valueOf'\n];\n","'use strict';\nvar global = require('../internals/global');\nvar apply = require('../internals/function-apply');\nvar uncurryThis = require('../internals/function-uncurry-this-clause');\nvar isCallable = require('../internals/is-callable');\nvar getOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar isForced = require('../internals/is-forced');\nvar path = require('../internals/path');\nvar bind = require('../internals/function-bind-context');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\n\nvar wrapConstructor = function (NativeConstructor) {\n var Wrapper = function (a, b, c) {\n if (this instanceof Wrapper) {\n switch (arguments.length) {\n case 0: return new NativeConstructor();\n case 1: return new NativeConstructor(a);\n case 2: return new NativeConstructor(a, b);\n } return new NativeConstructor(a, b, c);\n } return apply(NativeConstructor, this, arguments);\n };\n Wrapper.prototype = NativeConstructor.prototype;\n return Wrapper;\n};\n\n/*\n options.target - name of the target object\n options.global - target is the global object\n options.stat - export as static methods of target\n options.proto - export as prototype methods of target\n options.real - real prototype method for the `pure` version\n options.forced - export even if the native feature is available\n options.bind - bind methods to the target, required for the `pure` version\n options.wrap - wrap constructors to preventing global pollution, required for the `pure` version\n options.unsafe - use the simple assignment of property instead of delete + defineProperty\n options.sham - add a flag to not completely full polyfills\n options.enumerable - export as enumerable property\n options.dontCallGetSet - prevent calling a getter on target\n options.name - the .name of the function if it does not match the key\n*/\nmodule.exports = function (options, source) {\n var TARGET = options.target;\n var GLOBAL = options.global;\n var STATIC = options.stat;\n var PROTO = options.proto;\n\n var nativeSource = GLOBAL ? global : STATIC ? global[TARGET] : (global[TARGET] || {}).prototype;\n\n var target = GLOBAL ? path : path[TARGET] || createNonEnumerableProperty(path, TARGET, {})[TARGET];\n var targetPrototype = target.prototype;\n\n var FORCED, USE_NATIVE, VIRTUAL_PROTOTYPE;\n var key, sourceProperty, targetProperty, nativeProperty, resultProperty, descriptor;\n\n for (key in source) {\n FORCED = isForced(GLOBAL ? key : TARGET + (STATIC ? '.' : '#') + key, options.forced);\n // contains in native\n USE_NATIVE = !FORCED && nativeSource && hasOwn(nativeSource, key);\n\n targetProperty = target[key];\n\n if (USE_NATIVE) if (options.dontCallGetSet) {\n descriptor = getOwnPropertyDescriptor(nativeSource, key);\n nativeProperty = descriptor && descriptor.value;\n } else nativeProperty = nativeSource[key];\n\n // export native or implementation\n sourceProperty = (USE_NATIVE && nativeProperty) ? nativeProperty : source[key];\n\n if (USE_NATIVE && typeof targetProperty == typeof sourceProperty) continue;\n\n // bind timers to global for call from export context\n if (options.bind && USE_NATIVE) resultProperty = bind(sourceProperty, global);\n // wrap global constructors for prevent changs in this version\n else if (options.wrap && USE_NATIVE) resultProperty = wrapConstructor(sourceProperty);\n // make static versions for prototype methods\n else if (PROTO && isCallable(sourceProperty)) resultProperty = uncurryThis(sourceProperty);\n // default case\n else resultProperty = sourceProperty;\n\n // add a flag to not completely full polyfills\n if (options.sham || (sourceProperty && sourceProperty.sham) || (targetProperty && targetProperty.sham)) {\n createNonEnumerableProperty(resultProperty, 'sham', true);\n }\n\n createNonEnumerableProperty(target, key, resultProperty);\n\n if (PROTO) {\n VIRTUAL_PROTOTYPE = TARGET + 'Prototype';\n if (!hasOwn(path, VIRTUAL_PROTOTYPE)) {\n createNonEnumerableProperty(path, VIRTUAL_PROTOTYPE, {});\n }\n // export virtual prototype methods\n createNonEnumerableProperty(path[VIRTUAL_PROTOTYPE], key, sourceProperty);\n // export real prototype methods\n if (options.real && targetPrototype && !targetPrototype[key]) {\n createNonEnumerableProperty(targetPrototype, key, sourceProperty);\n }\n }\n }\n};\n","module.exports = function (exec) {\n try {\n return !!exec();\n } catch (error) {\n return true;\n }\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar apply = FunctionPrototype.apply;\nvar call = FunctionPrototype.call;\n\n// eslint-disable-next-line es/no-reflect -- safe\nmodule.exports = typeof Reflect == 'object' && Reflect.apply || (NATIVE_BIND ? call.bind(apply) : function () {\n return call.apply(apply, arguments);\n});\n","var uncurryThis = require('../internals/function-uncurry-this-clause');\nvar aCallable = require('../internals/a-callable');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar bind = uncurryThis(uncurryThis.bind);\n\n// optional / simple context binding\nmodule.exports = function (fn, that) {\n aCallable(fn);\n return that === undefined ? fn : NATIVE_BIND ? bind(fn, that) : function (/* ...args */) {\n return fn.apply(that, arguments);\n };\n};\n","var fails = require('../internals/fails');\n\nmodule.exports = !fails(function () {\n // eslint-disable-next-line es/no-function-prototype-bind -- safe\n var test = (function () { /* empty */ }).bind();\n // eslint-disable-next-line no-prototype-builtins -- safe\n return typeof test != 'function' || test.hasOwnProperty('prototype');\n});\n","'use strict';\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar aCallable = require('../internals/a-callable');\nvar isObject = require('../internals/is-object');\nvar hasOwn = require('../internals/has-own-property');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_BIND = require('../internals/function-bind-native');\n\nvar $Function = Function;\nvar concat = uncurryThis([].concat);\nvar join = uncurryThis([].join);\nvar factories = {};\n\nvar construct = function (C, argsLength, args) {\n if (!hasOwn(factories, argsLength)) {\n for (var list = [], i = 0; i < argsLength; i++) list[i] = 'a[' + i + ']';\n factories[argsLength] = $Function('C,a', 'return new C(' + join(list, ',') + ')');\n } return factories[argsLength](C, args);\n};\n\n// `Function.prototype.bind` method implementation\n// https://tc39.es/ecma262/#sec-function.prototype.bind\nmodule.exports = NATIVE_BIND ? $Function.bind : function bind(that /* , ...args */) {\n var F = aCallable(this);\n var Prototype = F.prototype;\n var partArgs = arraySlice(arguments, 1);\n var boundFunction = function bound(/* args... */) {\n var args = concat(partArgs, arraySlice(arguments));\n return this instanceof boundFunction ? construct(F, args.length, args) : F.apply(that, args);\n };\n if (isObject(Prototype)) boundFunction.prototype = Prototype;\n return boundFunction;\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar call = Function.prototype.call;\n\nmodule.exports = NATIVE_BIND ? call.bind(call) : function () {\n return call.apply(call, arguments);\n};\n","var classofRaw = require('../internals/classof-raw');\nvar uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = function (fn) {\n // Nashorn bug:\n // https://github.com/zloirock/core-js/issues/1128\n // https://github.com/zloirock/core-js/issues/1130\n if (classofRaw(fn) === 'Function') return uncurryThis(fn);\n};\n","var NATIVE_BIND = require('../internals/function-bind-native');\n\nvar FunctionPrototype = Function.prototype;\nvar call = FunctionPrototype.call;\nvar uncurryThisWithBind = NATIVE_BIND && FunctionPrototype.bind.bind(call, call);\n\nmodule.exports = NATIVE_BIND ? uncurryThisWithBind : function (fn) {\n return function () {\n return call.apply(fn, arguments);\n };\n};\n","var path = require('../internals/path');\nvar global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar aFunction = function (variable) {\n return isCallable(variable) ? variable : undefined;\n};\n\nmodule.exports = function (namespace, method) {\n return arguments.length < 2 ? aFunction(path[namespace]) || aFunction(global[namespace])\n : path[namespace] && path[namespace][method] || global[namespace] && global[namespace][method];\n};\n","var aCallable = require('../internals/a-callable');\nvar isNullOrUndefined = require('../internals/is-null-or-undefined');\n\n// `GetMethod` abstract operation\n// https://tc39.es/ecma262/#sec-getmethod\nmodule.exports = function (V, P) {\n var func = V[P];\n return isNullOrUndefined(func) ? undefined : aCallable(func);\n};\n","var check = function (it) {\n return it && it.Math == Math && it;\n};\n\n// https://github.com/zloirock/core-js/issues/86#issuecomment-115759028\nmodule.exports =\n // eslint-disable-next-line es/no-global-this -- safe\n check(typeof globalThis == 'object' && globalThis) ||\n check(typeof window == 'object' && window) ||\n // eslint-disable-next-line no-restricted-globals -- safe\n check(typeof self == 'object' && self) ||\n check(typeof global == 'object' && global) ||\n // eslint-disable-next-line no-new-func -- fallback\n (function () { return this; })() || Function('return this')();\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar toObject = require('../internals/to-object');\n\nvar hasOwnProperty = uncurryThis({}.hasOwnProperty);\n\n// `HasOwnProperty` abstract operation\n// https://tc39.es/ecma262/#sec-hasownproperty\n// eslint-disable-next-line es/no-object-hasown -- safe\nmodule.exports = Object.hasOwn || function hasOwn(it, key) {\n return hasOwnProperty(toObject(it), key);\n};\n","module.exports = {};\n","var getBuiltIn = require('../internals/get-built-in');\n\nmodule.exports = getBuiltIn('document', 'documentElement');\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\nvar createElement = require('../internals/document-create-element');\n\n// Thanks to IE8 for its funny defineProperty\nmodule.exports = !DESCRIPTORS && !fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(createElement('div'), 'a', {\n get: function () { return 7; }\n }).a != 7;\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar classof = require('../internals/classof-raw');\n\nvar $Object = Object;\nvar split = uncurryThis(''.split);\n\n// fallback for non-array-like ES3 and non-enumerable old V8 strings\nmodule.exports = fails(function () {\n // throws an error in rhino, see https://github.com/mozilla/rhino/issues/346\n // eslint-disable-next-line no-prototype-builtins -- safe\n return !$Object('z').propertyIsEnumerable(0);\n}) ? function (it) {\n return classof(it) == 'String' ? split(it, '') : $Object(it);\n} : $Object;\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar isCallable = require('../internals/is-callable');\nvar store = require('../internals/shared-store');\n\nvar functionToString = uncurryThis(Function.toString);\n\n// this helper broken in `core-js@3.4.1-3.4.4`, so we can't use `shared` helper\nif (!isCallable(store.inspectSource)) {\n store.inspectSource = function (it) {\n return functionToString(it);\n };\n}\n\nmodule.exports = store.inspectSource;\n","var NATIVE_WEAK_MAP = require('../internals/weak-map-basic-detection');\nvar global = require('../internals/global');\nvar isObject = require('../internals/is-object');\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar shared = require('../internals/shared-store');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar OBJECT_ALREADY_INITIALIZED = 'Object already initialized';\nvar TypeError = global.TypeError;\nvar WeakMap = global.WeakMap;\nvar set, get, has;\n\nvar enforce = function (it) {\n return has(it) ? get(it) : set(it, {});\n};\n\nvar getterFor = function (TYPE) {\n return function (it) {\n var state;\n if (!isObject(it) || (state = get(it)).type !== TYPE) {\n throw TypeError('Incompatible receiver, ' + TYPE + ' required');\n } return state;\n };\n};\n\nif (NATIVE_WEAK_MAP || shared.state) {\n var store = shared.state || (shared.state = new WeakMap());\n /* eslint-disable no-self-assign -- prototype methods protection */\n store.get = store.get;\n store.has = store.has;\n store.set = store.set;\n /* eslint-enable no-self-assign -- prototype methods protection */\n set = function (it, metadata) {\n if (store.has(it)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n store.set(it, metadata);\n return metadata;\n };\n get = function (it) {\n return store.get(it) || {};\n };\n has = function (it) {\n return store.has(it);\n };\n} else {\n var STATE = sharedKey('state');\n hiddenKeys[STATE] = true;\n set = function (it, metadata) {\n if (hasOwn(it, STATE)) throw TypeError(OBJECT_ALREADY_INITIALIZED);\n metadata.facade = it;\n createNonEnumerableProperty(it, STATE, metadata);\n return metadata;\n };\n get = function (it) {\n return hasOwn(it, STATE) ? it[STATE] : {};\n };\n has = function (it) {\n return hasOwn(it, STATE);\n };\n}\n\nmodule.exports = {\n set: set,\n get: get,\n has: has,\n enforce: enforce,\n getterFor: getterFor\n};\n","var classof = require('../internals/classof-raw');\n\n// `IsArray` abstract operation\n// https://tc39.es/ecma262/#sec-isarray\n// eslint-disable-next-line es/no-array-isarray -- safe\nmodule.exports = Array.isArray || function isArray(argument) {\n return classof(argument) == 'Array';\n};\n","var $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\n// `IsCallable` abstract operation\n// https://tc39.es/ecma262/#sec-iscallable\nmodule.exports = $documentAll.IS_HTMLDDA ? function (argument) {\n return typeof argument == 'function' || argument === documentAll;\n} : function (argument) {\n return typeof argument == 'function';\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\nvar classof = require('../internals/classof');\nvar getBuiltIn = require('../internals/get-built-in');\nvar inspectSource = require('../internals/inspect-source');\n\nvar noop = function () { /* empty */ };\nvar empty = [];\nvar construct = getBuiltIn('Reflect', 'construct');\nvar constructorRegExp = /^\\s*(?:class|function)\\b/;\nvar exec = uncurryThis(constructorRegExp.exec);\nvar INCORRECT_TO_STRING = !constructorRegExp.exec(noop);\n\nvar isConstructorModern = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n try {\n construct(noop, empty, argument);\n return true;\n } catch (error) {\n return false;\n }\n};\n\nvar isConstructorLegacy = function isConstructor(argument) {\n if (!isCallable(argument)) return false;\n switch (classof(argument)) {\n case 'AsyncFunction':\n case 'GeneratorFunction':\n case 'AsyncGeneratorFunction': return false;\n }\n try {\n // we can't check .prototype since constructors produced by .bind haven't it\n // `Function#toString` throws on some built-it function in some legacy engines\n // (for example, `DOMQuad` and similar in FF41-)\n return INCORRECT_TO_STRING || !!exec(constructorRegExp, inspectSource(argument));\n } catch (error) {\n return true;\n }\n};\n\nisConstructorLegacy.sham = true;\n\n// `IsConstructor` abstract operation\n// https://tc39.es/ecma262/#sec-isconstructor\nmodule.exports = !construct || fails(function () {\n var called;\n return isConstructorModern(isConstructorModern.call)\n || !isConstructorModern(Object)\n || !isConstructorModern(function () { called = true; })\n || called;\n}) ? isConstructorLegacy : isConstructorModern;\n","var fails = require('../internals/fails');\nvar isCallable = require('../internals/is-callable');\n\nvar replacement = /#|\\.prototype\\./;\n\nvar isForced = function (feature, detection) {\n var value = data[normalize(feature)];\n return value == POLYFILL ? true\n : value == NATIVE ? false\n : isCallable(detection) ? fails(detection)\n : !!detection;\n};\n\nvar normalize = isForced.normalize = function (string) {\n return String(string).replace(replacement, '.').toLowerCase();\n};\n\nvar data = isForced.data = {};\nvar NATIVE = isForced.NATIVE = 'N';\nvar POLYFILL = isForced.POLYFILL = 'P';\n\nmodule.exports = isForced;\n","// we can't use just `it == null` since of `document.all` special case\n// https://tc39.es/ecma262/#sec-IsHTMLDDA-internal-slot-aec\nmodule.exports = function (it) {\n return it === null || it === undefined;\n};\n","var isCallable = require('../internals/is-callable');\nvar $documentAll = require('../internals/document-all');\n\nvar documentAll = $documentAll.all;\n\nmodule.exports = $documentAll.IS_HTMLDDA ? function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it) || it === documentAll;\n} : function (it) {\n return typeof it == 'object' ? it !== null : isCallable(it);\n};\n","module.exports = true;\n","var getBuiltIn = require('../internals/get-built-in');\nvar isCallable = require('../internals/is-callable');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar $Object = Object;\n\nmodule.exports = USE_SYMBOL_AS_UID ? function (it) {\n return typeof it == 'symbol';\n} : function (it) {\n var $Symbol = getBuiltIn('Symbol');\n return isCallable($Symbol) && isPrototypeOf($Symbol.prototype, $Object(it));\n};\n","var toLength = require('../internals/to-length');\n\n// `LengthOfArrayLike` abstract operation\n// https://tc39.es/ecma262/#sec-lengthofarraylike\nmodule.exports = function (obj) {\n return toLength(obj.length);\n};\n","var ceil = Math.ceil;\nvar floor = Math.floor;\n\n// `Math.trunc` method\n// https://tc39.es/ecma262/#sec-math.trunc\n// eslint-disable-next-line es/no-math-trunc -- safe\nmodule.exports = Math.trunc || function trunc(x) {\n var n = +x;\n return (n > 0 ? floor : ceil)(n);\n};\n","var global = require('../internals/global');\nvar fails = require('../internals/fails');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar toString = require('../internals/to-string');\nvar trim = require('../internals/string-trim').trim;\nvar whitespaces = require('../internals/whitespaces');\n\nvar charAt = uncurryThis(''.charAt);\nvar $parseFloat = global.parseFloat;\nvar Symbol = global.Symbol;\nvar ITERATOR = Symbol && Symbol.iterator;\nvar FORCED = 1 / $parseFloat(whitespaces + '-0') !== -Infinity\n // MS Edge 18- broken with boxed symbols\n || (ITERATOR && !fails(function () { $parseFloat(Object(ITERATOR)); }));\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\nmodule.exports = FORCED ? function parseFloat(string) {\n var trimmedString = trim(toString(string));\n var result = $parseFloat(trimmedString);\n return result === 0 && charAt(trimmedString, 0) == '-' ? -0 : result;\n} : $parseFloat;\n","'use strict';\nvar DESCRIPTORS = require('../internals/descriptors');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar call = require('../internals/function-call');\nvar fails = require('../internals/fails');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar toObject = require('../internals/to-object');\nvar IndexedObject = require('../internals/indexed-object');\n\n// eslint-disable-next-line es/no-object-assign -- safe\nvar $assign = Object.assign;\n// eslint-disable-next-line es/no-object-defineproperty -- required for testing\nvar defineProperty = Object.defineProperty;\nvar concat = uncurryThis([].concat);\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\nmodule.exports = !$assign || fails(function () {\n // should have correct order of operations (Edge bug)\n if (DESCRIPTORS && $assign({ b: 1 }, $assign(defineProperty({}, 'a', {\n enumerable: true,\n get: function () {\n defineProperty(this, 'b', {\n value: 3,\n enumerable: false\n });\n }\n }), { b: 2 })).b !== 1) return true;\n // should work with symbols and should have deterministic property order (V8 bug)\n var A = {};\n var B = {};\n // eslint-disable-next-line es/no-symbol -- safe\n var symbol = Symbol();\n var alphabet = 'abcdefghijklmnopqrst';\n A[symbol] = 7;\n alphabet.split('').forEach(function (chr) { B[chr] = chr; });\n return $assign({}, A)[symbol] != 7 || objectKeys($assign({}, B)).join('') != alphabet;\n}) ? function assign(target, source) { // eslint-disable-line no-unused-vars -- required for `.length`\n var T = toObject(target);\n var argumentsLength = arguments.length;\n var index = 1;\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n var propertyIsEnumerable = propertyIsEnumerableModule.f;\n while (argumentsLength > index) {\n var S = IndexedObject(arguments[index++]);\n var keys = getOwnPropertySymbols ? concat(objectKeys(S), getOwnPropertySymbols(S)) : objectKeys(S);\n var length = keys.length;\n var j = 0;\n var key;\n while (length > j) {\n key = keys[j++];\n if (!DESCRIPTORS || call(propertyIsEnumerable, S, key)) T[key] = S[key];\n }\n } return T;\n} : $assign;\n","/* global ActiveXObject -- old IE, WSH */\nvar anObject = require('../internals/an-object');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar enumBugKeys = require('../internals/enum-bug-keys');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar html = require('../internals/html');\nvar documentCreateElement = require('../internals/document-create-element');\nvar sharedKey = require('../internals/shared-key');\n\nvar GT = '>';\nvar LT = '<';\nvar PROTOTYPE = 'prototype';\nvar SCRIPT = 'script';\nvar IE_PROTO = sharedKey('IE_PROTO');\n\nvar EmptyConstructor = function () { /* empty */ };\n\nvar scriptTag = function (content) {\n return LT + SCRIPT + GT + content + LT + '/' + SCRIPT + GT;\n};\n\n// Create object with fake `null` prototype: use ActiveX Object with cleared prototype\nvar NullProtoObjectViaActiveX = function (activeXDocument) {\n activeXDocument.write(scriptTag(''));\n activeXDocument.close();\n var temp = activeXDocument.parentWindow.Object;\n activeXDocument = null; // avoid memory leak\n return temp;\n};\n\n// Create object with fake `null` prototype: use iframe Object with cleared prototype\nvar NullProtoObjectViaIFrame = function () {\n // Thrash, waste and sodomy: IE GC bug\n var iframe = documentCreateElement('iframe');\n var JS = 'java' + SCRIPT + ':';\n var iframeDocument;\n iframe.style.display = 'none';\n html.appendChild(iframe);\n // https://github.com/zloirock/core-js/issues/475\n iframe.src = String(JS);\n iframeDocument = iframe.contentWindow.document;\n iframeDocument.open();\n iframeDocument.write(scriptTag('document.F=Object'));\n iframeDocument.close();\n return iframeDocument.F;\n};\n\n// Check for document.domain and active x support\n// No need to use active x approach when document.domain is not set\n// see https://github.com/es-shims/es5-shim/issues/150\n// variation of https://github.com/kitcambridge/es5-shim/commit/4f738ac066346\n// avoid IE GC bug\nvar activeXDocument;\nvar NullProtoObject = function () {\n try {\n activeXDocument = new ActiveXObject('htmlfile');\n } catch (error) { /* ignore */ }\n NullProtoObject = typeof document != 'undefined'\n ? document.domain && activeXDocument\n ? NullProtoObjectViaActiveX(activeXDocument) // old IE\n : NullProtoObjectViaIFrame()\n : NullProtoObjectViaActiveX(activeXDocument); // WSH\n var length = enumBugKeys.length;\n while (length--) delete NullProtoObject[PROTOTYPE][enumBugKeys[length]];\n return NullProtoObject();\n};\n\nhiddenKeys[IE_PROTO] = true;\n\n// `Object.create` method\n// https://tc39.es/ecma262/#sec-object.create\n// eslint-disable-next-line es/no-object-create -- safe\nmodule.exports = Object.create || function create(O, Properties) {\n var result;\n if (O !== null) {\n EmptyConstructor[PROTOTYPE] = anObject(O);\n result = new EmptyConstructor();\n EmptyConstructor[PROTOTYPE] = null;\n // add \"__proto__\" for Object.getPrototypeOf polyfill\n result[IE_PROTO] = O;\n } else result = NullProtoObject();\n return Properties === undefined ? result : definePropertiesModule.f(result, Properties);\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar definePropertyModule = require('../internals/object-define-property');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar objectKeys = require('../internals/object-keys');\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\nexports.f = DESCRIPTORS && !V8_PROTOTYPE_DEFINE_BUG ? Object.defineProperties : function defineProperties(O, Properties) {\n anObject(O);\n var props = toIndexedObject(Properties);\n var keys = objectKeys(Properties);\n var length = keys.length;\n var index = 0;\n var key;\n while (length > index) definePropertyModule.f(O, key = keys[index++], props[key]);\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\nvar V8_PROTOTYPE_DEFINE_BUG = require('../internals/v8-prototype-define-bug');\nvar anObject = require('../internals/an-object');\nvar toPropertyKey = require('../internals/to-property-key');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar $defineProperty = Object.defineProperty;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\nvar ENUMERABLE = 'enumerable';\nvar CONFIGURABLE = 'configurable';\nvar WRITABLE = 'writable';\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\nexports.f = DESCRIPTORS ? V8_PROTOTYPE_DEFINE_BUG ? function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (typeof O === 'function' && P === 'prototype' && 'value' in Attributes && WRITABLE in Attributes && !Attributes[WRITABLE]) {\n var current = $getOwnPropertyDescriptor(O, P);\n if (current && current[WRITABLE]) {\n O[P] = Attributes.value;\n Attributes = {\n configurable: CONFIGURABLE in Attributes ? Attributes[CONFIGURABLE] : current[CONFIGURABLE],\n enumerable: ENUMERABLE in Attributes ? Attributes[ENUMERABLE] : current[ENUMERABLE],\n writable: false\n };\n }\n } return $defineProperty(O, P, Attributes);\n} : $defineProperty : function defineProperty(O, P, Attributes) {\n anObject(O);\n P = toPropertyKey(P);\n anObject(Attributes);\n if (IE8_DOM_DEFINE) try {\n return $defineProperty(O, P, Attributes);\n } catch (error) { /* empty */ }\n if ('get' in Attributes || 'set' in Attributes) throw $TypeError('Accessors not supported');\n if ('value' in Attributes) O[P] = Attributes.value;\n return O;\n};\n","var DESCRIPTORS = require('../internals/descriptors');\nvar call = require('../internals/function-call');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar hasOwn = require('../internals/has-own-property');\nvar IE8_DOM_DEFINE = require('../internals/ie8-dom-define');\n\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar $getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\nexports.f = DESCRIPTORS ? $getOwnPropertyDescriptor : function getOwnPropertyDescriptor(O, P) {\n O = toIndexedObject(O);\n P = toPropertyKey(P);\n if (IE8_DOM_DEFINE) try {\n return $getOwnPropertyDescriptor(O, P);\n } catch (error) { /* empty */ }\n if (hasOwn(O, P)) return createPropertyDescriptor(!call(propertyIsEnumerableModule.f, O, P), O[P]);\n};\n","/* eslint-disable es/no-object-getownpropertynames -- safe */\nvar classof = require('../internals/classof-raw');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar $getOwnPropertyNames = require('../internals/object-get-own-property-names').f;\nvar arraySlice = require('../internals/array-slice-simple');\n\nvar windowNames = typeof window == 'object' && window && Object.getOwnPropertyNames\n ? Object.getOwnPropertyNames(window) : [];\n\nvar getWindowNames = function (it) {\n try {\n return $getOwnPropertyNames(it);\n } catch (error) {\n return arraySlice(windowNames);\n }\n};\n\n// fallback for IE11 buggy Object.getOwnPropertyNames with iframe and window\nmodule.exports.f = function getOwnPropertyNames(it) {\n return windowNames && classof(it) == 'Window'\n ? getWindowNames(it)\n : $getOwnPropertyNames(toIndexedObject(it));\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\nvar hiddenKeys = enumBugKeys.concat('length', 'prototype');\n\n// `Object.getOwnPropertyNames` method\n// https://tc39.es/ecma262/#sec-object.getownpropertynames\n// eslint-disable-next-line es/no-object-getownpropertynames -- safe\nexports.f = Object.getOwnPropertyNames || function getOwnPropertyNames(O) {\n return internalObjectKeys(O, hiddenKeys);\n};\n","// eslint-disable-next-line es/no-object-getownpropertysymbols -- safe\nexports.f = Object.getOwnPropertySymbols;\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nmodule.exports = uncurryThis({}.isPrototypeOf);\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar hasOwn = require('../internals/has-own-property');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar indexOf = require('../internals/array-includes').indexOf;\nvar hiddenKeys = require('../internals/hidden-keys');\n\nvar push = uncurryThis([].push);\n\nmodule.exports = function (object, names) {\n var O = toIndexedObject(object);\n var i = 0;\n var result = [];\n var key;\n for (key in O) !hasOwn(hiddenKeys, key) && hasOwn(O, key) && push(result, key);\n // Don't enum bug & hidden keys\n while (names.length > i) if (hasOwn(O, key = names[i++])) {\n ~indexOf(result, key) || push(result, key);\n }\n return result;\n};\n","var internalObjectKeys = require('../internals/object-keys-internal');\nvar enumBugKeys = require('../internals/enum-bug-keys');\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n// eslint-disable-next-line es/no-object-keys -- safe\nmodule.exports = Object.keys || function keys(O) {\n return internalObjectKeys(O, enumBugKeys);\n};\n","'use strict';\nvar $propertyIsEnumerable = {}.propertyIsEnumerable;\n// eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\nvar getOwnPropertyDescriptor = Object.getOwnPropertyDescriptor;\n\n// Nashorn ~ JDK8 bug\nvar NASHORN_BUG = getOwnPropertyDescriptor && !$propertyIsEnumerable.call({ 1: 2 }, 1);\n\n// `Object.prototype.propertyIsEnumerable` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.propertyisenumerable\nexports.f = NASHORN_BUG ? function propertyIsEnumerable(V) {\n var descriptor = getOwnPropertyDescriptor(this, V);\n return !!descriptor && descriptor.enumerable;\n} : $propertyIsEnumerable;\n","'use strict';\nvar TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar classof = require('../internals/classof');\n\n// `Object.prototype.toString` method implementation\n// https://tc39.es/ecma262/#sec-object.prototype.tostring\nmodule.exports = TO_STRING_TAG_SUPPORT ? {}.toString : function toString() {\n return '[object ' + classof(this) + ']';\n};\n","var call = require('../internals/function-call');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\n\nvar $TypeError = TypeError;\n\n// `OrdinaryToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-ordinarytoprimitive\nmodule.exports = function (input, pref) {\n var fn, val;\n if (pref === 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n if (isCallable(fn = input.valueOf) && !isObject(val = call(fn, input))) return val;\n if (pref !== 'string' && isCallable(fn = input.toString) && !isObject(val = call(fn, input))) return val;\n throw $TypeError(\"Can't convert object to primitive value\");\n};\n","var getBuiltIn = require('../internals/get-built-in');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar anObject = require('../internals/an-object');\n\nvar concat = uncurryThis([].concat);\n\n// all object keys, includes non-enumerable and symbols\nmodule.exports = getBuiltIn('Reflect', 'ownKeys') || function ownKeys(it) {\n var keys = getOwnPropertyNamesModule.f(anObject(it));\n var getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return getOwnPropertySymbols ? concat(keys, getOwnPropertySymbols(it)) : keys;\n};\n","module.exports = {};\n","var isNullOrUndefined = require('../internals/is-null-or-undefined');\n\nvar $TypeError = TypeError;\n\n// `RequireObjectCoercible` abstract operation\n// https://tc39.es/ecma262/#sec-requireobjectcoercible\nmodule.exports = function (it) {\n if (isNullOrUndefined(it)) throw $TypeError(\"Can't call method on \" + it);\n return it;\n};\n","var TO_STRING_TAG_SUPPORT = require('../internals/to-string-tag-support');\nvar defineProperty = require('../internals/object-define-property').f;\nvar createNonEnumerableProperty = require('../internals/create-non-enumerable-property');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/object-to-string');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\n\nmodule.exports = function (it, TAG, STATIC, SET_METHOD) {\n if (it) {\n var target = STATIC ? it : it.prototype;\n if (!hasOwn(target, TO_STRING_TAG)) {\n defineProperty(target, TO_STRING_TAG, { configurable: true, value: TAG });\n }\n if (SET_METHOD && !TO_STRING_TAG_SUPPORT) {\n createNonEnumerableProperty(target, 'toString', toString);\n }\n }\n};\n","var shared = require('../internals/shared');\nvar uid = require('../internals/uid');\n\nvar keys = shared('keys');\n\nmodule.exports = function (key) {\n return keys[key] || (keys[key] = uid(key));\n};\n","var global = require('../internals/global');\nvar defineGlobalProperty = require('../internals/define-global-property');\n\nvar SHARED = '__core-js_shared__';\nvar store = global[SHARED] || defineGlobalProperty(SHARED, {});\n\nmodule.exports = store;\n","var IS_PURE = require('../internals/is-pure');\nvar store = require('../internals/shared-store');\n\n(module.exports = function (key, value) {\n return store[key] || (store[key] = value !== undefined ? value : {});\n})('versions', []).push({\n version: '3.26.1',\n mode: IS_PURE ? 'pure' : 'global',\n copyright: '© 2014-2022 Denis Pushkarev (zloirock.ru)',\n license: 'https://github.com/zloirock/core-js/blob/v3.26.1/LICENSE',\n source: 'https://github.com/zloirock/core-js'\n});\n","var uncurryThis = require('../internals/function-uncurry-this');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\nvar toString = require('../internals/to-string');\nvar whitespaces = require('../internals/whitespaces');\n\nvar replace = uncurryThis(''.replace);\nvar whitespace = '[' + whitespaces + ']';\nvar ltrim = RegExp('^' + whitespace + whitespace + '*');\nvar rtrim = RegExp(whitespace + whitespace + '*$');\n\n// `String.prototype.{ trim, trimStart, trimEnd, trimLeft, trimRight }` methods implementation\nvar createMethod = function (TYPE) {\n return function ($this) {\n var string = toString(requireObjectCoercible($this));\n if (TYPE & 1) string = replace(string, ltrim, '');\n if (TYPE & 2) string = replace(string, rtrim, '');\n return string;\n };\n};\n\nmodule.exports = {\n // `String.prototype.{ trimLeft, trimStart }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimstart\n start: createMethod(1),\n // `String.prototype.{ trimRight, trimEnd }` methods\n // https://tc39.es/ecma262/#sec-string.prototype.trimend\n end: createMethod(2),\n // `String.prototype.trim` method\n // https://tc39.es/ecma262/#sec-string.prototype.trim\n trim: createMethod(3)\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar V8_VERSION = require('../internals/engine-v8-version');\nvar fails = require('../internals/fails');\n\n// eslint-disable-next-line es/no-object-getownpropertysymbols -- required for testing\nmodule.exports = !!Object.getOwnPropertySymbols && !fails(function () {\n var symbol = Symbol();\n // Chrome 38 Symbol has incorrect toString conversion\n // `get-own-property-symbols` polyfill symbols converted to object are not Symbol instances\n return !String(symbol) || !(Object(symbol) instanceof Symbol) ||\n // Chrome 38-40 symbols are not inherited from DOM collections prototypes to instances\n !Symbol.sham && V8_VERSION && V8_VERSION < 41;\n});\n","var call = require('../internals/function-call');\nvar getBuiltIn = require('../internals/get-built-in');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar defineBuiltIn = require('../internals/define-built-in');\n\nmodule.exports = function () {\n var Symbol = getBuiltIn('Symbol');\n var SymbolPrototype = Symbol && Symbol.prototype;\n var valueOf = SymbolPrototype && SymbolPrototype.valueOf;\n var TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n if (SymbolPrototype && !SymbolPrototype[TO_PRIMITIVE]) {\n // `Symbol.prototype[@@toPrimitive]` method\n // https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\n // eslint-disable-next-line no-unused-vars -- required for .length\n defineBuiltIn(SymbolPrototype, TO_PRIMITIVE, function (hint) {\n return call(valueOf, this);\n }, { arity: 1 });\n }\n};\n","var NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\n/* eslint-disable es/no-symbol -- safe */\nmodule.exports = NATIVE_SYMBOL && !!Symbol['for'] && !!Symbol.keyFor;\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar max = Math.max;\nvar min = Math.min;\n\n// Helper for a popular repeating case of the spec:\n// Let integer be ? ToInteger(index).\n// If integer < 0, let result be max((length + integer), 0); else let result be min(integer, length).\nmodule.exports = function (index, length) {\n var integer = toIntegerOrInfinity(index);\n return integer < 0 ? max(integer + length, 0) : min(integer, length);\n};\n","// toObject with fallback for non-array-like ES3 strings\nvar IndexedObject = require('../internals/indexed-object');\nvar requireObjectCoercible = require('../internals/require-object-coercible');\n\nmodule.exports = function (it) {\n return IndexedObject(requireObjectCoercible(it));\n};\n","var trunc = require('../internals/math-trunc');\n\n// `ToIntegerOrInfinity` abstract operation\n// https://tc39.es/ecma262/#sec-tointegerorinfinity\nmodule.exports = function (argument) {\n var number = +argument;\n // eslint-disable-next-line no-self-compare -- NaN check\n return number !== number || number === 0 ? 0 : trunc(number);\n};\n","var toIntegerOrInfinity = require('../internals/to-integer-or-infinity');\n\nvar min = Math.min;\n\n// `ToLength` abstract operation\n// https://tc39.es/ecma262/#sec-tolength\nmodule.exports = function (argument) {\n return argument > 0 ? min(toIntegerOrInfinity(argument), 0x1FFFFFFFFFFFFF) : 0; // 2 ** 53 - 1 == 9007199254740991\n};\n","var requireObjectCoercible = require('../internals/require-object-coercible');\n\nvar $Object = Object;\n\n// `ToObject` abstract operation\n// https://tc39.es/ecma262/#sec-toobject\nmodule.exports = function (argument) {\n return $Object(requireObjectCoercible(argument));\n};\n","var call = require('../internals/function-call');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar getMethod = require('../internals/get-method');\nvar ordinaryToPrimitive = require('../internals/ordinary-to-primitive');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar $TypeError = TypeError;\nvar TO_PRIMITIVE = wellKnownSymbol('toPrimitive');\n\n// `ToPrimitive` abstract operation\n// https://tc39.es/ecma262/#sec-toprimitive\nmodule.exports = function (input, pref) {\n if (!isObject(input) || isSymbol(input)) return input;\n var exoticToPrim = getMethod(input, TO_PRIMITIVE);\n var result;\n if (exoticToPrim) {\n if (pref === undefined) pref = 'default';\n result = call(exoticToPrim, input, pref);\n if (!isObject(result) || isSymbol(result)) return result;\n throw $TypeError(\"Can't convert object to primitive value\");\n }\n if (pref === undefined) pref = 'number';\n return ordinaryToPrimitive(input, pref);\n};\n","var toPrimitive = require('../internals/to-primitive');\nvar isSymbol = require('../internals/is-symbol');\n\n// `ToPropertyKey` abstract operation\n// https://tc39.es/ecma262/#sec-topropertykey\nmodule.exports = function (argument) {\n var key = toPrimitive(argument, 'string');\n return isSymbol(key) ? key : key + '';\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nvar TO_STRING_TAG = wellKnownSymbol('toStringTag');\nvar test = {};\n\ntest[TO_STRING_TAG] = 'z';\n\nmodule.exports = String(test) === '[object z]';\n","var classof = require('../internals/classof');\n\nvar $String = String;\n\nmodule.exports = function (argument) {\n if (classof(argument) === 'Symbol') throw TypeError('Cannot convert a Symbol value to a string');\n return $String(argument);\n};\n","var $String = String;\n\nmodule.exports = function (argument) {\n try {\n return $String(argument);\n } catch (error) {\n return 'Object';\n }\n};\n","var uncurryThis = require('../internals/function-uncurry-this');\n\nvar id = 0;\nvar postfix = Math.random();\nvar toString = uncurryThis(1.0.toString);\n\nmodule.exports = function (key) {\n return 'Symbol(' + (key === undefined ? '' : key) + ')_' + toString(++id + postfix, 36);\n};\n","/* eslint-disable es/no-symbol -- required for testing */\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nmodule.exports = NATIVE_SYMBOL\n && !Symbol.sham\n && typeof Symbol.iterator == 'symbol';\n","var DESCRIPTORS = require('../internals/descriptors');\nvar fails = require('../internals/fails');\n\n// V8 ~ Chrome 36-\n// https://bugs.chromium.org/p/v8/issues/detail?id=3334\nmodule.exports = DESCRIPTORS && fails(function () {\n // eslint-disable-next-line es/no-object-defineproperty -- required for testing\n return Object.defineProperty(function () { /* empty */ }, 'prototype', {\n value: 42,\n writable: false\n }).prototype != 42;\n});\n","var global = require('../internals/global');\nvar isCallable = require('../internals/is-callable');\n\nvar WeakMap = global.WeakMap;\n\nmodule.exports = isCallable(WeakMap) && /native code/.test(String(WeakMap));\n","var path = require('../internals/path');\nvar hasOwn = require('../internals/has-own-property');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineProperty = require('../internals/object-define-property').f;\n\nmodule.exports = function (NAME) {\n var Symbol = path.Symbol || (path.Symbol = {});\n if (!hasOwn(Symbol, NAME)) defineProperty(Symbol, NAME, {\n value: wrappedWellKnownSymbolModule.f(NAME)\n });\n};\n","var wellKnownSymbol = require('../internals/well-known-symbol');\n\nexports.f = wellKnownSymbol;\n","var global = require('../internals/global');\nvar shared = require('../internals/shared');\nvar hasOwn = require('../internals/has-own-property');\nvar uid = require('../internals/uid');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar USE_SYMBOL_AS_UID = require('../internals/use-symbol-as-uid');\n\nvar WellKnownSymbolsStore = shared('wks');\nvar Symbol = global.Symbol;\nvar symbolFor = Symbol && Symbol['for'];\nvar createWellKnownSymbol = USE_SYMBOL_AS_UID ? Symbol : Symbol && Symbol.withoutSetter || uid;\n\nmodule.exports = function (name) {\n if (!hasOwn(WellKnownSymbolsStore, name) || !(NATIVE_SYMBOL || typeof WellKnownSymbolsStore[name] == 'string')) {\n var description = 'Symbol.' + name;\n if (NATIVE_SYMBOL && hasOwn(Symbol, name)) {\n WellKnownSymbolsStore[name] = Symbol[name];\n } else if (USE_SYMBOL_AS_UID && symbolFor) {\n WellKnownSymbolsStore[name] = symbolFor(description);\n } else {\n WellKnownSymbolsStore[name] = createWellKnownSymbol(description);\n }\n } return WellKnownSymbolsStore[name];\n};\n","// a string of all valid unicode whitespaces\nmodule.exports = '\\u0009\\u000A\\u000B\\u000C\\u000D\\u0020\\u00A0\\u1680\\u2000\\u2001\\u2002' +\n '\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200A\\u202F\\u205F\\u3000\\u2028\\u2029\\uFEFF';\n","'use strict';\nvar $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isObject = require('../internals/is-object');\nvar toObject = require('../internals/to-object');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar doesNotExceedSafeInteger = require('../internals/does-not-exceed-safe-integer');\nvar createProperty = require('../internals/create-property');\nvar arraySpeciesCreate = require('../internals/array-species-create');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar V8_VERSION = require('../internals/engine-v8-version');\n\nvar IS_CONCAT_SPREADABLE = wellKnownSymbol('isConcatSpreadable');\n\n// We can't use this feature detection in V8 since it causes\n// deoptimization and serious performance degradation\n// https://github.com/zloirock/core-js/issues/679\nvar IS_CONCAT_SPREADABLE_SUPPORT = V8_VERSION >= 51 || !fails(function () {\n var array = [];\n array[IS_CONCAT_SPREADABLE] = false;\n return array.concat()[0] !== array;\n});\n\nvar SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('concat');\n\nvar isConcatSpreadable = function (O) {\n if (!isObject(O)) return false;\n var spreadable = O[IS_CONCAT_SPREADABLE];\n return spreadable !== undefined ? !!spreadable : isArray(O);\n};\n\nvar FORCED = !IS_CONCAT_SPREADABLE_SUPPORT || !SPECIES_SUPPORT;\n\n// `Array.prototype.concat` method\n// https://tc39.es/ecma262/#sec-array.prototype.concat\n// with adding support of @@isConcatSpreadable and @@species\n$({ target: 'Array', proto: true, arity: 1, forced: FORCED }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n concat: function concat(arg) {\n var O = toObject(this);\n var A = arraySpeciesCreate(O, 0);\n var n = 0;\n var i, k, length, len, E;\n for (i = -1, length = arguments.length; i < length; i++) {\n E = i === -1 ? O : arguments[i];\n if (isConcatSpreadable(E)) {\n len = lengthOfArrayLike(E);\n doesNotExceedSafeInteger(n + len);\n for (k = 0; k < len; k++, n++) if (k in E) createProperty(A, n, E[k]);\n } else {\n doesNotExceedSafeInteger(n + 1);\n createProperty(A, n++, E);\n }\n }\n A.length = n;\n return A;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $filter = require('../internals/array-iteration').filter;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('filter');\n\n// `Array.prototype.filter` method\n// https://tc39.es/ecma262/#sec-array.prototype.filter\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n filter: function filter(callbackfn /* , thisArg */) {\n return $filter(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $map = require('../internals/array-iteration').map;\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('map');\n\n// `Array.prototype.map` method\n// https://tc39.es/ecma262/#sec-array.prototype.map\n// with adding support of @@species\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n map: function map(callbackfn /* , thisArg */) {\n return $map(this, callbackfn, arguments.length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar $reduce = require('../internals/array-reduce').left;\nvar arrayMethodIsStrict = require('../internals/array-method-is-strict');\nvar CHROME_VERSION = require('../internals/engine-v8-version');\nvar IS_NODE = require('../internals/engine-is-node');\n\nvar STRICT_METHOD = arrayMethodIsStrict('reduce');\n// Chrome 80-82 has a critical bug\n// https://bugs.chromium.org/p/chromium/issues/detail?id=1049982\nvar CHROME_BUG = !IS_NODE && CHROME_VERSION > 79 && CHROME_VERSION < 83;\n\n// `Array.prototype.reduce` method\n// https://tc39.es/ecma262/#sec-array.prototype.reduce\n$({ target: 'Array', proto: true, forced: !STRICT_METHOD || CHROME_BUG }, {\n reduce: function reduce(callbackfn /* , initialValue */) {\n var length = arguments.length;\n return $reduce(this, callbackfn, length, length > 1 ? arguments[1] : undefined);\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar isArray = require('../internals/is-array');\nvar isConstructor = require('../internals/is-constructor');\nvar isObject = require('../internals/is-object');\nvar toAbsoluteIndex = require('../internals/to-absolute-index');\nvar lengthOfArrayLike = require('../internals/length-of-array-like');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar createProperty = require('../internals/create-property');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar arrayMethodHasSpeciesSupport = require('../internals/array-method-has-species-support');\nvar nativeSlice = require('../internals/array-slice');\n\nvar HAS_SPECIES_SUPPORT = arrayMethodHasSpeciesSupport('slice');\n\nvar SPECIES = wellKnownSymbol('species');\nvar $Array = Array;\nvar max = Math.max;\n\n// `Array.prototype.slice` method\n// https://tc39.es/ecma262/#sec-array.prototype.slice\n// fallback for not array-like ES3 strings and DOM objects\n$({ target: 'Array', proto: true, forced: !HAS_SPECIES_SUPPORT }, {\n slice: function slice(start, end) {\n var O = toIndexedObject(this);\n var length = lengthOfArrayLike(O);\n var k = toAbsoluteIndex(start, length);\n var fin = toAbsoluteIndex(end === undefined ? length : end, length);\n // inline `ArraySpeciesCreate` for usage native `Array#slice` where it's possible\n var Constructor, result, n;\n if (isArray(O)) {\n Constructor = O.constructor;\n // cross-realm fallback\n if (isConstructor(Constructor) && (Constructor === $Array || isArray(Constructor.prototype))) {\n Constructor = undefined;\n } else if (isObject(Constructor)) {\n Constructor = Constructor[SPECIES];\n if (Constructor === null) Constructor = undefined;\n }\n if (Constructor === $Array || Constructor === undefined) {\n return nativeSlice(O, k, fin);\n }\n }\n result = new (Constructor === undefined ? $Array : Constructor)(max(fin - k, 0));\n for (n = 0; k < fin; k++, n++) if (k in O) createProperty(result, n, O[k]);\n result.length = n;\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar fails = require('../internals/fails');\nvar isArray = require('../internals/is-array');\nvar isCallable = require('../internals/is-callable');\nvar isObject = require('../internals/is-object');\nvar isSymbol = require('../internals/is-symbol');\nvar arraySlice = require('../internals/array-slice');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\n\nvar $stringify = getBuiltIn('JSON', 'stringify');\nvar exec = uncurryThis(/./.exec);\nvar charAt = uncurryThis(''.charAt);\nvar charCodeAt = uncurryThis(''.charCodeAt);\nvar replace = uncurryThis(''.replace);\nvar numberToString = uncurryThis(1.0.toString);\n\nvar tester = /[\\uD800-\\uDFFF]/g;\nvar low = /^[\\uD800-\\uDBFF]$/;\nvar hi = /^[\\uDC00-\\uDFFF]$/;\n\nvar WRONG_SYMBOLS_CONVERSION = !NATIVE_SYMBOL || fails(function () {\n var symbol = getBuiltIn('Symbol')();\n // MS Edge converts symbol values to JSON as {}\n return $stringify([symbol]) != '[null]'\n // WebKit converts symbol values to JSON as null\n || $stringify({ a: symbol }) != '{}'\n // V8 throws on boxed symbols\n || $stringify(Object(symbol)) != '{}';\n});\n\n// https://github.com/tc39/proposal-well-formed-stringify\nvar ILL_FORMED_UNICODE = fails(function () {\n return $stringify('\\uDF06\\uD834') !== '\"\\\\udf06\\\\ud834\"'\n || $stringify('\\uDEAD') !== '\"\\\\udead\"';\n});\n\nvar stringifyWithSymbolsFix = function (it, replacer) {\n var args = arraySlice(arguments);\n var $replacer = replacer;\n if (!isObject(replacer) && it === undefined || isSymbol(it)) return; // IE8 returns string on undefined\n if (!isArray(replacer)) replacer = function (key, value) {\n if (isCallable($replacer)) value = call($replacer, this, key, value);\n if (!isSymbol(value)) return value;\n };\n args[1] = replacer;\n return apply($stringify, null, args);\n};\n\nvar fixIllFormed = function (match, offset, string) {\n var prev = charAt(string, offset - 1);\n var next = charAt(string, offset + 1);\n if ((exec(low, match) && !exec(hi, next)) || (exec(hi, match) && !exec(low, prev))) {\n return '\\\\u' + numberToString(charCodeAt(match, 0), 16);\n } return match;\n};\n\nif ($stringify) {\n // `JSON.stringify` method\n // https://tc39.es/ecma262/#sec-json.stringify\n $({ target: 'JSON', stat: true, arity: 3, forced: WRONG_SYMBOLS_CONVERSION || ILL_FORMED_UNICODE }, {\n // eslint-disable-next-line no-unused-vars -- required for `.length`\n stringify: function stringify(it, replacer, space) {\n var args = arraySlice(arguments);\n var result = apply(WRONG_SYMBOLS_CONVERSION ? stringifyWithSymbolsFix : $stringify, null, args);\n return ILL_FORMED_UNICODE && typeof result == 'string' ? replace(result, tester, fixIllFormed) : result;\n }\n });\n}\n","var $ = require('../internals/export');\nvar assign = require('../internals/object-assign');\n\n// `Object.assign` method\n// https://tc39.es/ecma262/#sec-object.assign\n// eslint-disable-next-line es/no-object-assign -- required for testing\n$({ target: 'Object', stat: true, arity: 2, forced: Object.assign !== assign }, {\n assign: assign\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperties = require('../internals/object-define-properties').f;\n\n// `Object.defineProperties` method\n// https://tc39.es/ecma262/#sec-object.defineproperties\n// eslint-disable-next-line es/no-object-defineproperties -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperties !== defineProperties, sham: !DESCRIPTORS }, {\n defineProperties: defineProperties\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar defineProperty = require('../internals/object-define-property').f;\n\n// `Object.defineProperty` method\n// https://tc39.es/ecma262/#sec-object.defineproperty\n// eslint-disable-next-line es/no-object-defineproperty -- safe\n$({ target: 'Object', stat: true, forced: Object.defineProperty !== defineProperty, sham: !DESCRIPTORS }, {\n defineProperty: defineProperty\n});\n","var $ = require('../internals/export');\nvar fails = require('../internals/fails');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar nativeGetOwnPropertyDescriptor = require('../internals/object-get-own-property-descriptor').f;\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeGetOwnPropertyDescriptor(1); });\nvar FORCED = !DESCRIPTORS || FAILS_ON_PRIMITIVES;\n\n// `Object.getOwnPropertyDescriptor` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptor\n$({ target: 'Object', stat: true, forced: FORCED, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptor: function getOwnPropertyDescriptor(it, key) {\n return nativeGetOwnPropertyDescriptor(toIndexedObject(it), key);\n }\n});\n","var $ = require('../internals/export');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar ownKeys = require('../internals/own-keys');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar createProperty = require('../internals/create-property');\n\n// `Object.getOwnPropertyDescriptors` method\n// https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n$({ target: 'Object', stat: true, sham: !DESCRIPTORS }, {\n getOwnPropertyDescriptors: function getOwnPropertyDescriptors(object) {\n var O = toIndexedObject(object);\n var getOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\n var keys = ownKeys(O);\n var result = {};\n var index = 0;\n var key, descriptor;\n while (keys.length > index) {\n descriptor = getOwnPropertyDescriptor(O, key = keys[index++]);\n if (descriptor !== undefined) createProperty(result, key, descriptor);\n }\n return result;\n }\n});\n","var $ = require('../internals/export');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar toObject = require('../internals/to-object');\n\n// V8 ~ Chrome 38 and 39 `Object.getOwnPropertySymbols` fails on primitives\n// https://bugs.chromium.org/p/v8/issues/detail?id=3443\nvar FORCED = !NATIVE_SYMBOL || fails(function () { getOwnPropertySymbolsModule.f(1); });\n\n// `Object.getOwnPropertySymbols` method\n// https://tc39.es/ecma262/#sec-object.getownpropertysymbols\n$({ target: 'Object', stat: true, forced: FORCED }, {\n getOwnPropertySymbols: function getOwnPropertySymbols(it) {\n var $getOwnPropertySymbols = getOwnPropertySymbolsModule.f;\n return $getOwnPropertySymbols ? $getOwnPropertySymbols(toObject(it)) : [];\n }\n});\n","var $ = require('../internals/export');\nvar toObject = require('../internals/to-object');\nvar nativeKeys = require('../internals/object-keys');\nvar fails = require('../internals/fails');\n\nvar FAILS_ON_PRIMITIVES = fails(function () { nativeKeys(1); });\n\n// `Object.keys` method\n// https://tc39.es/ecma262/#sec-object.keys\n$({ target: 'Object', stat: true, forced: FAILS_ON_PRIMITIVES }, {\n keys: function keys(it) {\n return nativeKeys(toObject(it));\n }\n});\n","var $ = require('../internals/export');\nvar $parseFloat = require('../internals/number-parse-float');\n\n// `parseFloat` method\n// https://tc39.es/ecma262/#sec-parsefloat-string\n$({ global: true, forced: parseFloat != $parseFloat }, {\n parseFloat: $parseFloat\n});\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar apply = require('../internals/function-apply');\nvar bind = require('../internals/function-bind');\nvar aConstructor = require('../internals/a-constructor');\nvar anObject = require('../internals/an-object');\nvar isObject = require('../internals/is-object');\nvar create = require('../internals/object-create');\nvar fails = require('../internals/fails');\n\nvar nativeConstruct = getBuiltIn('Reflect', 'construct');\nvar ObjectPrototype = Object.prototype;\nvar push = [].push;\n\n// `Reflect.construct` method\n// https://tc39.es/ecma262/#sec-reflect.construct\n// MS Edge supports only 2 arguments and argumentsList argument is optional\n// FF Nightly sets third argument as `new.target`, but does not create `this` from it\nvar NEW_TARGET_BUG = fails(function () {\n function F() { /* empty */ }\n return !(nativeConstruct(function () { /* empty */ }, [], F) instanceof F);\n});\n\nvar ARGS_BUG = !fails(function () {\n nativeConstruct(function () { /* empty */ });\n});\n\nvar FORCED = NEW_TARGET_BUG || ARGS_BUG;\n\n$({ target: 'Reflect', stat: true, forced: FORCED, sham: FORCED }, {\n construct: function construct(Target, args /* , newTarget */) {\n aConstructor(Target);\n anObject(args);\n var newTarget = arguments.length < 3 ? Target : aConstructor(arguments[2]);\n if (ARGS_BUG && !NEW_TARGET_BUG) return nativeConstruct(Target, args, newTarget);\n if (Target == newTarget) {\n // w/o altered newTarget, optimization for 0-4 arguments\n switch (args.length) {\n case 0: return new Target();\n case 1: return new Target(args[0]);\n case 2: return new Target(args[0], args[1]);\n case 3: return new Target(args[0], args[1], args[2]);\n case 4: return new Target(args[0], args[1], args[2], args[3]);\n }\n // w/o altered newTarget, lot of arguments case\n var $args = [null];\n apply(push, $args, args);\n return new (apply(bind, Target, $args))();\n }\n // with altered newTarget, not support built-in constructors\n var proto = newTarget.prototype;\n var instance = create(isObject(proto) ? proto : ObjectPrototype);\n var result = apply(Target, instance, args);\n return isObject(result) ? result : instance;\n }\n});\n","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar call = require('../internals/function-call');\nvar uncurryThis = require('../internals/function-uncurry-this');\nvar IS_PURE = require('../internals/is-pure');\nvar DESCRIPTORS = require('../internals/descriptors');\nvar NATIVE_SYMBOL = require('../internals/symbol-constructor-detection');\nvar fails = require('../internals/fails');\nvar hasOwn = require('../internals/has-own-property');\nvar isPrototypeOf = require('../internals/object-is-prototype-of');\nvar anObject = require('../internals/an-object');\nvar toIndexedObject = require('../internals/to-indexed-object');\nvar toPropertyKey = require('../internals/to-property-key');\nvar $toString = require('../internals/to-string');\nvar createPropertyDescriptor = require('../internals/create-property-descriptor');\nvar nativeObjectCreate = require('../internals/object-create');\nvar objectKeys = require('../internals/object-keys');\nvar getOwnPropertyNamesModule = require('../internals/object-get-own-property-names');\nvar getOwnPropertyNamesExternal = require('../internals/object-get-own-property-names-external');\nvar getOwnPropertySymbolsModule = require('../internals/object-get-own-property-symbols');\nvar getOwnPropertyDescriptorModule = require('../internals/object-get-own-property-descriptor');\nvar definePropertyModule = require('../internals/object-define-property');\nvar definePropertiesModule = require('../internals/object-define-properties');\nvar propertyIsEnumerableModule = require('../internals/object-property-is-enumerable');\nvar defineBuiltIn = require('../internals/define-built-in');\nvar shared = require('../internals/shared');\nvar sharedKey = require('../internals/shared-key');\nvar hiddenKeys = require('../internals/hidden-keys');\nvar uid = require('../internals/uid');\nvar wellKnownSymbol = require('../internals/well-known-symbol');\nvar wrappedWellKnownSymbolModule = require('../internals/well-known-symbol-wrapped');\nvar defineWellKnownSymbol = require('../internals/well-known-symbol-define');\nvar defineSymbolToPrimitive = require('../internals/symbol-define-to-primitive');\nvar setToStringTag = require('../internals/set-to-string-tag');\nvar InternalStateModule = require('../internals/internal-state');\nvar $forEach = require('../internals/array-iteration').forEach;\n\nvar HIDDEN = sharedKey('hidden');\nvar SYMBOL = 'Symbol';\nvar PROTOTYPE = 'prototype';\n\nvar setInternalState = InternalStateModule.set;\nvar getInternalState = InternalStateModule.getterFor(SYMBOL);\n\nvar ObjectPrototype = Object[PROTOTYPE];\nvar $Symbol = global.Symbol;\nvar SymbolPrototype = $Symbol && $Symbol[PROTOTYPE];\nvar TypeError = global.TypeError;\nvar QObject = global.QObject;\nvar nativeGetOwnPropertyDescriptor = getOwnPropertyDescriptorModule.f;\nvar nativeDefineProperty = definePropertyModule.f;\nvar nativeGetOwnPropertyNames = getOwnPropertyNamesExternal.f;\nvar nativePropertyIsEnumerable = propertyIsEnumerableModule.f;\nvar push = uncurryThis([].push);\n\nvar AllSymbols = shared('symbols');\nvar ObjectPrototypeSymbols = shared('op-symbols');\nvar WellKnownSymbolsStore = shared('wks');\n\n// Don't use setters in Qt Script, https://github.com/zloirock/core-js/issues/173\nvar USE_SETTER = !QObject || !QObject[PROTOTYPE] || !QObject[PROTOTYPE].findChild;\n\n// fallback for old Android, https://code.google.com/p/v8/issues/detail?id=687\nvar setSymbolDescriptor = DESCRIPTORS && fails(function () {\n return nativeObjectCreate(nativeDefineProperty({}, 'a', {\n get: function () { return nativeDefineProperty(this, 'a', { value: 7 }).a; }\n })).a != 7;\n}) ? function (O, P, Attributes) {\n var ObjectPrototypeDescriptor = nativeGetOwnPropertyDescriptor(ObjectPrototype, P);\n if (ObjectPrototypeDescriptor) delete ObjectPrototype[P];\n nativeDefineProperty(O, P, Attributes);\n if (ObjectPrototypeDescriptor && O !== ObjectPrototype) {\n nativeDefineProperty(ObjectPrototype, P, ObjectPrototypeDescriptor);\n }\n} : nativeDefineProperty;\n\nvar wrap = function (tag, description) {\n var symbol = AllSymbols[tag] = nativeObjectCreate(SymbolPrototype);\n setInternalState(symbol, {\n type: SYMBOL,\n tag: tag,\n description: description\n });\n if (!DESCRIPTORS) symbol.description = description;\n return symbol;\n};\n\nvar $defineProperty = function defineProperty(O, P, Attributes) {\n if (O === ObjectPrototype) $defineProperty(ObjectPrototypeSymbols, P, Attributes);\n anObject(O);\n var key = toPropertyKey(P);\n anObject(Attributes);\n if (hasOwn(AllSymbols, key)) {\n if (!Attributes.enumerable) {\n if (!hasOwn(O, HIDDEN)) nativeDefineProperty(O, HIDDEN, createPropertyDescriptor(1, {}));\n O[HIDDEN][key] = true;\n } else {\n if (hasOwn(O, HIDDEN) && O[HIDDEN][key]) O[HIDDEN][key] = false;\n Attributes = nativeObjectCreate(Attributes, { enumerable: createPropertyDescriptor(0, false) });\n } return setSymbolDescriptor(O, key, Attributes);\n } return nativeDefineProperty(O, key, Attributes);\n};\n\nvar $defineProperties = function defineProperties(O, Properties) {\n anObject(O);\n var properties = toIndexedObject(Properties);\n var keys = objectKeys(properties).concat($getOwnPropertySymbols(properties));\n $forEach(keys, function (key) {\n if (!DESCRIPTORS || call($propertyIsEnumerable, properties, key)) $defineProperty(O, key, properties[key]);\n });\n return O;\n};\n\nvar $create = function create(O, Properties) {\n return Properties === undefined ? nativeObjectCreate(O) : $defineProperties(nativeObjectCreate(O), Properties);\n};\n\nvar $propertyIsEnumerable = function propertyIsEnumerable(V) {\n var P = toPropertyKey(V);\n var enumerable = call(nativePropertyIsEnumerable, this, P);\n if (this === ObjectPrototype && hasOwn(AllSymbols, P) && !hasOwn(ObjectPrototypeSymbols, P)) return false;\n return enumerable || !hasOwn(this, P) || !hasOwn(AllSymbols, P) || hasOwn(this, HIDDEN) && this[HIDDEN][P]\n ? enumerable : true;\n};\n\nvar $getOwnPropertyDescriptor = function getOwnPropertyDescriptor(O, P) {\n var it = toIndexedObject(O);\n var key = toPropertyKey(P);\n if (it === ObjectPrototype && hasOwn(AllSymbols, key) && !hasOwn(ObjectPrototypeSymbols, key)) return;\n var descriptor = nativeGetOwnPropertyDescriptor(it, key);\n if (descriptor && hasOwn(AllSymbols, key) && !(hasOwn(it, HIDDEN) && it[HIDDEN][key])) {\n descriptor.enumerable = true;\n }\n return descriptor;\n};\n\nvar $getOwnPropertyNames = function getOwnPropertyNames(O) {\n var names = nativeGetOwnPropertyNames(toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (!hasOwn(AllSymbols, key) && !hasOwn(hiddenKeys, key)) push(result, key);\n });\n return result;\n};\n\nvar $getOwnPropertySymbols = function (O) {\n var IS_OBJECT_PROTOTYPE = O === ObjectPrototype;\n var names = nativeGetOwnPropertyNames(IS_OBJECT_PROTOTYPE ? ObjectPrototypeSymbols : toIndexedObject(O));\n var result = [];\n $forEach(names, function (key) {\n if (hasOwn(AllSymbols, key) && (!IS_OBJECT_PROTOTYPE || hasOwn(ObjectPrototype, key))) {\n push(result, AllSymbols[key]);\n }\n });\n return result;\n};\n\n// `Symbol` constructor\n// https://tc39.es/ecma262/#sec-symbol-constructor\nif (!NATIVE_SYMBOL) {\n $Symbol = function Symbol() {\n if (isPrototypeOf(SymbolPrototype, this)) throw TypeError('Symbol is not a constructor');\n var description = !arguments.length || arguments[0] === undefined ? undefined : $toString(arguments[0]);\n var tag = uid(description);\n var setter = function (value) {\n if (this === ObjectPrototype) call(setter, ObjectPrototypeSymbols, value);\n if (hasOwn(this, HIDDEN) && hasOwn(this[HIDDEN], tag)) this[HIDDEN][tag] = false;\n setSymbolDescriptor(this, tag, createPropertyDescriptor(1, value));\n };\n if (DESCRIPTORS && USE_SETTER) setSymbolDescriptor(ObjectPrototype, tag, { configurable: true, set: setter });\n return wrap(tag, description);\n };\n\n SymbolPrototype = $Symbol[PROTOTYPE];\n\n defineBuiltIn(SymbolPrototype, 'toString', function toString() {\n return getInternalState(this).tag;\n });\n\n defineBuiltIn($Symbol, 'withoutSetter', function (description) {\n return wrap(uid(description), description);\n });\n\n propertyIsEnumerableModule.f = $propertyIsEnumerable;\n definePropertyModule.f = $defineProperty;\n definePropertiesModule.f = $defineProperties;\n getOwnPropertyDescriptorModule.f = $getOwnPropertyDescriptor;\n getOwnPropertyNamesModule.f = getOwnPropertyNamesExternal.f = $getOwnPropertyNames;\n getOwnPropertySymbolsModule.f = $getOwnPropertySymbols;\n\n wrappedWellKnownSymbolModule.f = function (name) {\n return wrap(wellKnownSymbol(name), name);\n };\n\n if (DESCRIPTORS) {\n // https://github.com/tc39/proposal-Symbol-description\n nativeDefineProperty(SymbolPrototype, 'description', {\n configurable: true,\n get: function description() {\n return getInternalState(this).description;\n }\n });\n if (!IS_PURE) {\n defineBuiltIn(ObjectPrototype, 'propertyIsEnumerable', $propertyIsEnumerable, { unsafe: true });\n }\n }\n}\n\n$({ global: true, constructor: true, wrap: true, forced: !NATIVE_SYMBOL, sham: !NATIVE_SYMBOL }, {\n Symbol: $Symbol\n});\n\n$forEach(objectKeys(WellKnownSymbolsStore), function (name) {\n defineWellKnownSymbol(name);\n});\n\n$({ target: SYMBOL, stat: true, forced: !NATIVE_SYMBOL }, {\n useSetter: function () { USE_SETTER = true; },\n useSimple: function () { USE_SETTER = false; }\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL, sham: !DESCRIPTORS }, {\n // `Object.create` method\n // https://tc39.es/ecma262/#sec-object.create\n create: $create,\n // `Object.defineProperty` method\n // https://tc39.es/ecma262/#sec-object.defineproperty\n defineProperty: $defineProperty,\n // `Object.defineProperties` method\n // https://tc39.es/ecma262/#sec-object.defineproperties\n defineProperties: $defineProperties,\n // `Object.getOwnPropertyDescriptor` method\n // https://tc39.es/ecma262/#sec-object.getownpropertydescriptors\n getOwnPropertyDescriptor: $getOwnPropertyDescriptor\n});\n\n$({ target: 'Object', stat: true, forced: !NATIVE_SYMBOL }, {\n // `Object.getOwnPropertyNames` method\n // https://tc39.es/ecma262/#sec-object.getownpropertynames\n getOwnPropertyNames: $getOwnPropertyNames\n});\n\n// `Symbol.prototype[@@toPrimitive]` method\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@toprimitive\ndefineSymbolToPrimitive();\n\n// `Symbol.prototype[@@toStringTag]` property\n// https://tc39.es/ecma262/#sec-symbol.prototype-@@tostringtag\nsetToStringTag($Symbol, SYMBOL);\n\nhiddenKeys[HIDDEN] = true;\n","var $ = require('../internals/export');\nvar getBuiltIn = require('../internals/get-built-in');\nvar hasOwn = require('../internals/has-own-property');\nvar toString = require('../internals/to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar StringToSymbolRegistry = shared('string-to-symbol-registry');\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.for` method\n// https://tc39.es/ecma262/#sec-symbol.for\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n 'for': function (key) {\n var string = toString(key);\n if (hasOwn(StringToSymbolRegistry, string)) return StringToSymbolRegistry[string];\n var symbol = getBuiltIn('Symbol')(string);\n StringToSymbolRegistry[string] = symbol;\n SymbolToStringRegistry[symbol] = string;\n return symbol;\n }\n});\n","// TODO: Remove this module from `core-js@4` since it's split to modules listed below\nrequire('../modules/es.symbol.constructor');\nrequire('../modules/es.symbol.for');\nrequire('../modules/es.symbol.key-for');\nrequire('../modules/es.json.stringify');\nrequire('../modules/es.object.get-own-property-symbols');\n","var $ = require('../internals/export');\nvar hasOwn = require('../internals/has-own-property');\nvar isSymbol = require('../internals/is-symbol');\nvar tryToString = require('../internals/try-to-string');\nvar shared = require('../internals/shared');\nvar NATIVE_SYMBOL_REGISTRY = require('../internals/symbol-registry-detection');\n\nvar SymbolToStringRegistry = shared('symbol-to-string-registry');\n\n// `Symbol.keyFor` method\n// https://tc39.es/ecma262/#sec-symbol.keyfor\n$({ target: 'Symbol', stat: true, forced: !NATIVE_SYMBOL_REGISTRY }, {\n keyFor: function keyFor(sym) {\n if (!isSymbol(sym)) throw TypeError(tryToString(sym) + ' is not a symbol');\n if (hasOwn(SymbolToStringRegistry, sym)) return SymbolToStringRegistry[sym];\n }\n});\n","var parent = require('../../es/instance/concat');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/filter');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/map');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/reduce');\n\nmodule.exports = parent;\n","var parent = require('../../es/instance/slice');\n\nmodule.exports = parent;\n","var parent = require('../../es/json/stringify');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/assign');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-properties');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/define-property');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptor');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-descriptors');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/get-own-property-symbols');\n\nmodule.exports = parent;\n","var parent = require('../../es/object/keys');\n\nmodule.exports = parent;\n","var parent = require('../es/parse-float');\n\nmodule.exports = parent;\n","var parent = require('../../es/reflect/construct');\n\nmodule.exports = parent;\n","(function() {\n var base64map\n = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/',\n\n crypt = {\n // Bit-wise rotation left\n rotl: function(n, b) {\n return (n << b) | (n >>> (32 - b));\n },\n\n // Bit-wise rotation right\n rotr: function(n, b) {\n return (n << (32 - b)) | (n >>> b);\n },\n\n // Swap big-endian to little-endian and vice versa\n endian: function(n) {\n // If number given, swap endian\n if (n.constructor == Number) {\n return crypt.rotl(n, 8) & 0x00FF00FF | crypt.rotl(n, 24) & 0xFF00FF00;\n }\n\n // Else, assume array and swap all items\n for (var i = 0; i < n.length; i++)\n n[i] = crypt.endian(n[i]);\n return n;\n },\n\n // Generate an array of any length of random bytes\n randomBytes: function(n) {\n for (var bytes = []; n > 0; n--)\n bytes.push(Math.floor(Math.random() * 256));\n return bytes;\n },\n\n // Convert a byte array to big-endian 32-bit words\n bytesToWords: function(bytes) {\n for (var words = [], i = 0, b = 0; i < bytes.length; i++, b += 8)\n words[b >>> 5] |= bytes[i] << (24 - b % 32);\n return words;\n },\n\n // Convert big-endian 32-bit words to a byte array\n wordsToBytes: function(words) {\n for (var bytes = [], b = 0; b < words.length * 32; b += 8)\n bytes.push((words[b >>> 5] >>> (24 - b % 32)) & 0xFF);\n return bytes;\n },\n\n // Convert a byte array to a hex string\n bytesToHex: function(bytes) {\n for (var hex = [], i = 0; i < bytes.length; i++) {\n hex.push((bytes[i] >>> 4).toString(16));\n hex.push((bytes[i] & 0xF).toString(16));\n }\n return hex.join('');\n },\n\n // Convert a hex string to a byte array\n hexToBytes: function(hex) {\n for (var bytes = [], c = 0; c < hex.length; c += 2)\n bytes.push(parseInt(hex.substr(c, 2), 16));\n return bytes;\n },\n\n // Convert a byte array to a base-64 string\n bytesToBase64: function(bytes) {\n for (var base64 = [], i = 0; i < bytes.length; i += 3) {\n var triplet = (bytes[i] << 16) | (bytes[i + 1] << 8) | bytes[i + 2];\n for (var j = 0; j < 4; j++)\n if (i * 8 + j * 6 <= bytes.length * 8)\n base64.push(base64map.charAt((triplet >>> 6 * (3 - j)) & 0x3F));\n else\n base64.push('=');\n }\n return base64.join('');\n },\n\n // Convert a base-64 string to a byte array\n base64ToBytes: function(base64) {\n // Remove non-base-64 characters\n base64 = base64.replace(/[^A-Z0-9+\\/]/ig, '');\n\n for (var bytes = [], i = 0, imod4 = 0; i < base64.length;\n imod4 = ++i % 4) {\n if (imod4 == 0) continue;\n bytes.push(((base64map.indexOf(base64.charAt(i - 1))\n & (Math.pow(2, -2 * imod4 + 8) - 1)) << (imod4 * 2))\n | (base64map.indexOf(base64.charAt(i)) >>> (6 - imod4 * 2)));\n }\n return bytes;\n }\n };\n\n module.exports = crypt;\n})();\n","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)> 1\n var nBits = -7\n var i = isLE ? (nBytes - 1) : 0\n var d = isLE ? -1 : 1\n var s = buffer[offset + i]\n\n i += d\n\n e = s & ((1 << (-nBits)) - 1)\n s >>= (-nBits)\n nBits += eLen\n for (; nBits > 0; e = (e * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n m = e & ((1 << (-nBits)) - 1)\n e >>= (-nBits)\n nBits += mLen\n for (; nBits > 0; m = (m * 256) + buffer[offset + i], i += d, nBits -= 8) {}\n\n if (e === 0) {\n e = 1 - eBias\n } else if (e === eMax) {\n return m ? NaN : ((s ? -1 : 1) * Infinity)\n } else {\n m = m + Math.pow(2, mLen)\n e = e - eBias\n }\n return (s ? -1 : 1) * m * Math.pow(2, e - mLen)\n}\n\nexports.write = function (buffer, value, offset, isLE, mLen, nBytes) {\n var e, m, c\n var eLen = (nBytes * 8) - mLen - 1\n var eMax = (1 << eLen) - 1\n var eBias = eMax >> 1\n var rt = (mLen === 23 ? Math.pow(2, -24) - Math.pow(2, -77) : 0)\n var i = isLE ? 0 : (nBytes - 1)\n var d = isLE ? 1 : -1\n var s = value < 0 || (value === 0 && 1 / value < 0) ? 1 : 0\n\n value = Math.abs(value)\n\n if (isNaN(value) || value === Infinity) {\n m = isNaN(value) ? 1 : 0\n e = eMax\n } else {\n e = Math.floor(Math.log(value) / Math.LN2)\n if (value * (c = Math.pow(2, -e)) < 1) {\n e--\n c *= 2\n }\n if (e + eBias >= 1) {\n value += rt / c\n } else {\n value += rt * Math.pow(2, 1 - eBias)\n }\n if (value * c >= 2) {\n e++\n c /= 2\n }\n\n if (e + eBias >= eMax) {\n m = 0\n e = eMax\n } else if (e + eBias >= 1) {\n m = ((value * c) - 1) * Math.pow(2, mLen)\n e = e + eBias\n } else {\n m = value * Math.pow(2, eBias - 1) * Math.pow(2, mLen)\n e = 0\n }\n }\n\n for (; mLen >= 8; buffer[offset + i] = m & 0xff, i += d, m /= 256, mLen -= 8) {}\n\n e = (e << mLen) | m\n eLen += mLen\n for (; eLen > 0; buffer[offset + i] = e & 0xff, i += d, e /= 256, eLen -= 8) {}\n\n buffer[offset + i - d] |= s * 128\n}\n","module.exports = function() {\n var mediaQuery;\n if (typeof window !== \"undefined\" && window !== null) {\n mediaQuery = \"(-webkit-min-device-pixel-ratio: 1.25), (min--moz-device-pixel-ratio: 1.25), (-o-min-device-pixel-ratio: 5/4), (min-resolution: 1.25dppx)\";\n if (window.devicePixelRatio > 1.25) {\n return true;\n }\n if (window.matchMedia && window.matchMedia(mediaQuery).matches) {\n return true;\n }\n }\n return false;\n};\n","var toString = {}.toString;\n\nmodule.exports = Array.isArray || function (arr) {\n return toString.call(arr) == '[object Array]';\n};\n","/*!\n * JavaScript Cookie v2.2.1\n * https://github.com/js-cookie/js-cookie\n *\n * Copyright 2006, 2015 Klaus Hartl & Fagner Brack\n * Released under the MIT license\n */\n;(function (factory) {\n\tvar registeredInModuleLoader;\n\tif (typeof define === 'function' && define.amd) {\n\t\tdefine(factory);\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (typeof exports === 'object') {\n\t\tmodule.exports = factory();\n\t\tregisteredInModuleLoader = true;\n\t}\n\tif (!registeredInModuleLoader) {\n\t\tvar OldCookies = window.Cookies;\n\t\tvar api = window.Cookies = factory();\n\t\tapi.noConflict = function () {\n\t\t\twindow.Cookies = OldCookies;\n\t\t\treturn api;\n\t\t};\n\t}\n}(function () {\n\tfunction extend () {\n\t\tvar i = 0;\n\t\tvar result = {};\n\t\tfor (; i < arguments.length; i++) {\n\t\t\tvar attributes = arguments[ i ];\n\t\t\tfor (var key in attributes) {\n\t\t\t\tresult[key] = attributes[key];\n\t\t\t}\n\t\t}\n\t\treturn result;\n\t}\n\n\tfunction decode (s) {\n\t\treturn s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);\n\t}\n\n\tfunction init (converter) {\n\t\tfunction api() {}\n\n\t\tfunction set (key, value, attributes) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tattributes = extend({\n\t\t\t\tpath: '/'\n\t\t\t}, api.defaults, attributes);\n\n\t\t\tif (typeof attributes.expires === 'number') {\n\t\t\t\tattributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);\n\t\t\t}\n\n\t\t\t// We're using \"expires\" because \"max-age\" is not supported by IE\n\t\t\tattributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';\n\n\t\t\ttry {\n\t\t\t\tvar result = JSON.stringify(value);\n\t\t\t\tif (/^[\\{\\[]/.test(result)) {\n\t\t\t\t\tvalue = result;\n\t\t\t\t}\n\t\t\t} catch (e) {}\n\n\t\t\tvalue = converter.write ?\n\t\t\t\tconverter.write(value, key) :\n\t\t\t\tencodeURIComponent(String(value))\n\t\t\t\t\t.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);\n\n\t\t\tkey = encodeURIComponent(String(key))\n\t\t\t\t.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)\n\t\t\t\t.replace(/[\\(\\)]/g, escape);\n\n\t\t\tvar stringifiedAttributes = '';\n\t\t\tfor (var attributeName in attributes) {\n\t\t\t\tif (!attributes[attributeName]) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\t\t\t\tstringifiedAttributes += '; ' + attributeName;\n\t\t\t\tif (attributes[attributeName] === true) {\n\t\t\t\t\tcontinue;\n\t\t\t\t}\n\n\t\t\t\t// Considers RFC 6265 section 5.2:\n\t\t\t\t// ...\n\t\t\t\t// 3. If the remaining unparsed-attributes contains a %x3B (\";\")\n\t\t\t\t// character:\n\t\t\t\t// Consume the characters of the unparsed-attributes up to,\n\t\t\t\t// not including, the first %x3B (\";\") character.\n\t\t\t\t// ...\n\t\t\t\tstringifiedAttributes += '=' + attributes[attributeName].split(';')[0];\n\t\t\t}\n\n\t\t\treturn (document.cookie = key + '=' + value + stringifiedAttributes);\n\t\t}\n\n\t\tfunction get (key, json) {\n\t\t\tif (typeof document === 'undefined') {\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tvar jar = {};\n\t\t\t// To prevent the for loop in the first place assign an empty array\n\t\t\t// in case there are no cookies at all.\n\t\t\tvar cookies = document.cookie ? document.cookie.split('; ') : [];\n\t\t\tvar i = 0;\n\n\t\t\tfor (; i < cookies.length; i++) {\n\t\t\t\tvar parts = cookies[i].split('=');\n\t\t\t\tvar cookie = parts.slice(1).join('=');\n\n\t\t\t\tif (!json && cookie.charAt(0) === '\"') {\n\t\t\t\t\tcookie = cookie.slice(1, -1);\n\t\t\t\t}\n\n\t\t\t\ttry {\n\t\t\t\t\tvar name = decode(parts[0]);\n\t\t\t\t\tcookie = (converter.read || converter)(cookie, name) ||\n\t\t\t\t\t\tdecode(cookie);\n\n\t\t\t\t\tif (json) {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tcookie = JSON.parse(cookie);\n\t\t\t\t\t\t} catch (e) {}\n\t\t\t\t\t}\n\n\t\t\t\t\tjar[name] = cookie;\n\n\t\t\t\t\tif (key === name) {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t} catch (e) {}\n\t\t\t}\n\n\t\t\treturn key ? jar[key] : jar;\n\t\t}\n\n\t\tapi.set = set;\n\t\tapi.get = function (key) {\n\t\t\treturn get(key, false /* read as raw */);\n\t\t};\n\t\tapi.getJSON = function (key) {\n\t\t\treturn get(key, true /* read as json */);\n\t\t};\n\t\tapi.remove = function (key, attributes) {\n\t\t\tset(key, '', extend(attributes, {\n\t\t\t\texpires: -1\n\t\t\t}));\n\t\t};\n\n\t\tapi.defaults = {};\n\n\t\tapi.withConverter = init;\n\n\t\treturn api;\n\t}\n\n\treturn init(function () {});\n}));\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar DataView = getNative(root, 'DataView');\n\nmodule.exports = DataView;\n","var hashClear = require('./_hashClear'),\n hashDelete = require('./_hashDelete'),\n hashGet = require('./_hashGet'),\n hashHas = require('./_hashHas'),\n hashSet = require('./_hashSet');\n\n/**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `Hash`.\nHash.prototype.clear = hashClear;\nHash.prototype['delete'] = hashDelete;\nHash.prototype.get = hashGet;\nHash.prototype.has = hashHas;\nHash.prototype.set = hashSet;\n\nmodule.exports = Hash;\n","var listCacheClear = require('./_listCacheClear'),\n listCacheDelete = require('./_listCacheDelete'),\n listCacheGet = require('./_listCacheGet'),\n listCacheHas = require('./_listCacheHas'),\n listCacheSet = require('./_listCacheSet');\n\n/**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `ListCache`.\nListCache.prototype.clear = listCacheClear;\nListCache.prototype['delete'] = listCacheDelete;\nListCache.prototype.get = listCacheGet;\nListCache.prototype.has = listCacheHas;\nListCache.prototype.set = listCacheSet;\n\nmodule.exports = ListCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Map = getNative(root, 'Map');\n\nmodule.exports = Map;\n","var mapCacheClear = require('./_mapCacheClear'),\n mapCacheDelete = require('./_mapCacheDelete'),\n mapCacheGet = require('./_mapCacheGet'),\n mapCacheHas = require('./_mapCacheHas'),\n mapCacheSet = require('./_mapCacheSet');\n\n/**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n}\n\n// Add methods to `MapCache`.\nMapCache.prototype.clear = mapCacheClear;\nMapCache.prototype['delete'] = mapCacheDelete;\nMapCache.prototype.get = mapCacheGet;\nMapCache.prototype.has = mapCacheHas;\nMapCache.prototype.set = mapCacheSet;\n\nmodule.exports = MapCache;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Promise = getNative(root, 'Promise');\n\nmodule.exports = Promise;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar Set = getNative(root, 'Set');\n\nmodule.exports = Set;\n","var MapCache = require('./_MapCache'),\n setCacheAdd = require('./_setCacheAdd'),\n setCacheHas = require('./_setCacheHas');\n\n/**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\nfunction SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n}\n\n// Add methods to `SetCache`.\nSetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\nSetCache.prototype.has = setCacheHas;\n\nmodule.exports = SetCache;\n","var ListCache = require('./_ListCache'),\n stackClear = require('./_stackClear'),\n stackDelete = require('./_stackDelete'),\n stackGet = require('./_stackGet'),\n stackHas = require('./_stackHas'),\n stackSet = require('./_stackSet');\n\n/**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\nfunction Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n}\n\n// Add methods to `Stack`.\nStack.prototype.clear = stackClear;\nStack.prototype['delete'] = stackDelete;\nStack.prototype.get = stackGet;\nStack.prototype.has = stackHas;\nStack.prototype.set = stackSet;\n\nmodule.exports = Stack;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Symbol = root.Symbol;\n\nmodule.exports = Symbol;\n","var root = require('./_root');\n\n/** Built-in value references. */\nvar Uint8Array = root.Uint8Array;\n\nmodule.exports = Uint8Array;\n","var getNative = require('./_getNative'),\n root = require('./_root');\n\n/* Built-in method references that are verified to be native. */\nvar WeakMap = getNative(root, 'WeakMap');\n\nmodule.exports = WeakMap;\n","/**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\nfunction arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n}\n\nmodule.exports = arrayFilter;\n","var baseTimes = require('./_baseTimes'),\n isArguments = require('./isArguments'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isIndex = require('./_isIndex'),\n isTypedArray = require('./isTypedArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\nfunction arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = arrayLikeKeys;\n","/**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\nfunction arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n}\n\nmodule.exports = arrayPush;\n","/**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\nfunction arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n}\n\nmodule.exports = arraySome;\n","var eq = require('./eq');\n\n/**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\nfunction assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n}\n\nmodule.exports = assocIndexOf;\n","var arrayPush = require('./_arrayPush'),\n isArray = require('./isArray');\n\n/**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n}\n\nmodule.exports = baseGetAllKeys;\n","var Symbol = require('./_Symbol'),\n getRawTag = require('./_getRawTag'),\n objectToString = require('./_objectToString');\n\n/** `Object#toString` result references. */\nvar nullTag = '[object Null]',\n undefinedTag = '[object Undefined]';\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nfunction baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n}\n\nmodule.exports = baseGetTag;\n","var baseGetTag = require('./_baseGetTag'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]';\n\n/**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\nfunction baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n}\n\nmodule.exports = baseIsArguments;\n","var baseIsEqualDeep = require('./_baseIsEqualDeep'),\n isObjectLike = require('./isObjectLike');\n\n/**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\nfunction baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n}\n\nmodule.exports = baseIsEqual;\n","var Stack = require('./_Stack'),\n equalArrays = require('./_equalArrays'),\n equalByTag = require('./_equalByTag'),\n equalObjects = require('./_equalObjects'),\n getTag = require('./_getTag'),\n isArray = require('./isArray'),\n isBuffer = require('./isBuffer'),\n isTypedArray = require('./isTypedArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n objectTag = '[object Object]';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n}\n\nmodule.exports = baseIsEqualDeep;\n","var isFunction = require('./isFunction'),\n isMasked = require('./_isMasked'),\n isObject = require('./isObject'),\n toSource = require('./_toSource');\n\n/**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\nvar reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g;\n\n/** Used to detect host constructors (Safari). */\nvar reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n/** Used for built-in method references. */\nvar funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Used to detect if a method is native. */\nvar reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n);\n\n/**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\nfunction baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n}\n\nmodule.exports = baseIsNative;\n","var baseGetTag = require('./_baseGetTag'),\n isLength = require('./isLength'),\n isObjectLike = require('./isObjectLike');\n\n/** `Object#toString` result references. */\nvar argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n objectTag = '[object Object]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n weakMapTag = '[object WeakMap]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n/** Used to identify `toStringTag` values of typed arrays. */\nvar typedArrayTags = {};\ntypedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\ntypedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\ntypedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\ntypedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\ntypedArrayTags[uint32Tag] = true;\ntypedArrayTags[argsTag] = typedArrayTags[arrayTag] =\ntypedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\ntypedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\ntypedArrayTags[errorTag] = typedArrayTags[funcTag] =\ntypedArrayTags[mapTag] = typedArrayTags[numberTag] =\ntypedArrayTags[objectTag] = typedArrayTags[regexpTag] =\ntypedArrayTags[setTag] = typedArrayTags[stringTag] =\ntypedArrayTags[weakMapTag] = false;\n\n/**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\nfunction baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n}\n\nmodule.exports = baseIsTypedArray;\n","var isPrototype = require('./_isPrototype'),\n nativeKeys = require('./_nativeKeys');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\nfunction baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n}\n\nmodule.exports = baseKeys;\n","/**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\nfunction baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n}\n\nmodule.exports = baseTimes;\n","/**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\nfunction baseUnary(func) {\n return function(value) {\n return func(value);\n };\n}\n\nmodule.exports = baseUnary;\n","/**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction cacheHas(cache, key) {\n return cache.has(key);\n}\n\nmodule.exports = cacheHas;\n","var root = require('./_root');\n\n/** Used to detect overreaching core-js shims. */\nvar coreJsData = root['__core-js_shared__'];\n\nmodule.exports = coreJsData;\n","var SetCache = require('./_SetCache'),\n arraySome = require('./_arraySome'),\n cacheHas = require('./_cacheHas');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\nfunction equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalArrays;\n","var Symbol = require('./_Symbol'),\n Uint8Array = require('./_Uint8Array'),\n eq = require('./eq'),\n equalArrays = require('./_equalArrays'),\n mapToArray = require('./_mapToArray'),\n setToArray = require('./_setToArray');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n/** `Object#toString` result references. */\nvar boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n errorTag = '[object Error]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]';\n\nvar arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]';\n\n/** Used to convert symbols to primitives and strings. */\nvar symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined;\n\n/**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n}\n\nmodule.exports = equalByTag;\n","var getAllKeys = require('./_getAllKeys');\n\n/** Used to compose bitmasks for value comparisons. */\nvar COMPARE_PARTIAL_FLAG = 1;\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\nfunction equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n}\n\nmodule.exports = equalObjects;\n","/** Detect free variable `global` from Node.js. */\nvar freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\nmodule.exports = freeGlobal;\n","var baseGetAllKeys = require('./_baseGetAllKeys'),\n getSymbols = require('./_getSymbols'),\n keys = require('./keys');\n\n/**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\nfunction getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n}\n\nmodule.exports = getAllKeys;\n","var isKeyable = require('./_isKeyable');\n\n/**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\nfunction getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n}\n\nmodule.exports = getMapData;\n","var baseIsNative = require('./_baseIsNative'),\n getValue = require('./_getValue');\n\n/**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\nfunction getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n}\n\nmodule.exports = getNative;\n","var Symbol = require('./_Symbol');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/** Built-in value references. */\nvar symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n/**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\nfunction getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n}\n\nmodule.exports = getRawTag;\n","var arrayFilter = require('./_arrayFilter'),\n stubArray = require('./stubArray');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeGetSymbols = Object.getOwnPropertySymbols;\n\n/**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\nvar getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n};\n\nmodule.exports = getSymbols;\n","var DataView = require('./_DataView'),\n Map = require('./_Map'),\n Promise = require('./_Promise'),\n Set = require('./_Set'),\n WeakMap = require('./_WeakMap'),\n baseGetTag = require('./_baseGetTag'),\n toSource = require('./_toSource');\n\n/** `Object#toString` result references. */\nvar mapTag = '[object Map]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n setTag = '[object Set]',\n weakMapTag = '[object WeakMap]';\n\nvar dataViewTag = '[object DataView]';\n\n/** Used to detect maps, sets, and weakmaps. */\nvar dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n/**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\nvar getTag = baseGetTag;\n\n// Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\nif ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n}\n\nmodule.exports = getTag;\n","/**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\nfunction getValue(object, key) {\n return object == null ? undefined : object[key];\n}\n\nmodule.exports = getValue;\n","var nativeCreate = require('./_nativeCreate');\n\n/**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\nfunction hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n}\n\nmodule.exports = hashClear;\n","/**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = hashDelete;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n}\n\nmodule.exports = hashGet;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n}\n\nmodule.exports = hashHas;\n","var nativeCreate = require('./_nativeCreate');\n\n/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\nfunction hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n}\n\nmodule.exports = hashSet;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/** Used to detect unsigned integer values. */\nvar reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n/**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\nfunction isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n}\n\nmodule.exports = isIndex;\n","/**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\nfunction isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n}\n\nmodule.exports = isKeyable;\n","var coreJsData = require('./_coreJsData');\n\n/** Used to detect methods masquerading as native. */\nvar maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n}());\n\n/**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\nfunction isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n}\n\nmodule.exports = isMasked;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\nfunction isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n}\n\nmodule.exports = isPrototype;\n","/**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\nfunction listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n}\n\nmodule.exports = listCacheClear;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/** Used for built-in method references. */\nvar arrayProto = Array.prototype;\n\n/** Built-in value references. */\nvar splice = arrayProto.splice;\n\n/**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n}\n\nmodule.exports = listCacheDelete;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n}\n\nmodule.exports = listCacheGet;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n}\n\nmodule.exports = listCacheHas;\n","var assocIndexOf = require('./_assocIndexOf');\n\n/**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\nfunction listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n}\n\nmodule.exports = listCacheSet;\n","var Hash = require('./_Hash'),\n ListCache = require('./_ListCache'),\n Map = require('./_Map');\n\n/**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\nfunction mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n}\n\nmodule.exports = mapCacheClear;\n","var getMapData = require('./_getMapData');\n\n/**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n}\n\nmodule.exports = mapCacheDelete;\n","var getMapData = require('./_getMapData');\n\n/**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction mapCacheGet(key) {\n return getMapData(this, key).get(key);\n}\n\nmodule.exports = mapCacheGet;\n","var getMapData = require('./_getMapData');\n\n/**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction mapCacheHas(key) {\n return getMapData(this, key).has(key);\n}\n\nmodule.exports = mapCacheHas;\n","var getMapData = require('./_getMapData');\n\n/**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\nfunction mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n}\n\nmodule.exports = mapCacheSet;\n","/**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\nfunction mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n}\n\nmodule.exports = mapToArray;\n","var getNative = require('./_getNative');\n\n/* Built-in method references that are verified to be native. */\nvar nativeCreate = getNative(Object, 'create');\n\nmodule.exports = nativeCreate;\n","var overArg = require('./_overArg');\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeKeys = overArg(Object.keys, Object);\n\nmodule.exports = nativeKeys;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Detect free variable `process` from Node.js. */\nvar freeProcess = moduleExports && freeGlobal.process;\n\n/** Used to access faster Node.js helpers. */\nvar nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n}());\n\nmodule.exports = nodeUtil;\n","/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\nvar nativeObjectToString = objectProto.toString;\n\n/**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\nfunction objectToString(value) {\n return nativeObjectToString.call(value);\n}\n\nmodule.exports = objectToString;\n","/**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\nfunction overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n}\n\nmodule.exports = overArg;\n","var freeGlobal = require('./_freeGlobal');\n\n/** Detect free variable `self`. */\nvar freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n/** Used as a reference to the global object. */\nvar root = freeGlobal || freeSelf || Function('return this')();\n\nmodule.exports = root;\n","/** Used to stand-in for `undefined` hash values. */\nvar HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n/**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\nfunction setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n}\n\nmodule.exports = setCacheAdd;\n","/**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\nfunction setCacheHas(value) {\n return this.__data__.has(value);\n}\n\nmodule.exports = setCacheHas;\n","/**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\nfunction setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n}\n\nmodule.exports = setToArray;\n","var ListCache = require('./_ListCache');\n\n/**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\nfunction stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n}\n\nmodule.exports = stackClear;\n","/**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\nfunction stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n}\n\nmodule.exports = stackDelete;\n","/**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\nfunction stackGet(key) {\n return this.__data__.get(key);\n}\n\nmodule.exports = stackGet;\n","/**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\nfunction stackHas(key) {\n return this.__data__.has(key);\n}\n\nmodule.exports = stackHas;\n","var ListCache = require('./_ListCache'),\n Map = require('./_Map'),\n MapCache = require('./_MapCache');\n\n/** Used as the size to enable large array optimizations. */\nvar LARGE_ARRAY_SIZE = 200;\n\n/**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\nfunction stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n}\n\nmodule.exports = stackSet;\n","/** Used for built-in method references. */\nvar funcProto = Function.prototype;\n\n/** Used to resolve the decompiled source of functions. */\nvar funcToString = funcProto.toString;\n\n/**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\nfunction toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n}\n\nmodule.exports = toSource;\n","/**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\nfunction eq(value, other) {\n return value === other || (value !== value && other !== other);\n}\n\nmodule.exports = eq;\n","var baseIsArguments = require('./_baseIsArguments'),\n isObjectLike = require('./isObjectLike');\n\n/** Used for built-in method references. */\nvar objectProto = Object.prototype;\n\n/** Used to check objects for own properties. */\nvar hasOwnProperty = objectProto.hasOwnProperty;\n\n/** Built-in value references. */\nvar propertyIsEnumerable = objectProto.propertyIsEnumerable;\n\n/**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\nvar isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n};\n\nmodule.exports = isArguments;\n","/**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\nvar isArray = Array.isArray;\n\nmodule.exports = isArray;\n","var isFunction = require('./isFunction'),\n isLength = require('./isLength');\n\n/**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\nfunction isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n}\n\nmodule.exports = isArrayLike;\n","var root = require('./_root'),\n stubFalse = require('./stubFalse');\n\n/** Detect free variable `exports`. */\nvar freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n/** Detect free variable `module`. */\nvar freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n/** Detect the popular CommonJS extension `module.exports`. */\nvar moduleExports = freeModule && freeModule.exports === freeExports;\n\n/** Built-in value references. */\nvar Buffer = moduleExports ? root.Buffer : undefined;\n\n/* Built-in method references for those with the same name as other `lodash` methods. */\nvar nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined;\n\n/**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\nvar isBuffer = nativeIsBuffer || stubFalse;\n\nmodule.exports = isBuffer;\n","var baseIsEqual = require('./_baseIsEqual');\n\n/**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\nfunction isEqual(value, other) {\n return baseIsEqual(value, other);\n}\n\nmodule.exports = isEqual;\n","var baseGetTag = require('./_baseGetTag'),\n isObject = require('./isObject');\n\n/** `Object#toString` result references. */\nvar asyncTag = '[object AsyncFunction]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n proxyTag = '[object Proxy]';\n\n/**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\nfunction isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n}\n\nmodule.exports = isFunction;\n","/** Used as references for various `Number` constants. */\nvar MAX_SAFE_INTEGER = 9007199254740991;\n\n/**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\nfunction isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n}\n\nmodule.exports = isLength;\n","/**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\nfunction isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n}\n\nmodule.exports = isObject;\n","/**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\nfunction isObjectLike(value) {\n return value != null && typeof value == 'object';\n}\n\nmodule.exports = isObjectLike;\n","var baseIsTypedArray = require('./_baseIsTypedArray'),\n baseUnary = require('./_baseUnary'),\n nodeUtil = require('./_nodeUtil');\n\n/* Node.js helper references. */\nvar nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n/**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\nvar isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\nmodule.exports = isTypedArray;\n","var arrayLikeKeys = require('./_arrayLikeKeys'),\n baseKeys = require('./_baseKeys'),\n isArrayLike = require('./isArrayLike');\n\n/**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\nfunction keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n}\n\nmodule.exports = keys;\n","/**\n * This method returns a new empty array.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {Array} Returns the new empty array.\n * @example\n *\n * var arrays = _.times(2, _.stubArray);\n *\n * console.log(arrays);\n * // => [[], []]\n *\n * console.log(arrays[0] === arrays[1]);\n * // => false\n */\nfunction stubArray() {\n return [];\n}\n\nmodule.exports = stubArray;\n","/**\n * This method returns `false`.\n *\n * @static\n * @memberOf _\n * @since 4.13.0\n * @category Util\n * @returns {boolean} Returns `false`.\n * @example\n *\n * _.times(2, _.stubFalse);\n * // => [false, false]\n */\nfunction stubFalse() {\n return false;\n}\n\nmodule.exports = stubFalse;\n","(function(){\r\n var crypt = require('crypt'),\r\n utf8 = require('charenc').utf8,\r\n isBuffer = require('is-buffer'),\r\n bin = require('charenc').bin,\r\n\r\n // The core\r\n md5 = function (message, options) {\r\n // Convert to byte array\r\n if (message.constructor == String)\r\n if (options && options.encoding === 'binary')\r\n message = bin.stringToBytes(message);\r\n else\r\n message = utf8.stringToBytes(message);\r\n else if (isBuffer(message))\r\n message = Array.prototype.slice.call(message, 0);\r\n else if (!Array.isArray(message) && message.constructor !== Uint8Array)\r\n message = message.toString();\r\n // else, assume byte array already\r\n\r\n var m = crypt.bytesToWords(message),\r\n l = message.length * 8,\r\n a = 1732584193,\r\n b = -271733879,\r\n c = -1732584194,\r\n d = 271733878;\r\n\r\n // Swap endian\r\n for (var i = 0; i < m.length; i++) {\r\n m[i] = ((m[i] << 8) | (m[i] >>> 24)) & 0x00FF00FF |\r\n ((m[i] << 24) | (m[i] >>> 8)) & 0xFF00FF00;\r\n }\r\n\r\n // Padding\r\n m[l >>> 5] |= 0x80 << (l % 32);\r\n m[(((l + 64) >>> 9) << 4) + 14] = l;\r\n\r\n // Method shortcuts\r\n var FF = md5._ff,\r\n GG = md5._gg,\r\n HH = md5._hh,\r\n II = md5._ii;\r\n\r\n for (var i = 0; i < m.length; i += 16) {\r\n\r\n var aa = a,\r\n bb = b,\r\n cc = c,\r\n dd = d;\r\n\r\n a = FF(a, b, c, d, m[i+ 0], 7, -680876936);\r\n d = FF(d, a, b, c, m[i+ 1], 12, -389564586);\r\n c = FF(c, d, a, b, m[i+ 2], 17, 606105819);\r\n b = FF(b, c, d, a, m[i+ 3], 22, -1044525330);\r\n a = FF(a, b, c, d, m[i+ 4], 7, -176418897);\r\n d = FF(d, a, b, c, m[i+ 5], 12, 1200080426);\r\n c = FF(c, d, a, b, m[i+ 6], 17, -1473231341);\r\n b = FF(b, c, d, a, m[i+ 7], 22, -45705983);\r\n a = FF(a, b, c, d, m[i+ 8], 7, 1770035416);\r\n d = FF(d, a, b, c, m[i+ 9], 12, -1958414417);\r\n c = FF(c, d, a, b, m[i+10], 17, -42063);\r\n b = FF(b, c, d, a, m[i+11], 22, -1990404162);\r\n a = FF(a, b, c, d, m[i+12], 7, 1804603682);\r\n d = FF(d, a, b, c, m[i+13], 12, -40341101);\r\n c = FF(c, d, a, b, m[i+14], 17, -1502002290);\r\n b = FF(b, c, d, a, m[i+15], 22, 1236535329);\r\n\r\n a = GG(a, b, c, d, m[i+ 1], 5, -165796510);\r\n d = GG(d, a, b, c, m[i+ 6], 9, -1069501632);\r\n c = GG(c, d, a, b, m[i+11], 14, 643717713);\r\n b = GG(b, c, d, a, m[i+ 0], 20, -373897302);\r\n a = GG(a, b, c, d, m[i+ 5], 5, -701558691);\r\n d = GG(d, a, b, c, m[i+10], 9, 38016083);\r\n c = GG(c, d, a, b, m[i+15], 14, -660478335);\r\n b = GG(b, c, d, a, m[i+ 4], 20, -405537848);\r\n a = GG(a, b, c, d, m[i+ 9], 5, 568446438);\r\n d = GG(d, a, b, c, m[i+14], 9, -1019803690);\r\n c = GG(c, d, a, b, m[i+ 3], 14, -187363961);\r\n b = GG(b, c, d, a, m[i+ 8], 20, 1163531501);\r\n a = GG(a, b, c, d, m[i+13], 5, -1444681467);\r\n d = GG(d, a, b, c, m[i+ 2], 9, -51403784);\r\n c = GG(c, d, a, b, m[i+ 7], 14, 1735328473);\r\n b = GG(b, c, d, a, m[i+12], 20, -1926607734);\r\n\r\n a = HH(a, b, c, d, m[i+ 5], 4, -378558);\r\n d = HH(d, a, b, c, m[i+ 8], 11, -2022574463);\r\n c = HH(c, d, a, b, m[i+11], 16, 1839030562);\r\n b = HH(b, c, d, a, m[i+14], 23, -35309556);\r\n a = HH(a, b, c, d, m[i+ 1], 4, -1530992060);\r\n d = HH(d, a, b, c, m[i+ 4], 11, 1272893353);\r\n c = HH(c, d, a, b, m[i+ 7], 16, -155497632);\r\n b = HH(b, c, d, a, m[i+10], 23, -1094730640);\r\n a = HH(a, b, c, d, m[i+13], 4, 681279174);\r\n d = HH(d, a, b, c, m[i+ 0], 11, -358537222);\r\n c = HH(c, d, a, b, m[i+ 3], 16, -722521979);\r\n b = HH(b, c, d, a, m[i+ 6], 23, 76029189);\r\n a = HH(a, b, c, d, m[i+ 9], 4, -640364487);\r\n d = HH(d, a, b, c, m[i+12], 11, -421815835);\r\n c = HH(c, d, a, b, m[i+15], 16, 530742520);\r\n b = HH(b, c, d, a, m[i+ 2], 23, -995338651);\r\n\r\n a = II(a, b, c, d, m[i+ 0], 6, -198630844);\r\n d = II(d, a, b, c, m[i+ 7], 10, 1126891415);\r\n c = II(c, d, a, b, m[i+14], 15, -1416354905);\r\n b = II(b, c, d, a, m[i+ 5], 21, -57434055);\r\n a = II(a, b, c, d, m[i+12], 6, 1700485571);\r\n d = II(d, a, b, c, m[i+ 3], 10, -1894986606);\r\n c = II(c, d, a, b, m[i+10], 15, -1051523);\r\n b = II(b, c, d, a, m[i+ 1], 21, -2054922799);\r\n a = II(a, b, c, d, m[i+ 8], 6, 1873313359);\r\n d = II(d, a, b, c, m[i+15], 10, -30611744);\r\n c = II(c, d, a, b, m[i+ 6], 15, -1560198380);\r\n b = II(b, c, d, a, m[i+13], 21, 1309151649);\r\n a = II(a, b, c, d, m[i+ 4], 6, -145523070);\r\n d = II(d, a, b, c, m[i+11], 10, -1120210379);\r\n c = II(c, d, a, b, m[i+ 2], 15, 718787259);\r\n b = II(b, c, d, a, m[i+ 9], 21, -343485551);\r\n\r\n a = (a + aa) >>> 0;\r\n b = (b + bb) >>> 0;\r\n c = (c + cc) >>> 0;\r\n d = (d + dd) >>> 0;\r\n }\r\n\r\n return crypt.endian([a, b, c, d]);\r\n };\r\n\r\n // Auxiliary functions\r\n md5._ff = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & c | ~b & d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._gg = function (a, b, c, d, x, s, t) {\r\n var n = a + (b & d | c & ~d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._hh = function (a, b, c, d, x, s, t) {\r\n var n = a + (b ^ c ^ d) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n md5._ii = function (a, b, c, d, x, s, t) {\r\n var n = a + (c ^ (b | ~d)) + (x >>> 0) + t;\r\n return ((n << s) | (n >>> (32 - s))) + b;\r\n };\r\n\r\n // Package private blocksize\r\n md5._blocksize = 16;\r\n md5._digestsize = 16;\r\n\r\n module.exports = function (message, options) {\r\n if (message === undefined || message === null)\r\n throw new Error('Illegal argument ' + message);\r\n\r\n var digestbytes = crypt.wordsToBytes(md5(message, options));\r\n return options && options.asBytes ? digestbytes :\r\n options && options.asString ? bin.bytesToString(digestbytes) :\r\n crypt.bytesToHex(digestbytes);\r\n };\r\n\r\n})();\r\n","/*!\n * Determine if an object is a Buffer\n *\n * @author Feross Aboukhadijeh \n * @license MIT\n */\n\n// The _isBuffer check is for Safari 5-7 support, because it's missing\n// Object.prototype.constructor. Remove this eventually\nmodule.exports = function (obj) {\n return obj != null && (isBuffer(obj) || isSlowBuffer(obj) || !!obj._isBuffer)\n}\n\nfunction isBuffer (obj) {\n return !!obj.constructor && typeof obj.constructor.isBuffer === 'function' && obj.constructor.isBuffer(obj)\n}\n\n// For Node v0.10 support. Remove this eventually.\nfunction isSlowBuffer (obj) {\n return typeof obj.readFloatLE === 'function' && typeof obj.slice === 'function' && isBuffer(obj.slice(0, 0))\n}\n","\"use strict\";\n/* globals self */ var fetch = self.fetch.bind(self);\nmodule.exports = fetch;\nmodule.exports.default = module.exports;\n\n//# sourceMappingURL=index.js.map","\n (window.__NEXT_P = window.__NEXT_P || []).push([\n \"/_app\",\n function () {\n return require(\"private-next-pages/_app.tsx\");\n }\n ]);\n if(module.hot) {\n module.hot.dispose(function () {\n window.__NEXT_P.push([\"/_app\"])\n });\n }\n ","export default {\"src\":\"/_next/static/media/EverysetBlue.ad4ace74.png\",\"height\":84,\"width\":84,\"blurDataURL\":\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAgAAAAICAYAAADED76LAAAA0UlEQVR42i2PsUoDQRRFz3s7z+yqSHCjhdqJpLCI2OUD/A7/NAgiKRfLoCkkIGKRKGiWzO7sZAgpbnfPgSPn988+gl31leojwNwDSv/OyDNpVEWscEI1WfP4UFC9jpg8DUkAvz6aWyZ+WCov01uWq4bF4h/vO0IAp6Am0HXw+bVhMOiRFxnOFBGIETQNc1DXgbf3P1QkAZEIADgBag8318e0bcfqx+8OmUAE9DQXZt+B8XhGGyKXF4eUZQ/LoIkgZynTNJUYzKce9vKT0QFHTpotUs5Qr0lcxNIAAAAASUVORK5CYII=\",\"blurWidth\":8,\"blurHeight\":8};","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.getDomainLocale = getDomainLocale;\nconst basePath = process.env.__NEXT_ROUTER_BASEPATH || '';\nfunction getDomainLocale(path, locale, locales, domainLocales) {\n if (process.env.__NEXT_I18N_SUPPORT) {\n const normalizeLocalePath = require('./normalize-locale-path').normalizeLocalePath;\n const detectDomainLocale = require('./detect-domain-locale').detectDomainLocale;\n const target = locale || normalizeLocalePath(path, locales).detectedLocale;\n const domain = detectDomainLocale(domainLocales, undefined, target);\n if (domain) {\n const proto = `http${domain.http ? '' : 's'}://`;\n const finalLocale = target === domain.defaultLocale ? '' : `/${target}`;\n return `${proto}${domain.domain}${basePath}${finalLocale}${path}`;\n }\n return false;\n } else {\n return false;\n }\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=get-domain-locale.js.map","\"client\";\n\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _object_without_properties_loose = require(\"@swc/helpers/lib/_object_without_properties_loose.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nvar _router = require(\"../shared/lib/router/router\");\nvar _addLocale = require(\"./add-locale\");\nvar _routerContext = require(\"../shared/lib/router-context\");\nvar _appRouterContext = require(\"../shared/lib/app-router-context\");\nvar _useIntersection = require(\"./use-intersection\");\nvar _getDomainLocale = require(\"./get-domain-locale\");\nvar _addBasePath = require(\"./add-base-path\");\n'client';\nconst prefetched = {};\nfunction prefetch(router, href, as, options) {\n if (typeof window === 'undefined' || !router) return;\n if (!(0, _router).isLocalURL(href)) return;\n // Prefetch the JSON page if asked (only in the client)\n // We need to handle a prefetch error here since we may be\n // loading with priority which can reject but we don't\n // want to force navigation since this is only a prefetch\n Promise.resolve(router.prefetch(href, as, options)).catch((err)=>{\n if (process.env.NODE_ENV !== 'production') {\n // rethrow to show invalid URL errors\n throw err;\n }\n });\n const curLocale = options && typeof options.locale !== 'undefined' ? options.locale : router && router.locale;\n // Join on an invalid URI character\n prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')] = true;\n}\nfunction isModifiedEvent(event) {\n const { target } = event.currentTarget;\n return target && target !== '_self' || event.metaKey || event.ctrlKey || event.shiftKey || event.altKey || event.nativeEvent && event.nativeEvent.which === 2;\n}\nfunction linkClicked(e, router, href, as, replace, shallow, scroll, locale, isAppRouter, prefetchEnabled) {\n const { nodeName } = e.currentTarget;\n // anchors inside an svg have a lowercase nodeName\n const isAnchorNodeName = nodeName.toUpperCase() === 'A';\n if (isAnchorNodeName && (isModifiedEvent(e) || !(0, _router).isLocalURL(href))) {\n // ignore click for browser’s default behavior\n return;\n }\n e.preventDefault();\n const navigate = ()=>{\n // If the router is an NextRouter instance it will have `beforePopState`\n if ('beforePopState' in router) {\n router[replace ? 'replace' : 'push'](href, as, {\n shallow,\n locale,\n scroll\n });\n } else {\n // If `beforePopState` doesn't exist on the router it's the AppRouter.\n const method = replace ? 'replace' : 'push';\n router[method](href, {\n forceOptimisticNavigation: !prefetchEnabled\n });\n }\n };\n if (isAppRouter) {\n // @ts-expect-error startTransition exists.\n _react.default.startTransition(navigate);\n } else {\n navigate();\n }\n}\nconst Link = /*#__PURE__*/ _react.default.forwardRef(function LinkComponent(props, forwardedRef) {\n if (process.env.NODE_ENV !== 'production') {\n function createPropError(args) {\n return new Error(`Failed prop type: The prop \\`${args.key}\\` expects a ${args.expected} in \\`\\`, but got \\`${args.actual}\\` instead.` + (typeof window !== 'undefined' ? \"\\nOpen your browser's console to view the Component stack trace.\" : ''));\n }\n // TypeScript trick for type-guarding:\n const requiredPropsGuard = {\n href: true\n };\n const requiredProps = Object.keys(requiredPropsGuard);\n requiredProps.forEach((key)=>{\n if (key === 'href') {\n if (props[key] == null || typeof props[key] !== 'string' && typeof props[key] !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: props[key] === null ? 'null' : typeof props[key]\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // TypeScript trick for type-guarding:\n const optionalPropsGuard = {\n as: true,\n replace: true,\n scroll: true,\n shallow: true,\n passHref: true,\n prefetch: true,\n locale: true,\n onClick: true,\n onMouseEnter: true,\n onTouchStart: true,\n legacyBehavior: true\n };\n const optionalProps = Object.keys(optionalPropsGuard);\n optionalProps.forEach((key)=>{\n const valType = typeof props[key];\n if (key === 'as') {\n if (props[key] && valType !== 'string' && valType !== 'object') {\n throw createPropError({\n key,\n expected: '`string` or `object`',\n actual: valType\n });\n }\n } else if (key === 'locale') {\n if (props[key] && valType !== 'string') {\n throw createPropError({\n key,\n expected: '`string`',\n actual: valType\n });\n }\n } else if (key === 'onClick' || key === 'onMouseEnter' || key === 'onTouchStart') {\n if (props[key] && valType !== 'function') {\n throw createPropError({\n key,\n expected: '`function`',\n actual: valType\n });\n }\n } else if (key === 'replace' || key === 'scroll' || key === 'shallow' || key === 'passHref' || key === 'prefetch' || key === 'legacyBehavior') {\n if (props[key] != null && valType !== 'boolean') {\n throw createPropError({\n key,\n expected: '`boolean`',\n actual: valType\n });\n }\n } else {\n // TypeScript trick for type-guarding:\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const _ = key;\n }\n });\n // This hook is in a conditional but that is ok because `process.env.NODE_ENV` never changes\n // eslint-disable-next-line react-hooks/rules-of-hooks\n const hasWarned = _react.default.useRef(false);\n if (props.prefetch && !hasWarned.current) {\n hasWarned.current = true;\n console.warn('Next.js auto-prefetches automatically based on viewport. The prefetch attribute is no longer needed. More: https://nextjs.org/docs/messages/prefetch-true-deprecated');\n }\n }\n let children;\n const { href: hrefProp , as: asProp , children: childrenProp , prefetch: prefetchProp , passHref , replace , shallow , scroll , locale , onClick , onMouseEnter , onTouchStart , legacyBehavior =Boolean(process.env.__NEXT_NEW_LINK_BEHAVIOR) !== true } = props, restProps = _object_without_properties_loose(props, [\n \"href\",\n \"as\",\n \"children\",\n \"prefetch\",\n \"passHref\",\n \"replace\",\n \"shallow\",\n \"scroll\",\n \"locale\",\n \"onClick\",\n \"onMouseEnter\",\n \"onTouchStart\",\n \"legacyBehavior\"\n ]);\n children = childrenProp;\n if (legacyBehavior && (typeof children === 'string' || typeof children === 'number')) {\n children = /*#__PURE__*/ _react.default.createElement(\"a\", null, children);\n }\n const p = prefetchProp !== false;\n let router = _react.default.useContext(_routerContext.RouterContext);\n // TODO-APP: type error. Remove `as any`\n const appRouter = _react.default.useContext(_appRouterContext.AppRouterContext);\n if (appRouter) {\n router = appRouter;\n }\n const { href , as } = _react.default.useMemo(()=>{\n const [resolvedHref, resolvedAs] = (0, _router).resolveHref(router, hrefProp, true);\n return {\n href: resolvedHref,\n as: asProp ? (0, _router).resolveHref(router, asProp) : resolvedAs || resolvedHref\n };\n }, [\n router,\n hrefProp,\n asProp\n ]);\n const previousHref = _react.default.useRef(href);\n const previousAs = _react.default.useRef(as);\n // This will return the first child, if multiple are provided it will throw an error\n let child;\n if (legacyBehavior) {\n if (process.env.NODE_ENV === 'development') {\n if (onClick) {\n console.warn(`\"onClick\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onClick be set on the child of next/link`);\n }\n if (onMouseEnter) {\n console.warn(`\"onMouseEnter\" was passed to with \\`href\\` of \\`${hrefProp}\\` but \"legacyBehavior\" was set. The legacy behavior requires onMouseEnter be set on the child of next/link`);\n }\n try {\n child = _react.default.Children.only(children);\n } catch (err) {\n if (!children) {\n throw new Error(`No children were passed to with \\`href\\` of \\`${hrefProp}\\` but one child is required https://nextjs.org/docs/messages/link-no-children`);\n }\n throw new Error(`Multiple children were passed to with \\`href\\` of \\`${hrefProp}\\` but only one child is supported https://nextjs.org/docs/messages/link-multiple-children` + (typeof window !== 'undefined' ? \" \\nOpen your browser's console to view the Component stack trace.\" : ''));\n }\n } else {\n child = _react.default.Children.only(children);\n }\n }\n const childRef = legacyBehavior ? child && typeof child === 'object' && child.ref : forwardedRef;\n const [setIntersectionRef, isVisible, resetVisible] = (0, _useIntersection).useIntersection({\n rootMargin: '200px'\n });\n const setRef = _react.default.useCallback((el)=>{\n // Before the link getting observed, check if visible state need to be reset\n if (previousAs.current !== as || previousHref.current !== href) {\n resetVisible();\n previousAs.current = as;\n previousHref.current = href;\n }\n setIntersectionRef(el);\n if (childRef) {\n if (typeof childRef === 'function') childRef(el);\n else if (typeof childRef === 'object') {\n childRef.current = el;\n }\n }\n }, [\n as,\n childRef,\n href,\n resetVisible,\n setIntersectionRef\n ]);\n _react.default.useEffect(()=>{\n const shouldPrefetch = isVisible && p && (0, _router).isLocalURL(href);\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n const isPrefetched = prefetched[href + '%' + as + (curLocale ? '%' + curLocale : '')];\n if (shouldPrefetch && !isPrefetched) {\n prefetch(router, href, as, {\n locale: curLocale\n });\n }\n }, [\n as,\n href,\n isVisible,\n locale,\n p,\n router\n ]);\n const childProps = {\n ref: setRef,\n onClick: (e)=>{\n if (process.env.NODE_ENV !== 'production') {\n if (!e) {\n throw new Error(`Component rendered inside next/link has to pass click event to \"onClick\" prop.`);\n }\n }\n if (!legacyBehavior && typeof onClick === 'function') {\n onClick(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onClick === 'function') {\n child.props.onClick(e);\n }\n if (!e.defaultPrevented) {\n linkClicked(e, router, href, as, replace, shallow, scroll, locale, Boolean(appRouter), p);\n }\n },\n onMouseEnter: (e)=>{\n if (!legacyBehavior && typeof onMouseEnter === 'function') {\n onMouseEnter(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onMouseEnter === 'function') {\n child.props.onMouseEnter(e);\n }\n // Check for not prefetch disabled in page using appRouter\n if (!(!p && appRouter)) {\n if ((0, _router).isLocalURL(href)) {\n prefetch(router, href, as, {\n priority: true\n });\n }\n }\n },\n onTouchStart: (e)=>{\n if (!legacyBehavior && typeof onTouchStart === 'function') {\n onTouchStart(e);\n }\n if (legacyBehavior && child.props && typeof child.props.onTouchStart === 'function') {\n child.props.onTouchStart(e);\n }\n // Check for not prefetch disabled in page using appRouter\n if (!(!p && appRouter)) {\n if ((0, _router).isLocalURL(href)) {\n prefetch(router, href, as, {\n priority: true\n });\n }\n }\n }\n };\n // If child is an tag and doesn't have a href attribute, or if the 'passHref' property is\n // defined, we specify the current 'href', so that repetition is not needed by the user\n if (!legacyBehavior || passHref || child.type === 'a' && !('href' in child.props)) {\n const curLocale = typeof locale !== 'undefined' ? locale : router && router.locale;\n // we only render domain locales if we are currently on a domain locale\n // so that locale links are still visitable in development/preview envs\n const localeDomain = router && router.isLocaleDomain && (0, _getDomainLocale).getDomainLocale(as, curLocale, router.locales, router.domainLocales);\n childProps.href = localeDomain || (0, _addBasePath).addBasePath((0, _addLocale).addLocale(as, curLocale, router && router.defaultLocale));\n }\n return legacyBehavior ? /*#__PURE__*/ _react.default.cloneElement(child, childProps) : /*#__PURE__*/ _react.default.createElement(\"a\", Object.assign({}, restProps, childProps), children);\n});\nvar _default = Link;\nexports.default = _default;\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=link.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.useIntersection = useIntersection;\nvar _react = require(\"react\");\nvar _requestIdleCallback = require(\"./request-idle-callback\");\nconst hasIntersectionObserver = typeof IntersectionObserver === 'function';\nconst observers = new Map();\nconst idList = [];\nfunction createObserver(options) {\n const id = {\n root: options.root || null,\n margin: options.rootMargin || ''\n };\n const existing = idList.find((obj)=>obj.root === id.root && obj.margin === id.margin);\n let instance;\n if (existing) {\n instance = observers.get(existing);\n if (instance) {\n return instance;\n }\n }\n const elements = new Map();\n const observer = new IntersectionObserver((entries)=>{\n entries.forEach((entry)=>{\n const callback = elements.get(entry.target);\n const isVisible = entry.isIntersecting || entry.intersectionRatio > 0;\n if (callback && isVisible) {\n callback(isVisible);\n }\n });\n }, options);\n instance = {\n id,\n observer,\n elements\n };\n idList.push(id);\n observers.set(id, instance);\n return instance;\n}\nfunction observe(element, callback, options) {\n const { id , observer , elements } = createObserver(options);\n elements.set(element, callback);\n observer.observe(element);\n return function unobserve() {\n elements.delete(element);\n observer.unobserve(element);\n // Destroy observer when there's nothing left to watch:\n if (elements.size === 0) {\n observer.disconnect();\n observers.delete(id);\n const index = idList.findIndex((obj)=>obj.root === id.root && obj.margin === id.margin);\n if (index > -1) {\n idList.splice(index, 1);\n }\n }\n };\n}\nfunction useIntersection({ rootRef , rootMargin , disabled }) {\n const isDisabled = disabled || !hasIntersectionObserver;\n const [visible, setVisible] = (0, _react).useState(false);\n const [element, setElement] = (0, _react).useState(null);\n (0, _react).useEffect(()=>{\n if (hasIntersectionObserver) {\n if (isDisabled || visible) return;\n if (element && element.tagName) {\n const unobserve = observe(element, (isVisible)=>isVisible && setVisible(isVisible), {\n root: rootRef == null ? void 0 : rootRef.current,\n rootMargin\n });\n return unobserve;\n }\n } else {\n if (!visible) {\n const idleCallback = (0, _requestIdleCallback).requestIdleCallback(()=>setVisible(true));\n return ()=>(0, _requestIdleCallback).cancelIdleCallback(idleCallback);\n }\n }\n }, [\n element,\n isDisabled,\n rootMargin,\n rootRef,\n visible\n ]);\n const resetVisible = (0, _react).useCallback(()=>{\n setVisible(false);\n }, []);\n return [\n setElement,\n visible,\n resetVisible\n ];\n}\n\nif ((typeof exports.default === 'function' || (typeof exports.default === 'object' && exports.default !== null)) && typeof exports.default.__esModule === 'undefined') {\n Object.defineProperty(exports.default, '__esModule', { value: true });\n Object.assign(exports.default, exports);\n module.exports = exports.default;\n}\n\n//# sourceMappingURL=use-intersection.js.map","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.TemplateContext = exports.GlobalLayoutRouterContext = exports.LayoutRouterContext = exports.AppRouterContext = void 0;\nvar _interop_require_default = require(\"@swc/helpers/lib/_interop_require_default.js\").default;\nvar _react = _interop_require_default(require(\"react\"));\nconst AppRouterContext = _react.default.createContext(null);\nexports.AppRouterContext = AppRouterContext;\nconst LayoutRouterContext = _react.default.createContext(null);\nexports.LayoutRouterContext = LayoutRouterContext;\nconst GlobalLayoutRouterContext = _react.default.createContext(null);\nexports.GlobalLayoutRouterContext = GlobalLayoutRouterContext;\nconst TemplateContext = _react.default.createContext(null);\nexports.TemplateContext = TemplateContext;\nif (process.env.NODE_ENV !== 'production') {\n AppRouterContext.displayName = 'AppRouterContext';\n LayoutRouterContext.displayName = 'LayoutRouterContext';\n GlobalLayoutRouterContext.displayName = 'GlobalLayoutRouterContext';\n TemplateContext.displayName = 'TemplateContext';\n}\n\n//# sourceMappingURL=app-router-context.js.map","import theme from '@styles/theme';\n\nexport const AttachmentIcon = ({\n width = 12,\n height = 14,\n fill = theme.palette.greyscale[6],\n}: React.SVGProps): JSX.Element => {\n return (\n \n \n \n );\n};\n","const Checkmark = (): JSX.Element => (\n \n \n \n);\n\nexport default Checkmark;\n","import type { SVGProps } from 'react';\n\nexport const ChevronIcon = ({\n direction = 'left',\n width = 14,\n height = 8,\n stroke = '#494949',\n className = '',\n style,\n ...otherProps\n}: SVGProps & {\n direction?: 'up' | 'right' | 'down' | 'left';\n}): JSX.Element => {\n return (\n \n \n \n );\n};\n","const Close = ({\n stroke = '#E14A4A',\n className = '',\n ...otherProps\n}: React.SVGProps): JSX.Element => (\n \n \n \n \n);\n\nexport default Close;\n","const GoogleLogo = (): JSX.Element => (\n \n \n \n \n \n \n \n \n \n);\n\nexport default GoogleLogo;\n","export const HamburgerMenuIcon = ({\n fill = '#202020',\n ...otherProps\n}: React.SVGProps): JSX.Element => (\n \n \n \n);\n","import theme from '@styles/theme';\n\nexport const MessageCross = ({\n color = theme.palette.primary[0],\n width = 24,\n height = 24,\n className,\n ...otherProps\n}: React.SVGProps): JSX.Element => {\n return (\n \n \n \n \n \n );\n};\n","export const PlusIcon = ({\n width = 12,\n height = 13,\n stroke = '#202020',\n}: React.SVGProps): JSX.Element => {\n return (\n \n \n \n );\n};\n","import theme from '@styles/theme';\n\nexport const UploadIcon = ({\n width = 12,\n height = 12,\n fill = theme.palette.greyscale[6],\n}: React.SVGProps): JSX.Element => {\n return (\n \n \n \n \n );\n};\n","import type { SVGProps } from 'react';\n\nimport theme from '@styles/theme';\n\nexport const PictureUploadArrow = ({\n width = 20,\n height = 20,\n stroke = theme.palette.text[1],\n className = '',\n}: SVGProps): JSX.Element => (\n \n \n \n \n \n \n \n \n);\n","import { CSSProperties } from 'react';\n\nexport type LogoProps = {\n width?: number | string;\n style?: React.CSSProperties;\n onClick?: () => void;\n fill?: string;\n};\n\nconst INITIAL_WIDTH = 136;\n\nconst EverysetLogo = ({\n width = INITIAL_WIDTH,\n onClick,\n style,\n fill = '#1733C4',\n}: LogoProps): JSX.Element => {\n const logoStyle: React.CSSProperties = {\n width: typeof width === 'number' ? `${width}px` : width,\n cursor: onClick ? 'pointer' : 'auto', // Add cursor style\n ...style, // Merge with other provided styles\n };\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default EverysetLogo;\n","import { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport styled from 'styled-components';\n\nexport type LogoProps = {\n style?: React.CSSProperties;\n onClick?: () => void;\n fontSize?: number;\n};\n\nconst INITIAL_FONT_SIZE = 24;\n\nconst LogoText = styled.span`\n color: ${({ theme }) => theme.palette.primary[0]};\n font-family: 'Montserrat', sans-serif;\n font-weight: ${({ theme }) => theme.palette.textFontWeight[0]};\n`;\n\nconst SaaSLogo = ({\n fontSize = INITIAL_FONT_SIZE,\n onClick,\n style,\n}: LogoProps): JSX.Element => {\n const { clientName, clientLogoUrl } = useClientEnvironmentContext();\n\n const logoStyle: React.CSSProperties = {\n fontSize,\n cursor: onClick ? 'pointer' : 'auto',\n textDecoration: 'none',\n maxWidth: 300,\n maxHeight: 48,\n ...style,\n };\n const logoTextStyle: React.CSSProperties = {\n fontSize,\n cursor: onClick ? 'pointer' : 'auto',\n textDecoration: 'none',\n maxWidth: 300,\n ...style,\n };\n\n return clientLogoUrl ? (\n \n ) : (\n {`${clientName} Casting`}\n );\n};\n\nexport default SaaSLogo;\n","export const EverysetIcon = ({\n width = 20,\n height = 26,\n fill = '#1733C4',\n ...otherProps\n}: React.SVGProps): JSX.Element => {\n return (\n \n \n \n \n \n \n \n );\n};\n","import { Button as AntButton } from 'antd';\nimport styled from 'styled-components';\n\nconst Button = styled(AntButton)`\n &.ant-btn {\n display: flex;\n justify-content: center;\n align-items: center;\n height: 35px;\n padding: 12px 24px;\n vertical-align: middle;\n user-select: none;\n border-radius: 4px;\n cursor: pointer;\n font-size: ${(props) => props.theme.palette.textFontSize[8]};\n font-weight: ${(props) => props.theme.palette.textFontWeight[0]};\n line-height: 21px;\n\n &.ant-btn-primary {\n background: ${(props) => props.theme.palette.primary[0]};\n border: 1.5px solid ${(props) => props.theme.palette.primary[0]};\n color: white;\n box-shadow: none;\n\n &:hover {\n background: ${(props) => props.theme.palette.hover[0]};\n border-color: ${(props) => props.theme.palette.hover[0]};\n }\n }\n\n &.ant-btn-default {\n box-shadow: none;\n background: ${(props) => props.theme.palette.greyscale[0]};\n border: 1.5px solid ${(props) => props.theme.palette.border[1]};\n color: ${(props) => props.theme.palette.text[0]};\n\n &:hover {\n background: ${(props) => props.theme.palette.greyscale[1]};\n }\n }\n\n &.ant-btn-text {\n padding: 0;\n background: transparent;\n color: ${(props) => props.theme.palette.primary[0]};\n border: none;\n\n &:hover {\n color: ${(props) => props.theme.palette.hover[0]};\n }\n\n &:disabled {\n color: ${(props) => props.theme.palette.primary[13]};\n }\n }\n\n &:disabled,\n &:disabled:hover,\n &:disabled:focus,\n &:disabled:active {\n opacity: 40%;\n cursor: not-allowed;\n }\n }\n`;\n\nexport { Button };\n","import { Form as AntdForm } from 'antd';\nimport styled from 'styled-components';\n\nconst Form = styled(AntdForm)`\n .ant-input-status-error {\n border: 1px solid ${(props) => props.theme.palette.color[0]} !important; // styles Form.Item elements that contain a validator\n }\n\n .ant-form-item-explain-error {\n margin: 4px 0 8px 0;\n color: ${(props) => props.theme.palette.color[0]};\n font-size: ${(props) => props.theme.palette.textFontSize[7]};\n }\n\n .ant-input-affix-wrapper-status-error {\n border: 1px solid ${(props) => props.theme.palette.color[0]} !important; // styles Form.Item elements that do not contain a validator\n }\n`;\n\nexport { Form };\n","import { Input as AntInput, InputProps } from 'antd';\nimport { ReactElement } from 'react';\nimport styled from 'styled-components';\n\nimport { Label } from '../Label';\n\ninterface IProps extends InputProps {\n label?: string;\n labelStyle?: React.CSSProperties;\n requiredSymbol?: boolean;\n valid?: boolean;\n displayBr?: boolean;\n}\n\nconst Input = (props: IProps): ReactElement => {\n const {\n label,\n labelStyle,\n type,\n requiredSymbol,\n displayBr = true,\n ...res\n } = props;\n\n return (\n <>\n {label && (\n <>\n \n {displayBr &&
}\n \n )}\n \n \n );\n};\n\nconst StyledInput = styled(AntInput)`\n &.ant-input {\n width: ${(props) => (props.width ? props.width : '100%')};\n height: ${(props) => (props.height ? props.height : '35px')};\n padding: 10px 8px;\n background: ${(props) => props.theme.palette.greyscale[0]};\n font-size: ${(props) => props.theme.palette.textFontSize[7]};\n line-height: ${(props) => props.theme.palette.textLineHeight[5]};\n border: 1px solid\n ${({ theme, required, valid, value }) =>\n valid === false || (required && !value)\n ? theme.palette.color[0]\n : theme.palette.greyscale[3]};\n border-radius: 4px;\n\n &.ant-input-disabled,\n &.ant-input-disabled:hover {\n background: ${(props) => props.theme.palette.greyscale[0]};\n border-color: ${(props) => props.theme.palette.greyscale[3]};\n color: ${(props) => props.theme.palette.text[0]};\n }\n\n &::placeholder {\n color: ${(props) => props.theme.palette.text[3]};\n }\n\n &:hover {\n border-color: ${(props) => props.theme.palette.primary[0]};\n }\n\n &:focus,\n &:active {\n border-color: ${(props) => props.theme.palette.primary[0]};\n box-shadow: ${({ theme }) => theme.palette.shadow[1]};\n }\n }\n`;\n\nexport { Input };\n","// This icon file is generated automatically.\nvar UpOutlined = { \"icon\": { \"tag\": \"svg\", \"attrs\": { \"viewBox\": \"64 64 896 896\", \"focusable\": \"false\" }, \"children\": [{ \"tag\": \"path\", \"attrs\": { \"d\": \"M890.5 755.3L537.9 269.2c-12.8-17.6-39-17.6-51.7 0L133.5 755.3A8 8 0 00140 768h75c5.1 0 9.9-2.5 12.9-6.6L512 369.8l284.1 391.6c3 4.1 7.8 6.6 12.9 6.6h75c6.5 0 10.3-7.4 6.5-12.7z\" } }] }, \"name\": \"up\", \"theme\": \"outlined\" };\nexport default UpOutlined;\n","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n// GENERATE BY ./scripts/generate.ts\n// DON NOT EDIT IT MANUALLY\nimport * as React from 'react';\nimport UpOutlinedSvg from \"@ant-design/icons-svg/es/asn/UpOutlined\";\nimport AntdIcon from '../components/AntdIcon';\nvar UpOutlined = function UpOutlined(props, ref) {\n return /*#__PURE__*/React.createElement(AntdIcon, _objectSpread(_objectSpread({}, props), {}, {\n ref: ref,\n icon: UpOutlinedSvg\n }));\n};\nUpOutlined.displayName = 'UpOutlined';\nexport default /*#__PURE__*/React.forwardRef(UpOutlined);","export function supportBigInt() {\n return typeof BigInt === 'function';\n}","import { supportBigInt } from './supportUtil';\n/**\n * Format string number to readable number\n */\nexport function trimNumber(numStr) {\n var str = numStr.trim();\n var negative = str.startsWith('-');\n if (negative) {\n str = str.slice(1);\n }\n str = str\n // Remove decimal 0. `1.000` => `1.`, `1.100` => `1.1`\n .replace(/(\\.\\d*[^0])0*$/, '$1')\n // Remove useless decimal. `1.` => `1`\n .replace(/\\.0*$/, '')\n // Remove integer 0. `0001` => `1`, 000.1' => `.1`\n .replace(/^0+/, '');\n if (str.startsWith('.')) {\n str = \"0\".concat(str);\n }\n var trimStr = str || '0';\n var splitNumber = trimStr.split('.');\n var integerStr = splitNumber[0] || '0';\n var decimalStr = splitNumber[1] || '0';\n if (integerStr === '0' && decimalStr === '0') {\n negative = false;\n }\n var negativeStr = negative ? '-' : '';\n return {\n negative: negative,\n negativeStr: negativeStr,\n trimStr: trimStr,\n integerStr: integerStr,\n decimalStr: decimalStr,\n fullStr: \"\".concat(negativeStr).concat(trimStr)\n };\n}\nexport function isE(number) {\n var str = String(number);\n return !Number.isNaN(Number(str)) && str.includes('e');\n}\n/**\n * [Legacy] Convert 1e-9 to 0.000000001.\n * This may lose some precision if user really want 1e-9.\n */\nexport function getNumberPrecision(number) {\n var numStr = String(number);\n if (isE(number)) {\n var precision = Number(numStr.slice(numStr.indexOf('e-') + 2));\n var decimalMatch = numStr.match(/\\.(\\d+)/);\n if (decimalMatch === null || decimalMatch === void 0 ? void 0 : decimalMatch[1]) {\n precision += decimalMatch[1].length;\n }\n return precision;\n }\n return numStr.includes('.') && validateNumber(numStr) ? numStr.length - numStr.indexOf('.') - 1 : 0;\n}\n/**\n * Convert number (includes scientific notation) to -xxx.yyy format\n */\nexport function num2str(number) {\n var numStr = String(number);\n if (isE(number)) {\n if (number > Number.MAX_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return String(supportBigInt() ? BigInt(number).toString() : Number.MIN_SAFE_INTEGER);\n }\n numStr = number.toFixed(getNumberPrecision(numStr));\n }\n return trimNumber(numStr).fullStr;\n}\nexport function validateNumber(num) {\n if (typeof num === 'number') {\n return !Number.isNaN(num);\n }\n // Empty\n if (!num) {\n return false;\n }\n return (\n // Normal type: 11.28\n /^\\s*-?\\d+(\\.\\d+)?\\s*$/.test(num) ||\n // Pre-number: 1.\n /^\\s*-?\\d+\\.\\s*$/.test(num) ||\n // Post-number: .1\n /^\\s*-?\\.\\d+\\s*$/.test(num)\n );\n}\nexport function getDecupleSteps(step) {\n var stepStr = typeof step === 'number' ? num2str(step) : trimNumber(step).fullStr;\n var hasPoint = stepStr.includes('.');\n if (!hasPoint) {\n return step + '0';\n }\n return trimNumber(stepStr.replace(/(\\d)\\.(\\d)/g, '$1$2.')).fullStr;\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\n/* eslint-disable max-classes-per-file */\nimport { getNumberPrecision, isE, num2str, trimNumber, validateNumber } from './numberUtil';\nimport { supportBigInt } from './supportUtil';\n/**\n * We can remove this when IE not support anymore\n */\nexport var NumberDecimal = /*#__PURE__*/function () {\n function NumberDecimal(value) {\n _classCallCheck(this, NumberDecimal);\n this.origin = '';\n this.number = void 0;\n this.empty = void 0;\n if (!value && value !== 0 || !String(value).trim()) {\n this.empty = true;\n return;\n }\n this.origin = String(value);\n this.number = Number(value);\n }\n _createClass(NumberDecimal, [{\n key: \"negate\",\n value: function negate() {\n return new NumberDecimal(-this.toNumber());\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new NumberDecimal(value);\n }\n var target = Number(value);\n if (Number.isNaN(target)) {\n return this;\n }\n var number = this.number + target;\n // [Legacy] Back to safe integer\n if (number > Number.MAX_SAFE_INTEGER) {\n return new NumberDecimal(Number.MAX_SAFE_INTEGER);\n }\n if (number < Number.MIN_SAFE_INTEGER) {\n return new NumberDecimal(Number.MIN_SAFE_INTEGER);\n }\n var maxPrecision = Math.max(getNumberPrecision(this.number), getNumberPrecision(target));\n return new NumberDecimal(number.toFixed(maxPrecision));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return Number.isNaN(this.number);\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toNumber() === (target === null || target === void 0 ? void 0 : target.toNumber());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n return this.number;\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!safe) {\n return this.origin;\n }\n if (this.isInvalidate()) {\n return '';\n }\n return num2str(this.number);\n }\n }]);\n return NumberDecimal;\n}();\nexport var BigIntDecimal = /*#__PURE__*/function () {\n /** BigInt will convert `0009` to `9`. We need record the len of decimal */\n\n function BigIntDecimal(value) {\n _classCallCheck(this, BigIntDecimal);\n this.origin = '';\n this.negative = void 0;\n this.integer = void 0;\n this.decimal = void 0;\n this.decimalLen = void 0;\n this.empty = void 0;\n this.nan = void 0;\n if (!value && value !== 0 || !String(value).trim()) {\n this.empty = true;\n return;\n }\n this.origin = String(value);\n // Act like Number convert\n if (value === '-') {\n this.nan = true;\n return;\n }\n var mergedValue = value;\n // We need convert back to Number since it require `toFixed` to handle this\n if (isE(mergedValue)) {\n mergedValue = Number(mergedValue);\n }\n mergedValue = typeof mergedValue === 'string' ? mergedValue : num2str(mergedValue);\n if (validateNumber(mergedValue)) {\n var trimRet = trimNumber(mergedValue);\n this.negative = trimRet.negative;\n var numbers = trimRet.trimStr.split('.');\n this.integer = BigInt(numbers[0]);\n var decimalStr = numbers[1] || '0';\n this.decimal = BigInt(decimalStr);\n this.decimalLen = decimalStr.length;\n } else {\n this.nan = true;\n }\n }\n _createClass(BigIntDecimal, [{\n key: \"getMark\",\n value: function getMark() {\n return this.negative ? '-' : '';\n }\n }, {\n key: \"getIntegerStr\",\n value: function getIntegerStr() {\n return this.integer.toString();\n }\n }, {\n key: \"getDecimalStr\",\n value: function getDecimalStr() {\n return this.decimal.toString().padStart(this.decimalLen, '0');\n }\n /**\n * Align BigIntDecimal with same decimal length. e.g. 12.3 + 5 = 1230000\n * This is used for add function only.\n */\n }, {\n key: \"alignDecimal\",\n value: function alignDecimal(decimalLength) {\n var str = \"\".concat(this.getMark()).concat(this.getIntegerStr()).concat(this.getDecimalStr().padEnd(decimalLength, '0'));\n return BigInt(str);\n }\n }, {\n key: \"negate\",\n value: function negate() {\n var clone = new BigIntDecimal(this.toString());\n clone.negative = !clone.negative;\n return clone;\n }\n }, {\n key: \"add\",\n value: function add(value) {\n if (this.isInvalidate()) {\n return new BigIntDecimal(value);\n }\n var offset = new BigIntDecimal(value);\n if (offset.isInvalidate()) {\n return this;\n }\n var maxDecimalLength = Math.max(this.getDecimalStr().length, offset.getDecimalStr().length);\n var myAlignedDecimal = this.alignDecimal(maxDecimalLength);\n var offsetAlignedDecimal = offset.alignDecimal(maxDecimalLength);\n var valueStr = (myAlignedDecimal + offsetAlignedDecimal).toString();\n // We need fill string length back to `maxDecimalLength` to avoid parser failed\n var _trimNumber = trimNumber(valueStr),\n negativeStr = _trimNumber.negativeStr,\n trimStr = _trimNumber.trimStr;\n var hydrateValueStr = \"\".concat(negativeStr).concat(trimStr.padStart(maxDecimalLength + 1, '0'));\n return new BigIntDecimal(\"\".concat(hydrateValueStr.slice(0, -maxDecimalLength), \".\").concat(hydrateValueStr.slice(-maxDecimalLength)));\n }\n }, {\n key: \"isEmpty\",\n value: function isEmpty() {\n return this.empty;\n }\n }, {\n key: \"isNaN\",\n value: function isNaN() {\n return this.nan;\n }\n }, {\n key: \"isInvalidate\",\n value: function isInvalidate() {\n return this.isEmpty() || this.isNaN();\n }\n }, {\n key: \"equals\",\n value: function equals(target) {\n return this.toString() === (target === null || target === void 0 ? void 0 : target.toString());\n }\n }, {\n key: \"lessEquals\",\n value: function lessEquals(target) {\n return this.add(target.negate().toString()).toNumber() <= 0;\n }\n }, {\n key: \"toNumber\",\n value: function toNumber() {\n if (this.isNaN()) {\n return NaN;\n }\n return Number(this.toString());\n }\n }, {\n key: \"toString\",\n value: function toString() {\n var safe = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : true;\n if (!safe) {\n return this.origin;\n }\n if (this.isInvalidate()) {\n return '';\n }\n return trimNumber(\"\".concat(this.getMark()).concat(this.getIntegerStr(), \".\").concat(this.getDecimalStr())).fullStr;\n }\n }]);\n return BigIntDecimal;\n}();\nexport default function getMiniDecimal(value) {\n // We use BigInt here.\n // Will fallback to Number if not support.\n if (supportBigInt()) {\n return new BigIntDecimal(value);\n }\n return new NumberDecimal(value);\n}\n/**\n * Align the logic of toFixed to around like 1.5 => 2.\n * If set `cutOnly`, will just remove the over decimal part.\n */\nexport function toFixed(numStr, separatorStr, precision) {\n var cutOnly = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n if (numStr === '') {\n return '';\n }\n var _trimNumber2 = trimNumber(numStr),\n negativeStr = _trimNumber2.negativeStr,\n integerStr = _trimNumber2.integerStr,\n decimalStr = _trimNumber2.decimalStr;\n var precisionDecimalStr = \"\".concat(separatorStr).concat(decimalStr);\n var numberWithoutDecimal = \"\".concat(negativeStr).concat(integerStr);\n if (precision >= 0) {\n // We will get last + 1 number to check if need advanced number\n var advancedNum = Number(decimalStr[precision]);\n if (advancedNum >= 5 && !cutOnly) {\n var advancedDecimal = getMiniDecimal(numStr).add(\"\".concat(negativeStr, \"0.\").concat('0'.repeat(precision)).concat(10 - advancedNum));\n return toFixed(advancedDecimal.toString(), separatorStr, precision, cutOnly);\n }\n if (precision === 0) {\n return numberWithoutDecimal;\n }\n return \"\".concat(numberWithoutDecimal).concat(separatorStr).concat(decimalStr.padEnd(precision, '0').slice(0, precision));\n }\n if (precisionDecimalStr === '.0') {\n return numberWithoutDecimal;\n }\n return \"\".concat(numberWithoutDecimal).concat(precisionDecimalStr);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\n/* eslint-disable react/no-unknown-property */\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport isMobile from \"rc-util/es/isMobile\";\n/**\n * When click and hold on a button - the speed of auto changing the value.\n */\nvar STEP_INTERVAL = 200;\n/**\n * When click and hold on a button - the delay before auto changing the value.\n */\nvar STEP_DELAY = 600;\nexport default function StepHandler(_ref) {\n var prefixCls = _ref.prefixCls,\n upNode = _ref.upNode,\n downNode = _ref.downNode,\n upDisabled = _ref.upDisabled,\n downDisabled = _ref.downDisabled,\n onStep = _ref.onStep;\n // ======================== Step ========================\n var stepTimeoutRef = React.useRef();\n var onStepRef = React.useRef();\n onStepRef.current = onStep;\n // We will interval update step when hold mouse down\n var onStepMouseDown = function onStepMouseDown(e, up) {\n e.preventDefault();\n onStepRef.current(up);\n // Loop step for interval\n function loopStep() {\n onStepRef.current(up);\n stepTimeoutRef.current = setTimeout(loopStep, STEP_INTERVAL);\n }\n // First time press will wait some time to trigger loop step update\n stepTimeoutRef.current = setTimeout(loopStep, STEP_DELAY);\n };\n var onStopStep = function onStopStep() {\n clearTimeout(stepTimeoutRef.current);\n };\n React.useEffect(function () {\n return onStopStep;\n }, []);\n // ======================= Render =======================\n if (isMobile()) {\n return null;\n }\n var handlerClassName = \"\".concat(prefixCls, \"-handler\");\n var upClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-up\"), _defineProperty({}, \"\".concat(handlerClassName, \"-up-disabled\"), upDisabled));\n var downClassName = classNames(handlerClassName, \"\".concat(handlerClassName, \"-down\"), _defineProperty({}, \"\".concat(handlerClassName, \"-down-disabled\"), downDisabled));\n var sharedHandlerProps = {\n unselectable: 'on',\n role: 'button',\n onMouseUp: onStopStep,\n onMouseLeave: onStopStep\n };\n return /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(handlerClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, true);\n },\n \"aria-label\": \"Increase Value\",\n \"aria-disabled\": upDisabled,\n className: upClassName\n }), upNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-up-inner\")\n })), /*#__PURE__*/React.createElement(\"span\", _extends({}, sharedHandlerProps, {\n onMouseDown: function onMouseDown(e) {\n onStepMouseDown(e, false);\n },\n \"aria-label\": \"Decrease Value\",\n \"aria-disabled\": downDisabled,\n className: downClassName\n }), downNode || /*#__PURE__*/React.createElement(\"span\", {\n unselectable: \"on\",\n className: \"\".concat(prefixCls, \"-handler-down-inner\")\n })));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"prefixCls\", \"className\", \"style\", \"min\", \"max\", \"step\", \"defaultValue\", \"value\", \"disabled\", \"readOnly\", \"upHandler\", \"downHandler\", \"keyboard\", \"controls\", \"stringMode\", \"parser\", \"formatter\", \"precision\", \"decimalSeparator\", \"onChange\", \"onInput\", \"onPressEnter\", \"onStep\"];\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport KeyCode from \"rc-util/es/KeyCode\";\nimport { useLayoutUpdateEffect } from \"rc-util/es/hooks/useLayoutEffect\";\nimport { composeRef } from \"rc-util/es/ref\";\nimport getMiniDecimal, { toFixed } from './utils/MiniDecimal';\nimport StepHandler from './StepHandler';\nimport { getNumberPrecision, num2str, getDecupleSteps, validateNumber } from './utils/numberUtil';\nimport useCursor from './hooks/useCursor';\nimport useFrame from './hooks/useFrame';\n/**\n * We support `stringMode` which need handle correct type when user call in onChange\n * format max or min value\n * 1. if isInvalid return null\n * 2. if precision is undefined, return decimal\n * 3. format with precision\n * I. if max > 0, round down with precision. Example: max= 3.5, precision=0 afterFormat: 3\n * II. if max < 0, round up with precision. Example: max= -3.5, precision=0 afterFormat: -4\n * III. if min > 0, round up with precision. Example: min= 3.5, precision=0 afterFormat: 4\n * IV. if min < 0, round down with precision. Example: max= -3.5, precision=0 afterFormat: -3\n */\nvar getDecimalValue = function getDecimalValue(stringMode, decimalValue) {\n if (stringMode || decimalValue.isEmpty()) {\n return decimalValue.toString();\n }\n return decimalValue.toNumber();\n};\nvar getDecimalIfValidate = function getDecimalIfValidate(value) {\n var decimal = getMiniDecimal(value);\n return decimal.isInvalidate() ? null : decimal;\n};\nvar InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-input-number' : _props$prefixCls,\n className = props.className,\n style = props.style,\n min = props.min,\n max = props.max,\n _props$step = props.step,\n step = _props$step === void 0 ? 1 : _props$step,\n defaultValue = props.defaultValue,\n value = props.value,\n disabled = props.disabled,\n readOnly = props.readOnly,\n upHandler = props.upHandler,\n downHandler = props.downHandler,\n keyboard = props.keyboard,\n _props$controls = props.controls,\n controls = _props$controls === void 0 ? true : _props$controls,\n stringMode = props.stringMode,\n parser = props.parser,\n formatter = props.formatter,\n precision = props.precision,\n decimalSeparator = props.decimalSeparator,\n onChange = props.onChange,\n onInput = props.onInput,\n onPressEnter = props.onPressEnter,\n onStep = props.onStep,\n inputProps = _objectWithoutProperties(props, _excluded);\n var inputClassName = \"\".concat(prefixCls, \"-input\");\n var inputRef = React.useRef(null);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focus = _React$useState2[0],\n setFocus = _React$useState2[1];\n var userTypingRef = React.useRef(false);\n var compositionRef = React.useRef(false);\n var shiftKeyRef = React.useRef(false);\n // ============================ Value =============================\n // Real value control\n var _React$useState3 = React.useState(function () {\n return getMiniDecimal(value !== null && value !== void 0 ? value : defaultValue);\n }),\n _React$useState4 = _slicedToArray(_React$useState3, 2),\n decimalValue = _React$useState4[0],\n setDecimalValue = _React$useState4[1];\n function setUncontrolledDecimalValue(newDecimal) {\n if (value === undefined) {\n setDecimalValue(newDecimal);\n }\n }\n // ====================== Parser & Formatter ======================\n /**\n * `precision` is used for formatter & onChange.\n * It will auto generate by `value` & `step`.\n * But it will not block user typing.\n *\n * Note: Auto generate `precision` is used for legacy logic.\n * We should remove this since we already support high precision with BigInt.\n *\n * @param number Provide which number should calculate precision\n * @param userTyping Change by user typing\n */\n var getPrecision = React.useCallback(function (numStr, userTyping) {\n if (userTyping) {\n return undefined;\n }\n if (precision >= 0) {\n return precision;\n }\n return Math.max(getNumberPrecision(numStr), getNumberPrecision(step));\n }, [precision, step]);\n // >>> Parser\n var mergedParser = React.useCallback(function (num) {\n var numStr = String(num);\n if (parser) {\n return parser(numStr);\n }\n var parsedStr = numStr;\n if (decimalSeparator) {\n parsedStr = parsedStr.replace(decimalSeparator, '.');\n }\n // [Legacy] We still support auto convert `$ 123,456` to `123456`\n return parsedStr.replace(/[^\\w.-]+/g, '');\n }, [parser, decimalSeparator]);\n // >>> Formatter\n var inputValueRef = React.useRef('');\n var mergedFormatter = React.useCallback(function (number, userTyping) {\n if (formatter) {\n return formatter(number, {\n userTyping: userTyping,\n input: String(inputValueRef.current)\n });\n }\n var str = typeof number === 'number' ? num2str(number) : number;\n // User typing will not auto format with precision directly\n if (!userTyping) {\n var mergedPrecision = getPrecision(str, userTyping);\n if (validateNumber(str) && (decimalSeparator || mergedPrecision >= 0)) {\n // Separator\n var separatorStr = decimalSeparator || '.';\n str = toFixed(str, separatorStr, mergedPrecision);\n }\n }\n return str;\n }, [formatter, getPrecision, decimalSeparator]);\n // ========================== InputValue ==========================\n /**\n * Input text value control\n *\n * User can not update input content directly. It update with follow rules by priority:\n * 1. controlled `value` changed\n * * [SPECIAL] Typing like `1.` should not immediately convert to `1`\n * 2. User typing with format (not precision)\n * 3. Blur or Enter trigger revalidate\n */\n var _React$useState5 = React.useState(function () {\n var initValue = defaultValue !== null && defaultValue !== void 0 ? defaultValue : value;\n if (decimalValue.isInvalidate() && ['string', 'number'].includes(_typeof(initValue))) {\n return Number.isNaN(initValue) ? '' : initValue;\n }\n return mergedFormatter(decimalValue.toString(), false);\n }),\n _React$useState6 = _slicedToArray(_React$useState5, 2),\n inputValue = _React$useState6[0],\n setInternalInputValue = _React$useState6[1];\n inputValueRef.current = inputValue;\n // Should always be string\n function setInputValue(newValue, userTyping) {\n setInternalInputValue(mergedFormatter(\n // Invalidate number is sometime passed by external control, we should let it go\n // Otherwise is controlled by internal interactive logic which check by userTyping\n // You can ref 'show limited value when input is not focused' test for more info.\n newValue.isInvalidate() ? newValue.toString(false) : newValue.toString(!userTyping), userTyping));\n }\n // >>> Max & Min limit\n var maxDecimal = React.useMemo(function () {\n return getDecimalIfValidate(max);\n }, [max, precision]);\n var minDecimal = React.useMemo(function () {\n return getDecimalIfValidate(min);\n }, [min, precision]);\n var upDisabled = React.useMemo(function () {\n if (!maxDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n return maxDecimal.lessEquals(decimalValue);\n }, [maxDecimal, decimalValue]);\n var downDisabled = React.useMemo(function () {\n if (!minDecimal || !decimalValue || decimalValue.isInvalidate()) {\n return false;\n }\n return decimalValue.lessEquals(minDecimal);\n }, [minDecimal, decimalValue]);\n // Cursor controller\n var _useCursor = useCursor(inputRef.current, focus),\n _useCursor2 = _slicedToArray(_useCursor, 2),\n recordCursor = _useCursor2[0],\n restoreCursor = _useCursor2[1];\n // ============================= Data =============================\n /**\n * Find target value closet within range.\n * e.g. [11, 28]:\n * 3 => 11\n * 23 => 23\n * 99 => 28\n */\n var getRangeValue = function getRangeValue(target) {\n // target > max\n if (maxDecimal && !target.lessEquals(maxDecimal)) {\n return maxDecimal;\n }\n // target < min\n if (minDecimal && !minDecimal.lessEquals(target)) {\n return minDecimal;\n }\n return null;\n };\n /**\n * Check value is in [min, max] range\n */\n var isInRange = function isInRange(target) {\n return !getRangeValue(target);\n };\n /**\n * Trigger `onChange` if value validated and not equals of origin.\n * Return the value that re-align in range.\n */\n var triggerValueUpdate = function triggerValueUpdate(newValue, userTyping) {\n var updateValue = newValue;\n var isRangeValidate = isInRange(updateValue) || updateValue.isEmpty();\n // Skip align value when trigger value is empty.\n // We just trigger onChange(null)\n // This should not block user typing\n if (!updateValue.isEmpty() && !userTyping) {\n // Revert value in range if needed\n updateValue = getRangeValue(updateValue) || updateValue;\n isRangeValidate = true;\n }\n if (!readOnly && !disabled && isRangeValidate) {\n var numStr = updateValue.toString();\n var mergedPrecision = getPrecision(numStr, userTyping);\n if (mergedPrecision >= 0) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision));\n // When to fixed. The value may out of min & max range.\n // 4 in [0, 3.8] => 3.8 => 4 (toFixed)\n if (!isInRange(updateValue)) {\n updateValue = getMiniDecimal(toFixed(numStr, '.', mergedPrecision, true));\n }\n }\n // Trigger event\n if (!updateValue.equals(decimalValue)) {\n setUncontrolledDecimalValue(updateValue);\n onChange === null || onChange === void 0 ? void 0 : onChange(updateValue.isEmpty() ? null : getDecimalValue(stringMode, updateValue));\n // Reformat input if value is not controlled\n if (value === undefined) {\n setInputValue(updateValue, userTyping);\n }\n }\n return updateValue;\n }\n return decimalValue;\n };\n // ========================== User Input ==========================\n var onNextPromise = useFrame();\n // >>> Collect input value\n var collectInputValue = function collectInputValue(inputStr) {\n recordCursor();\n // Update inputValue incase input can not parse as number\n setInternalInputValue(inputStr);\n // Parse number\n if (!compositionRef.current) {\n var finalValue = mergedParser(inputStr);\n var finalDecimal = getMiniDecimal(finalValue);\n if (!finalDecimal.isNaN()) {\n triggerValueUpdate(finalDecimal, true);\n }\n }\n // Trigger onInput later to let user customize value if they want do handle something after onChange\n onInput === null || onInput === void 0 ? void 0 : onInput(inputStr);\n // optimize for chinese input experience\n // https://github.com/ant-design/ant-design/issues/8196\n onNextPromise(function () {\n var nextInputStr = inputStr;\n if (!parser) {\n nextInputStr = inputStr.replace(/。/g, '.');\n }\n if (nextInputStr !== inputStr) {\n collectInputValue(nextInputStr);\n }\n });\n };\n // >>> Composition\n var onCompositionStart = function onCompositionStart() {\n compositionRef.current = true;\n };\n var onCompositionEnd = function onCompositionEnd() {\n compositionRef.current = false;\n collectInputValue(inputRef.current.value);\n };\n // >>> Input\n var onInternalInput = function onInternalInput(e) {\n collectInputValue(e.target.value);\n };\n // ============================= Step =============================\n var onInternalStep = function onInternalStep(up) {\n var _inputRef$current;\n // Ignore step since out of range\n if (up && upDisabled || !up && downDisabled) {\n return;\n }\n // Clear typing status since it may caused by up & down key.\n // We should sync with input value.\n userTypingRef.current = false;\n var stepDecimal = getMiniDecimal(shiftKeyRef.current ? getDecupleSteps(step) : step);\n if (!up) {\n stepDecimal = stepDecimal.negate();\n }\n var target = (decimalValue || getMiniDecimal(0)).add(stepDecimal.toString());\n var updatedValue = triggerValueUpdate(target, false);\n onStep === null || onStep === void 0 ? void 0 : onStep(getDecimalValue(stringMode, updatedValue), {\n offset: shiftKeyRef.current ? getDecupleSteps(step) : step,\n type: up ? 'up' : 'down'\n });\n (_inputRef$current = inputRef.current) === null || _inputRef$current === void 0 ? void 0 : _inputRef$current.focus();\n };\n // ============================ Flush =============================\n /**\n * Flush current input content to trigger value change & re-formatter input if needed\n */\n var flushInputValue = function flushInputValue(userTyping) {\n var parsedValue = getMiniDecimal(mergedParser(inputValue));\n var formatValue = parsedValue;\n if (!parsedValue.isNaN()) {\n // Only validate value or empty value can be re-fill to inputValue\n // Reassign the formatValue within ranged of trigger control\n formatValue = triggerValueUpdate(parsedValue, userTyping);\n } else {\n formatValue = decimalValue;\n }\n if (value !== undefined) {\n // Reset back with controlled value first\n setInputValue(decimalValue, false);\n } else if (!formatValue.isNaN()) {\n // Reset input back since no validate value\n setInputValue(formatValue, false);\n }\n };\n // Solve the issue of the event triggering sequence when entering numbers in chinese input (Safari)\n var onBeforeInput = function onBeforeInput() {\n userTypingRef.current = true;\n };\n var onKeyDown = function onKeyDown(event) {\n var which = event.which,\n shiftKey = event.shiftKey;\n userTypingRef.current = true;\n if (shiftKey) {\n shiftKeyRef.current = true;\n } else {\n shiftKeyRef.current = false;\n }\n if (which === KeyCode.ENTER) {\n if (!compositionRef.current) {\n userTypingRef.current = false;\n }\n flushInputValue(false);\n onPressEnter === null || onPressEnter === void 0 ? void 0 : onPressEnter(event);\n }\n if (keyboard === false) {\n return;\n }\n // Do step\n if (!compositionRef.current && [KeyCode.UP, KeyCode.DOWN].includes(which)) {\n onInternalStep(KeyCode.UP === which);\n event.preventDefault();\n }\n };\n var onKeyUp = function onKeyUp() {\n userTypingRef.current = false;\n shiftKeyRef.current = false;\n };\n // >>> Focus & Blur\n var onBlur = function onBlur() {\n flushInputValue(false);\n setFocus(false);\n userTypingRef.current = false;\n };\n // ========================== Controlled ==========================\n // Input by precision\n useLayoutUpdateEffect(function () {\n if (!decimalValue.isInvalidate()) {\n setInputValue(decimalValue, false);\n }\n }, [precision]);\n // Input by value\n useLayoutUpdateEffect(function () {\n var newValue = getMiniDecimal(value);\n setDecimalValue(newValue);\n var currentParsedValue = getMiniDecimal(mergedParser(inputValue));\n // When user typing from `1.2` to `1.`, we should not convert to `1` immediately.\n // But let it go if user set `formatter`\n if (!newValue.equals(currentParsedValue) || !userTypingRef.current || formatter) {\n // Update value as effect\n setInputValue(newValue, userTypingRef.current);\n }\n }, [value]);\n // ============================ Cursor ============================\n useLayoutUpdateEffect(function () {\n if (formatter) {\n restoreCursor();\n }\n }, [inputValue]);\n // ============================ Render ============================\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(prefixCls, className, (_classNames = {}, _defineProperty(_classNames, \"\".concat(prefixCls, \"-focused\"), focus), _defineProperty(_classNames, \"\".concat(prefixCls, \"-disabled\"), disabled), _defineProperty(_classNames, \"\".concat(prefixCls, \"-readonly\"), readOnly), _defineProperty(_classNames, \"\".concat(prefixCls, \"-not-a-number\"), decimalValue.isNaN()), _defineProperty(_classNames, \"\".concat(prefixCls, \"-out-of-range\"), !decimalValue.isInvalidate() && !isInRange(decimalValue)), _classNames)),\n style: style,\n onFocus: function onFocus() {\n setFocus(true);\n },\n onBlur: onBlur,\n onKeyDown: onKeyDown,\n onKeyUp: onKeyUp,\n onCompositionStart: onCompositionStart,\n onCompositionEnd: onCompositionEnd,\n onBeforeInput: onBeforeInput\n }, controls && /*#__PURE__*/React.createElement(StepHandler, {\n prefixCls: prefixCls,\n upNode: upHandler,\n downNode: downHandler,\n upDisabled: upDisabled,\n downDisabled: downDisabled,\n onStep: onInternalStep\n }), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(inputClassName, \"-wrap\")\n }, /*#__PURE__*/React.createElement(\"input\", _extends({\n autoComplete: \"off\",\n role: \"spinbutton\",\n \"aria-valuemin\": min,\n \"aria-valuemax\": max,\n \"aria-valuenow\": decimalValue.isInvalidate() ? null : decimalValue.toString(),\n step: step\n }, inputProps, {\n ref: composeRef(inputRef, ref),\n className: inputClassName,\n value: inputValue,\n onChange: onInternalInput,\n disabled: disabled,\n readOnly: readOnly\n }))));\n});\nInputNumber.displayName = 'InputNumber';\nexport default InputNumber;","import { useRef } from 'react';\nimport warning from \"rc-util/es/warning\";\n/**\n * Keep input cursor in the correct position if possible.\n * Is this necessary since we have `formatter` which may mass the content?\n */\nexport default function useCursor(input, focused) {\n var selectionRef = useRef(null);\n function recordCursor() {\n // Record position\n try {\n var start = input.selectionStart,\n end = input.selectionEnd,\n value = input.value;\n var beforeTxt = value.substring(0, start);\n var afterTxt = value.substring(end);\n selectionRef.current = {\n start: start,\n end: end,\n value: value,\n beforeTxt: beforeTxt,\n afterTxt: afterTxt\n };\n } catch (e) {\n // Fix error in Chrome:\n // Failed to read the 'selectionStart' property from 'HTMLInputElement'\n // http://stackoverflow.com/q/21177489/3040605\n }\n }\n /**\n * Restore logic:\n * 1. back string same\n * 2. start string same\n */\n function restoreCursor() {\n if (input && selectionRef.current && focused) {\n try {\n var value = input.value;\n var _selectionRef$current = selectionRef.current,\n beforeTxt = _selectionRef$current.beforeTxt,\n afterTxt = _selectionRef$current.afterTxt,\n start = _selectionRef$current.start;\n var startPos = value.length;\n if (value.endsWith(afterTxt)) {\n startPos = value.length - selectionRef.current.afterTxt.length;\n } else if (value.startsWith(beforeTxt)) {\n startPos = beforeTxt.length;\n } else {\n var beforeLastChar = beforeTxt[start - 1];\n var newIndex = value.indexOf(beforeLastChar, start - 1);\n if (newIndex !== -1) {\n startPos = newIndex + 1;\n }\n }\n input.setSelectionRange(startPos, startPos);\n } catch (e) {\n warning(false, \"Something warning of cursor restore. Please fire issue about this: \".concat(e.message));\n }\n }\n }\n return [recordCursor, restoreCursor];\n}","import { useRef, useEffect } from 'react';\nimport raf from \"rc-util/es/raf\";\n/**\n * Always trigger latest once when call multiple time\n */\nexport default (function () {\n var idRef = useRef(0);\n var cleanUp = function cleanUp() {\n raf.cancel(idRef.current);\n };\n useEffect(function () {\n return cleanUp;\n }, []);\n return function (callback) {\n cleanUp();\n idRef.current = raf(function () {\n callback();\n });\n };\n});","import InputNumber from './InputNumber';\nexport default InputNumber;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { genActiveStyle, genBasicInputStyle, genDisabledStyle, genHoverStyle, genInputGroupStyle, genPlaceholderStyle, genStatusStyle, initInputToken } from '../../input/style';\nimport { genComponentStyleHook } from '../../theme/internal';\nimport { resetComponent, resetIcon } from '../../style';\nimport { genCompactItemStyle } from '../../style/compact-item';\nvar genInputNumberStyles = function genInputNumberStyles(token) {\n var _wrapper, _componentCls;\n var componentCls = token.componentCls,\n lineWidth = token.lineWidth,\n lineType = token.lineType,\n colorBorder = token.colorBorder,\n borderRadius = token.borderRadius,\n fontSizeLG = token.fontSizeLG,\n controlHeightLG = token.controlHeightLG,\n controlHeightSM = token.controlHeightSM,\n colorError = token.colorError,\n inputPaddingHorizontalSM = token.inputPaddingHorizontalSM,\n colorTextDescription = token.colorTextDescription,\n motionDurationMid = token.motionDurationMid,\n colorPrimary = token.colorPrimary,\n controlHeight = token.controlHeight,\n inputPaddingHorizontal = token.inputPaddingHorizontal,\n colorBgContainer = token.colorBgContainer,\n colorTextDisabled = token.colorTextDisabled,\n borderRadiusSM = token.borderRadiusSM,\n borderRadiusLG = token.borderRadiusLG,\n controlWidth = token.controlWidth,\n handleVisible = token.handleVisible;\n return [_defineProperty({}, componentCls, _extends(_extends(_extends(_extends(_extends(_extends({}, resetComponent(token)), genBasicInputStyle(token)), genStatusStyle(token)), {\n display: 'inline-block',\n width: controlWidth,\n margin: 0,\n padding: 0,\n border: lineWidth + \"px \" + lineType + \" \" + colorBorder,\n borderRadius: borderRadius\n }), genCompactItemStyle(token, componentCls)), _defineProperty({\n '&-rtl': _defineProperty({\n direction: 'rtl'\n }, componentCls + \"-input\", {\n direction: 'rtl'\n }),\n '&-lg': _defineProperty({\n padding: 0,\n fontSize: fontSizeLG,\n borderRadius: borderRadiusLG\n }, \"input\" + componentCls + \"-input\", {\n height: controlHeightLG - 2 * lineWidth\n }),\n '&-sm': _defineProperty({\n padding: 0,\n borderRadius: borderRadiusSM\n }, \"input\" + componentCls + \"-input\", {\n height: controlHeightSM - 2 * lineWidth,\n padding: \"0 \" + inputPaddingHorizontalSM + \"px\"\n }),\n '&:hover': _extends({}, genHoverStyle(token)),\n '&-focused': _extends({}, genActiveStyle(token)),\n '&-disabled': _extends(_extends({}, genDisabledStyle(token)), _defineProperty({}, componentCls + \"-input\", {\n cursor: 'not-allowed'\n })),\n // ===================== Out Of Range =====================\n '&-out-of-range': {\n input: {\n color: colorError\n }\n },\n // Style for input-group: input with label, with button or dropdown...\n '&-group': _extends(_extends(_extends({}, resetComponent(token)), genInputGroupStyle(token)), {\n '&-wrapper': (_wrapper = {\n display: 'inline-block',\n textAlign: 'start',\n verticalAlign: 'top'\n }, _defineProperty(_wrapper, componentCls + \"-affix-wrapper\", {\n width: '100%'\n }), _defineProperty(_wrapper, '&-lg', _defineProperty({}, componentCls + \"-group-addon\", {\n borderRadius: borderRadiusLG\n })), _defineProperty(_wrapper, '&-sm', _defineProperty({}, componentCls + \"-group-addon\", {\n borderRadius: borderRadiusSM\n })), _wrapper)\n })\n }, componentCls, {\n '&-input': _extends(_extends({\n width: '100%',\n height: controlHeight - 2 * lineWidth,\n padding: \"0 \" + inputPaddingHorizontal + \"px\",\n textAlign: 'start',\n backgroundColor: 'transparent',\n border: 0,\n borderRadius: borderRadius,\n outline: 0,\n transition: \"all \" + motionDurationMid + \" linear\",\n appearance: 'textfield',\n color: token.colorText,\n fontSize: 'inherit',\n verticalAlign: 'top'\n }, genPlaceholderStyle(token.colorTextPlaceholder)), {\n '&[type=\"number\"]::-webkit-inner-spin-button, &[type=\"number\"]::-webkit-outer-spin-button': {\n margin: 0,\n /* stylelint-disable-next-line property-no-vendor-prefix */\n webkitAppearance: 'none',\n appearance: 'none'\n }\n })\n }))), // Handler\n _defineProperty({}, componentCls, (_componentCls = {}, _defineProperty(_componentCls, \"&:hover \" + componentCls + \"-handler-wrap, &-focused \" + componentCls + \"-handler-wrap\", {\n opacity: 1\n }), _defineProperty(_componentCls, componentCls + \"-handler-wrap\", _defineProperty({\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n width: token.handleWidth,\n height: '100%',\n background: colorBgContainer,\n borderStartStartRadius: 0,\n borderStartEndRadius: borderRadius,\n borderEndEndRadius: borderRadius,\n borderEndStartRadius: 0,\n opacity: handleVisible === true ? 1 : 0,\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'stretch',\n transition: \"opacity \" + motionDurationMid + \" linear \" + motionDurationMid\n }, componentCls + \"-handler\", _defineProperty({\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n flex: 'auto',\n height: '40%'\n }, \"\\n \" + componentCls + \"-handler-up-inner,\\n \" + componentCls + \"-handler-down-inner\\n \", {\n marginInlineEnd: 0,\n fontSize: token.handleFontSize\n }))), _defineProperty(_componentCls, componentCls + \"-handler\", {\n height: '50%',\n overflow: 'hidden',\n color: colorTextDescription,\n fontWeight: 'bold',\n lineHeight: 0,\n textAlign: 'center',\n cursor: 'pointer',\n borderInlineStart: lineWidth + \"px \" + lineType + \" \" + colorBorder,\n transition: \"all \" + motionDurationMid + \" linear\",\n '&:active': {\n background: token.colorFillAlter\n },\n // Hover\n '&:hover': _defineProperty({\n height: \"60%\"\n }, \"\\n \" + componentCls + \"-handler-up-inner,\\n \" + componentCls + \"-handler-down-inner\\n \", {\n color: colorPrimary\n }),\n '&-up-inner, &-down-inner': _extends(_extends({}, resetIcon()), {\n color: colorTextDescription,\n transition: \"all \" + motionDurationMid + \" linear\",\n userSelect: 'none'\n })\n }), _defineProperty(_componentCls, componentCls + \"-handler-up\", {\n borderStartEndRadius: borderRadius\n }), _defineProperty(_componentCls, componentCls + \"-handler-down\", {\n borderBlockStart: lineWidth + \"px \" + lineType + \" \" + colorBorder,\n borderEndEndRadius: borderRadius\n }), _defineProperty(_componentCls, '&-disabled, &-readonly', _defineProperty({}, componentCls + \"-handler-wrap\", {\n display: 'none'\n })), _defineProperty(_componentCls, \"\\n \" + componentCls + \"-handler-up-disabled,\\n \" + componentCls + \"-handler-down-disabled\\n \", {\n cursor: 'not-allowed'\n }), _defineProperty(_componentCls, \"\\n \" + componentCls + \"-handler-up-disabled:hover &-handler-up-inner,\\n \" + componentCls + \"-handler-down-disabled:hover &-handler-down-inner\\n \", {\n color: colorTextDisabled\n }), _componentCls)), // Border-less\n _defineProperty({}, componentCls + \"-borderless\", _defineProperty({\n borderColor: 'transparent',\n boxShadow: 'none'\n }, componentCls + \"-handler-down\", {\n borderBlockStartWidth: 0\n }))];\n};\nvar genAffixWrapperStyles = function genAffixWrapperStyles(token) {\n var _extends4;\n var componentCls = token.componentCls,\n inputPaddingHorizontal = token.inputPaddingHorizontal,\n inputAffixPadding = token.inputAffixPadding,\n controlWidth = token.controlWidth,\n borderRadiusLG = token.borderRadiusLG,\n borderRadiusSM = token.borderRadiusSM;\n return _defineProperty({}, componentCls + \"-affix-wrapper\", _extends(_extends(_extends({}, genBasicInputStyle(token)), genStatusStyle(token)), (_extends4 = {\n // or number handler will cover form status\n position: 'relative',\n display: 'inline-flex',\n width: controlWidth,\n padding: 0,\n paddingInlineStart: inputPaddingHorizontal,\n '&-lg': {\n borderRadius: borderRadiusLG\n },\n '&-sm': {\n borderRadius: borderRadiusSM\n },\n '&:not(&-disabled):hover': _extends(_extends({}, genHoverStyle(token)), {\n zIndex: 1\n }),\n '&-focused, &:focus': {\n zIndex: 1\n },\n '&-disabled': _defineProperty({}, componentCls + \"[disabled]\", {\n background: 'transparent'\n })\n }, _defineProperty(_extends4, \"> div\" + componentCls, _defineProperty({\n width: '100%',\n border: 'none',\n outline: 'none'\n }, \"&\" + componentCls + \"-focused\", {\n boxShadow: 'none !important'\n })), _defineProperty(_extends4, \"input\" + componentCls + \"-input\", {\n padding: 0\n }), _defineProperty(_extends4, '&::before', {\n width: 0,\n visibility: 'hidden',\n content: '\"\\\\a0\"'\n }), _defineProperty(_extends4, componentCls + \"-handler-wrap\", {\n zIndex: 2\n }), _defineProperty(_extends4, componentCls, {\n '&-prefix, &-suffix': {\n display: 'flex',\n flex: 'none',\n alignItems: 'center',\n pointerEvents: 'none'\n },\n '&-prefix': {\n marginInlineEnd: inputAffixPadding\n },\n '&-suffix': {\n position: 'absolute',\n insetBlockStart: 0,\n insetInlineEnd: 0,\n zIndex: 1,\n height: '100%',\n marginInlineEnd: inputPaddingHorizontal,\n marginInlineStart: inputAffixPadding\n }\n }), _extends4)));\n};\n// ============================== Export ==============================\nexport default genComponentStyleHook('InputNumber', function (token) {\n var inputNumberToken = initInputToken(token);\n return [genInputNumberStyles(inputNumberToken), genAffixWrapperStyles(inputNumberToken)];\n}, function (token) {\n return {\n controlWidth: 90,\n handleWidth: token.controlHeightSM - token.lineWidth * 2,\n handleFontSize: token.fontSize / 2,\n handleVisible: 'auto'\n };\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nvar __rest = this && this.__rest || function (s, e) {\n var t = {};\n for (var p in s) {\n if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0) t[p] = s[p];\n }\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\") for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i])) t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport DownOutlined from \"@ant-design/icons/es/icons/DownOutlined\";\nimport UpOutlined from \"@ant-design/icons/es/icons/UpOutlined\";\nimport classNames from 'classnames';\nimport RcInputNumber from 'rc-input-number';\nimport * as React from 'react';\nimport { useContext } from 'react';\nimport ConfigProvider, { ConfigContext } from '../config-provider';\nimport DisabledContext from '../config-provider/DisabledContext';\nimport SizeContext from '../config-provider/SizeContext';\nimport { FormItemInputContext, NoFormStyle } from '../form/context';\nimport { NoCompactStyle, useCompactItemContext } from '../space/Compact';\nimport { cloneElement } from '../_util/reactNode';\nimport { getMergedStatus, getStatusClassNames } from '../_util/statusUtils';\nimport useStyle from './style';\nvar InputNumber = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _classNames;\n var _React$useContext = React.useContext(ConfigContext),\n getPrefixCls = _React$useContext.getPrefixCls,\n direction = _React$useContext.direction;\n var size = React.useContext(SizeContext);\n var _React$useState = React.useState(false),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n focused = _React$useState2[0],\n setFocus = _React$useState2[1];\n var inputRef = React.useRef(null);\n React.useImperativeHandle(ref, function () {\n return inputRef.current;\n });\n var className = props.className,\n customizeSize = props.size,\n customDisabled = props.disabled,\n customizePrefixCls = props.prefixCls,\n addonBefore = props.addonBefore,\n addonAfter = props.addonAfter,\n prefix = props.prefix,\n _props$bordered = props.bordered,\n bordered = _props$bordered === void 0 ? true : _props$bordered,\n readOnly = props.readOnly,\n customStatus = props.status,\n controls = props.controls,\n others = __rest(props, [\"className\", \"size\", \"disabled\", \"prefixCls\", \"addonBefore\", \"addonAfter\", \"prefix\", \"bordered\", \"readOnly\", \"status\", \"controls\"]);\n var prefixCls = getPrefixCls('input-number', customizePrefixCls);\n // Style\n var _useStyle = useStyle(prefixCls),\n _useStyle2 = _slicedToArray(_useStyle, 2),\n wrapSSR = _useStyle2[0],\n hashId = _useStyle2[1];\n var _useCompactItemContex = useCompactItemContext(prefixCls, direction),\n compactSize = _useCompactItemContex.compactSize,\n compactItemClassnames = _useCompactItemContex.compactItemClassnames;\n var upIcon = /*#__PURE__*/React.createElement(UpOutlined, {\n className: prefixCls + \"-handler-up-inner\"\n });\n var downIcon = /*#__PURE__*/React.createElement(DownOutlined, {\n className: prefixCls + \"-handler-down-inner\"\n });\n var controlsTemp = typeof controls === 'boolean' ? controls : undefined;\n if (_typeof(controls) === 'object') {\n upIcon = typeof controls.upIcon === 'undefined' ? upIcon : /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-handler-up-inner\"\n }, controls.upIcon);\n downIcon = typeof controls.downIcon === 'undefined' ? downIcon : /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-handler-down-inner\"\n }, controls.downIcon);\n }\n var _useContext = useContext(FormItemInputContext),\n hasFeedback = _useContext.hasFeedback,\n contextStatus = _useContext.status,\n isFormItemInput = _useContext.isFormItemInput,\n feedbackIcon = _useContext.feedbackIcon;\n var mergedStatus = getMergedStatus(contextStatus, customStatus);\n var mergeSize = compactSize || customizeSize || size;\n // ===================== Disabled =====================\n var disabled = React.useContext(DisabledContext);\n var mergedDisabled = customDisabled !== null && customDisabled !== void 0 ? customDisabled : disabled;\n var inputNumberClass = classNames((_classNames = {}, _defineProperty(_classNames, prefixCls + \"-lg\", mergeSize === 'large'), _defineProperty(_classNames, prefixCls + \"-sm\", mergeSize === 'small'), _defineProperty(_classNames, prefixCls + \"-rtl\", direction === 'rtl'), _defineProperty(_classNames, prefixCls + \"-borderless\", !bordered), _defineProperty(_classNames, prefixCls + \"-in-form-item\", isFormItemInput), _classNames), getStatusClassNames(prefixCls, mergedStatus), compactItemClassnames, hashId, className);\n var element = /*#__PURE__*/React.createElement(RcInputNumber, _extends({\n ref: inputRef,\n disabled: mergedDisabled,\n className: inputNumberClass,\n upHandler: upIcon,\n downHandler: downIcon,\n prefixCls: prefixCls,\n readOnly: readOnly,\n controls: controlsTemp\n }, others));\n if (prefix != null || hasFeedback) {\n var _classNames2;\n var affixWrapperCls = classNames(prefixCls + \"-affix-wrapper\", getStatusClassNames(prefixCls + \"-affix-wrapper\", mergedStatus, hasFeedback), (_classNames2 = {}, _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-focused\", focused), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-disabled\", props.disabled), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-sm\", mergeSize === 'small'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-lg\", mergeSize === 'large'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-rtl\", direction === 'rtl'), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-readonly\", readOnly), _defineProperty(_classNames2, prefixCls + \"-affix-wrapper-borderless\", !bordered), _defineProperty(_classNames2, \"\" + className, !(addonBefore || addonAfter) && className), _classNames2), hashId);\n element = /*#__PURE__*/React.createElement(\"div\", {\n className: affixWrapperCls,\n style: props.style,\n onMouseUp: function onMouseUp() {\n return inputRef.current.focus();\n }\n }, prefix && /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-prefix\"\n }, prefix), cloneElement(element, {\n style: null,\n value: props.value,\n onFocus: function onFocus(event) {\n var _a;\n setFocus(true);\n (_a = props.onFocus) === null || _a === void 0 ? void 0 : _a.call(props, event);\n },\n onBlur: function onBlur(event) {\n var _a;\n setFocus(false);\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);\n }\n }), hasFeedback && /*#__PURE__*/React.createElement(\"span\", {\n className: prefixCls + \"-suffix\"\n }, feedbackIcon));\n }\n if (addonBefore != null || addonAfter != null) {\n var _classNames4;\n var wrapperClassName = prefixCls + \"-group\";\n var addonClassName = wrapperClassName + \"-addon\";\n var addonBeforeNode = addonBefore ? /*#__PURE__*/React.createElement(\"div\", {\n className: addonClassName\n }, addonBefore) : null;\n var addonAfterNode = addonAfter ? /*#__PURE__*/React.createElement(\"div\", {\n className: addonClassName\n }, addonAfter) : null;\n var mergedWrapperClassName = classNames(prefixCls + \"-wrapper\", wrapperClassName, hashId, _defineProperty({}, wrapperClassName + \"-rtl\", direction === 'rtl'));\n var mergedGroupClassName = classNames(prefixCls + \"-group-wrapper\", (_classNames4 = {}, _defineProperty(_classNames4, prefixCls + \"-group-wrapper-sm\", mergeSize === 'small'), _defineProperty(_classNames4, prefixCls + \"-group-wrapper-lg\", mergeSize === 'large'), _defineProperty(_classNames4, prefixCls + \"-group-wrapper-rtl\", direction === 'rtl'), _classNames4), getStatusClassNames(prefixCls + \"-group-wrapper\", mergedStatus, hasFeedback), hashId, className);\n element = /*#__PURE__*/React.createElement(\"div\", {\n className: mergedGroupClassName,\n style: props.style\n }, /*#__PURE__*/React.createElement(\"div\", {\n className: mergedWrapperClassName\n }, addonBeforeNode && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n status: true,\n override: true\n }, addonBeforeNode)), cloneElement(element, {\n style: null,\n disabled: mergedDisabled\n }), addonAfterNode && /*#__PURE__*/React.createElement(NoCompactStyle, null, /*#__PURE__*/React.createElement(NoFormStyle, {\n status: true,\n override: true\n }, addonAfterNode))));\n }\n return wrapSSR(element);\n});\nvar TypedInputNumber = InputNumber;\nvar PureInputNumber = function PureInputNumber(props) {\n return /*#__PURE__*/React.createElement(ConfigProvider, {\n theme: {\n components: {\n InputNumber: {\n handleVisible: true\n }\n }\n }\n }, /*#__PURE__*/React.createElement(InputNumber, _extends({}, props)));\n};\nTypedInputNumber._InternalPanelDoNotUseOrYouWillBeFired = PureInputNumber;\nexport default TypedInputNumber;","import { InputNumber } from 'antd';\nimport styled from 'styled-components';\n\nexport const NumericInput = styled(InputNumber)`\n &.ant-input-number {\n box-sizing: border-box;\n width: ${(props) => (props.width ? props.width : '100%')};\n height: ${(props) => (props.height ? props.height : '35px')};\n background: ${(props) => props.theme.palette.greyscale[0]};\n font-size: ${(props) => props.theme.palette.textFontSize[7]};\n line-height: ${(props) => props.theme.palette.textLineHeight[5]};\n border-radius: 4px;\n display: block;\n\n .ant-input-number-input-wrap,\n .ant-input-number-input {\n height: 100%;\n &::placeholder {\n color: ${(props) => props.theme.palette.text[3]};\n }\n }\n\n &.ant-input-disabled,\n &.ant-input-disabled:hover {\n //background: ${(props) => props.theme.palette.greyscale[0]};\n border-color: ${(props) => props.theme.palette.greyscale[3]};\n color: ${(props) => props.theme.palette.text[3]};\n }\n\n &:hover {\n border-color: ${(props) => props.theme.palette.primary[0]};\n }\n\n &:focus,\n &:active {\n border-color: ${(props) => props.theme.palette.primary[0]};\n box-shadow: ${(props) => props.theme.palette.shadow[1]};\n }\n }\n\n .ant-input-number-wrapper .ant-input-number-group-addon {\n font-size: ${(props) => props.theme.palette.textFontSize[7]};\n color: ${(props) => props.theme.palette.text[0]};\n }\n`;\n","import { ReactElement } from 'react';\nimport { Input, InputProps } from 'antd';\nimport styled from 'styled-components';\n\nimport { Label } from '../Label';\n\ninterface IProps extends InputProps {\n // label props\n label?: string;\n labelStyle?: React.CSSProperties;\n requiredSymbol?: boolean;\n\n // input props\n id?: string;\n name?: string;\n className?: string;\n placeholder?: string;\n value?: string;\n type?: string;\n onChange?: (event) => void;\n style?: React.CSSProperties;\n displayBr?: boolean;\n}\n\nconst InputComponent = (props: IProps): ReactElement => {\n const {\n label,\n labelStyle,\n requiredSymbol,\n displayBr = true,\n ...rest\n } = props;\n\n return (\n <>\n {label ? (\n <>\n \n {displayBr &&
}\n \n ) : (\n <>\n )}\n \n \n );\n};\n\nconst PasswordInput = styled(InputComponent)`\n &.ant-input-password {\n margin: 8px 0;\n height: 37px;\n border-radius: 4px;\n padding: 8px 10px;\n font-size: 15px;\n display: flex;\n align-items: center;\n }\n`;\n\nexport { PasswordInput };\nexport default PasswordInput;\n","import { ReactElement, useRef } from 'react';\nimport { Input } from 'antd';\nimport type { TextAreaProps } from 'antd/es/input';\nimport styled from 'styled-components';\n\nimport { Label } from '../Label';\n\nconst { TextArea: AntTextArea } = Input;\n\ninterface IProps extends TextAreaProps {\n label?: string;\n requiredSymbol?: boolean;\n valid?: boolean;\n width?: number | string;\n height?: number | string;\n autofit?: boolean;\n isMobile?: boolean;\n}\n\nconst TextArea = (props: IProps): ReactElement => {\n const { label, requiredSymbol, autofit = false, ...res } = props;\n\n const ref = useRef(null);\n\n // resize textarea to the height of content\n function fitToContent() {\n if (!ref) return;\n const textArea = ref.current.resizableTextArea.textArea;\n\n const adjustedHeight = Math.max(\n textArea.scrollHeight,\n textArea.clientHeight\n );\n if (adjustedHeight > textArea.clientHeight)\n textArea.style.height = adjustedHeight + 'px';\n }\n\n return (\n <>\n {label && (\n <>\n
Profile\n \n \n Settings\n \n Log Out\n \n }\n >\n \n {avatarPhotoUrl ? (\n \n ) : (\n \n )}\n \n \n );\n};\n\nconst ProfileAvatar = styled.div`\n cursor: pointer;\n\n img {\n object-fit: cover;\n }\n`;\nconst ProfileMenu = styled.div`\n display: flex;\n flex-direction: column;\n row-gap: 16px;\n\n a {\n margin: 0;\n font-size: 14px;\n line-height: ${(props) => props.theme.palette.textLineHeight[3]};\n color: black;\n display: flex;\n justify-content: space-between;\n align-items: center;\n }\n span {\n margin-right: 10%;\n }\n`;\n\nexport default Profile;\n","import Link from 'next/link';\nimport { useRouter } from 'next/router';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport styled from 'styled-components';\n\nimport { HamburgerMenuIcon } from '@assets/icons';\nimport { EverysetLogo } from '@assets/img';\nimport SaaSLogo from '@assets/img/SaaSLogo';\nimport type { EverysetUser } from '@lib/types/user.types';\n\nimport Profile from './Profile';\n\ninterface HeaderProps {\n toggleCollapsed: () => void;\n impersonatedUserData?: EverysetUser | undefined;\n}\n\nconst Header = ({\n toggleCollapsed,\n impersonatedUserData,\n}: HeaderProps): JSX.Element => {\n const router = useRouter();\n const PublicApplication =\n router?.asPath.includes('/apps') ||\n router?.asPath.includes('/apps/[application_id]/SubmitApplication');\n\n const getImpersonatedUserFullName = () => {\n if (!impersonatedUserData) {\n return '';\n }\n return `${impersonatedUserData.first_name}${\n impersonatedUserData.last_name ? ` ${impersonatedUserData.last_name}` : ''\n }`;\n };\n\n const { isEveryset } = useClientEnvironmentContext();\n\n return (\n \n {!PublicApplication && (\n \n \n \n \n\n \n {isEveryset ? (\n \n \n \n ) : (\n \n \n \n )}\n \n \n )}\n \n {PublicApplication && isEveryset && (\n \n )}\n {PublicApplication && !isEveryset && (\n \n )}\n {impersonatedUserData ? (\n
\n You are currently impersonating {getImpersonatedUserFullName()}. All\n activity will be logged.\n
\n ) : null}\n
\n {!PublicApplication && (\n \n \n \n )}\n
\n );\n};\n\ntype StyledHeaderProps = {\n isImpersonating: boolean;\n};\n\nconst StyledHeader = styled.header`\n background: ${({ theme, isImpersonating }) =>\n isImpersonating ? theme.palette.greyscale[7] : theme.palette.greyscale[1]};\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding: 0 12px;\n height: 65px;\n box-shadow: ${(props) => props.theme.palette.shadow[0]};\n position: fixed;\n top: 0;\n width: 100%;\n z-index: 47;\n`;\n\nconst HeaderSection = styled.section`\n display: flex;\n align-items: center;\n gap: 16px;\n\n .impersonatingMessage {\n color: white;\n font-size: 14px;\n }\n`;\n\nconst StyledLogoLink = styled.a`\n cursor: pointer;\n`;\n\nconst StyledImgButton = styled.div`\n height: 27px;\n cursor: pointer;\n margin: 12px;\n`;\n\nexport default Header;\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __read, __spread, __values } from \"tslib\";\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nvar LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n};\nexport var LOG_TYPE;\n(function (LOG_TYPE) {\n LOG_TYPE[\"DEBUG\"] = \"DEBUG\";\n LOG_TYPE[\"ERROR\"] = \"ERROR\";\n LOG_TYPE[\"INFO\"] = \"INFO\";\n LOG_TYPE[\"WARN\"] = \"WARN\";\n LOG_TYPE[\"VERBOSE\"] = \"VERBOSE\";\n})(LOG_TYPE || (LOG_TYPE = {}));\n/**\n * Write logs\n * @class Logger\n */\nvar ConsoleLogger = /** @class */ (function () {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n function ConsoleLogger(name, level) {\n if (level === void 0) { level = LOG_TYPE.WARN; }\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n ConsoleLogger.prototype._padding = function (n) {\n return n < 10 ? '0' + n : '' + n;\n };\n ConsoleLogger.prototype._ts = function () {\n var dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n };\n ConsoleLogger.prototype.configure = function (config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n };\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LOG_TYPE|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype._log = function (type) {\n var e_1, _a;\n var msg = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n msg[_i - 1] = arguments[_i];\n }\n var logger_level_name = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n logger_level_name = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n logger_level_name = window.LOG_LEVEL;\n }\n var logger_level = LOG_LEVELS[logger_level_name];\n var type_level = LOG_LEVELS[type];\n if (!(type_level >= logger_level)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n var log = console.log.bind(console);\n if (type === LOG_TYPE.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LOG_TYPE.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n var prefix = \"[\" + type + \"] \" + this._ts() + \" \" + this.name;\n var message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = prefix + \" - \" + msg[0];\n log(message);\n }\n else if (msg.length === 1) {\n message = prefix + \" \" + msg[0];\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n var obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = prefix + \" - \" + msg[0] + \" \" + obj;\n log(prefix + \" - \" + msg[0], obj);\n }\n else {\n message = prefix + \" \" + msg;\n log(prefix, msg);\n }\n try {\n for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {\n var plugin = _c.value;\n var logEvent = { message: message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.log = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.info = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.warn = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.WARN], msg));\n };\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.error = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.ERROR], msg));\n };\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.debug = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.DEBUG], msg));\n };\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.verbose = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.VERBOSE], msg));\n };\n ConsoleLogger.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n };\n ConsoleLogger.prototype.listPluggables = function () {\n return this._pluggables;\n };\n ConsoleLogger.LOG_LEVEL = null;\n return ConsoleLogger;\n}());\nexport { ConsoleLogger };\n//# sourceMappingURL=ConsoleLogger.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nvar AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nvar AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nvar AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nvar AWS_CLOUDWATCH_CATEGORY = 'Logging';\nvar AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nvar NO_CREDS_ERROR_STRING = 'No credentials';\nvar RETRY_ERROR_CODES = [\n 'ResourceNotFoundException',\n 'InvalidSequenceTokenException',\n];\nexport { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, };\n//# sourceMappingURL=Constants.js.map","import { __read } from \"tslib\";\nimport { ConsoleLogger as LoggerClass } from './Logger';\nvar logger = new LoggerClass('Amplify');\nvar AmplifyClass = /** @class */ (function () {\n function AmplifyClass() {\n // Everything that is `register`ed is tracked here\n this._components = [];\n this._config = {};\n // All modules (with `getModuleName()`) are stored here for dependency injection\n this._modules = {};\n // for backward compatibility to avoid breaking change\n // if someone is using like Amplify.Auth\n this.Auth = null;\n this.Analytics = null;\n this.API = null;\n this.Credentials = null;\n this.Storage = null;\n this.I18n = null;\n this.Cache = null;\n this.PubSub = null;\n this.Interactions = null;\n this.Pushnotification = null;\n this.UI = null;\n this.XR = null;\n this.Predictions = null;\n this.DataStore = null;\n this.Geo = null;\n this.Notifications = null;\n this.Logger = LoggerClass;\n this.ServiceWorker = null;\n }\n AmplifyClass.prototype.register = function (comp) {\n logger.debug('component registered in amplify', comp);\n this._components.push(comp);\n if (typeof comp.getModuleName === 'function') {\n this._modules[comp.getModuleName()] = comp;\n this[comp.getModuleName()] = comp;\n }\n else {\n logger.debug('no getModuleName method for component', comp);\n }\n // Finally configure this new component(category) loaded\n // With the new modularization changes in Amplify V3, all the Amplify\n // component are not loaded/registered right away but when they are\n // imported (and hence instantiated) in the client's app. This ensures\n // that all new components imported get correctly configured with the\n // configuration that Amplify.configure() was called with.\n comp.configure(this._config);\n };\n AmplifyClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config;\n this._config = Object.assign(this._config, config);\n logger.debug('amplify config', this._config);\n // Dependency Injection via property-setting.\n // This avoids introducing a public method/interface/setter that's difficult to remove later.\n // Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n Object.entries(this._modules).forEach(function (_a) {\n var _b = __read(_a, 2), Name = _b[0], comp = _b[1];\n // e.g. Auth.*\n Object.keys(comp).forEach(function (property) {\n // e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n if (_this._modules[property]) {\n comp[property] = _this._modules[property];\n }\n });\n });\n this._components.map(function (comp) {\n comp.configure(_this._config);\n });\n return this._config;\n };\n AmplifyClass.prototype.addPluggable = function (pluggable) {\n if (pluggable &&\n pluggable['getCategory'] &&\n typeof pluggable['getCategory'] === 'function') {\n this._components.map(function (comp) {\n if (comp['addPluggable'] &&\n typeof comp['addPluggable'] === 'function') {\n comp.addPluggable(pluggable);\n }\n });\n }\n };\n return AmplifyClass;\n}());\nexport { AmplifyClass };\nexport var Amplify = new AmplifyClass();\n//# sourceMappingURL=Amplify.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar dataMemory = {};\n/** @class */\nvar MemoryStorage = /** @class */ (function () {\n function MemoryStorage() {\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function (key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n };\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n MemoryStorage.getItem = function (key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key)\n ? dataMemory[key]\n : undefined;\n };\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n MemoryStorage.removeItem = function (key) {\n return delete dataMemory[key];\n };\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n MemoryStorage.clear = function () {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}());\nexport { MemoryStorage };\nvar StorageHelper = /** @class */ (function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.amplify.test-ls', 1);\n this.storageWindow.removeItem('aws.amplify.test-ls');\n }\n catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n StorageHelper.prototype.getStorage = function () {\n return this.storageWindow;\n };\n return StorageHelper;\n}());\nexport { StorageHelper };\n//# sourceMappingURL=index.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { StorageHelper } from '@aws-amplify/core';\n/**\n * Default cache config\n */\nexport var defaultConfig = {\n keyPrefix: 'aws-amplify-cache',\n capacityInBytes: 1048576,\n itemMaxSize: 210000,\n defaultTTL: 259200000,\n defaultPriority: 5,\n warningThreshold: 0.8,\n // the storage helper will check if localStorage exists,\n // if not, will use a in-memory object instead\n storage: new StorageHelper().getStorage(),\n};\n/**\n * return the byte size of the string\n * @param str\n */\nexport function getByteLength(str) {\n var ret = 0;\n ret = str.length;\n for (var i = str.length; i >= 0; i -= 1) {\n var charCode = str.charCodeAt(i);\n if (charCode > 0x7f && charCode <= 0x7ff) {\n ret += 1;\n }\n else if (charCode > 0x7ff && charCode <= 0xffff) {\n ret += 2;\n }\n // trail surrogate\n if (charCode >= 0xdc00 && charCode <= 0xdfff) {\n i -= 1;\n }\n }\n return ret;\n}\n/**\n * get current time\n */\nexport function getCurrTime() {\n var currTime = new Date();\n return currTime.getTime();\n}\n/**\n * check if passed value is an integer\n */\nexport function isInteger(value) {\n if (Number.isInteger) {\n return Number.isInteger(value);\n }\n return _isInteger(value);\n}\nfunction _isInteger(value) {\n return (typeof value === 'number' && isFinite(value) && Math.floor(value) === value);\n}\n/**\n * provide an object as the in-memory cache\n */\nvar store = {};\nvar CacheObject = /** @class */ (function () {\n function CacheObject() {\n }\n CacheObject.clear = function () {\n store = {};\n };\n CacheObject.getItem = function (key) {\n return store[key] || null;\n };\n CacheObject.setItem = function (key, value) {\n store[key] = value;\n };\n CacheObject.removeItem = function (key) {\n delete store[key];\n };\n return CacheObject;\n}());\nexport { CacheObject };\n//# sourceMappingURL=CacheUtils.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { getCurrTime, getByteLength, defaultConfig, isInteger } from './Utils';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('StorageCache');\n/**\n * Initialization of the cache\n *\n */\nvar StorageCache = /** @class */ (function () {\n /**\n * Initialize the cache\n * @param config - the configuration of the cache\n */\n function StorageCache(config) {\n this.config = Object.assign({}, config);\n this.cacheCurSizeKey = this.config.keyPrefix + 'CurSize';\n this.checkConfig();\n }\n StorageCache.prototype.getModuleName = function () {\n return 'Cache';\n };\n StorageCache.prototype.checkConfig = function () {\n // check configuration\n if (!isInteger(this.config.capacityInBytes)) {\n logger.error('Invalid parameter: capacityInBytes. It should be an Integer. Setting back to default.');\n this.config.capacityInBytes = defaultConfig.capacityInBytes;\n }\n if (!isInteger(this.config.itemMaxSize)) {\n logger.error('Invalid parameter: itemMaxSize. It should be an Integer. Setting back to default.');\n this.config.itemMaxSize = defaultConfig.itemMaxSize;\n }\n if (!isInteger(this.config.defaultTTL)) {\n logger.error('Invalid parameter: defaultTTL. It should be an Integer. Setting back to default.');\n this.config.defaultTTL = defaultConfig.defaultTTL;\n }\n if (!isInteger(this.config.defaultPriority)) {\n logger.error('Invalid parameter: defaultPriority. It should be an Integer. Setting back to default.');\n this.config.defaultPriority = defaultConfig.defaultPriority;\n }\n if (this.config.itemMaxSize > this.config.capacityInBytes) {\n logger.error('Invalid parameter: itemMaxSize. It should be smaller than capacityInBytes. Setting back to default.');\n this.config.itemMaxSize = defaultConfig.itemMaxSize;\n }\n if (this.config.defaultPriority > 5 || this.config.defaultPriority < 1) {\n logger.error('Invalid parameter: defaultPriority. It should be between 1 and 5. Setting back to default.');\n this.config.defaultPriority = defaultConfig.defaultPriority;\n }\n if (Number(this.config.warningThreshold) > 1 ||\n Number(this.config.warningThreshold) < 0) {\n logger.error('Invalid parameter: warningThreshold. It should be between 0 and 1. Setting back to default.');\n this.config.warningThreshold = defaultConfig.warningThreshold;\n }\n // set 5MB limit\n var cacheLimit = 5 * 1024 * 1024;\n if (this.config.capacityInBytes > cacheLimit) {\n logger.error('Cache Capacity should be less than 5MB. Setting back to default. Setting back to default.');\n this.config.capacityInBytes = defaultConfig.capacityInBytes;\n }\n };\n /**\n * produce a JSON object with meta-data and data value\n * @param value - the value of the item\n * @param options - optional, the specified meta-data\n *\n * @return - the item which has the meta-data and the value\n */\n StorageCache.prototype.fillCacheItem = function (key, value, options) {\n var ret = {\n key: key,\n data: value,\n timestamp: getCurrTime(),\n visitedTime: getCurrTime(),\n priority: options.priority,\n expires: options.expires,\n type: typeof value,\n byteSize: 0,\n };\n ret.byteSize = getByteLength(JSON.stringify(ret));\n // for accurate size\n ret.byteSize = getByteLength(JSON.stringify(ret));\n return ret;\n };\n /**\n * set cache with customized configuration\n * @param config - customized configuration\n *\n * @return - the current configuration\n */\n StorageCache.prototype.configure = function (config) {\n if (!config) {\n return this.config;\n }\n if (config.keyPrefix) {\n logger.warn(\"Don't try to configure keyPrefix!\");\n }\n this.config = Object.assign({}, this.config, config, config.Cache);\n this.checkConfig();\n return this.config;\n };\n return StorageCache;\n}());\nexport { StorageCache };\n//# sourceMappingURL=StorageCache.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __extends } from \"tslib\";\nimport { Amplify, ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { defaultConfig, getCurrTime } from './Utils';\nimport { StorageCache } from './StorageCache';\nvar logger = new Logger('Cache');\n/**\n * Customized storage based on the SessionStorage or LocalStorage with LRU implemented\n */\nvar BrowserStorageCacheClass = /** @class */ (function (_super) {\n __extends(BrowserStorageCacheClass, _super);\n /**\n * initialize the cache\n * @param config - the configuration of the cache\n */\n function BrowserStorageCacheClass(config) {\n var _this = this;\n var cacheConfig = config\n ? Object.assign({}, defaultConfig, config)\n : defaultConfig;\n _this = _super.call(this, cacheConfig) || this;\n _this.config.storage = cacheConfig.storage;\n _this.getItem = _this.getItem.bind(_this);\n _this.setItem = _this.setItem.bind(_this);\n _this.removeItem = _this.removeItem.bind(_this);\n return _this;\n }\n /**\n * decrease current size of the cache\n *\n * @private\n * @param amount - the amount of the cache size which needs to be decreased\n */\n BrowserStorageCacheClass.prototype._decreaseCurSizeInBytes = function (amount) {\n var curSize = this.getCacheCurSize();\n this.config.storage.setItem(this.cacheCurSizeKey, (curSize - amount).toString());\n };\n /**\n * increase current size of the cache\n *\n * @private\n * @param amount - the amount of the cache szie which need to be increased\n */\n BrowserStorageCacheClass.prototype._increaseCurSizeInBytes = function (amount) {\n var curSize = this.getCacheCurSize();\n this.config.storage.setItem(this.cacheCurSizeKey, (curSize + amount).toString());\n };\n /**\n * update the visited time if item has been visited\n *\n * @private\n * @param item - the item which need to be refreshed\n * @param prefixedKey - the key of the item\n *\n * @return the refreshed item\n */\n BrowserStorageCacheClass.prototype._refreshItem = function (item, prefixedKey) {\n item.visitedTime = getCurrTime();\n this.config.storage.setItem(prefixedKey, JSON.stringify(item));\n return item;\n };\n /**\n * check wether item is expired\n *\n * @private\n * @param key - the key of the item\n *\n * @return true if the item is expired.\n */\n BrowserStorageCacheClass.prototype._isExpired = function (key) {\n var text = this.config.storage.getItem(key);\n var item = JSON.parse(text);\n if (getCurrTime() >= item.expires) {\n return true;\n }\n return false;\n };\n /**\n * delete item from cache\n *\n * @private\n * @param prefixedKey - the key of the item\n * @param size - optional, the byte size of the item\n */\n BrowserStorageCacheClass.prototype._removeItem = function (prefixedKey, size) {\n var itemSize = size\n ? size\n : JSON.parse(this.config.storage.getItem(prefixedKey)).byteSize;\n this._decreaseCurSizeInBytes(itemSize);\n // remove the cache item\n this.config.storage.removeItem(prefixedKey);\n };\n /**\n * put item into cache\n *\n * @private\n * @param prefixedKey - the key of the item\n * @param itemData - the value of the item\n * @param itemSizeInBytes - the byte size of the item\n */\n BrowserStorageCacheClass.prototype._setItem = function (prefixedKey, item) {\n // update the cache size\n this._increaseCurSizeInBytes(item.byteSize);\n try {\n this.config.storage.setItem(prefixedKey, JSON.stringify(item));\n }\n catch (setItemErr) {\n // if failed, we need to rollback the cache size\n this._decreaseCurSizeInBytes(item.byteSize);\n logger.error(\"Failed to set item \" + setItemErr);\n }\n };\n /**\n * total space needed when poping out items\n *\n * @private\n * @param itemSize\n *\n * @return total space needed\n */\n BrowserStorageCacheClass.prototype._sizeToPop = function (itemSize) {\n var spaceItemNeed = this.getCacheCurSize() + itemSize - this.config.capacityInBytes;\n var cacheThresholdSpace = (1 - this.config.warningThreshold) * this.config.capacityInBytes;\n return spaceItemNeed > cacheThresholdSpace\n ? spaceItemNeed\n : cacheThresholdSpace;\n };\n /**\n * see whether cache is full\n *\n * @private\n * @param itemSize\n *\n * @return true if cache is full\n */\n BrowserStorageCacheClass.prototype._isCacheFull = function (itemSize) {\n return itemSize + this.getCacheCurSize() > this.config.capacityInBytes;\n };\n /**\n * scan the storage and find out all the keys owned by this cache\n * also clean the expired keys while scanning\n *\n * @private\n *\n * @return array of keys\n */\n BrowserStorageCacheClass.prototype._findValidKeys = function () {\n var keys = [];\n var keyInCache = [];\n // get all keys in Storage\n for (var i = 0; i < this.config.storage.length; i += 1) {\n keyInCache.push(this.config.storage.key(i));\n }\n // find those items which belong to our cache and also clean those expired items\n for (var i = 0; i < keyInCache.length; i += 1) {\n var key = keyInCache[i];\n if (key.indexOf(this.config.keyPrefix) === 0 &&\n key !== this.cacheCurSizeKey) {\n if (this._isExpired(key)) {\n this._removeItem(key);\n }\n else {\n keys.push(key);\n }\n }\n }\n return keys;\n };\n /**\n * get all the items we have, sort them by their priority,\n * if priority is same, sort them by their last visited time\n * pop out items from the low priority (5 is the lowest)\n *\n * @private\n * @param keys - all the keys in this cache\n * @param sizeToPop - the total size of the items which needed to be poped out\n */\n BrowserStorageCacheClass.prototype._popOutItems = function (keys, sizeToPop) {\n var items = [];\n var remainedSize = sizeToPop;\n // get the items from Storage\n for (var i = 0; i < keys.length; i += 1) {\n var val = this.config.storage.getItem(keys[i]);\n if (val != null) {\n var item = JSON.parse(val);\n items.push(item);\n }\n }\n // first compare priority\n // then compare visited time\n items.sort(function (a, b) {\n if (a.priority > b.priority) {\n return -1;\n }\n else if (a.priority < b.priority) {\n return 1;\n }\n else {\n if (a.visitedTime < b.visitedTime) {\n return -1;\n }\n else\n return 1;\n }\n });\n for (var i = 0; i < items.length; i += 1) {\n // pop out items until we have enough room for new item\n this._removeItem(items[i].key, items[i].byteSize);\n remainedSize -= items[i].byteSize;\n if (remainedSize <= 0) {\n return;\n }\n }\n };\n /**\n * Set item into cache. You can put number, string, boolean or object.\n * The cache will first check whether has the same key.\n * If it has, it will delete the old item and then put the new item in\n * The cache will pop out items if it is full\n * You can specify the cache item options. The cache will abort and output a warning:\n * If the key is invalid\n * If the size of the item exceeds itemMaxSize.\n * If the value is undefined\n * If incorrect cache item configuration\n * If error happened with browser storage\n *\n * @param key - the key of the item\n * @param value - the value of the item\n * @param {Object} [options] - optional, the specified meta-data\n */\n BrowserStorageCacheClass.prototype.setItem = function (key, value, options) {\n logger.log(\"Set item: key is \" + key + \", value is \" + value + \" with options: \" + options);\n var prefixedKey = this.config.keyPrefix + key;\n // invalid keys\n if (prefixedKey === this.config.keyPrefix ||\n prefixedKey === this.cacheCurSizeKey) {\n logger.warn(\"Invalid key: should not be empty or 'CurSize'\");\n return;\n }\n if (typeof value === 'undefined') {\n logger.warn(\"The value of item should not be undefined!\");\n return;\n }\n var cacheItemOptions = {\n priority: options && options.priority !== undefined\n ? options.priority\n : this.config.defaultPriority,\n expires: options && options.expires !== undefined\n ? options.expires\n : this.config.defaultTTL + getCurrTime(),\n };\n if (cacheItemOptions.priority < 1 || cacheItemOptions.priority > 5) {\n logger.warn(\"Invalid parameter: priority due to out or range. It should be within 1 and 5.\");\n return;\n }\n var item = this.fillCacheItem(prefixedKey, value, cacheItemOptions);\n // check wether this item is too big;\n if (item.byteSize > this.config.itemMaxSize) {\n logger.warn(\"Item with key: \" + key + \" you are trying to put into is too big!\");\n return;\n }\n try {\n // first look into the storage, if it exists, delete it.\n var val = this.config.storage.getItem(prefixedKey);\n if (val) {\n this._removeItem(prefixedKey, JSON.parse(val).byteSize);\n }\n // check whether the cache is full\n if (this._isCacheFull(item.byteSize)) {\n var validKeys = this._findValidKeys();\n // check again and then pop out items\n if (this._isCacheFull(item.byteSize)) {\n var sizeToPop = this._sizeToPop(item.byteSize);\n this._popOutItems(validKeys, sizeToPop);\n }\n }\n // put item in the cache\n // may failed due to storage full\n this._setItem(prefixedKey, item);\n }\n catch (e) {\n logger.warn(\"setItem failed! \" + e);\n }\n };\n /**\n * Get item from cache. It will return null if item doesn’t exist or it has been expired.\n * If you specified callback function in the options,\n * then the function will be executed if no such item in the cache\n * and finally put the return value into cache.\n * Please make sure the callback function will return the value you want to put into the cache.\n * The cache will abort output a warning:\n * If the key is invalid\n * If error happened with browser storage\n *\n * @param key - the key of the item\n * @param {Object} [options] - the options of callback function\n *\n * @return - return the value of the item\n */\n BrowserStorageCacheClass.prototype.getItem = function (key, options) {\n logger.log(\"Get item: key is \" + key + \" with options \" + options);\n var ret = null;\n var prefixedKey = this.config.keyPrefix + key;\n if (prefixedKey === this.config.keyPrefix ||\n prefixedKey === this.cacheCurSizeKey) {\n logger.warn(\"Invalid key: should not be empty or 'CurSize'\");\n return null;\n }\n try {\n ret = this.config.storage.getItem(prefixedKey);\n if (ret != null) {\n if (this._isExpired(prefixedKey)) {\n // if expired, remove that item and return null\n this._removeItem(prefixedKey, JSON.parse(ret).byteSize);\n ret = null;\n }\n else {\n // if not expired, great, return the value and refresh it\n var item = JSON.parse(ret);\n item = this._refreshItem(item, prefixedKey);\n return item.data;\n }\n }\n if (options && options.callback !== undefined) {\n var val = options.callback();\n if (val !== null) {\n this.setItem(key, val, options);\n }\n return val;\n }\n return null;\n }\n catch (e) {\n logger.warn(\"getItem failed! \" + e);\n return null;\n }\n };\n /**\n * remove item from the cache\n * The cache will abort output a warning:\n * If error happened with browser storage\n * @param key - the key of the item\n */\n BrowserStorageCacheClass.prototype.removeItem = function (key) {\n logger.log(\"Remove item: key is \" + key);\n var prefixedKey = this.config.keyPrefix + key;\n if (prefixedKey === this.config.keyPrefix ||\n prefixedKey === this.cacheCurSizeKey) {\n return;\n }\n try {\n var val = this.config.storage.getItem(prefixedKey);\n if (val) {\n this._removeItem(prefixedKey, JSON.parse(val).byteSize);\n }\n }\n catch (e) {\n logger.warn(\"removeItem failed! \" + e);\n }\n };\n /**\n * clear the entire cache\n * The cache will abort output a warning:\n * If error happened with browser storage\n */\n BrowserStorageCacheClass.prototype.clear = function () {\n logger.log(\"Clear Cache\");\n var keysToRemove = [];\n for (var i = 0; i < this.config.storage.length; i += 1) {\n var key = this.config.storage.key(i);\n if (key.indexOf(this.config.keyPrefix) === 0) {\n keysToRemove.push(key);\n }\n }\n try {\n for (var i = 0; i < keysToRemove.length; i += 1) {\n this.config.storage.removeItem(keysToRemove[i]);\n }\n }\n catch (e) {\n logger.warn(\"clear failed! \" + e);\n }\n };\n /**\n * Return all the keys in the cache.\n *\n * @return - all keys in the cache\n */\n BrowserStorageCacheClass.prototype.getAllKeys = function () {\n var keys = [];\n for (var i = 0; i < this.config.storage.length; i += 1) {\n var key = this.config.storage.key(i);\n if (key.indexOf(this.config.keyPrefix) === 0 &&\n key !== this.cacheCurSizeKey) {\n keys.push(key.substring(this.config.keyPrefix.length));\n }\n }\n return keys;\n };\n /**\n * return the current size of the cache\n *\n * @return - current size of the cache\n */\n BrowserStorageCacheClass.prototype.getCacheCurSize = function () {\n var ret = this.config.storage.getItem(this.cacheCurSizeKey);\n if (!ret) {\n this.config.storage.setItem(this.cacheCurSizeKey, '0');\n ret = '0';\n }\n return Number(ret);\n };\n /**\n * Return a new instance of cache with customized configuration.\n * @param config - the customized configuration\n *\n * @return - new instance of Cache\n */\n BrowserStorageCacheClass.prototype.createInstance = function (config) {\n if (!config.keyPrefix || config.keyPrefix === defaultConfig.keyPrefix) {\n logger.error('invalid keyPrefix, setting keyPrefix with timeStamp');\n config.keyPrefix = getCurrTime.toString();\n }\n return new BrowserStorageCacheClass(config);\n };\n return BrowserStorageCacheClass;\n}(StorageCache));\nexport { BrowserStorageCacheClass };\nexport var BrowserStorageCache = new BrowserStorageCacheClass();\nAmplify.register(BrowserStorageCache);\n//# sourceMappingURL=BrowserStorageCache.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","/**\n * Date & time utility functions to abstract the `aws-sdk` away from users.\n * (v2 => v3 modularization is a breaking change)\n *\n * @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262\n */\nimport { __read } from \"tslib\";\n// Comment - TODO: remove\nvar FIVE_MINUTES_IN_MS = 1000 * 60 * 5;\nexport var DateUtils = {\n /**\n * Milliseconds to offset the date to compensate for clock skew between device & services\n */\n clockOffset: 0,\n getDateWithClockOffset: function () {\n if (DateUtils.clockOffset) {\n return new Date(new Date().getTime() + DateUtils.clockOffset);\n }\n else {\n return new Date();\n }\n },\n /**\n * @returns {number} Clock offset in milliseconds\n */\n getClockOffset: function () {\n return DateUtils.clockOffset;\n },\n getHeaderStringFromDate: function (date) {\n if (date === void 0) { date = DateUtils.getDateWithClockOffset(); }\n return date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n },\n getDateFromHeaderString: function (header) {\n var _a = __read(header.match(/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2}).+/), 7), year = _a[1], month = _a[2], day = _a[3], hour = _a[4], minute = _a[5], second = _a[6];\n return new Date(Date.UTC(Number(year), Number(month) - 1, Number(day), Number(hour), Number(minute), Number(second)));\n },\n isClockSkewed: function (serverDate) {\n // API gateway permits client calls that are off by no more than ±5 minutes\n return (Math.abs(serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()) >= FIVE_MINUTES_IN_MS);\n },\n isClockSkewError: function (error) {\n if (!error.response || !error.response.headers) {\n return false;\n }\n var headers = error.response.headers;\n return Boolean(['BadRequestException', 'InvalidSignatureException'].includes(headers['x-amzn-errortype']) &&\n (headers.date || headers.Date));\n },\n /**\n * @param {number} offset Clock offset in milliseconds\n */\n setClockOffset: function (offset) {\n DateUtils.clockOffset = offset;\n },\n};\n//# sourceMappingURL=DateUtils.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __rest } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nimport { Sha256 as jsSha256 } from '@aws-crypto/sha256-js';\nimport { toHex } from '@aws-sdk/util-hex-encoding';\nimport { parse, format } from 'url';\nimport { DateUtils } from './Util';\nvar logger = new Logger('Signer');\nvar DEFAULT_ALGORITHM = 'AWS4-HMAC-SHA256';\nvar IOT_SERVICE_NAME = 'iotdevicegateway';\nvar encrypt = function (key, src) {\n var hash = new jsSha256(key);\n hash.update(src);\n return hash.digestSync();\n};\nvar hash = function (src) {\n var arg = src || '';\n var hash = new jsSha256();\n hash.update(arg);\n return toHex(hash.digestSync());\n};\n/**\n * @private\n * RFC 3986 compliant version of encodeURIComponent\n */\nvar escape_RFC3986 = function (component) {\n return component.replace(/[!'()*]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n};\n/**\n * @private\n * Create canonical query string\n *\n */\nvar canonical_query = function (query) {\n if (!query || query.length === 0) {\n return '';\n }\n return query\n .split('&')\n .map(function (e) {\n var key_val = e.split('=');\n if (key_val.length === 1) {\n return e;\n }\n else {\n var reencoded_val = escape_RFC3986(key_val[1]);\n return key_val[0] + '=' + reencoded_val;\n }\n })\n .sort(function (a, b) {\n var key_a = a.split('=')[0];\n var key_b = b.split('=')[0];\n if (key_a === key_b) {\n return a < b ? -1 : 1;\n }\n else {\n return key_a < key_b ? -1 : 1;\n }\n })\n .join('&');\n};\n/**\n* @private\n* Create canonical headers\n*\n
\nCanonicalHeaders =\n    CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ... + CanonicalHeadersEntryN\nCanonicalHeadersEntry =\n    Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\\n'\n
\n*/\nvar canonical_headers = function (headers) {\n if (!headers || Object.keys(headers).length === 0) {\n return '';\n }\n return (Object.keys(headers)\n .map(function (key) {\n return {\n key: key.toLowerCase(),\n value: headers[key] ? headers[key].trim().replace(/\\s+/g, ' ') : '',\n };\n })\n .sort(function (a, b) {\n return a.key < b.key ? -1 : 1;\n })\n .map(function (item) {\n return item.key + ':' + item.value;\n })\n .join('\\n') + '\\n');\n};\n/**\n * List of header keys included in the canonical headers.\n * @access private\n */\nvar signed_headers = function (headers) {\n return Object.keys(headers)\n .map(function (key) {\n return key.toLowerCase();\n })\n .sort()\n .join(';');\n};\n/**\n* @private\n* Create canonical request\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html|Create a Canonical Request}\n*\n
\nCanonicalRequest =\n    HTTPRequestMethod + '\\n' +\n    CanonicalURI + '\\n' +\n    CanonicalQueryString + '\\n' +\n    CanonicalHeaders + '\\n' +\n    SignedHeaders + '\\n' +\n    HexEncode(Hash(RequestPayload))\n
\n*/\nvar canonical_request = function (request) {\n var url_info = parse(request.url);\n return [\n request.method || '/',\n encodeURIComponent(url_info.pathname).replace(/%2F/gi, '/'),\n canonical_query(url_info.query),\n canonical_headers(request.headers),\n signed_headers(request.headers),\n hash(request.data),\n ].join('\\n');\n};\nvar parse_service_info = function (request) {\n var url_info = parse(request.url), host = url_info.host;\n var matched = host.match(/([^\\.]+)\\.(?:([^\\.]*)\\.)?amazonaws\\.com$/);\n var parsed = (matched || []).slice(1, 3);\n if (parsed[1] === 'es') {\n // Elastic Search\n parsed = parsed.reverse();\n }\n return {\n service: request.service || parsed[0],\n region: request.region || parsed[1],\n };\n};\nvar credential_scope = function (d_str, region, service) {\n return [d_str, region, service, 'aws4_request'].join('/');\n};\n/**\n* @private\n* Create a string to sign\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html|Create String to Sign}\n*\n
\nStringToSign =\n    Algorithm + \\n +\n    RequestDateTime + \\n +\n    CredentialScope + \\n +\n    HashedCanonicalRequest\n
\n*/\nvar string_to_sign = function (algorithm, canonical_request, dt_str, scope) {\n return [algorithm, dt_str, scope, hash(canonical_request)].join('\\n');\n};\n/**\n* @private\n* Create signing key\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html|Calculate Signature}\n*\n
\nkSecret = your secret access key\nkDate = HMAC(\"AWS4\" + kSecret, Date)\nkRegion = HMAC(kDate, Region)\nkService = HMAC(kRegion, Service)\nkSigning = HMAC(kService, \"aws4_request\")\n
\n*/\nvar get_signing_key = function (secret_key, d_str, service_info) {\n logger.debug(service_info);\n var k = 'AWS4' + secret_key, k_date = encrypt(k, d_str), k_region = encrypt(k_date, service_info.region), k_service = encrypt(k_region, service_info.service), k_signing = encrypt(k_service, 'aws4_request');\n return k_signing;\n};\nvar get_signature = function (signing_key, str_to_sign) {\n return toHex(encrypt(signing_key, str_to_sign));\n};\n/**\n * @private\n * Create authorization header\n * Refer to\n * {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html|Add the Signing Information}\n */\nvar get_authorization_header = function (algorithm, access_key, scope, signed_headers, signature) {\n return [\n algorithm + ' ' + 'Credential=' + access_key + '/' + scope,\n 'SignedHeaders=' + signed_headers,\n 'Signature=' + signature,\n ].join(', ');\n};\nvar Signer = /** @class */ (function () {\n function Signer() {\n }\n /**\n * Sign a HTTP request, add 'Authorization' header to request param\n * @method sign\n * @memberof Signer\n * @static\n *\n * @param {object} request - HTTP request object\n
\n    request: {\n        method: GET | POST | PUT ...\n        url: ...,\n        headers: {\n            header1: ...\n        },\n        data: data\n    }\n    
\n * @param {object} access_info - AWS access credential info\n
\n    access_info: {\n        access_key: ...,\n        secret_key: ...,\n        session_token: ...\n    }\n    
\n * @param {object} [service_info] - AWS service type and region, optional,\n * if not provided then parse out from url\n
\n    service_info: {\n        service: ...,\n        region: ...\n    }\n    
\n *\n * @returns {object} Signed HTTP request\n */\n Signer.sign = function (request, access_info, service_info) {\n if (service_info === void 0) { service_info = null; }\n request.headers = request.headers || {};\n if (request.body && !request.data) {\n throw new Error('The attribute \"body\" was found on the request object. Please use the attribute \"data\" instead.');\n }\n // datetime string and date string\n var dt = DateUtils.getDateWithClockOffset(), dt_str = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, ''), d_str = dt_str.substr(0, 8);\n var url_info = parse(request.url);\n request.headers['host'] = url_info.host;\n request.headers['x-amz-date'] = dt_str;\n if (access_info.session_token) {\n request.headers['X-Amz-Security-Token'] = access_info.session_token;\n }\n // Task 1: Create a Canonical Request\n var request_str = canonical_request(request);\n logger.debug(request_str);\n // Task 2: Create a String to Sign\n var serviceInfo = service_info || parse_service_info(request), scope = credential_scope(d_str, serviceInfo.region, serviceInfo.service), str_to_sign = string_to_sign(DEFAULT_ALGORITHM, request_str, dt_str, scope);\n // Task 3: Calculate the Signature\n var signing_key = get_signing_key(access_info.secret_key, d_str, serviceInfo), signature = get_signature(signing_key, str_to_sign);\n // Task 4: Adding the Signing information to the Request\n var authorization_header = get_authorization_header(DEFAULT_ALGORITHM, access_info.access_key, scope, signed_headers(request.headers), signature);\n request.headers['Authorization'] = authorization_header;\n return request;\n };\n Signer.signUrl = function (urlOrRequest, accessInfo, serviceInfo, expiration) {\n var urlToSign = typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;\n var method = typeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';\n var body = typeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;\n var now = DateUtils.getDateWithClockOffset()\n .toISOString()\n .replace(/[:\\-]|\\.\\d{3}/g, '');\n var today = now.substr(0, 8);\n // Intentionally discarding search\n var _a = parse(urlToSign, true, true), search = _a.search, parsedUrl = __rest(_a, [\"search\"]);\n var host = parsedUrl.host;\n var signedHeaders = { host: host };\n var _b = serviceInfo || parse_service_info({ url: format(parsedUrl) }), region = _b.region, service = _b.service;\n var credentialScope = credential_scope(today, region, service);\n // IoT service does not allow the session token in the canonical request\n // https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html\n var sessionTokenRequired = accessInfo.session_token && service !== IOT_SERVICE_NAME;\n var queryParams = __assign(__assign(__assign({ 'X-Amz-Algorithm': DEFAULT_ALGORITHM, 'X-Amz-Credential': [accessInfo.access_key, credentialScope].join('/'), 'X-Amz-Date': now.substr(0, 16) }, (sessionTokenRequired\n ? { 'X-Amz-Security-Token': \"\" + accessInfo.session_token }\n : {})), (expiration ? { 'X-Amz-Expires': \"\" + expiration } : {})), { 'X-Amz-SignedHeaders': Object.keys(signedHeaders).join(',') });\n var canonicalRequest = canonical_request({\n method: method,\n url: format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), queryParams) })),\n headers: signedHeaders,\n data: body,\n });\n var stringToSign = string_to_sign(DEFAULT_ALGORITHM, canonicalRequest, now, credentialScope);\n var signing_key = get_signing_key(accessInfo.secret_key, today, {\n region: region,\n service: service,\n });\n var signature = get_signature(signing_key, stringToSign);\n var additionalQueryParams = __assign({ 'X-Amz-Signature': signature }, (accessInfo.session_token && {\n 'X-Amz-Security-Token': accessInfo.session_token,\n }));\n var result = format({\n protocol: parsedUrl.protocol,\n slashes: true,\n hostname: parsedUrl.hostname,\n port: parsedUrl.port,\n pathname: parsedUrl.pathname,\n query: __assign(__assign(__assign({}, parsedUrl.query), queryParams), additionalQueryParams),\n });\n return result;\n };\n return Signer;\n}());\nexport { Signer };\n//# sourceMappingURL=Signer.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __awaiter, __generator, __rest } from \"tslib\";\nimport { ConsoleLogger as Logger, Credentials, DateUtils, Signer, Platform, } from '@aws-amplify/core';\nimport axios from 'axios';\nimport { parse, format } from 'url';\nvar logger = new Logger('RestClient');\n/**\n* HTTP Client for REST requests. Send and receive JSON data.\n* Sign request with AWS credentials if available\n* Usage:\n
\nconst restClient = new RestClient();\nrestClient.get('...')\n    .then(function(data) {\n        console.log(data);\n    })\n    .catch(err => console.log(err));\n
\n*/\nvar RestClient = /** @class */ (function () {\n /**\n * @param {RestClientOptions} [options] - Instance options\n */\n function RestClient(options) {\n this._region = 'us-east-1'; // this will be updated by endpoint function\n this._service = 'execute-api'; // this can be updated by endpoint function\n this._custom_header = undefined; // this can be updated by endpoint function\n /**\n * This weak map provides functionality to let clients cancel\n * in-flight axios requests. https://github.com/axios/axios#cancellation\n *\n * 1. For every axios request, a unique cancel token is generated and added in the request.\n * 2. Promise for fulfilling the request is then mapped to that unique cancel token.\n * 3. The promise is returned to the client.\n * 4. Clients can either wait for the promise to fulfill or call `API.cancel(promise)` to cancel the request.\n * 5. If `API.cancel(promise)` is called, then the corresponding cancel token is retrieved from the map below.\n * 6. Promise returned to the client will be in rejected state with the error provided during cancel.\n * 7. Clients can check if the error is because of cancelling by calling `API.isCancel(error)`.\n *\n * For more details, see https://github.com/aws-amplify/amplify-js/pull/3769#issuecomment-552660025\n */\n this._cancelTokenMap = null;\n this.Credentials = Credentials;\n this._options = options;\n logger.debug('API Options', this._options);\n if (this._cancelTokenMap == null) {\n this._cancelTokenMap = new WeakMap();\n }\n }\n /**\n * Update AWS credentials\n * @param {AWSCredentials} credentials - AWS credentials\n *\n updateCredentials(credentials: AWSCredentials) {\n this.options.credentials = credentials;\n }\n*/\n /**\n * Basic HTTP request. Customizable\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {string} method - Request HTTP method\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.ajax = function (urlOrApiInfo, method, init) {\n return __awaiter(this, void 0, void 0, function () {\n var parsed_url, url, region, service, custom_header, params, libraryHeaders, userAgent, initParams, isAllResponse, custom_header_obj, _a, _b, search, parsedUrl;\n var _this = this;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n logger.debug(method, urlOrApiInfo);\n region = 'us-east-1';\n service = 'execute-api';\n custom_header = undefined;\n if (typeof urlOrApiInfo === 'string') {\n parsed_url = this._parseUrl(urlOrApiInfo);\n url = urlOrApiInfo;\n }\n else {\n (url = urlOrApiInfo.endpoint, custom_header = urlOrApiInfo.custom_header, region = urlOrApiInfo.region, service = urlOrApiInfo.service);\n parsed_url = this._parseUrl(urlOrApiInfo.endpoint);\n }\n params = {\n method: method,\n url: url,\n host: parsed_url.host,\n path: parsed_url.path,\n headers: {},\n data: null,\n responseType: 'json',\n timeout: 0,\n cancelToken: null,\n };\n libraryHeaders = {};\n if (Platform.isReactNative) {\n userAgent = Platform.userAgent || 'aws-amplify/0.1.x';\n libraryHeaders = {\n 'User-Agent': userAgent,\n };\n }\n initParams = Object.assign({}, init);\n isAllResponse = initParams.response;\n if (initParams.body) {\n if (typeof FormData === 'function' &&\n initParams.body instanceof FormData) {\n libraryHeaders['Content-Type'] = 'multipart/form-data';\n params.data = initParams.body;\n }\n else {\n libraryHeaders['Content-Type'] = 'application/json; charset=UTF-8';\n params.data = JSON.stringify(initParams.body);\n }\n }\n if (initParams.responseType) {\n params.responseType = initParams.responseType;\n }\n if (initParams.withCredentials) {\n params['withCredentials'] = initParams.withCredentials;\n }\n if (initParams.timeout) {\n params.timeout = initParams.timeout;\n }\n if (initParams.cancellableToken) {\n params.cancelToken = initParams.cancellableToken.token;\n }\n params['signerServiceInfo'] = initParams.signerServiceInfo;\n if (!(typeof custom_header === 'function')) return [3 /*break*/, 2];\n return [4 /*yield*/, custom_header()];\n case 1:\n _a = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _a = undefined;\n _c.label = 3;\n case 3:\n custom_header_obj = _a;\n params.headers = __assign(__assign(__assign({}, libraryHeaders), custom_header_obj), initParams.headers);\n _b = parse(url, true, true), search = _b.search, parsedUrl = __rest(_b, [\"search\"]);\n params.url = format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), (initParams.queryStringParameters || {})) }));\n // Do not sign the request if client has added 'Authorization' header,\n // which means custom authorizer.\n if (typeof params.headers['Authorization'] !== 'undefined') {\n params.headers = Object.keys(params.headers).reduce(function (acc, k) {\n if (params.headers[k]) {\n acc[k] = params.headers[k];\n }\n return acc;\n // tslint:disable-next-line:align\n }, {});\n return [2 /*return*/, this._request(params, isAllResponse)];\n }\n // Signing the request in case there credentials are available\n return [2 /*return*/, this.Credentials.get().then(function (credentials) {\n return _this._signed(__assign({}, params), credentials, isAllResponse, {\n region: region,\n service: service,\n }).catch(function (error) {\n if (DateUtils.isClockSkewError(error)) {\n var headers = error.response.headers;\n var dateHeader = headers && (headers.date || headers.Date);\n var responseDate = new Date(dateHeader);\n var requestDate = DateUtils.getDateFromHeaderString(params.headers['x-amz-date']);\n // Compare local clock to the server clock\n if (DateUtils.isClockSkewed(responseDate)) {\n DateUtils.setClockOffset(responseDate.getTime() - requestDate.getTime());\n return _this.ajax(urlOrApiInfo, method, init);\n }\n }\n throw error;\n });\n }, function (err) {\n logger.debug('No credentials available, the request will be unsigned');\n return _this._request(params, isAllResponse);\n })];\n }\n });\n });\n };\n /**\n * GET HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {JSON} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.get = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'GET', init);\n };\n /**\n * PUT HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.put = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'PUT', init);\n };\n /**\n * PATCH HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.patch = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'PATCH', init);\n };\n /**\n * POST HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.post = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'POST', init);\n };\n /**\n * DELETE HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.del = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'DELETE', init);\n };\n /**\n * HEAD HTTP request\n * @param {string | ApiInfo } urlOrApiInfo - Full request URL or Api information\n * @param {json} init - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestClient.prototype.head = function (urlOrApiInfo, init) {\n return this.ajax(urlOrApiInfo, 'HEAD', init);\n };\n /**\n * Cancel an inflight API request\n * @param {Promise} request - The request promise to cancel\n * @param {string} [message] - A message to include in the cancelation exception\n */\n RestClient.prototype.cancel = function (request, message) {\n var source = this._cancelTokenMap.get(request);\n if (source) {\n source.cancel(message);\n return true;\n }\n return false;\n };\n /**\n * Check if the request has a corresponding cancel token in the WeakMap.\n * @params request - The request promise\n * @return if the request has a corresponding cancel token.\n */\n RestClient.prototype.hasCancelToken = function (request) {\n return this._cancelTokenMap.has(request);\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n RestClient.prototype.isCancel = function (error) {\n return axios.isCancel(error);\n };\n /**\n * Retrieves a new and unique cancel token which can be\n * provided in an axios request to be cancelled later.\n */\n RestClient.prototype.getCancellableToken = function () {\n return axios.CancelToken.source();\n };\n /**\n * Updates the weakmap with a response promise and its\n * cancel token such that the cancel token can be easily\n * retrieved (and used for cancelling the request)\n */\n RestClient.prototype.updateRequestToBeCancellable = function (promise, cancelTokenSource) {\n this._cancelTokenMap.set(promise, cancelTokenSource);\n };\n /**\n * Getting endpoint for API\n * @param {string} apiName - The name of the api\n * @return {string} - The endpoint of the api\n */\n RestClient.prototype.endpoint = function (apiName) {\n var _this = this;\n var cloud_logic_array = this._options.endpoints;\n var response = '';\n if (!Array.isArray(cloud_logic_array)) {\n return response;\n }\n cloud_logic_array.forEach(function (v) {\n if (v.name === apiName) {\n response = v.endpoint;\n if (typeof v.region === 'string') {\n _this._region = v.region;\n }\n else if (typeof _this._options.region === 'string') {\n _this._region = _this._options.region;\n }\n if (typeof v.service === 'string') {\n _this._service = v.service || 'execute-api';\n }\n else {\n _this._service = 'execute-api';\n }\n if (typeof v.custom_header === 'function') {\n _this._custom_header = v.custom_header;\n }\n else {\n _this._custom_header = undefined;\n }\n }\n });\n return response;\n };\n /** private methods **/\n RestClient.prototype._signed = function (params, credentials, isAllResponse, _a) {\n var service = _a.service, region = _a.region;\n var signerServiceInfoParams = params.signerServiceInfo, otherParams = __rest(params, [\"signerServiceInfo\"]);\n var endpoint_region = region || this._region || this._options.region;\n var endpoint_service = service || this._service || this._options.service;\n var creds = {\n secret_key: credentials.secretAccessKey,\n access_key: credentials.accessKeyId,\n session_token: credentials.sessionToken,\n };\n var endpointInfo = {\n region: endpoint_region,\n service: endpoint_service,\n };\n var signerServiceInfo = Object.assign(endpointInfo, signerServiceInfoParams);\n var signed_params = Signer.sign(otherParams, creds, signerServiceInfo);\n if (signed_params.data) {\n signed_params.body = signed_params.data;\n }\n logger.debug('Signed Request: ', signed_params);\n delete signed_params.headers['host'];\n return axios(signed_params)\n .then(function (response) { return (isAllResponse ? response : response.data); })\n .catch(function (error) {\n logger.debug(error);\n throw error;\n });\n };\n RestClient.prototype._request = function (params, isAllResponse) {\n if (isAllResponse === void 0) { isAllResponse = false; }\n return axios(params)\n .then(function (response) { return (isAllResponse ? response : response.data); })\n .catch(function (error) {\n logger.debug(error);\n throw error;\n });\n };\n RestClient.prototype._parseUrl = function (url) {\n var parts = url.split('/');\n return {\n host: parts[2],\n path: '/' + parts.slice(3).join('/'),\n };\n };\n return RestClient;\n}());\nexport { RestClient };\n//# sourceMappingURL=RestClient.js.map","import { __assign, __awaiter, __generator, __rest } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { RestClient } from './RestClient';\nimport { Amplify, ConsoleLogger as Logger, Credentials, } from '@aws-amplify/core';\nvar logger = new Logger('RestAPI');\n/**\n * Export Cloud Logic APIs\n */\nvar RestAPIClass = /** @class */ (function () {\n /**\n * Initialize Rest API with AWS configuration\n * @param {Object} options - Configuration object for API\n */\n function RestAPIClass(options) {\n this._api = null;\n this.Credentials = Credentials;\n this._options = options;\n logger.debug('API Options', this._options);\n }\n RestAPIClass.prototype.getModuleName = function () {\n return 'RestAPI';\n };\n /**\n * Configure API part with aws configurations\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n RestAPIClass.prototype.configure = function (options) {\n var _a = options || {}, _b = _a.API, API = _b === void 0 ? {} : _b, otherOptions = __rest(_a, [\"API\"]);\n var opt = __assign(__assign({}, otherOptions), API);\n logger.debug('configure Rest API', { opt: opt });\n if (opt['aws_project_region']) {\n if (opt['aws_cloud_logic_custom']) {\n var custom = opt['aws_cloud_logic_custom'];\n opt.endpoints =\n typeof custom === 'string' ? JSON.parse(custom) : custom;\n }\n opt = Object.assign({}, opt, {\n region: opt['aws_project_region'],\n header: {},\n });\n }\n if (Array.isArray(opt.endpoints)) {\n // Check if endpoints has custom_headers and validate if is a function\n opt.endpoints.forEach(function (endpoint) {\n if (typeof endpoint.custom_header !== 'undefined' &&\n typeof endpoint.custom_header !== 'function') {\n logger.warn('Rest API ' + endpoint.name + ', custom_header should be a function');\n endpoint.custom_header = undefined;\n }\n });\n }\n else if (this._options && Array.isArray(this._options.endpoints)) {\n opt.endpoints = this._options.endpoints;\n }\n else {\n opt.endpoints = [];\n }\n this._options = Object.assign({}, this._options, opt);\n this.createInstance();\n return this._options;\n };\n /**\n * Create an instance of API for the library\n * @return - A promise of true if Success\n */\n RestAPIClass.prototype.createInstance = function () {\n logger.debug('create Rest API instance');\n this._api = new RestClient(this._options);\n // Share Amplify instance with client for SSR\n this._api.Credentials = this.Credentials;\n return true;\n };\n /**\n * Make a GET request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.get = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.get(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a POST request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.post = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.post(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a PUT request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.put = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.put(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a PATCH request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.patch = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.patch(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a DEL request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.del = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.del(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Make a HEAD request\n * @param {string} apiName - The api name of the request\n * @param {string} path - The path of the request\n * @param {json} [init] - Request extra params\n * @return {Promise} - A promise that resolves to an object with response status and JSON data, if successful.\n */\n RestAPIClass.prototype.head = function (apiName, path, init) {\n try {\n var apiInfo = this.getEndpointInfo(apiName, path);\n var cancellableToken = this._api.getCancellableToken();\n var initParams = Object.assign({}, init);\n initParams.cancellableToken = cancellableToken;\n var responsePromise = this._api.head(apiInfo, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n }\n catch (err) {\n return Promise.reject(err.message);\n }\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n RestAPIClass.prototype.isCancel = function (error) {\n return this._api.isCancel(error);\n };\n /**\n * Cancels an inflight request\n * @param {any} request - request to cancel\n * @return {boolean} - A boolean indicating if the request was cancelled\n */\n RestAPIClass.prototype.cancel = function (request, message) {\n return this._api.cancel(request, message);\n };\n /**\n * Check if the request has a corresponding cancel token in the WeakMap.\n * @params request - The request promise\n * @return if the request has a corresponding cancel token.\n */\n RestAPIClass.prototype.hasCancelToken = function (request) {\n return this._api.hasCancelToken(request);\n };\n /**\n * Getting endpoint for API\n * @param {string} apiName - The name of the api\n * @return {string} - The endpoint of the api\n */\n RestAPIClass.prototype.endpoint = function (apiName) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._api.endpoint(apiName)];\n });\n });\n };\n /**\n * Getting endpoint info for API\n * @param {string} apiName - The name of the api\n * @param {string} path - The path of the api that is going to accessed\n * @return {ApiInfo} - The endpoint information for that api-name\n */\n RestAPIClass.prototype.getEndpointInfo = function (apiName, path) {\n var cloud_logic_array = this._options.endpoints;\n if (!Array.isArray(cloud_logic_array)) {\n throw new Error(\"API category not configured\");\n }\n var apiConfig = cloud_logic_array.find(function (api) { return api.name === apiName; });\n if (!apiConfig) {\n throw new Error(\"API \" + apiName + \" does not exist\");\n }\n var response = {\n endpoint: apiConfig.endpoint + path,\n };\n if (typeof apiConfig.region === 'string') {\n response.region = apiConfig.region;\n }\n else if (typeof this._options.region === 'string') {\n response.region = this._options.region;\n }\n if (typeof apiConfig.service === 'string') {\n response.service = apiConfig.service || 'execute-api';\n }\n else {\n response.service = 'execute-api';\n }\n if (typeof apiConfig.custom_header === 'function') {\n response.custom_header = apiConfig.custom_header;\n }\n else {\n response.custom_header = undefined;\n }\n return response;\n };\n return RestAPIClass;\n}());\nexport { RestAPIClass };\nexport var RestAPI = new RestAPIClass(null);\nAmplify.register(RestAPI);\n//# sourceMappingURL=RestAPI.js.map","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/**\n * Return true if `value` is object-like. A value is object-like if it's not\n * `null` and has a `typeof` result of \"object\".\n */\nexport default function isObjectLike(value) {\n return _typeof(value) == 'object' && value !== null;\n}\n","// In ES2015 (or a polyfilled) environment, this will be Symbol.iterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nexport var SYMBOL_ITERATOR = typeof Symbol === 'function' && Symbol.iterator != null ? Symbol.iterator : '@@iterator'; // In ES2017 (or a polyfilled) environment, this will be Symbol.asyncIterator\n// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_ASYNC_ITERATOR = typeof Symbol === 'function' && Symbol.asyncIterator != null ? Symbol.asyncIterator : '@@asyncIterator'; // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\nexport var SYMBOL_TO_STRING_TAG = typeof Symbol === 'function' && Symbol.toStringTag != null ? Symbol.toStringTag : '@@toStringTag';\n","/**\n * Represents a location in a Source.\n */\n\n/**\n * Takes a Source and a UTF-8 character offset, and returns the corresponding\n * line and column as a SourceLocation.\n */\nexport function getLocation(source, position) {\n var lineRegexp = /\\r\\n|[\\n\\r]/g;\n var line = 1;\n var column = position + 1;\n var match;\n\n while ((match = lineRegexp.exec(source.body)) && match.index < position) {\n line += 1;\n column = position + 1 - (match.index + match[0].length);\n }\n\n return {\n line: line,\n column: column\n };\n}\n","import { getLocation } from \"./location.mjs\";\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printLocation(location) {\n return printSourceLocation(location.source, getLocation(location.source, location.start));\n}\n/**\n * Render a helpful description of the location in the GraphQL Source document.\n */\n\nexport function printSourceLocation(source, sourceLocation) {\n var firstLineColumnOffset = source.locationOffset.column - 1;\n var body = whitespace(firstLineColumnOffset) + source.body;\n var lineIndex = sourceLocation.line - 1;\n var lineOffset = source.locationOffset.line - 1;\n var lineNum = sourceLocation.line + lineOffset;\n var columnOffset = sourceLocation.line === 1 ? firstLineColumnOffset : 0;\n var columnNum = sourceLocation.column + columnOffset;\n var locationStr = \"\".concat(source.name, \":\").concat(lineNum, \":\").concat(columnNum, \"\\n\");\n var lines = body.split(/\\r\\n|[\\n\\r]/g);\n var locationLine = lines[lineIndex]; // Special case for minified documents\n\n if (locationLine.length > 120) {\n var subLineIndex = Math.floor(columnNum / 80);\n var subLineColumnNum = columnNum % 80;\n var subLines = [];\n\n for (var i = 0; i < locationLine.length; i += 80) {\n subLines.push(locationLine.slice(i, i + 80));\n }\n\n return locationStr + printPrefixedLines([[\"\".concat(lineNum), subLines[0]]].concat(subLines.slice(1, subLineIndex + 1).map(function (subLine) {\n return ['', subLine];\n }), [[' ', whitespace(subLineColumnNum - 1) + '^'], ['', subLines[subLineIndex + 1]]]));\n }\n\n return locationStr + printPrefixedLines([// Lines specified like this: [\"prefix\", \"string\"],\n [\"\".concat(lineNum - 1), lines[lineIndex - 1]], [\"\".concat(lineNum), locationLine], ['', whitespace(columnNum - 1) + '^'], [\"\".concat(lineNum + 1), lines[lineIndex + 1]]]);\n}\n\nfunction printPrefixedLines(lines) {\n var existingLines = lines.filter(function (_ref) {\n var _ = _ref[0],\n line = _ref[1];\n return line !== undefined;\n });\n var padLen = Math.max.apply(Math, existingLines.map(function (_ref2) {\n var prefix = _ref2[0];\n return prefix.length;\n }));\n return existingLines.map(function (_ref3) {\n var prefix = _ref3[0],\n line = _ref3[1];\n return leftPad(padLen, prefix) + (line ? ' | ' + line : ' |');\n }).join('\\n');\n}\n\nfunction whitespace(len) {\n return Array(len + 1).join(' ');\n}\n\nfunction leftPad(len, str) {\n return whitespace(len - str.length) + str;\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nfunction ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }\n\nfunction _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nfunction _inherits(subClass, superClass) { if (typeof superClass !== \"function\" && superClass !== null) { throw new TypeError(\"Super expression must either be null or a function\"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); if (superClass) _setPrototypeOf(subClass, superClass); }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) { return call; } return _assertThisInitialized(self); }\n\nfunction _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\"); } return self; }\n\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\n\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct; } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Date.prototype.toString.call(Reflect.construct(Date, [], function () {})); return true; } catch (e) { return false; } }\n\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\n\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf || function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\n\nimport isObjectLike from \"../jsutils/isObjectLike.mjs\";\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport { getLocation } from \"../language/location.mjs\";\nimport { printLocation, printSourceLocation } from \"../language/printLocation.mjs\";\n/**\n * A GraphQLError describes an Error found during the parse, validate, or\n * execute phases of performing a GraphQL operation. In addition to a message\n * and stack trace, it also includes information about the locations in a\n * GraphQL document and/or execution result that correspond to the Error.\n */\n\nexport var GraphQLError = /*#__PURE__*/function (_Error) {\n _inherits(GraphQLError, _Error);\n\n var _super = _createSuper(GraphQLError);\n\n /**\n * An array of { line, column } locations within the source GraphQL document\n * which correspond to this error.\n *\n * Errors during validation often contain multiple locations, for example to\n * point out two things with the same name. Errors during execution include a\n * single location, the field which produced the error.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array describing the JSON-path into the execution response which\n * corresponds to this error. Only included for errors during execution.\n *\n * Enumerable, and appears in the result of JSON.stringify().\n */\n\n /**\n * An array of GraphQL AST Nodes corresponding to this error.\n */\n\n /**\n * The source GraphQL document for the first location of this error.\n *\n * Note that if this Error represents more than one node, the source may not\n * represent nodes after the first node.\n */\n\n /**\n * An array of character offsets within the source GraphQL document\n * which correspond to this error.\n */\n\n /**\n * The original error thrown from a field resolver during execution.\n */\n\n /**\n * Extension fields to add to the formatted error.\n */\n function GraphQLError(message, nodes, source, positions, path, originalError, extensions) {\n var _nodeLocations, _nodeLocations2, _nodeLocations3;\n\n var _this;\n\n _classCallCheck(this, GraphQLError);\n\n _this = _super.call(this, message);\n _this.name = 'GraphQLError';\n _this.originalError = originalError !== null && originalError !== void 0 ? originalError : undefined; // Compute list of blame nodes.\n\n _this.nodes = undefinedIfEmpty(Array.isArray(nodes) ? nodes : nodes ? [nodes] : undefined);\n var nodeLocations = [];\n\n for (var _i2 = 0, _ref3 = (_this$nodes = _this.nodes) !== null && _this$nodes !== void 0 ? _this$nodes : []; _i2 < _ref3.length; _i2++) {\n var _this$nodes;\n\n var _ref4 = _ref3[_i2];\n var loc = _ref4.loc;\n\n if (loc != null) {\n nodeLocations.push(loc);\n }\n }\n\n nodeLocations = undefinedIfEmpty(nodeLocations); // Compute locations in the source for the given nodes/positions.\n\n _this.source = source !== null && source !== void 0 ? source : (_nodeLocations = nodeLocations) === null || _nodeLocations === void 0 ? void 0 : _nodeLocations[0].source;\n _this.positions = positions !== null && positions !== void 0 ? positions : (_nodeLocations2 = nodeLocations) === null || _nodeLocations2 === void 0 ? void 0 : _nodeLocations2.map(function (loc) {\n return loc.start;\n });\n _this.locations = positions && source ? positions.map(function (pos) {\n return getLocation(source, pos);\n }) : (_nodeLocations3 = nodeLocations) === null || _nodeLocations3 === void 0 ? void 0 : _nodeLocations3.map(function (loc) {\n return getLocation(loc.source, loc.start);\n });\n _this.path = path !== null && path !== void 0 ? path : undefined;\n var originalExtensions = originalError === null || originalError === void 0 ? void 0 : originalError.extensions;\n\n if (extensions == null && isObjectLike(originalExtensions)) {\n _this.extensions = _objectSpread({}, originalExtensions);\n } else {\n _this.extensions = extensions !== null && extensions !== void 0 ? extensions : {};\n } // By being enumerable, JSON.stringify will include bellow properties in the resulting output.\n // This ensures that the simplest possible GraphQL service adheres to the spec.\n\n\n Object.defineProperties(_assertThisInitialized(_this), {\n message: {\n enumerable: true\n },\n locations: {\n enumerable: _this.locations != null\n },\n path: {\n enumerable: _this.path != null\n },\n extensions: {\n enumerable: _this.extensions != null && Object.keys(_this.extensions).length > 0\n },\n name: {\n enumerable: false\n },\n nodes: {\n enumerable: false\n },\n source: {\n enumerable: false\n },\n positions: {\n enumerable: false\n },\n originalError: {\n enumerable: false\n }\n }); // Include (non-enumerable) stack trace.\n\n if (originalError !== null && originalError !== void 0 && originalError.stack) {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: originalError.stack,\n writable: true,\n configurable: true\n });\n return _possibleConstructorReturn(_this);\n } // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(_assertThisInitialized(_this), GraphQLError);\n } else {\n Object.defineProperty(_assertThisInitialized(_this), 'stack', {\n value: Error().stack,\n writable: true,\n configurable: true\n });\n }\n\n return _this;\n }\n\n _createClass(GraphQLError, [{\n key: \"toString\",\n value: function toString() {\n return printError(this);\n } // FIXME: workaround to not break chai comparisons, should be remove in v16\n // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n }, {\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Object';\n }\n }]);\n\n return GraphQLError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n\nfunction undefinedIfEmpty(array) {\n return array === undefined || array.length === 0 ? undefined : array;\n}\n/**\n * Prints a GraphQLError to a string, representing useful location information\n * about the error's position in the source.\n */\n\n\nexport function printError(error) {\n var output = error.message;\n\n if (error.nodes) {\n for (var _i4 = 0, _error$nodes2 = error.nodes; _i4 < _error$nodes2.length; _i4++) {\n var node = _error$nodes2[_i4];\n\n if (node.loc) {\n output += '\\n\\n' + printLocation(node.loc);\n }\n }\n } else if (error.source && error.locations) {\n for (var _i6 = 0, _error$locations2 = error.locations; _i6 < _error$locations2.length; _i6++) {\n var location = _error$locations2[_i6];\n output += '\\n\\n' + printSourceLocation(error.source, location);\n }\n }\n\n return output;\n}\n","import { GraphQLError } from \"./GraphQLError.mjs\";\n/**\n * Produces a GraphQLError representing a syntax error, containing useful\n * descriptive information about the syntax error's position in the source.\n */\n\nexport function syntaxError(source, position, description) {\n return new GraphQLError(\"Syntax Error: \".concat(description), undefined, source, [position]);\n}\n","/**\n * The set of allowed kind values for AST nodes.\n */\nexport var Kind = Object.freeze({\n // Name\n NAME: 'Name',\n // Document\n DOCUMENT: 'Document',\n OPERATION_DEFINITION: 'OperationDefinition',\n VARIABLE_DEFINITION: 'VariableDefinition',\n SELECTION_SET: 'SelectionSet',\n FIELD: 'Field',\n ARGUMENT: 'Argument',\n // Fragments\n FRAGMENT_SPREAD: 'FragmentSpread',\n INLINE_FRAGMENT: 'InlineFragment',\n FRAGMENT_DEFINITION: 'FragmentDefinition',\n // Values\n VARIABLE: 'Variable',\n INT: 'IntValue',\n FLOAT: 'FloatValue',\n STRING: 'StringValue',\n BOOLEAN: 'BooleanValue',\n NULL: 'NullValue',\n ENUM: 'EnumValue',\n LIST: 'ListValue',\n OBJECT: 'ObjectValue',\n OBJECT_FIELD: 'ObjectField',\n // Directives\n DIRECTIVE: 'Directive',\n // Types\n NAMED_TYPE: 'NamedType',\n LIST_TYPE: 'ListType',\n NON_NULL_TYPE: 'NonNullType',\n // Type System Definitions\n SCHEMA_DEFINITION: 'SchemaDefinition',\n OPERATION_TYPE_DEFINITION: 'OperationTypeDefinition',\n // Type Definitions\n SCALAR_TYPE_DEFINITION: 'ScalarTypeDefinition',\n OBJECT_TYPE_DEFINITION: 'ObjectTypeDefinition',\n FIELD_DEFINITION: 'FieldDefinition',\n INPUT_VALUE_DEFINITION: 'InputValueDefinition',\n INTERFACE_TYPE_DEFINITION: 'InterfaceTypeDefinition',\n UNION_TYPE_DEFINITION: 'UnionTypeDefinition',\n ENUM_TYPE_DEFINITION: 'EnumTypeDefinition',\n ENUM_VALUE_DEFINITION: 'EnumValueDefinition',\n INPUT_OBJECT_TYPE_DEFINITION: 'InputObjectTypeDefinition',\n // Directive Definitions\n DIRECTIVE_DEFINITION: 'DirectiveDefinition',\n // Type System Extensions\n SCHEMA_EXTENSION: 'SchemaExtension',\n // Type Extensions\n SCALAR_TYPE_EXTENSION: 'ScalarTypeExtension',\n OBJECT_TYPE_EXTENSION: 'ObjectTypeExtension',\n INTERFACE_TYPE_EXTENSION: 'InterfaceTypeExtension',\n UNION_TYPE_EXTENSION: 'UnionTypeExtension',\n ENUM_TYPE_EXTENSION: 'EnumTypeExtension',\n INPUT_OBJECT_TYPE_EXTENSION: 'InputObjectTypeExtension'\n});\n/**\n * The enum type representing the possible kind values of AST nodes.\n */\n","// istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\nvar nodejsCustomInspectSymbol = typeof Symbol === 'function' && typeof Symbol.for === 'function' ? Symbol.for('nodejs.util.inspect.custom') : undefined;\nexport default nodejsCustomInspectSymbol;\n","import invariant from \"./invariant.mjs\";\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\n/**\n * The `defineInspect()` function defines `inspect()` prototype method as alias of `toJSON`\n */\n\nexport default function defineInspect(classObject) {\n var fn = classObject.prototype.toJSON;\n typeof fn === 'function' || invariant(0);\n classObject.prototype.inspect = fn; // istanbul ignore else (See: 'https://github.com/graphql/graphql-js/issues/2317')\n\n if (nodejsCustomInspectSymbol) {\n classObject.prototype[nodejsCustomInspectSymbol] = fn;\n }\n}\n","export default function invariant(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message != null ? message : 'Unexpected invariant triggered.');\n }\n}\n","import defineInspect from \"../jsutils/defineInspect.mjs\";\n\n/**\n * Contains a range of UTF-8 character offsets and token references that\n * identify the region of the source from which the AST derived.\n */\nexport var Location = /*#__PURE__*/function () {\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The Token at which this Node begins.\n */\n\n /**\n * The Token at which this Node ends.\n */\n\n /**\n * The Source document the AST represents.\n */\n function Location(startToken, endToken, source) {\n this.start = startToken.start;\n this.end = endToken.end;\n this.startToken = startToken;\n this.endToken = endToken;\n this.source = source;\n }\n\n var _proto = Location.prototype;\n\n _proto.toJSON = function toJSON() {\n return {\n start: this.start,\n end: this.end\n };\n };\n\n return Location;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Location);\n/**\n * Represents a range of characters represented by a lexical token\n * within a Source.\n */\n\nexport var Token = /*#__PURE__*/function () {\n /**\n * The kind of Token.\n */\n\n /**\n * The character offset at which this Node begins.\n */\n\n /**\n * The character offset at which this Node ends.\n */\n\n /**\n * The 1-indexed line number on which this Token appears.\n */\n\n /**\n * The 1-indexed column number at which this Token begins.\n */\n\n /**\n * For non-punctuation tokens, represents the interpreted value of the token.\n */\n\n /**\n * Tokens exist as nodes in a double-linked-list amongst all tokens\n * including ignored tokens. is always the first node and \n * the last.\n */\n function Token(kind, start, end, line, column, prev, value) {\n this.kind = kind;\n this.start = start;\n this.end = end;\n this.line = line;\n this.column = column;\n this.value = value;\n this.prev = prev;\n this.next = null;\n }\n\n var _proto2 = Token.prototype;\n\n _proto2.toJSON = function toJSON() {\n return {\n kind: this.kind,\n value: this.value,\n line: this.line,\n column: this.column\n };\n };\n\n return Token;\n}(); // Print a simplified form when appearing in `inspect` and `util.inspect`.\n\ndefineInspect(Token);\n/**\n * @internal\n */\n\nexport function isNode(maybeNode) {\n return maybeNode != null && typeof maybeNode.kind === 'string';\n}\n/**\n * The list of all possible AST node types.\n */\n","/**\n * An exported enum describing the different kinds of tokens that the\n * lexer emits.\n */\nexport var TokenKind = Object.freeze({\n SOF: '',\n EOF: '',\n BANG: '!',\n DOLLAR: '$',\n AMP: '&',\n PAREN_L: '(',\n PAREN_R: ')',\n SPREAD: '...',\n COLON: ':',\n EQUALS: '=',\n AT: '@',\n BRACKET_L: '[',\n BRACKET_R: ']',\n BRACE_L: '{',\n PIPE: '|',\n BRACE_R: '}',\n NAME: 'Name',\n INT: 'Int',\n FLOAT: 'Float',\n STRING: 'String',\n BLOCK_STRING: 'BlockString',\n COMMENT: 'Comment'\n});\n/**\n * The enum type representing the token kinds values.\n */\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\n/* eslint-disable flowtype/no-weak-types */\nimport nodejsCustomInspectSymbol from \"./nodejsCustomInspectSymbol.mjs\";\nvar MAX_ARRAY_LENGTH = 10;\nvar MAX_RECURSIVE_DEPTH = 2;\n/**\n * Used to print values in error messages.\n */\n\nexport default function inspect(value) {\n return formatValue(value, []);\n}\n\nfunction formatValue(value, seenValues) {\n switch (_typeof(value)) {\n case 'string':\n return JSON.stringify(value);\n\n case 'function':\n return value.name ? \"[function \".concat(value.name, \"]\") : '[function]';\n\n case 'object':\n if (value === null) {\n return 'null';\n }\n\n return formatObjectValue(value, seenValues);\n\n default:\n return String(value);\n }\n}\n\nfunction formatObjectValue(value, previouslySeenValues) {\n if (previouslySeenValues.indexOf(value) !== -1) {\n return '[Circular]';\n }\n\n var seenValues = [].concat(previouslySeenValues, [value]);\n var customInspectFn = getCustomFn(value);\n\n if (customInspectFn !== undefined) {\n var customValue = customInspectFn.call(value); // check for infinite recursion\n\n if (customValue !== value) {\n return typeof customValue === 'string' ? customValue : formatValue(customValue, seenValues);\n }\n } else if (Array.isArray(value)) {\n return formatArray(value, seenValues);\n }\n\n return formatObject(value, seenValues);\n}\n\nfunction formatObject(object, seenValues) {\n var keys = Object.keys(object);\n\n if (keys.length === 0) {\n return '{}';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[' + getObjectTag(object) + ']';\n }\n\n var properties = keys.map(function (key) {\n var value = formatValue(object[key], seenValues);\n return key + ': ' + value;\n });\n return '{ ' + properties.join(', ') + ' }';\n}\n\nfunction formatArray(array, seenValues) {\n if (array.length === 0) {\n return '[]';\n }\n\n if (seenValues.length > MAX_RECURSIVE_DEPTH) {\n return '[Array]';\n }\n\n var len = Math.min(MAX_ARRAY_LENGTH, array.length);\n var remaining = array.length - len;\n var items = [];\n\n for (var i = 0; i < len; ++i) {\n items.push(formatValue(array[i], seenValues));\n }\n\n if (remaining === 1) {\n items.push('... 1 more item');\n } else if (remaining > 1) {\n items.push(\"... \".concat(remaining, \" more items\"));\n }\n\n return '[' + items.join(', ') + ']';\n}\n\nfunction getCustomFn(object) {\n var customInspectFn = object[String(nodejsCustomInspectSymbol)];\n\n if (typeof customInspectFn === 'function') {\n return customInspectFn;\n }\n\n if (typeof object.inspect === 'function') {\n return object.inspect;\n }\n}\n\nfunction getObjectTag(object) {\n var tag = Object.prototype.toString.call(object).replace(/^\\[object /, '').replace(/]$/, '');\n\n if (tag === 'Object' && typeof object.constructor === 'function') {\n var name = object.constructor.name;\n\n if (typeof name === 'string' && name !== '') {\n return name;\n }\n }\n\n return tag;\n}\n","export default function devAssert(condition, message) {\n var booleanCondition = Boolean(condition); // istanbul ignore else (See transformation done in './resources/inlineInvariant.js')\n\n if (!booleanCondition) {\n throw new Error(message);\n }\n}\n","function _typeof(obj) { \"@babel/helpers - typeof\"; if (typeof Symbol === \"function\" && typeof Symbol.iterator === \"symbol\") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === \"function\" && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj; }; } return _typeof(obj); }\n\nimport inspect from \"./inspect.mjs\";\n/**\n * A replacement for instanceof which includes an error warning when multi-realm\n * constructors are detected.\n */\n\n// See: https://expressjs.com/en/advanced/best-practice-performance.html#set-node_env-to-production\n// See: https://webpack.js.org/guides/production/\nexport default process.env.NODE_ENV === 'production' ? // istanbul ignore next (See: 'https://github.com/graphql/graphql-js/issues/2317')\n// eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n return value instanceof constructor;\n} : // eslint-disable-next-line no-shadow\nfunction instanceOf(value, constructor) {\n if (value instanceof constructor) {\n return true;\n }\n\n if (_typeof(value) === 'object' && value !== null) {\n var _value$constructor;\n\n var className = constructor.prototype[Symbol.toStringTag];\n var valueClassName = // We still need to support constructor's name to detect conflicts with older versions of this library.\n Symbol.toStringTag in value ? value[Symbol.toStringTag] : (_value$constructor = value.constructor) === null || _value$constructor === void 0 ? void 0 : _value$constructor.name;\n\n if (className === valueClassName) {\n var stringifiedValue = inspect(value);\n throw new Error(\"Cannot use \".concat(className, \" \\\"\").concat(stringifiedValue, \"\\\" from another module or realm.\\n\\nEnsure that there is only one instance of \\\"graphql\\\" in the node_modules\\ndirectory. If different versions of \\\"graphql\\\" are the dependencies of other\\nrelied on modules, use \\\"resolutions\\\" to ensure only one version is installed.\\n\\nhttps://yarnpkg.com/en/docs/selective-version-resolutions\\n\\nDuplicate \\\"graphql\\\" modules cannot be used at the same time since different\\nversions may have different capabilities and behavior. The data from one\\nversion used in the function from another could produce confusing and\\nspurious results.\"));\n }\n }\n\n return false;\n};\n","function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\nimport { SYMBOL_TO_STRING_TAG } from \"../polyfills/symbols.mjs\";\nimport inspect from \"../jsutils/inspect.mjs\";\nimport devAssert from \"../jsutils/devAssert.mjs\";\nimport instanceOf from \"../jsutils/instanceOf.mjs\";\n\n/**\n * A representation of source input to GraphQL. The `name` and `locationOffset` parameters are\n * optional, but they are useful for clients who store GraphQL documents in source files.\n * For example, if the GraphQL input starts at line 40 in a file named `Foo.graphql`, it might\n * be useful for `name` to be `\"Foo.graphql\"` and location to be `{ line: 40, column: 1 }`.\n * The `line` and `column` properties in `locationOffset` are 1-indexed.\n */\nexport var Source = /*#__PURE__*/function () {\n function Source(body) {\n var name = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'GraphQL request';\n var locationOffset = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n line: 1,\n column: 1\n };\n typeof body === 'string' || devAssert(0, \"Body must be a string. Received: \".concat(inspect(body), \".\"));\n this.body = body;\n this.name = name;\n this.locationOffset = locationOffset;\n this.locationOffset.line > 0 || devAssert(0, 'line in locationOffset is 1-indexed and must be positive.');\n this.locationOffset.column > 0 || devAssert(0, 'column in locationOffset is 1-indexed and must be positive.');\n } // $FlowFixMe[unsupported-syntax] Flow doesn't support computed properties yet\n\n\n _createClass(Source, [{\n key: SYMBOL_TO_STRING_TAG,\n get: function get() {\n return 'Source';\n }\n }]);\n\n return Source;\n}();\n/**\n * Test if the given value is a Source object.\n *\n * @internal\n */\n\n// eslint-disable-next-line no-redeclare\nexport function isSource(source) {\n return instanceOf(source, Source);\n}\n","/**\n * The set of allowed directive location values.\n */\nexport var DirectiveLocation = Object.freeze({\n // Request Definitions\n QUERY: 'QUERY',\n MUTATION: 'MUTATION',\n SUBSCRIPTION: 'SUBSCRIPTION',\n FIELD: 'FIELD',\n FRAGMENT_DEFINITION: 'FRAGMENT_DEFINITION',\n FRAGMENT_SPREAD: 'FRAGMENT_SPREAD',\n INLINE_FRAGMENT: 'INLINE_FRAGMENT',\n VARIABLE_DEFINITION: 'VARIABLE_DEFINITION',\n // Type System Definitions\n SCHEMA: 'SCHEMA',\n SCALAR: 'SCALAR',\n OBJECT: 'OBJECT',\n FIELD_DEFINITION: 'FIELD_DEFINITION',\n ARGUMENT_DEFINITION: 'ARGUMENT_DEFINITION',\n INTERFACE: 'INTERFACE',\n UNION: 'UNION',\n ENUM: 'ENUM',\n ENUM_VALUE: 'ENUM_VALUE',\n INPUT_OBJECT: 'INPUT_OBJECT',\n INPUT_FIELD_DEFINITION: 'INPUT_FIELD_DEFINITION'\n});\n/**\n * The enum type representing the directive location values.\n */\n","/**\n * Produces the value of a block string from its parsed raw value, similar to\n * CoffeeScript's block string, Python's docstring trim or Ruby's strip_heredoc.\n *\n * This implements the GraphQL spec's BlockStringValue() static algorithm.\n *\n * @internal\n */\nexport function dedentBlockStringValue(rawString) {\n // Expand a block string's raw value into independent lines.\n var lines = rawString.split(/\\r\\n|[\\n\\r]/g); // Remove common indentation from all lines but first.\n\n var commonIndent = getBlockStringIndentation(rawString);\n\n if (commonIndent !== 0) {\n for (var i = 1; i < lines.length; i++) {\n lines[i] = lines[i].slice(commonIndent);\n }\n } // Remove leading and trailing blank lines.\n\n\n var startLine = 0;\n\n while (startLine < lines.length && isBlank(lines[startLine])) {\n ++startLine;\n }\n\n var endLine = lines.length;\n\n while (endLine > startLine && isBlank(lines[endLine - 1])) {\n --endLine;\n } // Return a string of the lines joined with U+000A.\n\n\n return lines.slice(startLine, endLine).join('\\n');\n}\n\nfunction isBlank(str) {\n for (var i = 0; i < str.length; ++i) {\n if (str[i] !== ' ' && str[i] !== '\\t') {\n return false;\n }\n }\n\n return true;\n}\n/**\n * @internal\n */\n\n\nexport function getBlockStringIndentation(value) {\n var _commonIndent;\n\n var isFirstLine = true;\n var isEmptyLine = true;\n var indent = 0;\n var commonIndent = null;\n\n for (var i = 0; i < value.length; ++i) {\n switch (value.charCodeAt(i)) {\n case 13:\n // \\r\n if (value.charCodeAt(i + 1) === 10) {\n ++i; // skip \\r\\n as one symbol\n }\n\n // falls through\n\n case 10:\n // \\n\n isFirstLine = false;\n isEmptyLine = true;\n indent = 0;\n break;\n\n case 9: // \\t\n\n case 32:\n // \n ++indent;\n break;\n\n default:\n if (isEmptyLine && !isFirstLine && (commonIndent === null || indent < commonIndent)) {\n commonIndent = indent;\n }\n\n isEmptyLine = false;\n }\n }\n\n return (_commonIndent = commonIndent) !== null && _commonIndent !== void 0 ? _commonIndent : 0;\n}\n/**\n * Print a block string in the indented block form by adding a leading and\n * trailing blank line. However, if a block string starts with whitespace and is\n * a single-line, adding a leading blank line would strip that whitespace.\n *\n * @internal\n */\n\nexport function printBlockString(value) {\n var indentation = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n var preferMultipleLines = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var isSingleLine = value.indexOf('\\n') === -1;\n var hasLeadingSpace = value[0] === ' ' || value[0] === '\\t';\n var hasTrailingQuote = value[value.length - 1] === '\"';\n var hasTrailingSlash = value[value.length - 1] === '\\\\';\n var printAsMultipleLines = !isSingleLine || hasTrailingQuote || hasTrailingSlash || preferMultipleLines;\n var result = ''; // Format a multi-line block quote to account for leading space.\n\n if (printAsMultipleLines && !(isSingleLine && hasLeadingSpace)) {\n result += '\\n' + indentation;\n }\n\n result += indentation ? value.replace(/\\n/g, '\\n' + indentation) : value;\n\n if (printAsMultipleLines) {\n result += '\\n';\n }\n\n return '\"\"\"' + result.replace(/\"\"\"/g, '\\\\\"\"\"') + '\"\"\"';\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Token } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { dedentBlockStringValue } from \"./blockString.mjs\";\n/**\n * Given a Source object, creates a Lexer for that source.\n * A Lexer is a stateful stream generator in that every time\n * it is advanced, it returns the next token in the Source. Assuming the\n * source lexes, the final Token emitted by the lexer will be of kind\n * EOF, after which the lexer will repeatedly return the same EOF token\n * whenever called.\n */\n\nexport var Lexer = /*#__PURE__*/function () {\n /**\n * The previously focused non-ignored token.\n */\n\n /**\n * The currently focused non-ignored token.\n */\n\n /**\n * The (1-indexed) line containing the current token.\n */\n\n /**\n * The character offset at which the current line begins.\n */\n function Lexer(source) {\n var startOfFileToken = new Token(TokenKind.SOF, 0, 0, 0, 0, null);\n this.source = source;\n this.lastToken = startOfFileToken;\n this.token = startOfFileToken;\n this.line = 1;\n this.lineStart = 0;\n }\n /**\n * Advances the token stream to the next non-ignored token.\n */\n\n\n var _proto = Lexer.prototype;\n\n _proto.advance = function advance() {\n this.lastToken = this.token;\n var token = this.token = this.lookahead();\n return token;\n }\n /**\n * Looks ahead and returns the next non-ignored token, but does not change\n * the state of Lexer.\n */\n ;\n\n _proto.lookahead = function lookahead() {\n var token = this.token;\n\n if (token.kind !== TokenKind.EOF) {\n do {\n var _token$next;\n\n // Note: next is only mutable during parsing, so we cast to allow this.\n token = (_token$next = token.next) !== null && _token$next !== void 0 ? _token$next : token.next = readToken(this, token);\n } while (token.kind === TokenKind.COMMENT);\n }\n\n return token;\n };\n\n return Lexer;\n}();\n/**\n * @internal\n */\n\nexport function isPunctuatorTokenKind(kind) {\n return kind === TokenKind.BANG || kind === TokenKind.DOLLAR || kind === TokenKind.AMP || kind === TokenKind.PAREN_L || kind === TokenKind.PAREN_R || kind === TokenKind.SPREAD || kind === TokenKind.COLON || kind === TokenKind.EQUALS || kind === TokenKind.AT || kind === TokenKind.BRACKET_L || kind === TokenKind.BRACKET_R || kind === TokenKind.BRACE_L || kind === TokenKind.PIPE || kind === TokenKind.BRACE_R;\n}\n\nfunction printCharCode(code) {\n return (// NaN/undefined represents access beyond the end of the file.\n isNaN(code) ? TokenKind.EOF : // Trust JSON for ASCII.\n code < 0x007f ? JSON.stringify(String.fromCharCode(code)) : // Otherwise print the escaped form.\n \"\\\"\\\\u\".concat(('00' + code.toString(16).toUpperCase()).slice(-4), \"\\\"\")\n );\n}\n/**\n * Gets the next token from the source starting at the given position.\n *\n * This skips over whitespace until it finds the next lexable token, then lexes\n * punctuators immediately or calls the appropriate helper function for more\n * complicated tokens.\n */\n\n\nfunction readToken(lexer, prev) {\n var source = lexer.source;\n var body = source.body;\n var bodyLength = body.length;\n var pos = prev.end;\n\n while (pos < bodyLength) {\n var code = body.charCodeAt(pos);\n var _line = lexer.line;\n\n var _col = 1 + pos - lexer.lineStart; // SourceCharacter\n\n\n switch (code) {\n case 0xfeff: // \n\n case 9: // \\t\n\n case 32: // \n\n case 44:\n // ,\n ++pos;\n continue;\n\n case 10:\n // \\n\n ++pos;\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 13:\n // \\r\n if (body.charCodeAt(pos + 1) === 10) {\n pos += 2;\n } else {\n ++pos;\n }\n\n ++lexer.line;\n lexer.lineStart = pos;\n continue;\n\n case 33:\n // !\n return new Token(TokenKind.BANG, pos, pos + 1, _line, _col, prev);\n\n case 35:\n // #\n return readComment(source, pos, _line, _col, prev);\n\n case 36:\n // $\n return new Token(TokenKind.DOLLAR, pos, pos + 1, _line, _col, prev);\n\n case 38:\n // &\n return new Token(TokenKind.AMP, pos, pos + 1, _line, _col, prev);\n\n case 40:\n // (\n return new Token(TokenKind.PAREN_L, pos, pos + 1, _line, _col, prev);\n\n case 41:\n // )\n return new Token(TokenKind.PAREN_R, pos, pos + 1, _line, _col, prev);\n\n case 46:\n // .\n if (body.charCodeAt(pos + 1) === 46 && body.charCodeAt(pos + 2) === 46) {\n return new Token(TokenKind.SPREAD, pos, pos + 3, _line, _col, prev);\n }\n\n break;\n\n case 58:\n // :\n return new Token(TokenKind.COLON, pos, pos + 1, _line, _col, prev);\n\n case 61:\n // =\n return new Token(TokenKind.EQUALS, pos, pos + 1, _line, _col, prev);\n\n case 64:\n // @\n return new Token(TokenKind.AT, pos, pos + 1, _line, _col, prev);\n\n case 91:\n // [\n return new Token(TokenKind.BRACKET_L, pos, pos + 1, _line, _col, prev);\n\n case 93:\n // ]\n return new Token(TokenKind.BRACKET_R, pos, pos + 1, _line, _col, prev);\n\n case 123:\n // {\n return new Token(TokenKind.BRACE_L, pos, pos + 1, _line, _col, prev);\n\n case 124:\n // |\n return new Token(TokenKind.PIPE, pos, pos + 1, _line, _col, prev);\n\n case 125:\n // }\n return new Token(TokenKind.BRACE_R, pos, pos + 1, _line, _col, prev);\n\n case 34:\n // \"\n if (body.charCodeAt(pos + 1) === 34 && body.charCodeAt(pos + 2) === 34) {\n return readBlockString(source, pos, _line, _col, prev, lexer);\n }\n\n return readString(source, pos, _line, _col, prev);\n\n case 45: // -\n\n case 48: // 0\n\n case 49: // 1\n\n case 50: // 2\n\n case 51: // 3\n\n case 52: // 4\n\n case 53: // 5\n\n case 54: // 6\n\n case 55: // 7\n\n case 56: // 8\n\n case 57:\n // 9\n return readNumber(source, pos, code, _line, _col, prev);\n\n case 65: // A\n\n case 66: // B\n\n case 67: // C\n\n case 68: // D\n\n case 69: // E\n\n case 70: // F\n\n case 71: // G\n\n case 72: // H\n\n case 73: // I\n\n case 74: // J\n\n case 75: // K\n\n case 76: // L\n\n case 77: // M\n\n case 78: // N\n\n case 79: // O\n\n case 80: // P\n\n case 81: // Q\n\n case 82: // R\n\n case 83: // S\n\n case 84: // T\n\n case 85: // U\n\n case 86: // V\n\n case 87: // W\n\n case 88: // X\n\n case 89: // Y\n\n case 90: // Z\n\n case 95: // _\n\n case 97: // a\n\n case 98: // b\n\n case 99: // c\n\n case 100: // d\n\n case 101: // e\n\n case 102: // f\n\n case 103: // g\n\n case 104: // h\n\n case 105: // i\n\n case 106: // j\n\n case 107: // k\n\n case 108: // l\n\n case 109: // m\n\n case 110: // n\n\n case 111: // o\n\n case 112: // p\n\n case 113: // q\n\n case 114: // r\n\n case 115: // s\n\n case 116: // t\n\n case 117: // u\n\n case 118: // v\n\n case 119: // w\n\n case 120: // x\n\n case 121: // y\n\n case 122:\n // z\n return readName(source, pos, _line, _col, prev);\n }\n\n throw syntaxError(source, pos, unexpectedCharacterMessage(code));\n }\n\n var line = lexer.line;\n var col = 1 + pos - lexer.lineStart;\n return new Token(TokenKind.EOF, bodyLength, bodyLength, line, col, prev);\n}\n/**\n * Report a message that an unexpected character was encountered.\n */\n\n\nfunction unexpectedCharacterMessage(code) {\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n return \"Cannot contain the invalid character \".concat(printCharCode(code), \".\");\n }\n\n if (code === 39) {\n // '\n return 'Unexpected single quote character (\\'), did you mean to use a double quote (\")?';\n }\n\n return \"Cannot parse the unexpected character \".concat(printCharCode(code), \".\");\n}\n/**\n * Reads a comment token from the source file.\n *\n * #[\\u0009\\u0020-\\uFFFF]*\n */\n\n\nfunction readComment(source, start, line, col, prev) {\n var body = source.body;\n var code;\n var position = start;\n\n do {\n code = body.charCodeAt(++position);\n } while (!isNaN(code) && ( // SourceCharacter but not LineTerminator\n code > 0x001f || code === 0x0009));\n\n return new Token(TokenKind.COMMENT, start, position, line, col, prev, body.slice(start + 1, position));\n}\n/**\n * Reads a number token from the source file, either a float\n * or an int depending on whether a decimal point appears.\n *\n * Int: -?(0|[1-9][0-9]*)\n * Float: -?(0|[1-9][0-9]*)(\\.[0-9]+)?((E|e)(+|-)?[0-9]+)?\n */\n\n\nfunction readNumber(source, start, firstCode, line, col, prev) {\n var body = source.body;\n var code = firstCode;\n var position = start;\n var isFloat = false;\n\n if (code === 45) {\n // -\n code = body.charCodeAt(++position);\n }\n\n if (code === 48) {\n // 0\n code = body.charCodeAt(++position);\n\n if (code >= 48 && code <= 57) {\n throw syntaxError(source, position, \"Invalid number, unexpected digit after 0: \".concat(printCharCode(code), \".\"));\n }\n } else {\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 46) {\n // .\n isFloat = true;\n code = body.charCodeAt(++position);\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n }\n\n if (code === 69 || code === 101) {\n // E e\n isFloat = true;\n code = body.charCodeAt(++position);\n\n if (code === 43 || code === 45) {\n // + -\n code = body.charCodeAt(++position);\n }\n\n position = readDigits(source, position, code);\n code = body.charCodeAt(position);\n } // Numbers cannot be followed by . or NameStart\n\n\n if (code === 46 || isNameStart(code)) {\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n }\n\n return new Token(isFloat ? TokenKind.FLOAT : TokenKind.INT, start, position, line, col, prev, body.slice(start, position));\n}\n/**\n * Returns the new position in the source after reading digits.\n */\n\n\nfunction readDigits(source, start, firstCode) {\n var body = source.body;\n var position = start;\n var code = firstCode;\n\n if (code >= 48 && code <= 57) {\n // 0 - 9\n do {\n code = body.charCodeAt(++position);\n } while (code >= 48 && code <= 57); // 0 - 9\n\n\n return position;\n }\n\n throw syntaxError(source, position, \"Invalid number, expected digit but got: \".concat(printCharCode(code), \".\"));\n}\n/**\n * Reads a string token from the source file.\n *\n * \"([^\"\\\\\\u000A\\u000D]|(\\\\(u[0-9a-fA-F]{4}|[\"\\\\/bfnrt])))*\"\n */\n\n\nfunction readString(source, start, line, col, prev) {\n var body = source.body;\n var position = start + 1;\n var chunkStart = position;\n var code = 0;\n var value = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position)) && // not LineTerminator\n code !== 0x000a && code !== 0x000d) {\n // Closing Quote (\")\n if (code === 34) {\n value += body.slice(chunkStart, position);\n return new Token(TokenKind.STRING, start, position + 1, line, col, prev, value);\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n ++position;\n\n if (code === 92) {\n // \\\n value += body.slice(chunkStart, position - 1);\n code = body.charCodeAt(position);\n\n switch (code) {\n case 34:\n value += '\"';\n break;\n\n case 47:\n value += '/';\n break;\n\n case 92:\n value += '\\\\';\n break;\n\n case 98:\n value += '\\b';\n break;\n\n case 102:\n value += '\\f';\n break;\n\n case 110:\n value += '\\n';\n break;\n\n case 114:\n value += '\\r';\n break;\n\n case 116:\n value += '\\t';\n break;\n\n case 117:\n {\n // uXXXX\n var charCode = uniCharCode(body.charCodeAt(position + 1), body.charCodeAt(position + 2), body.charCodeAt(position + 3), body.charCodeAt(position + 4));\n\n if (charCode < 0) {\n var invalidSequence = body.slice(position + 1, position + 5);\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\u\".concat(invalidSequence, \".\"));\n }\n\n value += String.fromCharCode(charCode);\n position += 4;\n break;\n }\n\n default:\n throw syntaxError(source, position, \"Invalid character escape sequence: \\\\\".concat(String.fromCharCode(code), \".\"));\n }\n\n ++position;\n chunkStart = position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Reads a block string token from the source file.\n *\n * \"\"\"(\"?\"?(\\\\\"\"\"|\\\\(?!=\"\"\")|[^\"\\\\]))*\"\"\"\n */\n\n\nfunction readBlockString(source, start, line, col, prev, lexer) {\n var body = source.body;\n var position = start + 3;\n var chunkStart = position;\n var code = 0;\n var rawValue = '';\n\n while (position < body.length && !isNaN(code = body.charCodeAt(position))) {\n // Closing Triple-Quote (\"\"\")\n if (code === 34 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34) {\n rawValue += body.slice(chunkStart, position);\n return new Token(TokenKind.BLOCK_STRING, start, position + 3, line, col, prev, dedentBlockStringValue(rawValue));\n } // SourceCharacter\n\n\n if (code < 0x0020 && code !== 0x0009 && code !== 0x000a && code !== 0x000d) {\n throw syntaxError(source, position, \"Invalid character within String: \".concat(printCharCode(code), \".\"));\n }\n\n if (code === 10) {\n // new line\n ++position;\n ++lexer.line;\n lexer.lineStart = position;\n } else if (code === 13) {\n // carriage return\n if (body.charCodeAt(position + 1) === 10) {\n position += 2;\n } else {\n ++position;\n }\n\n ++lexer.line;\n lexer.lineStart = position;\n } else if ( // Escape Triple-Quote (\\\"\"\")\n code === 92 && body.charCodeAt(position + 1) === 34 && body.charCodeAt(position + 2) === 34 && body.charCodeAt(position + 3) === 34) {\n rawValue += body.slice(chunkStart, position) + '\"\"\"';\n position += 4;\n chunkStart = position;\n } else {\n ++position;\n }\n }\n\n throw syntaxError(source, position, 'Unterminated string.');\n}\n/**\n * Converts four hexadecimal chars to the integer that the\n * string represents. For example, uniCharCode('0','0','0','f')\n * will return 15, and uniCharCode('0','0','f','f') returns 255.\n *\n * Returns a negative number on error, if a char was invalid.\n *\n * This is implemented by noting that char2hex() returns -1 on error,\n * which means the result of ORing the char2hex() will also be negative.\n */\n\n\nfunction uniCharCode(a, b, c, d) {\n return char2hex(a) << 12 | char2hex(b) << 8 | char2hex(c) << 4 | char2hex(d);\n}\n/**\n * Converts a hex character to its integer value.\n * '0' becomes 0, '9' becomes 9\n * 'A' becomes 10, 'F' becomes 15\n * 'a' becomes 10, 'f' becomes 15\n *\n * Returns -1 on error.\n */\n\n\nfunction char2hex(a) {\n return a >= 48 && a <= 57 ? a - 48 // 0-9\n : a >= 65 && a <= 70 ? a - 55 // A-F\n : a >= 97 && a <= 102 ? a - 87 // a-f\n : -1;\n}\n/**\n * Reads an alphanumeric + underscore name from the source.\n *\n * [_A-Za-z][_0-9A-Za-z]*\n */\n\n\nfunction readName(source, start, line, col, prev) {\n var body = source.body;\n var bodyLength = body.length;\n var position = start + 1;\n var code = 0;\n\n while (position !== bodyLength && !isNaN(code = body.charCodeAt(position)) && (code === 95 || // _\n code >= 48 && code <= 57 || // 0-9\n code >= 65 && code <= 90 || // A-Z\n code >= 97 && code <= 122) // a-z\n ) {\n ++position;\n }\n\n return new Token(TokenKind.NAME, start, position, line, col, prev, body.slice(start, position));\n} // _ A-Z a-z\n\n\nfunction isNameStart(code) {\n return code === 95 || code >= 65 && code <= 90 || code >= 97 && code <= 122;\n}\n","import { syntaxError } from \"../error/syntaxError.mjs\";\nimport { Kind } from \"./kinds.mjs\";\nimport { Location } from \"./ast.mjs\";\nimport { TokenKind } from \"./tokenKind.mjs\";\nimport { Source, isSource } from \"./source.mjs\";\nimport { DirectiveLocation } from \"./directiveLocation.mjs\";\nimport { Lexer, isPunctuatorTokenKind } from \"./lexer.mjs\";\n/**\n * Configuration options to control parser behavior\n */\n\n/**\n * Given a GraphQL source, parses it into a Document.\n * Throws GraphQLError if a syntax error is encountered.\n */\nexport function parse(source, options) {\n var parser = new Parser(source, options);\n return parser.parseDocument();\n}\n/**\n * Given a string containing a GraphQL value (ex. `[42]`), parse the AST for\n * that value.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Values directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: valueFromAST().\n */\n\nexport function parseValue(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var value = parser.parseValueLiteral(false);\n parser.expectToken(TokenKind.EOF);\n return value;\n}\n/**\n * Given a string containing a GraphQL Type (ex. `[Int!]`), parse the AST for\n * that type.\n * Throws GraphQLError if a syntax error is encountered.\n *\n * This is useful within tools that operate upon GraphQL Types directly and\n * in isolation of complete GraphQL documents.\n *\n * Consider providing the results to the utility function: typeFromAST().\n */\n\nexport function parseType(source, options) {\n var parser = new Parser(source, options);\n parser.expectToken(TokenKind.SOF);\n var type = parser.parseTypeReference();\n parser.expectToken(TokenKind.EOF);\n return type;\n}\n/**\n * This class is exported only to assist people in implementing their own parsers\n * without duplicating too much code and should be used only as last resort for cases\n * such as experimental syntax or if certain features could not be contributed upstream.\n *\n * It is still part of the internal API and is versioned, so any changes to it are never\n * considered breaking changes. If you still need to support multiple versions of the\n * library, please use the `versionInfo` variable for version detection.\n *\n * @internal\n */\n\nexport var Parser = /*#__PURE__*/function () {\n function Parser(source, options) {\n var sourceObj = isSource(source) ? source : new Source(source);\n this._lexer = new Lexer(sourceObj);\n this._options = options;\n }\n /**\n * Converts a name lex token into a name parse node.\n */\n\n\n var _proto = Parser.prototype;\n\n _proto.parseName = function parseName() {\n var token = this.expectToken(TokenKind.NAME);\n return {\n kind: Kind.NAME,\n value: token.value,\n loc: this.loc(token)\n };\n } // Implements the parsing rules in the Document section.\n\n /**\n * Document : Definition+\n */\n ;\n\n _proto.parseDocument = function parseDocument() {\n var start = this._lexer.token;\n return {\n kind: Kind.DOCUMENT,\n definitions: this.many(TokenKind.SOF, this.parseDefinition, TokenKind.EOF),\n loc: this.loc(start)\n };\n }\n /**\n * Definition :\n * - ExecutableDefinition\n * - TypeSystemDefinition\n * - TypeSystemExtension\n *\n * ExecutableDefinition :\n * - OperationDefinition\n * - FragmentDefinition\n */\n ;\n\n _proto.parseDefinition = function parseDefinition() {\n if (this.peek(TokenKind.NAME)) {\n switch (this._lexer.token.value) {\n case 'query':\n case 'mutation':\n case 'subscription':\n return this.parseOperationDefinition();\n\n case 'fragment':\n return this.parseFragmentDefinition();\n\n case 'schema':\n case 'scalar':\n case 'type':\n case 'interface':\n case 'union':\n case 'enum':\n case 'input':\n case 'directive':\n return this.parseTypeSystemDefinition();\n\n case 'extend':\n return this.parseTypeSystemExtension();\n }\n } else if (this.peek(TokenKind.BRACE_L)) {\n return this.parseOperationDefinition();\n } else if (this.peekDescription()) {\n return this.parseTypeSystemDefinition();\n }\n\n throw this.unexpected();\n } // Implements the parsing rules in the Operations section.\n\n /**\n * OperationDefinition :\n * - SelectionSet\n * - OperationType Name? VariableDefinitions? Directives? SelectionSet\n */\n ;\n\n _proto.parseOperationDefinition = function parseOperationDefinition() {\n var start = this._lexer.token;\n\n if (this.peek(TokenKind.BRACE_L)) {\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: 'query',\n name: undefined,\n variableDefinitions: [],\n directives: [],\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n var operation = this.parseOperationType();\n var name;\n\n if (this.peek(TokenKind.NAME)) {\n name = this.parseName();\n }\n\n return {\n kind: Kind.OPERATION_DEFINITION,\n operation: operation,\n name: name,\n variableDefinitions: this.parseVariableDefinitions(),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * OperationType : one of query mutation subscription\n */\n ;\n\n _proto.parseOperationType = function parseOperationType() {\n var operationToken = this.expectToken(TokenKind.NAME);\n\n switch (operationToken.value) {\n case 'query':\n return 'query';\n\n case 'mutation':\n return 'mutation';\n\n case 'subscription':\n return 'subscription';\n }\n\n throw this.unexpected(operationToken);\n }\n /**\n * VariableDefinitions : ( VariableDefinition+ )\n */\n ;\n\n _proto.parseVariableDefinitions = function parseVariableDefinitions() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseVariableDefinition, TokenKind.PAREN_R);\n }\n /**\n * VariableDefinition : Variable : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseVariableDefinition = function parseVariableDefinition() {\n var start = this._lexer.token;\n return {\n kind: Kind.VARIABLE_DEFINITION,\n variable: this.parseVariable(),\n type: (this.expectToken(TokenKind.COLON), this.parseTypeReference()),\n defaultValue: this.expectOptionalToken(TokenKind.EQUALS) ? this.parseValueLiteral(true) : undefined,\n directives: this.parseDirectives(true),\n loc: this.loc(start)\n };\n }\n /**\n * Variable : $ Name\n */\n ;\n\n _proto.parseVariable = function parseVariable() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.DOLLAR);\n return {\n kind: Kind.VARIABLE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n }\n /**\n * SelectionSet : { Selection+ }\n */\n ;\n\n _proto.parseSelectionSet = function parseSelectionSet() {\n var start = this._lexer.token;\n return {\n kind: Kind.SELECTION_SET,\n selections: this.many(TokenKind.BRACE_L, this.parseSelection, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * Selection :\n * - Field\n * - FragmentSpread\n * - InlineFragment\n */\n ;\n\n _proto.parseSelection = function parseSelection() {\n return this.peek(TokenKind.SPREAD) ? this.parseFragment() : this.parseField();\n }\n /**\n * Field : Alias? Name Arguments? Directives? SelectionSet?\n *\n * Alias : Name :\n */\n ;\n\n _proto.parseField = function parseField() {\n var start = this._lexer.token;\n var nameOrAlias = this.parseName();\n var alias;\n var name;\n\n if (this.expectOptionalToken(TokenKind.COLON)) {\n alias = nameOrAlias;\n name = this.parseName();\n } else {\n name = nameOrAlias;\n }\n\n return {\n kind: Kind.FIELD,\n alias: alias,\n name: name,\n arguments: this.parseArguments(false),\n directives: this.parseDirectives(false),\n selectionSet: this.peek(TokenKind.BRACE_L) ? this.parseSelectionSet() : undefined,\n loc: this.loc(start)\n };\n }\n /**\n * Arguments[Const] : ( Argument[?Const]+ )\n */\n ;\n\n _proto.parseArguments = function parseArguments(isConst) {\n var item = isConst ? this.parseConstArgument : this.parseArgument;\n return this.optionalMany(TokenKind.PAREN_L, item, TokenKind.PAREN_R);\n }\n /**\n * Argument[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseArgument = function parseArgument() {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.ARGUMENT,\n name: name,\n value: this.parseValueLiteral(false),\n loc: this.loc(start)\n };\n };\n\n _proto.parseConstArgument = function parseConstArgument() {\n var start = this._lexer.token;\n return {\n kind: Kind.ARGUMENT,\n name: this.parseName(),\n value: (this.expectToken(TokenKind.COLON), this.parseValueLiteral(true)),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Fragments section.\n\n /**\n * Corresponds to both FragmentSpread and InlineFragment in the spec.\n *\n * FragmentSpread : ... FragmentName Directives?\n *\n * InlineFragment : ... TypeCondition? Directives? SelectionSet\n */\n ;\n\n _proto.parseFragment = function parseFragment() {\n var start = this._lexer.token;\n this.expectToken(TokenKind.SPREAD);\n var hasTypeCondition = this.expectOptionalKeyword('on');\n\n if (!hasTypeCondition && this.peek(TokenKind.NAME)) {\n return {\n kind: Kind.FRAGMENT_SPREAD,\n name: this.parseFragmentName(),\n directives: this.parseDirectives(false),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.INLINE_FRAGMENT,\n typeCondition: hasTypeCondition ? this.parseNamedType() : undefined,\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentDefinition :\n * - fragment FragmentName on TypeCondition Directives? SelectionSet\n *\n * TypeCondition : NamedType\n */\n ;\n\n _proto.parseFragmentDefinition = function parseFragmentDefinition() {\n var _this$_options;\n\n var start = this._lexer.token;\n this.expectKeyword('fragment'); // Experimental support for defining variables within fragments changes\n // the grammar of FragmentDefinition:\n // - fragment FragmentName VariableDefinitions? on TypeCondition Directives? SelectionSet\n\n if (((_this$_options = this._options) === null || _this$_options === void 0 ? void 0 : _this$_options.experimentalFragmentVariables) === true) {\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n variableDefinitions: this.parseVariableDefinitions(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n\n return {\n kind: Kind.FRAGMENT_DEFINITION,\n name: this.parseFragmentName(),\n typeCondition: (this.expectKeyword('on'), this.parseNamedType()),\n directives: this.parseDirectives(false),\n selectionSet: this.parseSelectionSet(),\n loc: this.loc(start)\n };\n }\n /**\n * FragmentName : Name but not `on`\n */\n ;\n\n _proto.parseFragmentName = function parseFragmentName() {\n if (this._lexer.token.value === 'on') {\n throw this.unexpected();\n }\n\n return this.parseName();\n } // Implements the parsing rules in the Values section.\n\n /**\n * Value[Const] :\n * - [~Const] Variable\n * - IntValue\n * - FloatValue\n * - StringValue\n * - BooleanValue\n * - NullValue\n * - EnumValue\n * - ListValue[?Const]\n * - ObjectValue[?Const]\n *\n * BooleanValue : one of `true` `false`\n *\n * NullValue : `null`\n *\n * EnumValue : Name but not `true`, `false` or `null`\n */\n ;\n\n _proto.parseValueLiteral = function parseValueLiteral(isConst) {\n var token = this._lexer.token;\n\n switch (token.kind) {\n case TokenKind.BRACKET_L:\n return this.parseList(isConst);\n\n case TokenKind.BRACE_L:\n return this.parseObject(isConst);\n\n case TokenKind.INT:\n this._lexer.advance();\n\n return {\n kind: Kind.INT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.FLOAT:\n this._lexer.advance();\n\n return {\n kind: Kind.FLOAT,\n value: token.value,\n loc: this.loc(token)\n };\n\n case TokenKind.STRING:\n case TokenKind.BLOCK_STRING:\n return this.parseStringLiteral();\n\n case TokenKind.NAME:\n this._lexer.advance();\n\n switch (token.value) {\n case 'true':\n return {\n kind: Kind.BOOLEAN,\n value: true,\n loc: this.loc(token)\n };\n\n case 'false':\n return {\n kind: Kind.BOOLEAN,\n value: false,\n loc: this.loc(token)\n };\n\n case 'null':\n return {\n kind: Kind.NULL,\n loc: this.loc(token)\n };\n\n default:\n return {\n kind: Kind.ENUM,\n value: token.value,\n loc: this.loc(token)\n };\n }\n\n case TokenKind.DOLLAR:\n if (!isConst) {\n return this.parseVariable();\n }\n\n break;\n }\n\n throw this.unexpected();\n };\n\n _proto.parseStringLiteral = function parseStringLiteral() {\n var token = this._lexer.token;\n\n this._lexer.advance();\n\n return {\n kind: Kind.STRING,\n value: token.value,\n block: token.kind === TokenKind.BLOCK_STRING,\n loc: this.loc(token)\n };\n }\n /**\n * ListValue[Const] :\n * - [ ]\n * - [ Value[?Const]+ ]\n */\n ;\n\n _proto.parseList = function parseList(isConst) {\n var _this = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this.parseValueLiteral(isConst);\n };\n\n return {\n kind: Kind.LIST,\n values: this.any(TokenKind.BRACKET_L, item, TokenKind.BRACKET_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectValue[Const] :\n * - { }\n * - { ObjectField[?Const]+ }\n */\n ;\n\n _proto.parseObject = function parseObject(isConst) {\n var _this2 = this;\n\n var start = this._lexer.token;\n\n var item = function item() {\n return _this2.parseObjectField(isConst);\n };\n\n return {\n kind: Kind.OBJECT,\n fields: this.any(TokenKind.BRACE_L, item, TokenKind.BRACE_R),\n loc: this.loc(start)\n };\n }\n /**\n * ObjectField[Const] : Name : Value[?Const]\n */\n ;\n\n _proto.parseObjectField = function parseObjectField(isConst) {\n var start = this._lexer.token;\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n return {\n kind: Kind.OBJECT_FIELD,\n name: name,\n value: this.parseValueLiteral(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Directives section.\n\n /**\n * Directives[Const] : Directive[?Const]+\n */\n ;\n\n _proto.parseDirectives = function parseDirectives(isConst) {\n var directives = [];\n\n while (this.peek(TokenKind.AT)) {\n directives.push(this.parseDirective(isConst));\n }\n\n return directives;\n }\n /**\n * Directive[Const] : @ Name Arguments[?Const]?\n */\n ;\n\n _proto.parseDirective = function parseDirective(isConst) {\n var start = this._lexer.token;\n this.expectToken(TokenKind.AT);\n return {\n kind: Kind.DIRECTIVE,\n name: this.parseName(),\n arguments: this.parseArguments(isConst),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Types section.\n\n /**\n * Type :\n * - NamedType\n * - ListType\n * - NonNullType\n */\n ;\n\n _proto.parseTypeReference = function parseTypeReference() {\n var start = this._lexer.token;\n var type;\n\n if (this.expectOptionalToken(TokenKind.BRACKET_L)) {\n type = this.parseTypeReference();\n this.expectToken(TokenKind.BRACKET_R);\n type = {\n kind: Kind.LIST_TYPE,\n type: type,\n loc: this.loc(start)\n };\n } else {\n type = this.parseNamedType();\n }\n\n if (this.expectOptionalToken(TokenKind.BANG)) {\n return {\n kind: Kind.NON_NULL_TYPE,\n type: type,\n loc: this.loc(start)\n };\n }\n\n return type;\n }\n /**\n * NamedType : Name\n */\n ;\n\n _proto.parseNamedType = function parseNamedType() {\n var start = this._lexer.token;\n return {\n kind: Kind.NAMED_TYPE,\n name: this.parseName(),\n loc: this.loc(start)\n };\n } // Implements the parsing rules in the Type Definition section.\n\n /**\n * TypeSystemDefinition :\n * - SchemaDefinition\n * - TypeDefinition\n * - DirectiveDefinition\n *\n * TypeDefinition :\n * - ScalarTypeDefinition\n * - ObjectTypeDefinition\n * - InterfaceTypeDefinition\n * - UnionTypeDefinition\n * - EnumTypeDefinition\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemDefinition = function parseTypeSystemDefinition() {\n // Many definitions begin with a description and require a lookahead.\n var keywordToken = this.peekDescription() ? this._lexer.lookahead() : this._lexer.token;\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaDefinition();\n\n case 'scalar':\n return this.parseScalarTypeDefinition();\n\n case 'type':\n return this.parseObjectTypeDefinition();\n\n case 'interface':\n return this.parseInterfaceTypeDefinition();\n\n case 'union':\n return this.parseUnionTypeDefinition();\n\n case 'enum':\n return this.parseEnumTypeDefinition();\n\n case 'input':\n return this.parseInputObjectTypeDefinition();\n\n case 'directive':\n return this.parseDirectiveDefinition();\n }\n }\n\n throw this.unexpected(keywordToken);\n };\n\n _proto.peekDescription = function peekDescription() {\n return this.peek(TokenKind.STRING) || this.peek(TokenKind.BLOCK_STRING);\n }\n /**\n * Description : StringValue\n */\n ;\n\n _proto.parseDescription = function parseDescription() {\n if (this.peekDescription()) {\n return this.parseStringLiteral();\n }\n }\n /**\n * SchemaDefinition : Description? schema Directives[Const]? { OperationTypeDefinition+ }\n */\n ;\n\n _proto.parseSchemaDefinition = function parseSchemaDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.many(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n return {\n kind: Kind.SCHEMA_DEFINITION,\n description: description,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * OperationTypeDefinition : OperationType : NamedType\n */\n ;\n\n _proto.parseOperationTypeDefinition = function parseOperationTypeDefinition() {\n var start = this._lexer.token;\n var operation = this.parseOperationType();\n this.expectToken(TokenKind.COLON);\n var type = this.parseNamedType();\n return {\n kind: Kind.OPERATION_TYPE_DEFINITION,\n operation: operation,\n type: type,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeDefinition : Description? scalar Name Directives[Const]?\n */\n ;\n\n _proto.parseScalarTypeDefinition = function parseScalarTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.SCALAR_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeDefinition :\n * Description?\n * type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseObjectTypeDefinition = function parseObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * ImplementsInterfaces :\n * - implements `&`? NamedType\n * - ImplementsInterfaces & NamedType\n */\n ;\n\n _proto.parseImplementsInterfaces = function parseImplementsInterfaces() {\n var _this$_options2;\n\n if (!this.expectOptionalKeyword('implements')) {\n return [];\n }\n\n if (((_this$_options2 = this._options) === null || _this$_options2 === void 0 ? void 0 : _this$_options2.allowLegacySDLImplementsInterfaces) === true) {\n var types = []; // Optional leading ampersand\n\n this.expectOptionalToken(TokenKind.AMP);\n\n do {\n types.push(this.parseNamedType());\n } while (this.expectOptionalToken(TokenKind.AMP) || this.peek(TokenKind.NAME));\n\n return types;\n }\n\n return this.delimitedMany(TokenKind.AMP, this.parseNamedType);\n }\n /**\n * FieldsDefinition : { FieldDefinition+ }\n */\n ;\n\n _proto.parseFieldsDefinition = function parseFieldsDefinition() {\n var _this$_options3;\n\n // Legacy support for the SDL?\n if (((_this$_options3 = this._options) === null || _this$_options3 === void 0 ? void 0 : _this$_options3.allowLegacySDLEmptyFields) === true && this.peek(TokenKind.BRACE_L) && this._lexer.lookahead().kind === TokenKind.BRACE_R) {\n this._lexer.advance();\n\n this._lexer.advance();\n\n return [];\n }\n\n return this.optionalMany(TokenKind.BRACE_L, this.parseFieldDefinition, TokenKind.BRACE_R);\n }\n /**\n * FieldDefinition :\n * - Description? Name ArgumentsDefinition? : Type Directives[Const]?\n */\n ;\n\n _proto.parseFieldDefinition = function parseFieldDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.FIELD_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n type: type,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ArgumentsDefinition : ( InputValueDefinition+ )\n */\n ;\n\n _proto.parseArgumentDefs = function parseArgumentDefs() {\n return this.optionalMany(TokenKind.PAREN_L, this.parseInputValueDef, TokenKind.PAREN_R);\n }\n /**\n * InputValueDefinition :\n * - Description? Name : Type DefaultValue? Directives[Const]?\n */\n ;\n\n _proto.parseInputValueDef = function parseInputValueDef() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n this.expectToken(TokenKind.COLON);\n var type = this.parseTypeReference();\n var defaultValue;\n\n if (this.expectOptionalToken(TokenKind.EQUALS)) {\n defaultValue = this.parseValueLiteral(true);\n }\n\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.INPUT_VALUE_DEFINITION,\n description: description,\n name: name,\n type: type,\n defaultValue: defaultValue,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeDefinition :\n * - Description? interface Name Directives[Const]? FieldsDefinition?\n */\n ;\n\n _proto.parseInterfaceTypeDefinition = function parseInterfaceTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n return {\n kind: Kind.INTERFACE_TYPE_DEFINITION,\n description: description,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeDefinition :\n * - Description? union Name Directives[Const]? UnionMemberTypes?\n */\n ;\n\n _proto.parseUnionTypeDefinition = function parseUnionTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n return {\n kind: Kind.UNION_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * UnionMemberTypes :\n * - = `|`? NamedType\n * - UnionMemberTypes | NamedType\n */\n ;\n\n _proto.parseUnionMemberTypes = function parseUnionMemberTypes() {\n return this.expectOptionalToken(TokenKind.EQUALS) ? this.delimitedMany(TokenKind.PIPE, this.parseNamedType) : [];\n }\n /**\n * EnumTypeDefinition :\n * - Description? enum Name Directives[Const]? EnumValuesDefinition?\n */\n ;\n\n _proto.parseEnumTypeDefinition = function parseEnumTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n return {\n kind: Kind.ENUM_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * EnumValuesDefinition : { EnumValueDefinition+ }\n */\n ;\n\n _proto.parseEnumValuesDefinition = function parseEnumValuesDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseEnumValueDefinition, TokenKind.BRACE_R);\n }\n /**\n * EnumValueDefinition : Description? EnumValue Directives[Const]?\n *\n * EnumValue : Name\n */\n ;\n\n _proto.parseEnumValueDefinition = function parseEnumValueDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n return {\n kind: Kind.ENUM_VALUE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeDefinition :\n * - Description? input Name Directives[Const]? InputFieldsDefinition?\n */\n ;\n\n _proto.parseInputObjectTypeDefinition = function parseInputObjectTypeDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n return {\n kind: Kind.INPUT_OBJECT_TYPE_DEFINITION,\n description: description,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InputFieldsDefinition : { InputValueDefinition+ }\n */\n ;\n\n _proto.parseInputFieldsDefinition = function parseInputFieldsDefinition() {\n return this.optionalMany(TokenKind.BRACE_L, this.parseInputValueDef, TokenKind.BRACE_R);\n }\n /**\n * TypeSystemExtension :\n * - SchemaExtension\n * - TypeExtension\n *\n * TypeExtension :\n * - ScalarTypeExtension\n * - ObjectTypeExtension\n * - InterfaceTypeExtension\n * - UnionTypeExtension\n * - EnumTypeExtension\n * - InputObjectTypeDefinition\n */\n ;\n\n _proto.parseTypeSystemExtension = function parseTypeSystemExtension() {\n var keywordToken = this._lexer.lookahead();\n\n if (keywordToken.kind === TokenKind.NAME) {\n switch (keywordToken.value) {\n case 'schema':\n return this.parseSchemaExtension();\n\n case 'scalar':\n return this.parseScalarTypeExtension();\n\n case 'type':\n return this.parseObjectTypeExtension();\n\n case 'interface':\n return this.parseInterfaceTypeExtension();\n\n case 'union':\n return this.parseUnionTypeExtension();\n\n case 'enum':\n return this.parseEnumTypeExtension();\n\n case 'input':\n return this.parseInputObjectTypeExtension();\n }\n }\n\n throw this.unexpected(keywordToken);\n }\n /**\n * SchemaExtension :\n * - extend schema Directives[Const]? { OperationTypeDefinition+ }\n * - extend schema Directives[Const]\n */\n ;\n\n _proto.parseSchemaExtension = function parseSchemaExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('schema');\n var directives = this.parseDirectives(true);\n var operationTypes = this.optionalMany(TokenKind.BRACE_L, this.parseOperationTypeDefinition, TokenKind.BRACE_R);\n\n if (directives.length === 0 && operationTypes.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCHEMA_EXTENSION,\n directives: directives,\n operationTypes: operationTypes,\n loc: this.loc(start)\n };\n }\n /**\n * ScalarTypeExtension :\n * - extend scalar Name Directives[Const]\n */\n ;\n\n _proto.parseScalarTypeExtension = function parseScalarTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('scalar');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n\n if (directives.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.SCALAR_TYPE_EXTENSION,\n name: name,\n directives: directives,\n loc: this.loc(start)\n };\n }\n /**\n * ObjectTypeExtension :\n * - extend type Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend type Name ImplementsInterfaces? Directives[Const]\n * - extend type Name ImplementsInterfaces\n */\n ;\n\n _proto.parseObjectTypeExtension = function parseObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('type');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.OBJECT_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * InterfaceTypeExtension :\n * - extend interface Name ImplementsInterfaces? Directives[Const]? FieldsDefinition\n * - extend interface Name ImplementsInterfaces? Directives[Const]\n * - extend interface Name ImplementsInterfaces\n */\n ;\n\n _proto.parseInterfaceTypeExtension = function parseInterfaceTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('interface');\n var name = this.parseName();\n var interfaces = this.parseImplementsInterfaces();\n var directives = this.parseDirectives(true);\n var fields = this.parseFieldsDefinition();\n\n if (interfaces.length === 0 && directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INTERFACE_TYPE_EXTENSION,\n name: name,\n interfaces: interfaces,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * UnionTypeExtension :\n * - extend union Name Directives[Const]? UnionMemberTypes\n * - extend union Name Directives[Const]\n */\n ;\n\n _proto.parseUnionTypeExtension = function parseUnionTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('union');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var types = this.parseUnionMemberTypes();\n\n if (directives.length === 0 && types.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.UNION_TYPE_EXTENSION,\n name: name,\n directives: directives,\n types: types,\n loc: this.loc(start)\n };\n }\n /**\n * EnumTypeExtension :\n * - extend enum Name Directives[Const]? EnumValuesDefinition\n * - extend enum Name Directives[Const]\n */\n ;\n\n _proto.parseEnumTypeExtension = function parseEnumTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('enum');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var values = this.parseEnumValuesDefinition();\n\n if (directives.length === 0 && values.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.ENUM_TYPE_EXTENSION,\n name: name,\n directives: directives,\n values: values,\n loc: this.loc(start)\n };\n }\n /**\n * InputObjectTypeExtension :\n * - extend input Name Directives[Const]? InputFieldsDefinition\n * - extend input Name Directives[Const]\n */\n ;\n\n _proto.parseInputObjectTypeExtension = function parseInputObjectTypeExtension() {\n var start = this._lexer.token;\n this.expectKeyword('extend');\n this.expectKeyword('input');\n var name = this.parseName();\n var directives = this.parseDirectives(true);\n var fields = this.parseInputFieldsDefinition();\n\n if (directives.length === 0 && fields.length === 0) {\n throw this.unexpected();\n }\n\n return {\n kind: Kind.INPUT_OBJECT_TYPE_EXTENSION,\n name: name,\n directives: directives,\n fields: fields,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveDefinition :\n * - Description? directive @ Name ArgumentsDefinition? `repeatable`? on DirectiveLocations\n */\n ;\n\n _proto.parseDirectiveDefinition = function parseDirectiveDefinition() {\n var start = this._lexer.token;\n var description = this.parseDescription();\n this.expectKeyword('directive');\n this.expectToken(TokenKind.AT);\n var name = this.parseName();\n var args = this.parseArgumentDefs();\n var repeatable = this.expectOptionalKeyword('repeatable');\n this.expectKeyword('on');\n var locations = this.parseDirectiveLocations();\n return {\n kind: Kind.DIRECTIVE_DEFINITION,\n description: description,\n name: name,\n arguments: args,\n repeatable: repeatable,\n locations: locations,\n loc: this.loc(start)\n };\n }\n /**\n * DirectiveLocations :\n * - `|`? DirectiveLocation\n * - DirectiveLocations | DirectiveLocation\n */\n ;\n\n _proto.parseDirectiveLocations = function parseDirectiveLocations() {\n return this.delimitedMany(TokenKind.PIPE, this.parseDirectiveLocation);\n }\n /*\n * DirectiveLocation :\n * - ExecutableDirectiveLocation\n * - TypeSystemDirectiveLocation\n *\n * ExecutableDirectiveLocation : one of\n * `QUERY`\n * `MUTATION`\n * `SUBSCRIPTION`\n * `FIELD`\n * `FRAGMENT_DEFINITION`\n * `FRAGMENT_SPREAD`\n * `INLINE_FRAGMENT`\n *\n * TypeSystemDirectiveLocation : one of\n * `SCHEMA`\n * `SCALAR`\n * `OBJECT`\n * `FIELD_DEFINITION`\n * `ARGUMENT_DEFINITION`\n * `INTERFACE`\n * `UNION`\n * `ENUM`\n * `ENUM_VALUE`\n * `INPUT_OBJECT`\n * `INPUT_FIELD_DEFINITION`\n */\n ;\n\n _proto.parseDirectiveLocation = function parseDirectiveLocation() {\n var start = this._lexer.token;\n var name = this.parseName();\n\n if (DirectiveLocation[name.value] !== undefined) {\n return name;\n }\n\n throw this.unexpected(start);\n } // Core parsing utility functions\n\n /**\n * Returns a location object, used to identify the place in the source that created a given parsed object.\n */\n ;\n\n _proto.loc = function loc(startToken) {\n var _this$_options4;\n\n if (((_this$_options4 = this._options) === null || _this$_options4 === void 0 ? void 0 : _this$_options4.noLocation) !== true) {\n return new Location(startToken, this._lexer.lastToken, this._lexer.source);\n }\n }\n /**\n * Determines if the next token is of a given kind\n */\n ;\n\n _proto.peek = function peek(kind) {\n return this._lexer.token.kind === kind;\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectToken = function expectToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n throw syntaxError(this._lexer.source, token.start, \"Expected \".concat(getTokenKindDesc(kind), \", found \").concat(getTokenDesc(token), \".\"));\n }\n /**\n * If the next token is of the given kind, return that token after advancing the lexer.\n * Otherwise, do not change the parser state and return undefined.\n */\n ;\n\n _proto.expectOptionalToken = function expectOptionalToken(kind) {\n var token = this._lexer.token;\n\n if (token.kind === kind) {\n this._lexer.advance();\n\n return token;\n }\n\n return undefined;\n }\n /**\n * If the next token is a given keyword, advance the lexer.\n * Otherwise, do not change the parser state and throw an error.\n */\n ;\n\n _proto.expectKeyword = function expectKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n } else {\n throw syntaxError(this._lexer.source, token.start, \"Expected \\\"\".concat(value, \"\\\", found \").concat(getTokenDesc(token), \".\"));\n }\n }\n /**\n * If the next token is a given keyword, return \"true\" after advancing the lexer.\n * Otherwise, do not change the parser state and return \"false\".\n */\n ;\n\n _proto.expectOptionalKeyword = function expectOptionalKeyword(value) {\n var token = this._lexer.token;\n\n if (token.kind === TokenKind.NAME && token.value === value) {\n this._lexer.advance();\n\n return true;\n }\n\n return false;\n }\n /**\n * Helper function for creating an error when an unexpected lexed token is encountered.\n */\n ;\n\n _proto.unexpected = function unexpected(atToken) {\n var token = atToken !== null && atToken !== void 0 ? atToken : this._lexer.token;\n return syntaxError(this._lexer.source, token.start, \"Unexpected \".concat(getTokenDesc(token), \".\"));\n }\n /**\n * Returns a possibly empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.any = function any(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n while (!this.expectOptionalToken(closeKind)) {\n nodes.push(parseFn.call(this));\n }\n\n return nodes;\n }\n /**\n * Returns a list of parse nodes, determined by the parseFn.\n * It can be empty only if open token is missing otherwise it will always return non-empty list\n * that begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.optionalMany = function optionalMany(openKind, parseFn, closeKind) {\n if (this.expectOptionalToken(openKind)) {\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n\n return [];\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list begins with a lex token of openKind and ends with a lex token of closeKind.\n * Advances the parser to the next lex token after the closing token.\n */\n ;\n\n _proto.many = function many(openKind, parseFn, closeKind) {\n this.expectToken(openKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (!this.expectOptionalToken(closeKind));\n\n return nodes;\n }\n /**\n * Returns a non-empty list of parse nodes, determined by the parseFn.\n * This list may begin with a lex token of delimiterKind followed by items separated by lex tokens of tokenKind.\n * Advances the parser to the next lex token after last item in the list.\n */\n ;\n\n _proto.delimitedMany = function delimitedMany(delimiterKind, parseFn) {\n this.expectOptionalToken(delimiterKind);\n var nodes = [];\n\n do {\n nodes.push(parseFn.call(this));\n } while (this.expectOptionalToken(delimiterKind));\n\n return nodes;\n };\n\n return Parser;\n}();\n/**\n * A helper function to describe a token as a string for debugging.\n */\n\nfunction getTokenDesc(token) {\n var value = token.value;\n return getTokenKindDesc(token.kind) + (value != null ? \" \\\"\".concat(value, \"\\\"\") : '');\n}\n/**\n * A helper function to describe a token kind as a string for debugging.\n */\n\n\nfunction getTokenKindDesc(kind) {\n return isPunctuatorTokenKind(kind) ? \"\\\"\".concat(kind, \"\\\"\") : kind;\n}\n","import inspect from \"../jsutils/inspect.mjs\";\nimport { isNode } from \"./ast.mjs\";\n/**\n * A visitor is provided to visit, it contains the collection of\n * relevant functions to be called during the visitor's traversal.\n */\n\nexport var QueryDocumentKeys = {\n Name: [],\n Document: ['definitions'],\n OperationDefinition: ['name', 'variableDefinitions', 'directives', 'selectionSet'],\n VariableDefinition: ['variable', 'type', 'defaultValue', 'directives'],\n Variable: ['name'],\n SelectionSet: ['selections'],\n Field: ['alias', 'name', 'arguments', 'directives', 'selectionSet'],\n Argument: ['name', 'value'],\n FragmentSpread: ['name', 'directives'],\n InlineFragment: ['typeCondition', 'directives', 'selectionSet'],\n FragmentDefinition: ['name', // Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n 'variableDefinitions', 'typeCondition', 'directives', 'selectionSet'],\n IntValue: [],\n FloatValue: [],\n StringValue: [],\n BooleanValue: [],\n NullValue: [],\n EnumValue: [],\n ListValue: ['values'],\n ObjectValue: ['fields'],\n ObjectField: ['name', 'value'],\n Directive: ['name', 'arguments'],\n NamedType: ['name'],\n ListType: ['type'],\n NonNullType: ['type'],\n SchemaDefinition: ['description', 'directives', 'operationTypes'],\n OperationTypeDefinition: ['type'],\n ScalarTypeDefinition: ['description', 'name', 'directives'],\n ObjectTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n FieldDefinition: ['description', 'name', 'arguments', 'type', 'directives'],\n InputValueDefinition: ['description', 'name', 'type', 'defaultValue', 'directives'],\n InterfaceTypeDefinition: ['description', 'name', 'interfaces', 'directives', 'fields'],\n UnionTypeDefinition: ['description', 'name', 'directives', 'types'],\n EnumTypeDefinition: ['description', 'name', 'directives', 'values'],\n EnumValueDefinition: ['description', 'name', 'directives'],\n InputObjectTypeDefinition: ['description', 'name', 'directives', 'fields'],\n DirectiveDefinition: ['description', 'name', 'arguments', 'locations'],\n SchemaExtension: ['directives', 'operationTypes'],\n ScalarTypeExtension: ['name', 'directives'],\n ObjectTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n InterfaceTypeExtension: ['name', 'interfaces', 'directives', 'fields'],\n UnionTypeExtension: ['name', 'directives', 'types'],\n EnumTypeExtension: ['name', 'directives', 'values'],\n InputObjectTypeExtension: ['name', 'directives', 'fields']\n};\nexport var BREAK = Object.freeze({});\n/**\n * visit() will walk through an AST using a depth-first traversal, calling\n * the visitor's enter function at each node in the traversal, and calling the\n * leave function after visiting that node and all of its child nodes.\n *\n * By returning different values from the enter and leave functions, the\n * behavior of the visitor can be altered, including skipping over a sub-tree of\n * the AST (by returning false), editing the AST by returning a value or null\n * to remove the value, or to stop the whole traversal by returning BREAK.\n *\n * When using visit() to edit an AST, the original AST will not be modified, and\n * a new version of the AST with the changes applied will be returned from the\n * visit function.\n *\n * const editedAST = visit(ast, {\n * enter(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: skip visiting this node\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * },\n * leave(node, key, parent, path, ancestors) {\n * // @return\n * // undefined: no action\n * // false: no action\n * // visitor.BREAK: stop visiting altogether\n * // null: delete this node\n * // any value: replace this node with the returned value\n * }\n * });\n *\n * Alternatively to providing enter() and leave() functions, a visitor can\n * instead provide functions named the same as the kinds of AST nodes, or\n * enter/leave visitors at a named key, leading to four permutations of the\n * visitor API:\n *\n * 1) Named visitors triggered when entering a node of a specific kind.\n *\n * visit(ast, {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * })\n *\n * 2) Named visitors that trigger upon entering and leaving a node of\n * a specific kind.\n *\n * visit(ast, {\n * Kind: {\n * enter(node) {\n * // enter the \"Kind\" node\n * }\n * leave(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n *\n * 3) Generic visitors that trigger upon entering and leaving any node.\n *\n * visit(ast, {\n * enter(node) {\n * // enter any node\n * },\n * leave(node) {\n * // leave any node\n * }\n * })\n *\n * 4) Parallel visitors for entering and leaving nodes of a specific kind.\n *\n * visit(ast, {\n * enter: {\n * Kind(node) {\n * // enter the \"Kind\" node\n * }\n * },\n * leave: {\n * Kind(node) {\n * // leave the \"Kind\" node\n * }\n * }\n * })\n */\n\nexport function visit(root, visitor) {\n var visitorKeys = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : QueryDocumentKeys;\n\n /* eslint-disable no-undef-init */\n var stack = undefined;\n var inArray = Array.isArray(root);\n var keys = [root];\n var index = -1;\n var edits = [];\n var node = undefined;\n var key = undefined;\n var parent = undefined;\n var path = [];\n var ancestors = [];\n var newRoot = root;\n /* eslint-enable no-undef-init */\n\n do {\n index++;\n var isLeaving = index === keys.length;\n var isEdited = isLeaving && edits.length !== 0;\n\n if (isLeaving) {\n key = ancestors.length === 0 ? undefined : path[path.length - 1];\n node = parent;\n parent = ancestors.pop();\n\n if (isEdited) {\n if (inArray) {\n node = node.slice();\n } else {\n var clone = {};\n\n for (var _i2 = 0, _Object$keys2 = Object.keys(node); _i2 < _Object$keys2.length; _i2++) {\n var k = _Object$keys2[_i2];\n clone[k] = node[k];\n }\n\n node = clone;\n }\n\n var editOffset = 0;\n\n for (var ii = 0; ii < edits.length; ii++) {\n var editKey = edits[ii][0];\n var editValue = edits[ii][1];\n\n if (inArray) {\n editKey -= editOffset;\n }\n\n if (inArray && editValue === null) {\n node.splice(editKey, 1);\n editOffset++;\n } else {\n node[editKey] = editValue;\n }\n }\n }\n\n index = stack.index;\n keys = stack.keys;\n edits = stack.edits;\n inArray = stack.inArray;\n stack = stack.prev;\n } else {\n key = parent ? inArray ? index : keys[index] : undefined;\n node = parent ? parent[key] : newRoot;\n\n if (node === null || node === undefined) {\n continue;\n }\n\n if (parent) {\n path.push(key);\n }\n }\n\n var result = void 0;\n\n if (!Array.isArray(node)) {\n if (!isNode(node)) {\n throw new Error(\"Invalid AST Node: \".concat(inspect(node), \".\"));\n }\n\n var visitFn = getVisitFn(visitor, node.kind, isLeaving);\n\n if (visitFn) {\n result = visitFn.call(visitor, node, key, parent, path, ancestors);\n\n if (result === BREAK) {\n break;\n }\n\n if (result === false) {\n if (!isLeaving) {\n path.pop();\n continue;\n }\n } else if (result !== undefined) {\n edits.push([key, result]);\n\n if (!isLeaving) {\n if (isNode(result)) {\n node = result;\n } else {\n path.pop();\n continue;\n }\n }\n }\n }\n }\n\n if (result === undefined && isEdited) {\n edits.push([key, node]);\n }\n\n if (isLeaving) {\n path.pop();\n } else {\n var _visitorKeys$node$kin;\n\n stack = {\n inArray: inArray,\n index: index,\n keys: keys,\n edits: edits,\n prev: stack\n };\n inArray = Array.isArray(node);\n keys = inArray ? node : (_visitorKeys$node$kin = visitorKeys[node.kind]) !== null && _visitorKeys$node$kin !== void 0 ? _visitorKeys$node$kin : [];\n index = -1;\n edits = [];\n\n if (parent) {\n ancestors.push(parent);\n }\n\n parent = node;\n }\n } while (stack !== undefined);\n\n if (edits.length !== 0) {\n newRoot = edits[edits.length - 1][1];\n }\n\n return newRoot;\n}\n/**\n * Creates a new visitor instance which delegates to many visitors to run in\n * parallel. Each visitor will be visited for each node before moving on.\n *\n * If a prior visitor edits a node, no following visitors will see that node.\n */\n\nexport function visitInParallel(visitors) {\n var skipping = new Array(visitors.length);\n return {\n enter: function enter(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n false);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === false) {\n skipping[i] = node;\n } else if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined) {\n return result;\n }\n }\n }\n }\n },\n leave: function leave(node) {\n for (var i = 0; i < visitors.length; i++) {\n if (skipping[i] == null) {\n var fn = getVisitFn(visitors[i], node.kind,\n /* isLeaving */\n true);\n\n if (fn) {\n var result = fn.apply(visitors[i], arguments);\n\n if (result === BREAK) {\n skipping[i] = BREAK;\n } else if (result !== undefined && result !== false) {\n return result;\n }\n }\n } else if (skipping[i] === node) {\n skipping[i] = null;\n }\n }\n }\n };\n}\n/**\n * Given a visitor instance, if it is leaving or not, and a node kind, return\n * the function the visitor runtime should call.\n */\n\nexport function getVisitFn(visitor, kind, isLeaving) {\n var kindVisitor = visitor[kind];\n\n if (kindVisitor) {\n if (!isLeaving && typeof kindVisitor === 'function') {\n // { Kind() {} }\n return kindVisitor;\n }\n\n var kindSpecificVisitor = isLeaving ? kindVisitor.leave : kindVisitor.enter;\n\n if (typeof kindSpecificVisitor === 'function') {\n // { Kind: { enter() {}, leave() {} } }\n return kindSpecificVisitor;\n }\n } else {\n var specificVisitor = isLeaving ? visitor.leave : visitor.enter;\n\n if (specificVisitor) {\n if (typeof specificVisitor === 'function') {\n // { enter() {}, leave() {} }\n return specificVisitor;\n }\n\n var specificKindVisitor = specificVisitor[kind];\n\n if (typeof specificKindVisitor === 'function') {\n // { enter: { Kind() {} }, leave: { Kind() {} } }\n return specificKindVisitor;\n }\n }\n }\n}\n","import { visit } from \"./visitor.mjs\";\nimport { printBlockString } from \"./blockString.mjs\";\n/**\n * Converts an AST into a string, using one set of reasonable\n * formatting rules.\n */\n\nexport function print(ast) {\n return visit(ast, {\n leave: printDocASTReducer\n });\n}\nvar MAX_LINE_LENGTH = 80; // TODO: provide better type coverage in future\n\nvar printDocASTReducer = {\n Name: function Name(node) {\n return node.value;\n },\n Variable: function Variable(node) {\n return '$' + node.name;\n },\n // Document\n Document: function Document(node) {\n return join(node.definitions, '\\n\\n') + '\\n';\n },\n OperationDefinition: function OperationDefinition(node) {\n var op = node.operation;\n var name = node.name;\n var varDefs = wrap('(', join(node.variableDefinitions, ', '), ')');\n var directives = join(node.directives, ' ');\n var selectionSet = node.selectionSet; // Anonymous queries with no directives or variable definitions can use\n // the query short form.\n\n return !name && !directives && !varDefs && op === 'query' ? selectionSet : join([op, join([name, varDefs]), directives, selectionSet], ' ');\n },\n VariableDefinition: function VariableDefinition(_ref) {\n var variable = _ref.variable,\n type = _ref.type,\n defaultValue = _ref.defaultValue,\n directives = _ref.directives;\n return variable + ': ' + type + wrap(' = ', defaultValue) + wrap(' ', join(directives, ' '));\n },\n SelectionSet: function SelectionSet(_ref2) {\n var selections = _ref2.selections;\n return block(selections);\n },\n Field: function Field(_ref3) {\n var alias = _ref3.alias,\n name = _ref3.name,\n args = _ref3.arguments,\n directives = _ref3.directives,\n selectionSet = _ref3.selectionSet;\n var prefix = wrap('', alias, ': ') + name;\n var argsLine = prefix + wrap('(', join(args, ', '), ')');\n\n if (argsLine.length > MAX_LINE_LENGTH) {\n argsLine = prefix + wrap('(\\n', indent(join(args, '\\n')), '\\n)');\n }\n\n return join([argsLine, join(directives, ' '), selectionSet], ' ');\n },\n Argument: function Argument(_ref4) {\n var name = _ref4.name,\n value = _ref4.value;\n return name + ': ' + value;\n },\n // Fragments\n FragmentSpread: function FragmentSpread(_ref5) {\n var name = _ref5.name,\n directives = _ref5.directives;\n return '...' + name + wrap(' ', join(directives, ' '));\n },\n InlineFragment: function InlineFragment(_ref6) {\n var typeCondition = _ref6.typeCondition,\n directives = _ref6.directives,\n selectionSet = _ref6.selectionSet;\n return join(['...', wrap('on ', typeCondition), join(directives, ' '), selectionSet], ' ');\n },\n FragmentDefinition: function FragmentDefinition(_ref7) {\n var name = _ref7.name,\n typeCondition = _ref7.typeCondition,\n variableDefinitions = _ref7.variableDefinitions,\n directives = _ref7.directives,\n selectionSet = _ref7.selectionSet;\n return (// Note: fragment variable definitions are experimental and may be changed\n // or removed in the future.\n \"fragment \".concat(name).concat(wrap('(', join(variableDefinitions, ', '), ')'), \" \") + \"on \".concat(typeCondition, \" \").concat(wrap('', join(directives, ' '), ' ')) + selectionSet\n );\n },\n // Value\n IntValue: function IntValue(_ref8) {\n var value = _ref8.value;\n return value;\n },\n FloatValue: function FloatValue(_ref9) {\n var value = _ref9.value;\n return value;\n },\n StringValue: function StringValue(_ref10, key) {\n var value = _ref10.value,\n isBlockString = _ref10.block;\n return isBlockString ? printBlockString(value, key === 'description' ? '' : ' ') : JSON.stringify(value);\n },\n BooleanValue: function BooleanValue(_ref11) {\n var value = _ref11.value;\n return value ? 'true' : 'false';\n },\n NullValue: function NullValue() {\n return 'null';\n },\n EnumValue: function EnumValue(_ref12) {\n var value = _ref12.value;\n return value;\n },\n ListValue: function ListValue(_ref13) {\n var values = _ref13.values;\n return '[' + join(values, ', ') + ']';\n },\n ObjectValue: function ObjectValue(_ref14) {\n var fields = _ref14.fields;\n return '{' + join(fields, ', ') + '}';\n },\n ObjectField: function ObjectField(_ref15) {\n var name = _ref15.name,\n value = _ref15.value;\n return name + ': ' + value;\n },\n // Directive\n Directive: function Directive(_ref16) {\n var name = _ref16.name,\n args = _ref16.arguments;\n return '@' + name + wrap('(', join(args, ', '), ')');\n },\n // Type\n NamedType: function NamedType(_ref17) {\n var name = _ref17.name;\n return name;\n },\n ListType: function ListType(_ref18) {\n var type = _ref18.type;\n return '[' + type + ']';\n },\n NonNullType: function NonNullType(_ref19) {\n var type = _ref19.type;\n return type + '!';\n },\n // Type System Definitions\n SchemaDefinition: addDescription(function (_ref20) {\n var directives = _ref20.directives,\n operationTypes = _ref20.operationTypes;\n return join(['schema', join(directives, ' '), block(operationTypes)], ' ');\n }),\n OperationTypeDefinition: function OperationTypeDefinition(_ref21) {\n var operation = _ref21.operation,\n type = _ref21.type;\n return operation + ': ' + type;\n },\n ScalarTypeDefinition: addDescription(function (_ref22) {\n var name = _ref22.name,\n directives = _ref22.directives;\n return join(['scalar', name, join(directives, ' ')], ' ');\n }),\n ObjectTypeDefinition: addDescription(function (_ref23) {\n var name = _ref23.name,\n interfaces = _ref23.interfaces,\n directives = _ref23.directives,\n fields = _ref23.fields;\n return join(['type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n FieldDefinition: addDescription(function (_ref24) {\n var name = _ref24.name,\n args = _ref24.arguments,\n type = _ref24.type,\n directives = _ref24.directives;\n return name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + ': ' + type + wrap(' ', join(directives, ' '));\n }),\n InputValueDefinition: addDescription(function (_ref25) {\n var name = _ref25.name,\n type = _ref25.type,\n defaultValue = _ref25.defaultValue,\n directives = _ref25.directives;\n return join([name + ': ' + type, wrap('= ', defaultValue), join(directives, ' ')], ' ');\n }),\n InterfaceTypeDefinition: addDescription(function (_ref26) {\n var name = _ref26.name,\n interfaces = _ref26.interfaces,\n directives = _ref26.directives,\n fields = _ref26.fields;\n return join(['interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n }),\n UnionTypeDefinition: addDescription(function (_ref27) {\n var name = _ref27.name,\n directives = _ref27.directives,\n types = _ref27.types;\n return join(['union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n }),\n EnumTypeDefinition: addDescription(function (_ref28) {\n var name = _ref28.name,\n directives = _ref28.directives,\n values = _ref28.values;\n return join(['enum', name, join(directives, ' '), block(values)], ' ');\n }),\n EnumValueDefinition: addDescription(function (_ref29) {\n var name = _ref29.name,\n directives = _ref29.directives;\n return join([name, join(directives, ' ')], ' ');\n }),\n InputObjectTypeDefinition: addDescription(function (_ref30) {\n var name = _ref30.name,\n directives = _ref30.directives,\n fields = _ref30.fields;\n return join(['input', name, join(directives, ' '), block(fields)], ' ');\n }),\n DirectiveDefinition: addDescription(function (_ref31) {\n var name = _ref31.name,\n args = _ref31.arguments,\n repeatable = _ref31.repeatable,\n locations = _ref31.locations;\n return 'directive @' + name + (hasMultilineItems(args) ? wrap('(\\n', indent(join(args, '\\n')), '\\n)') : wrap('(', join(args, ', '), ')')) + (repeatable ? ' repeatable' : '') + ' on ' + join(locations, ' | ');\n }),\n SchemaExtension: function SchemaExtension(_ref32) {\n var directives = _ref32.directives,\n operationTypes = _ref32.operationTypes;\n return join(['extend schema', join(directives, ' '), block(operationTypes)], ' ');\n },\n ScalarTypeExtension: function ScalarTypeExtension(_ref33) {\n var name = _ref33.name,\n directives = _ref33.directives;\n return join(['extend scalar', name, join(directives, ' ')], ' ');\n },\n ObjectTypeExtension: function ObjectTypeExtension(_ref34) {\n var name = _ref34.name,\n interfaces = _ref34.interfaces,\n directives = _ref34.directives,\n fields = _ref34.fields;\n return join(['extend type', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n InterfaceTypeExtension: function InterfaceTypeExtension(_ref35) {\n var name = _ref35.name,\n interfaces = _ref35.interfaces,\n directives = _ref35.directives,\n fields = _ref35.fields;\n return join(['extend interface', name, wrap('implements ', join(interfaces, ' & ')), join(directives, ' '), block(fields)], ' ');\n },\n UnionTypeExtension: function UnionTypeExtension(_ref36) {\n var name = _ref36.name,\n directives = _ref36.directives,\n types = _ref36.types;\n return join(['extend union', name, join(directives, ' '), types && types.length !== 0 ? '= ' + join(types, ' | ') : ''], ' ');\n },\n EnumTypeExtension: function EnumTypeExtension(_ref37) {\n var name = _ref37.name,\n directives = _ref37.directives,\n values = _ref37.values;\n return join(['extend enum', name, join(directives, ' '), block(values)], ' ');\n },\n InputObjectTypeExtension: function InputObjectTypeExtension(_ref38) {\n var name = _ref38.name,\n directives = _ref38.directives,\n fields = _ref38.fields;\n return join(['extend input', name, join(directives, ' '), block(fields)], ' ');\n }\n};\n\nfunction addDescription(cb) {\n return function (node) {\n return join([node.description, cb(node)], '\\n');\n };\n}\n/**\n * Given maybeArray, print an empty string if it is null or empty, otherwise\n * print all items together separated by separator if provided\n */\n\n\nfunction join(maybeArray) {\n var _maybeArray$filter$jo;\n\n var separator = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : '';\n return (_maybeArray$filter$jo = maybeArray === null || maybeArray === void 0 ? void 0 : maybeArray.filter(function (x) {\n return x;\n }).join(separator)) !== null && _maybeArray$filter$jo !== void 0 ? _maybeArray$filter$jo : '';\n}\n/**\n * Given array, print each item on its own line, wrapped in an\n * indented \"{ }\" block.\n */\n\n\nfunction block(array) {\n return wrap('{\\n', indent(join(array, '\\n')), '\\n}');\n}\n/**\n * If maybeString is not null or empty, then wrap with start and end, otherwise print an empty string.\n */\n\n\nfunction wrap(start, maybeString) {\n var end = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : '';\n return maybeString != null && maybeString !== '' ? start + maybeString + end : '';\n}\n\nfunction indent(str) {\n return wrap(' ', str.replace(/\\n/g, '\\n '));\n}\n\nfunction isMultiline(str) {\n return str.indexOf('\\n') !== -1;\n}\n\nfunction hasMultilineItems(maybeArray) {\n return maybeArray != null && maybeArray.some(isMultiline);\n}\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * This Symbol is used to reference an internal-only PubSub provider that\n * is used for AppSync/GraphQL subscriptions in the API category.\n */\nvar hasSymbol = typeof Symbol !== 'undefined' && typeof Symbol.for === 'function';\n/**\n * @deprecated Unused, all usecases have migrated to INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER\n */\nexport var INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER';\nexport var INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER';\nexport var USER_AGENT_HEADER = 'x-amz-user-agent';\n//# sourceMappingURL=constants.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __read, __spread, __values } from \"tslib\";\nimport { AWS_CLOUDWATCH_CATEGORY } from '../Util/Constants';\nvar LOG_LEVELS = {\n VERBOSE: 1,\n DEBUG: 2,\n INFO: 3,\n WARN: 4,\n ERROR: 5,\n};\nexport var LOG_TYPE;\n(function (LOG_TYPE) {\n LOG_TYPE[\"DEBUG\"] = \"DEBUG\";\n LOG_TYPE[\"ERROR\"] = \"ERROR\";\n LOG_TYPE[\"INFO\"] = \"INFO\";\n LOG_TYPE[\"WARN\"] = \"WARN\";\n LOG_TYPE[\"VERBOSE\"] = \"VERBOSE\";\n})(LOG_TYPE || (LOG_TYPE = {}));\n/**\n * Write logs\n * @class Logger\n */\nvar ConsoleLogger = /** @class */ (function () {\n /**\n * @constructor\n * @param {string} name - Name of the logger\n */\n function ConsoleLogger(name, level) {\n if (level === void 0) { level = LOG_TYPE.WARN; }\n this.name = name;\n this.level = level;\n this._pluggables = [];\n }\n ConsoleLogger.prototype._padding = function (n) {\n return n < 10 ? '0' + n : '' + n;\n };\n ConsoleLogger.prototype._ts = function () {\n var dt = new Date();\n return ([this._padding(dt.getMinutes()), this._padding(dt.getSeconds())].join(':') +\n '.' +\n dt.getMilliseconds());\n };\n ConsoleLogger.prototype.configure = function (config) {\n if (!config)\n return this._config;\n this._config = config;\n return this._config;\n };\n /**\n * Write log\n * @method\n * @memeberof Logger\n * @param {LOG_TYPE|string} type - log type, default INFO\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype._log = function (type) {\n var e_1, _a;\n var msg = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n msg[_i - 1] = arguments[_i];\n }\n var logger_level_name = this.level;\n if (ConsoleLogger.LOG_LEVEL) {\n logger_level_name = ConsoleLogger.LOG_LEVEL;\n }\n if (typeof window !== 'undefined' && window.LOG_LEVEL) {\n logger_level_name = window.LOG_LEVEL;\n }\n var logger_level = LOG_LEVELS[logger_level_name];\n var type_level = LOG_LEVELS[type];\n if (!(type_level >= logger_level)) {\n // Do nothing if type is not greater than or equal to logger level (handle undefined)\n return;\n }\n var log = console.log.bind(console);\n if (type === LOG_TYPE.ERROR && console.error) {\n log = console.error.bind(console);\n }\n if (type === LOG_TYPE.WARN && console.warn) {\n log = console.warn.bind(console);\n }\n var prefix = \"[\" + type + \"] \" + this._ts() + \" \" + this.name;\n var message = '';\n if (msg.length === 1 && typeof msg[0] === 'string') {\n message = prefix + \" - \" + msg[0];\n log(message);\n }\n else if (msg.length === 1) {\n message = prefix + \" \" + msg[0];\n log(prefix, msg[0]);\n }\n else if (typeof msg[0] === 'string') {\n var obj = msg.slice(1);\n if (obj.length === 1) {\n obj = obj[0];\n }\n message = prefix + \" - \" + msg[0] + \" \" + obj;\n log(prefix + \" - \" + msg[0], obj);\n }\n else {\n message = prefix + \" \" + msg;\n log(prefix, msg);\n }\n try {\n for (var _b = __values(this._pluggables), _c = _b.next(); !_c.done; _c = _b.next()) {\n var plugin = _c.value;\n var logEvent = { message: message, timestamp: Date.now() };\n plugin.pushLogs([logEvent]);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n /**\n * Write General log. Default to INFO\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.log = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write INFO log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.info = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.INFO], msg));\n };\n /**\n * Write WARN log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.warn = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.WARN], msg));\n };\n /**\n * Write ERROR log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.error = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.ERROR], msg));\n };\n /**\n * Write DEBUG log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.debug = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.DEBUG], msg));\n };\n /**\n * Write VERBOSE log\n * @method\n * @memeberof Logger\n * @param {string|object} msg - Logging message or object\n */\n ConsoleLogger.prototype.verbose = function () {\n var msg = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n msg[_i] = arguments[_i];\n }\n this._log.apply(this, __spread([LOG_TYPE.VERBOSE], msg));\n };\n ConsoleLogger.prototype.addPluggable = function (pluggable) {\n if (pluggable && pluggable.getCategoryName() === AWS_CLOUDWATCH_CATEGORY) {\n this._pluggables.push(pluggable);\n pluggable.configure(this._config);\n }\n };\n ConsoleLogger.prototype.listPluggables = function () {\n return this._pluggables;\n };\n ConsoleLogger.LOG_LEVEL = null;\n return ConsoleLogger;\n}());\nexport { ConsoleLogger };\n//# sourceMappingURL=ConsoleLogger.js.map","import zenObservable from 'zen-observable';\n\nvar Observable = zenObservable;\n\nexport default Observable;\nexport { Observable };\n//# sourceMappingURL=bundle.esm.js.map\n","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar MIME_MAP = [\n { type: 'text/plain', ext: 'txt' },\n { type: 'text/html', ext: 'html' },\n { type: 'text/javascript', ext: 'js' },\n { type: 'text/css', ext: 'css' },\n { type: 'text/csv', ext: 'csv' },\n { type: 'text/yaml', ext: 'yml' },\n { type: 'text/yaml', ext: 'yaml' },\n { type: 'text/calendar', ext: 'ics' },\n { type: 'text/calendar', ext: 'ical' },\n { type: 'image/apng', ext: 'apng' },\n { type: 'image/bmp', ext: 'bmp' },\n { type: 'image/gif', ext: 'gif' },\n { type: 'image/x-icon', ext: 'ico' },\n { type: 'image/x-icon', ext: 'cur' },\n { type: 'image/jpeg', ext: 'jpg' },\n { type: 'image/jpeg', ext: 'jpeg' },\n { type: 'image/jpeg', ext: 'jfif' },\n { type: 'image/jpeg', ext: 'pjp' },\n { type: 'image/jpeg', ext: 'pjpeg' },\n { type: 'image/png', ext: 'png' },\n { type: 'image/svg+xml', ext: 'svg' },\n { type: 'image/tiff', ext: 'tif' },\n { type: 'image/tiff', ext: 'tiff' },\n { type: 'image/webp', ext: 'webp' },\n { type: 'application/json', ext: 'json' },\n { type: 'application/xml', ext: 'xml' },\n { type: 'application/x-sh', ext: 'sh' },\n { type: 'application/zip', ext: 'zip' },\n { type: 'application/x-rar-compressed', ext: 'rar' },\n { type: 'application/x-tar', ext: 'tar' },\n { type: 'application/x-bzip', ext: 'bz' },\n { type: 'application/x-bzip2', ext: 'bz2' },\n { type: 'application/pdf', ext: 'pdf' },\n { type: 'application/java-archive', ext: 'jar' },\n { type: 'application/msword', ext: 'doc' },\n { type: 'application/vnd.ms-excel', ext: 'xls' },\n { type: 'application/vnd.ms-excel', ext: 'xlsx' },\n { type: 'message/rfc822', ext: 'eml' },\n];\nexport var isEmpty = function (obj) {\n if (obj === void 0) { obj = {}; }\n return Object.keys(obj).length === 0;\n};\nexport var sortByField = function (list, field, dir) {\n if (!list || !list.sort) {\n return false;\n }\n var dirX = dir && dir === 'desc' ? -1 : 1;\n list.sort(function (a, b) {\n var a_val = a[field];\n var b_val = b[field];\n if (typeof b_val === 'undefined') {\n return typeof a_val === 'undefined' ? 0 : 1 * dirX;\n }\n if (typeof a_val === 'undefined') {\n return -1 * dirX;\n }\n if (a_val < b_val) {\n return -1 * dirX;\n }\n if (a_val > b_val) {\n return 1 * dirX;\n }\n return 0;\n });\n return true;\n};\nexport var objectLessAttributes = function (obj, less) {\n var ret = Object.assign({}, obj);\n if (less) {\n if (typeof less === 'string') {\n delete ret[less];\n }\n else {\n less.forEach(function (attr) {\n delete ret[attr];\n });\n }\n }\n return ret;\n};\nexport var filenameToContentType = function (filename, defVal) {\n if (defVal === void 0) { defVal = 'application/octet-stream'; }\n var name = filename.toLowerCase();\n var filtered = MIME_MAP.filter(function (mime) { return name.endsWith('.' + mime.ext); });\n return filtered.length > 0 ? filtered[0].type : defVal;\n};\nexport var isTextFile = function (contentType) {\n var type = contentType.toLowerCase();\n if (type.startsWith('text/')) {\n return true;\n }\n return ('application/json' === type ||\n 'application/xml' === type ||\n 'application/sh' === type);\n};\nexport var generateRandomString = function () {\n var result = '';\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (var i = 32; i > 0; i -= 1) {\n result += chars[Math.floor(Math.random() * chars.length)];\n }\n return result;\n};\nexport var makeQuerablePromise = function (promise) {\n if (promise.isResolved)\n return promise;\n var isPending = true;\n var isRejected = false;\n var isFullfilled = false;\n var result = promise.then(function (data) {\n isFullfilled = true;\n isPending = false;\n return data;\n }, function (e) {\n isRejected = true;\n isPending = false;\n throw e;\n });\n result.isFullfilled = function () { return isFullfilled; };\n result.isPending = function () { return isPending; };\n result.isRejected = function () { return isRejected; };\n return result;\n};\nexport var isWebWorker = function () {\n if (typeof self === 'undefined') {\n return false;\n }\n var selfContext = self;\n return (typeof selfContext.WorkerGlobalScope !== 'undefined' &&\n self instanceof selfContext.WorkerGlobalScope);\n};\nexport var browserOrNode = function () {\n var isBrowser = typeof window !== 'undefined' && typeof window.document !== 'undefined';\n var isNode = typeof process !== 'undefined' &&\n process.versions != null &&\n process.versions.node != null;\n return {\n isBrowser: isBrowser,\n isNode: isNode,\n };\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToLowerCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferedKey = whiteListForItself.includes(key)\n ? key\n : key[0].toLowerCase() + key.slice(1);\n ret[transferedKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToLowerCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * transfer the first letter of the keys to lowercase\n * @param {Object} obj - the object need to be transferred\n * @param {Array} whiteListForItself - whitelist itself from being transferred\n * @param {Array} whiteListForChildren - whitelist its children keys from being transferred\n */\nexport var transferKeyToUpperCase = function (obj, whiteListForItself, whiteListForChildren) {\n if (whiteListForItself === void 0) { whiteListForItself = []; }\n if (whiteListForChildren === void 0) { whiteListForChildren = []; }\n if (!isStrictObject(obj))\n return obj;\n var ret = {};\n for (var key in obj) {\n if (obj.hasOwnProperty(key)) {\n var transferredKey = whiteListForItself.includes(key)\n ? key\n : key[0].toUpperCase() + key.slice(1);\n ret[transferredKey] = whiteListForChildren.includes(key)\n ? obj[key]\n : transferKeyToUpperCase(obj[key], whiteListForItself, whiteListForChildren);\n }\n }\n return ret;\n};\n/**\n * Return true if the object is a strict object\n * which means it's not Array, Function, Number, String, Boolean or Null\n * @param obj the Object\n */\nexport var isStrictObject = function (obj) {\n return (obj instanceof Object &&\n !(obj instanceof Array) &&\n !(obj instanceof Function) &&\n !(obj instanceof Number) &&\n !(obj instanceof String) &&\n !(obj instanceof Boolean));\n};\n//# sourceMappingURL=JS.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var CONTROL_MSG;\n(function (CONTROL_MSG) {\n CONTROL_MSG[\"CONNECTION_CLOSED\"] = \"Connection closed\";\n CONTROL_MSG[\"CONNECTION_FAILED\"] = \"Connection failed\";\n CONTROL_MSG[\"REALTIME_SUBSCRIPTION_INIT_ERROR\"] = \"AppSync Realtime subscription init error\";\n CONTROL_MSG[\"SUBSCRIPTION_ACK\"] = \"Subscription ack\";\n CONTROL_MSG[\"TIMEOUT_DISCONNECT\"] = \"Timeout disconnect\";\n})(CONTROL_MSG || (CONTROL_MSG = {}));\n/** @enum {string} */\nexport var ConnectionState;\n(function (ConnectionState) {\n /*\n * The connection is alive and healthy\n */\n ConnectionState[\"Connected\"] = \"Connected\";\n /*\n * The connection is alive, but the connection is offline\n */\n ConnectionState[\"ConnectedPendingNetwork\"] = \"ConnectedPendingNetwork\";\n /*\n * The connection has been disconnected while in use\n */\n ConnectionState[\"ConnectionDisrupted\"] = \"ConnectionDisrupted\";\n /*\n * The connection has been disconnected and the network is offline\n */\n ConnectionState[\"ConnectionDisruptedPendingNetwork\"] = \"ConnectionDisruptedPendingNetwork\";\n /*\n * The connection is in the process of connecting\n */\n ConnectionState[\"Connecting\"] = \"Connecting\";\n /*\n * The connection is not in use and is being disconnected\n */\n ConnectionState[\"ConnectedPendingDisconnect\"] = \"ConnectedPendingDisconnect\";\n /*\n * The connection is not in use and has been disconnected\n */\n ConnectionState[\"Disconnected\"] = \"Disconnected\";\n /*\n * The connection is alive, but a keep alive message has been missed\n */\n ConnectionState[\"ConnectedPendingKeepAlive\"] = \"ConnectedPendingKeepAlive\";\n})(ConnectionState || (ConnectionState = {}));\n//# sourceMappingURL=PubSub.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// Logging constants\nvar AWS_CLOUDWATCH_BASE_BUFFER_SIZE = 26;\nvar AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE = 1048576;\nvar AWS_CLOUDWATCH_MAX_EVENT_SIZE = 256000;\nvar AWS_CLOUDWATCH_CATEGORY = 'Logging';\nvar AWS_CLOUDWATCH_PROVIDER_NAME = 'AWSCloudWatch';\nvar NO_CREDS_ERROR_STRING = 'No credentials';\nvar RETRY_ERROR_CODES = [\n 'ResourceNotFoundException',\n 'InvalidSequenceTokenException',\n];\nexport { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, NO_CREDS_ERROR_STRING, RETRY_ERROR_CODES, };\n//# sourceMappingURL=Constants.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n/**\n * This Symbol is used to reference an internal-only PubSub provider that\n * is used for AppSync/GraphQL subscriptions in the API category.\n */\nvar hasSymbol = typeof Symbol !== 'undefined' && typeof Symbol.for === 'function';\n/**\n * @deprecated Unused, all usecases have migrated to INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER\n */\nexport var INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER';\nexport var INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER = hasSymbol\n ? Symbol.for('INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER')\n : '@@INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER';\nexport var USER_AGENT_HEADER = 'x-amz-user-agent';\n//# sourceMappingURL=constants.js.map","import { __read } from \"tslib\";\nimport { ConsoleLogger as LoggerClass } from './Logger';\nvar logger = new LoggerClass('Amplify');\nvar AmplifyClass = /** @class */ (function () {\n function AmplifyClass() {\n // Everything that is `register`ed is tracked here\n this._components = [];\n this._config = {};\n // All modules (with `getModuleName()`) are stored here for dependency injection\n this._modules = {};\n // for backward compatibility to avoid breaking change\n // if someone is using like Amplify.Auth\n this.Auth = null;\n this.Analytics = null;\n this.API = null;\n this.Credentials = null;\n this.Storage = null;\n this.I18n = null;\n this.Cache = null;\n this.PubSub = null;\n this.Interactions = null;\n this.Pushnotification = null;\n this.UI = null;\n this.XR = null;\n this.Predictions = null;\n this.DataStore = null;\n this.Geo = null;\n this.Notifications = null;\n this.Logger = LoggerClass;\n this.ServiceWorker = null;\n }\n AmplifyClass.prototype.register = function (comp) {\n logger.debug('component registered in amplify', comp);\n this._components.push(comp);\n if (typeof comp.getModuleName === 'function') {\n this._modules[comp.getModuleName()] = comp;\n this[comp.getModuleName()] = comp;\n }\n else {\n logger.debug('no getModuleName method for component', comp);\n }\n // Finally configure this new component(category) loaded\n // With the new modularization changes in Amplify V3, all the Amplify\n // component are not loaded/registered right away but when they are\n // imported (and hence instantiated) in the client's app. This ensures\n // that all new components imported get correctly configured with the\n // configuration that Amplify.configure() was called with.\n comp.configure(this._config);\n };\n AmplifyClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config;\n this._config = Object.assign(this._config, config);\n logger.debug('amplify config', this._config);\n // Dependency Injection via property-setting.\n // This avoids introducing a public method/interface/setter that's difficult to remove later.\n // Plus, it reduces `if` statements within the `constructor` and `configure` of each module\n Object.entries(this._modules).forEach(function (_a) {\n var _b = __read(_a, 2), Name = _b[0], comp = _b[1];\n // e.g. Auth.*\n Object.keys(comp).forEach(function (property) {\n // e.g. Auth[\"Credentials\"] = this._modules[\"Credentials\"] when set\n if (_this._modules[property]) {\n comp[property] = _this._modules[property];\n }\n });\n });\n this._components.map(function (comp) {\n comp.configure(_this._config);\n });\n return this._config;\n };\n AmplifyClass.prototype.addPluggable = function (pluggable) {\n if (pluggable &&\n pluggable['getCategory'] &&\n typeof pluggable['getCategory'] === 'function') {\n this._components.map(function (comp) {\n if (comp['addPluggable'] &&\n typeof comp['addPluggable'] === 'function') {\n comp.addPluggable(pluggable);\n }\n });\n }\n };\n return AmplifyClass;\n}());\nexport { AmplifyClass };\nexport var Amplify = new AmplifyClass();\n//# sourceMappingURL=Amplify.js.map","import { __assign } from \"tslib\";\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nvar logger = new Logger('AbstractPubSubProvider');\nvar AbstractPubSubProvider = /** @class */ (function () {\n function AbstractPubSubProvider(options) {\n if (options === void 0) { options = {}; }\n this._config = options;\n }\n AbstractPubSubProvider.prototype.configure = function (config) {\n if (config === void 0) { config = {}; }\n this._config = __assign(__assign({}, config), this._config);\n logger.debug(\"configure \" + this.getProviderName(), this._config);\n return this.options;\n };\n AbstractPubSubProvider.prototype.getCategory = function () {\n return 'PubSub';\n };\n Object.defineProperty(AbstractPubSubProvider.prototype, \"options\", {\n get: function () {\n return __assign({}, this._config);\n },\n enumerable: true,\n configurable: true\n });\n return AbstractPubSubProvider;\n}());\nexport { AbstractPubSubProvider };\n//# sourceMappingURL=PubSubProvider.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __read, __spread } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Hub');\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nfunction isLegacyCallback(callback) {\n return callback.onHubCapsule !== undefined;\n}\nvar HubClass = /** @class */ (function () {\n function HubClass(name) {\n this.listeners = [];\n this.patterns = [];\n this.protectedChannels = [\n 'core',\n 'auth',\n 'api',\n 'analytics',\n 'interactions',\n 'pubsub',\n 'storage',\n 'ui',\n 'xr',\n ];\n this.name = name;\n }\n /**\n * Used internally to remove a Hub listener.\n *\n * @remarks\n * This private method is for internal use only. Instead of calling Hub.remove, call the result of Hub.listen.\n */\n HubClass.prototype._remove = function (channel, listener) {\n if (channel instanceof RegExp) {\n var pattern_1 = this.patterns.find(function (_a) {\n var pattern = _a.pattern;\n return pattern.source === channel.source;\n });\n if (!pattern_1) {\n logger.warn(\"No listeners for \" + channel);\n return;\n }\n this.patterns = __spread(this.patterns.filter(function (x) { return x !== pattern_1; }));\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n logger.warn(\"No listeners for \" + channel);\n return;\n }\n this.listeners[channel] = __spread(holder.filter(function (_a) {\n var callback = _a.callback;\n return callback !== listener;\n }));\n }\n };\n /**\n * @deprecated Instead of calling Hub.remove, call the result of Hub.listen.\n */\n HubClass.prototype.remove = function (channel, listener) {\n this._remove(channel, listener);\n };\n /**\n * Used to send a Hub event.\n *\n * @param channel - The channel on which the event will be broadcast\n * @param payload - The HubPayload\n * @param source - The source of the event; defaults to ''\n * @param ampSymbol - Symbol used to determine if the event is dispatched internally on a protected channel\n *\n */\n HubClass.prototype.dispatch = function (channel, payload, source, ampSymbol) {\n if (source === void 0) { source = ''; }\n if (this.protectedChannels.indexOf(channel) > -1) {\n var hasAccess = ampSymbol === AMPLIFY_SYMBOL;\n if (!hasAccess) {\n logger.warn(\"WARNING: \" + channel + \" is protected and dispatching on it can have unintended consequences\");\n }\n }\n var capsule = {\n channel: channel,\n payload: __assign({}, payload),\n source: source,\n patternInfo: [],\n };\n try {\n this._toListeners(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n };\n /**\n * Used to listen for Hub events.\n *\n * @param channel - The channel on which to listen\n * @param callback - The callback to execute when an event is received on the specified channel\n * @param listenerName - The name of the listener; defaults to 'noname'\n * @returns A function which can be called to cancel the listener.\n *\n */\n HubClass.prototype.listen = function (channel, callback, listenerName) {\n var _this = this;\n if (listenerName === void 0) { listenerName = 'noname'; }\n var cb;\n // Check for legacy onHubCapsule callback for backwards compatability\n if (isLegacyCallback(callback)) {\n logger.warn(\"WARNING onHubCapsule is Deprecated. Please pass in a callback.\");\n cb = callback.onHubCapsule.bind(callback);\n }\n else if (typeof callback !== 'function') {\n throw new Error('No callback supplied to Hub');\n }\n else {\n cb = callback;\n }\n if (channel instanceof RegExp) {\n this.patterns.push({\n pattern: channel,\n callback: cb,\n });\n }\n else {\n var holder = this.listeners[channel];\n if (!holder) {\n holder = [];\n this.listeners[channel] = holder;\n }\n holder.push({\n name: listenerName,\n callback: cb,\n });\n }\n return function () {\n _this._remove(channel, cb);\n };\n };\n HubClass.prototype._toListeners = function (capsule) {\n var channel = capsule.channel, payload = capsule.payload;\n var holder = this.listeners[channel];\n if (holder) {\n holder.forEach(function (listener) {\n logger.debug(\"Dispatching to \" + channel + \" with \", payload);\n try {\n listener.callback(capsule);\n }\n catch (e) {\n logger.error(e);\n }\n });\n }\n if (this.patterns.length > 0) {\n if (!payload.message) {\n logger.warn(\"Cannot perform pattern matching without a message key\");\n return;\n }\n var payloadStr_1 = payload.message;\n this.patterns.forEach(function (pattern) {\n var match = payloadStr_1.match(pattern.pattern);\n if (match) {\n var _a = __read(match), groups = _a.slice(1);\n var dispatchingCapsule = __assign(__assign({}, capsule), { patternInfo: groups });\n try {\n pattern.callback(dispatchingCapsule);\n }\n catch (e) {\n logger.error(e);\n }\n }\n });\n }\n };\n return HubClass;\n}());\nexport { HubClass };\n/*We export a __default__ instance of HubClass to use it as a\npseudo Singleton for the main messaging bus, however you can still create\nyour own instance of HubClass() for a separate \"private bus\" of events.*/\nexport var Hub = new HubClass('__default__');\n//# sourceMappingURL=Hub.js.map","export var MAX_DELAY_MS = 5000;\nexport var NON_RETRYABLE_CODES = [400, 401, 403];\nexport var CONNECTION_STATE_CHANGE = 'ConnectionStateChange';\nexport var MESSAGE_TYPES;\n(function (MESSAGE_TYPES) {\n /**\n * Client -> Server message.\n * This message type is the first message after handshake and this will initialize AWS AppSync RealTime communication\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_INIT\"] = \"connection_init\";\n /**\n * Server -> Client message\n * This message type is in case there is an issue with AWS AppSync RealTime when establishing connection\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_ERROR\"] = \"connection_error\";\n /**\n * Server -> Client message.\n * This message type is for the ack response from AWS AppSync RealTime for GQL_CONNECTION_INIT message\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_ACK\"] = \"connection_ack\";\n /**\n * Client -> Server message.\n * This message type is for register subscriptions with AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_START\"] = \"start\";\n /**\n * Server -> Client message.\n * This message type is for the ack response from AWS AppSync RealTime for GQL_START message\n */\n MESSAGE_TYPES[\"GQL_START_ACK\"] = \"start_ack\";\n /**\n * Server -> Client message.\n * This message type is for subscription message from AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_DATA\"] = \"data\";\n /**\n * Server -> Client message.\n * This message type helps the client to know is still receiving messages from AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_CONNECTION_KEEP_ALIVE\"] = \"ka\";\n /**\n * Client -> Server message.\n * This message type is for unregister subscriptions with AWS AppSync RealTime\n */\n MESSAGE_TYPES[\"GQL_STOP\"] = \"stop\";\n /**\n * Server -> Client message.\n * This message type is for the ack response from AWS AppSync RealTime for GQL_STOP message\n */\n MESSAGE_TYPES[\"GQL_COMPLETE\"] = \"complete\";\n /**\n * Server -> Client message.\n * This message type is for sending error messages from AWS AppSync RealTime to the client\n */\n MESSAGE_TYPES[\"GQL_ERROR\"] = \"error\";\n})(MESSAGE_TYPES || (MESSAGE_TYPES = {}));\nexport var SUBSCRIPTION_STATUS;\n(function (SUBSCRIPTION_STATUS) {\n SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS[\"PENDING\"] = 0] = \"PENDING\";\n SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS[\"CONNECTED\"] = 1] = \"CONNECTED\";\n SUBSCRIPTION_STATUS[SUBSCRIPTION_STATUS[\"FAILED\"] = 2] = \"FAILED\";\n})(SUBSCRIPTION_STATUS || (SUBSCRIPTION_STATUS = {}));\nexport var SOCKET_STATUS;\n(function (SOCKET_STATUS) {\n SOCKET_STATUS[SOCKET_STATUS[\"CLOSED\"] = 0] = \"CLOSED\";\n SOCKET_STATUS[SOCKET_STATUS[\"READY\"] = 1] = \"READY\";\n SOCKET_STATUS[SOCKET_STATUS[\"CONNECTING\"] = 2] = \"CONNECTING\";\n})(SOCKET_STATUS || (SOCKET_STATUS = {}));\nexport var AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nexport var AWS_APPSYNC_REALTIME_HEADERS = {\n accept: 'application/json, text/javascript',\n 'content-encoding': 'amz-1.0',\n 'content-type': 'application/json; charset=UTF-8',\n};\n/**\n * Time in milleseconds to wait for GQL_CONNECTION_INIT message\n */\nexport var CONNECTION_INIT_TIMEOUT = 15000;\n/**\n * Time in milleseconds to wait for GQL_START_ACK message\n */\nexport var START_ACK_TIMEOUT = 15000;\n/**\n * Default Time in milleseconds to wait for GQL_CONNECTION_KEEP_ALIVE message\n */\nexport var DEFAULT_KEEP_ALIVE_TIMEOUT = 5 * 60 * 1000;\n/**\n * Default Time in milleseconds to alert for missed GQL_CONNECTION_KEEP_ALIVE message\n */\nexport var DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT = 65 * 1000;\n/**\n * Default delay time in milleseconds between when reconnect is triggered vs when it is attempted\n */\nexport var RECONNECT_DELAY = 5 * 1000;\n/**\n * Default interval time in milleseconds between when reconnect is re-attempted\n */\nexport var RECONNECT_INTERVAL = 60 * 1000;\n//# sourceMappingURL=constants.js.map","import { __values } from \"tslib\";\nimport { browserOrNode, isWebWorker } from '@aws-amplify/core';\nimport Observable from 'zen-observable-ts';\nvar ReachabilityNavigator = /** @class */ (function () {\n function ReachabilityNavigator() {\n }\n ReachabilityNavigator.prototype.networkMonitor = function (netInfo) {\n if (browserOrNode().isNode) {\n return Observable.from([{ online: true }]);\n }\n var globalObj = isWebWorker() ? self : window;\n return new Observable(function (observer) {\n observer.next({ online: globalObj.navigator.onLine });\n var notifyOnline = function () { return observer.next({ online: true }); };\n var notifyOffline = function () { return observer.next({ online: false }); };\n globalObj.addEventListener('online', notifyOnline);\n globalObj.addEventListener('offline', notifyOffline);\n ReachabilityNavigator._observers.push(observer);\n return function () {\n globalObj.removeEventListener('online', notifyOnline);\n globalObj.removeEventListener('offline', notifyOffline);\n ReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(function (_observer) { return _observer !== observer; });\n };\n });\n };\n // expose observers to simulate offline mode for integration testing\n ReachabilityNavigator._observerOverride = function (status) {\n var e_1, _a;\n var _loop_1 = function (observer) {\n if (observer.closed) {\n ReachabilityNavigator._observers = ReachabilityNavigator._observers.filter(function (_observer) { return _observer !== observer; });\n return \"continue\";\n }\n observer.next(status);\n };\n try {\n for (var _b = __values(ReachabilityNavigator._observers), _c = _b.next(); !_c.done; _c = _b.next()) {\n var observer = _c.value;\n _loop_1(observer);\n }\n }\n catch (e_1_1) { e_1 = { error: e_1_1 }; }\n finally {\n try {\n if (_c && !_c.done && (_a = _b.return)) _a.call(_b);\n }\n finally { if (e_1) throw e_1.error; }\n }\n };\n ReachabilityNavigator._observers = [];\n return ReachabilityNavigator;\n}());\nexport default ReachabilityNavigator;\n//# sourceMappingURL=Reachability.js.map","import { Reachability } from '@aws-amplify/core';\nexport var ReachabilityMonitor = function () { return new Reachability().networkMonitor(); };\n//# sourceMappingURL=index.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign } from \"tslib\";\nimport Observable from 'zen-observable-ts';\nimport { ConnectionState } from '../types/PubSub';\nimport { ReachabilityMonitor } from './ReachabilityMonitor';\nexport var CONNECTION_CHANGE = {\n KEEP_ALIVE_MISSED: { keepAliveState: 'unhealthy' },\n KEEP_ALIVE: { keepAliveState: 'healthy' },\n CONNECTION_ESTABLISHED: { connectionState: 'connected' },\n CONNECTION_FAILED: {\n intendedConnectionState: 'disconnected',\n connectionState: 'disconnected',\n },\n CLOSING_CONNECTION: { intendedConnectionState: 'disconnected' },\n OPENING_CONNECTION: {\n intendedConnectionState: 'connected',\n connectionState: 'connecting',\n },\n CLOSED: { connectionState: 'disconnected' },\n ONLINE: { networkState: 'connected' },\n OFFLINE: { networkState: 'disconnected' },\n};\nvar ConnectionStateMonitor = /** @class */ (function () {\n function ConnectionStateMonitor() {\n var _this = this;\n this._networkMonitoringSubscription = undefined;\n this._linkedConnectionState = {\n networkState: 'connected',\n connectionState: 'disconnected',\n intendedConnectionState: 'disconnected',\n keepAliveState: 'healthy',\n };\n // Attempt to update the state with the current actual network state\n this._initialNetworkStateSubscription = ReachabilityMonitor().subscribe(function (_a) {\n var online = _a.online;\n var _b;\n _this.record(online ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE);\n (_b = _this._initialNetworkStateSubscription) === null || _b === void 0 ? void 0 : _b.unsubscribe();\n });\n this._linkedConnectionStateObservable =\n new Observable(function (connectionStateObserver) {\n connectionStateObserver.next(_this._linkedConnectionState);\n _this._linkedConnectionStateObserver = connectionStateObserver;\n });\n }\n /**\n * Turn network state monitoring on if it isn't on already\n */\n ConnectionStateMonitor.prototype.enableNetworkMonitoring = function () {\n var _this = this;\n var _a;\n // If no initial network state was discovered, stop trying\n (_a = this._initialNetworkStateSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n // Maintain the network state based on the reachability monitor\n if (this._networkMonitoringSubscription === undefined) {\n this._networkMonitoringSubscription = ReachabilityMonitor().subscribe(function (_a) {\n var online = _a.online;\n _this.record(online ? CONNECTION_CHANGE.ONLINE : CONNECTION_CHANGE.OFFLINE);\n });\n }\n };\n /**\n * Turn network state monitoring off if it isn't off already\n */\n ConnectionStateMonitor.prototype.disableNetworkMonitoring = function () {\n var _a;\n (_a = this._networkMonitoringSubscription) === null || _a === void 0 ? void 0 : _a.unsubscribe();\n this._networkMonitoringSubscription = undefined;\n };\n Object.defineProperty(ConnectionStateMonitor.prototype, \"connectionStateObservable\", {\n /**\n * Get the observable that allows us to monitor the connection state\n *\n * @returns {Observable} - The observable that emits ConnectionState updates\n */\n get: function () {\n var _this = this;\n var previous;\n // The linked state aggregates state changes to any of the network, connection,\n // intendedConnection and keepAliveHealth. Some states will change these independent\n // states without changing the overall connection state.\n // After translating from linked states to ConnectionState, then remove any duplicates\n return this._linkedConnectionStateObservable\n .map(function (value) {\n return _this.connectionStatesTranslator(value);\n })\n .filter(function (current) {\n var toInclude = current !== previous;\n previous = current;\n return toInclude;\n });\n },\n enumerable: true,\n configurable: true\n });\n /*\n * Updates local connection state and emits the full state to the observer.\n */\n ConnectionStateMonitor.prototype.record = function (statusUpdates) {\n // Maintain the network monitor\n if (statusUpdates.intendedConnectionState === 'connected') {\n this.enableNetworkMonitoring();\n }\n else if (statusUpdates.intendedConnectionState === 'disconnected') {\n this.disableNetworkMonitoring();\n }\n // Maintain the socket state\n var newSocketStatus = __assign(__assign({}, this._linkedConnectionState), statusUpdates);\n this._linkedConnectionState = __assign({}, newSocketStatus);\n this._linkedConnectionStateObserver.next(this._linkedConnectionState);\n };\n /*\n * Translate the ConnectionState structure into a specific ConnectionState string literal union\n */\n ConnectionStateMonitor.prototype.connectionStatesTranslator = function (_a) {\n var connectionState = _a.connectionState, networkState = _a.networkState, intendedConnectionState = _a.intendedConnectionState, keepAliveState = _a.keepAliveState;\n if (connectionState === 'connected' && networkState === 'disconnected')\n return ConnectionState.ConnectedPendingNetwork;\n if (connectionState === 'connected' &&\n intendedConnectionState === 'disconnected')\n return ConnectionState.ConnectedPendingDisconnect;\n if (connectionState === 'disconnected' &&\n intendedConnectionState === 'connected' &&\n networkState === 'disconnected')\n return ConnectionState.ConnectionDisruptedPendingNetwork;\n if (connectionState === 'disconnected' &&\n intendedConnectionState === 'connected')\n return ConnectionState.ConnectionDisrupted;\n if (connectionState === 'connected' && keepAliveState === 'unhealthy')\n return ConnectionState.ConnectedPendingKeepAlive;\n // All remaining states directly correspond to the connection state\n if (connectionState === 'connecting')\n return ConnectionState.Connecting;\n if (connectionState === 'disconnected')\n return ConnectionState.Disconnected;\n return ConnectionState.Connected;\n };\n return ConnectionStateMonitor;\n}());\nexport { ConnectionStateMonitor };\n//# sourceMappingURL=ConnectionStateMonitor.js.map","import { RECONNECT_DELAY, RECONNECT_INTERVAL } from '../Providers/constants';\nexport var ReconnectEvent;\n(function (ReconnectEvent) {\n ReconnectEvent[\"START_RECONNECT\"] = \"START_RECONNECT\";\n ReconnectEvent[\"HALT_RECONNECT\"] = \"HALT_RECONNECT\";\n})(ReconnectEvent || (ReconnectEvent = {}));\n/**\n * Captures the reconnect event logic used to determine when to reconnect to PubSub providers.\n * Reconnnect attempts are delayed by 5 seconds to let the interface settle.\n * Attempting to reconnect only once creates unrecoverable states when the network state isn't\n * supported by the browser, so this keeps retrying every minute until halted.\n */\nvar ReconnectionMonitor = /** @class */ (function () {\n function ReconnectionMonitor() {\n this.reconnectObservers = [];\n }\n /**\n * Add reconnect observer to the list of observers to alert on reconnect\n */\n ReconnectionMonitor.prototype.addObserver = function (reconnectObserver) {\n this.reconnectObservers.push(reconnectObserver);\n };\n /**\n * Given a reconnect event, start the appropriate behavior\n */\n ReconnectionMonitor.prototype.record = function (event) {\n var _this = this;\n if (event === ReconnectEvent.START_RECONNECT) {\n // If the reconnection hasn't been started\n if (this.reconnectSetTimeoutId === undefined &&\n this.reconnectIntervalId === undefined) {\n this.reconnectSetTimeoutId = setTimeout(function () {\n // Reconnect now\n _this._triggerReconnect();\n // Retry reconnect every periodically until it works\n _this.reconnectIntervalId = setInterval(function () {\n _this._triggerReconnect();\n }, RECONNECT_INTERVAL);\n }, RECONNECT_DELAY);\n }\n }\n if (event === ReconnectEvent.HALT_RECONNECT) {\n if (this.reconnectIntervalId) {\n clearInterval(this.reconnectIntervalId);\n this.reconnectIntervalId = undefined;\n }\n if (this.reconnectSetTimeoutId) {\n clearTimeout(this.reconnectSetTimeoutId);\n this.reconnectSetTimeoutId = undefined;\n }\n }\n };\n /**\n * Complete all reconnect observers\n */\n ReconnectionMonitor.prototype.close = function () {\n this.reconnectObservers.forEach(function (reconnectObserver) {\n var _a;\n (_a = reconnectObserver.complete) === null || _a === void 0 ? void 0 : _a.call(reconnectObserver);\n });\n };\n ReconnectionMonitor.prototype._triggerReconnect = function () {\n this.reconnectObservers.forEach(function (reconnectObserver) {\n var _a;\n (_a = reconnectObserver.next) === null || _a === void 0 ? void 0 : _a.call(reconnectObserver);\n });\n };\n return ReconnectionMonitor;\n}());\nexport { ReconnectionMonitor };\n//# sourceMappingURL=ReconnectionMonitor.js.map","import { __assign, __awaiter, __extends, __generator, __rest } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport * as Paho from 'paho-mqtt';\nimport { v4 as uuid } from 'uuid';\nimport Observable from 'zen-observable-ts';\nimport { AbstractPubSubProvider } from './PubSubProvider';\nimport { ConnectionState } from '../types/PubSub';\nimport { ConsoleLogger as Logger, Hub } from '@aws-amplify/core';\nimport { ConnectionStateMonitor, CONNECTION_CHANGE, } from '../utils/ConnectionStateMonitor';\nimport { ReconnectEvent, ReconnectionMonitor, } from '../utils/ReconnectionMonitor';\nimport { AMPLIFY_SYMBOL, CONNECTION_STATE_CHANGE } from './constants';\nvar logger = new Logger('MqttOverWSProvider');\nexport function mqttTopicMatch(filter, topic) {\n var filterArray = filter.split('/');\n var length = filterArray.length;\n var topicArray = topic.split('/');\n for (var i = 0; i < length; ++i) {\n var left = filterArray[i];\n var right = topicArray[i];\n if (left === '#')\n return topicArray.length >= length;\n if (left !== '+' && left !== right)\n return false;\n }\n return length === topicArray.length;\n}\nvar ClientsQueue = /** @class */ (function () {\n function ClientsQueue() {\n this.promises = new Map();\n }\n ClientsQueue.prototype.get = function (clientId, clientFactory) {\n return __awaiter(this, void 0, void 0, function () {\n var cachedPromise, newPromise;\n var _this = this;\n return __generator(this, function (_a) {\n cachedPromise = this.promises.get(clientId);\n if (cachedPromise)\n return [2 /*return*/, cachedPromise];\n if (clientFactory) {\n newPromise = clientFactory(clientId);\n this.promises.set(clientId, newPromise);\n newPromise.catch(function (v) { return _this.promises.delete(clientId); });\n return [2 /*return*/, newPromise];\n }\n return [2 /*return*/, undefined];\n });\n });\n };\n Object.defineProperty(ClientsQueue.prototype, \"allClients\", {\n get: function () {\n return Array.from(this.promises.keys());\n },\n enumerable: true,\n configurable: true\n });\n ClientsQueue.prototype.remove = function (clientId) {\n this.promises.delete(clientId);\n };\n return ClientsQueue;\n}());\nvar dispatchPubSubEvent = function (event, data, message) {\n Hub.dispatch('pubsub', { event: event, data: data, message: message }, 'PubSub', AMPLIFY_SYMBOL);\n};\nvar topicSymbol = typeof Symbol !== 'undefined' ? Symbol('topic') : '@@topic';\nvar MqttOverWSProvider = /** @class */ (function (_super) {\n __extends(MqttOverWSProvider, _super);\n function MqttOverWSProvider(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, __assign(__assign({}, options), { clientId: options.clientId || uuid() })) || this;\n _this._clientsQueue = new ClientsQueue();\n _this.connectionStateMonitor = new ConnectionStateMonitor();\n _this.reconnectionMonitor = new ReconnectionMonitor();\n _this._topicObservers = new Map();\n _this._clientIdObservers = new Map();\n // Monitor the connection health state and pass changes along to Hub\n _this.connectionStateMonitor.connectionStateObservable.subscribe(function (connectionStateChange) {\n dispatchPubSubEvent(CONNECTION_STATE_CHANGE, {\n provider: _this,\n connectionState: connectionStateChange,\n }, \"Connection state is \" + connectionStateChange);\n _this.connectionState = connectionStateChange;\n // Trigger reconnection when the connection is disrupted\n if (connectionStateChange === ConnectionState.ConnectionDisrupted) {\n _this.reconnectionMonitor.record(ReconnectEvent.START_RECONNECT);\n }\n else if (connectionStateChange !== ConnectionState.Connecting) {\n // Trigger connected to halt reconnection attempts\n _this.reconnectionMonitor.record(ReconnectEvent.HALT_RECONNECT);\n }\n });\n return _this;\n }\n Object.defineProperty(MqttOverWSProvider.prototype, \"clientId\", {\n get: function () {\n return this.options.clientId;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MqttOverWSProvider.prototype, \"endpoint\", {\n get: function () {\n return this.options.aws_pubsub_endpoint;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MqttOverWSProvider.prototype, \"clientsQueue\", {\n get: function () {\n return this._clientsQueue;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(MqttOverWSProvider.prototype, \"isSSLEnabled\", {\n get: function () {\n return !this.options\n .aws_appsync_dangerously_connect_to_http_endpoint_for_testing;\n },\n enumerable: true,\n configurable: true\n });\n MqttOverWSProvider.prototype.getTopicForValue = function (value) {\n return typeof value === 'object' && value[topicSymbol];\n };\n MqttOverWSProvider.prototype.getProviderName = function () {\n return 'MqttOverWSProvider';\n };\n MqttOverWSProvider.prototype.onDisconnect = function (_a) {\n var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, [\"clientId\", \"errorCode\"]);\n if (errorCode !== 0) {\n logger.warn(clientId, JSON.stringify(__assign({ errorCode: errorCode }, args), null, 2));\n if (!clientId) {\n return;\n }\n var clientIdObservers = this._clientIdObservers.get(clientId);\n if (!clientIdObservers) {\n return;\n }\n this.disconnect(clientId);\n }\n };\n MqttOverWSProvider.prototype.newClient = function (_a) {\n var url = _a.url, clientId = _a.clientId;\n return __awaiter(this, void 0, void 0, function () {\n var client, connected;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('Creating new MQTT client', clientId);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.OPENING_CONNECTION);\n client = new Paho.Client(url, clientId);\n client.onMessageArrived = function (_a) {\n var topic = _a.destinationName, msg = _a.payloadString;\n _this._onMessage(topic, msg);\n };\n client.onConnectionLost = function (_a) {\n var errorCode = _a.errorCode, args = __rest(_a, [\"errorCode\"]);\n _this.onDisconnect(__assign({ clientId: clientId, errorCode: errorCode }, args));\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n };\n return [4 /*yield*/, new Promise(function (resolve, reject) {\n client.connect({\n useSSL: _this.isSSLEnabled,\n mqttVersion: 3,\n onSuccess: function () { return resolve(true); },\n onFailure: function (x) {\n if (clientId)\n _this._clientsQueue.remove(clientId);\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n resolve(false);\n },\n });\n })];\n case 1:\n connected = _b.sent();\n if (connected) {\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_ESTABLISHED);\n }\n return [2 /*return*/, client];\n }\n });\n });\n };\n MqttOverWSProvider.prototype.connect = function (clientId, options) {\n if (options === void 0) { options = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function (clientId) { return __awaiter(_this, void 0, void 0, function () {\n var client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.newClient(__assign(__assign({}, options), { clientId: clientId }))];\n case 1:\n client = _a.sent();\n if (client) {\n // Once connected, subscribe to all topics registered observers\n this._topicObservers.forEach(function (_value, key) {\n client.subscribe(key);\n });\n }\n return [2 /*return*/, client];\n }\n });\n }); })];\n case 1: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n MqttOverWSProvider.prototype.disconnect = function (clientId) {\n return __awaiter(this, void 0, void 0, function () {\n var client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];\n case 1:\n client = _a.sent();\n if (client && client.isConnected()) {\n client.disconnect();\n }\n this.clientsQueue.remove(clientId);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n return [2 /*return*/];\n }\n });\n });\n };\n MqttOverWSProvider.prototype.publish = function (topics, msg) {\n return __awaiter(this, void 0, void 0, function () {\n var targetTopics, message, client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n targetTopics = [].concat(topics);\n message = JSON.stringify(msg);\n return [4 /*yield*/, this.clientsQueue.get(this.clientId)];\n case 1:\n client = _a.sent();\n if (client) {\n logger.debug('Publishing to topic(s)', targetTopics.join(','), message);\n targetTopics.forEach(function (topic) { return client.send(topic, message); });\n }\n else {\n logger.debug('Publishing to topic(s) failed', targetTopics.join(','), message);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n MqttOverWSProvider.prototype._onMessage = function (topic, msg) {\n try {\n var matchedTopicObservers_1 = [];\n this._topicObservers.forEach(function (observerForTopic, observerTopic) {\n if (mqttTopicMatch(observerTopic, topic)) {\n matchedTopicObservers_1.push(observerForTopic);\n }\n });\n var parsedMessage_1 = JSON.parse(msg);\n if (typeof parsedMessage_1 === 'object') {\n parsedMessage_1[topicSymbol] = topic;\n }\n matchedTopicObservers_1.forEach(function (observersForTopic) {\n observersForTopic.forEach(function (observer) { return observer.next(parsedMessage_1); });\n });\n }\n catch (error) {\n logger.warn('Error handling message', error, msg);\n }\n };\n MqttOverWSProvider.prototype.subscribe = function (topics, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var targetTopics = [].concat(topics);\n logger.debug('Subscribing to topic(s)', targetTopics.join(','));\n var reconnectSubscription;\n return new Observable(function (observer) {\n targetTopics.forEach(function (topic) {\n // this._topicObservers is used to notify the observers according to the topic received on the message\n var observersForTopic = _this._topicObservers.get(topic);\n if (!observersForTopic) {\n observersForTopic = new Set();\n _this._topicObservers.set(topic, observersForTopic);\n }\n observersForTopic.add(observer);\n });\n var _a = options.clientId, clientId = _a === void 0 ? _this.clientId : _a;\n // this._clientIdObservers is used to close observers when client gets disconnected\n var observersForClientId = _this._clientIdObservers.get(clientId);\n if (!observersForClientId) {\n observersForClientId = new Set();\n }\n observersForClientId.add(observer);\n _this._clientIdObservers.set(clientId, observersForClientId);\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var getClient;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n getClient = function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, url, _b, client_1, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 5, , 6]);\n _a = options.url;\n if (!(_a === void 0)) return [3 /*break*/, 2];\n return [4 /*yield*/, this.endpoint];\n case 1:\n _b = _c.sent();\n return [3 /*break*/, 3];\n case 2:\n _b = _a;\n _c.label = 3;\n case 3:\n url = _b;\n return [4 /*yield*/, this.connect(clientId, { url: url })];\n case 4:\n client_1 = _c.sent();\n if (client_1 !== undefined) {\n targetTopics.forEach(function (topic) {\n client_1.subscribe(topic);\n });\n }\n return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n logger.debug('Error forming connection', e_1);\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/];\n }\n });\n }); };\n // Establish the initial connection\n return [4 /*yield*/, getClient()];\n case 1:\n // Establish the initial connection\n _a.sent();\n // Add an observable to the reconnection list to manage reconnection for this subscription\n reconnectSubscription = new Observable(function (observer) {\n _this.reconnectionMonitor.addObserver(observer);\n }).subscribe(function () {\n getClient();\n });\n return [2 /*return*/];\n }\n });\n }); })();\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var client;\n var _this = this;\n var _a, _b;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId)];\n case 1:\n client = _c.sent();\n reconnectSubscription === null || reconnectSubscription === void 0 ? void 0 : reconnectSubscription.unsubscribe();\n if (client) {\n (_a = this._clientIdObservers.get(clientId)) === null || _a === void 0 ? void 0 : _a.delete(observer);\n // No more observers per client => client not needed anymore\n if (((_b = this._clientIdObservers.get(clientId)) === null || _b === void 0 ? void 0 : _b.size) === 0) {\n this.disconnect(clientId);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSING_CONNECTION);\n this._clientIdObservers.delete(clientId);\n }\n targetTopics.forEach(function (topic) {\n var observersForTopic = _this._topicObservers.get(topic) ||\n new Set();\n observersForTopic.delete(observer);\n // if no observers exists for the topic, topic should be removed\n if (observersForTopic.size === 0) {\n _this._topicObservers.delete(topic);\n if (client.isConnected()) {\n client.unsubscribe(topic);\n }\n }\n });\n }\n return [2 /*return*/, null];\n }\n });\n }); };\n });\n };\n return MqttOverWSProvider;\n}(AbstractPubSubProvider));\nexport { MqttOverWSProvider };\n//# sourceMappingURL=MqttOverWSProvider.js.map","import { __awaiter, __extends, __generator, __read, __rest, __spread } from \"tslib\";\nimport Observable from 'zen-observable-ts';\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { MqttOverWSProvider } from './MqttOverWSProvider';\nvar logger = new Logger('AWSAppSyncProvider');\n/**\n * @deprecated Unused, all usecases have migrated to AWSAppSyncRealtimeProvider\n */\nvar AWSAppSyncProvider = /** @class */ (function (_super) {\n __extends(AWSAppSyncProvider, _super);\n function AWSAppSyncProvider() {\n var _this = _super !== null && _super.apply(this, arguments) || this;\n _this._topicClient = new Map();\n _this._topicAlias = new Map();\n return _this;\n }\n Object.defineProperty(AWSAppSyncProvider.prototype, \"endpoint\", {\n get: function () {\n throw new Error('Not supported');\n },\n enumerable: true,\n configurable: true\n });\n AWSAppSyncProvider.prototype.getProviderName = function () {\n return 'AWSAppSyncProvider';\n };\n AWSAppSyncProvider.prototype.publish = function (topics, msg, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw new Error('Operation not supported');\n });\n });\n };\n AWSAppSyncProvider.prototype._cleanUp = function (clientId) {\n var _this = this;\n var topicsForClient = Array.from(this._topicClient.entries())\n .filter(function (_a) {\n var _b = __read(_a, 2), c = _b[1];\n return c.clientId === clientId;\n })\n .map(function (_a) {\n var _b = __read(_a, 1), t = _b[0];\n return t;\n });\n topicsForClient.forEach(function (t) { return _this._cleanUpForTopic(t); });\n };\n AWSAppSyncProvider.prototype._cleanUpForTopic = function (topic) {\n this._topicClient.delete(topic);\n this._topicAlias.delete(topic);\n };\n AWSAppSyncProvider.prototype.onDisconnect = function (_a) {\n var _this = this;\n var clientId = _a.clientId, errorCode = _a.errorCode, args = __rest(_a, [\"clientId\", \"errorCode\"]);\n if (errorCode !== 0) {\n var topicsForClient = Array.from(this._topicClient.entries())\n .filter(function (_a) {\n var _b = __read(_a, 2), c = _b[1];\n return c.clientId === clientId;\n })\n .map(function (_a) {\n var _b = __read(_a, 1), t = _b[0];\n return t;\n });\n topicsForClient.forEach(function (topic) {\n if (_this._topicObservers.has(topic)) {\n _this._topicObservers.get(topic).forEach(function (obs) {\n if (!obs.closed) {\n obs.error(args);\n }\n });\n _this._topicObservers.delete(topic);\n }\n });\n this._cleanUp(clientId);\n }\n };\n AWSAppSyncProvider.prototype.disconnect = function (clientId) {\n return __awaiter(this, void 0, void 0, function () {\n var client;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, this.clientsQueue.get(clientId, function () { return null; })];\n case 1:\n client = _a.sent();\n return [4 /*yield*/, _super.prototype.disconnect.call(this, clientId)];\n case 2:\n _a.sent();\n this._cleanUp(clientId);\n return [2 /*return*/];\n }\n });\n });\n };\n AWSAppSyncProvider.prototype.subscribe = function (topics, options) {\n var _this = this;\n if (options === void 0) { options = {}; }\n var result = new Observable(function (observer) {\n var targetTopics = [].concat(topics);\n logger.debug('Subscribing to topic(s)', targetTopics.join(','));\n (function () { return __awaiter(_this, void 0, void 0, function () {\n var _a, mqttConnections, newSubscriptions, newAliases, map;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n // Add these topics to map\n targetTopics.forEach(function (t) {\n if (!_this._topicObservers.has(t)) {\n _this._topicObservers.set(t, new Set());\n }\n _this._topicObservers.get(t).add(observer);\n });\n _a = options.mqttConnections, mqttConnections = _a === void 0 ? [] : _a, newSubscriptions = options.newSubscriptions;\n newAliases = Object.entries(newSubscriptions).map(function (_a) {\n var _b = __read(_a, 2), alias = _b[0], v = _b[1];\n return [v.topic, alias];\n });\n // Merge new aliases with old ones\n this._topicAlias = new Map(__spread(Array.from(this._topicAlias.entries()), newAliases));\n map = Object.entries(targetTopics.reduce(function (acc, elem) {\n var connectionInfoForTopic = mqttConnections.find(function (c) { return c.topics.indexOf(elem) > -1; });\n if (connectionInfoForTopic) {\n var clientId = connectionInfoForTopic.client, url = connectionInfoForTopic.url;\n if (!acc[clientId]) {\n acc[clientId] = {\n url: url,\n topics: new Set(),\n };\n }\n acc[clientId].topics.add(elem);\n }\n return acc;\n }, {}));\n // reconnect everything we have in the map\n return [4 /*yield*/, Promise.all(map.map(function (_a) {\n var _b = __read(_a, 2), clientId = _b[0], _c = _b[1], url = _c.url, topics = _c.topics;\n return __awaiter(_this, void 0, void 0, function () {\n var client, err_1;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n client = null;\n _d.label = 1;\n case 1:\n _d.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.connect(clientId, {\n clientId: clientId,\n url: url,\n })];\n case 2:\n client = _d.sent();\n return [3 /*break*/, 4];\n case 3:\n err_1 = _d.sent();\n observer.error({ message: 'Failed to connect', error: err_1 });\n observer.complete();\n return [2 /*return*/, undefined];\n case 4:\n // subscribe to all topics for this client\n // store topic-client mapping\n topics.forEach(function (topic) {\n if (client.isConnected()) {\n client.subscribe(topic);\n _this._topicClient.set(topic, client);\n }\n });\n return [2 /*return*/, client];\n }\n });\n });\n }))];\n case 1:\n // reconnect everything we have in the map\n _b.sent();\n return [2 /*return*/];\n }\n });\n }); })();\n return function () {\n logger.debug('Unsubscribing from topic(s)', targetTopics.join(','));\n targetTopics.forEach(function (t) {\n var client = _this._topicClient.get(t);\n if (client && client.isConnected()) {\n client.unsubscribe(t);\n _this._topicClient.delete(t);\n if (!Array.from(_this._topicClient.values()).some(function (c) { return c === client; })) {\n _this.disconnect(client.clientId);\n }\n }\n _this._topicObservers.delete(t);\n });\n };\n });\n return Observable.from(result).map(function (value) {\n var topic = _this.getTopicForValue(value);\n var alias = _this._topicAlias.get(topic);\n value.data = Object.entries(value.data).reduce(function (obj, _a) {\n var _b = __read(_a, 2), origKey = _b[0], val = _b[1];\n return ((obj[(alias || origKey)] = val), obj);\n }, {});\n return value;\n });\n };\n return AWSAppSyncProvider;\n}(MqttOverWSProvider));\nexport { AWSAppSyncProvider };\n//# sourceMappingURL=AWSAppSyncProvider.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false,\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getAmplifyUserAgent = function (content) {\n return \"\" + Platform.userAgent + (content ? content : '');\n};\n//# sourceMappingURL=index.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nvar logger = new Logger('I18n');\n/**\n * Language transition class\n */\nvar I18n = /** @class */ (function () {\n /**\n * @constructor\n * Initialize with configurations\n * @param {Object} options\n */\n function I18n(options) {\n /**\n * @private\n */\n this._options = null;\n /**\n * @private\n */\n this._lang = null;\n /**\n * @private\n */\n this._dict = {};\n this._options = Object.assign({}, options);\n this._lang = this._options.language;\n if (!this._lang &&\n typeof window !== 'undefined' &&\n window &&\n window.navigator) {\n this._lang = window.navigator.language;\n }\n logger.debug(this._lang);\n }\n /**\n * @method\n * Explicitly setting language\n * @param {String} lang\n */\n I18n.prototype.setLanguage = function (lang) {\n this._lang = lang;\n };\n /**\n * @method\n * Get value\n * @param {String} key\n * @param {String} defVal - Default value\n */\n I18n.prototype.get = function (key, defVal) {\n if (defVal === void 0) { defVal = undefined; }\n if (!this._lang) {\n return typeof defVal !== 'undefined' ? defVal : key;\n }\n var lang = this._lang;\n var val = this.getByLanguage(key, lang);\n if (val) {\n return val;\n }\n if (lang.indexOf('-') > 0) {\n val = this.getByLanguage(key, lang.split('-')[0]);\n }\n if (val) {\n return val;\n }\n return typeof defVal !== 'undefined' ? defVal : key;\n };\n /**\n * @method\n * Get value according to specified language\n * @param {String} key\n * @param {String} language - Specified langurage to be used\n * @param {String} defVal - Default value\n */\n I18n.prototype.getByLanguage = function (key, language, defVal) {\n if (defVal === void 0) { defVal = null; }\n if (!language) {\n return defVal;\n }\n var lang_dict = this._dict[language];\n if (!lang_dict) {\n return defVal;\n }\n return lang_dict[key];\n };\n /**\n * @method\n * Add vocabularies for one language\n * @param {String} language - Language of the dictionary\n * @param {Object} vocabularies - Object that has key-value as dictionary entry\n */\n I18n.prototype.putVocabulariesForLanguage = function (language, vocabularies) {\n var lang_dict = this._dict[language];\n if (!lang_dict) {\n lang_dict = this._dict[language] = {};\n }\n Object.assign(lang_dict, vocabularies);\n };\n /**\n * @method\n * Add vocabularies for one language\n * @param {Object} vocabularies - Object that has language as key,\n * vocabularies of each language as value\n */\n I18n.prototype.putVocabularies = function (vocabularies) {\n var _this = this;\n Object.keys(vocabularies).map(function (key) {\n _this.putVocabulariesForLanguage(key, vocabularies[key]);\n });\n };\n return I18n;\n}());\nexport { I18n };\n//# sourceMappingURL=I18n.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { I18n as I18nClass } from './I18n';\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { Amplify } from '../Amplify';\nvar logger = new Logger('I18n');\nvar _config = null;\nvar _i18n = null;\n/**\n * Export I18n APIs\n */\nvar I18n = /** @class */ (function () {\n function I18n() {\n }\n /**\n * @static\n * @method\n * Configure I18n part\n * @param {Object} config - Configuration of the I18n\n */\n I18n.configure = function (config) {\n logger.debug('configure I18n');\n if (!config) {\n return _config;\n }\n _config = Object.assign({}, _config, config.I18n || config);\n I18n.createInstance();\n return _config;\n };\n I18n.getModuleName = function () {\n return 'I18n';\n };\n /**\n * @static\n * @method\n * Create an instance of I18n for the library\n */\n I18n.createInstance = function () {\n logger.debug('create I18n instance');\n if (_i18n) {\n return;\n }\n _i18n = new I18nClass(_config);\n };\n /**\n * @static @method\n * Explicitly setting language\n * @param {String} lang\n */\n I18n.setLanguage = function (lang) {\n I18n.checkConfig();\n return _i18n.setLanguage(lang);\n };\n /**\n * @static @method\n * Get value\n * @param {String} key\n * @param {String} defVal - Default value\n */\n I18n.get = function (key, defVal) {\n if (!I18n.checkConfig()) {\n return typeof defVal === 'undefined' ? key : defVal;\n }\n return _i18n.get(key, defVal);\n };\n /**\n * @static\n * @method\n * Add vocabularies for one language\n * @param {String} langurage - Language of the dictionary\n * @param {Object} vocabularies - Object that has key-value as dictionary entry\n */\n I18n.putVocabulariesForLanguage = function (language, vocabularies) {\n I18n.checkConfig();\n return _i18n.putVocabulariesForLanguage(language, vocabularies);\n };\n /**\n * @static\n * @method\n * Add vocabularies for one language\n * @param {Object} vocabularies - Object that has language as key,\n * vocabularies of each language as value\n */\n I18n.putVocabularies = function (vocabularies) {\n I18n.checkConfig();\n return _i18n.putVocabularies(vocabularies);\n };\n I18n.checkConfig = function () {\n if (!_i18n) {\n _i18n = new I18nClass(_config);\n }\n return true;\n };\n return I18n;\n}());\nexport { I18n };\nAmplify.register(I18n);\n//# sourceMappingURL=index.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar dataMemory = {};\n/** @class */\nvar MemoryStorage = /** @class */ (function () {\n function MemoryStorage() {\n }\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function (key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n };\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */\n MemoryStorage.getItem = function (key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key)\n ? dataMemory[key]\n : undefined;\n };\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */\n MemoryStorage.removeItem = function (key) {\n return delete dataMemory[key];\n };\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */\n MemoryStorage.clear = function () {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}());\nexport { MemoryStorage };\nvar StorageHelper = /** @class */ (function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.amplify.test-ls', 1);\n this.storageWindow.removeItem('aws.amplify.test-ls');\n }\n catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n StorageHelper.prototype.getStorage = function () {\n return this.storageWindow;\n };\n return StorageHelper;\n}());\nexport { StorageHelper };\n//# sourceMappingURL=index.js.map","import { __awaiter, __extends, __generator, __read, __spread } from \"tslib\";\nimport { ConsoleLogger as Logger } from '../Logger/ConsoleLogger';\nvar logger = new Logger('Util');\nvar NonRetryableError = /** @class */ (function (_super) {\n __extends(NonRetryableError, _super);\n function NonRetryableError(message) {\n var _this = _super.call(this, message) || this;\n _this.nonRetryable = true;\n return _this;\n }\n return NonRetryableError;\n}(Error));\nexport { NonRetryableError };\nexport var isNonRetryableError = function (obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function retry(functionToRetry, args, delayFn, onTerminate) {\n return __awaiter(this, void 0, void 0, function () {\n var _this = this;\n return __generator(this, function (_a) {\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n return [2 /*return*/, new Promise(function (resolve, reject) { return __awaiter(_this, void 0, void 0, function () {\n var attempt, terminated, timeout, wakeUp, lastError, _loop_1, state_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n attempt = 0;\n terminated = false;\n wakeUp = function () { };\n onTerminate &&\n onTerminate.then(function () {\n // signal not to try anymore.\n terminated = true;\n // stop sleeping if we're sleeping.\n clearTimeout(timeout);\n wakeUp();\n });\n _loop_1 = function () {\n var _a, _b, err_1, retryIn_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n attempt++;\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with this vars: \" + JSON.stringify(args));\n _c.label = 1;\n case 1:\n _c.trys.push([1, 3, , 7]);\n _a = {};\n _b = resolve;\n return [4 /*yield*/, functionToRetry.apply(void 0, __spread(args))];\n case 2: return [2 /*return*/, (_a.value = _b.apply(void 0, [_c.sent()]), _a)];\n case 3:\n err_1 = _c.sent();\n lastError = err_1;\n logger.debug(\"error on \" + functionToRetry.name, err_1);\n if (isNonRetryableError(err_1)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err_1);\n return [2 /*return*/, { value: reject(err_1) }];\n }\n retryIn_1 = delayFn(attempt, args, err_1);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn_1 + \" ms\");\n if (!(retryIn_1 === false || terminated)) return [3 /*break*/, 4];\n return [2 /*return*/, { value: reject(err_1) }];\n case 4: return [4 /*yield*/, new Promise(function (r) {\n wakeUp = r; // export wakeUp for onTerminate handling\n timeout = setTimeout(wakeUp, retryIn_1);\n })];\n case 5:\n _c.sent();\n _c.label = 6;\n case 6: return [3 /*break*/, 7];\n case 7: return [2 /*return*/];\n }\n });\n };\n _a.label = 1;\n case 1:\n if (!!terminated) return [3 /*break*/, 3];\n return [5 /*yield**/, _loop_1()];\n case 2:\n state_1 = _a.sent();\n if (typeof state_1 === \"object\")\n return [2 /*return*/, state_1.value];\n return [3 /*break*/, 1];\n case 3:\n // reached if terminated while waiting for a timer.\n reject(lastError);\n return [2 /*return*/];\n }\n });\n }); })];\n });\n });\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\n/**\n * @private\n * Internal use of Amplify only\n */\nexport function jitteredBackoff(maxDelayMs) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\n/**\n * @private\n * Internal use of Amplify only\n */\nexport var jitteredExponentialRetry = function (functionToRetry, args, maxDelayMs, onTerminate) {\n if (maxDelayMs === void 0) { maxDelayMs = MAX_DELAY_MS; }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs), onTerminate);\n};\n//# sourceMappingURL=Retry.js.map","import { __awaiter, __generator } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (ga) {\n logger.debug('google api already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar GoogleOAuth = /** @class */ (function () {\n function GoogleOAuth() {\n this.initialized = false;\n this.refreshGoogleToken = this.refreshGoogleToken.bind(this);\n this._refreshGoogleTokenImpl = this._refreshGoogleTokenImpl.bind(this);\n }\n GoogleOAuth.prototype.refreshGoogleToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Google SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshGoogleTokenImpl()];\n }\n });\n });\n };\n GoogleOAuth.prototype._refreshGoogleTokenImpl = function () {\n var ga = null;\n if (browserOrNode().isBrowser)\n ga = window['gapi'] && window['gapi'].auth2 ? window['gapi'].auth2 : null;\n if (!ga) {\n logger.debug('no gapi auth2 available');\n return Promise.reject('no gapi auth2 available');\n }\n return new Promise(function (res, rej) {\n ga.getAuthInstance()\n .then(function (googleAuth) {\n if (!googleAuth) {\n logger.debug('google Auth undefined');\n rej(new NonRetryableError('google Auth undefined'));\n }\n var googleUser = googleAuth.currentUser.get();\n // refresh the token\n if (googleUser.isSignedIn()) {\n logger.debug('refreshing the google access token');\n googleUser\n .reloadAuthResponse()\n .then(function (authResponse) {\n var id_token = authResponse.id_token, expires_at = authResponse.expires_at;\n res({ token: id_token, expires_at: expires_at });\n })\n .catch(function (err) {\n if (err && err.error === 'network_error') {\n // Not using NonRetryableError so handler will be retried\n rej('Network error reloading google auth response');\n }\n else {\n rej(new NonRetryableError('Failed to reload google auth response'));\n }\n });\n }\n else {\n rej(new NonRetryableError('User is not signed in with Google'));\n }\n })\n .catch(function (err) {\n logger.debug('Failed to refresh google token', err);\n rej(new NonRetryableError('Failed to refresh google token'));\n });\n });\n };\n return GoogleOAuth;\n}());\nexport { GoogleOAuth };\n//# sourceMappingURL=GoogleOAuth.js.map","import { __awaiter, __generator } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { ConsoleLogger as Logger } from '../Logger';\nimport { browserOrNode } from '../JS';\nimport { NonRetryableError } from '../Util';\nvar logger = new Logger('CognitoCredentials');\nvar waitForInit = new Promise(function (res, rej) {\n if (!browserOrNode().isBrowser) {\n logger.debug('not in the browser, directly resolved');\n return res();\n }\n var fb = window['FB'];\n if (fb) {\n logger.debug('FB SDK already loaded');\n return res();\n }\n else {\n setTimeout(function () {\n return res();\n }, 2000);\n }\n});\nvar FacebookOAuth = /** @class */ (function () {\n function FacebookOAuth() {\n this.initialized = false;\n this.refreshFacebookToken = this.refreshFacebookToken.bind(this);\n this._refreshFacebookTokenImpl = this._refreshFacebookTokenImpl.bind(this);\n }\n FacebookOAuth.prototype.refreshFacebookToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this.initialized) return [3 /*break*/, 2];\n logger.debug('need to wait for the Facebook SDK loaded');\n return [4 /*yield*/, waitForInit];\n case 1:\n _a.sent();\n this.initialized = true;\n logger.debug('finish waiting');\n _a.label = 2;\n case 2: return [2 /*return*/, this._refreshFacebookTokenImpl()];\n }\n });\n });\n };\n FacebookOAuth.prototype._refreshFacebookTokenImpl = function () {\n var fb = null;\n if (browserOrNode().isBrowser)\n fb = window['FB'];\n if (!fb) {\n var errorMessage = 'no fb sdk available';\n logger.debug(errorMessage);\n return Promise.reject(new NonRetryableError(errorMessage));\n }\n return new Promise(function (res, rej) {\n fb.getLoginStatus(function (fbResponse) {\n if (!fbResponse || !fbResponse.authResponse) {\n var errorMessage = 'no response from facebook when refreshing the jwt token';\n logger.debug(errorMessage);\n // There is no definitive indication for a network error in\n // fbResponse, so we are treating it as an invalid token.\n rej(new NonRetryableError(errorMessage));\n }\n else {\n var response = fbResponse.authResponse;\n var accessToken = response.accessToken, expiresIn = response.expiresIn;\n var date = new Date();\n var expires_at = expiresIn * 1000 + date.getTime();\n if (!accessToken) {\n var errorMessage = 'the jwtToken is undefined';\n logger.debug(errorMessage);\n rej(new NonRetryableError(errorMessage));\n }\n res({\n token: accessToken,\n expires_at: expires_at,\n });\n }\n }, { scope: 'public_profile,email' });\n });\n };\n return FacebookOAuth;\n}());\nexport { FacebookOAuth };\n//# sourceMappingURL=FacebookOAuth.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { GoogleOAuth as GoogleOAuthClass } from './GoogleOAuth';\nimport { FacebookOAuth as FacebookOAuthClass } from './FacebookOAuth';\nexport var GoogleOAuth = new GoogleOAuthClass();\nexport var FacebookOAuth = new FacebookOAuthClass();\n//# sourceMappingURL=index.js.map","import { __assign } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nvar logger = new Logger('Parser');\nexport var parseAWSExports = function (config) {\n var amplifyConfig = {};\n // Analytics\n if (config['aws_mobile_analytics_app_id']) {\n var Analytics = {\n AWSPinpoint: {\n appId: config['aws_mobile_analytics_app_id'],\n region: config['aws_mobile_analytics_app_region'],\n },\n };\n amplifyConfig.Analytics = Analytics;\n }\n // Auth\n if (config['aws_cognito_identity_pool_id'] || config['aws_user_pools_id']) {\n amplifyConfig.Auth = {\n userPoolId: config['aws_user_pools_id'],\n userPoolWebClientId: config['aws_user_pools_web_client_id'],\n region: config['aws_cognito_region'],\n identityPoolId: config['aws_cognito_identity_pool_id'],\n identityPoolRegion: config['aws_cognito_region'],\n mandatorySignIn: config['aws_mandatory_sign_in'] === 'enable',\n signUpVerificationMethod: config['aws_cognito_sign_up_verification_method'] || 'code',\n };\n }\n // Storage\n var storageConfig;\n if (config['aws_user_files_s3_bucket']) {\n storageConfig = {\n AWSS3: {\n bucket: config['aws_user_files_s3_bucket'],\n region: config['aws_user_files_s3_bucket_region'],\n dangerouslyConnectToHttpEndpointForTesting: config['aws_user_files_s3_dangerously_connect_to_http_endpoint_for_testing'],\n },\n };\n }\n else {\n storageConfig = config ? config.Storage || config : {};\n }\n // Logging\n if (config['Logging']) {\n amplifyConfig.Logging = __assign(__assign({}, config['Logging']), { region: config['aws_project_region'] });\n }\n // Geo\n if (config['geo']) {\n amplifyConfig.Geo = Object.assign({}, config.geo);\n if (config.geo['amazon_location_service']) {\n amplifyConfig.Geo = {\n AmazonLocationService: config.geo['amazon_location_service'],\n };\n }\n }\n amplifyConfig.Analytics = Object.assign({}, amplifyConfig.Analytics, config.Analytics);\n amplifyConfig.Auth = Object.assign({}, amplifyConfig.Auth, config.Auth);\n amplifyConfig.Storage = Object.assign({}, storageConfig);\n amplifyConfig.Logging = Object.assign({}, amplifyConfig.Logging, config.Logging);\n logger.debug('parse config', config, 'to amplifyconfig', amplifyConfig);\n return amplifyConfig;\n};\n//# sourceMappingURL=parseAWSExports.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nimport { StorageHelper } from './StorageHelper';\nimport { makeQuerablePromise } from './JS';\nimport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nimport { jitteredExponentialRetry } from './Util';\nimport { getAmplifyUserAgent } from './Platform';\nimport { Amplify } from './Amplify';\nimport { fromCognitoIdentity, fromCognitoIdentityPool, } from '@aws-sdk/credential-provider-cognito-identity';\nimport { CognitoIdentityClient, GetIdCommand, GetCredentialsForIdentityCommand, } from '@aws-sdk/client-cognito-identity';\nimport { parseAWSExports } from './parseAWSExports';\nimport { Hub } from './Hub';\nvar logger = new Logger('Credentials');\nvar CREDENTIALS_TTL = 50 * 60 * 1000; // 50 min, can be modified on config if required in the future\nvar COGNITO_IDENTITY_KEY_PREFIX = 'CognitoIdentityId-';\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchCredentialsEvent = function (event, data, message) {\n Hub.dispatch('core', { event: event, data: data, message: message }, 'Credentials', AMPLIFY_SYMBOL);\n};\nvar CredentialsClass = /** @class */ (function () {\n function CredentialsClass(config) {\n this._gettingCredPromise = null;\n this._refreshHandlers = {};\n // Allow `Auth` to be injected for SSR, but Auth isn't a required dependency for Credentials\n this.Auth = undefined;\n this.configure(config);\n this._refreshHandlers['google'] = GoogleOAuth.refreshGoogleToken;\n this._refreshHandlers['facebook'] = FacebookOAuth.refreshFacebookToken;\n }\n CredentialsClass.prototype.getModuleName = function () {\n return 'Credentials';\n };\n CredentialsClass.prototype.getCredSource = function () {\n return this._credentials_source;\n };\n CredentialsClass.prototype.configure = function (config) {\n if (!config)\n return this._config || {};\n this._config = Object.assign({}, this._config, config);\n var refreshHandlers = this._config.refreshHandlers;\n // If the developer has provided an object of refresh handlers,\n // then we can merge the provided handlers with the current handlers.\n if (refreshHandlers) {\n this._refreshHandlers = __assign(__assign({}, this._refreshHandlers), refreshHandlers);\n }\n this._storage = this._config.storage;\n if (!this._storage) {\n this._storage = new StorageHelper().getStorage();\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n dispatchCredentialsEvent('credentials_configured', null, \"Credentials has been configured successfully\");\n return this._config;\n };\n CredentialsClass.prototype.get = function () {\n logger.debug('getting credentials');\n return this._pickupCredentials();\n };\n // currently we only store the guest identity in local storage\n CredentialsClass.prototype._getCognitoIdentityIdStorageKey = function (identityPoolId) {\n return \"\" + COGNITO_IDENTITY_KEY_PREFIX + identityPoolId;\n };\n CredentialsClass.prototype._pickupCredentials = function () {\n logger.debug('picking up credentials');\n if (!this._gettingCredPromise || !this._gettingCredPromise.isPending()) {\n logger.debug('getting new cred promise');\n this._gettingCredPromise = makeQuerablePromise(this._keepAlive());\n }\n else {\n logger.debug('getting old cred promise');\n }\n return this._gettingCredPromise;\n };\n CredentialsClass.prototype._keepAlive = function () {\n return __awaiter(this, void 0, void 0, function () {\n var cred, _a, Auth, user_1, session, refreshToken_1, refreshRequest, err_1;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug('checking if credentials exists and not expired');\n cred = this._credentials;\n if (cred && !this._isExpired(cred) && !this._isPastTTL()) {\n logger.debug('credentials not changed and not expired, directly return');\n return [2 /*return*/, Promise.resolve(cred)];\n }\n logger.debug('need to get a new credential or refresh the existing one');\n _a = this.Auth, Auth = _a === void 0 ? Amplify.Auth : _a;\n if (!Auth || typeof Auth.currentUserCredentials !== 'function') {\n // If Auth module is not imported, do a best effort to get guest credentials\n return [2 /*return*/, this._setCredentialsForGuest()];\n }\n if (!(!this._isExpired(cred) && this._isPastTTL())) return [3 /*break*/, 6];\n logger.debug('ttl has passed but token is not yet expired');\n _b.label = 1;\n case 1:\n _b.trys.push([1, 5, , 6]);\n return [4 /*yield*/, Auth.currentUserPoolUser()];\n case 2:\n user_1 = _b.sent();\n return [4 /*yield*/, Auth.currentSession()];\n case 3:\n session = _b.sent();\n refreshToken_1 = session.refreshToken;\n refreshRequest = new Promise(function (res, rej) {\n user_1.refreshSession(refreshToken_1, function (err, data) {\n return err ? rej(err) : res(data);\n });\n });\n return [4 /*yield*/, refreshRequest];\n case 4:\n _b.sent(); // note that rejections will be caught and handled in the catch block.\n return [3 /*break*/, 6];\n case 5:\n err_1 = _b.sent();\n // should not throw because user might just be on guest access or is authenticated through federation\n logger.debug('Error attempting to refreshing the session', err_1);\n return [3 /*break*/, 6];\n case 6: return [2 /*return*/, Auth.currentUserCredentials()];\n }\n });\n });\n };\n CredentialsClass.prototype.refreshFederatedToken = function (federatedInfo) {\n logger.debug('Getting federated credentials');\n var provider = federatedInfo.provider, user = federatedInfo.user, token = federatedInfo.token, identity_id = federatedInfo.identity_id;\n var expires_at = federatedInfo.expires_at;\n // Make sure expires_at is in millis\n expires_at =\n new Date(expires_at).getFullYear() === 1970\n ? expires_at * 1000\n : expires_at;\n var that = this;\n logger.debug('checking if federated jwt token expired');\n if (expires_at > new Date().getTime()) {\n // if not expired\n logger.debug('token not expired');\n return this._setCredentialsFromFederation({\n provider: provider,\n token: token,\n user: user,\n identity_id: identity_id,\n expires_at: expires_at,\n });\n }\n else {\n // if refresh handler exists\n if (that._refreshHandlers[provider] &&\n typeof that._refreshHandlers[provider] === 'function') {\n logger.debug('getting refreshed jwt token from federation provider');\n return this._providerRefreshWithRetry({\n refreshHandler: that._refreshHandlers[provider],\n provider: provider,\n user: user,\n });\n }\n else {\n logger.debug('no refresh handler for provider:', provider);\n this.clear();\n return Promise.reject('no refresh handler for provider');\n }\n }\n };\n CredentialsClass.prototype._providerRefreshWithRetry = function (_a) {\n var _this = this;\n var refreshHandler = _a.refreshHandler, provider = _a.provider, user = _a.user;\n var MAX_DELAY_MS = 10 * 1000;\n // refreshHandler will retry network errors, otherwise it will\n // return NonRetryableError to break out of jitteredExponentialRetry\n return jitteredExponentialRetry(refreshHandler, [], MAX_DELAY_MS)\n .then(function (data) {\n logger.debug('refresh federated token sucessfully', data);\n return _this._setCredentialsFromFederation({\n provider: provider,\n token: data.token,\n user: user,\n identity_id: data.identity_id,\n expires_at: data.expires_at,\n });\n })\n .catch(function (e) {\n var isNetworkError = typeof e === 'string' &&\n e.toLowerCase().lastIndexOf('network error', e.length) === 0;\n if (!isNetworkError) {\n _this.clear();\n }\n logger.debug('refresh federated token failed', e);\n return Promise.reject('refreshing federation token failed: ' + e);\n });\n };\n CredentialsClass.prototype._isExpired = function (credentials) {\n if (!credentials) {\n logger.debug('no credentials for expiration check');\n return true;\n }\n logger.debug('are these credentials expired?', credentials);\n var ts = Date.now();\n /* returns date object.\n https://github.com/aws/aws-sdk-js-v3/blob/v1.0.0-beta.1/packages/types/src/credentials.ts#L26\n */\n var expiration = credentials.expiration;\n return expiration.getTime() <= ts;\n };\n CredentialsClass.prototype._isPastTTL = function () {\n return this._nextCredentialsRefresh <= Date.now();\n };\n CredentialsClass.prototype._setCredentialsForGuest = function () {\n var _a;\n return __awaiter(this, void 0, void 0, function () {\n var _b, identityPoolId, region, mandatorySignIn, identityPoolRegion, identityId, _c, cognitoClient, credentials, cognitoIdentityParams, credentialsProvider;\n var _this = this;\n return __generator(this, function (_d) {\n switch (_d.label) {\n case 0:\n logger.debug('setting credentials for guest');\n if (!((_a = this._config) === null || _a === void 0 ? void 0 : _a.identityPoolId)) {\n // If Credentials are not configured thru Auth module,\n // doing best effort to check if the library was configured\n this._config = Object.assign({}, this._config, parseAWSExports(this._config || {}).Auth);\n }\n _b = this._config, identityPoolId = _b.identityPoolId, region = _b.region, mandatorySignIn = _b.mandatorySignIn, identityPoolRegion = _b.identityPoolRegion;\n if (mandatorySignIn) {\n return [2 /*return*/, Promise.reject('cannot get guest credentials when mandatory signin enabled')];\n }\n if (!identityPoolId) {\n logger.debug('No Cognito Identity pool provided for unauthenticated access');\n return [2 /*return*/, Promise.reject('No Cognito Identity pool provided for unauthenticated access')];\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return [2 /*return*/, Promise.reject('region is not configured for getting the credentials')];\n }\n _c = this;\n return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n identityId = (_c._identityId = _d.sent());\n cognitoClient = new CognitoIdentityClient({\n region: identityPoolRegion || region,\n customUserAgent: getAmplifyUserAgent(),\n });\n credentials = undefined;\n if (identityId) {\n cognitoIdentityParams = {\n identityId: identityId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n }\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)\n .then(function (res) {\n return res;\n })\n .catch(function (e) { return __awaiter(_this, void 0, void 0, function () {\n var credentialsProvider;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(e.name === 'ResourceNotFoundException' &&\n e.message === \"Identity '\" + identityId + \"' not found.\")) return [3 /*break*/, 2];\n logger.debug('Failed to load guest credentials');\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 1:\n _a.sent();\n credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var IdentityId, cognitoIdentityParams, credentialsFromCognitoIdentity;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n }))];\n case 1:\n IdentityId = (_a.sent()).IdentityId;\n this._identityId = IdentityId;\n cognitoIdentityParams = {\n client: cognitoClient,\n identityId: IdentityId,\n };\n credentialsFromCognitoIdentity = fromCognitoIdentity(cognitoIdentityParams);\n return [2 /*return*/, credentialsFromCognitoIdentity()];\n }\n });\n }); };\n credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return [2 /*return*/, this._loadCredentials(credentials, 'guest', false, null)];\n case 2: return [2 /*return*/, e];\n }\n });\n }); })];\n }\n });\n });\n };\n CredentialsClass.prototype._setCredentialsFromFederation = function (params) {\n var provider = params.provider, token = params.token, identity_id = params.identity_id;\n var domains = {\n google: 'accounts.google.com',\n facebook: 'graph.facebook.com',\n amazon: 'www.amazon.com',\n developer: 'cognito-identity.amazonaws.com',\n };\n // Use custom provider url instead of the predefined ones\n var domain = domains[provider] || provider;\n if (!domain) {\n return Promise.reject('You must specify a federated provider');\n }\n var logins = {};\n logins[domain] = token;\n var _a = this._config, identityPoolId = _a.identityPoolId, region = _a.region, identityPoolRegion = _a.identityPoolRegion;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var cognitoClient = new CognitoIdentityClient({\n region: identityPoolRegion || region,\n customUserAgent: getAmplifyUserAgent(),\n });\n var credentials = undefined;\n if (identity_id) {\n var cognitoIdentityParams = {\n identityId: identity_id,\n logins: logins,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentity(cognitoIdentityParams)();\n }\n else {\n var cognitoIdentityParams = {\n logins: logins,\n identityPoolId: identityPoolId,\n client: cognitoClient,\n };\n credentials = fromCognitoIdentityPool(cognitoIdentityParams)();\n }\n return this._loadCredentials(credentials, 'federated', true, params);\n };\n CredentialsClass.prototype._setCredentialsFromSession = function (session) {\n var _this = this;\n logger.debug('set credentials from session');\n var idToken = session.getIdToken().getJwtToken();\n var _a = this._config, region = _a.region, userPoolId = _a.userPoolId, identityPoolId = _a.identityPoolId, identityPoolRegion = _a.identityPoolRegion;\n if (!identityPoolId) {\n logger.debug('No Cognito Federated Identity pool provided');\n return Promise.reject('No Cognito Federated Identity pool provided');\n }\n if (!identityPoolRegion && !region) {\n logger.debug('region is not configured for getting the credentials');\n return Promise.reject('region is not configured for getting the credentials');\n }\n var key = 'cognito-idp.' + region + '.amazonaws.com/' + userPoolId;\n var logins = {};\n logins[key] = idToken;\n var cognitoClient = new CognitoIdentityClient({\n region: identityPoolRegion || region,\n customUserAgent: getAmplifyUserAgent(),\n });\n /*\n Retreiving identityId with GetIdCommand to mimic the behavior in the following code in aws-sdk-v3:\n https://git.io/JeDxU\n\n Note: Retreive identityId from CredentialsProvider once aws-sdk-js v3 supports this.\n */\n var credentialsProvider = function () { return __awaiter(_this, void 0, void 0, function () {\n var guestIdentityId, generatedOrRetrievedIdentityId, IdentityId, _a, _b, AccessKeyId, Expiration, SecretKey, SessionToken, primaryIdentityId;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0: return [4 /*yield*/, this._getGuestIdentityId()];\n case 1:\n guestIdentityId = _c.sent();\n if (!!guestIdentityId) return [3 /*break*/, 3];\n return [4 /*yield*/, cognitoClient.send(new GetIdCommand({\n IdentityPoolId: identityPoolId,\n Logins: logins,\n }))];\n case 2:\n IdentityId = (_c.sent()).IdentityId;\n generatedOrRetrievedIdentityId = IdentityId;\n _c.label = 3;\n case 3: return [4 /*yield*/, cognitoClient.send(new GetCredentialsForIdentityCommand({\n IdentityId: guestIdentityId || generatedOrRetrievedIdentityId,\n Logins: logins,\n }))];\n case 4:\n _a = _c.sent(), _b = _a.Credentials, AccessKeyId = _b.AccessKeyId, Expiration = _b.Expiration, SecretKey = _b.SecretKey, SessionToken = _b.SessionToken, primaryIdentityId = _a.IdentityId;\n this._identityId = primaryIdentityId;\n if (!guestIdentityId) return [3 /*break*/, 6];\n // if guestIdentity is found and used by GetCredentialsForIdentity\n // it will be linked to the logins provided, and disqualified as an unauth identity\n logger.debug(\"The guest identity \" + guestIdentityId + \" has been successfully linked to the logins\");\n if (guestIdentityId === primaryIdentityId) {\n logger.debug(\"The guest identity \" + guestIdentityId + \" has become the primary identity\");\n }\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n return [4 /*yield*/, this._removeGuestIdentityId()];\n case 5:\n // remove it from local storage to avoid being used as a guest Identity by _setCredentialsForGuest\n _c.sent();\n _c.label = 6;\n case 6: \n // https://github.com/aws/aws-sdk-js-v3/blob/main/packages/credential-provider-cognito-identity/src/fromCognitoIdentity.ts#L40\n return [2 /*return*/, {\n accessKeyId: AccessKeyId,\n secretAccessKey: SecretKey,\n sessionToken: SessionToken,\n expiration: Expiration,\n identityId: primaryIdentityId,\n }];\n }\n });\n }); };\n var credentials = credentialsProvider().catch(function (err) { return __awaiter(_this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw err;\n });\n }); });\n return this._loadCredentials(credentials, 'userPool', true, null);\n };\n CredentialsClass.prototype._loadCredentials = function (credentials, source, authenticated, info) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n credentials\n .then(function (credentials) { return __awaiter(_this, void 0, void 0, function () {\n var user, provider, token, expires_at, identity_id;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Load credentials successfully', credentials);\n if (this._identityId && !credentials.identityId) {\n credentials['identityId'] = this._identityId;\n }\n that._credentials = credentials;\n that._credentials.authenticated = authenticated;\n that._credentials_source = source;\n that._nextCredentialsRefresh = new Date().getTime() + CREDENTIALS_TTL;\n if (source === 'federated') {\n user = Object.assign({ id: this._credentials.identityId }, info.user);\n provider = info.provider, token = info.token, expires_at = info.expires_at, identity_id = info.identity_id;\n try {\n this._storage.setItem('aws-amplify-federatedInfo', JSON.stringify({\n provider: provider,\n token: token,\n user: user,\n expires_at: expires_at,\n identity_id: identity_id,\n }));\n }\n catch (e) {\n logger.debug('Failed to put federated info into auth storage', e);\n }\n }\n if (!(source === 'guest')) return [3 /*break*/, 2];\n return [4 /*yield*/, this._setGuestIdentityId(credentials.identityId)];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2:\n res(that._credentials);\n return [2 /*return*/];\n }\n });\n }); })\n .catch(function (err) {\n if (err) {\n logger.debug('Failed to load credentials', credentials);\n logger.debug('Error loading credentials', err);\n rej(err);\n return;\n }\n });\n });\n };\n CredentialsClass.prototype.set = function (params, source) {\n if (source === 'session') {\n return this._setCredentialsFromSession(params);\n }\n else if (source === 'federation') {\n return this._setCredentialsFromFederation(params);\n }\n else if (source === 'guest') {\n return this._setCredentialsForGuest();\n }\n else {\n logger.debug('no source specified for setting credentials');\n return Promise.reject('invalid source');\n }\n };\n CredentialsClass.prototype.clear = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n this._credentials = null;\n this._credentials_source = null;\n logger.debug('removing aws-amplify-federatedInfo from storage');\n this._storage.removeItem('aws-amplify-federatedInfo');\n return [2 /*return*/];\n });\n });\n };\n /* operations on local stored guest identity */\n CredentialsClass.prototype._getGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [2 /*return*/, this._storage.getItem(this._getCognitoIdentityIdStorageKey(identityPoolId))];\n case 3:\n e_1 = _a.sent();\n logger.debug('Failed to get the cached guest identityId', e_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._setGuestIdentityId = function (identityId) {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n identityPoolId = this._config.identityPoolId;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n this._storage.setItem(this._getCognitoIdentityIdStorageKey(identityPoolId), identityId);\n return [3 /*break*/, 4];\n case 3:\n e_2 = _a.sent();\n logger.debug('Failed to cache guest identityId', e_2);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n CredentialsClass.prototype._removeGuestIdentityId = function () {\n return __awaiter(this, void 0, void 0, function () {\n var identityPoolId;\n return __generator(this, function (_a) {\n identityPoolId = this._config.identityPoolId;\n logger.debug(\"removing \" + this._getCognitoIdentityIdStorageKey(identityPoolId) + \" from storage\");\n this._storage.removeItem(this._getCognitoIdentityIdStorageKey(identityPoolId));\n return [2 /*return*/];\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n CredentialsClass.prototype.shear = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n return CredentialsClass;\n}());\nexport { CredentialsClass };\nexport var Credentials = new CredentialsClass(null);\nAmplify.register(Credentials);\n//# sourceMappingURL=Credentials.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Amplify } from './Amplify';\nimport { Platform } from './Platform';\nexport { Amplify } from './Amplify';\nexport { AmplifyClass } from './Amplify';\nexport { ClientDevice } from './ClientDevice';\nexport { ConsoleLogger, ConsoleLogger as Logger } from './Logger';\nexport { invalidParameter, missingConfig } from './Errors';\nexport { Hub } from './Hub';\nexport { I18n } from './I18n';\nexport { browserOrNode, filenameToContentType, generateRandomString, isEmpty, isStrictObject, isTextFile, isWebWorker, makeQuerablePromise, objectLessAttributes, sortByField, transferKeyToLowerCase, transferKeyToUpperCase, } from './JS';\nexport { Signer } from './Signer';\nexport { parseAWSExports } from './parseAWSExports';\nexport { AWSCloudWatchProvider } from './Providers';\nexport { FacebookOAuth, GoogleOAuth } from './OAuthHelper';\nexport { AppState, AsyncStorage, Linking } from './RNComponents';\nexport { Credentials, CredentialsClass } from './Credentials';\nexport { ServiceWorker } from './ServiceWorker';\nexport { StorageHelper, MemoryStorage } from './StorageHelper';\nexport { UniversalStorage } from './UniversalStorage';\nexport { Platform, getAmplifyUserAgent } from './Platform';\nexport { INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER, INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER, USER_AGENT_HEADER, } from './constants';\nexport var Constants = {\n userAgent: Platform.userAgent,\n};\nexport { AWS_CLOUDWATCH_BASE_BUFFER_SIZE, AWS_CLOUDWATCH_CATEGORY, AWS_CLOUDWATCH_MAX_BATCH_EVENT_SIZE, AWS_CLOUDWATCH_MAX_EVENT_SIZE, AWS_CLOUDWATCH_PROVIDER_NAME, BackgroundManagerNotOpenError, BackgroundProcessManager, BackgroundProcessManagerState, DateUtils, Mutex, NO_CREDS_ERROR_STRING, NonRetryableError, RETRY_ERROR_CODES, Reachability, isNonRetryableError, jitteredBackoff, jitteredExponentialRetry, retry, urlSafeDecode, urlSafeEncode, } from './Util';\n/**\n * @deprecated use named import\n */\nexport default Amplify;\n//# sourceMappingURL=index.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var CognitoHostedUIIdentityProvider;\n(function (CognitoHostedUIIdentityProvider) {\n CognitoHostedUIIdentityProvider[\"Cognito\"] = \"COGNITO\";\n CognitoHostedUIIdentityProvider[\"Google\"] = \"Google\";\n CognitoHostedUIIdentityProvider[\"Facebook\"] = \"Facebook\";\n CognitoHostedUIIdentityProvider[\"Amazon\"] = \"LoginWithAmazon\";\n CognitoHostedUIIdentityProvider[\"Apple\"] = \"SignInWithApple\";\n})(CognitoHostedUIIdentityProvider || (CognitoHostedUIIdentityProvider = {}));\nexport function isFederatedSignInOptions(obj) {\n var keys = ['provider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isFederatedSignInOptionsCustom(obj) {\n var keys = ['customProvider'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function hasCustomState(obj) {\n var keys = ['customState'];\n return obj && !!keys.find(function (k) { return obj.hasOwnProperty(k); });\n}\nexport function isCognitoHostedOpts(oauth) {\n return oauth.redirectSignIn !== undefined;\n}\nexport var AuthErrorTypes;\n(function (AuthErrorTypes) {\n AuthErrorTypes[\"NoConfig\"] = \"noConfig\";\n AuthErrorTypes[\"MissingAuthConfig\"] = \"missingAuthConfig\";\n AuthErrorTypes[\"EmptyUsername\"] = \"emptyUsername\";\n AuthErrorTypes[\"InvalidUsername\"] = \"invalidUsername\";\n AuthErrorTypes[\"EmptyPassword\"] = \"emptyPassword\";\n AuthErrorTypes[\"EmptyCode\"] = \"emptyCode\";\n AuthErrorTypes[\"SignUpError\"] = \"signUpError\";\n AuthErrorTypes[\"NoMFA\"] = \"noMFA\";\n AuthErrorTypes[\"InvalidMFA\"] = \"invalidMFA\";\n AuthErrorTypes[\"EmptyChallengeResponse\"] = \"emptyChallengeResponse\";\n AuthErrorTypes[\"NoUserSession\"] = \"noUserSession\";\n AuthErrorTypes[\"Default\"] = \"default\";\n AuthErrorTypes[\"DeviceConfig\"] = \"deviceConfig\";\n AuthErrorTypes[\"NetworkError\"] = \"networkError\";\n AuthErrorTypes[\"AutoSignInError\"] = \"autoSignInError\";\n})(AuthErrorTypes || (AuthErrorTypes = {}));\nexport function isUsernamePasswordOpts(obj) {\n return !!obj.username;\n}\nexport var GRAPHQL_AUTH_MODE;\n(function (GRAPHQL_AUTH_MODE) {\n GRAPHQL_AUTH_MODE[\"API_KEY\"] = \"API_KEY\";\n GRAPHQL_AUTH_MODE[\"AWS_IAM\"] = \"AWS_IAM\";\n GRAPHQL_AUTH_MODE[\"OPENID_CONNECT\"] = \"OPENID_CONNECT\";\n GRAPHQL_AUTH_MODE[\"AMAZON_COGNITO_USER_POOLS\"] = \"AMAZON_COGNITO_USER_POOLS\";\n GRAPHQL_AUTH_MODE[\"AWS_LAMBDA\"] = \"AWS_LAMBDA\";\n})(GRAPHQL_AUTH_MODE || (GRAPHQL_AUTH_MODE = {}));\n//# sourceMappingURL=Auth.js.map","/**\n * Date & time utility functions to abstract the `aws-sdk` away from users.\n * (v2 => v3 modularization is a breaking change)\n *\n * @see https://github.com/aws/aws-sdk-js/blob/6edf586dcc1de7fe8fbfbbd9a0d2b1847921e6e1/lib/util.js#L262\n */\nimport { __read } from \"tslib\";\n// Comment - TODO: remove\nvar FIVE_MINUTES_IN_MS = 1000 * 60 * 5;\nexport var DateUtils = {\n /**\n * Milliseconds to offset the date to compensate for clock skew between device & services\n */\n clockOffset: 0,\n getDateWithClockOffset: function () {\n if (DateUtils.clockOffset) {\n return new Date(new Date().getTime() + DateUtils.clockOffset);\n }\n else {\n return new Date();\n }\n },\n /**\n * @returns {number} Clock offset in milliseconds\n */\n getClockOffset: function () {\n return DateUtils.clockOffset;\n },\n getHeaderStringFromDate: function (date) {\n if (date === void 0) { date = DateUtils.getDateWithClockOffset(); }\n return date.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n },\n getDateFromHeaderString: function (header) {\n var _a = __read(header.match(/^(\\d{4})(\\d{2})(\\d{2})T(\\d{2})(\\d{2})(\\d{2}).+/), 7), year = _a[1], month = _a[2], day = _a[3], hour = _a[4], minute = _a[5], second = _a[6];\n return new Date(Date.UTC(Number(year), Number(month) - 1, Number(day), Number(hour), Number(minute), Number(second)));\n },\n isClockSkewed: function (serverDate) {\n // API gateway permits client calls that are off by no more than ±5 minutes\n return (Math.abs(serverDate.getTime() - DateUtils.getDateWithClockOffset().getTime()) >= FIVE_MINUTES_IN_MS);\n },\n isClockSkewError: function (error) {\n if (!error.response || !error.response.headers) {\n return false;\n }\n var headers = error.response.headers;\n return Boolean(['BadRequestException', 'InvalidSignatureException'].includes(headers['x-amzn-errortype']) &&\n (headers.date || headers.Date));\n },\n /**\n * @param {number} offset Clock offset in milliseconds\n */\n setClockOffset: function (offset) {\n DateUtils.clockOffset = offset;\n },\n};\n//# sourceMappingURL=DateUtils.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __rest } from \"tslib\";\nimport { ConsoleLogger as Logger } from './Logger';\nimport { Sha256 as jsSha256 } from '@aws-crypto/sha256-js';\nimport { toHex } from '@aws-sdk/util-hex-encoding';\nimport { parse, format } from 'url';\nimport { DateUtils } from './Util';\nvar logger = new Logger('Signer');\nvar DEFAULT_ALGORITHM = 'AWS4-HMAC-SHA256';\nvar IOT_SERVICE_NAME = 'iotdevicegateway';\nvar encrypt = function (key, src) {\n var hash = new jsSha256(key);\n hash.update(src);\n return hash.digestSync();\n};\nvar hash = function (src) {\n var arg = src || '';\n var hash = new jsSha256();\n hash.update(arg);\n return toHex(hash.digestSync());\n};\n/**\n * @private\n * RFC 3986 compliant version of encodeURIComponent\n */\nvar escape_RFC3986 = function (component) {\n return component.replace(/[!'()*]/g, function (c) {\n return '%' + c.charCodeAt(0).toString(16).toUpperCase();\n });\n};\n/**\n * @private\n * Create canonical query string\n *\n */\nvar canonical_query = function (query) {\n if (!query || query.length === 0) {\n return '';\n }\n return query\n .split('&')\n .map(function (e) {\n var key_val = e.split('=');\n if (key_val.length === 1) {\n return e;\n }\n else {\n var reencoded_val = escape_RFC3986(key_val[1]);\n return key_val[0] + '=' + reencoded_val;\n }\n })\n .sort(function (a, b) {\n var key_a = a.split('=')[0];\n var key_b = b.split('=')[0];\n if (key_a === key_b) {\n return a < b ? -1 : 1;\n }\n else {\n return key_a < key_b ? -1 : 1;\n }\n })\n .join('&');\n};\n/**\n* @private\n* Create canonical headers\n*\n
\nCanonicalHeaders =\n    CanonicalHeadersEntry0 + CanonicalHeadersEntry1 + ... + CanonicalHeadersEntryN\nCanonicalHeadersEntry =\n    Lowercase(HeaderName) + ':' + Trimall(HeaderValue) + '\\n'\n
\n*/\nvar canonical_headers = function (headers) {\n if (!headers || Object.keys(headers).length === 0) {\n return '';\n }\n return (Object.keys(headers)\n .map(function (key) {\n return {\n key: key.toLowerCase(),\n value: headers[key] ? headers[key].trim().replace(/\\s+/g, ' ') : '',\n };\n })\n .sort(function (a, b) {\n return a.key < b.key ? -1 : 1;\n })\n .map(function (item) {\n return item.key + ':' + item.value;\n })\n .join('\\n') + '\\n');\n};\n/**\n * List of header keys included in the canonical headers.\n * @access private\n */\nvar signed_headers = function (headers) {\n return Object.keys(headers)\n .map(function (key) {\n return key.toLowerCase();\n })\n .sort()\n .join(';');\n};\n/**\n* @private\n* Create canonical request\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-canonical-request.html|Create a Canonical Request}\n*\n
\nCanonicalRequest =\n    HTTPRequestMethod + '\\n' +\n    CanonicalURI + '\\n' +\n    CanonicalQueryString + '\\n' +\n    CanonicalHeaders + '\\n' +\n    SignedHeaders + '\\n' +\n    HexEncode(Hash(RequestPayload))\n
\n*/\nvar canonical_request = function (request) {\n var url_info = parse(request.url);\n return [\n request.method || '/',\n encodeURIComponent(url_info.pathname).replace(/%2F/gi, '/'),\n canonical_query(url_info.query),\n canonical_headers(request.headers),\n signed_headers(request.headers),\n hash(request.data),\n ].join('\\n');\n};\nvar parse_service_info = function (request) {\n var url_info = parse(request.url), host = url_info.host;\n var matched = host.match(/([^\\.]+)\\.(?:([^\\.]*)\\.)?amazonaws\\.com$/);\n var parsed = (matched || []).slice(1, 3);\n if (parsed[1] === 'es') {\n // Elastic Search\n parsed = parsed.reverse();\n }\n return {\n service: request.service || parsed[0],\n region: request.region || parsed[1],\n };\n};\nvar credential_scope = function (d_str, region, service) {\n return [d_str, region, service, 'aws4_request'].join('/');\n};\n/**\n* @private\n* Create a string to sign\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-create-string-to-sign.html|Create String to Sign}\n*\n
\nStringToSign =\n    Algorithm + \\n +\n    RequestDateTime + \\n +\n    CredentialScope + \\n +\n    HashedCanonicalRequest\n
\n*/\nvar string_to_sign = function (algorithm, canonical_request, dt_str, scope) {\n return [algorithm, dt_str, scope, hash(canonical_request)].join('\\n');\n};\n/**\n* @private\n* Create signing key\n* Refer to\n* {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-calculate-signature.html|Calculate Signature}\n*\n
\nkSecret = your secret access key\nkDate = HMAC(\"AWS4\" + kSecret, Date)\nkRegion = HMAC(kDate, Region)\nkService = HMAC(kRegion, Service)\nkSigning = HMAC(kService, \"aws4_request\")\n
\n*/\nvar get_signing_key = function (secret_key, d_str, service_info) {\n logger.debug(service_info);\n var k = 'AWS4' + secret_key, k_date = encrypt(k, d_str), k_region = encrypt(k_date, service_info.region), k_service = encrypt(k_region, service_info.service), k_signing = encrypt(k_service, 'aws4_request');\n return k_signing;\n};\nvar get_signature = function (signing_key, str_to_sign) {\n return toHex(encrypt(signing_key, str_to_sign));\n};\n/**\n * @private\n * Create authorization header\n * Refer to\n * {@link http://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html|Add the Signing Information}\n */\nvar get_authorization_header = function (algorithm, access_key, scope, signed_headers, signature) {\n return [\n algorithm + ' ' + 'Credential=' + access_key + '/' + scope,\n 'SignedHeaders=' + signed_headers,\n 'Signature=' + signature,\n ].join(', ');\n};\nvar Signer = /** @class */ (function () {\n function Signer() {\n }\n /**\n * Sign a HTTP request, add 'Authorization' header to request param\n * @method sign\n * @memberof Signer\n * @static\n *\n * @param {object} request - HTTP request object\n
\n    request: {\n        method: GET | POST | PUT ...\n        url: ...,\n        headers: {\n            header1: ...\n        },\n        data: data\n    }\n    
\n * @param {object} access_info - AWS access credential info\n
\n    access_info: {\n        access_key: ...,\n        secret_key: ...,\n        session_token: ...\n    }\n    
\n * @param {object} [service_info] - AWS service type and region, optional,\n * if not provided then parse out from url\n
\n    service_info: {\n        service: ...,\n        region: ...\n    }\n    
\n *\n * @returns {object} Signed HTTP request\n */\n Signer.sign = function (request, access_info, service_info) {\n if (service_info === void 0) { service_info = null; }\n request.headers = request.headers || {};\n if (request.body && !request.data) {\n throw new Error('The attribute \"body\" was found on the request object. Please use the attribute \"data\" instead.');\n }\n // datetime string and date string\n var dt = DateUtils.getDateWithClockOffset(), dt_str = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, ''), d_str = dt_str.substr(0, 8);\n var url_info = parse(request.url);\n request.headers['host'] = url_info.host;\n request.headers['x-amz-date'] = dt_str;\n if (access_info.session_token) {\n request.headers['X-Amz-Security-Token'] = access_info.session_token;\n }\n // Task 1: Create a Canonical Request\n var request_str = canonical_request(request);\n logger.debug(request_str);\n // Task 2: Create a String to Sign\n var serviceInfo = service_info || parse_service_info(request), scope = credential_scope(d_str, serviceInfo.region, serviceInfo.service), str_to_sign = string_to_sign(DEFAULT_ALGORITHM, request_str, dt_str, scope);\n // Task 3: Calculate the Signature\n var signing_key = get_signing_key(access_info.secret_key, d_str, serviceInfo), signature = get_signature(signing_key, str_to_sign);\n // Task 4: Adding the Signing information to the Request\n var authorization_header = get_authorization_header(DEFAULT_ALGORITHM, access_info.access_key, scope, signed_headers(request.headers), signature);\n request.headers['Authorization'] = authorization_header;\n return request;\n };\n Signer.signUrl = function (urlOrRequest, accessInfo, serviceInfo, expiration) {\n var urlToSign = typeof urlOrRequest === 'object' ? urlOrRequest.url : urlOrRequest;\n var method = typeof urlOrRequest === 'object' ? urlOrRequest.method : 'GET';\n var body = typeof urlOrRequest === 'object' ? urlOrRequest.body : undefined;\n var now = DateUtils.getDateWithClockOffset()\n .toISOString()\n .replace(/[:\\-]|\\.\\d{3}/g, '');\n var today = now.substr(0, 8);\n // Intentionally discarding search\n var _a = parse(urlToSign, true, true), search = _a.search, parsedUrl = __rest(_a, [\"search\"]);\n var host = parsedUrl.host;\n var signedHeaders = { host: host };\n var _b = serviceInfo || parse_service_info({ url: format(parsedUrl) }), region = _b.region, service = _b.service;\n var credentialScope = credential_scope(today, region, service);\n // IoT service does not allow the session token in the canonical request\n // https://docs.aws.amazon.com/general/latest/gr/sigv4-add-signature-to-request.html\n var sessionTokenRequired = accessInfo.session_token && service !== IOT_SERVICE_NAME;\n var queryParams = __assign(__assign(__assign({ 'X-Amz-Algorithm': DEFAULT_ALGORITHM, 'X-Amz-Credential': [accessInfo.access_key, credentialScope].join('/'), 'X-Amz-Date': now.substr(0, 16) }, (sessionTokenRequired\n ? { 'X-Amz-Security-Token': \"\" + accessInfo.session_token }\n : {})), (expiration ? { 'X-Amz-Expires': \"\" + expiration } : {})), { 'X-Amz-SignedHeaders': Object.keys(signedHeaders).join(',') });\n var canonicalRequest = canonical_request({\n method: method,\n url: format(__assign(__assign({}, parsedUrl), { query: __assign(__assign({}, parsedUrl.query), queryParams) })),\n headers: signedHeaders,\n data: body,\n });\n var stringToSign = string_to_sign(DEFAULT_ALGORITHM, canonicalRequest, now, credentialScope);\n var signing_key = get_signing_key(accessInfo.secret_key, today, {\n region: region,\n service: service,\n });\n var signature = get_signature(signing_key, stringToSign);\n var additionalQueryParams = __assign({ 'X-Amz-Signature': signature }, (accessInfo.session_token && {\n 'X-Amz-Security-Token': accessInfo.session_token,\n }));\n var result = format({\n protocol: parsedUrl.protocol,\n slashes: true,\n hostname: parsedUrl.hostname,\n port: parsedUrl.port,\n pathname: parsedUrl.pathname,\n query: __assign(__assign(__assign({}, parsedUrl.query), queryParams), additionalQueryParams),\n });\n return result;\n };\n return Signer;\n}());\nexport { Signer };\n//# sourceMappingURL=Signer.js.map","import Cookies from 'universal-cookie';\nimport { browserOrNode } from '../JS';\nvar isBrowser = browserOrNode().isBrowser;\nvar UniversalStorage = /** @class */ (function () {\n function UniversalStorage(context) {\n if (context === void 0) { context = {}; }\n this.cookies = new Cookies();\n this.store = isBrowser ? window.localStorage : Object.create(null);\n this.cookies = context.req\n ? new Cookies(context.req.headers.cookie)\n : new Cookies();\n Object.assign(this.store, this.cookies.getAll());\n }\n Object.defineProperty(UniversalStorage.prototype, \"length\", {\n get: function () {\n return Object.entries(this.store).length;\n },\n enumerable: true,\n configurable: true\n });\n UniversalStorage.prototype.clear = function () {\n var _this = this;\n Array.from(new Array(this.length))\n .map(function (_, i) { return _this.key(i); })\n .forEach(function (key) { return _this.removeItem(key); });\n };\n UniversalStorage.prototype.getItem = function (key) {\n return this.getLocalItem(key);\n };\n UniversalStorage.prototype.getLocalItem = function (key) {\n return Object.prototype.hasOwnProperty.call(this.store, key)\n ? this.store[key]\n : null;\n };\n UniversalStorage.prototype.getUniversalItem = function (key) {\n return this.cookies.get(key);\n };\n UniversalStorage.prototype.key = function (index) {\n return Object.keys(this.store)[index];\n };\n UniversalStorage.prototype.removeItem = function (key) {\n this.removeLocalItem(key);\n this.removeUniversalItem(key);\n };\n UniversalStorage.prototype.removeLocalItem = function (key) {\n delete this.store[key];\n };\n UniversalStorage.prototype.removeUniversalItem = function (key) {\n this.cookies.remove(key, {\n path: '/',\n });\n };\n UniversalStorage.prototype.setItem = function (key, value) {\n this.setLocalItem(key, value);\n // keys take the shape:\n // 1. `${ProviderPrefix}.${userPoolClientId}.${username}.${tokenType}\n // 2. `${ProviderPrefix}.${userPoolClientId}.LastAuthUser\n var tokenType = key.split('.').pop();\n switch (tokenType) {\n // LastAuthUser is needed for computing other key names\n case 'LastAuthUser':\n // accessToken is required for CognitoUserSession\n case 'accessToken':\n // refreshToken originates on the client, but SSR pages won't fail when this expires\n // Note: the new `accessToken` will also be refreshed on the client (since Amplify doesn't set server-side cookies)\n case 'refreshToken':\n // Required for CognitoUserSession\n case 'idToken':\n isBrowser\n ? this.setUniversalItem(key, value)\n : this.setLocalItem(key, value);\n // userData is used when `Auth.currentAuthenticatedUser({ bypassCache: false })`.\n // Can be persisted to speed up calls to `Auth.currentAuthenticatedUser()`\n // case 'userData':\n // Ignoring clockDrift on the server for now, but needs testing\n // case 'clockDrift':\n }\n };\n UniversalStorage.prototype.setLocalItem = function (key, value) {\n this.store[key] = value;\n };\n UniversalStorage.prototype.setUniversalItem = function (key, value) {\n this.cookies.set(key, value, {\n path: '/',\n // `httpOnly` cannot be set via JavaScript: https://developer.mozilla.org/en-US/docs/Web/HTTP/Cookies#JavaScript_access_using_Document.cookie\n sameSite: true,\n // Allow unsecure requests to http://localhost:3000/ when in development.\n secure: window.location.hostname === 'localhost' ? false : true,\n });\n };\n return UniversalStorage;\n}());\nexport { UniversalStorage };\n//# sourceMappingURL=index.js.map","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar AuthenticationDetails = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationDetails object\n * @param {object=} data Creation options.\n * @param {string} data.Username User being authenticated.\n * @param {string} data.Password Plain-text password to authenticate with.\n * @param {(AttributeArg[])?} data.ValidationData Application extra metadata.\n * @param {(AttributeArg[])?} data.AuthParamaters Authentication paramaters for custom auth.\n */\n function AuthenticationDetails(data) {\n var _ref = data || {},\n ValidationData = _ref.ValidationData,\n Username = _ref.Username,\n Password = _ref.Password,\n AuthParameters = _ref.AuthParameters,\n ClientMetadata = _ref.ClientMetadata;\n this.validationData = ValidationData || {};\n this.authParameters = AuthParameters || {};\n this.clientMetadata = ClientMetadata || {};\n this.username = Username;\n this.password = Password;\n }\n\n /**\n * @returns {string} the record's username\n */\n var _proto = AuthenticationDetails.prototype;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {string} the record's password\n */;\n _proto.getPassword = function getPassword() {\n return this.password;\n }\n\n /**\n * @returns {Array} the record's validationData\n */;\n _proto.getValidationData = function getValidationData() {\n return this.validationData;\n }\n\n /**\n * @returns {Array} the record's authParameters\n */;\n _proto.getAuthParameters = function getAuthParameters() {\n return this.authParameters;\n }\n\n /**\n * @returns {ClientMetadata} the clientMetadata for a Lambda trigger\n */;\n _proto.getClientMetadata = function getClientMetadata() {\n return this.clientMetadata;\n };\n return AuthenticationDetails;\n}();\nexport { AuthenticationDetails as default };","var crypto;\n\n// Native crypto from window (Browser)\nif (typeof window !== 'undefined' && window.crypto) {\n crypto = window.crypto;\n}\n\n// Native (experimental IE 11) crypto from window (Browser)\nif (!crypto && typeof window !== 'undefined' && window.msCrypto) {\n crypto = window.msCrypto;\n}\n\n// Native crypto from global (NodeJS)\nif (!crypto && typeof global !== 'undefined' && global.crypto) {\n crypto = global.crypto;\n}\n\n// Native crypto import via require (NodeJS)\nif (!crypto && typeof require === 'function') {\n try {\n crypto = require('crypto');\n } catch (err) {}\n}\n\n/*\n * Cryptographically secure pseudorandom number generator\n * As Math.random() is cryptographically not safe to use\n */\nexport default function cryptoSecureRandomInt() {\n if (crypto) {\n // Use getRandomValues method (Browser)\n if (typeof crypto.getRandomValues === 'function') {\n try {\n return crypto.getRandomValues(new Uint32Array(1))[0];\n } catch (err) {}\n }\n\n // Use randomBytes method (NodeJS)\n if (typeof crypto.randomBytes === 'function') {\n try {\n return crypto.randomBytes(4).readInt32LE();\n } catch (err) {}\n }\n }\n throw new Error('Native crypto module could not be used to get secure random number.');\n}","import cryptoSecureRandomInt from './cryptoSecureRandomInt';\n\n/**\n * Hex encoding strategy.\n * Converts a word array to a hex string.\n * @param {WordArray} wordArray The word array.\n * @return {string} The hex string.\n * @static\n */\nfunction hexStringify(wordArray) {\n // Shortcuts\n var words = wordArray.words;\n var sigBytes = wordArray.sigBytes;\n\n // Convert\n var hexChars = [];\n for (var i = 0; i < sigBytes; i++) {\n var bite = words[i >>> 2] >>> 24 - i % 4 * 8 & 0xff;\n hexChars.push((bite >>> 4).toString(16));\n hexChars.push((bite & 0x0f).toString(16));\n }\n return hexChars.join('');\n}\nvar WordArray = /*#__PURE__*/function () {\n function WordArray(words, sigBytes) {\n words = this.words = words || [];\n if (sigBytes != undefined) {\n this.sigBytes = sigBytes;\n } else {\n this.sigBytes = words.length * 4;\n }\n }\n var _proto = WordArray.prototype;\n _proto.random = function random(nBytes) {\n var words = [];\n for (var i = 0; i < nBytes; i += 4) {\n words.push(cryptoSecureRandomInt());\n }\n return new WordArray(words, nBytes);\n };\n _proto.toString = function toString() {\n return hexStringify(this);\n };\n return WordArray;\n}();\nexport { WordArray as default };","// A small implementation of BigInteger based on http://www-cs-students.stanford.edu/~tjw/jsbn/\n//\n// All public methods have been removed except the following:\n// new BigInteger(a, b) (only radix 2, 4, 8, 16 and 32 supported)\n// toString (only radix 2, 4, 8, 16 and 32 supported)\n// negate\n// abs\n// compareTo\n// bitLength\n// mod\n// equals\n// add\n// subtract\n// multiply\n// divide\n// modPow\n\nexport default BigInteger;\n\n/*\n * Copyright (c) 2003-2005 Tom Wu\n * All Rights Reserved.\n *\n * Permission is hereby granted, free of charge, to any person obtaining\n * a copy of this software and associated documentation files (the\n * \"Software\"), to deal in the Software without restriction, including\n * without limitation the rights to use, copy, modify, merge, publish,\n * distribute, sublicense, and/or sell copies of the Software, and to\n * permit persons to whom the Software is furnished to do so, subject to\n * the following conditions:\n *\n * The above copyright notice and this permission notice shall be\n * included in all copies or substantial portions of the Software.\n *\n * THE SOFTWARE IS PROVIDED \"AS-IS\" AND WITHOUT WARRANTY OF ANY KIND,\n * EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY\n * WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.\n *\n * IN NO EVENT SHALL TOM WU BE LIABLE FOR ANY SPECIAL, INCIDENTAL,\n * INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER\n * RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF\n * THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT\n * OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.\n *\n * In addition, the following condition applies:\n *\n * All redistributions must retain an intact copy of this copyright notice\n * and disclaimer.\n */\n\n// (public) Constructor\nfunction BigInteger(a, b) {\n if (a != null) this.fromString(a, b);\n}\n\n// return new, unset BigInteger\nfunction nbi() {\n return new BigInteger(null);\n}\n\n// Bits per digit\nvar dbits;\n\n// JavaScript engine analysis\nvar canary = 0xdeadbeefcafe;\nvar j_lm = (canary & 0xffffff) == 0xefcafe;\n\n// am: Compute w_j += (x*this_i), propagate carries,\n// c is initial carry, returns final carry.\n// c < 3*dvalue, x < 2*dvalue, this_i < dvalue\n// We need to select the fastest one that works in this environment.\n\n// am1: use a single mult and divide to get the high bits,\n// max digit bits should be 26 because\n// max internal value = 2*dvalue^2-2*dvalue (< 2^53)\nfunction am1(i, x, w, j, c, n) {\n while (--n >= 0) {\n var v = x * this[i++] + w[j] + c;\n c = Math.floor(v / 0x4000000);\n w[j++] = v & 0x3ffffff;\n }\n return c;\n}\n// am2 avoids a big mult-and-extract completely.\n// Max digit bits should be <= 30 because we do bitwise ops\n// on values up to 2*hdvalue^2-hdvalue-1 (< 2^31)\nfunction am2(i, x, w, j, c, n) {\n var xl = x & 0x7fff,\n xh = x >> 15;\n while (--n >= 0) {\n var l = this[i] & 0x7fff;\n var h = this[i++] >> 15;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x7fff) << 15) + w[j] + (c & 0x3fffffff);\n c = (l >>> 30) + (m >>> 15) + xh * h + (c >>> 30);\n w[j++] = l & 0x3fffffff;\n }\n return c;\n}\n// Alternately, set max digit bits to 28 since some\n// browsers slow down when dealing with 32-bit numbers.\nfunction am3(i, x, w, j, c, n) {\n var xl = x & 0x3fff,\n xh = x >> 14;\n while (--n >= 0) {\n var l = this[i] & 0x3fff;\n var h = this[i++] >> 14;\n var m = xh * l + h * xl;\n l = xl * l + ((m & 0x3fff) << 14) + w[j] + c;\n c = (l >> 28) + (m >> 14) + xh * h;\n w[j++] = l & 0xfffffff;\n }\n return c;\n}\nvar inBrowser = typeof navigator !== 'undefined';\nif (inBrowser && j_lm && navigator.appName == 'Microsoft Internet Explorer') {\n BigInteger.prototype.am = am2;\n dbits = 30;\n} else if (inBrowser && j_lm && navigator.appName != 'Netscape') {\n BigInteger.prototype.am = am1;\n dbits = 26;\n} else {\n // Mozilla/Netscape seems to prefer am3\n BigInteger.prototype.am = am3;\n dbits = 28;\n}\nBigInteger.prototype.DB = dbits;\nBigInteger.prototype.DM = (1 << dbits) - 1;\nBigInteger.prototype.DV = 1 << dbits;\nvar BI_FP = 52;\nBigInteger.prototype.FV = Math.pow(2, BI_FP);\nBigInteger.prototype.F1 = BI_FP - dbits;\nBigInteger.prototype.F2 = 2 * dbits - BI_FP;\n\n// Digit conversions\nvar BI_RM = '0123456789abcdefghijklmnopqrstuvwxyz';\nvar BI_RC = new Array();\nvar rr, vv;\nrr = '0'.charCodeAt(0);\nfor (vv = 0; vv <= 9; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = 'a'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nrr = 'A'.charCodeAt(0);\nfor (vv = 10; vv < 36; ++vv) {\n BI_RC[rr++] = vv;\n}\nfunction int2char(n) {\n return BI_RM.charAt(n);\n}\nfunction intAt(s, i) {\n var c = BI_RC[s.charCodeAt(i)];\n return c == null ? -1 : c;\n}\n\n// (protected) copy this to r\nfunction bnpCopyTo(r) {\n for (var i = this.t - 1; i >= 0; --i) {\n r[i] = this[i];\n }\n r.t = this.t;\n r.s = this.s;\n}\n\n// (protected) set from integer value x, -DV <= x < DV\nfunction bnpFromInt(x) {\n this.t = 1;\n this.s = x < 0 ? -1 : 0;\n if (x > 0) this[0] = x;else if (x < -1) this[0] = x + this.DV;else this.t = 0;\n}\n\n// return bigint initialized to value\nfunction nbv(i) {\n var r = nbi();\n r.fromInt(i);\n return r;\n}\n\n// (protected) set from string and radix\nfunction bnpFromString(s, b) {\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n this.t = 0;\n this.s = 0;\n var i = s.length,\n mi = false,\n sh = 0;\n while (--i >= 0) {\n var x = intAt(s, i);\n if (x < 0) {\n if (s.charAt(i) == '-') mi = true;\n continue;\n }\n mi = false;\n if (sh == 0) this[this.t++] = x;else if (sh + k > this.DB) {\n this[this.t - 1] |= (x & (1 << this.DB - sh) - 1) << sh;\n this[this.t++] = x >> this.DB - sh;\n } else this[this.t - 1] |= x << sh;\n sh += k;\n if (sh >= this.DB) sh -= this.DB;\n }\n this.clamp();\n if (mi) BigInteger.ZERO.subTo(this, this);\n}\n\n// (protected) clamp off excess high words\nfunction bnpClamp() {\n var c = this.s & this.DM;\n while (this.t > 0 && this[this.t - 1] == c) {\n --this.t;\n }\n}\n\n// (public) return string representation in given radix\nfunction bnToString(b) {\n if (this.s < 0) return '-' + this.negate().toString(b);\n var k;\n if (b == 16) k = 4;else if (b == 8) k = 3;else if (b == 2) k = 1;else if (b == 32) k = 5;else if (b == 4) k = 2;else throw new Error('Only radix 2, 4, 8, 16, 32 are supported');\n var km = (1 << k) - 1,\n d,\n m = false,\n r = '',\n i = this.t;\n var p = this.DB - i * this.DB % k;\n if (i-- > 0) {\n if (p < this.DB && (d = this[i] >> p) > 0) {\n m = true;\n r = int2char(d);\n }\n while (i >= 0) {\n if (p < k) {\n d = (this[i] & (1 << p) - 1) << k - p;\n d |= this[--i] >> (p += this.DB - k);\n } else {\n d = this[i] >> (p -= k) & km;\n if (p <= 0) {\n p += this.DB;\n --i;\n }\n }\n if (d > 0) m = true;\n if (m) r += int2char(d);\n }\n }\n return m ? r : '0';\n}\n\n// (public) -this\nfunction bnNegate() {\n var r = nbi();\n BigInteger.ZERO.subTo(this, r);\n return r;\n}\n\n// (public) |this|\nfunction bnAbs() {\n return this.s < 0 ? this.negate() : this;\n}\n\n// (public) return + if this > a, - if this < a, 0 if equal\nfunction bnCompareTo(a) {\n var r = this.s - a.s;\n if (r != 0) return r;\n var i = this.t;\n r = i - a.t;\n if (r != 0) return this.s < 0 ? -r : r;\n while (--i >= 0) {\n if ((r = this[i] - a[i]) != 0) return r;\n }\n return 0;\n}\n\n// returns bit length of the integer x\nfunction nbits(x) {\n var r = 1,\n t;\n if ((t = x >>> 16) != 0) {\n x = t;\n r += 16;\n }\n if ((t = x >> 8) != 0) {\n x = t;\n r += 8;\n }\n if ((t = x >> 4) != 0) {\n x = t;\n r += 4;\n }\n if ((t = x >> 2) != 0) {\n x = t;\n r += 2;\n }\n if ((t = x >> 1) != 0) {\n x = t;\n r += 1;\n }\n return r;\n}\n\n// (public) return the number of bits in \"this\"\nfunction bnBitLength() {\n if (this.t <= 0) return 0;\n return this.DB * (this.t - 1) + nbits(this[this.t - 1] ^ this.s & this.DM);\n}\n\n// (protected) r = this << n*DB\nfunction bnpDLShiftTo(n, r) {\n var i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + n] = this[i];\n }\n for (i = n - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r.t = this.t + n;\n r.s = this.s;\n}\n\n// (protected) r = this >> n*DB\nfunction bnpDRShiftTo(n, r) {\n for (var i = n; i < this.t; ++i) {\n r[i - n] = this[i];\n }\n r.t = Math.max(this.t - n, 0);\n r.s = this.s;\n}\n\n// (protected) r = this << n\nfunction bnpLShiftTo(n, r) {\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << cbs) - 1;\n var ds = Math.floor(n / this.DB),\n c = this.s << bs & this.DM,\n i;\n for (i = this.t - 1; i >= 0; --i) {\n r[i + ds + 1] = this[i] >> cbs | c;\n c = (this[i] & bm) << bs;\n }\n for (i = ds - 1; i >= 0; --i) {\n r[i] = 0;\n }\n r[ds] = c;\n r.t = this.t + ds + 1;\n r.s = this.s;\n r.clamp();\n}\n\n// (protected) r = this >> n\nfunction bnpRShiftTo(n, r) {\n r.s = this.s;\n var ds = Math.floor(n / this.DB);\n if (ds >= this.t) {\n r.t = 0;\n return;\n }\n var bs = n % this.DB;\n var cbs = this.DB - bs;\n var bm = (1 << bs) - 1;\n r[0] = this[ds] >> bs;\n for (var i = ds + 1; i < this.t; ++i) {\n r[i - ds - 1] |= (this[i] & bm) << cbs;\n r[i - ds] = this[i] >> bs;\n }\n if (bs > 0) r[this.t - ds - 1] |= (this.s & bm) << cbs;\n r.t = this.t - ds;\n r.clamp();\n}\n\n// (protected) r = this - a\nfunction bnpSubTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] - a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c -= a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c -= a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c -= a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c < -1) r[i++] = this.DV + c;else if (c > 0) r[i++] = c;\n r.t = i;\n r.clamp();\n}\n\n// (protected) r = this * a, r != this,a (HAC 14.12)\n// \"this\" should be the larger one if appropriate.\nfunction bnpMultiplyTo(a, r) {\n var x = this.abs(),\n y = a.abs();\n var i = x.t;\n r.t = i + y.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < y.t; ++i) {\n r[i + x.t] = x.am(0, y[i], r, i, 0, x.t);\n }\n r.s = 0;\n r.clamp();\n if (this.s != a.s) BigInteger.ZERO.subTo(r, r);\n}\n\n// (protected) r = this^2, r != this (HAC 14.16)\nfunction bnpSquareTo(r) {\n var x = this.abs();\n var i = r.t = 2 * x.t;\n while (--i >= 0) {\n r[i] = 0;\n }\n for (i = 0; i < x.t - 1; ++i) {\n var c = x.am(i, x[i], r, 2 * i, 0, 1);\n if ((r[i + x.t] += x.am(i + 1, 2 * x[i], r, 2 * i + 1, c, x.t - i - 1)) >= x.DV) {\n r[i + x.t] -= x.DV;\n r[i + x.t + 1] = 1;\n }\n }\n if (r.t > 0) r[r.t - 1] += x.am(i, x[i], r, 2 * i, 0, 1);\n r.s = 0;\n r.clamp();\n}\n\n// (protected) divide this by m, quotient and remainder to q, r (HAC 14.20)\n// r != q, this != m. q or r may be null.\nfunction bnpDivRemTo(m, q, r) {\n var pm = m.abs();\n if (pm.t <= 0) return;\n var pt = this.abs();\n if (pt.t < pm.t) {\n if (q != null) q.fromInt(0);\n if (r != null) this.copyTo(r);\n return;\n }\n if (r == null) r = nbi();\n var y = nbi(),\n ts = this.s,\n ms = m.s;\n var nsh = this.DB - nbits(pm[pm.t - 1]);\n // normalize modulus\n if (nsh > 0) {\n pm.lShiftTo(nsh, y);\n pt.lShiftTo(nsh, r);\n } else {\n pm.copyTo(y);\n pt.copyTo(r);\n }\n var ys = y.t;\n var y0 = y[ys - 1];\n if (y0 == 0) return;\n var yt = y0 * (1 << this.F1) + (ys > 1 ? y[ys - 2] >> this.F2 : 0);\n var d1 = this.FV / yt,\n d2 = (1 << this.F1) / yt,\n e = 1 << this.F2;\n var i = r.t,\n j = i - ys,\n t = q == null ? nbi() : q;\n y.dlShiftTo(j, t);\n if (r.compareTo(t) >= 0) {\n r[r.t++] = 1;\n r.subTo(t, r);\n }\n BigInteger.ONE.dlShiftTo(ys, t);\n t.subTo(y, y);\n // \"negative\" y so we can replace sub with am later\n while (y.t < ys) {\n y[y.t++] = 0;\n }\n while (--j >= 0) {\n // Estimate quotient digit\n var qd = r[--i] == y0 ? this.DM : Math.floor(r[i] * d1 + (r[i - 1] + e) * d2);\n if ((r[i] += y.am(0, qd, r, j, 0, ys)) < qd) {\n // Try it out\n y.dlShiftTo(j, t);\n r.subTo(t, r);\n while (r[i] < --qd) {\n r.subTo(t, r);\n }\n }\n }\n if (q != null) {\n r.drShiftTo(ys, q);\n if (ts != ms) BigInteger.ZERO.subTo(q, q);\n }\n r.t = ys;\n r.clamp();\n if (nsh > 0) r.rShiftTo(nsh, r);\n // Denormalize remainder\n if (ts < 0) BigInteger.ZERO.subTo(r, r);\n}\n\n// (public) this mod a\nfunction bnMod(a) {\n var r = nbi();\n this.abs().divRemTo(a, null, r);\n if (this.s < 0 && r.compareTo(BigInteger.ZERO) > 0) a.subTo(r, r);\n return r;\n}\n\n// (protected) return \"-1/this % 2^DB\"; useful for Mont. reduction\n// justification:\n// xy == 1 (mod m)\n// xy = 1+km\n// xy(2-xy) = (1+km)(1-km)\n// x[y(2-xy)] = 1-k^2m^2\n// x[y(2-xy)] == 1 (mod m^2)\n// if y is 1/x mod m, then y(2-xy) is 1/x mod m^2\n// should reduce x and y(2-xy) by m^2 at each step to keep size bounded.\n// JS multiply \"overflows\" differently from C/C++, so care is needed here.\nfunction bnpInvDigit() {\n if (this.t < 1) return 0;\n var x = this[0];\n if ((x & 1) == 0) return 0;\n var y = x & 3;\n // y == 1/x mod 2^2\n y = y * (2 - (x & 0xf) * y) & 0xf;\n // y == 1/x mod 2^4\n y = y * (2 - (x & 0xff) * y) & 0xff;\n // y == 1/x mod 2^8\n y = y * (2 - ((x & 0xffff) * y & 0xffff)) & 0xffff;\n // y == 1/x mod 2^16\n // last step - calculate inverse mod DV directly;\n // assumes 16 < DB <= 32 and assumes ability to handle 48-bit ints\n y = y * (2 - x * y % this.DV) % this.DV;\n // y == 1/x mod 2^dbits\n // we really want the negative inverse, and -DV < y < DV\n return y > 0 ? this.DV - y : -y;\n}\nfunction bnEquals(a) {\n return this.compareTo(a) == 0;\n}\n\n// (protected) r = this + a\nfunction bnpAddTo(a, r) {\n var i = 0,\n c = 0,\n m = Math.min(a.t, this.t);\n while (i < m) {\n c += this[i] + a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n if (a.t < this.t) {\n c += a.s;\n while (i < this.t) {\n c += this[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += this.s;\n } else {\n c += this.s;\n while (i < a.t) {\n c += a[i];\n r[i++] = c & this.DM;\n c >>= this.DB;\n }\n c += a.s;\n }\n r.s = c < 0 ? -1 : 0;\n if (c > 0) r[i++] = c;else if (c < -1) r[i++] = this.DV + c;\n r.t = i;\n r.clamp();\n}\n\n// (public) this + a\nfunction bnAdd(a) {\n var r = nbi();\n this.addTo(a, r);\n return r;\n}\n\n// (public) this - a\nfunction bnSubtract(a) {\n var r = nbi();\n this.subTo(a, r);\n return r;\n}\n\n// (public) this * a\nfunction bnMultiply(a) {\n var r = nbi();\n this.multiplyTo(a, r);\n return r;\n}\n\n// (public) this / a\nfunction bnDivide(a) {\n var r = nbi();\n this.divRemTo(a, r, null);\n return r;\n}\n\n// Montgomery reduction\nfunction Montgomery(m) {\n this.m = m;\n this.mp = m.invDigit();\n this.mpl = this.mp & 0x7fff;\n this.mph = this.mp >> 15;\n this.um = (1 << m.DB - 15) - 1;\n this.mt2 = 2 * m.t;\n}\n\n// xR mod m\nfunction montConvert(x) {\n var r = nbi();\n x.abs().dlShiftTo(this.m.t, r);\n r.divRemTo(this.m, null, r);\n if (x.s < 0 && r.compareTo(BigInteger.ZERO) > 0) this.m.subTo(r, r);\n return r;\n}\n\n// x/R mod m\nfunction montRevert(x) {\n var r = nbi();\n x.copyTo(r);\n this.reduce(r);\n return r;\n}\n\n// x = x/R mod m (HAC 14.32)\nfunction montReduce(x) {\n while (x.t <= this.mt2) {\n // pad x so am has enough room later\n x[x.t++] = 0;\n }\n for (var i = 0; i < this.m.t; ++i) {\n // faster way of calculating u0 = x[i]*mp mod DV\n var j = x[i] & 0x7fff;\n var u0 = j * this.mpl + ((j * this.mph + (x[i] >> 15) * this.mpl & this.um) << 15) & x.DM;\n // use am to combine the multiply-shift-add into one call\n j = i + this.m.t;\n x[j] += this.m.am(0, u0, x, i, 0, this.m.t);\n // propagate carry\n while (x[j] >= x.DV) {\n x[j] -= x.DV;\n x[++j]++;\n }\n }\n x.clamp();\n x.drShiftTo(this.m.t, x);\n if (x.compareTo(this.m) >= 0) x.subTo(this.m, x);\n}\n\n// r = \"x^2/R mod m\"; x != r\nfunction montSqrTo(x, r) {\n x.squareTo(r);\n this.reduce(r);\n}\n\n// r = \"xy/R mod m\"; x,y != r\nfunction montMulTo(x, y, r) {\n x.multiplyTo(y, r);\n this.reduce(r);\n}\nMontgomery.prototype.convert = montConvert;\nMontgomery.prototype.revert = montRevert;\nMontgomery.prototype.reduce = montReduce;\nMontgomery.prototype.mulTo = montMulTo;\nMontgomery.prototype.sqrTo = montSqrTo;\n\n// (public) this^e % m (HAC 14.85)\nfunction bnModPow(e, m, callback) {\n var i = e.bitLength(),\n k,\n r = nbv(1),\n z = new Montgomery(m);\n if (i <= 0) return r;else if (i < 18) k = 1;else if (i < 48) k = 3;else if (i < 144) k = 4;else if (i < 768) k = 5;else k = 6;\n\n // precomputation\n var g = new Array(),\n n = 3,\n k1 = k - 1,\n km = (1 << k) - 1;\n g[1] = z.convert(this);\n if (k > 1) {\n var g2 = nbi();\n z.sqrTo(g[1], g2);\n while (n <= km) {\n g[n] = nbi();\n z.mulTo(g2, g[n - 2], g[n]);\n n += 2;\n }\n }\n var j = e.t - 1,\n w,\n is1 = true,\n r2 = nbi(),\n t;\n i = nbits(e[j]) - 1;\n while (j >= 0) {\n if (i >= k1) w = e[j] >> i - k1 & km;else {\n w = (e[j] & (1 << i + 1) - 1) << k1 - i;\n if (j > 0) w |= e[j - 1] >> this.DB + i - k1;\n }\n n = k;\n while ((w & 1) == 0) {\n w >>= 1;\n --n;\n }\n if ((i -= n) < 0) {\n i += this.DB;\n --j;\n }\n if (is1) {\n // ret == 1, don't bother squaring or multiplying it\n g[w].copyTo(r);\n is1 = false;\n } else {\n while (n > 1) {\n z.sqrTo(r, r2);\n z.sqrTo(r2, r);\n n -= 2;\n }\n if (n > 0) z.sqrTo(r, r2);else {\n t = r;\n r = r2;\n r2 = t;\n }\n z.mulTo(r2, g[w], r);\n }\n while (j >= 0 && (e[j] & 1 << i) == 0) {\n z.sqrTo(r, r2);\n t = r;\n r = r2;\n r2 = t;\n if (--i < 0) {\n i = this.DB - 1;\n --j;\n }\n }\n }\n var result = z.revert(r);\n callback(null, result);\n return result;\n}\n\n// protected\nBigInteger.prototype.copyTo = bnpCopyTo;\nBigInteger.prototype.fromInt = bnpFromInt;\nBigInteger.prototype.fromString = bnpFromString;\nBigInteger.prototype.clamp = bnpClamp;\nBigInteger.prototype.dlShiftTo = bnpDLShiftTo;\nBigInteger.prototype.drShiftTo = bnpDRShiftTo;\nBigInteger.prototype.lShiftTo = bnpLShiftTo;\nBigInteger.prototype.rShiftTo = bnpRShiftTo;\nBigInteger.prototype.subTo = bnpSubTo;\nBigInteger.prototype.multiplyTo = bnpMultiplyTo;\nBigInteger.prototype.squareTo = bnpSquareTo;\nBigInteger.prototype.divRemTo = bnpDivRemTo;\nBigInteger.prototype.invDigit = bnpInvDigit;\nBigInteger.prototype.addTo = bnpAddTo;\n\n// public\nBigInteger.prototype.toString = bnToString;\nBigInteger.prototype.negate = bnNegate;\nBigInteger.prototype.abs = bnAbs;\nBigInteger.prototype.compareTo = bnCompareTo;\nBigInteger.prototype.bitLength = bnBitLength;\nBigInteger.prototype.mod = bnMod;\nBigInteger.prototype.equals = bnEquals;\nBigInteger.prototype.add = bnAdd;\nBigInteger.prototype.subtract = bnSubtract;\nBigInteger.prototype.multiply = bnMultiply;\nBigInteger.prototype.divide = bnDivide;\nBigInteger.prototype.modPow = bnModPow;\n\n// \"constants\"\nBigInteger.ZERO = nbv(0);\nBigInteger.ONE = nbv(1);","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport WordArray from './utils/WordArray';\nimport { Sha256 } from '@aws-crypto/sha256-js';\n\n/**\n * Returns a Buffer with a sequence of random nBytes\n *\n * @param {number} nBytes\n * @returns {Buffer} fixed-length sequence of random bytes\n */\n\nfunction randomBytes(nBytes) {\n return Buffer.from(new WordArray().random(nBytes).toString(), 'hex');\n}\nimport BigInteger from './BigInteger';\n\n/**\n * Tests if a hex string has it most significant bit set (case-insensitive regex)\n */\nvar HEX_MSB_REGEX = /^[89a-f]/i;\nvar initN = 'FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1' + '29024E088A67CC74020BBEA63B139B22514A08798E3404DD' + 'EF9519B3CD3A431B302B0A6DF25F14374FE1356D6D51C245' + 'E485B576625E7EC6F44C42E9A637ED6B0BFF5CB6F406B7ED' + 'EE386BFB5A899FA5AE9F24117C4B1FE649286651ECE45B3D' + 'C2007CB8A163BF0598DA48361C55D39A69163FA8FD24CF5F' + '83655D23DCA3AD961C62F356208552BB9ED529077096966D' + '670C354E4ABC9804F1746C08CA18217C32905E462E36CE3B' + 'E39E772C180E86039B2783A2EC07A28FB5C55DF06F4C52C9' + 'DE2BCBF6955817183995497CEA956AE515D2261898FA0510' + '15728E5A8AAAC42DAD33170D04507A33A85521ABDF1CBA64' + 'ECFB850458DBEF0A8AEA71575D060C7DB3970F85A6E1E4C7' + 'ABF5AE8CDB0933D71E8C94E04A25619DCEE3D2261AD2EE6B' + 'F12FFA06D98A0864D87602733EC86A64521F2B18177B200C' + 'BBE117577A615D6C770988C0BAD946E208E24FA074E5AB31' + '43DB5BFCE0FD108E4B82D120A93AD2CAFFFFFFFFFFFFFFFF';\nvar newPasswordRequiredChallengeUserAttributePrefix = 'userAttributes.';\n\n/** @class */\nvar AuthenticationHelper = /*#__PURE__*/function () {\n /**\n * Constructs a new AuthenticationHelper object\n * @param {string} PoolName Cognito user pool name.\n */\n function AuthenticationHelper(PoolName) {\n this.N = new BigInteger(initN, 16);\n this.g = new BigInteger('2', 16);\n this.k = new BigInteger(this.hexHash(\"\" + this.padHex(this.N) + this.padHex(this.g)), 16);\n this.smallAValue = this.generateRandomSmallA();\n this.getLargeAValue(function () {});\n this.infoBits = Buffer.from('Caldera Derived Key', 'utf8');\n this.poolName = PoolName;\n }\n\n /**\n * @returns {BigInteger} small A, a random number\n */\n var _proto = AuthenticationHelper.prototype;\n _proto.getSmallAValue = function getSmallAValue() {\n return this.smallAValue;\n }\n\n /**\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n */;\n _proto.getLargeAValue = function getLargeAValue(callback) {\n var _this = this;\n if (this.largeAValue) {\n callback(null, this.largeAValue);\n } else {\n this.calculateA(this.smallAValue, function (err, largeAValue) {\n if (err) {\n callback(err, null);\n }\n _this.largeAValue = largeAValue;\n callback(null, _this.largeAValue);\n });\n }\n }\n\n /**\n * helper function to generate a random big integer\n * @returns {BigInteger} a random value.\n * @private\n */;\n _proto.generateRandomSmallA = function generateRandomSmallA() {\n // This will be interpreted as a postive 128-bit integer\n var hexRandom = randomBytes(128).toString('hex');\n var randomBigInt = new BigInteger(hexRandom, 16);\n\n // There is no need to do randomBigInt.mod(this.N - 1) as N (3072-bit) is > 128 bytes (1024-bit)\n\n return randomBigInt;\n }\n\n /**\n * helper function to generate a random string\n * @returns {string} a random value.\n * @private\n */;\n _proto.generateRandomString = function generateRandomString() {\n return randomBytes(40).toString('base64');\n }\n\n /**\n * @returns {string} Generated random value included in password hash.\n */;\n _proto.getRandomPassword = function getRandomPassword() {\n return this.randomPassword;\n }\n\n /**\n * @returns {string} Generated random value included in devices hash.\n */;\n _proto.getSaltDevices = function getSaltDevices() {\n return this.SaltToHashDevices;\n }\n\n /**\n * @returns {string} Value used to verify devices.\n */;\n _proto.getVerifierDevices = function getVerifierDevices() {\n return this.verifierDevices;\n }\n\n /**\n * Generate salts and compute verifier.\n * @param {string} deviceGroupKey Devices to generate verifier for.\n * @param {string} username User to generate verifier for.\n * @param {nodeCallback} callback Called with (err, null)\n * @returns {void}\n */;\n _proto.generateHashDevice = function generateHashDevice(deviceGroupKey, username, callback) {\n var _this2 = this;\n this.randomPassword = this.generateRandomString();\n var combinedString = \"\" + deviceGroupKey + username + \":\" + this.randomPassword;\n var hashedString = this.hash(combinedString);\n var hexRandom = randomBytes(16).toString('hex');\n\n // The random hex will be unambiguously represented as a postive integer\n this.SaltToHashDevices = this.padHex(new BigInteger(hexRandom, 16));\n this.g.modPow(new BigInteger(this.hexHash(this.SaltToHashDevices + hashedString), 16), this.N, function (err, verifierDevicesNotPadded) {\n if (err) {\n callback(err, null);\n }\n _this2.verifierDevices = _this2.padHex(verifierDevicesNotPadded);\n callback(null, null);\n });\n }\n\n /**\n * Calculate the client's public value A = g^a%N\n * with the generated random number a\n * @param {BigInteger} a Randomly generated small A.\n * @param {nodeCallback} callback Called with (err, largeAValue)\n * @returns {void}\n * @private\n */;\n _proto.calculateA = function calculateA(a, callback) {\n var _this3 = this;\n this.g.modPow(a, this.N, function (err, A) {\n if (err) {\n callback(err, null);\n }\n if (A.mod(_this3.N).equals(BigInteger.ZERO)) {\n callback(new Error('Illegal paramater. A mod N cannot be 0.'), null);\n }\n callback(null, A);\n });\n }\n\n /**\n * Calculate the client's value U which is the hash of A and B\n * @param {BigInteger} A Large A value.\n * @param {BigInteger} B Server B value.\n * @returns {BigInteger} Computed U value.\n * @private\n */;\n _proto.calculateU = function calculateU(A, B) {\n this.UHexHash = this.hexHash(this.padHex(A) + this.padHex(B));\n var finalU = new BigInteger(this.UHexHash, 16);\n return finalU;\n }\n\n /**\n * Calculate a hash from a bitArray\n * @param {Buffer} buf Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hash = function hash(buf) {\n var awsCryptoHash = new Sha256();\n awsCryptoHash.update(buf);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var hashHex = Buffer.from(resultFromAWSCrypto).toString('hex');\n return new Array(64 - hashHex.length).join('0') + hashHex;\n }\n\n /**\n * Calculate a hash from a hex string\n * @param {String} hexStr Value to hash.\n * @returns {String} Hex-encoded hash.\n * @private\n */;\n _proto.hexHash = function hexHash(hexStr) {\n return this.hash(Buffer.from(hexStr, 'hex'));\n }\n\n /**\n * Standard hkdf algorithm\n * @param {Buffer} ikm Input key material.\n * @param {Buffer} salt Salt value.\n * @returns {Buffer} Strong key material.\n * @private\n */;\n _proto.computehkdf = function computehkdf(ikm, salt) {\n var infoBitsBuffer = Buffer.concat([this.infoBits, Buffer.from(String.fromCharCode(1), 'utf8')]);\n var awsCryptoHash = new Sha256(salt);\n awsCryptoHash.update(ikm);\n var resultFromAWSCryptoPrk = awsCryptoHash.digestSync();\n var awsCryptoHashHmac = new Sha256(resultFromAWSCryptoPrk);\n awsCryptoHashHmac.update(infoBitsBuffer);\n var resultFromAWSCryptoHmac = awsCryptoHashHmac.digestSync();\n var hashHexFromAWSCrypto = resultFromAWSCryptoHmac;\n var currentHex = hashHexFromAWSCrypto.slice(0, 16);\n return currentHex;\n }\n\n /**\n * Calculates the final hkdf based on computed S value, and computed U value and the key\n * @param {String} username Username.\n * @param {String} password Password.\n * @param {BigInteger} serverBValue Server B value.\n * @param {BigInteger} salt Generated salt.\n * @param {nodeCallback} callback Called with (err, hkdfValue)\n * @returns {void}\n */;\n _proto.getPasswordAuthenticationKey = function getPasswordAuthenticationKey(username, password, serverBValue, salt, callback) {\n var _this4 = this;\n if (serverBValue.mod(this.N).equals(BigInteger.ZERO)) {\n throw new Error('B cannot be zero.');\n }\n this.UValue = this.calculateU(this.largeAValue, serverBValue);\n if (this.UValue.equals(BigInteger.ZERO)) {\n throw new Error('U cannot be zero.');\n }\n var usernamePassword = \"\" + this.poolName + username + \":\" + password;\n var usernamePasswordHash = this.hash(usernamePassword);\n var xValue = new BigInteger(this.hexHash(this.padHex(salt) + usernamePasswordHash), 16);\n this.calculateS(xValue, serverBValue, function (err, sValue) {\n if (err) {\n callback(err, null);\n }\n var hkdf = _this4.computehkdf(Buffer.from(_this4.padHex(sValue), 'hex'), Buffer.from(_this4.padHex(_this4.UValue), 'hex'));\n callback(null, hkdf);\n });\n }\n\n /**\n * Calculates the S value used in getPasswordAuthenticationKey\n * @param {BigInteger} xValue Salted password hash value.\n * @param {BigInteger} serverBValue Server B value.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.calculateS = function calculateS(xValue, serverBValue, callback) {\n var _this5 = this;\n this.g.modPow(xValue, this.N, function (err, gModPowXN) {\n if (err) {\n callback(err, null);\n }\n var intValue2 = serverBValue.subtract(_this5.k.multiply(gModPowXN));\n intValue2.modPow(_this5.smallAValue.add(_this5.UValue.multiply(xValue)), _this5.N, function (err2, result) {\n if (err2) {\n callback(err2, null);\n }\n callback(null, result.mod(_this5.N));\n });\n });\n }\n\n /**\n * Return constant newPasswordRequiredChallengeUserAttributePrefix\n * @return {newPasswordRequiredChallengeUserAttributePrefix} constant prefix value\n */;\n _proto.getNewPasswordRequiredChallengeUserAttributePrefix = function getNewPasswordRequiredChallengeUserAttributePrefix() {\n return newPasswordRequiredChallengeUserAttributePrefix;\n }\n\n /**\n * Returns an unambiguous, even-length hex string of the two's complement encoding of an integer.\n *\n * It is compatible with the hex encoding of Java's BigInteger's toByteArray(), wich returns a\n * byte array containing the two's-complement representation of a BigInteger. The array contains\n * the minimum number of bytes required to represent the BigInteger, including at least one sign bit.\n *\n * Examples showing how ambiguity is avoided by left padding with:\n * \t\"00\" (for positive values where the most-significant-bit is set)\n * \"FF\" (for negative values where the most-significant-bit is set)\n *\n * padHex(bigInteger.fromInt(-236)) === \"FF14\"\n * padHex(bigInteger.fromInt(20)) === \"14\"\n *\n * padHex(bigInteger.fromInt(-200)) === \"FF38\"\n * padHex(bigInteger.fromInt(56)) === \"38\"\n *\n * padHex(bigInteger.fromInt(-20)) === \"EC\"\n * padHex(bigInteger.fromInt(236)) === \"00EC\"\n *\n * padHex(bigInteger.fromInt(-56)) === \"C8\"\n * padHex(bigInteger.fromInt(200)) === \"00C8\"\n *\n * @param {BigInteger} bigInt Number to encode.\n * @returns {String} even-length hex string of the two's complement encoding.\n */;\n _proto.padHex = function padHex(bigInt) {\n if (!(bigInt instanceof BigInteger)) {\n throw new Error('Not a BigInteger');\n }\n var isNegative = bigInt.compareTo(BigInteger.ZERO) < 0;\n\n /* Get a hex string for abs(bigInt) */\n var hexStr = bigInt.abs().toString(16);\n\n /* Pad hex to even length if needed */\n hexStr = hexStr.length % 2 !== 0 ? \"0\" + hexStr : hexStr;\n\n /* Prepend \"00\" if the most significant bit is set */\n hexStr = HEX_MSB_REGEX.test(hexStr) ? \"00\" + hexStr : hexStr;\n if (isNegative) {\n /* Flip the bits of the representation */\n var invertedNibbles = hexStr.split('').map(function (x) {\n var invertedNibble = ~parseInt(x, 16) & 0xf;\n return '0123456789ABCDEF'.charAt(invertedNibble);\n }).join('');\n\n /* After flipping the bits, add one to get the 2's complement representation */\n var flippedBitsBI = new BigInteger(invertedNibbles, 16).add(BigInteger.ONE);\n hexStr = flippedBitsBI.toString(16);\n\n /*\n For hex strings starting with 'FF8', 'FF' can be dropped, e.g. 0xFFFF80=0xFF80=0x80=-128\n \t\tAny sequence of '1' bits on the left can always be substituted with a single '1' bit\n without changing the represented value.\n \t\tThis only happens in the case when the input is 80...00\n */\n if (hexStr.toUpperCase().startsWith('FF8')) {\n hexStr = hexStr.substring(2);\n }\n }\n return hexStr;\n };\n return AuthenticationHelper;\n}();\nexport { AuthenticationHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\n\n/** @class */\nvar CognitoJwtToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoJwtToken object\n * @param {string=} token The JWT token.\n */\n function CognitoJwtToken(token) {\n // Assign object\n this.jwtToken = token || '';\n this.payload = this.decodePayload();\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoJwtToken.prototype;\n _proto.getJwtToken = function getJwtToken() {\n return this.jwtToken;\n }\n\n /**\n * @returns {int} the token's expiration (exp member).\n */;\n _proto.getExpiration = function getExpiration() {\n return this.payload.exp;\n }\n\n /**\n * @returns {int} the token's \"issued at\" (iat member).\n */;\n _proto.getIssuedAt = function getIssuedAt() {\n return this.payload.iat;\n }\n\n /**\n * @returns {object} the token's payload.\n */;\n _proto.decodePayload = function decodePayload() {\n var payload = this.jwtToken.split('.')[1];\n try {\n return JSON.parse(Buffer.from(payload, 'base64').toString('utf8'));\n } catch (err) {\n return {};\n }\n };\n return CognitoJwtToken;\n}();\nexport { CognitoJwtToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoAccessToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoAccessToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoAccessToken object\n * @param {string=} AccessToken The JWT access token.\n */\n function CognitoAccessToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n AccessToken = _ref.AccessToken;\n return _CognitoJwtToken.call(this, AccessToken || '') || this;\n }\n return CognitoAccessToken;\n}(CognitoJwtToken);\nexport { CognitoAccessToken as default };","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\n/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport CognitoJwtToken from './CognitoJwtToken';\n\n/** @class */\nvar CognitoIdToken = /*#__PURE__*/function (_CognitoJwtToken) {\n _inheritsLoose(CognitoIdToken, _CognitoJwtToken);\n /**\n * Constructs a new CognitoIdToken object\n * @param {string=} IdToken The JWT Id token\n */\n function CognitoIdToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken;\n return _CognitoJwtToken.call(this, IdToken || '') || this;\n }\n return CognitoIdToken;\n}(CognitoJwtToken);\nexport { CognitoIdToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoRefreshToken = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoRefreshToken object\n * @param {string=} RefreshToken The JWT refresh token.\n */\n function CognitoRefreshToken(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n RefreshToken = _ref.RefreshToken;\n // Assign object\n this.token = RefreshToken || '';\n }\n\n /**\n * @returns {string} the record's token.\n */\n var _proto = CognitoRefreshToken.prototype;\n _proto.getToken = function getToken() {\n return this.token;\n };\n return CognitoRefreshToken;\n}();\nexport { CognitoRefreshToken as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserSession = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserSession object\n * @param {CognitoIdToken} IdToken The session's Id token.\n * @param {CognitoRefreshToken=} RefreshToken The session's refresh token.\n * @param {CognitoAccessToken} AccessToken The session's access token.\n * @param {int} ClockDrift The saved computer's clock drift or undefined to force calculation.\n */\n function CognitoUserSession(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n IdToken = _ref.IdToken,\n RefreshToken = _ref.RefreshToken,\n AccessToken = _ref.AccessToken,\n ClockDrift = _ref.ClockDrift;\n if (AccessToken == null || IdToken == null) {\n throw new Error('Id token and Access Token must be present.');\n }\n this.idToken = IdToken;\n this.refreshToken = RefreshToken;\n this.accessToken = AccessToken;\n this.clockDrift = ClockDrift === undefined ? this.calculateClockDrift() : ClockDrift;\n }\n\n /**\n * @returns {CognitoIdToken} the session's Id token\n */\n var _proto = CognitoUserSession.prototype;\n _proto.getIdToken = function getIdToken() {\n return this.idToken;\n }\n\n /**\n * @returns {CognitoRefreshToken} the session's refresh token\n */;\n _proto.getRefreshToken = function getRefreshToken() {\n return this.refreshToken;\n }\n\n /**\n * @returns {CognitoAccessToken} the session's access token\n */;\n _proto.getAccessToken = function getAccessToken() {\n return this.accessToken;\n }\n\n /**\n * @returns {int} the session's clock drift\n */;\n _proto.getClockDrift = function getClockDrift() {\n return this.clockDrift;\n }\n\n /**\n * @returns {int} the computer's clock drift\n */;\n _proto.calculateClockDrift = function calculateClockDrift() {\n var now = Math.floor(new Date() / 1000);\n var iat = Math.min(this.accessToken.getIssuedAt(), this.idToken.getIssuedAt());\n return now - iat;\n }\n\n /**\n * Checks to see if the session is still valid based on session expiry information found\n * in tokens and the current time (adjusted with clock drift)\n * @returns {boolean} if the session is still valid\n */;\n _proto.isValid = function isValid() {\n var now = Math.floor(new Date() / 1000);\n var adjusted = now - this.clockDrift;\n return adjusted < this.accessToken.getExpiration() && adjusted < this.idToken.getExpiration();\n };\n return CognitoUserSession;\n}();\nexport { CognitoUserSession as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar monthNames = ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec'];\nvar weekNames = ['Sun', 'Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat'];\n\n/** @class */\nvar DateHelper = /*#__PURE__*/function () {\n function DateHelper() {}\n var _proto = DateHelper.prototype;\n /**\n * @returns {string} The current time in \"ddd MMM D HH:mm:ss UTC YYYY\" format.\n */\n _proto.getNowString = function getNowString() {\n var now = new Date();\n var weekDay = weekNames[now.getUTCDay()];\n var month = monthNames[now.getUTCMonth()];\n var day = now.getUTCDate();\n var hours = now.getUTCHours();\n if (hours < 10) {\n hours = \"0\" + hours;\n }\n var minutes = now.getUTCMinutes();\n if (minutes < 10) {\n minutes = \"0\" + minutes;\n }\n var seconds = now.getUTCSeconds();\n if (seconds < 10) {\n seconds = \"0\" + seconds;\n }\n var year = now.getUTCFullYear();\n\n // ddd MMM D HH:mm:ss UTC YYYY\n var dateNow = weekDay + \" \" + month + \" \" + day + \" \" + hours + \":\" + minutes + \":\" + seconds + \" UTC \" + year;\n return dateNow;\n };\n return DateHelper;\n}();\nexport { DateHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n/** @class */\nvar CognitoUserAttribute = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserAttribute object\n * @param {string=} Name The record's name\n * @param {string=} Value The record's value\n */\n function CognitoUserAttribute(_temp) {\n var _ref = _temp === void 0 ? {} : _temp,\n Name = _ref.Name,\n Value = _ref.Value;\n this.Name = Name || '';\n this.Value = Value || '';\n }\n\n /**\n * @returns {string} the record's value.\n */\n var _proto = CognitoUserAttribute.prototype;\n _proto.getValue = function getValue() {\n return this.Value;\n }\n\n /**\n * Sets the record's value.\n * @param {string} value The new value.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setValue = function setValue(value) {\n this.Value = value;\n return this;\n }\n\n /**\n * @returns {string} the record's name.\n */;\n _proto.getName = function getName() {\n return this.Name;\n }\n\n /**\n * Sets the record's name\n * @param {string} name The new name.\n * @returns {CognitoUserAttribute} The record for method chaining.\n */;\n _proto.setName = function setName(name) {\n this.Name = name;\n return this;\n }\n\n /**\n * @returns {string} a string representation of the record.\n */;\n _proto.toString = function toString() {\n return JSON.stringify(this);\n }\n\n /**\n * @returns {object} a flat object representing the record.\n */;\n _proto.toJSON = function toJSON() {\n return {\n Name: this.Name,\n Value: this.Value\n };\n };\n return CognitoUserAttribute;\n}();\nexport { CognitoUserAttribute as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nvar dataMemory = {};\n\n/** @class */\nexport var MemoryStorage = /*#__PURE__*/function () {\n function MemoryStorage() {}\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n MemoryStorage.setItem = function setItem(key, value) {\n dataMemory[key] = value;\n return dataMemory[key];\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n MemoryStorage.getItem = function getItem(key) {\n return Object.prototype.hasOwnProperty.call(dataMemory, key) ? dataMemory[key] : undefined;\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {boolean} return true\n */;\n MemoryStorage.removeItem = function removeItem(key) {\n return delete dataMemory[key];\n }\n\n /**\n * This is used to clear the storage\n * @returns {string} nothing\n */;\n MemoryStorage.clear = function clear() {\n dataMemory = {};\n return dataMemory;\n };\n return MemoryStorage;\n}();\n\n/** @class */\nvar StorageHelper = /*#__PURE__*/function () {\n /**\n * This is used to get a storage object\n * @returns {object} the storage\n */\n function StorageHelper() {\n try {\n this.storageWindow = window.localStorage;\n this.storageWindow.setItem('aws.cognito.test-ls', 1);\n this.storageWindow.removeItem('aws.cognito.test-ls');\n } catch (exception) {\n this.storageWindow = MemoryStorage;\n }\n }\n\n /**\n * This is used to return the storage\n * @returns {object} the storage\n */\n var _proto = StorageHelper.prototype;\n _proto.getStorage = function getStorage() {\n return this.storageWindow;\n };\n return StorageHelper;\n}();\nexport { StorageHelper as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport { Buffer } from 'buffer';\nimport { Sha256 } from '@aws-crypto/sha256-js';\nimport BigInteger from './BigInteger';\nimport AuthenticationHelper from './AuthenticationHelper';\nimport CognitoAccessToken from './CognitoAccessToken';\nimport CognitoIdToken from './CognitoIdToken';\nimport CognitoRefreshToken from './CognitoRefreshToken';\nimport CognitoUserSession from './CognitoUserSession';\nimport DateHelper from './DateHelper';\nimport CognitoUserAttribute from './CognitoUserAttribute';\nimport StorageHelper from './StorageHelper';\n\n/**\n * @callback nodeCallback\n * @template T result\n * @param {*} err The operation failure reason, or null.\n * @param {T} result The operation result.\n */\n\n/**\n * @callback onFailure\n * @param {*} err Failure reason.\n */\n\n/**\n * @callback onSuccess\n * @template T result\n * @param {T} result The operation result.\n */\n\n/**\n * @callback mfaRequired\n * @param {*} details MFA challenge details.\n */\n\n/**\n * @callback customChallenge\n * @param {*} details Custom challenge details.\n */\n\n/**\n * @callback inputVerificationCode\n * @param {*} data Server response.\n */\n\n/**\n * @callback authSuccess\n * @param {CognitoUserSession} session The new session.\n * @param {bool=} userConfirmationNecessary User must be confirmed.\n */\n\nvar isBrowser = typeof navigator !== 'undefined';\nvar userAgent = isBrowser ? navigator.userAgent : 'nodejs';\n\n/** @class */\nvar CognitoUser = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUser object\n * @param {object} data Creation options\n * @param {string} data.Username The user's username.\n * @param {CognitoUserPool} data.Pool Pool containing the user.\n * @param {object} data.Storage Optional storage object.\n */\n function CognitoUser(data) {\n if (data == null || data.Username == null || data.Pool == null) {\n throw new Error('Username and Pool information are required.');\n }\n this.username = data.Username || '';\n this.pool = data.Pool;\n this.Session = null;\n this.client = data.Pool.client;\n this.signInUserSession = null;\n this.authenticationFlowType = 'USER_SRP_AUTH';\n this.storage = data.Storage || new StorageHelper().getStorage();\n this.keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n this.userDataKey = this.keyPrefix + \".\" + this.username + \".userData\";\n }\n\n /**\n * Sets the session for this user\n * @param {CognitoUserSession} signInUserSession the session\n * @returns {void}\n */\n var _proto = CognitoUser.prototype;\n _proto.setSignInUserSession = function setSignInUserSession(signInUserSession) {\n this.clearCachedUserData();\n this.signInUserSession = signInUserSession;\n this.cacheTokens();\n }\n\n /**\n * @returns {CognitoUserSession} the current session for this user\n */;\n _proto.getSignInUserSession = function getSignInUserSession() {\n return this.signInUserSession;\n }\n\n /**\n * @returns {string} the user's username\n */;\n _proto.getUsername = function getUsername() {\n return this.username;\n }\n\n /**\n * @returns {String} the authentication flow type\n */;\n _proto.getAuthenticationFlowType = function getAuthenticationFlowType() {\n return this.authenticationFlowType;\n }\n\n /**\n * sets authentication flow type\n * @param {string} authenticationFlowType New value.\n * @returns {void}\n */;\n _proto.setAuthenticationFlowType = function setAuthenticationFlowType(authenticationFlowType) {\n this.authenticationFlowType = authenticationFlowType;\n }\n\n /**\n * This is used for authenticating the user through the custom authentication flow.\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.initiateAuth = function initiateAuth(authDetails, callback) {\n var _this = this;\n var authParameters = authDetails.getAuthParameters();\n authParameters.USERNAME = this.username;\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'CUSTOM_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = data.ChallengeName;\n var challengeParameters = data.ChallengeParameters;\n if (challengeName === 'CUSTOM_CHALLENGE') {\n _this.Session = data.Session;\n return callback.customChallenge(challengeParameters);\n }\n _this.signInUserSession = _this.getCognitoUserSession(data.AuthenticationResult);\n _this.cacheTokens();\n return callback.onSuccess(_this.signInUserSession);\n });\n }\n\n /**\n * This is used for authenticating the user.\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUser = function authenticateUser(authDetails, callback) {\n if (this.authenticationFlowType === 'USER_PASSWORD_AUTH') {\n return this.authenticateUserPlainUsernamePassword(authDetails, callback);\n } else if (this.authenticationFlowType === 'USER_SRP_AUTH' || this.authenticationFlowType === 'CUSTOM_AUTH') {\n return this.authenticateUserDefaultAuth(authDetails, callback);\n }\n return callback.onFailure(new Error('Authentication flow type is invalid.'));\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * It calls the AuthenticationHelper for SRP related\n * stuff\n * @param {AuthenticationDetails} authDetails Contains the authentication data\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {newPasswordRequired} callback.newPasswordRequired new\n * password and any required attributes are required to continue\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserDefaultAuth = function authenticateUserDefaultAuth(authDetails, callback) {\n var _this2 = this;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var dateHelper = new DateHelper();\n var serverBValue;\n var salt;\n var authParameters = {};\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n authParameters.USERNAME = this.username;\n authenticationHelper.getLargeAValue(function (errOnAValue, aValue) {\n // getLargeAValue callback start\n if (errOnAValue) {\n callback.onFailure(errOnAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n if (_this2.authenticationFlowType === 'CUSTOM_AUTH') {\n authParameters.CHALLENGE_NAME = 'SRP_A';\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: _this2.authenticationFlowType,\n ClientId: _this2.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData(_this2.username)) {\n jsonReq.UserContextData = _this2.getUserContextData(_this2.username);\n }\n _this2.client.request('InitiateAuth', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n _this2.username = challengeParameters.USER_ID_FOR_SRP;\n _this2.userDataKey = _this2.keyPrefix + \".\" + _this2.username + \".userData\";\n serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n salt = new BigInteger(challengeParameters.SALT, 16);\n _this2.getCachedDeviceKeyAndPassword();\n authenticationHelper.getPasswordAuthenticationKey(_this2.username, authDetails.getPassword(), serverBValue, salt, function (errOnHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errOnHkdf) {\n callback.onFailure(errOnHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this2.pool.getUserPoolName(), 'utf8'), Buffer.from(_this2.username, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this2.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n if (_this2.deviceKey != null) {\n challengeResponses.DEVICE_KEY = _this2.deviceKey;\n }\n var respondToAuthChallenge = function respondToAuthChallenge(challenge, challengeCallback) {\n return _this2.client.request('RespondToAuthChallenge', challenge, function (errChallenge, dataChallenge) {\n if (errChallenge && errChallenge.code === 'ResourceNotFoundException' && errChallenge.message.toLowerCase().indexOf('device') !== -1) {\n challengeResponses.DEVICE_KEY = null;\n _this2.deviceKey = null;\n _this2.randomPassword = null;\n _this2.deviceGroupKey = null;\n _this2.clearCachedDeviceKeyAndPassword();\n return respondToAuthChallenge(challenge, challengeCallback);\n }\n return challengeCallback(errChallenge, dataChallenge);\n });\n };\n var jsonReqResp = {\n ChallengeName: 'PASSWORD_VERIFIER',\n ClientId: _this2.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session,\n ClientMetadata: clientMetaData\n };\n if (_this2.getUserContextData()) {\n jsonReqResp.UserContextData = _this2.getUserContextData();\n }\n respondToAuthChallenge(jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this2.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {AuthenticationDetails} authDetails Contains the authentication data.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code\n * required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @returns {void}\n */;\n _proto.authenticateUserPlainUsernamePassword = function authenticateUserPlainUsernamePassword(authDetails, callback) {\n var _this3 = this;\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.PASSWORD = authDetails.getPassword();\n if (!authParameters.PASSWORD) {\n callback.onFailure(new Error('PASSWORD parameter is required'));\n return;\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var clientMetaData = Object.keys(authDetails.getValidationData()).length !== 0 ? authDetails.getValidationData() : authDetails.getClientMetadata();\n var jsonReq = {\n AuthFlow: 'USER_PASSWORD_AUTH',\n ClientId: this.pool.getClientId(),\n AuthParameters: authParameters,\n ClientMetadata: clientMetaData\n };\n if (this.getUserContextData(this.username)) {\n jsonReq.UserContextData = this.getUserContextData(this.username);\n }\n // USER_PASSWORD_AUTH happens in a single round-trip: client sends userName and password,\n // Cognito UserPools verifies password and returns tokens.\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this3.authenticateUserInternal(authResult, authenticationHelper, callback);\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n * @param {object} dataAuthenticate authentication data\n * @param {object} authenticationHelper helper created\n * @param {callback} callback passed on from caller\n * @returns {void}\n */;\n _proto.authenticateUserInternal = function authenticateUserInternal(dataAuthenticate, authenticationHelper, callback) {\n var _this4 = this;\n var challengeName = dataAuthenticate.ChallengeName;\n var challengeParameters = dataAuthenticate.ChallengeParameters;\n if (challengeName === 'SMS_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'SELECT_MFA_TYPE') {\n this.Session = dataAuthenticate.Session;\n return callback.selectMFAType(challengeName, challengeParameters);\n }\n if (challengeName === 'MFA_SETUP') {\n this.Session = dataAuthenticate.Session;\n return callback.mfaSetup(challengeName, challengeParameters);\n }\n if (challengeName === 'SOFTWARE_TOKEN_MFA') {\n this.Session = dataAuthenticate.Session;\n return callback.totpRequired(challengeName, challengeParameters);\n }\n if (challengeName === 'CUSTOM_CHALLENGE') {\n this.Session = dataAuthenticate.Session;\n return callback.customChallenge(challengeParameters);\n }\n if (challengeName === 'NEW_PASSWORD_REQUIRED') {\n this.Session = dataAuthenticate.Session;\n var userAttributes = null;\n var rawRequiredAttributes = null;\n var requiredAttributes = [];\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n if (challengeParameters) {\n userAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.userAttributes);\n rawRequiredAttributes = JSON.parse(dataAuthenticate.ChallengeParameters.requiredAttributes);\n }\n if (rawRequiredAttributes) {\n for (var i = 0; i < rawRequiredAttributes.length; i++) {\n requiredAttributes[i] = rawRequiredAttributes[i].substr(userAttributesPrefix.length);\n }\n }\n return callback.newPasswordRequired(userAttributes, requiredAttributes);\n }\n if (challengeName === 'DEVICE_SRP_AUTH') {\n this.Session = dataAuthenticate.Session;\n this.getDeviceResponse(callback);\n return undefined;\n }\n this.signInUserSession = this.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n this.challengeName = challengeName;\n this.cacheTokens();\n var newDeviceMetadata = dataAuthenticate.AuthenticationResult.NewDeviceMetadata;\n if (newDeviceMetadata == null) {\n return callback.onSuccess(this.signInUserSession);\n }\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this4.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this4.deviceGroupKey = newDeviceMetadata.DeviceGroupKey;\n _this4.randomPassword = authenticationHelper.getRandomPassword();\n _this4.client.request('ConfirmDevice', {\n DeviceKey: newDeviceMetadata.DeviceKey,\n AccessToken: _this4.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this4.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this4.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this4.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this4.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n }\n\n /**\n * This method is user to complete the NEW_PASSWORD_REQUIRED challenge.\n * Pass the new password with any new user attributes to be updated.\n * User attribute keys must be of format userAttributes..\n * @param {string} newPassword new password for this user\n * @param {object} requiredAttributeData map with values for all required attributes\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {mfaRequired} callback.mfaRequired MFA code required to continue.\n * @param {customChallenge} callback.customChallenge Custom challenge\n * response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.completeNewPasswordChallenge = function completeNewPasswordChallenge(newPassword, requiredAttributeData, callback, clientMetadata) {\n var _this5 = this;\n if (!newPassword) {\n return callback.onFailure(new Error('New password is required.'));\n }\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n var userAttributesPrefix = authenticationHelper.getNewPasswordRequiredChallengeUserAttributePrefix();\n var finalUserAttributes = {};\n if (requiredAttributeData) {\n Object.keys(requiredAttributeData).forEach(function (key) {\n finalUserAttributes[userAttributesPrefix + key] = requiredAttributeData[key];\n });\n }\n finalUserAttributes.NEW_PASSWORD = newPassword;\n finalUserAttributes.USERNAME = this.username;\n var jsonReq = {\n ChallengeName: 'NEW_PASSWORD_REQUIRED',\n ClientId: this.pool.getClientId(),\n ChallengeResponses: finalUserAttributes,\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n return _this5.authenticateUserInternal(dataAuthenticate, authenticationHelper, callback);\n });\n return undefined;\n }\n\n /**\n * This is used to get a session using device authentication. It is called at the end of user\n * authentication\n *\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n * @private\n */;\n _proto.getDeviceResponse = function getDeviceResponse(callback, clientMetadata) {\n var _this6 = this;\n var authenticationHelper = new AuthenticationHelper(this.deviceGroupKey);\n var dateHelper = new DateHelper();\n var authParameters = {};\n authParameters.USERNAME = this.username;\n authParameters.DEVICE_KEY = this.deviceKey;\n authenticationHelper.getLargeAValue(function (errAValue, aValue) {\n // getLargeAValue callback start\n if (errAValue) {\n callback.onFailure(errAValue);\n }\n authParameters.SRP_A = aValue.toString(16);\n var jsonReq = {\n ChallengeName: 'DEVICE_SRP_AUTH',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: authParameters,\n ClientMetadata: clientMetadata,\n Session: _this6.Session\n };\n if (_this6.getUserContextData()) {\n jsonReq.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeParameters = data.ChallengeParameters;\n var serverBValue = new BigInteger(challengeParameters.SRP_B, 16);\n var salt = new BigInteger(challengeParameters.SALT, 16);\n authenticationHelper.getPasswordAuthenticationKey(_this6.deviceKey, _this6.randomPassword, serverBValue, salt, function (errHkdf, hkdf) {\n // getPasswordAuthenticationKey callback start\n if (errHkdf) {\n return callback.onFailure(errHkdf);\n }\n var dateNow = dateHelper.getNowString();\n var concatBuffer = Buffer.concat([Buffer.from(_this6.deviceGroupKey, 'utf8'), Buffer.from(_this6.deviceKey, 'utf8'), Buffer.from(challengeParameters.SECRET_BLOCK, 'base64'), Buffer.from(dateNow, 'utf8')]);\n var awsCryptoHash = new Sha256(hkdf);\n awsCryptoHash.update(concatBuffer);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var signatureString = Buffer.from(resultFromAWSCrypto).toString('base64');\n var challengeResponses = {};\n challengeResponses.USERNAME = _this6.username;\n challengeResponses.PASSWORD_CLAIM_SECRET_BLOCK = challengeParameters.SECRET_BLOCK;\n challengeResponses.TIMESTAMP = dateNow;\n challengeResponses.PASSWORD_CLAIM_SIGNATURE = signatureString;\n challengeResponses.DEVICE_KEY = _this6.deviceKey;\n var jsonReqResp = {\n ChallengeName: 'DEVICE_PASSWORD_VERIFIER',\n ClientId: _this6.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: data.Session\n };\n if (_this6.getUserContextData()) {\n jsonReqResp.UserContextData = _this6.getUserContextData();\n }\n _this6.client.request('RespondToAuthChallenge', jsonReqResp, function (errAuthenticate, dataAuthenticate) {\n if (errAuthenticate) {\n return callback.onFailure(errAuthenticate);\n }\n _this6.signInUserSession = _this6.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this6.cacheTokens();\n return callback.onSuccess(_this6.signInUserSession);\n });\n return undefined;\n // getPasswordAuthenticationKey callback end\n });\n\n return undefined;\n });\n // getLargeAValue callback end\n });\n }\n\n /**\n * This is used for a certain user to confirm the registration by using a confirmation code\n * @param {string} confirmationCode Code entered by user.\n * @param {bool} forceAliasCreation Allow migrating from an existing email / phone number.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmRegistration = function confirmRegistration(confirmationCode, forceAliasCreation, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n ConfirmationCode: confirmationCode,\n Username: this.username,\n ForceAliasCreation: forceAliasCreation,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmSignUp', jsonReq, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n }\n\n /**\n * This is used by the user once he has the responses to a custom challenge\n * @param {string} answerChallenge The custom challenge answer.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {customChallenge} callback.customChallenge\n * Custom challenge response required to continue.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendCustomChallengeAnswer = function sendCustomChallengeAnswer(answerChallenge, callback, clientMetadata) {\n var _this7 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var authenticationHelper = new AuthenticationHelper(this.pool.getUserPoolName());\n this.getCachedDeviceKeyAndPassword();\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: 'CUSTOM_CHALLENGE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return _this7.authenticateUserInternal(data, authenticationHelper, callback);\n });\n }\n\n /**\n * This is used by the user once he has an MFA code\n * @param {string} confirmationCode The MFA code entered by the user.\n * @param {object} callback Result callback map.\n * @param {string} mfaType The mfa we are replying to.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {authSuccess} callback.onSuccess Called on success with the new session.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.sendMFACode = function sendMFACode(confirmationCode, callback, mfaType, clientMetadata) {\n var _this8 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.SMS_MFA_CODE = confirmationCode;\n var mfaTypeSelection = mfaType || 'SMS_MFA';\n if (mfaTypeSelection === 'SOFTWARE_TOKEN_MFA') {\n challengeResponses.SOFTWARE_TOKEN_MFA_CODE = confirmationCode;\n }\n if (this.deviceKey != null) {\n challengeResponses.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ChallengeName: mfaTypeSelection,\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, dataAuthenticate) {\n if (err) {\n return callback.onFailure(err);\n }\n var challengeName = dataAuthenticate.ChallengeName;\n if (challengeName === 'DEVICE_SRP_AUTH') {\n _this8.getDeviceResponse(callback);\n return undefined;\n }\n _this8.signInUserSession = _this8.getCognitoUserSession(dataAuthenticate.AuthenticationResult);\n _this8.cacheTokens();\n if (dataAuthenticate.AuthenticationResult.NewDeviceMetadata == null) {\n return callback.onSuccess(_this8.signInUserSession);\n }\n var authenticationHelper = new AuthenticationHelper(_this8.pool.getUserPoolName());\n authenticationHelper.generateHashDevice(dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey, dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey, function (errGenHash) {\n if (errGenHash) {\n return callback.onFailure(errGenHash);\n }\n var deviceSecretVerifierConfig = {\n Salt: Buffer.from(authenticationHelper.getSaltDevices(), 'hex').toString('base64'),\n PasswordVerifier: Buffer.from(authenticationHelper.getVerifierDevices(), 'hex').toString('base64')\n };\n _this8.verifierDevices = deviceSecretVerifierConfig.PasswordVerifier;\n _this8.deviceGroupKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceGroupKey;\n _this8.randomPassword = authenticationHelper.getRandomPassword();\n _this8.client.request('ConfirmDevice', {\n DeviceKey: dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey,\n AccessToken: _this8.signInUserSession.getAccessToken().getJwtToken(),\n DeviceSecretVerifierConfig: deviceSecretVerifierConfig,\n DeviceName: userAgent\n }, function (errConfirm, dataConfirm) {\n if (errConfirm) {\n return callback.onFailure(errConfirm);\n }\n _this8.deviceKey = dataAuthenticate.AuthenticationResult.NewDeviceMetadata.DeviceKey;\n _this8.cacheDeviceKeyAndPassword();\n if (dataConfirm.UserConfirmationNecessary === true) {\n return callback.onSuccess(_this8.signInUserSession, dataConfirm.UserConfirmationNecessary);\n }\n return callback.onSuccess(_this8.signInUserSession);\n });\n return undefined;\n });\n return undefined;\n });\n }\n\n /**\n * This is used by an authenticated user to change the current password\n * @param {string} oldUserPassword The current password.\n * @param {string} newUserPassword The requested new password.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.changePassword = function changePassword(oldUserPassword, newUserPassword, callback, clientMetadata) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('ChangePassword', {\n PreviousPassword: oldUserPassword,\n ProposedPassword: newUserPassword,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.enableMFA = function enableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n var mfaEnabled = {\n DeliveryMedium: 'SMS',\n AttributeName: 'phone_number'\n };\n mfaOptions.push(mfaEnabled);\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to enable MFA for itself\n * @param {IMfaSettings} smsMfaSettings the sms mfa settings\n * @param {IMFASettings} softwareTokenMfaSettings the software token mfa settings\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.setUserMfaPreference = function setUserMfaPreference(smsMfaSettings, softwareTokenMfaSettings, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('SetUserMFAPreference', {\n SMSMfaSettings: smsMfaSettings,\n SoftwareTokenMfaSettings: softwareTokenMfaSettings,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to disable MFA for itself\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.disableMFA = function disableMFA(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n var mfaOptions = [];\n this.client.request('SetUserSettings', {\n MFAOptions: mfaOptions,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to delete itself\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.deleteUser = function deleteUser(callback, clientMetadata) {\n var _this9 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n _this9.clearCachedUser();\n return callback(null, 'SUCCESS');\n });\n return undefined;\n }\n\n /**\n * @typedef {CognitoUserAttribute | { Name:string, Value:string }} AttributeArg\n */\n /**\n * This is used by an authenticated user to change a list of attributes\n * @param {AttributeArg[]} attributes A list of the new user attributes.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.updateAttributes = function updateAttributes(attributes, callback, clientMetadata) {\n var _this10 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('UpdateUserAttributes', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserAttributes: attributes,\n ClientMetadata: clientMetadata\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this10.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by an authenticated user to get a list of attributes\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getUserAttributes = function getUserAttributes(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n var attributeList = [];\n for (var i = 0; i < userData.UserAttributes.length; i++) {\n var attribute = {\n Name: userData.UserAttributes[i].Name,\n Value: userData.UserAttributes[i].Value\n };\n var userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n return callback(null, attributeList);\n });\n return undefined;\n }\n\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.getMFAOptions = function getMFAOptions(callback) {\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, userData) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, userData.MFAOptions);\n });\n return undefined;\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.createGetUserRequest = function createGetUserRequest() {\n return this.client.promisifyRequest('GetUser', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n });\n }\n\n /**\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.refreshSessionIfPossible = function refreshSessionIfPossible(options) {\n var _this11 = this;\n if (options === void 0) {\n options = {};\n }\n // best effort, if not possible\n return new Promise(function (resolve) {\n var refresh = _this11.signInUserSession.getRefreshToken();\n if (refresh && refresh.getToken()) {\n _this11.refreshSession(refresh, resolve, options.clientMetadata);\n } else {\n resolve();\n }\n });\n }\n\n /**\n * @typedef {Object} GetUserDataOptions\n * @property {boolean} bypassCache - force getting data from Cognito service\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used by an authenticated users to get the userData\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetUserDataOptions} params\n * @returns {void}\n */;\n _proto.getUserData = function getUserData(callback, params) {\n var _this12 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.clearCachedUserData();\n return callback(new Error('User is not authenticated'), null);\n }\n var userData = this.getUserDataFromCache();\n if (!userData) {\n this.fetchUserData().then(function (data) {\n callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n if (this.isFetchUserDataAndTokenRequired(params)) {\n this.fetchUserData().then(function (data) {\n return _this12.refreshSessionIfPossible(params).then(function () {\n return data;\n });\n }).then(function (data) {\n return callback(null, data);\n })[\"catch\"](callback);\n return;\n }\n try {\n callback(null, JSON.parse(userData));\n return;\n } catch (err) {\n this.clearCachedUserData();\n callback(err, null);\n return;\n }\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.getUserDataFromCache = function getUserDataFromCache() {\n var userData = this.storage.getItem(this.userDataKey);\n return userData;\n }\n\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.isFetchUserDataAndTokenRequired = function isFetchUserDataAndTokenRequired(params) {\n var _ref = params || {},\n _ref$bypassCache = _ref.bypassCache,\n bypassCache = _ref$bypassCache === void 0 ? false : _ref$bypassCache;\n return bypassCache;\n }\n /**\n *\n * PRIVATE ONLY: This is an internal only method and should not\n * be directly called by the consumers.\n */;\n _proto.fetchUserData = function fetchUserData() {\n var _this13 = this;\n return this.createGetUserRequest().then(function (data) {\n _this13.cacheUserData(data);\n return data;\n });\n }\n\n /**\n * This is used by an authenticated user to delete a list of attributes\n * @param {string[]} attributeList Names of the attributes to delete.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.deleteAttributes = function deleteAttributes(attributeList, callback) {\n var _this14 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n return callback(new Error('User is not authenticated'), null);\n }\n this.client.request('DeleteUserAttributes', {\n UserAttributeNames: attributeList,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback(err, null);\n }\n\n // update cached user\n return _this14.getUserData(function () {\n return callback(null, 'SUCCESS');\n }, {\n bypassCache: true\n });\n });\n return undefined;\n }\n\n /**\n * This is used by a user to resend a confirmation code\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.resendConfirmationCode = function resendConfirmationCode(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n this.client.request('ResendConfirmationCode', jsonReq, function (err, result) {\n if (err) {\n return callback(err, null);\n }\n return callback(null, result);\n });\n }\n\n /**\n * @typedef {Object} GetSessionOptions\n * @property {Record} clientMetadata - clientMetadata for getSession\n */\n\n /**\n * This is used to get a session, either from the session object\n * or from the local storage, or by using a refresh token\n *\n * @param {nodeCallback} callback Called on success or error.\n * @param {GetSessionOptions} options\n * @returns {void}\n */;\n _proto.getSession = function getSession(callback, options) {\n if (options === void 0) {\n options = {};\n }\n if (this.username == null) {\n return callback(new Error('Username is null. Cannot retrieve a new session'), null);\n }\n if (this.signInUserSession != null && this.signInUserSession.isValid()) {\n return callback(null, this.signInUserSession);\n }\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var idTokenKey = keyPrefix + \".idToken\";\n var accessTokenKey = keyPrefix + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".clockDrift\";\n if (this.storage.getItem(idTokenKey)) {\n var idToken = new CognitoIdToken({\n IdToken: this.storage.getItem(idTokenKey)\n });\n var accessToken = new CognitoAccessToken({\n AccessToken: this.storage.getItem(accessTokenKey)\n });\n var refreshToken = new CognitoRefreshToken({\n RefreshToken: this.storage.getItem(refreshTokenKey)\n });\n var clockDrift = parseInt(this.storage.getItem(clockDriftKey), 0) || 0;\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken,\n ClockDrift: clockDrift\n };\n var cachedSession = new CognitoUserSession(sessionData);\n if (cachedSession.isValid()) {\n this.signInUserSession = cachedSession;\n return callback(null, this.signInUserSession);\n }\n if (!refreshToken.getToken()) {\n return callback(new Error('Cannot retrieve a new session. Please authenticate.'), null);\n }\n this.refreshSession(refreshToken, callback, options.clientMetadata);\n } else {\n callback(new Error('Local storage is missing an ID Token, Please authenticate'), null);\n }\n return undefined;\n }\n\n /**\n * This uses the refreshToken to retrieve a new session\n * @param {CognitoRefreshToken} refreshToken A previous session's refresh token.\n * @param {nodeCallback} callback Called on success or error.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.refreshSession = function refreshSession(refreshToken, callback, clientMetadata) {\n var _this15 = this;\n var wrappedCallback = this.pool.wrapRefreshSessionCallback ? this.pool.wrapRefreshSessionCallback(callback) : callback;\n var authParameters = {};\n authParameters.REFRESH_TOKEN = refreshToken.getToken();\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n if (this.storage.getItem(lastUserKey)) {\n this.username = this.storage.getItem(lastUserKey);\n var deviceKeyKey = keyPrefix + \".\" + this.username + \".deviceKey\";\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n authParameters.DEVICE_KEY = this.deviceKey;\n }\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n AuthFlow: 'REFRESH_TOKEN_AUTH',\n AuthParameters: authParameters,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('InitiateAuth', jsonReq, function (err, authResult) {\n if (err) {\n if (err.code === 'NotAuthorizedException') {\n _this15.clearCachedUser();\n }\n return wrappedCallback(err, null);\n }\n if (authResult) {\n var authenticationResult = authResult.AuthenticationResult;\n if (!Object.prototype.hasOwnProperty.call(authenticationResult, 'RefreshToken')) {\n authenticationResult.RefreshToken = refreshToken.getToken();\n }\n _this15.signInUserSession = _this15.getCognitoUserSession(authenticationResult);\n _this15.cacheTokens();\n return wrappedCallback(null, _this15.signInUserSession);\n }\n return undefined;\n });\n }\n\n /**\n * This is used to save the session tokens to local storage\n * @returns {void}\n */;\n _proto.cacheTokens = function cacheTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n this.storage.setItem(idTokenKey, this.signInUserSession.getIdToken().getJwtToken());\n this.storage.setItem(accessTokenKey, this.signInUserSession.getAccessToken().getJwtToken());\n this.storage.setItem(refreshTokenKey, this.signInUserSession.getRefreshToken().getToken());\n this.storage.setItem(clockDriftKey, \"\" + this.signInUserSession.getClockDrift());\n this.storage.setItem(lastUserKey, this.username);\n }\n\n /**\n * This is to cache user data\n */;\n _proto.cacheUserData = function cacheUserData(userData) {\n this.storage.setItem(this.userDataKey, JSON.stringify(userData));\n }\n\n /**\n * This is to remove cached user data\n */;\n _proto.clearCachedUserData = function clearCachedUserData() {\n this.storage.removeItem(this.userDataKey);\n };\n _proto.clearCachedUser = function clearCachedUser() {\n this.clearCachedTokens();\n this.clearCachedUserData();\n }\n\n /**\n * This is used to cache the device key and device group and device password\n * @returns {void}\n */;\n _proto.cacheDeviceKeyAndPassword = function cacheDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.setItem(deviceKeyKey, this.deviceKey);\n this.storage.setItem(randomPasswordKey, this.randomPassword);\n this.storage.setItem(deviceGroupKeyKey, this.deviceGroupKey);\n }\n\n /**\n * This is used to get current device key and device group and device password\n * @returns {void}\n */;\n _proto.getCachedDeviceKeyAndPassword = function getCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n if (this.storage.getItem(deviceKeyKey)) {\n this.deviceKey = this.storage.getItem(deviceKeyKey);\n this.randomPassword = this.storage.getItem(randomPasswordKey);\n this.deviceGroupKey = this.storage.getItem(deviceGroupKeyKey);\n }\n }\n\n /**\n * This is used to clear the device key info from local storage\n * @returns {void}\n */;\n _proto.clearCachedDeviceKeyAndPassword = function clearCachedDeviceKeyAndPassword() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId() + \".\" + this.username;\n var deviceKeyKey = keyPrefix + \".deviceKey\";\n var randomPasswordKey = keyPrefix + \".randomPasswordKey\";\n var deviceGroupKeyKey = keyPrefix + \".deviceGroupKey\";\n this.storage.removeItem(deviceKeyKey);\n this.storage.removeItem(randomPasswordKey);\n this.storage.removeItem(deviceGroupKeyKey);\n }\n\n /**\n * This is used to clear the session tokens from local storage\n * @returns {void}\n */;\n _proto.clearCachedTokens = function clearCachedTokens() {\n var keyPrefix = \"CognitoIdentityServiceProvider.\" + this.pool.getClientId();\n var idTokenKey = keyPrefix + \".\" + this.username + \".idToken\";\n var accessTokenKey = keyPrefix + \".\" + this.username + \".accessToken\";\n var refreshTokenKey = keyPrefix + \".\" + this.username + \".refreshToken\";\n var lastUserKey = keyPrefix + \".LastAuthUser\";\n var clockDriftKey = keyPrefix + \".\" + this.username + \".clockDrift\";\n this.storage.removeItem(idTokenKey);\n this.storage.removeItem(accessTokenKey);\n this.storage.removeItem(refreshTokenKey);\n this.storage.removeItem(lastUserKey);\n this.storage.removeItem(clockDriftKey);\n }\n\n /**\n * This is used to build a user session from tokens retrieved in the authentication result\n * @param {object} authResult Successful auth response from server.\n * @returns {CognitoUserSession} The new user session.\n * @private\n */;\n _proto.getCognitoUserSession = function getCognitoUserSession(authResult) {\n var idToken = new CognitoIdToken(authResult);\n var accessToken = new CognitoAccessToken(authResult);\n var refreshToken = new CognitoRefreshToken(authResult);\n var sessionData = {\n IdToken: idToken,\n AccessToken: accessToken,\n RefreshToken: refreshToken\n };\n return new CognitoUserSession(sessionData);\n }\n\n /**\n * This is used to initiate a forgot password request\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode?} callback.inputVerificationCode\n * Optional callback raised instead of onSuccess with response data.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.forgotPassword = function forgotPassword(callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ForgotPassword', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess(data);\n });\n }\n\n /**\n * This is used to confirm a new password using a confirmationCode\n * @param {string} confirmationCode Code entered by user.\n * @param {string} newPassword Confirm new password.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.confirmPassword = function confirmPassword(confirmationCode, newPassword, callback, clientMetadata) {\n var jsonReq = {\n ClientId: this.pool.getClientId(),\n Username: this.username,\n ConfirmationCode: confirmationCode,\n Password: newPassword,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('ConfirmForgotPassword', jsonReq, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n }\n\n /**\n * This is used to initiate an attribute confirmation request\n * @param {string} attributeName User attribute that needs confirmation.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {inputVerificationCode} callback.inputVerificationCode Called on success.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.getAttributeVerificationCode = function getAttributeVerificationCode(attributeName, callback, clientMetadata) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetUserAttributeVerificationCode', {\n AttributeName: attributeName,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n ClientMetadata: clientMetadata\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n if (typeof callback.inputVerificationCode === 'function') {\n return callback.inputVerificationCode(data);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to confirm an attribute using a confirmation code\n * @param {string} attributeName Attribute being confirmed.\n * @param {string} confirmationCode Code entered by user.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.verifyAttribute = function verifyAttribute(attributeName, confirmationCode, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('VerifyUserAttribute', {\n AttributeName: attributeName,\n Code: confirmationCode,\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to get the device information using the current device key\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device data.\n * @returns {void}\n */;\n _proto.getDevice = function getDevice(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to forget a specific device\n * @param {string} deviceKey Device key.\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetSpecificDevice = function forgetSpecificDevice(deviceKey, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('ForgetDevice', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: deviceKey\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to forget the current device\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.forgetDevice = function forgetDevice(callback) {\n var _this16 = this;\n this.forgetSpecificDevice(this.deviceKey, {\n onFailure: callback.onFailure,\n onSuccess: function onSuccess(result) {\n _this16.deviceKey = null;\n _this16.deviceGroupKey = null;\n _this16.randomPassword = null;\n _this16.clearCachedDeviceKeyAndPassword();\n return callback.onSuccess(result);\n }\n });\n }\n\n /**\n * This is used to set the device status as remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusRemembered = function setDeviceStatusRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to set the device status as not remembered\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.setDeviceStatusNotRemembered = function setDeviceStatusNotRemembered(callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('UpdateDeviceStatus', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n DeviceKey: this.deviceKey,\n DeviceRememberedStatus: 'not_remembered'\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used to list all devices for a user\n *\n * @param {int} limit the number of devices returned in a call\n * @param {string | null} paginationToken the pagination token in case any was returned before\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess<*>} callback.onSuccess Called on success with device list.\n * @returns {void}\n */;\n _proto.listDevices = function listDevices(limit, paginationToken, callback) {\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n var requestParams = {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n Limit: limit\n };\n if (paginationToken) {\n requestParams.PaginationToken = paginationToken;\n }\n this.client.request('ListDevices', requestParams, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n return undefined;\n }\n\n /**\n * This is used to globally revoke all tokens issued to a user\n * @param {object} callback Result callback map.\n * @param {onFailure} callback.onFailure Called on any error.\n * @param {onSuccess} callback.onSuccess Called on success.\n * @returns {void}\n */;\n _proto.globalSignOut = function globalSignOut(callback) {\n var _this17 = this;\n if (this.signInUserSession == null || !this.signInUserSession.isValid()) {\n return callback.onFailure(new Error('User is not authenticated'));\n }\n this.client.request('GlobalSignOut', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err) {\n if (err) {\n return callback.onFailure(err);\n }\n _this17.clearCachedUser();\n return callback.onSuccess('SUCCESS');\n });\n return undefined;\n }\n\n /**\n * This is used for the user to signOut of the application and clear the cached tokens.\n * @returns {void}\n */;\n _proto.signOut = function signOut(revokeTokenCallback) {\n var _this18 = this;\n // If tokens won't be revoked, we just clean the client data.\n if (!revokeTokenCallback || typeof revokeTokenCallback !== 'function') {\n this.cleanClientData();\n return;\n }\n this.getSession(function (error, _session) {\n if (error) {\n return revokeTokenCallback(error);\n }\n _this18.revokeTokens(function (err) {\n _this18.cleanClientData();\n revokeTokenCallback(err);\n });\n });\n };\n _proto.revokeTokens = function revokeTokens(revokeTokenCallback) {\n if (revokeTokenCallback === void 0) {\n revokeTokenCallback = function revokeTokenCallback() {};\n }\n if (typeof revokeTokenCallback !== 'function') {\n throw new Error('Invalid revokeTokenCallback. It should be a function.');\n }\n var tokensToBeRevoked = [];\n if (!this.signInUserSession) {\n var error = new Error('User is not authenticated');\n return revokeTokenCallback(error);\n }\n if (!this.signInUserSession.getAccessToken()) {\n var _error = new Error('No Access token available');\n return revokeTokenCallback(_error);\n }\n var refreshToken = this.signInUserSession.getRefreshToken().getToken();\n var accessToken = this.signInUserSession.getAccessToken();\n if (this.isSessionRevocable(accessToken)) {\n if (refreshToken) {\n return this.revokeToken({\n token: refreshToken,\n callback: revokeTokenCallback\n });\n }\n }\n revokeTokenCallback();\n };\n _proto.isSessionRevocable = function isSessionRevocable(token) {\n if (token && typeof token.decodePayload === 'function') {\n try {\n var _token$decodePayload = token.decodePayload(),\n origin_jti = _token$decodePayload.origin_jti;\n return !!origin_jti;\n } catch (err) {\n // Nothing to do, token doesnt have origin_jti claim\n }\n }\n return false;\n };\n _proto.cleanClientData = function cleanClientData() {\n this.signInUserSession = null;\n this.clearCachedUser();\n };\n _proto.revokeToken = function revokeToken(_ref2) {\n var token = _ref2.token,\n callback = _ref2.callback;\n this.client.requestWithRetry('RevokeToken', {\n Token: token,\n ClientId: this.pool.getClientId()\n }, function (err) {\n if (err) {\n return callback(err);\n }\n callback();\n });\n }\n\n /**\n * This is used by a user trying to select a given MFA\n * @param {string} answerChallenge the mfa the user wants\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.sendMFASelectionAnswer = function sendMFASelectionAnswer(answerChallenge, callback) {\n var _this19 = this;\n var challengeResponses = {};\n challengeResponses.USERNAME = this.username;\n challengeResponses.ANSWER = answerChallenge;\n var jsonReq = {\n ChallengeName: 'SELECT_MFA_TYPE',\n ChallengeResponses: challengeResponses,\n ClientId: this.pool.getClientId(),\n Session: this.Session\n };\n if (this.getUserContextData()) {\n jsonReq.UserContextData = this.getUserContextData();\n }\n this.client.request('RespondToAuthChallenge', jsonReq, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this19.Session = data.Session;\n if (answerChallenge === 'SMS_MFA') {\n return callback.mfaRequired(data.ChallengeName, data.ChallengeParameters);\n }\n if (answerChallenge === 'SOFTWARE_TOKEN_MFA') {\n return callback.totpRequired(data.ChallengeName, data.ChallengeParameters);\n }\n return undefined;\n });\n }\n\n /**\n * This returns the user context data for advanced security feature.\n * @returns {string} the user context data from CognitoUserPool\n */;\n _proto.getUserContextData = function getUserContextData() {\n var pool = this.pool;\n return pool.getUserContextData(this.username);\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to associate a TOTP MFA\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.associateSoftwareToken = function associateSoftwareToken(callback) {\n var _this20 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('AssociateSoftwareToken', {\n Session: this.Session\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this20.Session = data.Session;\n return callback.associateSecretCode(data.SecretCode);\n });\n } else {\n this.client.request('AssociateSoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken()\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.associateSecretCode(data.SecretCode);\n });\n }\n }\n\n /**\n * This is used by an authenticated or a user trying to authenticate to verify a TOTP MFA\n * @param {string} totpCode The MFA code entered by the user.\n * @param {string} friendlyDeviceName The device name we are assigning to the device.\n * @param {nodeCallback} callback Called on success or error.\n * @returns {void}\n */;\n _proto.verifySoftwareToken = function verifySoftwareToken(totpCode, friendlyDeviceName, callback) {\n var _this21 = this;\n if (!(this.signInUserSession != null && this.signInUserSession.isValid())) {\n this.client.request('VerifySoftwareToken', {\n Session: this.Session,\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n _this21.Session = data.Session;\n var challengeResponses = {};\n challengeResponses.USERNAME = _this21.username;\n var jsonReq = {\n ChallengeName: 'MFA_SETUP',\n ClientId: _this21.pool.getClientId(),\n ChallengeResponses: challengeResponses,\n Session: _this21.Session\n };\n if (_this21.getUserContextData()) {\n jsonReq.UserContextData = _this21.getUserContextData();\n }\n _this21.client.request('RespondToAuthChallenge', jsonReq, function (errRespond, dataRespond) {\n if (errRespond) {\n return callback.onFailure(errRespond);\n }\n _this21.signInUserSession = _this21.getCognitoUserSession(dataRespond.AuthenticationResult);\n _this21.cacheTokens();\n return callback.onSuccess(_this21.signInUserSession);\n });\n return undefined;\n });\n } else {\n this.client.request('VerifySoftwareToken', {\n AccessToken: this.signInUserSession.getAccessToken().getJwtToken(),\n UserCode: totpCode,\n FriendlyDeviceName: friendlyDeviceName\n }, function (err, data) {\n if (err) {\n return callback.onFailure(err);\n }\n return callback.onSuccess(data);\n });\n }\n };\n return CognitoUser;\n}();\nexport { CognitoUser as default };","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\nimport { version } from './version';\nvar BASE_USER_AGENT = \"aws-amplify/\" + version;\nexport var Platform = {\n userAgent: BASE_USER_AGENT + \" js\",\n product: '',\n navigator: null,\n isReactNative: false\n};\nif (typeof navigator !== 'undefined' && navigator.product) {\n Platform.product = navigator.product || '';\n Platform.navigator = navigator || null;\n switch (navigator.product) {\n case 'ReactNative':\n Platform.userAgent = BASE_USER_AGENT + \" react-native\";\n Platform.isReactNative = true;\n break;\n default:\n Platform.userAgent = BASE_USER_AGENT + \" js\";\n Platform.isReactNative = false;\n break;\n }\n}\nexport var getUserAgent = function getUserAgent() {\n return Platform.userAgent;\n};\n\n/**\n * @deprecated use named import\n */\nexport default Platform;","import { getUserAgent } from \"./Platform\";\n// constructor\nfunction UserAgent() {}\n// public\nUserAgent.prototype.userAgent = getUserAgent();\nexport var appendToCognitoUserAgent = function appendToCognitoUserAgent(content) {\n if (!content) {\n return;\n }\n if (UserAgent.prototype.userAgent && !UserAgent.prototype.userAgent.includes(content)) {\n UserAgent.prototype.userAgent = UserAgent.prototype.userAgent.concat(' ', content);\n }\n if (!UserAgent.prototype.userAgent || UserAgent.prototype.userAgent === '') {\n UserAgent.prototype.userAgent = content;\n }\n};\n\n// class for defining the amzn user-agent\nexport default UserAgent;","function _inheritsLoose(subClass, superClass) { subClass.prototype = Object.create(superClass.prototype); subClass.prototype.constructor = subClass; _setPrototypeOf(subClass, superClass); }\nfunction _wrapNativeSuper(Class) { var _cache = typeof Map === \"function\" ? new Map() : undefined; _wrapNativeSuper = function _wrapNativeSuper(Class) { if (Class === null || !_isNativeFunction(Class)) return Class; if (typeof Class !== \"function\") { throw new TypeError(\"Super expression must either be null or a function\"); } if (typeof _cache !== \"undefined\") { if (_cache.has(Class)) return _cache.get(Class); _cache.set(Class, Wrapper); } function Wrapper() { return _construct(Class, arguments, _getPrototypeOf(this).constructor); } Wrapper.prototype = Object.create(Class.prototype, { constructor: { value: Wrapper, enumerable: false, writable: true, configurable: true } }); return _setPrototypeOf(Wrapper, Class); }; return _wrapNativeSuper(Class); }\nfunction _construct(Parent, args, Class) { if (_isNativeReflectConstruct()) { _construct = Reflect.construct.bind(); } else { _construct = function _construct(Parent, args, Class) { var a = [null]; a.push.apply(a, args); var Constructor = Function.bind.apply(Parent, a); var instance = new Constructor(); if (Class) _setPrototypeOf(instance, Class.prototype); return instance; }; } return _construct.apply(null, arguments); }\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\nfunction _isNativeFunction(fn) { return Function.toString.call(fn).indexOf(\"[native code]\") !== -1; }\nfunction _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }\nfunction _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }\nimport 'isomorphic-unfetch';\nimport UserAgent from './UserAgent';\nvar CognitoError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(CognitoError, _Error);\n function CognitoError(message, code, name, statusCode) {\n var _this;\n _this = _Error.call(this, message) || this;\n _this.code = code;\n _this.name = name;\n _this.statusCode = statusCode;\n return _this;\n }\n return CognitoError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\n/** @class */\nvar Client = /*#__PURE__*/function () {\n /**\n * Constructs a new AWS Cognito Identity Provider client object\n * @param {string} region AWS region\n * @param {string} endpoint endpoint\n * @param {object} fetchOptions options for fetch API (only credentials is supported)\n */\n function Client(region, endpoint, fetchOptions) {\n this.endpoint = endpoint || \"https://cognito-idp.\" + region + \".amazonaws.com/\";\n var _ref = fetchOptions || {},\n credentials = _ref.credentials;\n this.fetchOptions = credentials ? {\n credentials: credentials\n } : {};\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @returns Promise\n */\n var _proto = Client.prototype;\n _proto.promisifyRequest = function promisifyRequest(operation, params) {\n var _this2 = this;\n return new Promise(function (resolve, reject) {\n _this2.request(operation, params, function (err, data) {\n if (err) {\n reject(new CognitoError(err.message, err.code, err.name, err.statusCode));\n } else {\n resolve(data);\n }\n });\n });\n };\n _proto.requestWithRetry = function requestWithRetry(operation, params, callback) {\n var _this3 = this;\n var MAX_DELAY_IN_MILLIS = 5 * 1000;\n jitteredExponentialRetry(function (p) {\n return new Promise(function (res, rej) {\n _this3.request(operation, p, function (error, result) {\n if (error) {\n rej(error);\n } else {\n res(result);\n }\n });\n });\n }, [params], MAX_DELAY_IN_MILLIS).then(function (result) {\n return callback(null, result);\n })[\"catch\"](function (error) {\n return callback(error);\n });\n }\n\n /**\n * Makes an unauthenticated request on AWS Cognito Identity Provider API\n * using fetch\n * @param {string} operation API operation\n * @param {object} params Input parameters\n * @param {function} callback Callback called when a response is returned\n * @returns {void}\n */;\n _proto.request = function request(operation, params, callback) {\n var headers = {\n 'Content-Type': 'application/x-amz-json-1.1',\n 'X-Amz-Target': \"AWSCognitoIdentityProviderService.\" + operation,\n 'X-Amz-User-Agent': UserAgent.prototype.userAgent\n };\n var options = Object.assign({}, this.fetchOptions, {\n headers: headers,\n method: 'POST',\n mode: 'cors',\n cache: 'no-cache',\n body: JSON.stringify(params)\n });\n var response;\n var responseJsonData;\n fetch(this.endpoint, options).then(function (resp) {\n response = resp;\n return resp;\n }, function (err) {\n // If error happens here, the request failed\n // if it is TypeError throw network error\n if (err instanceof TypeError) {\n throw new Error('Network error');\n }\n throw err;\n }).then(function (resp) {\n return resp.json()[\"catch\"](function () {\n return {};\n });\n }).then(function (data) {\n // return parsed body stream\n if (response.ok) return callback(null, data);\n responseJsonData = data;\n\n // Taken from aws-sdk-js/lib/protocol/json.js\n // eslint-disable-next-line no-underscore-dangle\n var code = (data.__type || data.code).split('#').pop();\n var error = new Error(data.message || data.Message || null);\n error.name = code;\n error.code = code;\n return callback(error);\n })[\"catch\"](function (err) {\n // first check if we have a service error\n if (response && response.headers && response.headers.get('x-amzn-errortype')) {\n try {\n var code = response.headers.get('x-amzn-errortype').split(':')[0];\n var error = new Error(response.status ? response.status.toString() : null);\n error.code = code;\n error.name = code;\n error.statusCode = response.status;\n return callback(error);\n } catch (ex) {\n return callback(err);\n }\n // otherwise check if error is Network error\n } else if (err instanceof Error && err.message === 'Network error') {\n err.code = 'NetworkError';\n }\n return callback(err);\n });\n };\n return Client;\n}();\nexport { Client as default };\nvar logger = {\n debug: function debug() {\n // Intentionally blank. This package doesn't have logging\n }\n};\n\n/**\n * For now, all errors are retryable.\n */\nvar NonRetryableError = /*#__PURE__*/function (_Error2) {\n _inheritsLoose(NonRetryableError, _Error2);\n function NonRetryableError(message) {\n var _this4;\n _this4 = _Error2.call(this, message) || this;\n _this4.nonRetryable = true;\n return _this4;\n }\n return NonRetryableError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nvar isNonRetryableError = function isNonRetryableError(obj) {\n var key = 'nonRetryable';\n return obj && obj[key];\n};\nfunction retry(functionToRetry, args, delayFn, attempt) {\n if (attempt === void 0) {\n attempt = 1;\n }\n if (typeof functionToRetry !== 'function') {\n throw Error('functionToRetry must be a function');\n }\n logger.debug(functionToRetry.name + \" attempt #\" + attempt + \" with args: \" + JSON.stringify(args));\n return functionToRetry.apply(void 0, args)[\"catch\"](function (err) {\n logger.debug(\"error on \" + functionToRetry.name, err);\n if (isNonRetryableError(err)) {\n logger.debug(functionToRetry.name + \" non retryable error\", err);\n throw err;\n }\n var retryIn = delayFn(attempt, args, err);\n logger.debug(functionToRetry.name + \" retrying in \" + retryIn + \" ms\");\n if (retryIn !== false) {\n return new Promise(function (res) {\n return setTimeout(res, retryIn);\n }).then(function () {\n return retry(functionToRetry, args, delayFn, attempt + 1);\n });\n } else {\n throw err;\n }\n });\n}\nfunction jitteredBackoff(maxDelayMs) {\n var BASE_TIME_MS = 100;\n var JITTER_FACTOR = 100;\n return function (attempt) {\n var delay = Math.pow(2, attempt) * BASE_TIME_MS + JITTER_FACTOR * Math.random();\n return delay > maxDelayMs ? false : delay;\n };\n}\nvar MAX_DELAY_MS = 5 * 60 * 1000;\nfunction jitteredExponentialRetry(functionToRetry, args, maxDelayMs) {\n if (maxDelayMs === void 0) {\n maxDelayMs = MAX_DELAY_MS;\n }\n return retry(functionToRetry, args, jitteredBackoff(maxDelayMs));\n}\n;","/*!\n * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n * SPDX-License-Identifier: Apache-2.0\n */\n\nimport Client from './Client';\nimport CognitoUser from './CognitoUser';\nimport StorageHelper from './StorageHelper';\nvar USER_POOL_ID_MAX_LENGTH = 55;\n\n/** @class */\nvar CognitoUserPool = /*#__PURE__*/function () {\n /**\n * Constructs a new CognitoUserPool object\n * @param {object} data Creation options.\n * @param {string} data.UserPoolId Cognito user pool id.\n * @param {string} data.ClientId User pool application client id.\n * @param {string} data.endpoint Optional custom service endpoint.\n * @param {object} data.fetchOptions Optional options for fetch API.\n * (only credentials option is supported)\n * @param {object} data.Storage Optional storage object.\n * @param {boolean} data.AdvancedSecurityDataCollectionFlag Optional:\n * boolean flag indicating if the data collection is enabled\n * to support cognito advanced security features. By default, this\n * flag is set to true.\n */\n function CognitoUserPool(data, wrapRefreshSessionCallback) {\n var _ref = data || {},\n UserPoolId = _ref.UserPoolId,\n ClientId = _ref.ClientId,\n endpoint = _ref.endpoint,\n fetchOptions = _ref.fetchOptions,\n AdvancedSecurityDataCollectionFlag = _ref.AdvancedSecurityDataCollectionFlag;\n if (!UserPoolId || !ClientId) {\n throw new Error('Both UserPoolId and ClientId are required.');\n }\n if (UserPoolId.length > USER_POOL_ID_MAX_LENGTH || !/^[\\w-]+_[0-9a-zA-Z]+$/.test(UserPoolId)) {\n throw new Error('Invalid UserPoolId format.');\n }\n var region = UserPoolId.split('_')[0];\n this.userPoolId = UserPoolId;\n this.clientId = ClientId;\n this.client = new Client(region, endpoint, fetchOptions);\n\n /**\n * By default, AdvancedSecurityDataCollectionFlag is set to true,\n * if no input value is provided.\n */\n this.advancedSecurityDataCollectionFlag = AdvancedSecurityDataCollectionFlag !== false;\n this.storage = data.Storage || new StorageHelper().getStorage();\n if (wrapRefreshSessionCallback) {\n this.wrapRefreshSessionCallback = wrapRefreshSessionCallback;\n }\n }\n\n /**\n * @returns {string} the user pool id\n */\n var _proto = CognitoUserPool.prototype;\n _proto.getUserPoolId = function getUserPoolId() {\n return this.userPoolId;\n }\n\n /**\n * @returns {string} the user pool name\n */;\n _proto.getUserPoolName = function getUserPoolName() {\n return this.getUserPoolId().split('_')[1];\n }\n\n /**\n * @returns {string} the client id\n */;\n _proto.getClientId = function getClientId() {\n return this.clientId;\n }\n\n /**\n * @typedef {object} SignUpResult\n * @property {CognitoUser} user New user.\n * @property {bool} userConfirmed If the user is already confirmed.\n */\n /**\n * method for signing up a user\n * @param {string} username User's username.\n * @param {string} password Plain-text initial password entered by user.\n * @param {(AttributeArg[])=} userAttributes New user attributes.\n * @param {(AttributeArg[])=} validationData Application metadata.\n * @param {(AttributeArg[])=} clientMetadata Client metadata.\n * @param {nodeCallback} callback Called on error or with the new user.\n * @param {ClientMetadata} clientMetadata object which is passed from client to Cognito Lambda trigger\n * @returns {void}\n */;\n _proto.signUp = function signUp(username, password, userAttributes, validationData, callback, clientMetadata) {\n var _this = this;\n var jsonReq = {\n ClientId: this.clientId,\n Username: username,\n Password: password,\n UserAttributes: userAttributes,\n ValidationData: validationData,\n ClientMetadata: clientMetadata\n };\n if (this.getUserContextData(username)) {\n jsonReq.UserContextData = this.getUserContextData(username);\n }\n this.client.request('SignUp', jsonReq, function (err, data) {\n if (err) {\n return callback(err, null);\n }\n var cognitoUser = {\n Username: username,\n Pool: _this,\n Storage: _this.storage\n };\n var returnData = {\n user: new CognitoUser(cognitoUser),\n userConfirmed: data.UserConfirmed,\n userSub: data.UserSub,\n codeDeliveryDetails: data.CodeDeliveryDetails\n };\n return callback(null, returnData);\n });\n }\n\n /**\n * method for getting the current user of the application from the local storage\n *\n * @returns {CognitoUser} the user retrieved from storage\n */;\n _proto.getCurrentUser = function getCurrentUser() {\n var lastUserKey = \"CognitoIdentityServiceProvider.\" + this.clientId + \".LastAuthUser\";\n var lastAuthUser = this.storage.getItem(lastUserKey);\n if (lastAuthUser) {\n var cognitoUser = {\n Username: lastAuthUser,\n Pool: this,\n Storage: this.storage\n };\n return new CognitoUser(cognitoUser);\n }\n return null;\n }\n\n /**\n * This method returns the encoded data string used for cognito advanced security feature.\n * This would be generated only when developer has included the JS used for collecting the\n * data on their client. Please refer to documentation to know more about using AdvancedSecurity\n * features\n * @param {string} username the username for the context data\n * @returns {string} the user context data\n **/;\n _proto.getUserContextData = function getUserContextData(username) {\n if (typeof AmazonCognitoAdvancedSecurityData === 'undefined') {\n return undefined;\n }\n /* eslint-disable */\n var amazonCognitoAdvancedSecurityDataConst = AmazonCognitoAdvancedSecurityData;\n /* eslint-enable */\n\n if (this.advancedSecurityDataCollectionFlag) {\n var advancedSecurityData = amazonCognitoAdvancedSecurityDataConst.getData(username, this.userPoolId, this.clientId);\n if (advancedSecurityData) {\n var userContextData = {\n EncodedData: advancedSecurityData\n };\n return userContextData;\n }\n }\n return {};\n };\n return CognitoUserPool;\n}();\nexport { CognitoUserPool as default };","export var AuthErrorStrings;\n(function (AuthErrorStrings) {\n AuthErrorStrings[\"DEFAULT_MSG\"] = \"Authentication Error\";\n AuthErrorStrings[\"EMPTY_EMAIL\"] = \"Email cannot be empty\";\n AuthErrorStrings[\"EMPTY_PHONE\"] = \"Phone number cannot be empty\";\n AuthErrorStrings[\"EMPTY_USERNAME\"] = \"Username cannot be empty\";\n AuthErrorStrings[\"INVALID_USERNAME\"] = \"The username should either be a string or one of the sign in types\";\n AuthErrorStrings[\"EMPTY_PASSWORD\"] = \"Password cannot be empty\";\n AuthErrorStrings[\"EMPTY_CODE\"] = \"Confirmation code cannot be empty\";\n AuthErrorStrings[\"SIGN_UP_ERROR\"] = \"Error creating account\";\n AuthErrorStrings[\"NO_MFA\"] = \"No valid MFA method provided\";\n AuthErrorStrings[\"INVALID_MFA\"] = \"Invalid MFA type\";\n AuthErrorStrings[\"EMPTY_CHALLENGE\"] = \"Challenge response cannot be empty\";\n AuthErrorStrings[\"NO_USER_SESSION\"] = \"Failed to get the session because the user is empty\";\n AuthErrorStrings[\"NETWORK_ERROR\"] = \"Network Error\";\n AuthErrorStrings[\"DEVICE_CONFIG\"] = \"Device tracking has not been configured in this User Pool\";\n AuthErrorStrings[\"AUTOSIGNIN_ERROR\"] = \"Please use your credentials to sign in\";\n})(AuthErrorStrings || (AuthErrorStrings = {}));\n//# sourceMappingURL=AuthErrorStrings.js.map","import * as Cookies from 'js-cookie';\n\n/** @class */\nvar CookieStorage = /*#__PURE__*/function () {\n /**\n * Constructs a new CookieStorage object\n * @param {object} data Creation options.\n * @param {string} data.domain Cookies domain (mandatory).\n * @param {string} data.path Cookies path (default: '/')\n * @param {integer} data.expires Cookie expiration (in days, default: 365)\n * @param {boolean} data.secure Cookie secure flag (default: true)\n * @param {string} data.sameSite Cookie request behaviour (default: null)\n */\n function CookieStorage(data) {\n if (data.domain) {\n this.domain = data.domain;\n } else {\n throw new Error('The domain of cookieStorage can not be undefined.');\n }\n if (data.path) {\n this.path = data.path;\n } else {\n this.path = '/';\n }\n if (Object.prototype.hasOwnProperty.call(data, 'expires')) {\n this.expires = data.expires;\n } else {\n this.expires = 365;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'secure')) {\n this.secure = data.secure;\n } else {\n this.secure = true;\n }\n if (Object.prototype.hasOwnProperty.call(data, 'sameSite')) {\n if (!['strict', 'lax', 'none'].includes(data.sameSite)) {\n throw new Error('The sameSite value of cookieStorage must be \"lax\", \"strict\" or \"none\".');\n }\n if (data.sameSite === 'none' && !this.secure) {\n throw new Error('sameSite = None requires the Secure attribute in latest browser versions.');\n }\n this.sameSite = data.sameSite;\n } else {\n this.sameSite = null;\n }\n }\n\n /**\n * This is used to set a specific item in storage\n * @param {string} key - the key for the item\n * @param {object} value - the value\n * @returns {string} value that was set\n */\n var _proto = CookieStorage.prototype;\n _proto.setItem = function setItem(key, value) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n Cookies.set(key, value, options);\n return Cookies.get(key);\n }\n\n /**\n * This is used to get a specific key from storage\n * @param {string} key - the key for the item\n * This is used to clear the storage\n * @returns {string} the data item\n */;\n _proto.getItem = function getItem(key) {\n return Cookies.get(key);\n }\n\n /**\n * This is used to remove an item from storage\n * @param {string} key - the key being set\n * @returns {string} value - value that was deleted\n */;\n _proto.removeItem = function removeItem(key) {\n var options = {\n path: this.path,\n expires: this.expires,\n domain: this.domain,\n secure: this.secure\n };\n if (this.sameSite) {\n options.sameSite = this.sameSite;\n }\n return Cookies.remove(key, options);\n }\n\n /**\n * This is used to clear the storage of optional\n * items that were previously set\n * @returns {} an empty object\n */;\n _proto.clear = function clear() {\n var cookies = Cookies.get();\n var numKeys = Object.keys(cookies).length;\n for (var index = 0; index < numKeys; ++index) {\n this.removeItem(Object.keys(cookies)[index]);\n }\n return {};\n };\n return CookieStorage;\n}();\nexport { CookieStorage as default };","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nvar SELF = '_self';\nexport var launchUri = function (url) {\n var windowProxy = window.open(url, SELF);\n if (windowProxy) {\n return Promise.resolve(windowProxy);\n }\n else {\n return Promise.reject();\n }\n};\n//# sourceMappingURL=urlOpener.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { parse } from 'url'; // Used for OAuth parsing of Cognito Hosted UI\nimport { launchUri } from './urlOpener';\nimport * as oAuthStorage from './oauthStorage';\nimport { Buffer } from 'buffer';\nimport { isCognitoHostedOpts, CognitoHostedUIIdentityProvider, } from '../types/Auth';\nimport { ConsoleLogger as Logger, Hub, urlSafeEncode } from '@aws-amplify/core';\nimport { Sha256 } from '@aws-crypto/sha256-js';\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchAuthEvent = function (event, data, message) {\n Hub.dispatch('auth', { event: event, data: data, message: message }, 'Auth', AMPLIFY_SYMBOL);\n};\nvar logger = new Logger('OAuth');\nvar OAuth = /** @class */ (function () {\n function OAuth(_a) {\n var config = _a.config, cognitoClientId = _a.cognitoClientId, _b = _a.scopes, scopes = _b === void 0 ? [] : _b;\n this._urlOpener = config.urlOpener || launchUri;\n this._config = config;\n this._cognitoClientId = cognitoClientId;\n if (!this.isValidScopes(scopes))\n throw Error('scopes must be a String Array');\n this._scopes = scopes;\n }\n OAuth.prototype.isValidScopes = function (scopes) {\n return (Array.isArray(scopes) && scopes.every(function (scope) { return typeof scope === 'string'; }));\n };\n OAuth.prototype.oauthSignIn = function (responseType, domain, redirectSignIn, clientId, provider, customState) {\n if (responseType === void 0) { responseType = 'code'; }\n if (provider === void 0) { provider = CognitoHostedUIIdentityProvider.Cognito; }\n var generatedState = this._generateState(32);\n /* encodeURIComponent is not URL safe, use urlSafeEncode instead. Cognito\n single-encodes/decodes url on first sign in and double-encodes/decodes url\n when user already signed in. Using encodeURIComponent, Base32, Base64 add\n characters % or = which on further encoding becomes unsafe. '=' create issue\n for parsing query params.\n Refer: https://github.com/aws-amplify/amplify-js/issues/5218 */\n var state = customState\n ? generatedState + \"-\" + urlSafeEncode(customState)\n : generatedState;\n oAuthStorage.setState(state);\n var pkce_key = this._generateRandom(128);\n oAuthStorage.setPKCE(pkce_key);\n var code_challenge = this._generateChallenge(pkce_key);\n var code_challenge_method = 'S256';\n var scopesString = this._scopes.join(' ');\n var queryString = Object.entries(__assign(__assign({ redirect_uri: redirectSignIn, response_type: responseType, client_id: clientId, identity_provider: provider, scope: scopesString, state: state }, (responseType === 'code' ? { code_challenge: code_challenge } : {})), (responseType === 'code' ? { code_challenge_method: code_challenge_method } : {})))\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(v);\n })\n .join('&');\n var URL = \"https://\" + domain + \"/oauth2/authorize?\" + queryString;\n logger.debug(\"Redirecting to \" + URL);\n this._urlOpener(URL, redirectSignIn);\n };\n OAuth.prototype._handleCodeFlow = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var code, currentUrlPathname, redirectSignInPathname, oAuthTokenEndpoint, client_id, redirect_uri, code_verifier, oAuthTokenBody, body, _a, access_token, refresh_token, id_token, error;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n code = (parse(currentUrl).query || '')\n .split('&')\n .map(function (pairings) { return pairings.split('='); })\n .reduce(function (accum, _a) {\n var _b;\n var _c = __read(_a, 2), k = _c[0], v = _c[1];\n return (__assign(__assign({}, accum), (_b = {}, _b[k] = v, _b)));\n }, { code: undefined }).code;\n currentUrlPathname = parse(currentUrl).pathname || '/';\n redirectSignInPathname = parse(this._config.redirectSignIn).pathname || '/';\n if (!code || currentUrlPathname !== redirectSignInPathname) {\n return [2 /*return*/];\n }\n oAuthTokenEndpoint = 'https://' + this._config.domain + '/oauth2/token';\n dispatchAuthEvent('codeFlow', {}, \"Retrieving tokens from \" + oAuthTokenEndpoint);\n client_id = isCognitoHostedOpts(this._config)\n ? this._cognitoClientId\n : this._config.clientID;\n redirect_uri = isCognitoHostedOpts(this._config)\n ? this._config.redirectSignIn\n : this._config.redirectUri;\n code_verifier = oAuthStorage.getPKCE();\n oAuthTokenBody = __assign({ grant_type: 'authorization_code', code: code,\n client_id: client_id,\n redirect_uri: redirect_uri }, (code_verifier ? { code_verifier: code_verifier } : {}));\n logger.debug(\"Calling token endpoint: \" + oAuthTokenEndpoint + \" with\", oAuthTokenBody);\n body = Object.entries(oAuthTokenBody)\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return encodeURIComponent(k) + \"=\" + encodeURIComponent(v);\n })\n .join('&');\n return [4 /*yield*/, fetch(oAuthTokenEndpoint, {\n method: 'POST',\n headers: {\n 'Content-Type': 'application/x-www-form-urlencoded',\n },\n body: body,\n })];\n case 1: return [4 /*yield*/, (_b.sent()).json()];\n case 2:\n _a = _b.sent(), access_token = _a.access_token, refresh_token = _a.refresh_token, id_token = _a.id_token, error = _a.error;\n if (error) {\n throw new Error(error);\n }\n return [2 /*return*/, {\n accessToken: access_token,\n refreshToken: refresh_token,\n idToken: id_token,\n }];\n }\n });\n });\n };\n OAuth.prototype._handleImplicitFlow = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var _a, id_token, access_token;\n return __generator(this, function (_b) {\n _a = (parse(currentUrl).hash || '#')\n .substr(1) // Remove # from returned code\n .split('&')\n .map(function (pairings) { return pairings.split('='); })\n .reduce(function (accum, _a) {\n var _b;\n var _c = __read(_a, 2), k = _c[0], v = _c[1];\n return (__assign(__assign({}, accum), (_b = {}, _b[k] = v, _b)));\n }, {\n id_token: undefined,\n access_token: undefined,\n }), id_token = _a.id_token, access_token = _a.access_token;\n dispatchAuthEvent('implicitFlow', {}, \"Got tokens from \" + currentUrl);\n logger.debug(\"Retrieving implicit tokens from \" + currentUrl + \" with\");\n return [2 /*return*/, {\n accessToken: access_token,\n idToken: id_token,\n refreshToken: null,\n }];\n });\n });\n };\n OAuth.prototype.handleAuthResponse = function (currentUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var urlParams, error, error_description, state, _a, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 5, , 6]);\n urlParams = currentUrl\n ? __assign(__assign({}, (parse(currentUrl).hash || '#')\n .substr(1)\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return ((acc[k] = v), acc);\n }, {})), (parse(currentUrl).query || '')\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .reduce(function (acc, _a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return ((acc[k] = v), acc);\n }, {}))\n : {};\n error = urlParams.error, error_description = urlParams.error_description;\n if (error) {\n throw new Error(error_description);\n }\n state = this._validateState(urlParams);\n logger.debug(\"Starting \" + this._config.responseType + \" flow with \" + currentUrl);\n if (!(this._config.responseType === 'code')) return [3 /*break*/, 2];\n _a = [{}];\n return [4 /*yield*/, this._handleCodeFlow(currentUrl)];\n case 1: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _a.concat([(_c.sent())])), { state: state }])];\n case 2:\n _b = [{}];\n return [4 /*yield*/, this._handleImplicitFlow(currentUrl)];\n case 3: return [2 /*return*/, __assign.apply(void 0, [__assign.apply(void 0, _b.concat([(_c.sent())])), { state: state }])];\n case 4: return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n logger.error(\"Error handling auth response.\", e_1);\n throw e_1;\n case 6: return [2 /*return*/];\n }\n });\n });\n };\n OAuth.prototype._validateState = function (urlParams) {\n if (!urlParams) {\n return;\n }\n var savedState = oAuthStorage.getState();\n var returnedState = urlParams.state;\n // This is because savedState only exists if the flow was initiated by Amplify\n if (savedState && savedState !== returnedState) {\n throw new Error('Invalid state in OAuth flow');\n }\n return returnedState;\n };\n OAuth.prototype.signOut = function () {\n return __awaiter(this, void 0, void 0, function () {\n var oAuthLogoutEndpoint, client_id, signout_uri;\n return __generator(this, function (_a) {\n oAuthLogoutEndpoint = 'https://' + this._config.domain + '/logout?';\n client_id = isCognitoHostedOpts(this._config)\n ? this._cognitoClientId\n : this._config.oauth.clientID;\n signout_uri = isCognitoHostedOpts(this._config)\n ? this._config.redirectSignOut\n : this._config.returnTo;\n oAuthLogoutEndpoint += Object.entries({\n client_id: client_id,\n logout_uri: encodeURIComponent(signout_uri),\n })\n .map(function (_a) {\n var _b = __read(_a, 2), k = _b[0], v = _b[1];\n return k + \"=\" + v;\n })\n .join('&');\n dispatchAuthEvent('oAuthSignOut', { oAuth: 'signOut' }, \"Signing out from \" + oAuthLogoutEndpoint);\n logger.debug(\"Signing out from \" + oAuthLogoutEndpoint);\n return [2 /*return*/, this._urlOpener(oAuthLogoutEndpoint, signout_uri)];\n });\n });\n };\n OAuth.prototype._generateState = function (length) {\n var result = '';\n var i = length;\n var chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';\n for (; i > 0; --i)\n result += chars[Math.round(Math.random() * (chars.length - 1))];\n return result;\n };\n OAuth.prototype._generateChallenge = function (code) {\n var awsCryptoHash = new Sha256();\n awsCryptoHash.update(code);\n var resultFromAWSCrypto = awsCryptoHash.digestSync();\n var b64 = Buffer.from(resultFromAWSCrypto).toString('base64');\n var base64URLFromAWSCrypto = this._base64URL(b64);\n return base64URLFromAWSCrypto;\n };\n OAuth.prototype._base64URL = function (string) {\n return string.replace(/=/g, '').replace(/\\+/g, '-').replace(/\\//g, '_');\n };\n OAuth.prototype._generateRandom = function (size) {\n var CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~';\n var buffer = new Uint8Array(size);\n if (typeof window !== 'undefined' && !!window.crypto) {\n window.crypto.getRandomValues(buffer);\n }\n else {\n for (var i = 0; i < size; i += 1) {\n buffer[i] = (Math.random() * CHARSET.length) | 0;\n }\n }\n return this._bufferToString(buffer);\n };\n OAuth.prototype._bufferToString = function (buffer) {\n var CHARSET = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n var state = [];\n for (var i = 0; i < buffer.byteLength; i += 1) {\n var index = buffer[i] % CHARSET.length;\n state.push(CHARSET[index]);\n }\n return state.join('');\n };\n return OAuth;\n}());\nexport default OAuth;\n//# sourceMappingURL=OAuth.js.map","export function urlSafeEncode(str) {\n return str\n .split('')\n .map(function (char) {\n return char\n .charCodeAt(0)\n .toString(16)\n .padStart(2, '0');\n })\n .join('');\n}\nexport function urlSafeDecode(hex) {\n return hex\n .match(/.{2}/g)\n .map(function (char) { return String.fromCharCode(parseInt(char, 16)); })\n .join('');\n}\n//# sourceMappingURL=StringUtils.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nexport var setState = function (state) {\n window.sessionStorage.setItem('oauth_state', state);\n};\nexport var getState = function () {\n var oauth_state = window.sessionStorage.getItem('oauth_state');\n window.sessionStorage.removeItem('oauth_state');\n return oauth_state;\n};\nexport var setPKCE = function (private_key) {\n window.sessionStorage.setItem('ouath_pkce_key', private_key);\n};\nexport var getPKCE = function () {\n var ouath_pkce_key = window.sessionStorage.getItem('ouath_pkce_key');\n window.sessionStorage.removeItem('ouath_pkce_key');\n return ouath_pkce_key;\n};\nexport var clearAll = function () {\n window.sessionStorage.removeItem('ouath_pkce_key');\n window.sessionStorage.removeItem('oauth_state');\n};\n//# sourceMappingURL=oauthStorage.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __extends } from \"tslib\";\nimport { ConsoleLogger as Logger } from '@aws-amplify/core';\nimport { AuthErrorStrings } from './common/AuthErrorStrings';\nvar logger = new Logger('AuthError');\nvar AuthError = /** @class */ (function (_super) {\n __extends(AuthError, _super);\n function AuthError(type) {\n var _this = this;\n var _a = authErrorMessages[type], message = _a.message, log = _a.log;\n _this = _super.call(this, message) || this;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n _this.constructor = AuthError;\n Object.setPrototypeOf(_this, AuthError.prototype);\n _this.name = 'AuthError';\n _this.log = log || message;\n logger.error(_this.log);\n return _this;\n }\n return AuthError;\n}(Error));\nexport { AuthError };\nvar NoUserPoolError = /** @class */ (function (_super) {\n __extends(NoUserPoolError, _super);\n function NoUserPoolError(type) {\n var _this = _super.call(this, type) || this;\n // Hack for making the custom error class work when transpiled to es5\n // TODO: Delete the following 2 lines after we change the build target to >= es2015\n _this.constructor = NoUserPoolError;\n Object.setPrototypeOf(_this, NoUserPoolError.prototype);\n _this.name = 'NoUserPoolError';\n return _this;\n }\n return NoUserPoolError;\n}(AuthError));\nexport { NoUserPoolError };\nexport var authErrorMessages = {\n noConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: \"\\n Error: Amplify has not been configured correctly.\\n This error is typically caused by one of the following scenarios:\\n\\n 1. Make sure you're passing the awsconfig object to Amplify.configure() in your app's entry point\\n See https://aws-amplify.github.io/docs/js/authentication#configure-your-app for more information\\n \\n 2. There might be multiple conflicting versions of amplify packages in your node_modules.\\n\\t\\t\\t\\tRefer to our docs site for help upgrading Amplify packages (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js)\\n \",\n },\n missingAuthConfig: {\n message: AuthErrorStrings.DEFAULT_MSG,\n log: \"\\n Error: Amplify has not been configured correctly. \\n The configuration object is missing required auth properties.\\n This error is typically caused by one of the following scenarios:\\n\\n 1. Did you run `amplify push` after adding auth via `amplify add auth`?\\n See https://aws-amplify.github.io/docs/js/authentication#amplify-project-setup for more information\\n\\n 2. This could also be caused by multiple conflicting versions of amplify packages, see (https://docs.amplify.aws/lib/troubleshooting/upgrading/q/platform/js) for help upgrading Amplify packages.\\n \",\n },\n emptyUsername: {\n message: AuthErrorStrings.EMPTY_USERNAME,\n },\n // TODO: should include a list of valid sign-in types\n invalidUsername: {\n message: AuthErrorStrings.INVALID_USERNAME,\n },\n emptyPassword: {\n message: AuthErrorStrings.EMPTY_PASSWORD,\n },\n emptyCode: {\n message: AuthErrorStrings.EMPTY_CODE,\n },\n signUpError: {\n message: AuthErrorStrings.SIGN_UP_ERROR,\n log: 'The first parameter should either be non-null string or object',\n },\n noMFA: {\n message: AuthErrorStrings.NO_MFA,\n },\n invalidMFA: {\n message: AuthErrorStrings.INVALID_MFA,\n },\n emptyChallengeResponse: {\n message: AuthErrorStrings.EMPTY_CHALLENGE,\n },\n noUserSession: {\n message: AuthErrorStrings.NO_USER_SESSION,\n },\n deviceConfig: {\n message: AuthErrorStrings.DEVICE_CONFIG,\n },\n networkError: {\n message: AuthErrorStrings.NETWORK_ERROR,\n },\n autoSignInError: {\n message: AuthErrorStrings.AUTOSIGNIN_ERROR,\n },\n default: {\n message: AuthErrorStrings.DEFAULT_MSG,\n },\n};\n//# sourceMappingURL=Errors.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { __assign, __awaiter, __generator, __read } from \"tslib\";\nimport { isUsernamePasswordOpts, isCognitoHostedOpts, isFederatedSignInOptions, isFederatedSignInOptionsCustom, hasCustomState, } from './types';\nimport { Amplify, ConsoleLogger as Logger, Credentials, Hub, StorageHelper, browserOrNode, parseAWSExports, UniversalStorage, urlSafeDecode, } from '@aws-amplify/core';\nimport { CookieStorage, CognitoUserPool, AuthenticationDetails, CognitoUser, CognitoUserSession, CognitoUserAttribute, CognitoIdToken, CognitoRefreshToken, CognitoAccessToken, } from 'amazon-cognito-identity-js';\nimport { parse } from 'url';\nimport OAuth from './OAuth/OAuth';\nimport { default as urlListener } from './urlListener';\nimport { AuthError, NoUserPoolError } from './Errors';\nimport { AuthErrorTypes, CognitoHostedUIIdentityProvider, } from './types/Auth';\nvar logger = new Logger('AuthClass');\nvar USER_ADMIN_SCOPE = 'aws.cognito.signin.user.admin';\n// 10 sec, following this guide https://www.nngroup.com/articles/response-times-3-important-limits/\nvar OAUTH_FLOW_MS_TIMEOUT = 10 * 1000;\nvar AMPLIFY_SYMBOL = (typeof Symbol !== 'undefined' && typeof Symbol.for === 'function'\n ? Symbol.for('amplify_default')\n : '@@amplify_default');\nvar dispatchAuthEvent = function (event, data, message) {\n Hub.dispatch('auth', { event: event, data: data, message: message }, 'Auth', AMPLIFY_SYMBOL);\n};\n// Cognito Documentation for max device\n// tslint:disable-next-line:max-line-length\n// https://docs.aws.amazon.com/cognito-user-identity-pools/latest/APIReference/API_ListDevices.html#API_ListDevices_RequestSyntax\nvar MAX_DEVICES = 60;\nvar MAX_AUTOSIGNIN_POLLING_MS = 3 * 60 * 1000;\n/**\n * Provide authentication steps\n */\nvar AuthClass = /** @class */ (function () {\n /**\n * Initialize Auth with AWS configurations\n * @param {Object} config - Configuration of the Auth\n */\n function AuthClass(config) {\n var _this = this;\n this.userPool = null;\n this.user = null;\n this.oAuthFlowInProgress = false;\n this.autoSignInInitiated = false;\n this.inflightSessionPromise = null;\n this.inflightSessionPromiseCounter = 0;\n this.Credentials = Credentials;\n this.wrapRefreshSessionCallback = function (callback) {\n var wrapped = function (error, data) {\n if (data) {\n dispatchAuthEvent('tokenRefresh', undefined, \"New token retrieved\");\n }\n else {\n dispatchAuthEvent('tokenRefresh_failure', error, \"Failed to retrieve new token\");\n }\n return callback(error, data);\n };\n return wrapped;\n }; // prettier-ignore\n this.configure(config);\n this.currentCredentials = this.currentCredentials.bind(this);\n this.currentUserCredentials = this.currentUserCredentials.bind(this);\n Hub.listen('auth', function (_a) {\n var payload = _a.payload;\n var event = payload.event;\n switch (event) {\n case 'signIn':\n _this._storage.setItem('amplify-signin-with-hostedUI', 'false');\n break;\n case 'signOut':\n _this._storage.removeItem('amplify-signin-with-hostedUI');\n break;\n case 'cognitoHostedUI':\n _this._storage.setItem('amplify-signin-with-hostedUI', 'true');\n break;\n }\n });\n }\n AuthClass.prototype.getModuleName = function () {\n return 'Auth';\n };\n AuthClass.prototype.configure = function (config) {\n var _this = this;\n if (!config)\n return this._config || {};\n logger.debug('configure Auth');\n var conf = Object.assign({}, this._config, parseAWSExports(config).Auth, config);\n this._config = conf;\n var _a = this._config, userPoolId = _a.userPoolId, userPoolWebClientId = _a.userPoolWebClientId, cookieStorage = _a.cookieStorage, oauth = _a.oauth, region = _a.region, identityPoolId = _a.identityPoolId, mandatorySignIn = _a.mandatorySignIn, refreshHandlers = _a.refreshHandlers, identityPoolRegion = _a.identityPoolRegion, clientMetadata = _a.clientMetadata, endpoint = _a.endpoint;\n if (!this._config.storage) {\n // backward compatability\n if (cookieStorage)\n this._storage = new CookieStorage(cookieStorage);\n else {\n this._storage = config.ssr\n ? new UniversalStorage()\n : new StorageHelper().getStorage();\n }\n }\n else {\n if (!this._isValidAuthStorage(this._config.storage)) {\n logger.error('The storage in the Auth config is not valid!');\n throw new Error('Empty storage object');\n }\n this._storage = this._config.storage;\n }\n this._storageSync = Promise.resolve();\n if (typeof this._storage['sync'] === 'function') {\n this._storageSync = this._storage['sync']();\n }\n if (userPoolId) {\n var userPoolData = {\n UserPoolId: userPoolId,\n ClientId: userPoolWebClientId,\n endpoint: endpoint,\n };\n userPoolData.Storage = this._storage;\n this.userPool = new CognitoUserPool(userPoolData, this.wrapRefreshSessionCallback);\n }\n this.Credentials.configure({\n mandatorySignIn: mandatorySignIn,\n region: region,\n userPoolId: userPoolId,\n identityPoolId: identityPoolId,\n refreshHandlers: refreshHandlers,\n storage: this._storage,\n identityPoolRegion: identityPoolRegion\n });\n // initialize cognitoauth client if hosted ui options provided\n // to keep backward compatibility:\n var cognitoHostedUIConfig = oauth\n ? isCognitoHostedOpts(this._config.oauth)\n ? oauth\n : oauth.awsCognito\n : undefined;\n if (cognitoHostedUIConfig) {\n var cognitoAuthParams = Object.assign({\n cognitoClientId: userPoolWebClientId,\n UserPoolId: userPoolId,\n domain: cognitoHostedUIConfig['domain'],\n scopes: cognitoHostedUIConfig['scope'],\n redirectSignIn: cognitoHostedUIConfig['redirectSignIn'],\n redirectSignOut: cognitoHostedUIConfig['redirectSignOut'],\n responseType: cognitoHostedUIConfig['responseType'],\n Storage: this._storage,\n urlOpener: cognitoHostedUIConfig['urlOpener'],\n clientMetadata: clientMetadata,\n }, cognitoHostedUIConfig['options']);\n this._oAuthHandler = new OAuth({\n scopes: cognitoAuthParams.scopes,\n config: cognitoAuthParams,\n cognitoClientId: cognitoAuthParams.cognitoClientId,\n });\n // **NOTE** - Remove this in a future major release as it is a breaking change\n // Prevents _handleAuthResponse from being called multiple times in Expo\n // See https://github.com/aws-amplify/amplify-js/issues/4388\n var usedResponseUrls_1 = {};\n urlListener(function (_a) {\n var url = _a.url;\n if (usedResponseUrls_1[url]) {\n return;\n }\n usedResponseUrls_1[url] = true;\n _this._handleAuthResponse(url);\n });\n }\n dispatchAuthEvent('configured', null, \"The Auth category has been configured successfully\");\n if (!this.autoSignInInitiated &&\n typeof this._storage['getItem'] === 'function') {\n var pollingInitiated = this.isTrueStorageValue('amplify-polling-started');\n if (pollingInitiated) {\n dispatchAuthEvent('autoSignIn_failure', null, AuthErrorTypes.AutoSignInError);\n this._storage.removeItem('amplify-auto-sign-in');\n }\n this._storage.removeItem('amplify-polling-started');\n }\n return this._config;\n };\n /**\n * Sign up with username, password and other attributes like phone, email\n * @param {String | object} params - The user attributes used for signin\n * @param {String[]} restOfAttrs - for the backward compatability\n * @return - A promise resolves callback data if success\n */\n AuthClass.prototype.signUp = function (params) {\n var _this = this;\n var restOfAttrs = [];\n for (var _i = 1; _i < arguments.length; _i++) {\n restOfAttrs[_i - 1] = arguments[_i];\n }\n var _a, _b, _c;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n var username = null;\n var password = null;\n var attributes = [];\n var validationData = null;\n var clientMetadata;\n var autoSignIn = { enabled: false };\n var autoSignInValidationData = {};\n var autoSignInClientMetaData = {};\n if (params && typeof params === 'string') {\n username = params;\n password = restOfAttrs ? restOfAttrs[0] : null;\n var email = restOfAttrs ? restOfAttrs[1] : null;\n var phone_number = restOfAttrs ? restOfAttrs[2] : null;\n if (email)\n attributes.push(new CognitoUserAttribute({ Name: 'email', Value: email }));\n if (phone_number)\n attributes.push(new CognitoUserAttribute({\n Name: 'phone_number',\n Value: phone_number,\n }));\n }\n else if (params && typeof params === 'object') {\n username = params['username'];\n password = params['password'];\n if (params && params.clientMetadata) {\n clientMetadata = params.clientMetadata;\n }\n else if (this._config.clientMetadata) {\n clientMetadata = this._config.clientMetadata;\n }\n var attrs_1 = params['attributes'];\n if (attrs_1) {\n Object.keys(attrs_1).map(function (key) {\n attributes.push(new CognitoUserAttribute({ Name: key, Value: attrs_1[key] }));\n });\n }\n var validationDataObject_1 = params['validationData'];\n if (validationDataObject_1) {\n validationData = [];\n Object.keys(validationDataObject_1).map(function (key) {\n validationData.push(new CognitoUserAttribute({\n Name: key,\n Value: validationDataObject_1[key],\n }));\n });\n }\n autoSignIn = (_a = params.autoSignIn) !== null && _a !== void 0 ? _a : { enabled: false };\n if (autoSignIn.enabled) {\n this._storage.setItem('amplify-auto-sign-in', 'true');\n autoSignInValidationData = (_b = autoSignIn.validationData) !== null && _b !== void 0 ? _b : {};\n autoSignInClientMetaData = (_c = autoSignIn.clientMetaData) !== null && _c !== void 0 ? _c : {};\n }\n }\n else {\n return this.rejectAuthError(AuthErrorTypes.SignUpError);\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n logger.debug('signUp attrs:', attributes);\n logger.debug('signUp validation data:', validationData);\n return new Promise(function (resolve, reject) {\n _this.userPool.signUp(username, password, attributes, validationData, function (err, data) {\n if (err) {\n dispatchAuthEvent('signUp_failure', err, username + \" failed to signup\");\n reject(err);\n }\n else {\n dispatchAuthEvent('signUp', data, username + \" has signed up successfully\");\n if (autoSignIn.enabled) {\n _this.handleAutoSignIn(username, password, autoSignInValidationData, autoSignInClientMetaData, data);\n }\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n AuthClass.prototype.handleAutoSignIn = function (username, password, validationData, clientMetadata, data) {\n this.autoSignInInitiated = true;\n var authDetails = new AuthenticationDetails({\n Username: username,\n Password: password,\n ValidationData: validationData,\n ClientMetadata: clientMetadata,\n });\n if (data.userConfirmed) {\n this.signInAfterUserConfirmed(authDetails);\n }\n else if (this._config.signUpVerificationMethod === 'link') {\n this.handleLinkAutoSignIn(authDetails);\n }\n else {\n this.handleCodeAutoSignIn(authDetails);\n }\n };\n AuthClass.prototype.handleCodeAutoSignIn = function (authDetails) {\n var _this = this;\n var listenEvent = function (_a) {\n var payload = _a.payload;\n if (payload.event === 'confirmSignUp') {\n _this.signInAfterUserConfirmed(authDetails, listenEvent);\n }\n };\n Hub.listen('auth', listenEvent);\n };\n AuthClass.prototype.handleLinkAutoSignIn = function (authDetails) {\n var _this = this;\n this._storage.setItem('amplify-polling-started', 'true');\n var start = Date.now();\n var autoSignInPollingIntervalId = setInterval(function () {\n if (Date.now() - start > MAX_AUTOSIGNIN_POLLING_MS) {\n clearInterval(autoSignInPollingIntervalId);\n dispatchAuthEvent('autoSignIn_failure', null, 'Please confirm your account and use your credentials to sign in.');\n _this._storage.removeItem('amplify-auto-sign-in');\n }\n else {\n _this.signInAfterUserConfirmed(authDetails, null, autoSignInPollingIntervalId);\n }\n }, 5000);\n };\n AuthClass.prototype.signInAfterUserConfirmed = function (authDetails, listenEvent, autoSignInPollingIntervalId) {\n return __awaiter(this, void 0, void 0, function () {\n var user, error_1;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n user = this.createCognitoUser(authDetails.getUsername());\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, user.authenticateUser(authDetails, this.authCallbacks(user, function (value) {\n dispatchAuthEvent('autoSignIn', value, authDetails.getUsername() + \" has signed in successfully\");\n if (listenEvent) {\n Hub.remove('auth', listenEvent);\n }\n if (autoSignInPollingIntervalId) {\n clearInterval(autoSignInPollingIntervalId);\n _this._storage.removeItem('amplify-polling-started');\n }\n _this._storage.removeItem('amplify-auto-sign-in');\n }, function (error) {\n logger.error(error);\n _this._storage.removeItem('amplify-auto-sign-in');\n }))];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n error_1 = _a.sent();\n logger.error(error_1);\n return [3 /*break*/, 4];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Send the verification code to confirm sign up\n * @param {String} username - The username to be confirmed\n * @param {String} code - The verification code\n * @param {ConfirmSignUpOptions} options - other options for confirm signup\n * @return - A promise resolves callback data if success\n */\n AuthClass.prototype.confirmSignUp = function (username, code, options) {\n var _this = this;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n var user = this.createCognitoUser(username);\n var forceAliasCreation = options && typeof options.forceAliasCreation === 'boolean'\n ? options.forceAliasCreation\n : true;\n var clientMetadata;\n if (options && options.clientMetadata) {\n clientMetadata = options.clientMetadata;\n }\n else if (this._config.clientMetadata) {\n clientMetadata = this._config.clientMetadata;\n }\n return new Promise(function (resolve, reject) {\n user.confirmRegistration(code, forceAliasCreation, function (err, data) {\n if (err) {\n reject(err);\n }\n else {\n dispatchAuthEvent('confirmSignUp', data, username + \" has been confirmed successfully\");\n var autoSignIn = _this.isTrueStorageValue('amplify-auto-sign-in');\n if (autoSignIn && !_this.autoSignInInitiated) {\n dispatchAuthEvent('autoSignIn_failure', null, AuthErrorTypes.AutoSignInError);\n _this._storage.removeItem('amplify-auto-sign-in');\n }\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n AuthClass.prototype.isTrueStorageValue = function (value) {\n var item = this._storage.getItem(value);\n return item ? item === 'true' : false;\n };\n /**\n * Resend the verification code\n * @param {String} username - The username to be confirmed\n * @param {ClientMetadata} clientMetadata - Metadata to be passed to Cognito Lambda triggers\n * @return - A promise resolves code delivery details if successful\n */\n AuthClass.prototype.resendSignUp = function (username, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.resendConfirmationCode(function (err, data) {\n if (err) {\n reject(err);\n }\n else {\n resolve(data);\n }\n }, clientMetadata);\n });\n };\n /**\n * Sign in\n * @param {String | SignInOpts} usernameOrSignInOpts - The username to be signed in or the sign in options\n * @param {String} pw - The password of the username\n * @param {ClientMetaData} clientMetadata - Client metadata for custom workflows\n * @return - A promise resolves the CognitoUser\n */\n AuthClass.prototype.signIn = function (usernameOrSignInOpts, pw, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n var username = null;\n var password = null;\n var validationData = {};\n // for backward compatibility\n if (typeof usernameOrSignInOpts === 'string') {\n username = usernameOrSignInOpts;\n password = pw;\n }\n else if (isUsernamePasswordOpts(usernameOrSignInOpts)) {\n if (typeof pw !== 'undefined') {\n logger.warn('The password should be defined under the first parameter object!');\n }\n username = usernameOrSignInOpts.username;\n password = usernameOrSignInOpts.password;\n validationData = usernameOrSignInOpts.validationData;\n }\n else {\n return this.rejectAuthError(AuthErrorTypes.InvalidUsername);\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var authDetails = new AuthenticationDetails({\n Username: username,\n Password: password,\n ValidationData: validationData,\n ClientMetadata: clientMetadata,\n });\n if (password) {\n return this.signInWithPassword(authDetails);\n }\n else {\n return this.signInWithoutPassword(authDetails);\n }\n };\n /**\n * Return an object with the authentication callbacks\n * @param {CognitoUser} user - the cognito user object\n * @param {} resolve - function called when resolving the current step\n * @param {} reject - function called when rejecting the current step\n * @return - an object with the callback methods for user authentication\n */\n AuthClass.prototype.authCallbacks = function (user, resolve, reject) {\n var _this = this;\n var that = this;\n return {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_1, currentUser, e_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n delete user['challengeName'];\n delete user['challengeParam'];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 9]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 9];\n case 4:\n e_1 = _a.sent();\n logger.debug('cannot get cognito credentials', e_1);\n return [3 /*break*/, 9];\n case 5:\n _a.trys.push([5, 7, , 8]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 6:\n currentUser = _a.sent();\n that.user = currentUser;\n dispatchAuthEvent('signIn', currentUser, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(currentUser);\n return [3 /*break*/, 8];\n case 7:\n e_2 = _a.sent();\n logger.error('Failed to get the signed in user', e_2);\n reject(e_2);\n return [3 /*break*/, 8];\n case 8: return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('signIn failure', err);\n dispatchAuthEvent('signIn_failure', err, user.getUsername() + \" failed to signin\");\n reject(err);\n },\n customChallenge: function (challengeParam) {\n logger.debug('signIn custom challenge answer required');\n user['challengeName'] = 'CUSTOM_CHALLENGE';\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaRequired: function (challengeName, challengeParam) {\n logger.debug('signIn MFA required');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaSetup: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n newPasswordRequired: function (userAttributes, requiredAttributes) {\n logger.debug('signIn new password');\n user['challengeName'] = 'NEW_PASSWORD_REQUIRED';\n user['challengeParam'] = {\n userAttributes: userAttributes,\n requiredAttributes: requiredAttributes,\n };\n resolve(user);\n },\n totpRequired: function (challengeName, challengeParam) {\n logger.debug('signIn totpRequired');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n selectMFAType: function (challengeName, challengeParam) {\n logger.debug('signIn selectMFAType', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n };\n };\n /**\n * Sign in with a password\n * @private\n * @param {AuthenticationDetails} authDetails - the user sign in data\n * @return - A promise resolves the CognitoUser object if success or mfa required\n */\n AuthClass.prototype.signInWithPassword = function (authDetails) {\n var _this = this;\n if (this.pendingSignIn) {\n throw new Error('Pending sign-in attempt already in progress');\n }\n var user = this.createCognitoUser(authDetails.getUsername());\n this.pendingSignIn = new Promise(function (resolve, reject) {\n user.authenticateUser(authDetails, _this.authCallbacks(user, function (value) {\n _this.pendingSignIn = null;\n resolve(value);\n }, function (error) {\n _this.pendingSignIn = null;\n reject(error);\n }));\n });\n return this.pendingSignIn;\n };\n /**\n * Sign in without a password\n * @private\n * @param {AuthenticationDetails} authDetails - the user sign in data\n * @return - A promise resolves the CognitoUser object if success or mfa required\n */\n AuthClass.prototype.signInWithoutPassword = function (authDetails) {\n var _this = this;\n var user = this.createCognitoUser(authDetails.getUsername());\n user.setAuthenticationFlowType('CUSTOM_AUTH');\n return new Promise(function (resolve, reject) {\n user.initiateAuth(authDetails, _this.authCallbacks(user, resolve, reject));\n });\n };\n /**\n * This was previously used by an authenticated user to get MFAOptions,\n * but no longer returns a meaningful response. Refer to the documentation for\n * how to setup and use MFA: https://docs.amplify.aws/lib/auth/mfa/q/platform/js\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves the current preferred mfa option if success\n */\n AuthClass.prototype.getMFAOptions = function (user) {\n return new Promise(function (res, rej) {\n user.getMFAOptions(function (err, mfaOptions) {\n if (err) {\n logger.debug('get MFA Options failed', err);\n rej(err);\n return;\n }\n logger.debug('get MFA options success', mfaOptions);\n res(mfaOptions);\n return;\n });\n });\n };\n /**\n * get preferred mfa method\n * @param {CognitoUser} user - the current cognito user\n * @param {GetPreferredMFAOpts} params - options for getting the current user preferred MFA\n */\n AuthClass.prototype.getPreferredMFA = function (user, params) {\n var _this = this;\n var that = this;\n return new Promise(function (res, rej) {\n var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n var bypassCache = params ? params.bypassCache : false;\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_1, mfaType;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting preferred mfa failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_1 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_1.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n mfaType = that._getMfaTypeFromUserData(data);\n if (!mfaType) {\n rej('invalid MFA Type');\n return [2 /*return*/];\n }\n else {\n res(mfaType);\n return [2 /*return*/];\n }\n return [2 /*return*/];\n }\n });\n }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });\n });\n };\n AuthClass.prototype._getMfaTypeFromUserData = function (data) {\n var ret = null;\n var preferredMFA = data.PreferredMfaSetting;\n // if the user has used Auth.setPreferredMFA() to setup the mfa type\n // then the \"PreferredMfaSetting\" would exist in the response\n if (preferredMFA) {\n ret = preferredMFA;\n }\n else {\n // if mfaList exists but empty, then its noMFA\n var mfaList = data.UserMFASettingList;\n if (!mfaList) {\n // if SMS was enabled by using Auth.enableSMS(),\n // the response would contain MFAOptions\n // as for now Cognito only supports for SMS, so we will say it is 'SMS_MFA'\n // if it does not exist, then it should be NOMFA\n var MFAOptions = data.MFAOptions;\n if (MFAOptions) {\n ret = 'SMS_MFA';\n }\n else {\n ret = 'NOMFA';\n }\n }\n else if (mfaList.length === 0) {\n ret = 'NOMFA';\n }\n else {\n logger.debug('invalid case for getPreferredMFA', data);\n }\n }\n return ret;\n };\n AuthClass.prototype._getUserData = function (user, params) {\n var _this = this;\n return new Promise(function (res, rej) {\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_2 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_2.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n res(data);\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); }, params);\n });\n };\n /**\n * set preferred MFA method\n * @param {CognitoUser} user - the current Cognito user\n * @param {string} mfaMethod - preferred mfa method\n * @return - A promise resolve if success\n */\n AuthClass.prototype.setPreferredMFA = function (user, mfaMethod) {\n return __awaiter(this, void 0, void 0, function () {\n var clientMetadata, userData, smsMfaSettings, totpMfaSettings, _a, mfaList, currentMFAType, that;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n clientMetadata = this._config.clientMetadata;\n return [4 /*yield*/, this._getUserData(user, {\n bypassCache: true,\n clientMetadata: clientMetadata,\n })];\n case 1:\n userData = _b.sent();\n smsMfaSettings = null;\n totpMfaSettings = null;\n _a = mfaMethod;\n switch (_a) {\n case 'TOTP': return [3 /*break*/, 2];\n case 'SOFTWARE_TOKEN_MFA': return [3 /*break*/, 2];\n case 'SMS': return [3 /*break*/, 3];\n case 'SMS_MFA': return [3 /*break*/, 3];\n case 'NOMFA': return [3 /*break*/, 4];\n }\n return [3 /*break*/, 6];\n case 2:\n totpMfaSettings = {\n PreferredMfa: true,\n Enabled: true,\n };\n return [3 /*break*/, 7];\n case 3:\n smsMfaSettings = {\n PreferredMfa: true,\n Enabled: true,\n };\n return [3 /*break*/, 7];\n case 4:\n mfaList = userData['UserMFASettingList'];\n return [4 /*yield*/, this._getMfaTypeFromUserData(userData)];\n case 5:\n currentMFAType = _b.sent();\n if (currentMFAType === 'NOMFA') {\n return [2 /*return*/, Promise.resolve('No change for mfa type')];\n }\n else if (currentMFAType === 'SMS_MFA') {\n smsMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else if (currentMFAType === 'SOFTWARE_TOKEN_MFA') {\n totpMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else {\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.InvalidMFA)];\n }\n // if there is a UserMFASettingList in the response\n // we need to disable every mfa type in that list\n if (mfaList && mfaList.length !== 0) {\n // to disable SMS or TOTP if exists in that list\n mfaList.forEach(function (mfaType) {\n if (mfaType === 'SMS_MFA') {\n smsMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n else if (mfaType === 'SOFTWARE_TOKEN_MFA') {\n totpMfaSettings = {\n PreferredMfa: false,\n Enabled: false,\n };\n }\n });\n }\n return [3 /*break*/, 7];\n case 6:\n logger.debug('no validmfa method provided');\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.NoMFA)];\n case 7:\n that = this;\n return [2 /*return*/, new Promise(function (res, rej) {\n user.setUserMfaPreference(smsMfaSettings, totpMfaSettings, function (err, result) {\n if (err) {\n logger.debug('Set user mfa preference error', err);\n return rej(err);\n }\n logger.debug('Set user mfa success', result);\n logger.debug('Caching the latest user data into local');\n // cache the latest result into user data\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_3 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_3.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5: return [2 /*return*/, res(result)];\n }\n });\n }); }, {\n bypassCache: true,\n clientMetadata: clientMetadata,\n });\n });\n })];\n }\n });\n });\n };\n /**\n * disable SMS\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves is success\n */\n AuthClass.prototype.disableSMS = function (user) {\n return new Promise(function (res, rej) {\n user.disableMFA(function (err, data) {\n if (err) {\n logger.debug('disable mfa failed', err);\n rej(err);\n return;\n }\n logger.debug('disable mfa succeed', data);\n res(data);\n return;\n });\n });\n };\n /**\n * enable SMS\n * @deprecated\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves is success\n */\n AuthClass.prototype.enableSMS = function (user) {\n return new Promise(function (res, rej) {\n user.enableMFA(function (err, data) {\n if (err) {\n logger.debug('enable mfa failed', err);\n rej(err);\n return;\n }\n logger.debug('enable mfa succeed', data);\n res(data);\n return;\n });\n });\n };\n /**\n * Setup TOTP\n * @param {CognitoUser} user - the current user\n * @return - A promise resolves with the secret code if success\n */\n AuthClass.prototype.setupTOTP = function (user) {\n return new Promise(function (res, rej) {\n user.associateSoftwareToken({\n onFailure: function (err) {\n logger.debug('associateSoftwareToken failed', err);\n rej(err);\n return;\n },\n associateSecretCode: function (secretCode) {\n logger.debug('associateSoftwareToken sucess', secretCode);\n res(secretCode);\n return;\n },\n });\n });\n };\n /**\n * verify TOTP setup\n * @param {CognitoUser} user - the current user\n * @param {string} challengeAnswer - challenge answer\n * @return - A promise resolves is success\n */\n AuthClass.prototype.verifyTotpToken = function (user, challengeAnswer) {\n logger.debug('verification totp token', user, challengeAnswer);\n return new Promise(function (res, rej) {\n user.verifySoftwareToken(challengeAnswer, 'My TOTP device', {\n onFailure: function (err) {\n logger.debug('verifyTotpToken failed', err);\n rej(err);\n return;\n },\n onSuccess: function (data) {\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n logger.debug('verifyTotpToken success', data);\n res(data);\n return;\n },\n });\n });\n };\n /**\n * Send MFA code to confirm sign in\n * @param {Object} user - The CognitoUser object\n * @param {String} code - The confirmation code\n */\n AuthClass.prototype.confirmSignIn = function (user, code, mfaType, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.sendMFACode(code, {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 6]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 6];\n case 4:\n e_3 = _a.sent();\n logger.debug('cannot get cognito credentials', e_3);\n return [3 /*break*/, 6];\n case 5:\n that.user = user;\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(user);\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('confirm signIn failure', err);\n reject(err);\n },\n }, mfaType, clientMetadata);\n });\n };\n AuthClass.prototype.completeNewPassword = function (user, password, requiredAttributes, clientMetadata) {\n var _this = this;\n if (requiredAttributes === void 0) { requiredAttributes = {}; }\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.completeNewPasswordChallenge(password, requiredAttributes, {\n onSuccess: function (session) { return __awaiter(_this, void 0, void 0, function () {\n var cred, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(session);\n _a.label = 1;\n case 1:\n _a.trys.push([1, 4, 5, 6]);\n return [4 /*yield*/, this.Credentials.clear()];\n case 2:\n _a.sent();\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 3:\n cred = _a.sent();\n logger.debug('succeed to get cognito credentials', cred);\n return [3 /*break*/, 6];\n case 4:\n e_4 = _a.sent();\n logger.debug('cannot get cognito credentials', e_4);\n return [3 /*break*/, 6];\n case 5:\n that.user = user;\n dispatchAuthEvent('signIn', user, \"A user \" + user.getUsername() + \" has been signed in\");\n resolve(user);\n return [7 /*endfinally*/];\n case 6: return [2 /*return*/];\n }\n });\n }); },\n onFailure: function (err) {\n logger.debug('completeNewPassword failure', err);\n dispatchAuthEvent('completeNewPassword_failure', err, _this.user + \" failed to complete the new password flow\");\n reject(err);\n },\n mfaRequired: function (challengeName, challengeParam) {\n logger.debug('signIn MFA required');\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n mfaSetup: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n totpRequired: function (challengeName, challengeParam) {\n logger.debug('signIn mfa setup', challengeName);\n user['challengeName'] = challengeName;\n user['challengeParam'] = challengeParam;\n resolve(user);\n },\n }, clientMetadata);\n });\n };\n /**\n * Send the answer to a custom challenge\n * @param {CognitoUser} user - The CognitoUser object\n * @param {String} challengeResponses - The confirmation code\n */\n AuthClass.prototype.sendCustomChallengeAnswer = function (user, challengeResponses, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!challengeResponses) {\n return this.rejectAuthError(AuthErrorTypes.EmptyChallengeResponse);\n }\n var that = this;\n return new Promise(function (resolve, reject) {\n user.sendCustomChallengeAnswer(challengeResponses, _this.authCallbacks(user, resolve, reject), clientMetadata);\n });\n };\n /**\n * Delete an authenticated users' attributes\n * @param {CognitoUser} - The currently logged in user object\n * @return {Promise}\n **/\n AuthClass.prototype.deleteUserAttributes = function (user, attributeNames) {\n var that = this;\n return new Promise(function (resolve, reject) {\n that.userSession(user).then(function (session) {\n user.deleteAttributes(attributeNames, function (err, result) {\n if (err) {\n return reject(err);\n }\n else {\n return resolve(result);\n }\n });\n });\n });\n };\n /**\n * Delete the current authenticated user\n * @return {Promise}\n **/\n // TODO: Check return type void\n AuthClass.prototype.deleteUser = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_5, isSignedInHostedUI;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._storageSync];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_5 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_5);\n throw new Error(e_5);\n case 3:\n isSignedInHostedUI = this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n return [2 /*return*/, new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {\n var user_1;\n var _this = this;\n return __generator(this, function (_a) {\n if (this.userPool) {\n user_1 = this.userPool.getCurrentUser();\n if (!user_1) {\n logger.debug('Failed to get user from user pool');\n return [2 /*return*/, rej(new Error('No current user.'))];\n }\n else {\n user_1.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_4;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user_1)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_4 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_4.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5:\n user_1.deleteUser(function (err, result) {\n if (err) {\n rej(err);\n }\n else {\n dispatchAuthEvent('userDeleted', result, 'The authenticated user has been deleted.');\n user_1.signOut();\n _this.user = null;\n try {\n _this.cleanCachedItems(); // clean aws credentials\n }\n catch (e) {\n // TODO: change to rejects in refactor\n logger.debug('failed to clear cached items');\n }\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n dispatchAuthEvent('signOut', _this.user, \"A user has been signed out\");\n res(result);\n }\n }\n });\n _a.label = 6;\n case 6: return [2 /*return*/];\n }\n });\n }); });\n }\n }\n else {\n logger.debug('no Congito User pool');\n rej(new Error('Cognito User pool does not exist'));\n }\n return [2 /*return*/];\n });\n }); })];\n }\n });\n });\n };\n /**\n * Update an authenticated users' attributes\n * @param {CognitoUser} - The currently logged in user object\n * @return {Promise}\n **/\n AuthClass.prototype.updateUserAttributes = function (user, attributes, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n var attributeList = [];\n var that = this;\n return new Promise(function (resolve, reject) {\n that.userSession(user).then(function (session) {\n for (var key in attributes) {\n if (key !== 'sub' && key.indexOf('_verified') < 0) {\n var attr = {\n Name: key,\n Value: attributes[key],\n };\n attributeList.push(attr);\n }\n }\n user.updateAttributes(attributeList, function (err, result) {\n if (err) {\n return reject(err);\n }\n else {\n return resolve(result);\n }\n }, clientMetadata);\n });\n });\n };\n /**\n * Return user attributes\n * @param {Object} user - The CognitoUser object\n * @return - A promise resolves to user attributes if success\n */\n AuthClass.prototype.userAttributes = function (user) {\n var _this = this;\n return new Promise(function (resolve, reject) {\n _this.userSession(user).then(function (session) {\n user.getUserAttributes(function (err, attributes) {\n if (err) {\n reject(err);\n }\n else {\n resolve(attributes);\n }\n });\n });\n });\n };\n AuthClass.prototype.verifiedContact = function (user) {\n var that = this;\n return this.userAttributes(user).then(function (attributes) {\n var attrs = that.attributesToObject(attributes);\n var unverified = {};\n var verified = {};\n if (attrs['email']) {\n if (attrs['email_verified']) {\n verified['email'] = attrs['email'];\n }\n else {\n unverified['email'] = attrs['email'];\n }\n }\n if (attrs['phone_number']) {\n if (attrs['phone_number_verified']) {\n verified['phone_number'] = attrs['phone_number'];\n }\n else {\n unverified['phone_number'] = attrs['phone_number'];\n }\n }\n return {\n verified: verified,\n unverified: unverified,\n };\n });\n };\n AuthClass.prototype.isErrorWithMessage = function (err) {\n return (typeof err === 'object' &&\n Object.prototype.hasOwnProperty.call(err, 'message'));\n };\n // Session revoked by another app\n AuthClass.prototype.isTokenRevokedError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Access Token has been revoked');\n };\n AuthClass.prototype.isRefreshTokenRevokedError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Refresh Token has been revoked');\n };\n AuthClass.prototype.isUserDisabledError = function (err) {\n return this.isErrorWithMessage(err) && err.message === 'User is disabled.';\n };\n AuthClass.prototype.isUserDoesNotExistError = function (err) {\n return (this.isErrorWithMessage(err) && err.message === 'User does not exist.');\n };\n AuthClass.prototype.isRefreshTokenExpiredError = function (err) {\n return (this.isErrorWithMessage(err) &&\n err.message === 'Refresh Token has expired');\n };\n AuthClass.prototype.isSignedInHostedUI = function () {\n return (this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true');\n };\n AuthClass.prototype.isSessionInvalid = function (err) {\n return (this.isUserDisabledError(err) ||\n this.isUserDoesNotExistError(err) ||\n this.isTokenRevokedError(err) ||\n this.isRefreshTokenRevokedError(err) ||\n this.isRefreshTokenExpiredError(err));\n };\n AuthClass.prototype.cleanUpInvalidSession = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var e_6;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n user.signOut();\n this.user = null;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanCachedItems()];\n case 2:\n _a.sent(); // clean aws credentials\n return [3 /*break*/, 4];\n case 3:\n e_6 = _a.sent();\n logger.debug('failed to clear cached items');\n return [3 /*break*/, 4];\n case 4:\n if (this.isSignedInHostedUI()) {\n return [2 /*return*/, new Promise(function (res, rej) {\n _this.oAuthSignOutRedirect(res, rej);\n })];\n }\n else {\n dispatchAuthEvent('signOut', this.user, \"A user has been signed out\");\n }\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get current authenticated user\n * @return - A promise resolves to current authenticated CognitoUser if success\n */\n AuthClass.prototype.currentUserPoolUser = function (params) {\n var _this = this;\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n return new Promise(function (res, rej) {\n _this._storageSync\n .then(function () { return __awaiter(_this, void 0, void 0, function () {\n var user, session, bypassCache, clientMetadata, _a, scope, err_1;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (!this.isOAuthInProgress()) return [3 /*break*/, 2];\n logger.debug('OAuth signIn in progress, waiting for resolution...');\n return [4 /*yield*/, new Promise(function (res) {\n var timeoutId = setTimeout(function () {\n logger.debug('OAuth signIn in progress timeout');\n Hub.remove('auth', hostedUISignCallback);\n res();\n }, OAUTH_FLOW_MS_TIMEOUT);\n Hub.listen('auth', hostedUISignCallback);\n function hostedUISignCallback(_a) {\n var payload = _a.payload;\n var event = payload.event;\n if (event === 'cognitoHostedUI' ||\n event === 'cognitoHostedUI_failure') {\n logger.debug(\"OAuth signIn resolved: \" + event);\n clearTimeout(timeoutId);\n Hub.remove('auth', hostedUISignCallback);\n res();\n }\n }\n })];\n case 1:\n _b.sent();\n _b.label = 2;\n case 2:\n user = this.userPool.getCurrentUser();\n if (!user) {\n logger.debug('Failed to get user from user pool');\n rej('No current user');\n return [2 /*return*/];\n }\n _b.label = 3;\n case 3:\n _b.trys.push([3, 7, , 8]);\n return [4 /*yield*/, this._userSession(user)];\n case 4:\n session = _b.sent();\n bypassCache = params ? params.bypassCache : false;\n if (!bypassCache) return [3 /*break*/, 6];\n return [4 /*yield*/, this.Credentials.clear()];\n case 5:\n _b.sent();\n _b.label = 6;\n case 6:\n clientMetadata = this._config.clientMetadata;\n _a = session.getAccessToken().decodePayload().scope, scope = _a === void 0 ? '' : _a;\n if (scope.split(' ').includes(USER_ADMIN_SCOPE)) {\n user.getUserData(function (err, data) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_5, preferredMFA, attributeList, i, attribute, userAttribute, attributes;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 7];\n logger.debug('getting user data failed', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 5];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_5 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_5.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [3 /*break*/, 6];\n case 5:\n res(user);\n _a.label = 6;\n case 6: return [2 /*return*/];\n case 7:\n preferredMFA = data.PreferredMfaSetting || 'NOMFA';\n attributeList = [];\n for (i = 0; i < data.UserAttributes.length; i++) {\n attribute = {\n Name: data.UserAttributes[i].Name,\n Value: data.UserAttributes[i].Value,\n };\n userAttribute = new CognitoUserAttribute(attribute);\n attributeList.push(userAttribute);\n }\n attributes = this.attributesToObject(attributeList);\n Object.assign(user, { attributes: attributes, preferredMFA: preferredMFA });\n return [2 /*return*/, res(user)];\n }\n });\n }); }, { bypassCache: bypassCache, clientMetadata: clientMetadata });\n }\n else {\n logger.debug(\"Unable to get the user data because the \" + USER_ADMIN_SCOPE + \" \" +\n \"is not in the scopes of the access token\");\n return [2 /*return*/, res(user)];\n }\n return [3 /*break*/, 8];\n case 7:\n err_1 = _b.sent();\n rej(err_1);\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n }); })\n .catch(function (e) {\n logger.debug('Failed to sync cache info into memory', e);\n return rej(e);\n });\n });\n };\n AuthClass.prototype.isOAuthInProgress = function () {\n return this.oAuthFlowInProgress;\n };\n /**\n * Get current authenticated user\n * @param {CurrentUserOpts} - options for getting the current user\n * @return - A promise resolves to current authenticated CognitoUser if success\n */\n AuthClass.prototype.currentAuthenticatedUser = function (params) {\n return __awaiter(this, void 0, void 0, function () {\n var federatedUser, e_7, federatedInfo, user, e_8;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('getting current authenticated user');\n federatedUser = null;\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_7 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_7);\n throw e_7;\n case 4:\n try {\n federatedInfo = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo'));\n if (federatedInfo) {\n federatedUser = __assign(__assign({}, federatedInfo.user), { token: federatedInfo.token });\n }\n }\n catch (e) {\n logger.debug('cannot load federated user from auth storage');\n }\n if (!federatedUser) return [3 /*break*/, 5];\n this.user = federatedUser;\n logger.debug('get current authenticated federated user', this.user);\n return [2 /*return*/, this.user];\n case 5:\n logger.debug('get current authenticated userpool user');\n user = null;\n _a.label = 6;\n case 6:\n _a.trys.push([6, 8, , 9]);\n return [4 /*yield*/, this.currentUserPoolUser(params)];\n case 7:\n user = _a.sent();\n return [3 /*break*/, 9];\n case 8:\n e_8 = _a.sent();\n if (e_8 === 'No userPool') {\n logger.error('Cannot get the current user because the user pool is missing. ' +\n 'Please make sure the Auth module is configured with a valid Cognito User Pool ID');\n }\n logger.debug('The user is not authenticated by the error', e_8);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 9:\n this.user = user;\n return [2 /*return*/, this.user];\n }\n });\n });\n };\n /**\n * Get current user's session\n * @return - A promise resolves to session object if success\n */\n AuthClass.prototype.currentSession = function () {\n var that = this;\n logger.debug('Getting current session');\n // Purposely not calling the reject method here because we don't need a console error\n if (!this.userPool) {\n return Promise.reject(new Error('No User Pool in the configuration.'));\n }\n return new Promise(function (res, rej) {\n that\n .currentUserPoolUser()\n .then(function (user) {\n that\n .userSession(user)\n .then(function (session) {\n res(session);\n return;\n })\n .catch(function (e) {\n logger.debug('Failed to get the current session', e);\n rej(e);\n return;\n });\n })\n .catch(function (e) {\n logger.debug('Failed to get the current user', e);\n rej(e);\n return;\n });\n });\n };\n AuthClass.prototype._userSession = function (user) {\n return __awaiter(this, void 0, void 0, function () {\n var clientMetadata, userSession;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!user) {\n logger.debug('the user is null');\n return [2 /*return*/, this.rejectAuthError(AuthErrorTypes.NoUserSession)];\n }\n clientMetadata = this._config.clientMetadata;\n // Debouncing the concurrent userSession calls by caching the promise.\n // This solution assumes users will always call this function with the same CognitoUser instance.\n if (this.inflightSessionPromiseCounter === 0) {\n this.inflightSessionPromise = new Promise(function (res, rej) {\n user.getSession(function (err, session) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_6;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('Failed to get the session from user', user);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_6 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_6.message));\n return [2 /*return*/];\n case 4:\n rej(err);\n return [2 /*return*/];\n case 5:\n logger.debug('Succeed to get the user session', session);\n res(session);\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n });\n }\n this.inflightSessionPromiseCounter++;\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 3, 4]);\n return [4 /*yield*/, this.inflightSessionPromise];\n case 2:\n userSession = _a.sent();\n // Set private member. Avoid user.setSignInUserSession() to prevent excessive localstorage refresh.\n // @ts-ignore\n user.signInUserSession = userSession;\n return [2 /*return*/, userSession];\n case 3:\n this.inflightSessionPromiseCounter--;\n return [7 /*endfinally*/];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Get the corresponding user session\n * @param {Object} user - The CognitoUser object\n * @return - A promise resolves to the session\n */\n AuthClass.prototype.userSession = function (user) {\n return this._userSession(user);\n };\n /**\n * Get authenticated credentials of current user.\n * @return - A promise resolves to be current user's credentials\n */\n AuthClass.prototype.currentUserCredentials = function () {\n return __awaiter(this, void 0, void 0, function () {\n var e_9, federatedInfo;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug('Getting current user credentials');\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this._storageSync];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n e_9 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_9);\n throw e_9;\n case 4:\n federatedInfo = null;\n try {\n federatedInfo = JSON.parse(this._storage.getItem('aws-amplify-federatedInfo'));\n }\n catch (e) {\n logger.debug('failed to get or parse item aws-amplify-federatedInfo', e);\n }\n if (federatedInfo) {\n // refresh the jwt token here if necessary\n return [2 /*return*/, this.Credentials.refreshFederatedToken(federatedInfo)];\n }\n else {\n return [2 /*return*/, this.currentSession()\n .then(function (session) {\n logger.debug('getting session success', session);\n return _this.Credentials.set(session, 'session');\n })\n .catch(function () {\n logger.debug('getting guest credentials');\n return _this.Credentials.set(null, 'guest');\n })];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.currentCredentials = function () {\n logger.debug('getting current credentials');\n return this.Credentials.get();\n };\n /**\n * Initiate an attribute confirmation request\n * @param {Object} user - The CognitoUser\n * @param {Object} attr - The attributes to be verified\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyUserAttribute = function (user, attr, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n return new Promise(function (resolve, reject) {\n user.getAttributeVerificationCode(attr, {\n onSuccess: function (success) {\n return resolve(success);\n },\n onFailure: function (err) {\n return reject(err);\n },\n }, clientMetadata);\n });\n };\n /**\n * Confirm an attribute using a confirmation code\n * @param {Object} user - The CognitoUser\n * @param {Object} attr - The attribute to be verified\n * @param {String} code - The confirmation code\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyUserAttributeSubmit = function (user, attr, code) {\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n return new Promise(function (resolve, reject) {\n user.verifyAttribute(attr, code, {\n onSuccess: function (data) {\n resolve(data);\n return;\n },\n onFailure: function (err) {\n reject(err);\n return;\n },\n });\n });\n };\n AuthClass.prototype.verifyCurrentUserAttribute = function (attr) {\n var that = this;\n return that\n .currentUserPoolUser()\n .then(function (user) { return that.verifyUserAttribute(user, attr); });\n };\n /**\n * Confirm current user's attribute using a confirmation code\n * @param {Object} attr - The attribute to be verified\n * @param {String} code - The confirmation code\n * @return - A promise resolves to callback data if success\n */\n AuthClass.prototype.verifyCurrentUserAttributeSubmit = function (attr, code) {\n var that = this;\n return that\n .currentUserPoolUser()\n .then(function (user) { return that.verifyUserAttributeSubmit(user, attr, code); });\n };\n AuthClass.prototype.cognitoIdentitySignOut = function (opts, user) {\n return __awaiter(this, void 0, void 0, function () {\n var e_10, isSignedInHostedUI;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this._storageSync];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_10 = _a.sent();\n logger.debug('Failed to sync cache info into memory', e_10);\n throw e_10;\n case 3:\n isSignedInHostedUI = this._oAuthHandler &&\n this._storage.getItem('amplify-signin-with-hostedUI') === 'true';\n return [2 /*return*/, new Promise(function (res, rej) {\n if (opts && opts.global) {\n logger.debug('user global sign out', user);\n // in order to use global signout\n // we must validate the user as an authenticated user by using getSession\n var clientMetadata = _this._config.clientMetadata; // TODO: verify behavior if this is override during signIn\n user.getSession(function (err, result) { return __awaiter(_this, void 0, void 0, function () {\n var cleanUpError_7;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!err) return [3 /*break*/, 5];\n logger.debug('failed to get the user session', err);\n if (!this.isSessionInvalid(err)) return [3 /*break*/, 4];\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, , 4]);\n return [4 /*yield*/, this.cleanUpInvalidSession(user)];\n case 2:\n _a.sent();\n return [3 /*break*/, 4];\n case 3:\n cleanUpError_7 = _a.sent();\n rej(new Error(\"Session is invalid due to: \" + err.message + \" and failed to clean up invalid session: \" + cleanUpError_7.message));\n return [2 /*return*/];\n case 4: return [2 /*return*/, rej(err)];\n case 5:\n user.globalSignOut({\n onSuccess: function (data) {\n logger.debug('global sign out success');\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n return res();\n }\n },\n onFailure: function (err) {\n logger.debug('global sign out failed', err);\n return rej(err);\n },\n });\n return [2 /*return*/];\n }\n });\n }); }, { clientMetadata: clientMetadata });\n }\n else {\n logger.debug('user sign out', user);\n user.signOut(function () {\n if (isSignedInHostedUI) {\n _this.oAuthSignOutRedirect(res, rej);\n }\n else {\n return res();\n }\n });\n }\n })];\n }\n });\n });\n };\n AuthClass.prototype.oAuthSignOutRedirect = function (resolve, reject) {\n var isBrowser = browserOrNode().isBrowser;\n if (isBrowser) {\n this.oAuthSignOutRedirectOrReject(reject);\n }\n else {\n this.oAuthSignOutAndResolve(resolve);\n }\n };\n AuthClass.prototype.oAuthSignOutAndResolve = function (resolve) {\n this._oAuthHandler.signOut();\n resolve();\n };\n AuthClass.prototype.oAuthSignOutRedirectOrReject = function (reject) {\n this._oAuthHandler.signOut(); // this method redirects url\n // App should be redirected to another url otherwise it will reject\n setTimeout(function () { return reject(Error('Signout timeout fail')); }, 3000);\n };\n /**\n * Sign out method\n * @\n * @return - A promise resolved if success\n */\n AuthClass.prototype.signOut = function (opts) {\n return __awaiter(this, void 0, void 0, function () {\n var e_11, user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.cleanCachedItems()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_11 = _a.sent();\n logger.debug('failed to clear cached items');\n return [3 /*break*/, 3];\n case 3:\n if (!this.userPool) return [3 /*break*/, 7];\n user = this.userPool.getCurrentUser();\n if (!user) return [3 /*break*/, 5];\n return [4 /*yield*/, this.cognitoIdentitySignOut(opts, user)];\n case 4:\n _a.sent();\n return [3 /*break*/, 6];\n case 5:\n logger.debug('no current Cognito user');\n _a.label = 6;\n case 6: return [3 /*break*/, 8];\n case 7:\n logger.debug('no Cognito User pool');\n _a.label = 8;\n case 8:\n /**\n * Note for future refactor - no reliable way to get username with\n * Cognito User Pools vs Identity when federating with Social Providers\n * This is why we need a well structured session object that can be inspected\n * and information passed back in the message below for Hub dispatch\n */\n dispatchAuthEvent('signOut', this.user, \"A user has been signed out\");\n this.user = null;\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.cleanCachedItems = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: \n // clear cognito cached item\n return [4 /*yield*/, this.Credentials.clear()];\n case 1:\n // clear cognito cached item\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Change a password for an authenticated user\n * @param {Object} user - The CognitoUser object\n * @param {String} oldPassword - the current password\n * @param {String} newPassword - the requested new password\n * @return - A promise resolves if success\n */\n AuthClass.prototype.changePassword = function (user, oldPassword, newPassword, clientMetadata) {\n var _this = this;\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n return new Promise(function (resolve, reject) {\n _this.userSession(user).then(function (session) {\n user.changePassword(oldPassword, newPassword, function (err, data) {\n if (err) {\n logger.debug('change password failure', err);\n return reject(err);\n }\n else {\n return resolve(data);\n }\n }, clientMetadata);\n });\n });\n };\n /**\n * Initiate a forgot password request\n * @param {String} username - the username to change password\n * @return - A promise resolves if success\n */\n AuthClass.prototype.forgotPassword = function (username, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.forgotPassword({\n onSuccess: function () {\n resolve();\n return;\n },\n onFailure: function (err) {\n logger.debug('forgot password failure', err);\n dispatchAuthEvent('forgotPassword_failure', err, username + \" forgotPassword failed\");\n reject(err);\n return;\n },\n inputVerificationCode: function (data) {\n dispatchAuthEvent('forgotPassword', user, username + \" has initiated forgot password flow\");\n resolve(data);\n return;\n },\n }, clientMetadata);\n });\n };\n /**\n * Confirm a new password using a confirmation Code\n * @param {String} username - The username\n * @param {String} code - The confirmation code\n * @param {String} password - The new password\n * @return - A promise that resolves if success\n */\n AuthClass.prototype.forgotPasswordSubmit = function (username, code, password, clientMetadata) {\n if (clientMetadata === void 0) { clientMetadata = this._config.clientMetadata; }\n if (!this.userPool) {\n return this.rejectNoUserPool();\n }\n if (!username) {\n return this.rejectAuthError(AuthErrorTypes.EmptyUsername);\n }\n if (!code) {\n return this.rejectAuthError(AuthErrorTypes.EmptyCode);\n }\n if (!password) {\n return this.rejectAuthError(AuthErrorTypes.EmptyPassword);\n }\n var user = this.createCognitoUser(username);\n return new Promise(function (resolve, reject) {\n user.confirmPassword(code, password, {\n onSuccess: function (success) {\n dispatchAuthEvent('forgotPasswordSubmit', user, username + \" forgotPasswordSubmit successful\");\n resolve(success);\n return;\n },\n onFailure: function (err) {\n dispatchAuthEvent('forgotPasswordSubmit_failure', err, username + \" forgotPasswordSubmit failed\");\n reject(err);\n return;\n },\n }, clientMetadata);\n });\n };\n /**\n * Get user information\n * @async\n * @return {Object }- current User's information\n */\n AuthClass.prototype.currentUserInfo = function () {\n return __awaiter(this, void 0, void 0, function () {\n var source, user, attributes, userAttrs, credentials, e_12, info, err_2, user;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n source = this.Credentials.getCredSource();\n if (!(!source || source === 'aws' || source === 'userPool')) return [3 /*break*/, 9];\n return [4 /*yield*/, this.currentUserPoolUser().catch(function (err) {\n return logger.error(err);\n })];\n case 1:\n user = _a.sent();\n if (!user) {\n return [2 /*return*/, null];\n }\n _a.label = 2;\n case 2:\n _a.trys.push([2, 8, , 9]);\n return [4 /*yield*/, this.userAttributes(user)];\n case 3:\n attributes = _a.sent();\n userAttrs = this.attributesToObject(attributes);\n credentials = null;\n _a.label = 4;\n case 4:\n _a.trys.push([4, 6, , 7]);\n return [4 /*yield*/, this.currentCredentials()];\n case 5:\n credentials = _a.sent();\n return [3 /*break*/, 7];\n case 6:\n e_12 = _a.sent();\n logger.debug('Failed to retrieve credentials while getting current user info', e_12);\n return [3 /*break*/, 7];\n case 7:\n info = {\n id: credentials ? credentials.identityId : undefined,\n username: user.getUsername(),\n attributes: userAttrs,\n };\n return [2 /*return*/, info];\n case 8:\n err_2 = _a.sent();\n logger.error('currentUserInfo error', err_2);\n return [2 /*return*/, {}];\n case 9:\n if (source === 'federated') {\n user = this.user;\n return [2 /*return*/, user ? user : {}];\n }\n return [2 /*return*/];\n }\n });\n });\n };\n AuthClass.prototype.federatedSignIn = function (providerOrOptions, response, user) {\n return __awaiter(this, void 0, void 0, function () {\n var options, provider, customState, client_id, redirect_uri, provider, loggedInUser, token, identity_id, expires_at, credentials, currentUser;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!this._config.identityPoolId && !this._config.userPoolId) {\n throw new Error(\"Federation requires either a User Pool or Identity Pool in config\");\n }\n // Ensure backwards compatability\n if (typeof providerOrOptions === 'undefined') {\n if (this._config.identityPoolId && !this._config.userPoolId) {\n throw new Error(\"Federation with Identity Pools requires tokens passed as arguments\");\n }\n }\n if (!(isFederatedSignInOptions(providerOrOptions) ||\n isFederatedSignInOptionsCustom(providerOrOptions) ||\n hasCustomState(providerOrOptions) ||\n typeof providerOrOptions === 'undefined')) return [3 /*break*/, 1];\n options = providerOrOptions || {\n provider: CognitoHostedUIIdentityProvider.Cognito,\n };\n provider = isFederatedSignInOptions(options)\n ? options.provider\n : options.customProvider;\n customState = isFederatedSignInOptions(options)\n ? options.customState\n : options.customState;\n if (this._config.userPoolId) {\n client_id = isCognitoHostedOpts(this._config.oauth)\n ? this._config.userPoolWebClientId\n : this._config.oauth.clientID;\n redirect_uri = isCognitoHostedOpts(this._config.oauth)\n ? this._config.oauth.redirectSignIn\n : this._config.oauth.redirectUri;\n this._oAuthHandler.oauthSignIn(this._config.oauth.responseType, this._config.oauth.domain, redirect_uri, client_id, provider, customState);\n }\n return [3 /*break*/, 4];\n case 1:\n provider = providerOrOptions;\n // To check if the user is already logged in\n try {\n loggedInUser = JSON.stringify(JSON.parse(this._storage.getItem('aws-amplify-federatedInfo')).user);\n if (loggedInUser) {\n logger.warn(\"There is already a signed in user: \" + loggedInUser + \" in your app.\\n\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\t\\tYou should not call Auth.federatedSignIn method again as it may cause unexpected behavior.\");\n }\n }\n catch (e) { }\n token = response.token, identity_id = response.identity_id, expires_at = response.expires_at;\n return [4 /*yield*/, this.Credentials.set({ provider: provider, token: token, identity_id: identity_id, user: user, expires_at: expires_at }, 'federation')];\n case 2:\n credentials = _a.sent();\n return [4 /*yield*/, this.currentAuthenticatedUser()];\n case 3:\n currentUser = _a.sent();\n dispatchAuthEvent('signIn', currentUser, \"A user \" + currentUser.username + \" has been signed in\");\n logger.debug('federated sign in credentials', credentials);\n return [2 /*return*/, credentials];\n case 4: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Used to complete the OAuth flow with or without the Cognito Hosted UI\n * @param {String} URL - optional parameter for customers to pass in the response URL\n */\n AuthClass.prototype._handleAuthResponse = function (URL) {\n return __awaiter(this, void 0, void 0, function () {\n var currentUrl, hasCodeOrError, hasTokenOrError, _a, accessToken, idToken, refreshToken, state, session, credentials, isCustomStateIncluded, currentUser, customState, err_3;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (this.oAuthFlowInProgress) {\n logger.debug(\"Skipping URL \" + URL + \" current flow in progress\");\n return [2 /*return*/];\n }\n _b.label = 1;\n case 1:\n _b.trys.push([1, , 8, 9]);\n this.oAuthFlowInProgress = true;\n if (!this._config.userPoolId) {\n throw new Error(\"OAuth responses require a User Pool defined in config\");\n }\n dispatchAuthEvent('parsingCallbackUrl', { url: URL }, \"The callback url is being parsed\");\n currentUrl = URL || (browserOrNode().isBrowser ? window.location.href : '');\n hasCodeOrError = !!(parse(currentUrl).query || '')\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .find(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k === 'code' || k === 'error';\n });\n hasTokenOrError = !!(parse(currentUrl).hash || '#')\n .substr(1)\n .split('&')\n .map(function (entry) { return entry.split('='); })\n .find(function (_a) {\n var _b = __read(_a, 1), k = _b[0];\n return k === 'access_token' || k === 'error';\n });\n if (!(hasCodeOrError || hasTokenOrError)) return [3 /*break*/, 7];\n this._storage.setItem('amplify-redirected-from-hosted-ui', 'true');\n _b.label = 2;\n case 2:\n _b.trys.push([2, 6, , 7]);\n return [4 /*yield*/, this._oAuthHandler.handleAuthResponse(currentUrl)];\n case 3:\n _a = _b.sent(), accessToken = _a.accessToken, idToken = _a.idToken, refreshToken = _a.refreshToken, state = _a.state;\n session = new CognitoUserSession({\n IdToken: new CognitoIdToken({ IdToken: idToken }),\n RefreshToken: new CognitoRefreshToken({\n RefreshToken: refreshToken,\n }),\n AccessToken: new CognitoAccessToken({\n AccessToken: accessToken,\n }),\n });\n credentials = void 0;\n if (!this._config.identityPoolId) return [3 /*break*/, 5];\n return [4 /*yield*/, this.Credentials.set(session, 'session')];\n case 4:\n credentials = _b.sent();\n logger.debug('AWS credentials', credentials);\n _b.label = 5;\n case 5:\n isCustomStateIncluded = /-/.test(state);\n currentUser = this.createCognitoUser(session.getIdToken().decodePayload()['cognito:username']);\n // This calls cacheTokens() in Cognito SDK\n currentUser.setSignInUserSession(session);\n if (window && typeof window.history !== 'undefined') {\n window.history.replaceState({}, null, this._config.oauth.redirectSignIn);\n }\n dispatchAuthEvent('signIn', currentUser, \"A user \" + currentUser.getUsername() + \" has been signed in\");\n dispatchAuthEvent('cognitoHostedUI', currentUser, \"A user \" + currentUser.getUsername() + \" has been signed in via Cognito Hosted UI\");\n if (isCustomStateIncluded) {\n customState = state.split('-').splice(1).join('-');\n dispatchAuthEvent('customOAuthState', urlSafeDecode(customState), \"State for user \" + currentUser.getUsername());\n }\n //#endregion\n return [2 /*return*/, credentials];\n case 6:\n err_3 = _b.sent();\n logger.debug('Error in cognito hosted auth response', err_3);\n // Just like a successful handling of `?code`, replace the window history to \"dispose\" of the `code`.\n // Otherwise, reloading the page will throw errors as the `code` has already been spent.\n if (window && typeof window.history !== 'undefined') {\n window.history.replaceState({}, null, this._config.oauth.redirectSignIn);\n }\n dispatchAuthEvent('signIn_failure', err_3, \"The OAuth response flow failed\");\n dispatchAuthEvent('cognitoHostedUI_failure', err_3, \"A failure occurred when returning to the Cognito Hosted UI\");\n dispatchAuthEvent('customState_failure', err_3, \"A failure occurred when returning state\");\n return [3 /*break*/, 7];\n case 7: return [3 /*break*/, 9];\n case 8:\n this.oAuthFlowInProgress = false;\n return [7 /*endfinally*/];\n case 9: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Compact version of credentials\n * @param {Object} credentials\n * @return {Object} - Credentials\n */\n AuthClass.prototype.essentialCredentials = function (credentials) {\n return {\n accessKeyId: credentials.accessKeyId,\n sessionToken: credentials.sessionToken,\n secretAccessKey: credentials.secretAccessKey,\n identityId: credentials.identityId,\n authenticated: credentials.authenticated,\n };\n };\n AuthClass.prototype.attributesToObject = function (attributes) {\n var _this = this;\n var obj = {};\n if (attributes) {\n attributes.map(function (attribute) {\n if (attribute.Name === 'email_verified' ||\n attribute.Name === 'phone_number_verified') {\n obj[attribute.Name] =\n _this.isTruthyString(attribute.Value) || attribute.Value === true;\n }\n else {\n obj[attribute.Name] = attribute.Value;\n }\n });\n }\n return obj;\n };\n AuthClass.prototype.isTruthyString = function (value) {\n return (typeof value.toLowerCase === 'function' && value.toLowerCase() === 'true');\n };\n AuthClass.prototype.createCognitoUser = function (username) {\n var userData = {\n Username: username,\n Pool: this.userPool,\n };\n userData.Storage = this._storage;\n var authenticationFlowType = this._config.authenticationFlowType;\n var user = new CognitoUser(userData);\n if (authenticationFlowType) {\n user.setAuthenticationFlowType(authenticationFlowType);\n }\n return user;\n };\n AuthClass.prototype._isValidAuthStorage = function (obj) {\n // We need to check if the obj has the functions of Storage\n return (!!obj &&\n typeof obj.getItem === 'function' &&\n typeof obj.setItem === 'function' &&\n typeof obj.removeItem === 'function' &&\n typeof obj.clear === 'function');\n };\n AuthClass.prototype.noUserPoolErrorHandler = function (config) {\n if (config) {\n if (!config.userPoolId || !config.identityPoolId) {\n return AuthErrorTypes.MissingAuthConfig;\n }\n }\n return AuthErrorTypes.NoConfig;\n };\n AuthClass.prototype.rejectAuthError = function (type) {\n return Promise.reject(new AuthError(type));\n };\n AuthClass.prototype.rejectNoUserPool = function () {\n var type = this.noUserPoolErrorHandler(this._config);\n return Promise.reject(new NoUserPoolError(type));\n };\n AuthClass.prototype.rememberDevice = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_2;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_2 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_2);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n currUser.setDeviceStatusRemembered({\n onSuccess: function (data) {\n res(data);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n });\n })];\n }\n });\n });\n };\n AuthClass.prototype.forgetDevice = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_3 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_3);\n return [2 /*return*/, Promise.reject('The user is not authenticated')];\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n currUser.forgetDevice({\n onSuccess: function (data) {\n res(data);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n });\n })];\n }\n });\n });\n };\n AuthClass.prototype.fetchDevices = function () {\n return __awaiter(this, void 0, void 0, function () {\n var currUser, error_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, this.currentUserPoolUser()];\n case 1:\n currUser = _a.sent();\n return [3 /*break*/, 3];\n case 2:\n error_4 = _a.sent();\n logger.debug('The user is not authenticated by the error', error_4);\n throw new Error('The user is not authenticated');\n case 3:\n currUser.getCachedDeviceKeyAndPassword();\n return [2 /*return*/, new Promise(function (res, rej) {\n var cb = {\n onSuccess: function (data) {\n var deviceList = data.Devices.map(function (device) {\n var deviceName = device.DeviceAttributes.find(function (_a) {\n var Name = _a.Name;\n return Name === 'device_name';\n }) || {};\n var deviceInfo = {\n id: device.DeviceKey,\n name: deviceName.Value,\n };\n return deviceInfo;\n });\n res(deviceList);\n },\n onFailure: function (err) {\n if (err.code === 'InvalidParameterException') {\n rej(new AuthError(AuthErrorTypes.DeviceConfig));\n }\n else if (err.code === 'NetworkError') {\n rej(new AuthError(AuthErrorTypes.NetworkError));\n }\n else {\n rej(err);\n }\n },\n };\n currUser.listDevices(MAX_DEVICES, null, cb);\n })];\n }\n });\n });\n };\n return AuthClass;\n}());\nexport { AuthClass };\nexport var Auth = new AuthClass(null);\nAmplify.register(Auth);\n//# sourceMappingURL=Auth.js.map","// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { browserOrNode } from '@aws-amplify/core';\nexport default (function (callback) {\n if (browserOrNode().isBrowser && window.location) {\n var url = window.location.href;\n callback({ url: url });\n }\n else if (browserOrNode().isNode) {\n // continue building on ssr\n (function () { }); // noop\n }\n else {\n throw new Error('Not supported');\n }\n});\n//# sourceMappingURL=urlListener.js.map","import { __assign, __awaiter, __extends, __generator, __read } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport Observable from 'zen-observable-ts';\nimport { GraphQLError } from 'graphql';\nimport * as url from 'url';\nimport { v4 as uuid } from 'uuid';\nimport { Buffer } from 'buffer';\nimport { Logger, Credentials, Signer, Hub, Constants, USER_AGENT_HEADER, jitteredExponentialRetry, NonRetryableError, isNonRetryableError, } from '@aws-amplify/core';\nimport { Cache } from '@aws-amplify/cache';\nimport { Auth } from '@aws-amplify/auth';\nimport { AbstractPubSubProvider } from '../PubSubProvider';\nimport { CONTROL_MSG, ConnectionState } from '../../types/PubSub';\nimport { AMPLIFY_SYMBOL, AWS_APPSYNC_REALTIME_HEADERS, CONNECTION_INIT_TIMEOUT, DEFAULT_KEEP_ALIVE_TIMEOUT, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT, MAX_DELAY_MS, MESSAGE_TYPES, NON_RETRYABLE_CODES, SOCKET_STATUS, START_ACK_TIMEOUT, SUBSCRIPTION_STATUS, CONNECTION_STATE_CHANGE, } from '../constants';\nimport { ConnectionStateMonitor, CONNECTION_CHANGE, } from '../../utils/ConnectionStateMonitor';\nimport { ReconnectEvent, ReconnectionMonitor, } from '../../utils/ReconnectionMonitor';\nvar logger = new Logger('AWSAppSyncRealTimeProvider');\nvar dispatchApiEvent = function (event, data, message) {\n Hub.dispatch('api', { event: event, data: data, message: message }, 'PubSub', AMPLIFY_SYMBOL);\n};\nvar standardDomainPattern = /^https:\\/\\/\\w{26}\\.appsync\\-api\\.\\w{2}(?:(?:\\-\\w{2,})+)\\-\\d\\.amazonaws.com\\/graphql$/i;\nvar customDomainPath = '/realtime';\nvar AWSAppSyncRealTimeProvider = /** @class */ (function (_super) {\n __extends(AWSAppSyncRealTimeProvider, _super);\n function AWSAppSyncRealTimeProvider(options) {\n if (options === void 0) { options = {}; }\n var _this = _super.call(this, options) || this;\n _this.socketStatus = SOCKET_STATUS.CLOSED;\n _this.keepAliveTimeout = DEFAULT_KEEP_ALIVE_TIMEOUT;\n _this.subscriptionObserverMap = new Map();\n _this.promiseArray = [];\n _this.connectionStateMonitor = new ConnectionStateMonitor();\n _this.reconnectionMonitor = new ReconnectionMonitor();\n // Monitor the connection state and pass changes along to Hub\n _this.connectionStateMonitorSubscription =\n _this.connectionStateMonitor.connectionStateObservable.subscribe(function (connectionState) {\n dispatchApiEvent(CONNECTION_STATE_CHANGE, {\n provider: _this,\n connectionState: connectionState,\n }, \"Connection state is \" + connectionState);\n _this.connectionState = connectionState;\n // Trigger START_RECONNECT when the connection is disrupted\n if (connectionState === ConnectionState.ConnectionDisrupted) {\n _this.reconnectionMonitor.record(ReconnectEvent.START_RECONNECT);\n }\n // Trigger HALT_RECONNECT to halt reconnection attempts when the state is anything other than\n // ConnectionDisrupted or Connecting\n if ([\n ConnectionState.Connected,\n ConnectionState.ConnectedPendingDisconnect,\n ConnectionState.ConnectedPendingKeepAlive,\n ConnectionState.ConnectedPendingNetwork,\n ConnectionState.ConnectedPendingNetwork,\n ConnectionState.ConnectionDisruptedPendingNetwork,\n ConnectionState.Disconnected,\n ].includes(connectionState)) {\n _this.reconnectionMonitor.record(ReconnectEvent.HALT_RECONNECT);\n }\n });\n return _this;\n }\n /**\n * Mark the socket closed and release all active listeners\n */\n AWSAppSyncRealTimeProvider.prototype.close = function () {\n // Mark the socket closed both in status and the connection monitor\n this.socketStatus = SOCKET_STATUS.CLOSED;\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n // Turn off the subscription monitor Hub publishing\n this.connectionStateMonitorSubscription.unsubscribe();\n // Complete all reconnect observers\n this.reconnectionMonitor.close();\n };\n AWSAppSyncRealTimeProvider.prototype.getNewWebSocket = function (url, protocol) {\n return new WebSocket(url, protocol);\n };\n AWSAppSyncRealTimeProvider.prototype.getProviderName = function () {\n return 'AWSAppSyncRealTimeProvider';\n };\n AWSAppSyncRealTimeProvider.prototype.newClient = function () {\n throw new Error('Not used here');\n };\n AWSAppSyncRealTimeProvider.prototype.publish = function (_topics, _msg, _options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n throw new Error('Operation not supported');\n });\n });\n };\n // Check if url matches standard domain pattern\n AWSAppSyncRealTimeProvider.prototype.isCustomDomain = function (url) {\n return url.match(standardDomainPattern) === null;\n };\n AWSAppSyncRealTimeProvider.prototype.subscribe = function (_topics, options) {\n var _this = this;\n var appSyncGraphqlEndpoint = options === null || options === void 0 ? void 0 : options.appSyncGraphqlEndpoint;\n return new Observable(function (observer) {\n if (!options || !appSyncGraphqlEndpoint) {\n observer.error({\n errors: [\n __assign({}, new GraphQLError(\"Subscribe only available for AWS AppSync endpoint\")),\n ],\n });\n observer.complete();\n }\n else {\n var subscriptionStartActive_1 = false;\n var subscriptionId_1 = uuid();\n var startSubscription_1 = function () {\n if (!subscriptionStartActive_1) {\n subscriptionStartActive_1 = true;\n var startSubscriptionPromise = _this._startSubscriptionWithAWSAppSyncRealTime({\n options: options,\n observer: observer,\n subscriptionId: subscriptionId_1,\n }).catch(function (err) {\n logger.debug(CONTROL_MSG.REALTIME_SUBSCRIPTION_INIT_ERROR + \": \" + err);\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n });\n startSubscriptionPromise.finally(function () {\n subscriptionStartActive_1 = false;\n });\n }\n };\n var reconnectSubscription_1;\n // Add an observable to the reconnection list to manage reconnection for this subscription\n reconnectSubscription_1 = new Observable(function (observer) {\n _this.reconnectionMonitor.addObserver(observer);\n }).subscribe(function () {\n startSubscription_1();\n });\n startSubscription_1();\n return function () { return __awaiter(_this, void 0, void 0, function () {\n var subscriptionState, err_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n // Cleanup reconnection subscription\n reconnectSubscription_1 === null || reconnectSubscription_1 === void 0 ? void 0 : reconnectSubscription_1.unsubscribe();\n _a.label = 1;\n case 1:\n _a.trys.push([1, 3, 4, 5]);\n // Waiting that subscription has been connected before trying to unsubscribe\n return [4 /*yield*/, this._waitForSubscriptionToBeConnected(subscriptionId_1)];\n case 2:\n // Waiting that subscription has been connected before trying to unsubscribe\n _a.sent();\n subscriptionState = (this.subscriptionObserverMap.get(subscriptionId_1) || {}).subscriptionState;\n if (!subscriptionState) {\n // subscription already unsubscribed\n return [2 /*return*/];\n }\n if (subscriptionState === SUBSCRIPTION_STATUS.CONNECTED) {\n this._sendUnsubscriptionMessage(subscriptionId_1);\n }\n else {\n throw new Error('Subscription never connected');\n }\n return [3 /*break*/, 5];\n case 3:\n err_1 = _a.sent();\n logger.debug(\"Error while unsubscribing \" + err_1);\n return [3 /*break*/, 5];\n case 4:\n this._removeSubscriptionObserver(subscriptionId_1);\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n }); };\n }\n });\n };\n Object.defineProperty(AWSAppSyncRealTimeProvider.prototype, \"isSSLEnabled\", {\n get: function () {\n return !this.options\n .aws_appsync_dangerously_connect_to_http_endpoint_for_testing;\n },\n enumerable: true,\n configurable: true\n });\n AWSAppSyncRealTimeProvider.prototype._startSubscriptionWithAWSAppSyncRealTime = function (_a) {\n var options = _a.options, observer = _a.observer, subscriptionId = _a.subscriptionId;\n var _b;\n return __awaiter(this, void 0, void 0, function () {\n var appSyncGraphqlEndpoint, authenticationType, query, variables, apiKey, region, _c, graphql_headers, _d, additionalHeaders, subscriptionState, data, dataString, headerObj, _e, _f, subscriptionMessage, stringToAWSRealTime, err_2, _g, subscriptionFailedCallback, subscriptionReadyCallback;\n var _h;\n var _this = this;\n return __generator(this, function (_j) {\n switch (_j.label) {\n case 0:\n appSyncGraphqlEndpoint = options.appSyncGraphqlEndpoint, authenticationType = options.authenticationType, query = options.query, variables = options.variables, apiKey = options.apiKey, region = options.region, _c = options.graphql_headers, graphql_headers = _c === void 0 ? function () { return ({}); } : _c, _d = options.additionalHeaders, additionalHeaders = _d === void 0 ? {} : _d;\n subscriptionState = SUBSCRIPTION_STATUS.PENDING;\n data = {\n query: query,\n variables: variables,\n };\n // Having a subscription id map will make it simple to forward messages received\n this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n query: query !== null && query !== void 0 ? query : '',\n variables: variables !== null && variables !== void 0 ? variables : {},\n subscriptionState: subscriptionState,\n startAckTimeoutId: undefined,\n });\n dataString = JSON.stringify(data);\n _e = [{}];\n return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({\n apiKey: apiKey,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n authenticationType: authenticationType,\n payload: dataString,\n canonicalUri: '',\n region: region,\n additionalHeaders: additionalHeaders,\n })];\n case 1:\n _f = [__assign.apply(void 0, _e.concat([(_j.sent())]))];\n return [4 /*yield*/, graphql_headers()];\n case 2:\n headerObj = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _f.concat([(_j.sent())])), additionalHeaders]), (_h = {}, _h[USER_AGENT_HEADER] = Constants.userAgent, _h)]);\n subscriptionMessage = {\n id: subscriptionId,\n payload: {\n data: dataString,\n extensions: {\n authorization: __assign({}, headerObj),\n },\n },\n type: MESSAGE_TYPES.GQL_START,\n };\n stringToAWSRealTime = JSON.stringify(subscriptionMessage);\n _j.label = 3;\n case 3:\n _j.trys.push([3, 5, , 6]);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.OPENING_CONNECTION);\n return [4 /*yield*/, this._initializeWebSocketConnection({\n apiKey: apiKey,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n authenticationType: authenticationType,\n region: region,\n additionalHeaders: additionalHeaders,\n })];\n case 4:\n _j.sent();\n return [3 /*break*/, 6];\n case 5:\n err_2 = _j.sent();\n this._logStartSubscriptionError(subscriptionId, observer, err_2);\n return [2 /*return*/];\n case 6:\n _g = (_b = this.subscriptionObserverMap.get(subscriptionId)) !== null && _b !== void 0 ? _b : {}, subscriptionFailedCallback = _g.subscriptionFailedCallback, subscriptionReadyCallback = _g.subscriptionReadyCallback;\n // This must be done before sending the message in order to be listening immediately\n this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n subscriptionState: subscriptionState,\n query: query !== null && query !== void 0 ? query : '',\n variables: variables !== null && variables !== void 0 ? variables : {},\n subscriptionReadyCallback: subscriptionReadyCallback,\n subscriptionFailedCallback: subscriptionFailedCallback,\n startAckTimeoutId: setTimeout(function () {\n _this._timeoutStartSubscriptionAck.call(_this, subscriptionId);\n }, START_ACK_TIMEOUT),\n });\n if (this.awsRealTimeSocket) {\n this.awsRealTimeSocket.send(stringToAWSRealTime);\n }\n return [2 /*return*/];\n }\n });\n });\n };\n // Log logic for start subscription failures\n AWSAppSyncRealTimeProvider.prototype._logStartSubscriptionError = function (subscriptionId, observer, err) {\n var _a;\n logger.debug({ err: err });\n var message = (_a = err['message']) !== null && _a !== void 0 ? _a : '';\n // Resolving to give the state observer time to propogate the update\n Promise.resolve(this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED));\n // Capture the error only when the network didn't cause disruption\n if (this.connectionState !== ConnectionState.ConnectionDisruptedPendingNetwork) {\n // When the error is non-retriable, error out the observable\n if (isNonRetryableError(err)) {\n observer.error({\n errors: [\n __assign({}, new GraphQLError(CONTROL_MSG.CONNECTION_FAILED + \": \" + message)),\n ],\n });\n }\n else {\n logger.debug(CONTROL_MSG.CONNECTION_FAILED + \": \" + message);\n }\n var subscriptionFailedCallback = (this.subscriptionObserverMap.get(subscriptionId) || {}).subscriptionFailedCallback;\n // Notify concurrent unsubscription\n if (typeof subscriptionFailedCallback === 'function') {\n subscriptionFailedCallback();\n }\n }\n };\n // Waiting that subscription has been connected before trying to unsubscribe\n AWSAppSyncRealTimeProvider.prototype._waitForSubscriptionToBeConnected = function (subscriptionId) {\n return __awaiter(this, void 0, void 0, function () {\n var subscriptionObserver, subscriptionState;\n var _this = this;\n return __generator(this, function (_a) {\n subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);\n if (subscriptionObserver) {\n subscriptionState = subscriptionObserver.subscriptionState;\n // This in case unsubscribe is invoked before sending start subscription message\n if (subscriptionState === SUBSCRIPTION_STATUS.PENDING) {\n return [2 /*return*/, new Promise(function (res, rej) {\n var observer = subscriptionObserver.observer, subscriptionState = subscriptionObserver.subscriptionState, variables = subscriptionObserver.variables, query = subscriptionObserver.query;\n _this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n subscriptionState: subscriptionState,\n variables: variables,\n query: query,\n subscriptionReadyCallback: res,\n subscriptionFailedCallback: rej,\n });\n })];\n }\n }\n return [2 /*return*/];\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._sendUnsubscriptionMessage = function (subscriptionId) {\n try {\n if (this.awsRealTimeSocket &&\n this.awsRealTimeSocket.readyState === WebSocket.OPEN &&\n this.socketStatus === SOCKET_STATUS.READY) {\n // Preparing unsubscribe message to stop receiving messages for that subscription\n var unsubscribeMessage = {\n id: subscriptionId,\n type: MESSAGE_TYPES.GQL_STOP,\n };\n var stringToAWSRealTime = JSON.stringify(unsubscribeMessage);\n this.awsRealTimeSocket.send(stringToAWSRealTime);\n }\n }\n catch (err) {\n // If GQL_STOP is not sent because of disconnection issue, then there is nothing the client can do\n logger.debug({ err: err });\n }\n };\n AWSAppSyncRealTimeProvider.prototype._removeSubscriptionObserver = function (subscriptionId) {\n this.subscriptionObserverMap.delete(subscriptionId);\n // Verifying 1000ms after removing subscription in case there are new subscription unmount/mount\n setTimeout(this._closeSocketIfRequired.bind(this), 1000);\n };\n AWSAppSyncRealTimeProvider.prototype._closeSocketIfRequired = function () {\n if (this.subscriptionObserverMap.size > 0) {\n // Active subscriptions on the WebSocket\n return;\n }\n if (!this.awsRealTimeSocket) {\n this.socketStatus = SOCKET_STATUS.CLOSED;\n return;\n }\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSING_CONNECTION);\n if (this.awsRealTimeSocket.bufferedAmount > 0) {\n // Still data on the WebSocket\n setTimeout(this._closeSocketIfRequired.bind(this), 1000);\n }\n else {\n logger.debug('closing WebSocket...');\n if (this.keepAliveTimeoutId) {\n clearTimeout(this.keepAliveTimeoutId);\n }\n if (this.keepAliveAlertTimeoutId) {\n clearTimeout(this.keepAliveAlertTimeoutId);\n }\n var tempSocket = this.awsRealTimeSocket;\n // Cleaning callbacks to avoid race condition, socket still exists\n tempSocket.onclose = null;\n tempSocket.onerror = null;\n tempSocket.close(1000);\n this.awsRealTimeSocket = undefined;\n this.socketStatus = SOCKET_STATUS.CLOSED;\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n }\n };\n AWSAppSyncRealTimeProvider.prototype._handleIncomingSubscriptionMessage = function (message) {\n var _this = this;\n logger.debug(\"subscription message from AWS AppSync RealTime: \" + message.data);\n var _a = JSON.parse(message.data), _b = _a.id, id = _b === void 0 ? '' : _b, payload = _a.payload, type = _a.type;\n var _c = this.subscriptionObserverMap.get(id) || {}, _d = _c.observer, observer = _d === void 0 ? null : _d, _e = _c.query, query = _e === void 0 ? '' : _e, _f = _c.variables, variables = _f === void 0 ? {} : _f, startAckTimeoutId = _c.startAckTimeoutId, subscriptionReadyCallback = _c.subscriptionReadyCallback, subscriptionFailedCallback = _c.subscriptionFailedCallback;\n logger.debug({ id: id, observer: observer, query: query, variables: variables });\n if (type === MESSAGE_TYPES.GQL_DATA && payload && payload.data) {\n if (observer) {\n observer.next(payload);\n }\n else {\n logger.debug(\"observer not found for id: \" + id);\n }\n return;\n }\n if (type === MESSAGE_TYPES.GQL_START_ACK) {\n logger.debug(\"subscription ready for \" + JSON.stringify({ query: query, variables: variables }));\n if (typeof subscriptionReadyCallback === 'function') {\n subscriptionReadyCallback();\n }\n if (startAckTimeoutId)\n clearTimeout(startAckTimeoutId);\n dispatchApiEvent(CONTROL_MSG.SUBSCRIPTION_ACK, { query: query, variables: variables }, 'Connection established for subscription');\n var subscriptionState = SUBSCRIPTION_STATUS.CONNECTED;\n if (observer) {\n this.subscriptionObserverMap.set(id, {\n observer: observer,\n query: query,\n variables: variables,\n startAckTimeoutId: undefined,\n subscriptionState: subscriptionState,\n subscriptionReadyCallback: subscriptionReadyCallback,\n subscriptionFailedCallback: subscriptionFailedCallback,\n });\n }\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_ESTABLISHED);\n return;\n }\n if (type === MESSAGE_TYPES.GQL_CONNECTION_KEEP_ALIVE) {\n if (this.keepAliveTimeoutId)\n clearTimeout(this.keepAliveTimeoutId);\n if (this.keepAliveAlertTimeoutId)\n clearTimeout(this.keepAliveAlertTimeoutId);\n this.keepAliveTimeoutId = setTimeout(function () { return _this._errorDisconnect(CONTROL_MSG.TIMEOUT_DISCONNECT); }, this.keepAliveTimeout);\n this.keepAliveAlertTimeoutId = setTimeout(function () {\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE_MISSED);\n }, DEFAULT_KEEP_ALIVE_ALERT_TIMEOUT);\n this.connectionStateMonitor.record(CONNECTION_CHANGE.KEEP_ALIVE);\n return;\n }\n if (type === MESSAGE_TYPES.GQL_ERROR) {\n var subscriptionState = SUBSCRIPTION_STATUS.FAILED;\n if (observer) {\n this.subscriptionObserverMap.set(id, {\n observer: observer,\n query: query,\n variables: variables,\n startAckTimeoutId: startAckTimeoutId,\n subscriptionReadyCallback: subscriptionReadyCallback,\n subscriptionFailedCallback: subscriptionFailedCallback,\n subscriptionState: subscriptionState,\n });\n logger.debug(CONTROL_MSG.CONNECTION_FAILED + \": \" + JSON.stringify(payload));\n observer.error({\n errors: [\n __assign({}, new GraphQLError(CONTROL_MSG.CONNECTION_FAILED + \": \" + JSON.stringify(payload))),\n ],\n });\n if (startAckTimeoutId)\n clearTimeout(startAckTimeoutId);\n if (typeof subscriptionFailedCallback === 'function') {\n subscriptionFailedCallback();\n }\n }\n }\n };\n AWSAppSyncRealTimeProvider.prototype._errorDisconnect = function (msg) {\n logger.debug(\"Disconnect error: \" + msg);\n if (this.awsRealTimeSocket) {\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n this.awsRealTimeSocket.close();\n }\n this.socketStatus = SOCKET_STATUS.CLOSED;\n };\n AWSAppSyncRealTimeProvider.prototype._timeoutStartSubscriptionAck = function (subscriptionId) {\n var subscriptionObserver = this.subscriptionObserverMap.get(subscriptionId);\n if (subscriptionObserver) {\n var observer = subscriptionObserver.observer, query = subscriptionObserver.query, variables = subscriptionObserver.variables;\n if (!observer) {\n return;\n }\n this.subscriptionObserverMap.set(subscriptionId, {\n observer: observer,\n query: query,\n variables: variables,\n subscriptionState: SUBSCRIPTION_STATUS.FAILED,\n });\n this.connectionStateMonitor.record(CONNECTION_CHANGE.CLOSED);\n logger.debug('timeoutStartSubscription', JSON.stringify({ query: query, variables: variables }));\n }\n };\n AWSAppSyncRealTimeProvider.prototype._initializeWebSocketConnection = function (_a) {\n var _this = this;\n var appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint, authenticationType = _a.authenticationType, apiKey = _a.apiKey, region = _a.region, additionalHeaders = _a.additionalHeaders;\n if (this.socketStatus === SOCKET_STATUS.READY) {\n return;\n }\n return new Promise(function (res, rej) { return __awaiter(_this, void 0, void 0, function () {\n var payloadString, headerString, _a, _b, headerQs, payloadQs, discoverableEndpoint, protocol, awsRealTimeUrl, err_3;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n this.promiseArray.push({ res: res, rej: rej });\n if (!(this.socketStatus === SOCKET_STATUS.CLOSED)) return [3 /*break*/, 5];\n _c.label = 1;\n case 1:\n _c.trys.push([1, 4, , 5]);\n this.socketStatus = SOCKET_STATUS.CONNECTING;\n payloadString = '{}';\n _b = (_a = JSON).stringify;\n return [4 /*yield*/, this._awsRealTimeHeaderBasedAuth({\n authenticationType: authenticationType,\n payload: payloadString,\n canonicalUri: '/connect',\n apiKey: apiKey,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n region: region,\n additionalHeaders: additionalHeaders,\n })];\n case 2:\n headerString = _b.apply(_a, [_c.sent()]);\n headerQs = Buffer.from(headerString).toString('base64');\n payloadQs = Buffer.from(payloadString).toString('base64');\n discoverableEndpoint = appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '';\n if (this.isCustomDomain(discoverableEndpoint)) {\n discoverableEndpoint =\n discoverableEndpoint.concat(customDomainPath);\n }\n else {\n discoverableEndpoint = discoverableEndpoint\n .replace('appsync-api', 'appsync-realtime-api')\n .replace('gogi-beta', 'grt-beta');\n }\n protocol = this.isSSLEnabled ? 'wss://' : 'ws://';\n discoverableEndpoint = discoverableEndpoint\n .replace('https://', protocol)\n .replace('http://', protocol);\n awsRealTimeUrl = discoverableEndpoint + \"?header=\" + headerQs + \"&payload=\" + payloadQs;\n return [4 /*yield*/, this._initializeRetryableHandshake(awsRealTimeUrl)];\n case 3:\n _c.sent();\n this.promiseArray.forEach(function (_a) {\n var res = _a.res;\n logger.debug('Notifying connection successful');\n res();\n });\n this.socketStatus = SOCKET_STATUS.READY;\n this.promiseArray = [];\n return [3 /*break*/, 5];\n case 4:\n err_3 = _c.sent();\n logger.debug('Connection exited with', err_3);\n this.promiseArray.forEach(function (_a) {\n var rej = _a.rej;\n return rej(err_3);\n });\n this.promiseArray = [];\n if (this.awsRealTimeSocket &&\n this.awsRealTimeSocket.readyState === WebSocket.OPEN) {\n this.awsRealTimeSocket.close(3001);\n }\n this.awsRealTimeSocket = undefined;\n this.socketStatus = SOCKET_STATUS.CLOSED;\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n }); });\n };\n AWSAppSyncRealTimeProvider.prototype._initializeRetryableHandshake = function (awsRealTimeUrl) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n logger.debug(\"Initializaling retryable Handshake\");\n return [4 /*yield*/, jitteredExponentialRetry(this._initializeHandshake.bind(this), [awsRealTimeUrl], MAX_DELAY_MS)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._initializeHandshake = function (awsRealTimeUrl) {\n return __awaiter(this, void 0, void 0, function () {\n var err_4, _a, errorType, errorCode;\n var _this = this;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n logger.debug(\"Initializing handshake \" + awsRealTimeUrl);\n _b.label = 1;\n case 1:\n _b.trys.push([1, 4, , 5]);\n return [4 /*yield*/, (function () {\n return new Promise(function (res, rej) {\n var newSocket = _this.getNewWebSocket(awsRealTimeUrl, 'graphql-ws');\n newSocket.onerror = function () {\n logger.debug(\"WebSocket connection error\");\n };\n newSocket.onclose = function () {\n rej(new Error('Connection handshake error'));\n };\n newSocket.onopen = function () {\n _this.awsRealTimeSocket = newSocket;\n return res();\n };\n });\n })()];\n case 2:\n _b.sent();\n // Step 2: wait for ack from AWS AppSyncReaTime after sending init\n return [4 /*yield*/, (function () {\n return new Promise(function (res, rej) {\n if (_this.awsRealTimeSocket) {\n var ackOk_1 = false;\n _this.awsRealTimeSocket.onerror = function (error) {\n logger.debug(\"WebSocket error \" + JSON.stringify(error));\n };\n _this.awsRealTimeSocket.onclose = function (event) {\n logger.debug(\"WebSocket closed \" + event.reason);\n rej(new Error(JSON.stringify(event)));\n };\n _this.awsRealTimeSocket.onmessage = function (message) {\n logger.debug(\"subscription message from AWS AppSyncRealTime: \" + message.data + \" \");\n var data = JSON.parse(message.data);\n var type = data.type, _a = data.payload, _b = (_a === void 0 ? {} : _a).connectionTimeoutMs, connectionTimeoutMs = _b === void 0 ? DEFAULT_KEEP_ALIVE_TIMEOUT : _b;\n if (type === MESSAGE_TYPES.GQL_CONNECTION_ACK) {\n ackOk_1 = true;\n if (_this.awsRealTimeSocket) {\n _this.keepAliveTimeout = connectionTimeoutMs;\n _this.awsRealTimeSocket.onmessage =\n _this._handleIncomingSubscriptionMessage.bind(_this);\n _this.awsRealTimeSocket.onerror = function (err) {\n logger.debug(err);\n _this._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n };\n _this.awsRealTimeSocket.onclose = function (event) {\n logger.debug(\"WebSocket closed \" + event.reason);\n _this._errorDisconnect(CONTROL_MSG.CONNECTION_CLOSED);\n };\n }\n res('Cool, connected to AWS AppSyncRealTime');\n return;\n }\n if (type === MESSAGE_TYPES.GQL_CONNECTION_ERROR) {\n var _c = data.payload, _d = (_c === void 0 ? {} : _c).errors, _e = __read(_d === void 0 ? [] : _d, 1), _f = _e[0], _g = _f === void 0 ? {} : _f, _h = _g.errorType, errorType = _h === void 0 ? '' : _h, _j = _g.errorCode, errorCode = _j === void 0 ? 0 : _j;\n rej({ errorType: errorType, errorCode: errorCode });\n }\n };\n var gqlInit = {\n type: MESSAGE_TYPES.GQL_CONNECTION_INIT,\n };\n _this.awsRealTimeSocket.send(JSON.stringify(gqlInit));\n var checkAckOk_1 = function (ackOk) {\n if (!ackOk) {\n _this.connectionStateMonitor.record(CONNECTION_CHANGE.CONNECTION_FAILED);\n rej(new Error(\"Connection timeout: ack from AWSAppSyncRealTime was not received after \" + CONNECTION_INIT_TIMEOUT + \" ms\"));\n }\n };\n setTimeout(function () { return checkAckOk_1(ackOk_1); }, CONNECTION_INIT_TIMEOUT);\n }\n });\n })()];\n case 3:\n // Step 2: wait for ack from AWS AppSyncReaTime after sending init\n _b.sent();\n return [3 /*break*/, 5];\n case 4:\n err_4 = _b.sent();\n _a = err_4, errorType = _a.errorType, errorCode = _a.errorCode;\n if (NON_RETRYABLE_CODES.includes(errorCode)) {\n throw new NonRetryableError(errorType);\n }\n else if (errorType) {\n throw new Error(errorType);\n }\n else {\n throw err_4;\n }\n return [3 /*break*/, 5];\n case 5: return [2 /*return*/];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeHeaderBasedAuth = function (_a) {\n var authenticationType = _a.authenticationType, payload = _a.payload, canonicalUri = _a.canonicalUri, appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint, apiKey = _a.apiKey, region = _a.region, additionalHeaders = _a.additionalHeaders;\n return __awaiter(this, void 0, void 0, function () {\n var headerHandler, handler, host, result;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n headerHandler = {\n API_KEY: this._awsRealTimeApiKeyHeader.bind(this),\n AWS_IAM: this._awsRealTimeIAMHeader.bind(this),\n OPENID_CONNECT: this._awsRealTimeOPENIDHeader.bind(this),\n AMAZON_COGNITO_USER_POOLS: this._awsRealTimeCUPHeader.bind(this),\n AWS_LAMBDA: this._customAuthHeader,\n };\n if (!(!authenticationType || !headerHandler[authenticationType])) return [3 /*break*/, 1];\n logger.debug(\"Authentication type \" + authenticationType + \" not supported\");\n return [2 /*return*/, ''];\n case 1:\n handler = headerHandler[authenticationType];\n host = url.parse(appSyncGraphqlEndpoint !== null && appSyncGraphqlEndpoint !== void 0 ? appSyncGraphqlEndpoint : '').host;\n logger.debug(\"Authenticating with \" + authenticationType);\n return [4 /*yield*/, handler({\n payload: payload,\n canonicalUri: canonicalUri,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n apiKey: apiKey,\n region: region,\n host: host,\n additionalHeaders: additionalHeaders,\n })];\n case 2:\n result = _b.sent();\n return [2 /*return*/, result];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeCUPHeader = function (_a) {\n var host = _a.host;\n return __awaiter(this, void 0, void 0, function () {\n var session;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Auth.currentSession()];\n case 1:\n session = _b.sent();\n return [2 /*return*/, {\n Authorization: session.getAccessToken().getJwtToken(),\n host: host,\n }];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeOPENIDHeader = function (_a) {\n var host = _a.host;\n return __awaiter(this, void 0, void 0, function () {\n var token, federatedInfo, currentUser;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0: return [4 /*yield*/, Cache.getItem('federatedInfo')];\n case 1:\n federatedInfo = _b.sent();\n if (!federatedInfo) return [3 /*break*/, 2];\n token = federatedInfo.token;\n return [3 /*break*/, 4];\n case 2: return [4 /*yield*/, Auth.currentAuthenticatedUser()];\n case 3:\n currentUser = _b.sent();\n if (currentUser) {\n token = currentUser.token;\n }\n _b.label = 4;\n case 4:\n if (!token) {\n throw new Error('No federated jwt');\n }\n return [2 /*return*/, {\n Authorization: token,\n host: host,\n }];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeApiKeyHeader = function (_a) {\n var apiKey = _a.apiKey, host = _a.host;\n return __awaiter(this, void 0, void 0, function () {\n var dt, dtStr;\n return __generator(this, function (_b) {\n dt = new Date();\n dtStr = dt.toISOString().replace(/[:\\-]|\\.\\d{3}/g, '');\n return [2 /*return*/, {\n host: host,\n 'x-amz-date': dtStr,\n 'x-api-key': apiKey,\n }];\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._awsRealTimeIAMHeader = function (_a) {\n var payload = _a.payload, canonicalUri = _a.canonicalUri, appSyncGraphqlEndpoint = _a.appSyncGraphqlEndpoint, region = _a.region;\n return __awaiter(this, void 0, void 0, function () {\n var endpointInfo, credentialsOK, creds, request, signed_params;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n endpointInfo = {\n region: region,\n service: 'appsync',\n };\n return [4 /*yield*/, this._ensureCredentials()];\n case 1:\n credentialsOK = _b.sent();\n if (!credentialsOK) {\n throw new Error('No credentials');\n }\n return [4 /*yield*/, Credentials.get().then(function (credentials) {\n var _a = credentials, secretAccessKey = _a.secretAccessKey, accessKeyId = _a.accessKeyId, sessionToken = _a.sessionToken;\n return {\n secret_key: secretAccessKey,\n access_key: accessKeyId,\n session_token: sessionToken,\n };\n })];\n case 2:\n creds = _b.sent();\n request = {\n url: \"\" + appSyncGraphqlEndpoint + canonicalUri,\n data: payload,\n method: 'POST',\n headers: __assign({}, AWS_APPSYNC_REALTIME_HEADERS),\n };\n signed_params = Signer.sign(request, creds, endpointInfo);\n return [2 /*return*/, signed_params.headers];\n }\n });\n });\n };\n AWSAppSyncRealTimeProvider.prototype._customAuthHeader = function (_a) {\n var host = _a.host, additionalHeaders = _a.additionalHeaders;\n if (!additionalHeaders || !additionalHeaders['Authorization']) {\n throw new Error('No auth token specified');\n }\n return {\n Authorization: additionalHeaders.Authorization,\n host: host,\n };\n };\n /**\n * @private\n */\n AWSAppSyncRealTimeProvider.prototype._ensureCredentials = function () {\n return Credentials.get()\n .then(function (credentials) {\n if (!credentials)\n return false;\n var cred = Credentials.shear(credentials);\n logger.debug('set credentials for AWSAppSyncRealTimeProvider', cred);\n return true;\n })\n .catch(function (err) {\n logger.warn('ensure credentials error', err);\n return false;\n });\n };\n return AWSAppSyncRealTimeProvider;\n}(AbstractPubSubProvider));\nexport { AWSAppSyncRealTimeProvider };\n//# sourceMappingURL=index.js.map","import { GRAPHQL_AUTH_MODE } from '@aws-amplify/auth';\nexport { GRAPHQL_AUTH_MODE };\nexport var GraphQLAuthError;\n(function (GraphQLAuthError) {\n GraphQLAuthError[\"NO_API_KEY\"] = \"No api-key configured\";\n GraphQLAuthError[\"NO_CURRENT_USER\"] = \"No current user\";\n GraphQLAuthError[\"NO_CREDENTIALS\"] = \"No credentials\";\n GraphQLAuthError[\"NO_FEDERATED_JWT\"] = \"No federated jwt\";\n GraphQLAuthError[\"NO_AUTH_TOKEN\"] = \"No auth token specified\";\n})(GraphQLAuthError || (GraphQLAuthError = {}));\n//# sourceMappingURL=index.js.map","import { __awaiter, __generator } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\n// import '../Common/Polyfills';\nimport Observable from 'zen-observable-ts';\nimport { Amplify, browserOrNode, ConsoleLogger as Logger, INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER, INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER, } from '@aws-amplify/core';\nimport { AWSAppSyncProvider, AWSAppSyncRealTimeProvider } from './Providers';\nvar isNode = browserOrNode().isNode;\nvar logger = new Logger('PubSub');\nvar PubSubClass = /** @class */ (function () {\n /**\n * Initialize PubSub with AWS configurations\n *\n * @param {PubSubOptions} options - Configuration object for PubSub\n */\n function PubSubClass(options) {\n this._options = options !== null && options !== void 0 ? options : {};\n logger.debug('PubSub Options', this._options);\n this._pluggables = [];\n this.subscribe = this.subscribe.bind(this);\n }\n Object.defineProperty(PubSubClass.prototype, \"awsAppSyncProvider\", {\n /**\n * Lazy instantiate AWSAppSyncProvider when it is required by the API category\n */\n get: function () {\n if (!this._awsAppSyncProvider) {\n this._awsAppSyncProvider = new AWSAppSyncProvider(this._options);\n }\n return this._awsAppSyncProvider;\n },\n enumerable: true,\n configurable: true\n });\n Object.defineProperty(PubSubClass.prototype, \"awsAppSyncRealTimeProvider\", {\n /**\n * Lazy instantiate AWSAppSyncRealTimeProvider when it is required by the API category\n */\n get: function () {\n if (!this._awsAppSyncRealTimeProvider) {\n this._awsAppSyncRealTimeProvider = new AWSAppSyncRealTimeProvider(this._options);\n }\n return this._awsAppSyncRealTimeProvider;\n },\n enumerable: true,\n configurable: true\n });\n PubSubClass.prototype.getModuleName = function () {\n return 'PubSub';\n };\n /**\n * Configure PubSub part with configurations\n *\n * @param {PubSubOptions} config - Configuration for PubSub\n * @return {Object} - The current configuration\n */\n PubSubClass.prototype.configure = function (options) {\n var _this = this;\n var opt = options ? options.PubSub || options : {};\n logger.debug('configure PubSub', { opt: opt });\n this._options = Object.assign({}, this._options, opt);\n this._pluggables.map(function (pluggable) { return pluggable.configure(_this._options); });\n return this._options;\n };\n /**\n * add plugin into Analytics category\n * @param {Object} pluggable - an instance of the plugin\n */\n PubSubClass.prototype.addPluggable = function (pluggable) {\n return __awaiter(this, void 0, void 0, function () {\n var config;\n return __generator(this, function (_a) {\n if (pluggable && pluggable.getCategory() === 'PubSub') {\n this._pluggables.push(pluggable);\n config = pluggable.configure(this._options);\n return [2 /*return*/, config];\n }\n return [2 /*return*/];\n });\n });\n };\n /**\n * remove plugin from PubSub category\n * @param providerName - the name of the plugin\n */\n PubSubClass.prototype.removePluggable = function (providerName) {\n this._pluggables = this._pluggables.filter(function (pluggable) { return pluggable.getProviderName() !== providerName; });\n };\n PubSubClass.prototype.getProviderByName = function (providerName) {\n if (providerName === INTERNAL_AWS_APPSYNC_PUBSUB_PROVIDER) {\n return this.awsAppSyncProvider;\n }\n if (providerName === INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER) {\n return this.awsAppSyncRealTimeProvider;\n }\n return this._pluggables.find(function (pluggable) { return pluggable.getProviderName() === providerName; });\n };\n PubSubClass.prototype.getProviders = function (options) {\n if (options === void 0) { options = {}; }\n var providerName = options.provider;\n if (!providerName) {\n return this._pluggables;\n }\n var provider = this.getProviderByName(providerName);\n if (!provider) {\n throw new Error(\"Could not find provider named \" + providerName);\n }\n return [provider];\n };\n PubSubClass.prototype.publish = function (topics, msg, options) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, Promise.all(this.getProviders(options).map(function (provider) {\n return provider.publish(topics, msg, options);\n }))];\n });\n });\n };\n PubSubClass.prototype.subscribe = function (topics, options) {\n if (isNode && this._options && this._options.ssr) {\n throw new Error('Subscriptions are not supported for Server-Side Rendering (SSR)');\n }\n logger.debug('subscribe options', options);\n var providers = this.getProviders(options);\n return new Observable(function (observer) {\n var observables = providers.map(function (provider) { return ({\n provider: provider,\n observable: provider.subscribe(topics, options),\n }); });\n var subscriptions = observables.map(function (_a) {\n var provider = _a.provider, observable = _a.observable;\n return observable.subscribe({\n start: console.error,\n next: function (value) { return observer.next({ provider: provider, value: value }); },\n error: function (error) { return observer.error({ provider: provider, error: error }); },\n });\n });\n return function () {\n return subscriptions.forEach(function (subscription) { return subscription.unsubscribe(); });\n };\n });\n };\n return PubSubClass;\n}());\nexport { PubSubClass };\nexport var PubSub = new PubSubClass();\nAmplify.register(PubSub);\n//# sourceMappingURL=PubSub.js.map","import { __assign, __awaiter, __generator, __read, __rest } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { print, parse, GraphQLError, } from 'graphql';\nimport { Amplify, ConsoleLogger as Logger, Credentials, getAmplifyUserAgent, INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER, } from '@aws-amplify/core';\nimport { PubSub } from '@aws-amplify/pubsub';\nimport { Auth } from '@aws-amplify/auth';\nimport { Cache } from '@aws-amplify/cache';\nimport { GraphQLAuthError, } from './types';\nimport { RestClient } from '@aws-amplify/api-rest';\nvar USER_AGENT_HEADER = 'x-amz-user-agent';\nvar logger = new Logger('GraphQLAPI');\nexport var graphqlOperation = function (query, variables, authToken, userAgentSuffix) {\n if (variables === void 0) { variables = {}; }\n return ({\n query: query,\n variables: variables,\n authToken: authToken,\n userAgentSuffix: userAgentSuffix,\n });\n};\n/**\n * Export Cloud Logic APIs\n */\nvar GraphQLAPIClass = /** @class */ (function () {\n /**\n * Initialize GraphQL API with AWS configuration\n * @param {Object} options - Configuration object for API\n */\n function GraphQLAPIClass(options) {\n this._api = null;\n this.Auth = Auth;\n this.Cache = Cache;\n this.Credentials = Credentials;\n this._options = options;\n logger.debug('API Options', this._options);\n }\n GraphQLAPIClass.prototype.getModuleName = function () {\n return 'GraphQLAPI';\n };\n /**\n * Configure API\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n GraphQLAPIClass.prototype.configure = function (options) {\n var _a = options || {}, _b = _a.API, API = _b === void 0 ? {} : _b, otherOptions = __rest(_a, [\"API\"]);\n var opt = __assign(__assign({}, otherOptions), API);\n logger.debug('configure GraphQL API', { opt: opt });\n if (opt['aws_project_region']) {\n opt = Object.assign({}, opt, {\n region: opt['aws_project_region'],\n header: {},\n });\n }\n if (typeof opt.graphql_headers !== 'undefined' &&\n typeof opt.graphql_headers !== 'function') {\n logger.warn('graphql_headers should be a function');\n opt.graphql_headers = undefined;\n }\n this._options = Object.assign({}, this._options, opt);\n this.createInstance();\n return this._options;\n };\n /**\n * Create an instance of API for the library\n * @return - A promise of true if Success\n */\n GraphQLAPIClass.prototype.createInstance = function () {\n logger.debug('create Rest instance');\n if (this._options) {\n this._api = new RestClient(this._options);\n // Share instance Credentials with client for SSR\n this._api.Credentials = this.Credentials;\n return true;\n }\n else {\n return Promise.reject('API not configured');\n }\n };\n GraphQLAPIClass.prototype._headerBasedAuth = function (defaultAuthenticationType, additionalHeaders) {\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _a, aws_appsync_authenticationType, apiKey, authenticationType, headers, _b, credentialsOK, token, federatedInfo, currentUser, e_1, session, e_2;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _a = this._options, aws_appsync_authenticationType = _a.aws_appsync_authenticationType, apiKey = _a.aws_appsync_apiKey;\n authenticationType = defaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n headers = {};\n _b = authenticationType;\n switch (_b) {\n case 'API_KEY': return [3 /*break*/, 1];\n case 'AWS_IAM': return [3 /*break*/, 2];\n case 'OPENID_CONNECT': return [3 /*break*/, 4];\n case 'AMAZON_COGNITO_USER_POOLS': return [3 /*break*/, 11];\n case 'AWS_LAMBDA': return [3 /*break*/, 15];\n }\n return [3 /*break*/, 16];\n case 1:\n if (!apiKey) {\n throw new Error(GraphQLAuthError.NO_API_KEY);\n }\n headers = {\n Authorization: null,\n 'X-Api-Key': apiKey,\n };\n return [3 /*break*/, 17];\n case 2: return [4 /*yield*/, this._ensureCredentials()];\n case 3:\n credentialsOK = _c.sent();\n if (!credentialsOK) {\n throw new Error(GraphQLAuthError.NO_CREDENTIALS);\n }\n return [3 /*break*/, 17];\n case 4:\n _c.trys.push([4, 9, , 10]);\n token = void 0;\n return [4 /*yield*/, Cache.getItem('federatedInfo')];\n case 5:\n federatedInfo = _c.sent();\n if (!federatedInfo) return [3 /*break*/, 6];\n token = federatedInfo.token;\n return [3 /*break*/, 8];\n case 6: return [4 /*yield*/, Auth.currentAuthenticatedUser()];\n case 7:\n currentUser = _c.sent();\n if (currentUser) {\n token = currentUser.token;\n }\n _c.label = 8;\n case 8:\n if (!token) {\n throw new Error(GraphQLAuthError.NO_FEDERATED_JWT);\n }\n headers = {\n Authorization: token,\n };\n return [3 /*break*/, 10];\n case 9:\n e_1 = _c.sent();\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n case 10: return [3 /*break*/, 17];\n case 11:\n _c.trys.push([11, 13, , 14]);\n return [4 /*yield*/, this.Auth.currentSession()];\n case 12:\n session = _c.sent();\n headers = {\n Authorization: session.getAccessToken().getJwtToken(),\n };\n return [3 /*break*/, 14];\n case 13:\n e_2 = _c.sent();\n throw new Error(GraphQLAuthError.NO_CURRENT_USER);\n case 14: return [3 /*break*/, 17];\n case 15:\n if (!additionalHeaders.Authorization) {\n throw new Error(GraphQLAuthError.NO_AUTH_TOKEN);\n }\n headers = {\n Authorization: additionalHeaders.Authorization,\n };\n return [3 /*break*/, 17];\n case 16:\n headers = {\n Authorization: null,\n };\n return [3 /*break*/, 17];\n case 17: return [2 /*return*/, headers];\n }\n });\n });\n };\n /**\n * to get the operation type\n * @param operation\n */\n GraphQLAPIClass.prototype.getGraphqlOperationType = function (operation) {\n var doc = parse(operation);\n var definitions = doc.definitions;\n var _a = __read(definitions, 1), operationType = _a[0].operation;\n return operationType;\n };\n /**\n * Executes a GraphQL operation\n *\n * @param options - GraphQL Options\n * @param [additionalHeaders] - headers to merge in after any `graphql_headers` set in the config\n * @returns An Observable if the query is a subscription query, else a promise of the graphql result.\n */\n GraphQLAPIClass.prototype.graphql = function (_a, additionalHeaders) {\n var paramQuery = _a.query, _b = _a.variables, variables = _b === void 0 ? {} : _b, authMode = _a.authMode, authToken = _a.authToken, userAgentSuffix = _a.userAgentSuffix;\n var query = typeof paramQuery === 'string'\n ? parse(paramQuery)\n : parse(print(paramQuery));\n var _c = __read(query.definitions.filter(function (def) { return def.kind === 'OperationDefinition'; }), 1), _d = _c[0], operationDef = _d === void 0 ? {} : _d;\n var operationType = operationDef.operation;\n var headers = additionalHeaders || {};\n // if an authorization header is set, have the explicit authToken take precedence\n if (authToken) {\n headers.Authorization = authToken;\n }\n switch (operationType) {\n case 'query':\n case 'mutation':\n this.createInstanceIfNotCreated();\n var cancellableToken = this._api.getCancellableToken();\n var initParams = { cancellableToken: cancellableToken };\n var responsePromise = this._graphql({ query: query, variables: variables, authMode: authMode, userAgentSuffix: userAgentSuffix }, headers, initParams);\n this._api.updateRequestToBeCancellable(responsePromise, cancellableToken);\n return responsePromise;\n case 'subscription':\n return this._graphqlSubscribe({ query: query, variables: variables, authMode: authMode }, headers);\n default:\n throw new Error(\"invalid operation type: \" + operationType);\n }\n };\n GraphQLAPIClass.prototype._graphql = function (_a, additionalHeaders, initParams) {\n var query = _a.query, variables = _a.variables, authMode = _a.authMode, userAgentSuffix = _a.userAgentSuffix;\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n if (initParams === void 0) { initParams = {}; }\n return __awaiter(this, void 0, void 0, function () {\n var _b, region, appSyncGraphqlEndpoint, _c, graphql_headers, customGraphqlEndpoint, customEndpointRegion, headers, _d, _e, _f, _g, _h, _j, body, init, endpoint, error, response, err_1, errors;\n var _k;\n return __generator(this, function (_l) {\n switch (_l.label) {\n case 0:\n this.createInstanceIfNotCreated();\n _b = this._options, region = _b.aws_appsync_region, appSyncGraphqlEndpoint = _b.aws_appsync_graphqlEndpoint, _c = _b.graphql_headers, graphql_headers = _c === void 0 ? function () { return ({}); } : _c, customGraphqlEndpoint = _b.graphql_endpoint, customEndpointRegion = _b.graphql_endpoint_iam_region;\n _d = [{}];\n _e = !customGraphqlEndpoint;\n if (!_e) return [3 /*break*/, 2];\n return [4 /*yield*/, this._headerBasedAuth(authMode, additionalHeaders)];\n case 1:\n _e = (_l.sent());\n _l.label = 2;\n case 2:\n _f = [__assign.apply(void 0, _d.concat([(_e)]))];\n _g = customGraphqlEndpoint;\n if (!_g) return [3 /*break*/, 6];\n if (!customEndpointRegion) return [3 /*break*/, 4];\n return [4 /*yield*/, this._headerBasedAuth(authMode, additionalHeaders)];\n case 3:\n _h = _l.sent();\n return [3 /*break*/, 5];\n case 4:\n _h = { Authorization: null };\n _l.label = 5;\n case 5:\n _g = (_h);\n _l.label = 6;\n case 6:\n _j = [__assign.apply(void 0, _f.concat([(_g)]))];\n return [4 /*yield*/, graphql_headers({ query: query, variables: variables })];\n case 7:\n headers = __assign.apply(void 0, [__assign.apply(void 0, [__assign.apply(void 0, _j.concat([(_l.sent())])), additionalHeaders]), (!customGraphqlEndpoint && (_k = {},\n _k[USER_AGENT_HEADER] = getAmplifyUserAgent(userAgentSuffix),\n _k))]);\n body = {\n query: print(query),\n variables: variables,\n };\n init = Object.assign({\n headers: headers,\n body: body,\n signerServiceInfo: {\n service: !customGraphqlEndpoint ? 'appsync' : 'execute-api',\n region: !customGraphqlEndpoint ? region : customEndpointRegion,\n },\n }, initParams);\n endpoint = customGraphqlEndpoint || appSyncGraphqlEndpoint;\n if (!endpoint) {\n error = new GraphQLError('No graphql endpoint provided.');\n throw {\n data: {},\n errors: [error],\n };\n }\n _l.label = 8;\n case 8:\n _l.trys.push([8, 10, , 11]);\n return [4 /*yield*/, this._api.post(endpoint, init)];\n case 9:\n response = _l.sent();\n return [3 /*break*/, 11];\n case 10:\n err_1 = _l.sent();\n // If the exception is because user intentionally\n // cancelled the request, do not modify the exception\n // so that clients can identify the exception correctly.\n if (this._api.isCancel(err_1)) {\n throw err_1;\n }\n response = {\n data: {},\n errors: [new GraphQLError(err_1.message, null, null, null, null, err_1)],\n };\n return [3 /*break*/, 11];\n case 11:\n errors = response.errors;\n if (errors && errors.length) {\n throw response;\n }\n return [2 /*return*/, response];\n }\n });\n });\n };\n GraphQLAPIClass.prototype.createInstanceIfNotCreated = function () {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!!this._api) return [3 /*break*/, 2];\n return [4 /*yield*/, this.createInstance()];\n case 1:\n _a.sent();\n _a.label = 2;\n case 2: return [2 /*return*/];\n }\n });\n });\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param {any} error - Any error\n * @return {boolean} - A boolean indicating if the error was from an api request cancellation\n */\n GraphQLAPIClass.prototype.isCancel = function (error) {\n return this._api.isCancel(error);\n };\n /**\n * Cancels an inflight request. Only applicable for graphql queries and mutations\n * @param {any} request - request to cancel\n * @return {boolean} - A boolean indicating if the request was cancelled\n */\n GraphQLAPIClass.prototype.cancel = function (request, message) {\n return this._api.cancel(request, message);\n };\n /**\n * Check if the request has a corresponding cancel token in the WeakMap.\n * @params request - The request promise\n * @return if the request has a corresponding cancel token.\n */\n GraphQLAPIClass.prototype.hasCancelToken = function (request) {\n return this._api.hasCancelToken(request);\n };\n GraphQLAPIClass.prototype._graphqlSubscribe = function (_a, additionalHeaders) {\n var query = _a.query, variables = _a.variables, defaultAuthenticationType = _a.authMode, authToken = _a.authToken;\n if (additionalHeaders === void 0) { additionalHeaders = {}; }\n var _b = this._options, region = _b.aws_appsync_region, appSyncGraphqlEndpoint = _b.aws_appsync_graphqlEndpoint, aws_appsync_authenticationType = _b.aws_appsync_authenticationType, apiKey = _b.aws_appsync_apiKey, _c = _b.graphql_headers, graphql_headers = _c === void 0 ? function () { return ({}); } : _c;\n var authenticationType = defaultAuthenticationType || aws_appsync_authenticationType || 'AWS_IAM';\n if (PubSub && typeof PubSub.subscribe === 'function') {\n return PubSub.subscribe('', {\n provider: INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER,\n appSyncGraphqlEndpoint: appSyncGraphqlEndpoint,\n authenticationType: authenticationType,\n apiKey: apiKey,\n query: print(query),\n region: region,\n variables: variables,\n graphql_headers: graphql_headers,\n additionalHeaders: additionalHeaders,\n authToken: authToken,\n });\n }\n else {\n logger.debug('No pubsub module applied for subscription');\n throw new Error('No pubsub module applied for subscription');\n }\n };\n /**\n * @private\n */\n GraphQLAPIClass.prototype._ensureCredentials = function () {\n var _this = this;\n return this.Credentials.get()\n .then(function (credentials) {\n if (!credentials)\n return false;\n var cred = _this.Credentials.shear(credentials);\n logger.debug('set credentials for api', cred);\n return true;\n })\n .catch(function (err) {\n logger.warn('ensure credentials error', err);\n return false;\n });\n };\n return GraphQLAPIClass;\n}());\nexport { GraphQLAPIClass };\nexport var GraphQLAPI = new GraphQLAPIClass(null);\nAmplify.register(GraphQLAPI);\n//# sourceMappingURL=GraphQLAPI.js.map","import { __assign, __awaiter, __generator } from \"tslib\";\n// Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.\n// SPDX-License-Identifier: Apache-2.0\nimport { Auth } from '@aws-amplify/auth';\nimport { Cache } from '@aws-amplify/cache';\nimport { RestAPIClass } from '@aws-amplify/api-rest';\nimport { GraphQLAPIClass, } from '@aws-amplify/api-graphql';\nimport { Amplify, ConsoleLogger as Logger, Credentials, } from '@aws-amplify/core';\nvar logger = new Logger('API');\n/**\n * @deprecated\n * Use RestApi or GraphQLAPI to reduce your application bundle size\n * Export Cloud Logic APIs\n */\nvar APIClass = /** @class */ (function () {\n /**\n * Initialize API with AWS configuration\n * @param {Object} options - Configuration object for API\n */\n function APIClass(options) {\n this.Auth = Auth;\n this.Cache = Cache;\n this.Credentials = Credentials;\n this._options = options;\n this._restApi = new RestAPIClass(options);\n this._graphqlApi = new GraphQLAPIClass(options);\n logger.debug('API Options', this._options);\n }\n APIClass.prototype.getModuleName = function () {\n return 'API';\n };\n /**\n * Configure API part with aws configurations\n * @param {Object} config - Configuration of the API\n * @return {Object} - The current configuration\n */\n APIClass.prototype.configure = function (options) {\n this._options = Object.assign({}, this._options, options);\n // Share Amplify instance with client for SSR\n this._restApi.Credentials = this.Credentials;\n this._graphqlApi.Auth = this.Auth;\n this._graphqlApi.Cache = this.Cache;\n this._graphqlApi.Credentials = this.Credentials;\n var restAPIConfig = this._restApi.configure(this._options);\n var graphQLAPIConfig = this._graphqlApi.configure(this._options);\n return __assign(__assign({}, restAPIConfig), graphQLAPIConfig);\n };\n /**\n * Make a GET request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.get = function (apiName, path, init) {\n return this._restApi.get(apiName, path, init);\n };\n /**\n * Make a POST request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.post = function (apiName, path, init) {\n return this._restApi.post(apiName, path, init);\n };\n /**\n * Make a PUT request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.put = function (apiName, path, init) {\n return this._restApi.put(apiName, path, init);\n };\n /**\n * Make a PATCH request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.patch = function (apiName, path, init) {\n return this._restApi.patch(apiName, path, init);\n };\n /**\n * Make a DEL request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.del = function (apiName, path, init) {\n return this._restApi.del(apiName, path, init);\n };\n /**\n * Make a HEAD request\n * @param apiName - The api name of the request\n * @param path - The path of the request\n * @param [init] - Request extra params\n * @return A promise that resolves to an object with response status and JSON data, if successful.\n */\n APIClass.prototype.head = function (apiName, path, init) {\n return this._restApi.head(apiName, path, init);\n };\n /**\n * Checks to see if an error thrown is from an api request cancellation\n * @param error - Any error\n * @return If the error was from an api request cancellation\n */\n APIClass.prototype.isCancel = function (error) {\n return this._restApi.isCancel(error);\n };\n /**\n * Cancels an inflight request for either a GraphQL request or a Rest API request.\n * @param request - request to cancel\n * @param [message] - custom error message\n * @return If the request was cancelled\n */\n APIClass.prototype.cancel = function (request, message) {\n if (this._restApi.hasCancelToken(request)) {\n return this._restApi.cancel(request, message);\n }\n else if (this._graphqlApi.hasCancelToken(request)) {\n return this._graphqlApi.cancel(request, message);\n }\n return false;\n };\n /**\n * Getting endpoint for API\n * @param apiName - The name of the api\n * @return The endpoint of the api\n */\n APIClass.prototype.endpoint = function (apiName) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, this._restApi.endpoint(apiName)];\n });\n });\n };\n /**\n * to get the operation type\n * @param operation\n */\n APIClass.prototype.getGraphqlOperationType = function (operation) {\n return this._graphqlApi.getGraphqlOperationType(operation);\n };\n APIClass.prototype.graphql = function (options, additionalHeaders) {\n return this._graphqlApi.graphql(options, additionalHeaders);\n };\n return APIClass;\n}());\nexport { APIClass };\nexport var API = new APIClass(null);\nAmplify.register(API);\n//# sourceMappingURL=API.js.map","import { CognitoRefreshToken } from 'amazon-cognito-identity-js';\n\nexport class AuthToken {\n jwtToken: string;\n expiration: number;\n refreshToken?: CognitoRefreshToken | null;\n\n constructor(\n jwtToken: string,\n expiration: number,\n refreshToken: CognitoRefreshToken = null\n ) {\n this.jwtToken = jwtToken;\n this.expiration = expiration;\n this.refreshToken = refreshToken;\n }\n}\n","const URL = process.env.NEXT_PUBLIC_API_BASE_PATH;\n\nconst buildEndpoint = (subApi: string) => {\n if (process.env.NEXT_PUBLIC_NODE_ENV === 'local') return URL;\n return `${URL}/${subApi}`;\n};\n\nexport enum ApiNames {\n Photos = 'PhotosApi',\n Users = 'UsersApi',\n Locations = 'LocationsApi',\n Bookings = 'BookingsApi',\n Invites = 'InvitesApi',\n FirstAvail = 'FirstAvail',\n listMemberships = 'listMemberships',\n InvitedAction = 'InvitedActionApi',\n FirstAvailAction = 'FirstAvailActionApi',\n BookedAction = 'BookedActionApi',\n bookings = 'bookings',\n Vehicles = 'Vehicles',\n CarMake = 'CarMake',\n DeleteVehicle = 'DeleteVehicle',\n DisableAccount = 'DisableAccount',\n ArchivedInvites = 'ArchivedInvites',\n ArchivedBookings = 'ArchivedBookings',\n ArchivedFirstAvail = 'ArchivedFirstAvail',\n SubmitApplication = 'SubmitApplication',\n DeletePhotos = 'DeletePhotos',\n CustomQuestions = 'CustomQuestions',\n PublicApplications = 'PublicApplications',\n Projects = 'ProjectsApi',\n}\n\nexport const awsApiConfig = {\n endpoints: [\n {\n name: ApiNames.Photos,\n endpoint: buildEndpoint('phot/photos'),\n },\n {\n name: ApiNames.Users,\n endpoint: buildEndpoint('usrs/users'),\n },\n {\n name: ApiNames.Locations,\n endpoint: buildEndpoint('loc/locations'),\n },\n {\n name: ApiNames.Bookings,\n endpoint: buildEndpoint('cast_jobs/bookings'),\n },\n {\n name: ApiNames.Invites,\n endpoint: buildEndpoint('cast_jobs/submissions'),\n },\n {\n name: ApiNames.FirstAvail,\n endpoint: buildEndpoint('cast_jobs/firstAvail'),\n },\n {\n name: ApiNames.listMemberships,\n endpoint: buildEndpoint('cast_jobs/listMemberships'),\n },\n {\n name: ApiNames.InvitedAction,\n endpoint: buildEndpoint('cast_jobs/actionsRequired'),\n },\n {\n name: ApiNames.FirstAvailAction,\n endpoint: buildEndpoint('cast_jobs/actionsRequired'),\n },\n {\n name: ApiNames.BookedAction,\n endpoint: buildEndpoint('cast_jobs/actionsRequired'),\n },\n {\n name: ApiNames.Vehicles,\n endpoint: buildEndpoint('cast_jobs/'),\n },\n {\n name: ApiNames.CarMake,\n endpoint: buildEndpoint('integrations'),\n },\n {\n name: ApiNames.DeleteVehicle,\n endpoint: buildEndpoint('usrs/'),\n },\n {\n name: ApiNames.DisableAccount,\n endpoint: buildEndpoint('usrs/'),\n },\n {\n name: ApiNames.ArchivedInvites,\n endpoint: buildEndpoint('cast_jobs/archived'),\n },\n {\n name: ApiNames.ArchivedBookings,\n endpoint: buildEndpoint('cast_jobs/archived'),\n },\n {\n name: ApiNames.ArchivedFirstAvail,\n endpoint: buildEndpoint('cast_jobs/archived'),\n },\n {\n name: ApiNames.SubmitApplication,\n endpoint: buildEndpoint('cast_jobs/submit'),\n },\n {\n name: ApiNames.DeletePhotos,\n endpoint: buildEndpoint('uphot/userPhotos'),\n },\n {\n name: ApiNames.CustomQuestions,\n endpoint: buildEndpoint('cast_jobs/questions'),\n },\n {\n name: ApiNames.PublicApplications,\n endpoint: buildEndpoint('cast_applications/applications'),\n },\n {\n name: ApiNames.Projects,\n endpoint: buildEndpoint('proj'),\n },\n ],\n};\n","export enum HttpMethod {\n DELETE = 'DELETE',\n GET = 'GET',\n POST = 'POST',\n PUT = 'PUT',\n}\n","import { API, Auth } from 'aws-amplify';\n\nimport type { CognitoUser } from '@aws-amplify/auth';\n\nimport type { ApiRequest } from './apiRequest';\nimport { AuthToken } from './authToken';\nimport { awsApiConfig } from './aws';\nimport { HttpMethod } from './httpMethod';\n\nAPI.configure(awsApiConfig);\n\nexport class ApiProxy {\n private static instance: ApiProxy;\n private authToken: AuthToken;\n\n public static getInstance(): ApiProxy {\n if (!ApiProxy.instance) ApiProxy.instance = new ApiProxy();\n return ApiProxy.instance;\n }\n\n private setToken(token: AuthToken): void {\n this.authToken = token;\n const timeout = 1000 * (token.expiration - 60) - Date.now();\n setTimeout(this.refreshTokens.bind(this), timeout);\n }\n\n private async getToken(): Promise {\n const user: CognitoUser = await Auth.currentAuthenticatedUser();\n const session = user.getSignInUserSession();\n const token = session.getIdToken();\n const refreshToken = session.getRefreshToken();\n const tokenValue = token.getJwtToken();\n const {\n payload: { exp },\n } = token;\n return new AuthToken(tokenValue, exp, refreshToken);\n }\n\n private async refreshTokens(): Promise {\n const cognitoUser: CognitoUser = await Auth.currentAuthenticatedUser();\n cognitoUser.refreshSession(this.authToken.refreshToken, (err, session) => {\n if (err) {\n Auth.signOut();\n localStorage.removeItem('currentProject');\n }\n const { refreshToken } = session;\n const expiration = session.getIdToken().payload.exp;\n const authToken = new AuthToken(\n session.getIdToken().getJwtToken(),\n expiration,\n refreshToken\n );\n this.setToken(authToken);\n });\n }\n\n private httpCall(type: HttpMethod): ApiCall {\n const HTTP_FUNCTION_MAPPER = {\n [HttpMethod.GET]: API.get,\n [HttpMethod.POST]: API.post,\n [HttpMethod.PUT]: API.put,\n [HttpMethod.DELETE]: API.del,\n };\n return HTTP_FUNCTION_MAPPER[type].bind(API);\n }\n\n private buildHttpParams(request: ApiRequest): HttpParams {\n return {\n body: request.body,\n headers: {\n Authorization: `Bearer ${this.authToken.jwtToken}`,\n ...request.httpHeaders,\n },\n ...request.miscOptions,\n };\n }\n\n public async execute(\n request: ApiRequest\n ): Promise {\n if (!this.authToken) this.setToken(await this.getToken());\n\n const params = this.buildHttpParams(request);\n const call = this.httpCall(request.method);\n return call(request.apiName, request.url, params)\n .then((res) => res)\n .catch((ish) => {\n throw new Error(ish?.response?.data?.error);\n });\n }\n}\n","import { HttpMethod } from './httpMethod';\n\nexport class ApiRequest {\n apiName: string;\n url: string;\n method: HttpMethod;\n body: HttpBody;\n httpHeaders: HttpHeaders;\n miscOptions: HttpMiscOptions;\n\n constructor(\n apiName: string,\n url: string,\n method = HttpMethod.GET,\n body = {},\n httpHeaders = {},\n miscOptions = {}\n ) {\n this.apiName = apiName;\n this.url = url;\n this.method = method;\n this.body = body;\n this.httpHeaders = httpHeaders;\n this.miscOptions = miscOptions;\n }\n}\n","import axios from 'axios';\n\nimport { ApiNames, ApiProxy, ApiRequest, HttpMethod } from '@lib/api/apiProxy';\nexport class PublicApplicationAPI {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.PublicApplications;\n private static apiSubmit = ApiNames.SubmitApplication;\n\n public static async getPublicApplication(\n ApplicationId: string\n ): Promise {\n console.log('ApplicationId', ApplicationId);\n\n const endpoint = `${process.env.NEXT_PUBLIC_API_BASE_PATH}/cast_applications/applications/public/${ApplicationId}`;\n try {\n const response = await axios.get(endpoint);\n const data: PublicApplication = response.data;\n console.log('data', data);\n return data;\n } catch (error) {\n // Handle errors here\n console.error(error);\n throw error; // Propagate the error if needed\n }\n }\n\n public static SubmitApplication(\n data: PostSubmitApplicationRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiSubmit, `/application`, HttpMethod.POST, data)\n );\n }\n}\n","import { ApiNames, ApiProxy, ApiRequest, HttpMethod } from '@lib/api/apiProxy';\n\nexport class BookingsQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.Bookings;\n private static customQuestions = ApiNames.CustomQuestions;\n\n public static getUserBooked(userId: string | number): Promise {\n const endpoint = `/user/${userId}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n\n public static getBookingDetails(\n booking_date_id: string | number\n ): Promise {\n const endpoint = `/${booking_date_id}/details`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n\n public static getBookingDetailsMisc(\n booking_date_id: string | number,\n notification_id: string | number\n ): Promise {\n const endpoint = `/${booking_date_id}/details?notification_id=${notification_id}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n\n public static updateBookingSubmission(\n booking_date_id: number | number,\n data: UpdateBookingSubmissionRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${booking_date_id}`, HttpMethod.PUT, data)\n );\n }\n\n public static updateRunningLate(\n booking_date_id: number | number,\n data: RunningLateRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${booking_date_id}`, HttpMethod.PUT, data)\n );\n }\n\n public static CancelRequest(\n booking_date_id: number | number,\n data: CancelRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${booking_date_id}/cancel`,\n HttpMethod.POST,\n data\n )\n );\n }\n\n public static SubmitCustomQuestions(\n data: CustomQuestionsRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.customQuestions, `/responses`, HttpMethod.POST, data)\n );\n }\n}\n\nexport class BookingsActionQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.BookedAction;\n private static apiArchived = ApiNames.ArchivedBookings;\n\n public static getUserBookingsAction(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?response_type=data&action_type=booked`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n\n public static getUserBookingsArchived(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?archived_type=bookings`;\n return this.apiProxy.execute(new ApiRequest(this.apiArchived, endpoint));\n }\n\n public static getUserBookingsActionTypes(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?action_type=booked`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n}\n","import { ApiNames, ApiProxy, ApiRequest } from '@lib/api/apiProxy';\n\nexport class FirstAvailQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.FirstAvail;\n\n public static getUserFirstAvail(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n public static getUserFirstAvailBookings(\n userId: string | number\n ): Promise {\n const endpoint = `/bookings/user/${userId}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n}\n\nexport class FirstAvailActionQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.FirstAvailAction;\n private static apiNameArchived = ApiNames.ArchivedFirstAvail;\n\n public static getUserFirstAvailAction(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?response_type=data&action_type=first_avail`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n public static getUserFirstAvailActionBookings(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?response_type=data&action_type=first_avail_bookings`;\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, endpoint)\n );\n }\n public static getUserFirstAvailArchived(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?archived_type=firstAvail`;\n return this.apiProxy.execute(\n new ApiRequest(this.apiNameArchived, endpoint)\n );\n }\n public static getUserFirstAvailBookingsArchived(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?archived_type=firstAvailBookings`;\n return this.apiProxy.execute(\n new ApiRequest(this.apiNameArchived, endpoint)\n );\n }\n public static getUserFirstAvailActionType(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?action_type=first_avail`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n}\n","import { ApiNames, ApiProxy, ApiRequest, HttpMethod } from '@lib/api/apiProxy';\n\nexport class PhotosCommandApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.Photos;\n\n public static async uploadImage(\n uploadUrl: UploadUrl,\n photoFile: File | Blob\n ): Promise {\n const formData = this._photoFormData(uploadUrl, photoFile);\n const options = this._photoRequestOptions(formData);\n try {\n const response = await fetch(uploadUrl.url, options);\n return response.text();\n } catch (error) {\n throw new Error('Something went wrong when uploading image');\n }\n }\n\n public static createUserPhoto(\n userPhoto: UserPhotoDTO\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/user/${userPhoto.user_id}`,\n HttpMethod.POST,\n userPhoto\n )\n );\n }\n\n private static _photoFormData(\n uploadUrl: UploadUrl,\n photoFile: File | Blob\n ): FormData {\n const result = new FormData();\n for (const [key, value] of Object.entries(uploadUrl.fields)) {\n result.append(key, value);\n }\n result.append('file', photoFile, uploadUrl.fields.key);\n return result;\n }\n\n private static _photoRequestOptions(formData: FormData): RequestInit {\n const result: RequestInit = {\n method: HttpMethod.POST,\n body: formData,\n redirect: 'follow',\n };\n return result;\n }\n public static updateProfilePic(\n photoId: number,\n userPhoto: UserPhotoDTO\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/user/${photoId}`,\n HttpMethod.PUT,\n userPhoto\n )\n );\n }\n}\n","import { ApiNames, ApiProxy, ApiRequest } from '@lib/api/apiProxy';\n\nexport class PhotosQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.Photos;\n\n public static getUploadUrl(\n fileName: string,\n fileType?: string,\n bucket?: BucketType\n ): Promise {\n let endpoint = `/requestSignedUrl?fileName=${fileName}`;\n if (bucket) {\n endpoint += `&bucket=${bucket}`;\n }\n if (fileType) {\n endpoint += '&s3Fields=' + JSON.stringify({ 'Content-Type': fileType });\n }\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n\n public static getUserPhotos(userId: number): Promise {\n const endpoint = `/user/${userId}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n}\n","import { ApiNames, ApiProxy, ApiRequest, HttpMethod } from '@lib/api/apiProxy';\n// import { InvitesDTO,SubmissionDetails } from '@lib/types/invites';\n\nexport class InvitesQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.Invites;\n\n public static getUserInvites(userId: string | number): Promise {\n const endpoint = `/user/${userId}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n}\nexport class InvitesActionQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.InvitedAction;\n private static apiArchived = ApiNames.ArchivedInvites;\n\n public static getUserInvitesAction(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?response_type=data&archived_type=submissions`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n public static getUserInvitesArchived(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?archived_type=submissions`;\n return this.apiProxy.execute(new ApiRequest(this.apiArchived, endpoint));\n }\n\n public static getUserInvitesActionType(\n userId: string | number\n ): Promise {\n const endpoint = `/user/${userId}?action_type=submitted`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n}\nexport class listMemberships {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.listMemberships;\n private static apiSubmit = ApiNames.SubmitApplication;\n private static customQuestions = ApiNames.CustomQuestions;\n public static getListMembership(\n list_membership_id: string | number\n ): Promise {\n const endpoint = `/${list_membership_id}/details`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n public static getListMembershipMisc(\n list_membership_id: string | number,\n notification_id: string | number\n ): Promise {\n const endpoint = `/${list_membership_id}/details?notification_id=${notification_id}`;\n return this.apiProxy.execute(new ApiRequest(this.apiName, endpoint));\n }\n\n public static updateUserSubmission(\n list_membership_id: string | number,\n data: UpdateUserSubmissionRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${list_membership_id}`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static SubmitApplication(\n data: SubmitApplicationRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiSubmit, `/application`, HttpMethod.POST, data)\n );\n }\n public static SubmitCustomQuestions(\n data: CustomQuestionsRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.customQuestions, `/responses`, HttpMethod.POST, data)\n );\n }\n}\n","import axios from 'axios';\n\nimport { ApiNames, ApiProxy, ApiRequest, HttpMethod } from '@lib/api/apiProxy';\nimport {\n EverysetUser,\n IUserAccount,\n IUserDeletePhoto,\n IUserSkill,\n IVehicleData,\n UserNotificationPreference,\n UserSignupProperties,\n} from '@lib/types/user.types';\n\nexport class UsersCommandApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.Users;\n private static apiNameVehicle = ApiNames.DeleteVehicle;\n private static apiDeletePhotos = ApiNames.DeletePhotos;\n\n public static create_user_signup_properties(\n userId: number,\n signupProperties: CreateUserSignupProperties\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/signup_properties`,\n HttpMethod.POST,\n signupProperties\n )\n );\n }\n\n public static updateUserBasicInfo(\n userId: number,\n newValues: UpdateUserBasicInfo\n ): Promise {\n return UsersCommandApi._updateUserInfo(userId, newValues);\n }\n\n public static updateUserPersonalData(\n userId: number,\n newValues: UpdateUserPersonalData\n ): Promise {\n return UsersCommandApi._updateUserInfo(userId, newValues);\n }\n\n public static updateUserUnionInfo(\n userId: number,\n newValues: UpdateUserUnion\n ): Promise {\n return UsersCommandApi._updateUserInfo(userId, newValues);\n }\n\n public static updateUserInfo(\n userId: number,\n newValues: UpdateUserInfo\n ): Promise {\n return UsersCommandApi._updateUserInfo(userId, newValues);\n }\n public static updateUserGeneralInfo(\n userId: number,\n newValues: UpdateUserGeneralInfo\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}`, HttpMethod.PUT, newValues)\n );\n }\n\n public static updateUserNotificationPreferenceAll(\n userId: number,\n areAllNotificationsEnabled: boolean,\n removeEmailNotifications?: boolean\n ): Promise {\n let url = `/${userId}/notification_preferences`;\n if (removeEmailNotifications) {\n url += '?remove_email_notifications=true';\n }\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, url, HttpMethod.PUT, [\n {\n notification_type: 'all',\n opt_in: areAllNotificationsEnabled,\n },\n ])\n );\n }\n\n public static createUserAppearance(\n userId: number,\n data: CreateOrUpdateUserAppearance\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/appearance`,\n HttpMethod.POST,\n data\n )\n );\n }\n\n public static updateUserLicenseTypes(\n userId: number,\n data: UpdateUserLicenseTypes\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/license_types`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static updateUserAppearance(\n userId: number,\n data: CreateOrUpdateUserAppearance\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/appearance`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static updateUserAppearanceInfo(\n userId: number,\n data: UserAppearance\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/appearance`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static updateUserAppearanceCall(\n userId: number,\n data: CreateOrUpdateUserAppearanceCall\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/appearance`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static createUserSkill(\n userId: number,\n data: CreateUserSkillRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/skills?is_new_entity=true`,\n HttpMethod.POST,\n data\n )\n );\n }\n\n public static updateUserSkill(\n skillId: number,\n newData: UpdateUserSkill\n ): Promise {\n const endpoint = `/${skillId}/skills`;\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, endpoint, HttpMethod.PUT, newData)\n );\n }\n\n public static deleteUserSkill(skillIds: number[]): Promise {\n const newSkillsString = skillIds.join(',');\n const endpoint = `/skills?newSkillIds=[${newSkillsString}]`;\n\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, endpoint, HttpMethod.DELETE)\n );\n }\n public static createUserProps(\n userId: number,\n data: CreateUserSkillRequest\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}/props`, HttpMethod.POST, data)\n );\n }\n public static deleteUserProps(propId: number[]): Promise {\n const propIdsString = propId.join(',');\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/props?propIds=[${propIdsString}]`,\n HttpMethod.DELETE\n )\n );\n }\n\n private static _updateUserInfo(\n userId: number,\n newValues: UpdateUserInfo\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}`, HttpMethod.PUT, newValues)\n );\n }\n\n public static createUserVehicles(\n userId: number,\n data: CreateUserVehicle[]\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}/vehicles`, HttpMethod.POST, data)\n );\n }\n\n public static deleteUserVehicles(ids: number): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiNameVehicle,\n `/vehicles?ids=[${ids}]`,\n HttpMethod.DELETE\n )\n );\n }\n\n public static deleteUserPhotos(\n user_Photo_id: number\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiDeletePhotos,\n `/${user_Photo_id}`,\n HttpMethod.DELETE\n )\n );\n }\n\n public static updateUserVehicles(\n vehicle_id: number,\n data: UpdateUserVehicle\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiNameVehicle,\n `vehicles/${vehicle_id}`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static userDisable(\n userId: number,\n data: userAccount\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/disableAccount`,\n HttpMethod.PUT,\n data\n )\n );\n }\n\n public static async sendEmail(\n email: string,\n description: string,\n clientHost: string\n ) {\n const endpoint = `${process.env.NEXT_PUBLIC_API_BASE_PATH}/usrs/public/sendEmail`;\n try {\n return await axios.post(endpoint, {\n email,\n description,\n clientHost,\n });\n } catch (e) {\n console.error(e);\n throw e;\n }\n }\n\n public static upsertUserEmploymentVerification(\n userId: number,\n data: UpsertEmploymentVerification\n ): Promise;\n public static upsertUserEmploymentVerification(\n userId: number,\n data: UpsertUkEmploymentVerification\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/employmentVerification`,\n HttpMethod.POST,\n data\n )\n );\n }\n\n public static upsertUserBackgroundCheck(\n userId: number,\n data: UpsertUkBackgroundCheck\n ): Promise;\n public static upsertUserBackgroundCheck(\n userId: number,\n data: UpsertUkBackgroundCheck\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/backgroundChecks`,\n HttpMethod.POST,\n data\n )\n );\n }\n}\n","import { ApiNames, ApiProxy, ApiRequest } from '@lib/api/apiProxy';\nimport {\n EverysetUser,\n UserNotificationPreference,\n} from '@lib/types/user.types';\n\nexport class UsersQueryApi {\n private static apiProxy = ApiProxy.getInstance();\n private static apiName = ApiNames.Users;\n\n public static getUserNotificationPreferences(\n userId: number\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}/notification_preferences`)\n );\n }\n\n public static getUser(userId: number): Promise {\n return this.apiProxy.execute(new ApiRequest(this.apiName, `/${userId}`));\n }\n\n public static getUserProfile(userId: number): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}/profile`)\n );\n }\n\n public static getUserAppearance(userId: number): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}/appearance`)\n );\n }\n public static getUserVehicles(userId: number): Promise {\n return this.apiProxy.execute(\n new ApiRequest(this.apiName, `/${userId}/vehicles`)\n );\n }\n\n public static getUserEmploymentVerification(\n userId: number,\n jurisdiction: ProductionCountry\n ): Promise;\n public static getUserEmploymentVerification(\n userId: number,\n jurisdiction: 'UK'\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/employmentVerification?jurisdiction=${jurisdiction}`\n )\n );\n }\n\n public static getUserBackgroundChecks(\n userId: number,\n jurisdiction: ProductionCountry\n ): Promise;\n public static getUserBackgroundChecks(\n userId: number,\n jurisdiction: 'UK'\n ): Promise {\n return this.apiProxy.execute(\n new ApiRequest(\n this.apiName,\n `/${userId}/backgroundChecks?jurisdiction=${jurisdiction}`\n )\n );\n }\n}\n","import type { AuthUserSession } from '@lib/types/authUser.types';\n\nexport const isAuthUserAdmin = (authUser: AuthUserSession): boolean => {\n const groups =\n authUser?.signInUserSession?.accessToken?.payload?.['cognito:groups'];\n if (!groups) return false;\n return groups.includes('admin');\n};\n","import { createContext, ReactNode, useContext, useEffect } from 'react';\n\nimport { useImpersonateUser } from '@hooks/impersonation/useImpersonateUser';\nimport { AuthUserSession } from '@lib/types/authUser.types';\nimport { EverysetUser } from '@lib/types/user.types';\n\nimport { useOnboardingStatus } from './useOnboardingStatus';\nimport { useSession } from './useSession';\n\ninterface IAuthContext {\n token: string;\n isAuthenticated: boolean;\n authUserSession: AuthUserSession;\n sessionLoading?: boolean;\n setSessionLoading?: (loading: boolean) => void;\n logout?: () => void;\n processImpersonatedUserId: () => void;\n getImpersonatedUser: () => Promise;\n}\n\nconst AuthContext = createContext({} as IAuthContext);\n\ntype Props = {\n children: ReactNode;\n};\n\nexport const AuthProvider = ({ children }: Props): JSX.Element => {\n const { authUserSession, sessionLoading, setSessionLoading, logout } =\n useSession();\n const { processImpersonatedUserId, getImpersonatedUser } =\n useImpersonateUser(authUserSession);\n\n useEffect(() => {\n processImpersonatedUserId();\n }, [processImpersonatedUserId]);\n\n useOnboardingStatus(authUserSession, logout);\n\n return (\n \n {children}\n \n );\n};\n\n// custom hook so we only have to import useContext in this component\nexport const useAuth: () => IAuthContext = () =>\n useContext(AuthContext);\n","import { useCallback, useState } from 'react';\nimport { useRouter } from 'next/router';\n\nimport { UsersQueryApi } from '@lib/api/endpoints';\nimport { AuthUserSession } from '@lib/types/authUser.types';\nimport { isAuthUserAdmin } from '@lib/utils/authHelper';\n\nexport const useImpersonateUser = (\n authUserSession: AuthUserSession\n): UseImpersonateUser => {\n const router = useRouter();\n const [impersonatedUserId, setImpersonatedUserId] =\n useState(undefined);\n\n const getImpersonatedUser = useCallback(async () => {\n if (!impersonatedUserId) {\n return;\n }\n return await UsersQueryApi.getUser(impersonatedUserId);\n }, [impersonatedUserId]);\n\n const processImpersonatedUserId = useCallback(() => {\n const isAdmin = isAuthUserAdmin(authUserSession);\n if (!isAdmin) {\n return;\n }\n const newImpersonatedUserId =\n +router.query.impersonate_user_id || undefined;\n setImpersonatedUserId(newImpersonatedUserId);\n }, [authUserSession, setImpersonatedUserId, router.query]);\n\n return {\n processImpersonatedUserId,\n getImpersonatedUser,\n };\n};\n","import { useOnboardingStateContext } from 'context/onboarding/OnboardingStateContext';\nimport { useRouter } from 'next/router';\nimport { useCallback, useState } from 'react';\nimport { useQuery } from 'react-query';\nimport { useSelector } from 'react-redux';\n\nimport { useUserVehicles } from '@hooks/shared/useUserVehicles';\nimport { UsersQueryApi } from '@lib/api/endpoints';\nimport {\n setAllUserIds,\n setImpersonatedUserId,\n setNotificationPreferences,\n setUserAppearance,\n setUserProfile,\n setUserProfileInfo,\n} from '@lib/redux.lib/slices/appSlice';\nimport { RootState, useAppDispatch } from '@lib/redux.lib/store';\nimport { AuthUserSession } from '@lib/types/authUser.types';\nimport { isAuthUserAdmin } from '@lib/utils/authHelper';\n\nexport const useOnboardingStatus = (\n authUserSession: AuthUserSession,\n logout: () => void\n): void => {\n const appDispatch = useAppDispatch();\n const { setOnboardingLoading } = useOnboardingStateContext();\n const router = useRouter();\n const reduxImpersonatedUserId = useSelector(\n (state: RootState) => state.app.user.impersonatedUserId\n );\n\n // prefetch vehicles asynchrounously\n useUserVehicles();\n // const { userId } = router.query;\n\n // console.log(router.query.userId, \"router.query.ooooo\")\n //const onboard = useSelector((state: RootState) => state.app.user.onboardingFirstLoad);\n\n const [onboardingFirstLoad, setOnboardingFirstLoad] = useState(true);\n //console.log(onboardingFirstLoad, \"onboardingFirstLoad\")\n const allUserIds =\n authUserSession?.signInUserSession.idToken.payload['users'];\n\n const queryFn = useCallback(async () => {\n if (onboardingFirstLoad) setOnboardingLoading(true);\n try {\n const ruserId = router.query.userId ? router.query.userId : '';\n if (ruserId && ruserId !== '') {\n if (!authUserSession?.attributes)\n authUserSession.attributes = {} as AuthUserSession['attributes'];\n authUserSession.attributes.sub = '';\n authUserSession.attributes['custom:access_code'] = '';\n authUserSession.attributes['custom:castifi_user_id'] = '' + ruserId;\n authUserSession.attributes.email = '';\n authUserSession.attributes.email_verified = true;\n }\n\n // const userId = router.query.userId ||\n // authUserSession?.attributes?.['custom:castifi_user_id'] ||\n // authUserSession?.signInUserSession.idToken.payload[\n // 'custom:castifi_user_id'\n // ];\n\n const newImpersonatedUserId = isAuthUserAdmin(authUserSession)\n ? router.query.impersonate_user_id\n : undefined;\n const impersonatedUserId = reduxImpersonatedUserId\n ? reduxImpersonatedUserId\n : newImpersonatedUserId\n ? newImpersonatedUserId\n : null;\n appDispatch(setImpersonatedUserId(+impersonatedUserId ?? null));\n const userId = impersonatedUserId\n ? impersonatedUserId\n : router.query.userId\n ? router.query.userId\n : authUserSession?.attributes?.['custom:castifi_user_id'] ||\n authUserSession?.signInUserSession.idToken.payload[\n 'custom:castifi_user_id'\n ];\n if (!userId) throw 'No user Id';\n\n appDispatch(setAllUserIds(allUserIds)); // This line will store allUserIds in the Redux store\n\n const finalUserId = parseInt('' + userId);\n\n const userData = await UsersQueryApi.getUser(finalUserId);\n if (userData.is_disabled) {\n logout();\n await router.push('/login');\n }\n appDispatch(setUserProfile(userData));\n const UserInfoData = await UsersQueryApi.getUserProfile(finalUserId);\n appDispatch(setUserProfileInfo(UserInfoData));\n\n const UserAppearance = await UsersQueryApi.getUserAppearance(finalUserId);\n appDispatch(setUserAppearance(UserAppearance));\n\n const notificationPreferenceList =\n await UsersQueryApi.getUserNotificationPreferences(finalUserId);\n const notificationPreferences = notificationPreferenceList.reduce(\n (acc, { notification_type, opt_in }) => {\n acc[notification_type] = opt_in;\n return acc;\n },\n {} as Record\n );\n appDispatch(setNotificationPreferences(notificationPreferences));\n\n setOnboardingFirstLoad(false);\n if (!userData?.bg_onboarded && router.pathname !== '/onboarding') {\n await router.push('/onboarding');\n }\n } catch (error) {\n console.log(error);\n } finally {\n if (authUserSession) setOnboardingLoading(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [\n onboardingFirstLoad,\n appDispatch,\n router,\n setOnboardingLoading,\n authUserSession,\n reduxImpersonatedUserId,\n ]);\n\n useQuery({\n queryKey: [authUserSession, 'userProfile'],\n queryFn,\n refetchOnWindowFocus: false,\n });\n};\n","import type { HubCapsule } from '@aws-amplify/core';\n\n// need the Hub Listener to detect auth events to trigger rerenders\nexport const AuthListener = async (\n data: HubCapsule,\n setupSession: (customState?: string) => Promise,\n setSessionLoading: (loading: boolean) => void,\n takedownSession: () => Promise\n): Promise => {\n setSessionLoading(true);\n switch (data.payload.event) {\n case 'signIn':\n console.log('user signed in');\n await setupSession();\n break;\n case 'signUp':\n console.log('user signed up');\n break;\n case 'signOut':\n console.log('user signed out');\n await takedownSession();\n break;\n case 'signIn_failure':\n console.log('user sign in failed');\n break;\n case 'configured':\n console.log('the Auth module is configured');\n break;\n case 'autoSignIn':\n console.log('auto sign in', data.payload.data);\n break;\n case 'autoSignIn_failure':\n console.log('auto sign in failed');\n break;\n case 'confirmSignUp':\n console.log('user sign up confirmed');\n break;\n case 'forgotPassword':\n console.log('password recovery initiated');\n break;\n case 'forgotPassword_failure':\n console.log('password recovery failed');\n break;\n case 'forgotPasswordSubmit':\n console.log('password confirmation successful');\n break;\n case 'forgotPasswordSubmit_failure':\n console.log('password confirmation failed');\n break;\n case 'customOAuthState':\n console.log('customOAuthState', data.payload);\n await setupSession(data?.payload?.data);\n break;\n default:\n console.log('auth event not handled: ', data?.payload?.event);\n console.debug('full data: ', data);\n }\n setSessionLoading(false);\n};\n","import {\n MutableRefObject,\n useCallback,\n useEffect,\n useRef,\n useState,\n} from 'react';\nimport router from 'next/router';\nimport { message } from 'antd';\nimport { Auth, Hub } from 'aws-amplify';\nimport { useOnboardingStateContext } from 'context/onboarding/OnboardingStateContext';\nimport type { Dispatch, SetStateAction } from 'react';\n\nimport { HubCapsule } from '@aws-amplify/core';\nimport { UsersQueryApi } from '@lib/api/endpoints';\nimport { UsersCommandApi } from '@lib/api/endpoints/users';\nimport {\n setUserAppearance,\n setUserProfile,\n} from '@lib/redux.lib/slices/appSlice';\nimport { useAppDispatch } from '@lib/redux.lib/store';\nimport { AuthUserSession } from '@lib/types/authUser.types';\nimport { EverysetUser } from '@lib/types/user.types';\n\nimport { googleSignout } from './googleSignout';\nimport { AuthListener } from './listener';\n\nconst setupSession = (\n setAuthUserSession: (session: AuthUserSession) => void,\n setOnboardingLoading: (value: boolean) => void,\n setSessionLoading: (value: boolean) => void,\n canStopSessionLoadingRef: MutableRefObject,\n setUserProfileData: (userData: EverysetUser) => void,\n setUserAppearanceData: (userAppearance: UserAppearance) => void,\n customState?: string\n) => {\n const {\n redirectTo,\n signupProperties: rawSignupProperties,\n birthday,\n } = JSON.parse(customState ?? '{}');\n\n if (rawSignupProperties?.selectedCountry) {\n canStopSessionLoadingRef.current = false;\n }\n\n return Auth.currentAuthenticatedUser()\n .then(async (sessionData) => {\n const userId =\n sessionData.attributes?.['custom:castifi_user_id'] ||\n sessionData.signInUserSession.idToken.payload['custom:castifi_user_id'];\n const finalUserId = parseInt(userId);\n\n const [userData, userAppearance] = await Promise.all([\n UsersQueryApi.getUser(finalUserId),\n UsersQueryApi.getUserAppearance(finalUserId),\n ]);\n setUserProfileData(userData);\n setUserAppearanceData(userAppearance);\n\n setOnboardingLoading(true);\n\n if (birthday) {\n await UsersCommandApi.createUserAppearance(finalUserId, { birthday });\n setUserAppearanceData({ ...userAppearance, birthday });\n }\n\n if (rawSignupProperties?.selectedCountry) {\n const signupProperties = {\n selected_country: rawSignupProperties.selectedCountry,\n referrer: window?.location.origin,\n client_id: process.env.NEXT_PUBLIC_CLIENT_ID,\n };\n const { selected_country } =\n await UsersCommandApi.create_user_signup_properties(\n userId,\n signupProperties\n );\n\n // after setting the country is done, we need to set the user profile with the country\n setUserProfileData({ ...userData, selected_country });\n canStopSessionLoadingRef.current = true;\n }\n\n if (redirectTo) {\n await router.push(redirectTo);\n setOnboardingLoading(false);\n setAuthUserSession(sessionData);\n }\n\n if (userData.bg_onboarded === false) {\n const { asPath } = router ?? {};\n setOnboardingLoading(false);\n if (['/privacy-policy', '/terms-of-service'].includes(asPath)) {\n await router?.push({\n pathname: asPath,\n });\n return;\n }\n await router?.push({\n pathname: '/onboarding',\n ...(asPath.includes('/apps/')\n ? { query: { redirectTo: asPath } }\n : null),\n });\n }\n setAuthUserSession(sessionData);\n })\n .catch((error) => {\n console.error(error);\n setOnboardingLoading(false);\n canStopSessionLoadingRef.current = true;\n })\n .finally(() => {\n if (!(canStopSessionLoadingRef.current === false)) {\n setSessionLoading(false);\n }\n });\n};\n\nconst takedownSession = async (\n setAuthUserSession: Dispatch>\n) => {\n googleSignout();\n await (Auth as any)._storage.clear();\n await (Auth as any).cleanCachedItems();\n return setAuthUserSession(null);\n};\n\ntype UseSessionObject = {\n authUserSession: AuthUserSession;\n sessionLoading: boolean;\n setSessionLoading: Dispatch>;\n logout: () => void;\n};\n\nexport const useSession = (): UseSessionObject => {\n const [sessionLoading, setSessionLoading] = useState(true);\n const [authUserSession, setAuthUserSession] = useState(null);\n const { setOnboardingLoading } = useOnboardingStateContext();\n const canStopSessionLoadingRef = useRef(true);\n const appDispatch = useAppDispatch();\n\n const setUserProfileData = (userData: EverysetUser) => {\n appDispatch(setUserProfile(userData));\n };\n const setUserAppearanceData = (userAppearance: UserAppearance) => {\n appDispatch(setUserAppearance(userAppearance));\n };\n\n useEffect(() => {\n // initialize listener only once in constructor\n const result = Hub.listen('auth', (data: HubCapsule) =>\n AuthListener(\n data,\n (customState: string) =>\n setupSession(\n setAuthUserSession,\n setOnboardingLoading,\n setSessionLoading,\n canStopSessionLoadingRef,\n setUserProfileData,\n setUserAppearanceData,\n customState\n ),\n setSessionLoading,\n () => takedownSession(setAuthUserSession)\n )\n );\n\n // check for existing session on mount\n setupSession(\n setAuthUserSession,\n setOnboardingLoading,\n setSessionLoading,\n canStopSessionLoadingRef,\n setUserProfileData,\n setUserAppearanceData\n );\n\n // remove listener on takedown - just return listener result that has a remove callback\n return result;\n }, []); // eslint-disable-line react-hooks/exhaustive-deps\n\n const logout = useCallback(() => {\n setSessionLoading(true);\n // TODO\n // clear redux user_id as well\n Auth.signOut()\n .then((success) => {\n message.info('successfully signed out', success);\n\n setAuthUserSession(null);\n setSessionLoading(false);\n\n router.push('/');\n })\n .catch((err) => {\n console.log('ERROR', err);\n message.error('Error');\n setSessionLoading(false);\n });\n }, [setAuthUserSession, setSessionLoading]);\n\n return { authUserSession, sessionLoading, setSessionLoading, logout };\n};\n","export const googleSignout = (): void => {\n const signoutUrl =\n 'https://' +\n process.env.NEXT_PUBLIC_COGNITO_DOMAIN +\n '/logout?client_id=' +\n process.env.NEXT_PUBLIC_CLIENT_ID +\n '&logout_uri=' +\n process.env.NEXT_PUBLIC_OAUTH_REDIRECT_SIGN_OUT;\n try {\n fetch(signoutUrl);\n } catch (err) {\n console.log(err);\n }\n};\n","import { EverysetUser } from '@lib/types/user.types';\nimport type { PayloadAction } from '@reduxjs/toolkit';\nimport { createSlice } from '@reduxjs/toolkit';\n\nexport interface AppState {\n user: {\n profile?: EverysetUser;\n IUserInfoDAO?: UserProfile;\n UserAppearance?: UserAppearance;\n InvitesActionType?: InvitesActionTypeDTO;\n FirstAvailActionType?: FirstAvailActionTypeDTO;\n BookedActionType?: BookingsActionTypeDTO;\n allUserIds?: any; // Add the allUserIds field here\n onboardingFirstLoad?: boolean;\n notificationPreferences?: Record;\n impersonatedUserId?: number;\n };\n googleMapsApi: {\n loaded: boolean;\n };\n}\n\nconst initialState: AppState = {\n user: {\n profile: null,\n IUserInfoDAO: null,\n UserAppearance: null,\n InvitesActionType: null,\n FirstAvailActionType: null,\n BookedActionType: null,\n allUserIds: null,\n onboardingFirstLoad: true,\n notificationPreferences: null,\n impersonatedUserId: null,\n },\n googleMapsApi: {\n loaded: false,\n },\n};\n\nexport const appSlice = createSlice({\n name: 'app',\n initialState,\n reducers: {\n setUserProfile: (state, action: PayloadAction) => {\n state.user.profile = action.payload;\n },\n setImpersonatedUserId: (state, action: PayloadAction) => {\n state.user.impersonatedUserId = action.payload;\n },\n setUserProfileInfo: (state, action: PayloadAction) => {\n state.user.IUserInfoDAO = action.payload;\n },\n setUserAppearance: (state, action: PayloadAction) => {\n state.user.UserAppearance = action.payload;\n },\n setInvitesActionType: (\n state,\n action: PayloadAction\n ) => {\n state.user.InvitesActionType = action.payload;\n },\n setFirstAvailActionType: (\n state,\n action: PayloadAction\n ) => {\n state.user.FirstAvailActionType = action.payload;\n },\n setBookedActionType: (\n state,\n action: PayloadAction\n ) => {\n state.user.BookedActionType = action.payload;\n },\n setAllUserIds: (state, action: PayloadAction) => {\n state.user.allUserIds = action.payload;\n },\n setOnboardingFirstLoad: (state, action) => {\n state.user.onboardingFirstLoad = action.payload;\n },\n setNotificationPreferences: (\n state,\n action: PayloadAction>\n ) => {\n state.user.notificationPreferences = action.payload;\n },\n setNotificationPreference: (\n state,\n action: PayloadAction<{ notificationType: string; optIn: boolean }>\n ) => {\n const { notificationType, optIn } = action.payload;\n state.user.notificationPreferences = {\n ...(state.user.notificationPreferences ?? {}),\n [notificationType]: optIn,\n };\n },\n setGoogleMapsApiLoaded: (state, action: PayloadAction) => {\n state.googleMapsApi.loaded = action.payload;\n },\n resetStore: () => {\n // Reset the state to its initial value\n return initialState;\n },\n },\n});\n\nexport const {\n setUserProfile,\n setUserProfileInfo,\n setUserAppearance,\n setInvitesActionType,\n setFirstAvailActionType,\n setBookedActionType,\n setAllUserIds,\n resetStore,\n setOnboardingFirstLoad,\n setNotificationPreferences,\n setNotificationPreference,\n setImpersonatedUserId,\n setGoogleMapsApiLoaded,\n} = appSlice.actions;\n\nexport default appSlice.reducer;\n","import { useDispatch } from 'react-redux';\n\nimport { configureStore } from '@reduxjs/toolkit';\n\nimport { appReducer } from './slices';\n\nexport const store = configureStore({\n reducer: {\n app: appReducer,\n },\n});\n\nexport type RootState = ReturnType;\nexport type AppDispatch = typeof store.dispatch;\nexport const useAppDispatch: () => AppDispatch = useDispatch;\n","export function orderBasedOnConstArr(\n constArr: T[] | readonly T[],\n toOrder: T[]\n): T[] {\n return [...toOrder].sort((a, b) => {\n return constArr.indexOf(a) - constArr.indexOf(b);\n });\n}\n\nexport function arraysAreEqual(\n array1: T[] | readonly T[],\n array2: T[]\n): boolean {\n if (array1?.length !== array2?.length) {\n return false;\n }\n return array1?.every((element, index) => element === array2?.[index]);\n}\n\nexport function unsortedArraysAreEqual(\n array1: T[] | readonly T[],\n array2: T[]\n): boolean {\n const orderedArray2 = orderBasedOnConstArr(array1, array2);\n return arraysAreEqual(array1, orderedArray2);\n}\n","export const STATES = [\n 'AK',\n 'AL',\n 'AR',\n 'AS',\n 'AZ',\n 'CA',\n 'CO',\n 'CT',\n 'DC',\n 'DE',\n 'FL',\n 'FM',\n 'GA',\n 'GU',\n 'HI',\n 'IA',\n 'ID',\n 'IL',\n 'IN',\n 'KS',\n 'KY',\n 'LA',\n 'MA',\n 'MD',\n 'ME',\n 'MH',\n 'MI',\n 'MN',\n 'MO',\n 'MP',\n 'MS',\n 'MT',\n 'NC',\n 'ND',\n 'NE',\n 'NH',\n 'NJ',\n 'NM',\n 'NV',\n 'NY',\n 'OH',\n 'OK',\n 'OR',\n 'PA',\n 'PR',\n 'PW',\n 'RI',\n 'SC',\n 'SD',\n 'TN',\n 'TX',\n 'UT',\n 'VA',\n 'VI',\n 'VT',\n 'WA',\n 'WI',\n 'WV',\n 'WY',\n];\n\nexport const GENDER_MALE = 'Male';\nexport const GENDER_FEMALE = 'Female';\nexport const GENDER_TRANS_MALE = 'Transgender Male';\nexport const GENDER_TRANS_FEMALE = 'Transgender Female';\nexport const GENDER_NON_BYNARY = 'Non-Binary';\n\nexport type GenderType =\n | typeof GENDER_MALE\n | typeof GENDER_FEMALE\n | typeof GENDER_TRANS_MALE\n | typeof GENDER_TRANS_FEMALE\n | typeof GENDER_NON_BYNARY;\n\nexport const GENDER_IDENTITIES = [\n GENDER_MALE,\n GENDER_FEMALE,\n GENDER_TRANS_MALE,\n GENDER_TRANS_FEMALE,\n GENDER_NON_BYNARY,\n];\n\nexport const GENDER_IDENTITIES_OPTIONS = GENDER_IDENTITIES.map((gender) => ({\n value: gender,\n label: gender,\n}));\n\nexport const ETHNICITIES = [\n 'African American',\n 'African Descent',\n 'Caribbean / West Indies',\n 'Caucasian',\n 'East Asian',\n 'Eastern European',\n 'Ethnically Ambiguous',\n 'Hispanic / Latinx',\n 'Mediterranean',\n 'Middle Eastern',\n 'Native American / Alaskan',\n 'Pacific Islander / Hawaiian',\n 'South American',\n 'South Asian / East Indian',\n 'Southeast Asian',\n] as const;\n\nexport const UK_ETHNICITIES = [\n 'African - Central',\n 'African - Eastern',\n 'African - Southern',\n 'African - Western',\n 'Afro Caribbean / West Indies',\n 'Australasia',\n 'Central Asia',\n 'East Asian',\n 'Eastern European',\n 'Latin American',\n 'Mediterranean',\n 'Middle Eastern',\n 'North African',\n 'North American',\n 'Northern European',\n 'Pacific Islander / Hawaiian',\n 'Scandinavian',\n 'South American',\n 'South Asian / East Indian',\n 'Mixed Race',\n];\n\nexport const US_ETHNICITY_MAP = {\n Caucasian: 'Caucasian / White',\n 'African American': 'African American / Black',\n}\n\nexport const UK_COUNTRY = 'United Kingdom';\n","export const HOW_DID_YOU_HEAR_OPTIONS = [\n 'Referral',\n 'Word of Mouth',\n 'Social Media',\n 'Google',\n 'Online Ads',\n 'Other',\n];\n\nexport const UK_COUNTRIES = [\n 'England',\n 'Ireland',\n 'Northern Ireland',\n 'Scotland',\n 'Wales',\n];\n\nexport const UK_COUNTRY_OPTIONS = UK_COUNTRIES.map((country) => ({\n value: country,\n label: country,\n}));\n\nexport const UK_RATE_TYPE_OPTIONS = {\n 'pact/faa': 'PACT/FAA',\n 'pact/equity': 'PACT/Equity',\n 'bbc/equity': 'BBC/Equity',\n commercial: 'Commercial',\n 'non-union': 'Non-union',\n unscripted: 'Unscripted',\n other: 'Other',\n};\nexport const RIGHT_TO_WORK_INFO = {\n firstBullet:\n 'We are legally required to obtain proof of your right to work in the UK before you can start work, we therefore need a copy of your passport (or other right to work documentation) on file.',\n secondBullet:\n 'Where requested to upload a photo of your documents, all images must be clear and legible.',\n};\n","export const CARRIER = [\n 'Carrier',\n 'Baby Stroller',\n 'Backpack',\n 'Briefcase',\n 'Luggage',\n] as const;\n\nexport const UK_CARRIER = [\n 'Carrier',\n\n 'Backpack',\n 'Briefcase',\n 'Luggage',\n 'Pram',\n] as const;\n\nexport const MUSIC = [\n 'Music',\n 'Bongos',\n 'Instrument - Guitar',\n 'Instrument - Keyboard',\n 'Instrument - Marching Band',\n 'Instrument - Orchestra',\n] as const;\n\nexport const TRANSPORTATION = [\n 'Transportation',\n 'Bicycle - City',\n 'Bicycle - Cruiser',\n 'Bicycle - Mountain',\n 'Bicycle - Other',\n 'Moped Scooter',\n 'Scooter',\n 'Unicycle',\n] as const;\n\nexport const SPORT = [\n 'Sport',\n 'Baseball Glove',\n 'Boxing Gloves',\n 'Frisbee',\n 'Golf Clubs',\n 'Ice Skates',\n 'Longboard',\n 'Pointe Shoes',\n 'Roller Blades',\n 'Roller Skates',\n 'Skateboard',\n 'Skiis',\n 'Snowboard',\n 'Surfboard',\n 'Tennis Racket',\n 'Wetsuit',\n 'Yoga Mat',\n] as const;\n\nexport const UK_SPORT = [\n 'Sport',\n 'Baseball Glove',\n 'Boxing Gloves',\n 'Frisbee',\n 'Golf Clubs',\n 'Ice Skates',\n 'Longboard',\n 'Pointe Shoes',\n 'Roller Blades',\n 'Roller Skates',\n 'Skateboard',\n 'Skiis',\n 'Snowboard',\n 'Surfboard',\n\n 'Tennis Racquet',\n 'Wetsuit',\n 'Yoga Mat',\n] as const;\n\nexport const OTHER = [\n 'Other',\n 'Camera',\n 'DJ Equipment',\n 'Dog',\n 'Laptop',\n 'Stenographer Machines',\n 'Tactical Boots',\n] as const;\n\nexport const UK_OTHER = [\n 'Other',\n 'Camera',\n 'DJ Equipment',\n 'Dog',\n 'Laptop',\n\n 'Stenograph Machines',\n 'Tactical Boots',\n] as const;\n","export const UNION_STATUSES = [\n {\n text: 'Non-Union',\n value: 'non-union',\n abbrev: 'N/U',\n otherFormats: ['NU', 'N/U', 'Non Union', 'non-union'],\n },\n { text: 'SAG-Eligible', value: 'sag-eligible', abbrev: 'SAG-E' },\n {\n text: 'SAG-AFTRA',\n value: 'sag-aftra',\n abbrev: 'SAG',\n otherFormats: ['Union', 'SAG'],\n },\n { text: 'FiCore', value: 'ficore', abbrev: 'FiC' },\n { text: 'Must Join', value: 'must-join', abbrev: 'MJ' },\n];\nexport const UNION_STATUS_ID_LABEL = {\n 'sag-aftra': 'SAG-AFTRA',\n ficore: 'Fi-Core',\n};\n\nexport const SAG_STATUSES = ['sag-aftra', 'Fi-Core'];\n\nexport const CALL_IN_SERVICES = [\n { value: null, label: \"No, I don't have a call in service\" },\n {\n value: 'AC',\n label: 'American Casting',\n },\n {\n value: 'BT',\n label: 'Booked Talent',\n },\n {\n value: 'CUT',\n label: 'Cut Above',\n },\n {\n value: 'EK',\n label: 'Elite Kids',\n },\n {\n value: 'EM',\n label: 'Extras Management',\n },\n {\n value: 'F2F',\n label: 'Face2Face',\n },\n {\n value: 'JAL',\n label: \"Jessica's A-List\",\n },\n {\n value: 'JL',\n label: \"Joey's List\",\n },\n {\n value: 'KK',\n label: 'Kalifornia Kasting',\n },\n {\n value: 'KM',\n label: 'Kids Management',\n },\n {\n value: 'MED',\n label: 'Media Access',\n },\n {\n value: 'MAS',\n label: 'Model Act Studios',\n },\n {\n value: 'NA',\n label: \"Nikki's Angels\",\n },\n {\n value: 'OST',\n label: 'On Set Talent',\n },\n {\n value: 'OS',\n label: 'Osbrink',\n },\n {\n value: 'PAL',\n label: 'Paloma Model & Talent',\n },\n {\n value: 'REEL',\n label: 'Reel Talent',\n },\n {\n value: 'RTA',\n label: 'Rock Talent Agency',\n },\n {\n value: 'SK',\n label: 'Studio Kids',\n },\n {\n value: 'UC',\n label: 'Uncut Casting',\n },\n {\n value: 'WUN',\n label: 'Wunder Model Mgmt',\n },\n {\n value: 'ZURI',\n label: 'Zuri Models',\n },\n];\n\nexport const CALL_IN_SERVICE_HELP_TEXT = `A Call-In Service is a company\nthat provides additional resources\nand services to handle scheduling\nand submissions for background\nacting roles, on your behalf.`;\n","export const ART = [\n 'Art',\n 'Artist',\n 'Crocheting',\n 'Knitting',\n 'Sculpting',\n] as const;\n\nexport const UK_ART = [\n 'Art',\n 'Crocheting',\n 'Knitting',\n 'Sculpting',\n 'Painting',\n 'Sketch',\n] as const;\n\nexport const DANCE = [\n 'Dance',\n 'Ballet',\n 'Ballroom',\n 'Breakdancing',\n 'Contemporary',\n 'Dance- Other',\n 'Hip Hop',\n 'Jazz',\n 'Tap',\n] as const;\n\nexport const UK_DANCE = [\n 'Dance',\n 'Ballet',\n 'Ballroom',\n 'Breakdancing',\n 'Contemporary',\n 'Hip Hop',\n 'Jazz',\n 'Tap',\n 'Other Dance',\n] as const;\n\nexport const Experience = [\n 'Experience',\n 'Barista',\n 'Bartending',\n 'Cab Driver',\n 'Cameraman',\n 'Catering',\n 'Chef',\n 'DJ',\n 'Doctor',\n 'EMT / Paramedic',\n 'Fencing',\n 'Firearms',\n 'Firefighter',\n 'Hairstylist',\n 'Lifeguard',\n 'Makeup Artist',\n 'Manicurist',\n 'Massage Therapy',\n 'Military / Veteran',\n 'Model',\n 'Nursing',\n 'Precision Driving',\n 'Stenographer',\n 'Stunts',\n 'Waiting Tables',\n 'Weapons',\n] as const;\n\nexport const UK_Experience = [\n 'Experience',\n 'Barista',\n 'Bartending',\n // 'Cab Driver',\n // 'Cameraman',\n 'Camera Operator',\n 'Catering',\n 'Chef',\n 'DJ',\n 'Doctor',\n // 'EMT / Paramedic',\n 'Fencing',\n 'Firearms',\n 'Firefighter',\n // 'Hairstylist',\n 'Hairdresser',\n 'Lifeguard',\n // 'Makeup Artist',\n 'Make-up Artist',\n 'Manicurist',\n // 'Massage Therapy',\n 'Massage Therapist',\n 'Military / Veteran',\n 'Model',\n 'Nursing',\n 'Paramedic',\n 'Precision Driving',\n 'Stenographer',\n 'Stunts',\n 'Taxi Driver',\n 'Waiting Tables',\n 'Weapons',\n] as const;\n\nexport const Music = [\n 'Music',\n 'Drums',\n 'Guitar',\n 'Marching Band',\n 'Mariachi',\n 'Orchestra',\n 'Other Instrument',\n 'Piano',\n] as const;\n\nexport const Performative = [\n 'Performative',\n 'Aerial',\n 'Belly Dancing',\n 'Burlesque',\n 'Casino Dealer',\n 'Clown',\n 'Contortion',\n 'Flare Bartending',\n 'Juggling',\n 'Magician',\n 'Mime',\n 'Pole Dancing',\n 'Stilt Walker',\n 'Theater',\n 'Unicycle',\n] as const;\n\nexport const UK_Performative = [\n 'Performative',\n 'Aerial',\n 'Belly Dancing',\n 'Burlesque',\n 'Casino Dealer',\n 'Clown',\n 'Contortion',\n // 'Flare Bartending',\n 'Flair Bartending',\n 'Juggling',\n 'Magician',\n 'Mime',\n 'Pole Dancing',\n 'Stilt Walker',\n // 'Theater',\n 'Theatre',\n 'Unicycle',\n] as const;\n\nexport const Sport = [\n 'Sport',\n 'Archery',\n 'Badminton',\n 'Baseball',\n 'Basketball',\n 'Billiards',\n 'Body Building',\n 'Bowling',\n 'Boxing',\n 'Cheerleading',\n 'Cross Country',\n 'Crossfit',\n 'Cycling',\n 'Football',\n 'Frisbee',\n 'Golf',\n 'Gymnastics',\n 'Hockey',\n 'Horseback Riding',\n 'Ice Skating',\n 'Jiujitsu',\n 'Jump Rope',\n 'Kayaking',\n 'Kick Boxing',\n 'Martial Arts',\n 'MMA',\n 'Paddle Boarding',\n 'Parkour',\n 'Pickleball',\n 'Ping Pong',\n 'Rock Climber',\n 'Roller Blading',\n 'Roller Skating',\n 'Rugby',\n 'Scuba Diving',\n 'Skateboarding',\n 'Skiing - Snow',\n 'Skiing - Water',\n 'Snowboarding',\n 'Soccer',\n 'Softball',\n 'Surfing',\n 'Swimming',\n 'Tennis',\n 'Track',\n 'Volleyball',\n 'Wrestling',\n 'Yoga',\n] as const;\n\nexport const UK_Sport = [\n 'Sport',\n 'American Football',\n 'Archery',\n 'Badminton',\n 'Baseball',\n 'Basketball',\n 'Billiards',\n // 'Body Building',\n 'Bodybuilding',\n 'Bowling',\n 'Boxing',\n 'Cheerleading',\n 'Cross Country',\n // 'Crossfit',\n 'CrossFit',\n 'Cycling',\n 'Football',\n 'Frisbee',\n 'Golf',\n 'Gymnastics',\n 'Hockey',\n // 'Horseback Riding',\n 'Horse Riding',\n 'Ice Skating',\n // 'Jiujitsu',\n 'Jiu-Jitsu',\n 'Jump Rope',\n 'Kayaking',\n // 'Kick Boxing',\n 'Kickboxing',\n 'Martial Arts',\n 'MMA',\n // 'Paddle Boarding',\n 'Paddleboarding',\n 'Parkour',\n 'Pickleball',\n 'Ping Pong',\n // 'Rock Climber',\n 'Rock Climbing',\n // 'Roller Blading',\n 'Rollerblading',\n 'Roller Skating',\n 'Rugby',\n 'Scuba Diving',\n 'Skateboarding',\n 'Skiing - Snow',\n 'Skiing - Water',\n 'Snowboarding',\n // 'Soccer',\n 'Softball',\n 'Surfing',\n 'Swimming',\n 'Tennis',\n 'Track',\n 'Volleyball',\n 'Wrestling',\n 'Yoga',\n] as const;\n\nexport const Languages = [\n 'Languages',\n 'Arabic',\n 'Bengali',\n 'Chinese',\n 'Czech',\n 'Dutch',\n 'English',\n 'Farsi',\n 'French',\n 'German',\n 'Greek',\n 'Haitian Creole French',\n 'Hindi',\n 'Indo-Iranian',\n 'Italian',\n 'Japanese',\n 'Javanese',\n 'Korean',\n 'North Germanic',\n 'Panjabi',\n 'Polish',\n 'Portuguese',\n 'Romanian',\n 'Russian',\n 'Sign Language',\n 'Spanish',\n 'Tagalog',\n 'Thai',\n 'Turkish',\n 'Ukrainian',\n 'Urdu',\n 'Vietnamese',\n 'Language - Other',\n] as const;\n","import { buildRange } from '../general';\n\nimport { CONDITION } from './profileConstants';\nimport { UK_CAR_MAKES_WITH_MODELS } from './ukCarMakesModels';\n\nexport const UK_LICENSE_TYPES = [\n 'Full Car',\n 'Advanced Car',\n 'Driving Instructor',\n 'LGV (HGV) Class 1',\n 'LGV (HGV) Class 2',\n 'Motorcycle Under 125cc',\n 'Motorcycle Above 125cc',\n 'PCV (PSV) Coach',\n 'PCV (PSV) Minibus',\n 'Taxi',\n];\n\nexport const UK_LICENSE_OPTIONS = UK_LICENSE_TYPES.map((license) => ({\n label: license,\n value: license,\n}));\n\nexport const CAR_YEARS = buildRange(new Date().getFullYear(), 1970).reverse();\n\nexport const CAR_YEAR_OPTIONS = CAR_YEARS.map((year) => ({\n label: year,\n value: year,\n}));\n\nexport const CAR_TYPES = [\n 'Convertible',\n 'SUV',\n 'Sedan',\n 'Crossover',\n 'Station Wagon',\n 'Van',\n 'Sports',\n 'Truck',\n 'Motorcycle',\n 'Other',\n];\n\nexport const CAR_TYPE_OPTIONS = CAR_TYPES.map((carType) => ({\n label: carType,\n value: carType,\n}));\n\nexport const CAR_CONDITION_OPTIONS = CONDITION.map((carCondition) => ({\n label: carCondition,\n value: carCondition,\n}));\n\nexport const CAR_COLORS = [\n 'White',\n 'Black',\n 'Grey',\n 'Silver',\n 'Gold',\n 'Tan',\n 'Brown',\n 'Burgundy',\n 'Red',\n 'Orange',\n 'Yellow',\n 'Green',\n 'Blue',\n 'Purple',\n];\n\nexport const CAR_COLOR_OPTIONS = CAR_COLORS.map((carColor) => ({\n label: carColor,\n value: carColor,\n}));\n\nexport const UK_CAR_MAKE_OPTIONS = UK_CAR_MAKES_WITH_MODELS.map(\n ({ carMake }) => ({\n label: carMake,\n value: carMake,\n })\n);\n","import { buildRange } from '../general';\nimport { convertInchesToUkString } from '../measureHelper';\n\nexport const BODY_TYPES = [\n 'Average',\n 'Slim',\n 'Athletic / Toned',\n 'Muscular',\n 'Curvy',\n 'Heavyset / Stocky',\n 'Plus-Sized / Full-Figured',\n 'Little Person',\n] as const;\n\nexport const BODY_TYPE_OPTIONS = BODY_TYPES.map((bodyType) => ({\n value: bodyType,\n label: bodyType,\n}));\n\nexport const HAIR_LENGTH = [\n 'Bald',\n 'Balding',\n 'Short',\n 'Medium',\n 'Long',\n 'Buzz cut',\n 'Pixie Cut',\n] as const;\nexport const HAIR_LENGTH_OPTIONS = HAIR_LENGTH.map((hairLength) => ({\n value: hairLength,\n label: hairLength,\n}));\n\nexport const HAIR_COLOR = [\n 'Black',\n 'Light Brown',\n 'Blonde',\n 'Brown',\n 'Red',\n 'Grey',\n 'White',\n 'Bald',\n 'Other',\n] as const;\nexport const HAIR_COLOR_OPTIONS = HAIR_COLOR.map((hairColor) => ({\n value: hairColor,\n label: hairColor,\n}));\n\nexport const EYE_COLOR = [\n 'Blue',\n 'Brown',\n 'Hazel',\n 'Green',\n 'Amber',\n 'Grey',\n] as const;\nexport const EYE_COLOR_OPTIONS = EYE_COLOR.map((eyeColor) => ({\n label: eyeColor,\n value: eyeColor,\n}));\n\nexport const WARDROBE_TEXT = `Please fill out measurements as thoroughly as possible. It is important to also regularly confirm they are up to date. Missing or inaccurate measurements can prevent your profile appearing in searches for roles that you might otherwise match!`;\n\nexport const DRESS = [\n '00',\n '2',\n '4',\n '6',\n '8',\n '10',\n '12',\n '14',\n '16',\n '18',\n '20',\n '22',\n '24',\n '26',\n '28',\n '30',\n '32',\n] as const;\n\nexport const CUP = [\n 'AA',\n 'A',\n 'B',\n 'C',\n 'D',\n 'DD',\n 'DDD',\n 'F',\n 'G',\n 'H',\n 'I',\n 'J',\n] as const;\n\nexport const CUP_UK = [\n 'AA',\n 'A',\n 'B',\n 'C',\n 'D',\n 'DD',\n 'E',\n 'F',\n 'FF',\n 'G',\n 'GG',\n 'H',\n 'HH',\n 'J',\n 'JJ',\n 'K',\n 'KK',\n] as const;\n\nexport const SHOES = [\n '0',\n '0.5',\n '1',\n '1.5',\n '2',\n '2.5',\n '3',\n '3.5',\n '4',\n '4.5',\n '5',\n '5.5',\n '6',\n '6.5',\n '7',\n '7.5',\n '8',\n '8.5',\n '9',\n '9.5',\n '10',\n '10.5',\n '11',\n '11.5',\n '12',\n '12.5',\n '13',\n '13.5',\n '14',\n] as const;\n\nexport const SHIRT = ['XS', 'S', 'M', 'L', 'XL', 'XXL', 'XXXL'] as const;\n\nexport const ADULT_HAT_SIZE_OPTIONS = [\n '20 3/4',\n '21',\n '21 1/2',\n '22',\n '22 1/2',\n '22 3/4',\n '23',\n '23 1/2',\n '24',\n '24 3/8',\n '24 7/8',\n '25 1/8',\n '26 1/2',\n] as const;\n\nexport const MINOR_HAT_SIZE_OPTIONS = [\n '19 1/8',\n '19 1/2',\n '19 3/4',\n '20 1/4',\n '20 3/4',\n '21 1/8',\n '21 1/2',\n '21 7/8',\n] as const;\n\nexport const ALL_HAT_SIZE_OPTIONS = [\n '19 1/8',\n '19 1/2',\n '19 3/4',\n '20 1/4',\n '20 3/4',\n '21',\n '21 1/8',\n '21 1/2',\n '21 7/8',\n '22',\n '22 1/2',\n '22 3/4',\n '23',\n '23 1/2',\n '24',\n '24 3/8',\n '24 7/8',\n '25 1/8',\n '26 1/2',\n] as const;\n\nexport const MAKE = ['XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL'] as const;\n\nexport const MODEL = ['XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL'] as const;\n\nexport const YEAR = ['XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL'] as const;\n\nexport const COLOR = ['XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL'] as const;\n\nexport const CONDITION = [\n 'Excellent / New',\n 'Good / Used',\n 'Poor / Visible Damages',\n] as const;\n\nexport const TYPE = ['XXS', 'XS', 'S', 'M', 'L', 'XL', 'XXL'] as const;\n\ninterface HeightOption {\n feetInchesLabel: string;\n inches: number;\n}\n\nexport const HEIGHT_OPTIONS = Array(4)\n .fill(0)\n .reduce((acc, _, feetIdx) => {\n const feet = feetIdx + 4; // starts from 4 to 7\n const heightsForFeet = Array(12)\n .fill(0)\n .map((_, inches) => ({\n feetInchesLabel: `${feet} ft ${inches} in`,\n inches: feet * 12 + inches,\n }));\n return acc.concat(heightsForFeet);\n }, []);\nexport const UK_HEIGHT_OPTIONS_INCHES = HEIGHT_OPTIONS.map(\n ({ inches }) => inches\n);\n\nexport const UK_HEIGHT_OPTIONS = UK_HEIGHT_OPTIONS_INCHES.map((inches) => ({\n value: inches,\n label: convertInchesToUkString(inches),\n}));\n\nexport const CHEST_SIZE_OPTIONS = [\n '30',\n '32',\n '34',\n '36',\n '38',\n '40',\n '44',\n] as const;\n\nexport const WAIST_SIZE_OPTIONS = [\n '28',\n '30',\n '32',\n '34',\n '36',\n '38',\n '40',\n '44',\n '46',\n '48',\n] as const;\n\nexport const Reasons = [\n 'Sick/Injured',\n 'Unexpected matching recall on another project',\n 'Transportation Issue',\n 'Terms of the jobs are different than originally stated',\n 'Family emergency',\n 'Audition',\n 'Double booked',\n 'Other',\n];\n\nexport const wardrobeOptionsMap = {\n dress: DRESS,\n cup: CUP,\n shoe_size: SHOES,\n shirt_size: SHIRT,\n chest: CHEST_SIZE_OPTIONS,\n waist: WAIST_SIZE_OPTIONS,\n};\n\nexport const getWardrobeOptions = (\n wardrobeType: string,\n isMinor = false\n): readonly string[] => {\n if (wardrobeType === 'hat') {\n return isMinor ? MINOR_HAT_SIZE_OPTIONS : ADULT_HAT_SIZE_OPTIONS;\n }\n return wardrobeOptionsMap[wardrobeType];\n};\n\nexport const getWardrobeOptionsUK = (\n wardrobeType: string\n): readonly string[] => {\n return wardrobeOptionsMapUK[wardrobeType];\n};\n\nexport const MinMaxValues = {\n hip: { min: 30, max: 56 }, // Example min and max values for Hat\n waist: { min: 20, max: 56 },\n chest_bust: { min: 30, max: 56 },\n bust: { min: 30, max: 46 },\n neck: { min: 13, max: 19 },\n sleeve: { min: 32, max: 36 },\n inseam: { min: 30, max: 38 },\n pants: { min: 0, max: 32 },\n};\n\nexport const WardrobeLabel = {\n hat: 'Hat Size',\n shirt_size: 'Shirt Size',\n shoe_size: 'Shoe Size',\n waist: 'Waist Size',\n cup: 'Cup Size',\n bust: 'Bust Size',\n dress: 'Dress Size',\n hip: 'Hip Size',\n pants: 'Pant Size',\n chest_bust: 'Chest Size',\n inseam: 'Inseam Size',\n neck: 'Neck Size',\n sleeve: 'Sleeve Size',\n};\n\nexport const WardrobeMapping = {\n Hat: 'hat',\n Shirt: 'shirt_size',\n Shoe: 'shoe_size',\n Waist: 'waist',\n 'Cup (Women)': 'cup',\n 'Bust (Women)': 'bust',\n 'Dress (Women)': 'dress',\n 'Hips (Women)': 'hip',\n 'Pant (Women)': 'pants',\n 'Chest (Men)': 'chest_bust',\n 'Inseam (Men)': 'inseam',\n 'Neck (Men)': 'neck',\n 'Sleeve (Men)': 'sleeve',\n};\n\nexport const WARDROBE_LABELS_BY_GENDER = {\n Male: [\n 'Hat',\n 'Shirt',\n 'Shoe',\n 'Waist',\n 'Chest (Men)',\n 'Inseam (Men)',\n 'Neck (Men)',\n 'Sleeve (Men)',\n ],\n Female: [\n 'Hat',\n 'Shirt',\n 'Shoe',\n 'Waist',\n 'Cup (Women)',\n 'Bust (Women)',\n 'Dress (Women)',\n 'Hips (Women)',\n 'Pant (Women)',\n ],\n Other: [\n 'Hat',\n 'Shirt',\n 'Shoe',\n 'Waist',\n 'Cup (Women)',\n 'Bust (Women)',\n 'Dress (Women)',\n 'Hips (Women)',\n 'Pant (Women)',\n 'Chest (Men)',\n 'Inseam (Men)',\n 'Neck (Men)',\n 'Sleeve (Men)',\n ],\n 'Non-Binary': [\n 'Hat',\n 'Shirt',\n 'Shoe',\n 'Waist',\n 'Cup (Women)',\n 'Bust (Women)',\n 'Dress (Women)',\n 'Hips (Women)',\n 'Pant (Women)',\n 'Chest (Men)',\n 'Inseam (Men)',\n 'Neck (Men)',\n ], // excludes Sleeve (Men)\n};\n\nexport const wardrobeOptionsMapUK = {\n uk_dress: buildRange(26, 4, 2),\n sleeve: buildRange(40, 30, 0.5),\n neck: buildRange(21, 11, 0.5),\n chest_bust: buildRange(60, 26, 0.5),\n chest: buildRange(60, 26, 0.5),\n cup: CUP_UK,\n underbust: buildRange(50, 28, 2),\n waist: buildRange(60, 21, 0.5),\n natural_waist: buildRange(60, 21, 0.5),\n trouser_waist: buildRange(50, 26, 2),\n hip: buildRange(56, 28, 0.5),\n inseam: buildRange(40, 26, 1),\n uk_shoe: buildRange(17, 1, 0.5),\n head: buildRange(26, 19, 0.5),\n};\n\nexport const MinMaxValuesUK = {};\n\nexport const WardrobeLabelUK = {\n uk_dress: 'Dress Size',\n head: 'Head Size',\n neck: 'Collar Size',\n sleeve: 'Sleeve Size',\n chest: 'Chest Size',\n chest_bust: 'Chest/Bust Size',\n cup: 'Cup Size',\n underbust: 'Underbust Size',\n waist: 'Waist Size',\n natural_waist: 'Natural Waist Size',\n trouser_waist: 'Trouser Waist Size',\n hip: 'Hips Size',\n inseam: 'Inside Leg Size',\n uk_shoe: 'Shoe Size',\n};\n\nexport const WardrobeMappingUK = {\n 'Dress (UK)': 'uk_dress',\n Head: 'head',\n Collar: 'neck',\n Sleeve: 'sleeve',\n 'Chest (Men)': 'chest',\n 'Chest/Bust (Women, Non-Binary)': 'chest_bust',\n Cup: 'cup',\n Underbust: 'underbust',\n 'Waist (Women, Non-Binary)': 'waist',\n 'Natural Waist (Men)': 'natural_waist',\n 'Trouser Waist (Men)': 'trouser_waist',\n Hips: 'hip',\n 'Inside Leg': 'inseam',\n 'Shoe (UK)': 'uk_shoe',\n};\n\nexport const WARDROBE_LABELS_BY_GENDER_UK = {\n Male: [\n 'Head',\n 'Collar',\n 'Sleeve',\n 'Chest (Men)',\n 'Natural Waist (Men)',\n 'Trouser Waist (Men)',\n 'Inside Leg',\n 'Shoe (UK)',\n ],\n Female: [\n 'Dress (UK)',\n 'Head',\n 'Collar',\n 'Chest/Bust (Women, Non-Binary)',\n 'Cup',\n 'Underbust',\n 'Waist (Women, Non-Binary)',\n 'Hips',\n 'Shoe (UK)',\n ],\n Other: [\n 'Dress (UK)',\n 'Head',\n 'Collar',\n 'Sleeve',\n 'Chest/Bust (Women, Non-Binary)',\n 'Cup',\n 'Underbust',\n 'Waist (Women, Non-Binary)',\n 'Hips',\n 'Inside Leg',\n 'Shoe (UK)',\n ],\n 'Non-Binary': [\n 'Dress (UK)',\n 'Head',\n 'Collar',\n 'Sleeve',\n 'Chest/Bust (Women, Non-Binary)',\n 'Cup',\n 'Underbust',\n 'Waist (Women, Non-Binary)',\n 'Hips',\n 'Inside Leg',\n 'Shoe (UK)',\n ],\n};\n","export const UK_CAR_MAKES_WITH_MODELS = [\n {\n carMake: 'Abarth',\n carModels: [\n '500',\n '595',\n '695',\n '124 Spider',\n '500C',\n 'Grande Punto',\n 'Punto Evo',\n ],\n },\n { carMake: 'AC', carModels: ['302 and 212', 'Mamba'] },\n {\n carMake: 'Aixam',\n carModels: [\n '400 & 500',\n 'A751',\n 'cCity',\n 'Crossline',\n 'Crossover',\n 'Roadline',\n ],\n },\n {\n carMake: 'Alfa Romeo',\n carModels: [\n '33',\n '75',\n '90',\n '145',\n '146',\n '147',\n '155',\n '156',\n '159',\n '164',\n '166',\n '4C',\n 'Alfasud & Sprint',\n 'Arna',\n 'Brera',\n 'Giulia',\n 'Giulietta',\n 'GT',\n 'GTV',\n 'Mito',\n 'Spider',\n 'Stelvio',\n 'SZ',\n 'Tonale',\n ],\n },\n { carMake: 'Alpine', carModels: ['A110'] },\n { carMake: 'Asia', carModels: ['Rocsta'] },\n {\n carMake: 'Aston Martin',\n carModels: [\n 'Cygnet',\n 'DB11',\n 'DB7',\n 'DB9',\n 'DBS',\n 'DBS Superleggera',\n 'DBX',\n 'Rapide',\n 'V8',\n 'Vanquish',\n 'Vantage',\n 'Virage',\n ],\n },\n {\n carMake: 'Audi',\n carModels: [\n '80',\n '90',\n '100',\n '200',\n 'A1',\n 'A2',\n 'A3',\n 'A4',\n 'A5',\n 'A6',\n 'A7',\n 'A8',\n 'Cabriolet',\n 'Coupe',\n 'E-Tron',\n 'E-Tron GT',\n 'Q2',\n 'Q3',\n 'Q4 E-Tron',\n 'Q5',\n 'Q7',\n 'Q8',\n 'Q8 e-tron',\n 'R8',\n 'TT',\n 'V8',\n ],\n },\n {\n carMake: 'Austin',\n carModels: ['Maestro', 'Metro', 'Mini', 'Montego'],\n },\n { carMake: 'BAC', carModels: ['Mono'] },\n {\n carMake: 'Bentley',\n carModels: [\n 'Arnage',\n 'Azure/Continental',\n 'Bentayga',\n 'Brooklands',\n 'Continental Flying Spur',\n 'Continental GT',\n 'Corniche',\n 'Eight',\n 'Flying Spur',\n 'Mulsanne',\n 'Turbo R',\n ],\n },\n {\n carMake: 'BMW',\n carModels: [\n '1-Series',\n '2-Series',\n '330e',\n '3-Series',\n '4-Series',\n '5-Series',\n '6-Series',\n '7-Series',\n '8-Series',\n 'Alpina',\n 'i3',\n 'i4',\n 'i7',\n 'i8',\n 'iX',\n 'iX1',\n 'iX3',\n 'X1',\n 'X2',\n 'X3',\n 'X4',\n 'X5',\n 'X6',\n 'X7',\n 'XM',\n 'Z1',\n 'Z3',\n 'Z4',\n 'Z8',\n ],\n },\n {\n carMake: 'BMW Alpina',\n carModels: [\n 'B3',\n 'B4',\n 'B5',\n 'B6',\n 'B7',\n 'B8',\n 'D3',\n 'D4',\n 'D5',\n 'XB7',\n 'XD3',\n ],\n },\n { carMake: 'Bristol', carModels: ['Blenheim', 'Fighter'] },\n {\n carMake: 'Cadillac',\n carModels: ['BLS', 'CTS', 'Escalade', 'Seville', 'SRX', 'STS', 'XLR'],\n },\n { carMake: 'Caterham', carModels: ['Super Seven'] },\n {\n carMake: 'Chevrolet',\n carModels: [\n 'Aveo',\n 'Blazer',\n 'Camaro',\n 'Captiva',\n 'Corvette',\n 'Cruze',\n 'Epica',\n 'Kalos',\n 'Lacetti',\n 'Matiz',\n 'Orlando',\n 'Spark',\n 'Tacuma',\n 'Trax',\n 'Volt',\n ],\n },\n {\n carMake: 'Chrysler',\n carModels: [\n '300C',\n 'Crossfire',\n 'Delta',\n 'Dodge Viper',\n 'Grand Voyager',\n 'Neon',\n 'PT Cruiser',\n 'Sebring',\n 'Voyager',\n 'Ypsilon',\n ],\n },\n {\n carMake: 'Citro\\u00ebn',\n carModels: [\n '2CV6',\n 'Ami',\n 'AX',\n 'Berlingo',\n 'Berlingo Multispace',\n 'BX',\n 'C1',\n 'C2',\n 'C3',\n 'C3 Aircross',\n 'C3 Picasso',\n 'C3 Pluriel',\n 'C3 XTR',\n 'C4',\n 'C4 Cactus',\n 'C4 Picasso',\n 'C4 SpaceTourer',\n 'C5',\n 'C5 X',\n 'C6',\n 'C8',\n 'C-Crosser',\n 'CX',\n 'C-Zero',\n 'Dispatch Combi',\n 'DS3',\n 'DS4',\n 'DS5',\n 'e-Berlingo',\n 'e-C4',\n 'e-C4 X',\n 'e-SpaceTourer',\n 'Grand C4 Picasso',\n 'Grand C4 SpaceTourer',\n 'Nemo Multispace',\n 'Saxo',\n 'SpaceTourer',\n 'Synergie',\n 'Visa',\n 'Xantia',\n 'XM',\n 'Xsara',\n 'Xsara Picasso',\n 'ZX',\n ],\n },\n {\n carMake: 'Coleman Milne',\n carModels: [\n 'Dorchester',\n 'Grosvenor',\n 'Hearse',\n 'Limousine',\n 'Minster',\n 'Windsor',\n ],\n },\n { carMake: 'Corvette', carModels: ['C6', 'Stingray'] },\n { carMake: 'Cupra', carModels: ['Ateca', 'Born', 'Formentor', 'Leon'] },\n {\n carMake: 'Dacia',\n carModels: ['Duster', 'Jogger', 'Logan', 'Sandero'],\n },\n {\n carMake: 'Daewoo',\n carModels: [\n 'Espero',\n 'Kalos',\n 'Korando',\n 'Lacetti',\n 'Lanos',\n 'Leganza',\n 'Matiz',\n 'Musso',\n 'Nexia',\n 'Nubira',\n 'Tacuma',\n ],\n },\n {\n carMake: 'Daihatsu',\n carModels: [\n 'Applause',\n 'Charade',\n 'Charmant',\n 'Copen',\n 'Cuore',\n 'Domino',\n 'Fourtrak',\n 'Grand Move',\n 'Materia',\n 'Mira',\n 'Move',\n 'Sirion',\n 'Sportrak',\n 'Terios',\n 'YRV',\n ],\n },\n { carMake: 'Daimler', carModels: ['Saloon', 'Super Eight'] },\n { carMake: 'De Tomaso', carModels: ['Guara'] },\n { carMake: 'DFSK', carModels: ['Glory'] },\n {\n carMake: 'Dodge',\n carModels: ['Avenger', 'Caliber', 'Journey', 'Nitro', 'Ram', 'SRT-10'],\n },\n {\n carMake: 'DS',\n carModels: [\n '3',\n '4',\n '5',\n '7',\n '9',\n '3 Crossback',\n '3 Crossback E-Tense',\n '3 E-Tense',\n '7 Crossback',\n ],\n },\n { carMake: 'Eagle', carModels: ['Hearse', 'Limousine'] },\n { carMake: 'Farbio', carModels: ['GTS'] },\n { carMake: 'FBS', carModels: ['Census'] },\n {\n carMake: 'Ferrari',\n carModels: [\n '308',\n '328',\n '348',\n '360',\n '412',\n '456',\n '458',\n '488',\n '512',\n '550',\n '575',\n '612',\n '400i',\n '599 GTB',\n '812 Superfast',\n 'California',\n 'California T',\n 'Enzo',\n 'F12berlinetta',\n 'F355',\n 'F40',\n 'F430',\n 'F50',\n 'F512',\n 'FF',\n 'GTC4Lusso',\n 'Mondial',\n 'Portofino',\n 'Testarossa',\n ],\n },\n {\n carMake: 'Fiat',\n carModels: [\n '126',\n '500',\n '124 Spider',\n '500 Electric',\n '500L',\n '500L MPW',\n '500X',\n 'Barchetta',\n 'Brava',\n 'Bravo',\n 'Cinquecento',\n 'Coupe',\n 'Croma',\n 'Doblo',\n 'Fiorino',\n 'Grande Punto',\n 'Idea',\n 'Marea',\n 'Multipla',\n 'Panda',\n 'Punto',\n 'Punto Evo',\n 'Qubo',\n 'Regata',\n 'Scudo',\n 'Sedici',\n 'Seicento',\n 'Stilo',\n 'Strada',\n 'Tempra',\n 'Tipo',\n 'Ulysse',\n 'Uno',\n 'X1/9',\n ],\n },\n {\n carMake: 'Ford',\n carModels: [\n 'B-MAX',\n 'Capri',\n 'C-MAX',\n 'Cougar',\n 'EcoSport',\n 'Edge',\n 'Escort',\n 'Explorer',\n 'Fiesta',\n 'Focus',\n 'Focus C-MAX',\n 'Fusion',\n 'Galaxy',\n 'Granada',\n 'Grand C-MAX',\n 'Grand Tourneo Connect',\n 'Ka',\n 'Kuga',\n 'Maverick',\n 'Mondeo',\n 'Mustang',\n 'Mustang Mach-E',\n 'Orion',\n 'Probe',\n 'Puma',\n 'Scorpio',\n 'Sierra',\n 'Sierra Sapphire',\n 'S-MAX',\n 'StreetKa',\n 'Tourneo Connect',\n 'Tourneo Courier',\n 'Transit Courier Kombi',\n 'Transit Custom',\n ],\n },\n { carMake: 'FSO', carModels: ['1300', '1500 &125P', 'Caro', 'Polonez'] },\n {\n carMake: 'Genesis',\n carModels: ['G70', 'G80', 'GV60', 'GV70', 'GV80'],\n },\n { carMake: 'GWM ORA', carModels: ['Funky Cat'] },\n {\n carMake: 'Honda',\n carModels: [\n 'Accord',\n 'Ballade',\n 'Civic',\n 'Concerto',\n 'CR-V',\n 'CRX',\n 'CR-Z',\n 'e',\n 'FR-V',\n 'HR-V',\n 'Insight',\n 'Integra',\n 'Integra Type-R',\n 'Jazz',\n 'Legend',\n 'Logo',\n 'NSX',\n 'Prelude',\n 'S2000',\n 'Shuttle',\n 'Stream',\n ],\n },\n { carMake: 'Hummer', carModels: ['H2', 'H3'] },\n {\n carMake: 'Hyundai',\n carModels: [\n 'Accent',\n 'Amica',\n 'Atoz',\n 'Bayon',\n 'Coupe',\n 'Elantra',\n 'Genesis',\n 'Getz',\n 'Grandeur',\n 'i10',\n 'i20',\n 'i30',\n 'i40',\n 'i800',\n 'Ioniq',\n 'Ioniq 5',\n 'Ioniq 6',\n 'Ioniq Electric',\n 'ix20',\n 'ix35',\n 'Kona',\n 'Kona Electric',\n 'Lantra',\n 'Matrix',\n 'Pony',\n 'Pony X2',\n 'Santa Fe',\n 'S-Coupe',\n 'Sonata',\n 'Stellar',\n 'Terracan',\n 'Trajet',\n 'Tucson',\n 'Veloster',\n 'XG30',\n ],\n },\n { carMake: 'INEOS', carModels: ['Grenadier'] },\n {\n carMake: 'Infiniti',\n carModels: ['EX', 'FX', 'G', 'M', 'Q30', 'Q50', 'Q60', 'QX30'],\n },\n { carMake: 'Invicta', carModels: ['S1'] },\n { carMake: 'Isuzu', carModels: ['Piazza', 'Trooper'] },\n {\n carMake: 'Jaguar',\n carModels: [\n 'E-Pace',\n 'F-Pace',\n 'F-Type',\n 'I-Pace',\n 'S-Type',\n 'XE',\n 'XF',\n 'XJ',\n 'XJS',\n 'XJSC',\n 'XK',\n 'XK8',\n 'X-Type',\n ],\n },\n {\n carMake: 'Jeep',\n carModels: [\n 'Avenger',\n 'Cherokee',\n 'Commander',\n 'Compass',\n 'Grand Cherokee',\n 'Patriot',\n 'Renegade',\n 'Wrangler',\n 'Wrangler Unlimited',\n ],\n },\n { carMake: 'Jensen', carModels: ['SV8'] },\n {\n carMake: 'Kia',\n carModels: [\n 'Carens',\n 'Ceed',\n 'Cerato',\n 'Clarus',\n 'e-Niro',\n 'EV6',\n 'Magentis',\n 'Mentor',\n 'Niro',\n 'Niro EV',\n 'Optima',\n 'Picanto',\n 'Pride',\n 'ProCeed',\n 'Rio',\n 'Sedona',\n 'Shuma',\n 'Shuma II',\n 'Sorento',\n 'Soul',\n 'Soul EV',\n 'Sportage',\n 'Stinger',\n 'Stonic',\n 'Venga',\n 'Xceed',\n ],\n },\n { carMake: 'KTM', carModels: ['X-Bow'] },\n { carMake: 'Lada', carModels: ['Niva', 'Riva', 'Samara'] },\n {\n carMake: 'Lamborghini',\n carModels: [\n 'Aventador',\n 'Diablo',\n 'Gallardo',\n 'Huracan',\n 'Murcielago',\n 'Urus',\n ],\n },\n {\n carMake: 'Lancia',\n carModels: [\n 'Beta',\n 'Dedra',\n 'Delta',\n 'Monte Carlo',\n 'Prisma',\n 'Thema',\n 'Y10',\n ],\n },\n {\n carMake: 'Land Rover',\n carModels: [\n 'Defender',\n 'Discovery',\n 'Discovery Sport',\n 'Freelander',\n 'Range Rover',\n 'Range Rover Evoque',\n 'Range Rover Sport',\n 'Range Rover Velar',\n ],\n },\n { carMake: 'LEVC', carModels: ['TX'] },\n {\n carMake: 'Lexus',\n carModels: [\n 'CT',\n 'ES',\n 'GS',\n 'IS',\n 'LC',\n 'LS',\n 'NX',\n 'RC',\n 'RX',\n 'RZ',\n 'SC',\n 'UX',\n 'UX Electric',\n ],\n },\n { carMake: 'Ligier', carModels: ['Ambra', 'Nova'] },\n {\n carMake: 'Lotus',\n carModels: [\n '2-Eleven',\n 'Elan',\n 'Eletre',\n 'Elise',\n 'Elise 340R',\n 'Emira',\n 'Esprit',\n 'Europa',\n 'Evora',\n 'Excel',\n 'Exige',\n ],\n },\n { carMake: 'LTI', carModels: ['TX4', 'TXII'] },\n { carMake: 'MAHINDRA', carModels: ['e2o'] },\n {\n carMake: 'Marcos',\n carModels: ['LM', 'Manta Ray', 'Mantara', 'Mantis', 'TSO'],\n },\n {\n carMake: 'Marlin',\n carModels: ['5EXI', 'Hunter', 'Makaira', 'Sportster Toi'],\n },\n {\n carMake: 'Maserati',\n carModels: [\n '222',\n '430',\n '3200 GT',\n 'Coupe',\n 'Ghibli',\n 'Gran Cabriolet',\n 'Gransport',\n 'GranTurismo',\n 'Grecale',\n 'Levante',\n 'MC20',\n 'Quattroporte',\n 'Shamal',\n 'Spyder',\n ],\n },\n { carMake: 'MAXUS', carModels: ['MIFA 9'] },\n { carMake: 'Maybach', carModels: ['57', '62'] },\n {\n carMake: 'Mazda',\n carModels: [\n '2',\n '3',\n '5',\n '6',\n '121',\n '323',\n '626',\n '929',\n 'CX-3',\n 'CX-30',\n 'CX-5',\n 'CX-60',\n 'CX-7',\n 'Demio',\n 'MPV',\n 'MX-3',\n 'MX-30',\n 'MX-5',\n 'MX-6',\n 'Premacy',\n 'RX-7',\n 'RX-8',\n 'Tribute',\n 'Xedos 6',\n 'Xedos 9',\n ],\n },\n {\n carMake: 'McLaren',\n carModels: [\n '540C',\n '570GT',\n '570S',\n '600LT',\n '620R',\n '650S',\n '650S Spider',\n '675LT',\n '720S',\n '765LT',\n 'Artura',\n 'GT',\n 'P1',\n 'Senna',\n ],\n },\n {\n carMake: 'Mercedes-AMG',\n carModels: ['A 45', 'C-Class', 'CLA', 'E-Class', 'EQE', 'GLE', 'GT', 'SL'],\n },\n {\n carMake: 'Mercedes-Benz',\n carModels: [\n '190 Series',\n '200-300 W123 Series',\n 'A-Class',\n 'AMG GT',\n 'B-Class',\n 'C-Class',\n 'CE-Class',\n 'CL',\n 'CLA',\n 'CLA-Class',\n 'CLC',\n 'CLK',\n 'CLS',\n 'E-Class',\n 'EQA',\n 'EQB',\n 'EQC',\n 'EQE',\n 'EQS',\n 'EQV',\n 'G-Class',\n 'GLA-Class',\n 'GLB',\n 'GLC',\n 'GLC-Class',\n 'GL-Class',\n 'GLE',\n 'GLE-Class',\n 'GLS',\n 'GLS-Class',\n 'G-Wagen',\n 'M-Class',\n 'R-Class',\n 'S-Class',\n 'SEC',\n 'SLC-Class',\n 'SL-Class',\n 'SLK',\n 'SLS-Class',\n 'Vaneo',\n 'V-Class',\n 'Viano',\n ],\n },\n {\n carMake: 'MG',\n carModels: [\n 'F',\n 'GS',\n 'HS',\n 'MG4',\n 'MG5 EV',\n 'RV8',\n 'SV',\n 'TF',\n 'ZR',\n 'ZS',\n 'ZS EV',\n 'ZT',\n ],\n },\n { carMake: 'MG Motor UK', carModels: ['Magnette', 'MG3', 'MG6', 'TF'] },\n { carMake: 'MIA', carModels: ['C', 'L'] },\n {\n carMake: 'Microcar',\n carModels: ['M8', 'MC1/MC2', 'M-Go', 'Practic', 'Virgo'],\n },\n {\n carMake: 'MINI',\n carModels: [\n 'Clubman',\n 'Convertible',\n 'Cooper S',\n 'Countryman',\n 'Coupe',\n 'Electric Hatch',\n 'Hatchback',\n 'John Cooper Works',\n 'Paceman',\n 'Roadster',\n ],\n },\n {\n carMake: 'Mitsubishi',\n carModels: [\n '3000 GT',\n 'ASX',\n 'Carisma',\n 'Colt',\n 'Cordia',\n 'Eclipse Cross',\n 'FTO',\n 'Galant',\n 'Grandis',\n 'i',\n 'i-MiEV',\n 'Lancer',\n 'Lancer Evo',\n 'Mirage',\n 'Outlander',\n 'Sapporo',\n 'Shogun',\n 'Shogun Pinin',\n 'Shogun Sport',\n 'Sigma',\n 'Space Runner',\n 'Space Star',\n 'Space Wagon',\n 'Starion',\n 'Tredia',\n ],\n },\n { carMake: 'MOKE', carModels: ['Moke'] },\n {\n carMake: 'Morgan',\n carModels: [\n '3 Wheeler',\n 'Aero 8',\n 'Aero Coupe',\n 'Aero Supersports Tourer',\n 'Four-Four & Plus Four',\n 'Plus Eight',\n 'Plus Four',\n 'Plus Six',\n 'Roadster',\n ],\n },\n {\n carMake: 'Nissan',\n carModels: [\n '100 NX',\n '200 SX',\n '280C & 300C',\n '300 ZX',\n '350Z',\n '370Z',\n 'Almera',\n 'Almera Tino',\n 'Ariya',\n 'Bluebird',\n 'Cherry',\n 'Cube',\n 'GT-R',\n 'Juke',\n 'Laurel',\n 'Leaf',\n 'Maxima',\n 'Maxima QX',\n 'Micra',\n 'Murano',\n 'Note',\n 'NV200 Combi',\n 'Pathfinder',\n 'Patrol',\n 'Pixo',\n 'Prairie',\n 'Primera',\n 'Pulsar',\n 'Qashqai',\n 'Qashqai+2',\n 'QX',\n 'Serena',\n 'Silvia',\n 'Skyline R33',\n 'Skyline R34',\n 'Stanza',\n 'Sunny',\n 'Terrano',\n 'X-Trail',\n ],\n },\n { carMake: 'Noble', carModels: ['M12'] },\n { carMake: 'Opel', carModels: ['Manta', 'Monza'] },\n { carMake: 'Perodua', carModels: ['Kelisa', 'Kenari', 'Myvi', 'Nippa'] },\n {\n carMake: 'Peugeot',\n carModels: [\n '106',\n '107',\n '108',\n '205',\n '206',\n '207',\n '208',\n '305',\n '306',\n '307',\n '308',\n '309',\n '405',\n '406',\n '407',\n '408',\n '505',\n '508',\n '605',\n '607',\n '806',\n '807',\n '1007',\n '2008',\n '3008',\n '4007',\n '5008',\n 'Bipper Tepee',\n 'e-2008',\n 'e-208',\n 'e-Rifter',\n 'e-Traveller',\n 'Expert Combi',\n 'Expert Tepee',\n 'Ion',\n 'Partner Combi',\n 'Partner Tepee',\n 'RCZ',\n 'Rifter',\n 'Traveller',\n ],\n },\n { carMake: 'PGO', carModels: ['Cevennes', 'Speedster II'] },\n { carMake: 'Polestar', carModels: ['1', '2', '3'] },\n {\n carMake: 'Porsche',\n carModels: [\n '911',\n '924',\n '928',\n '944',\n '968',\n '718 Boxster',\n '718 Cayman',\n 'Boxster',\n 'Cayenne',\n 'Cayman',\n 'Macan',\n 'Panamera',\n 'Taycan',\n ],\n },\n { carMake: 'PRINDIVILLE', carModels: ['Hummer'] },\n {\n carMake: 'Proton',\n carModels: [\n 'Compact',\n 'Coupe',\n 'Exora',\n 'GEN-2',\n 'Impian',\n 'Mpi',\n 'Persona',\n 'Preve',\n 'Satria',\n 'Satria Neo',\n 'Savvy',\n 'Wira',\n ],\n },\n { carMake: 'Reliant', carModels: ['Robin & Rialto', 'Scimitar', 'SSI'] },\n {\n carMake: 'Renault',\n carModels: [\n '4',\n '5',\n '9',\n '11',\n '18',\n '19',\n '21',\n '25',\n 'Arkana',\n 'Avantime',\n 'Captur',\n 'Clio',\n 'Espace',\n 'Fluence',\n 'Grand Espace',\n 'Grand Modus',\n 'Grand Scenic',\n 'GTA & A610',\n 'Kadjar',\n 'Kangoo',\n 'Koleos',\n 'Laguna',\n 'Megane',\n 'Megane E-Tech',\n 'Megane Scenic',\n 'Modus',\n 'Safrane',\n 'Scenic',\n 'Sport Spider',\n 'Twingo',\n 'Twizy',\n 'Vel Satis',\n 'Wind',\n 'Zoe',\n ],\n },\n {\n carMake: 'Rolls-Royce',\n carModels: [\n 'Camargue',\n 'Corniche',\n 'Cullinan',\n 'Dawn',\n 'Ghost',\n 'Limousine (Park Ward)',\n 'Phantom',\n 'Silver Dawn',\n 'Silver Seraph',\n 'Silver Shadow',\n 'Silver Spirit',\n 'Silver Spur',\n 'Silver Wraith',\n 'Wraith',\n ],\n },\n {\n carMake: 'Rover',\n carModels: [\n '25',\n '45',\n '75',\n '100',\n '200',\n '400',\n '600',\n '800',\n 'CityRover',\n 'Metro',\n 'Mini',\n 'Sd1',\n 'Streetwise',\n ],\n },\n { carMake: 'Saab', carModels: ['900', '9000', '9-3', '9-5'] },\n { carMake: 'San', carModels: ['Storm'] },\n { carMake: 'SAO', carModels: ['Penza'] },\n {\n carMake: 'SEAT',\n carModels: [\n 'Alhambra',\n 'Altea',\n 'Arona',\n 'Arosa',\n 'Ateca',\n 'Cordoba',\n 'Exeo',\n 'Ibiza',\n 'Leon',\n 'Malaga',\n 'Marbella',\n 'Mii',\n 'Mii Electric',\n 'Tarraco',\n 'Terra Vista',\n 'Toledo',\n ],\n },\n {\n carMake: 'Skoda',\n carModels: [\n 'Citigo',\n 'Citigo-e',\n 'Enyaq',\n 'Estelle',\n 'Fabia',\n 'Favorit',\n 'Felicia',\n 'Kamiq',\n 'Karoq',\n 'Kodiaq',\n 'Octavia',\n 'Rapid',\n 'Roomster',\n 'Scala',\n 'Superb',\n 'Yeti',\n ],\n },\n {\n carMake: 'Smart',\n carModels: [\n 'City',\n 'Crossblade',\n 'EQ Forfour',\n 'EQ Fortwo',\n 'Forfour',\n 'Fortwo',\n 'Roadster',\n ],\n },\n {\n carMake: 'SsangYong',\n carModels: [\n 'Korando',\n 'Kyron',\n 'Musso',\n 'Rexton',\n 'Rexton W',\n 'Rodius',\n 'Sports Pick-up',\n 'Tivoli',\n 'Tivoli XLV',\n 'Turismo',\n ],\n },\n {\n carMake: 'Subaru',\n carModels: [\n '16 & 18',\n '1600 & 1800',\n 'B9 Tribeca',\n 'BRZ',\n 'Forester',\n 'Impreza',\n 'Justy',\n 'L Series',\n 'Legacy',\n 'Levorg',\n 'Outback',\n 'Solterra',\n 'SVX',\n 'Vivio',\n 'WRX',\n 'XT Turbo',\n 'XV',\n ],\n },\n {\n carMake: 'Suzuki',\n carModels: [\n 'Across',\n 'Alto',\n 'Baleno',\n 'Cappuccino',\n 'Celerio',\n 'Grand Vitara',\n 'Ignis',\n 'Jimny',\n 'Kizashi',\n 'Liana',\n 'S-Cross',\n 'SJ',\n 'Splash',\n 'Swace',\n 'Swift',\n 'SX4',\n 'SX4 S-Cross',\n 'Vitara',\n 'Wagon-R+',\n 'X-90',\n ],\n },\n { carMake: 'Talbot', carModels: ['Samba'] },\n { carMake: 'Tata', carModels: ['Safari'] },\n { carMake: 'TD Cars', carModels: ['TD 2000'] },\n {\n carMake: 'Tesla',\n carModels: ['Model 3', 'Model S', 'Model X', 'Model Y', 'Roadster'],\n },\n {\n carMake: 'Toyota',\n carModels: [\n '4-Runner',\n 'Auris',\n 'Avensis',\n 'Avensis Verso',\n 'Aygo',\n 'bZ4X',\n 'Camry',\n 'Carina',\n 'Carina E',\n 'Celica',\n 'C-HR',\n 'Corolla',\n 'GR Supra',\n 'GR86',\n 'GT86',\n 'Highlander',\n 'IQ',\n 'Land Cruiser',\n 'Land Cruiser Amazon',\n 'Land Cruiser Colorado',\n 'Land Cruiser V8',\n 'MR2',\n 'Paseo',\n 'Picnic',\n 'Previa',\n 'Prius',\n 'Proace City Verso',\n 'Raize',\n 'RAV4',\n 'Space Cruiser',\n 'Starlet',\n 'Supra',\n 'Tercel',\n 'Urban Cruiser',\n 'Verso',\n 'Yaris',\n 'Yaris Cross',\n ],\n },\n {\n carMake: 'TVR',\n carModels: [\n 'Cerbera',\n 'Chimaera',\n 'Griffith',\n 'S',\n 'Sagaris',\n 'T350',\n 'T400',\n 'T440',\n 'Tamora',\n 'Tuscan',\n 'Typhon',\n 'V8',\n ],\n },\n {\n carMake: 'Vauxhall',\n carModels: [\n 'Adam',\n 'Agila',\n 'Ampera',\n 'Antara',\n 'Astra',\n 'Astra Belmont',\n 'Calibra',\n 'Carlton',\n 'Cascada',\n 'Cavalier',\n 'Combo',\n 'Combo Tour',\n 'Combo-e Life',\n 'Corsa',\n 'Corsa-e',\n 'Crossland',\n 'Crossland X',\n 'Frontera',\n 'Grandland',\n 'Grandland X',\n 'Insignia',\n 'Meriva',\n 'Mokka',\n 'Mokka-e',\n 'Monaro',\n 'Monterey',\n 'Nova',\n 'Omega',\n 'Senator',\n 'Signum',\n 'Sintra',\n 'Tigra',\n 'Vectra',\n 'Viva',\n 'Vivaro',\n 'Vivaro Life',\n 'Vivaro Tourer',\n 'Vivaro-e Life',\n 'VX220',\n 'VXR8',\n 'Zafira',\n ],\n },\n {\n carMake: 'Volkswagen',\n carModels: [\n 'Arteon',\n 'Beetle',\n 'Beetle Dune',\n 'Bora',\n 'Caddy',\n 'Caddy Life',\n 'Caddy Maxi',\n 'Caddy Maxi Camper',\n 'Caddy Maxi Life',\n 'California',\n 'Caravelle',\n 'CC',\n 'Corrado',\n 'e-Golf',\n 'Eos',\n 'e-Up',\n 'Fox',\n 'Golf',\n 'Grand California',\n 'ID Buzz',\n 'ID3',\n 'ID4',\n 'ID5',\n 'Jetta',\n 'Lupo',\n 'Multivan',\n 'Passat',\n 'Phaeton',\n 'Polo',\n 'Scirocco',\n 'Sharan',\n 'Taigo',\n 'T-Cross',\n 'Tiguan',\n 'Touareg',\n 'Touran',\n 'T-Roc',\n 'Up',\n 'Vento',\n ],\n },\n {\n carMake: 'Volvo',\n carModels: [\n '240',\n '340',\n '360',\n '440',\n '460',\n '480',\n '740',\n '760',\n '850',\n '940',\n '960',\n '260 Series',\n 'C30',\n 'C40',\n 'C70',\n 'EX90',\n 'S40',\n 'S60',\n 'S70',\n 'S80',\n 'S90',\n 'V40',\n 'V50',\n 'V60',\n 'V70',\n 'V90',\n 'XC40',\n 'XC40 Electric',\n 'XC60',\n 'XC70',\n 'XC90',\n ],\n },\n { carMake: 'Westfield', carModels: ['Sei'] },\n {\n carMake: 'Yugo',\n carModels: ['311', '511 & 513', '45', '55', '65 & Tempo', 'Sana'],\n },\n];\n\nexport const ukCarMakeToModels = UK_CAR_MAKES_WITH_MODELS.reduce(\n (acc, makeWithModels) => {\n acc[makeWithModels.carMake] = makeWithModels.carModels;\n return acc;\n },\n {} as Record\n);\n","import { GENDER_IDENTITIES, GenderType, UK_LICENSE_TYPES } from './constants';\n\nexport const isNil = (value: unknown): value is null | undefined =>\n value === null || value === undefined;\n\nexport const buildRange = (end: number, start = 1, step = 1): number[] => {\n const range = [] as number[];\n for (let i = start; i <= end; i += step) {\n range.push(i);\n }\n return range;\n};\n\nexport const parseGender = (rawGender?: string): GenderType => {\n if (GENDER_IDENTITIES.includes(rawGender)) {\n return rawGender as GenderType;\n }\n\n return 'Non-Binary';\n};\n\nexport const orderLicenses = (licenses?: string[]) => {\n if (!licenses) return [];\n\n return [...licenses].sort(\n (a, b) => UK_LICENSE_TYPES.indexOf(a) - UK_LICENSE_TYPES.indexOf(b)\n );\n};\n","export const convertInchesToFtString = (rawInches: number): string => {\n const feet = Math.floor(rawInches / 12);\n const inches = rawInches - feet * 12;\n return `${feet}'${inches}`;\n};\n\nexport const convertFtStringToInches = (ftString: string): number => {\n const [feet, inches] = ftString.split(\"'\");\n return +feet * 12 + +inches;\n};\n\nexport const convertInchesToUkString = (\n rawInches?: number | null\n): string | null => {\n const isNumber = typeof rawInches === 'number';\n if (!isNumber) return null;\n\n const feet = Math.floor(rawInches / 12);\n const inches = rawInches - feet * 12;\n const centimeters = Math.ceil(rawInches * 2.54);\n\n const result = `${feet} ft ${inches} in / ${centimeters} cm`;\n return result;\n};\n\nexport const parseNumberOrNull = (rawNumber: unknown) => {\n if (Number.isFinite(rawNumber)) return rawNumber as number;\n\n if (typeof rawNumber === 'string') {\n const parsedNumber = Number(rawNumber);\n return Number.isFinite(parsedNumber) ? parsedNumber : null;\n }\n\n return null;\n};\n\nexport const parseNumberToStringOrNull = (rawNumber?: number | null) => {\n if (Number.isFinite(rawNumber)) {\n return rawNumber.toString();\n }\n return null;\n};\n","import { useEffect,useState } from \"react\";\n\nconst sessionStorageKeywords = {\n notificationUrl: \"notificationUrl\",\n}\n\nconst useSessionStorage = (key: string, defaultValue: string | null = null) => {\n const [storedValue, setStoredValue] = useState(null);\n\n useEffect(() => {\n if (typeof window !== \"undefined\") {\n const value = sessionStorage.getItem(key);\n setStoredValue(value ?? defaultValue);\n }\n }, [key, defaultValue]);\n\n const setValue = (value: string | null) => {\n if (value === null) {\n sessionStorage.removeItem(key);\n setStoredValue(null);\n } else {\n sessionStorage.setItem(key, value);\n setStoredValue(value);\n }\n };\n\n return [storedValue, setValue] as const;\n};\n\nexport {sessionStorageKeywords, useSessionStorage};\n","var e=\"undefined\"!=typeof window?window:void 0,t=\"undefined\"!=typeof globalThis?globalThis:e,i=Array.prototype,n=i.forEach,r=i.indexOf,s=null==t?void 0:t.navigator,o=null==t?void 0:t.document,a=null==t?void 0:t.location,l=null==t?void 0:t.fetch,u=null!=t&&t.XMLHttpRequest&&\"withCredentials\"in new t.XMLHttpRequest?t.XMLHttpRequest:void 0,c=null==t?void 0:t.AbortController,d=null==s?void 0:s.userAgent,h=null!=e?e:{},_={DEBUG:!1,LIB_VERSION:\"1.198.0\"},p={},v=function(e){return e.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g,\"\")};function g(e,t,i){if(D(e))if(n&&e.forEach===n)e.forEach(t,i);else if(\"length\"in e&&e.length===+e.length)for(var r=0,s=e.length;r1?t-1:0),n=1;n0&&(t[i]=e)})),t},k=function(e){return e.replace(/^\\$/,\"\")};function x(e,t){return i=e,n=e=>U(e)&&!W(t)?e.slice(0,t):e,r=new Set,function e(t,i){return t!==Object(t)?n?n(t,i):t:r.has(t)?void 0:(r.add(t),D(t)?(s=[],g(t,(t=>{s.push(e(t))}))):(s={},f(t,((t,i)=>{r.has(t)||(s[i]=e(t,i))}))),s);var s}(i);var i,n,r}var I=function(e){var t,i,n,r,s=\"\";for(t=i=0,n=(e=(e+\"\").replace(/\\r\\n/g,\"\\n\").replace(/\\r/g,\"\\n\")).length,r=0;r127&&o<2048?String.fromCharCode(o>>6|192,63&o|128):String.fromCharCode(o>>12|224,o>>6&63|128,63&o|128),W(a)||(i>t&&(s+=e.substring(t,i)),s+=a,t=i=r+1)}return i>t&&(s+=e.substring(t,e.length)),s},C=function(){function t(e){return e&&(e.preventDefault=t.preventDefault,e.stopPropagation=t.stopPropagation),e}return t.preventDefault=function(){this.returnValue=!1},t.stopPropagation=function(){this.cancelBubble=!0},function(i,n,r,s,o){if(i)if(i.addEventListener&&!s)i.addEventListener(n,r,!!o);else{var a=\"on\"+n,l=i[a];i[a]=function(i,n,r){return function(s){if(s=s||t(null==e?void 0:e.event)){var o,a=!0;N(r)&&(o=r(s));var l=n.call(i,s);return!1!==o&&!1!==l||(a=!1),a}}}(i,r,l)}else X.error(\"No valid element provided to register_event\")}}();function P(e,t){for(var i=0;i\"function\"==typeof e,q=e=>e===Object(e)&&!D(e),B=e=>{if(q(e)){for(var t in e)if(A.call(e,t))return!1;return!0}return!1},H=e=>void 0===e,U=e=>\"[object String]\"==L.call(e),z=e=>U(e)&&0===e.trim().length,W=e=>null===e,j=e=>H(e)||W(e),G=e=>\"[object Number]\"==L.call(e),V=e=>\"[object Boolean]\"===L.call(e),J=e=>e instanceof FormData,Q=e=>b(T,e),Y=t=>{var i={_log:function(i){if(e&&(_.DEBUG||h.POSTHOG_DEBUG)&&!H(e.console)&&e.console){for(var n=(\"__rrweb_original__\"in e.console[i]?e.console[i].__rrweb_original__:e.console[i]),r=arguments.length,s=new Array(r>1?r-1:0),o=1;o{i.error(\"You must initialize PostHog before calling \".concat(e))},createLogger:e=>Y(\"\".concat(t,\" \").concat(e))};return i},X=Y(\"[PostHog.js]\"),K=X.createLogger,Z=K(\"[ExternalScriptsLoader]\"),ee=(e,t,i)=>{if(e.config.disable_external_dependency_loading)return Z.warn(\"\".concat(t,\" was requested but loading of external scripts is disabled.\")),i(\"Loading of external scripts is disabled\");var n=()=>{if(!o)return i(\"document not found\");var e=o.createElement(\"script\");e.type=\"text/javascript\",e.crossOrigin=\"anonymous\",e.src=t,e.onload=e=>i(void 0,e),e.onerror=e=>i(e);var n,r=o.querySelectorAll(\"body > script\");r.length>0?null===(n=r[0].parentNode)||void 0===n||n.insertBefore(e,r[0]):o.body.appendChild(e)};null!=o&&o.body?n():null==o||o.addEventListener(\"DOMContentLoaded\",n)};function te(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function ie(e){for(var t=1;t=0||(r[i]=e[i]);return r}(e,t);if(Object.getOwnPropertySymbols){var s=Object.getOwnPropertySymbols(e);for(n=0;n=0||Object.prototype.propertyIsEnumerable.call(e,i)&&(r[i]=e[i])}return r}h.__PosthogExtensions__=h.__PosthogExtensions__||{},h.__PosthogExtensions__.loadExternalDependency=(e,t,i)=>{var n=\"/static/\".concat(t,\".js\")+\"?v=\".concat(e.version);if(\"remote-config\"===t&&(n=\"/array/\".concat(e.config.token,\"/config.js\")),\"toolbar\"===t){var r=3e5,s=Math.floor(Date.now()/r)*r;n=\"\".concat(n,\"&t=\").concat(s)}var o=e.requestRouter.endpointFor(\"assets\",n);ee(e,o,i)},h.__PosthogExtensions__.loadSiteApp=(e,t,i)=>{var n=e.requestRouter.endpointFor(\"api\",t);ee(e,n,i)};var se=\"$people_distinct_id\",oe=\"__alias\",ae=\"__timers\",le=\"$autocapture_disabled_server_side\",ue=\"$heatmaps_enabled_server_side\",ce=\"$exception_capture_enabled_server_side\",de=\"$web_vitals_enabled_server_side\",he=\"$dead_clicks_enabled_server_side\",_e=\"$web_vitals_allowed_metrics\",pe=\"$session_recording_enabled_server_side\",ve=\"$console_log_recording_enabled_server_side\",ge=\"$session_recording_network_payload_capture\",fe=\"$session_recording_canvas_recording\",me=\"$replay_sample_rate\",be=\"$replay_minimum_duration\",ye=\"$replay_script_config\",we=\"$sesid\",Se=\"$session_is_sampled\",Ee=\"$session_recording_url_trigger_activated_session\",ke=\"$session_recording_event_trigger_activated_session\",xe=\"$enabled_feature_flags\",Ie=\"$early_access_features\",Ce=\"$stored_person_properties\",Pe=\"$stored_group_properties\",Fe=\"$surveys\",Re=\"$surveys_activated\",Te=\"$flag_call_reported\",$e=\"$user_state\",Oe=\"$client_session_props\",Me=\"$capture_rate_limit\",Ae=\"$initial_campaign_params\",Le=\"$initial_referrer_info\",De=\"$initial_person_info\",Ne=\"$epp\",qe=\"__POSTHOG_TOOLBAR__\",Be=[se,oe,\"__cmpns\",ae,pe,ue,we,xe,$e,Ie,Pe,Ce,Fe,Te,Oe,Me,Ae,Le,Ne],He=K(\"[FeatureFlags]\"),Ue=\"$active_feature_flags\",ze=\"$override_feature_flags\",We=\"$feature_flag_payloads\",je=e=>{var t={};for(var[i,n]of y(e||{}))n&&(t[i]=n);return t};class Ge{constructor(e){this.instance=e,this._override_warning=!1,this.featureFlagEventHandlers=[],this.reloadFeatureFlagsQueued=!1,this.reloadFeatureFlagsInAction=!1}getFlags(){return Object.keys(this.getFlagVariants())}getFlagVariants(){var e=this.instance.get_property(xe),t=this.instance.get_property(ze);if(!t)return e||{};for(var i=m({},e),n=Object.keys(t),r=0;r{!this.reloadFeatureFlagsInAction&&this.reloadFeatureFlagsQueued&&(this.reloadFeatureFlagsQueued=!1,this._reloadFeatureFlagsRequest())}),5)}_reloadFeatureFlagsRequest(){if(!this.instance.config.advanced_disable_feature_flags){this.setReloadingPaused(!0);var e=this.instance.config.token,t=this.instance.get_property(Ce),i=this.instance.get_property(Pe),n={token:e,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),$anon_distinct_id:this.$anon_distinct_id,person_properties:t,group_properties:i,disable_flags:this.instance.config.advanced_disable_feature_flags||void 0};this.instance._send_request({method:\"POST\",url:this.instance.requestRouter.endpointFor(\"api\",\"/decide/?v=3\"),data:n,compression:this.instance.config.disable_compression?void 0:F.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>{var t;this.setReloadingPaused(!1);var i=!0;200===e.statusCode&&(this.$anon_distinct_id=void 0,i=!1),this.receivedFeatureFlags(null!==(t=e.json)&&void 0!==t?t:{},i),this._startReloadTimer()}})}}getFeatureFlag(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0){var i,n=this.getFlagVariants()[e],r=\"\".concat(n),s=this.instance.get_property(Te)||{};if(t.send_event||!(\"send_event\"in t))if(!(e in s)||!s[e].includes(r))D(s[e])?s[e].push(r):s[e]=[r],null===(i=this.instance.persistence)||void 0===i||i.register({[Te]:s}),this.instance.capture(\"$feature_flag_called\",{$feature_flag:e,$feature_flag_response:n});return n}He.warn('getFeatureFlag for key \"'+e+\"\\\" failed. Feature flags didn't load in time.\")}getFeatureFlagPayload(e){return this.getFlagPayloads()[e]}isFeatureEnabled(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};if(this.instance.decideEndpointWasHit||this.getFlags()&&this.getFlags().length>0)return!!this.getFeatureFlag(e,t);He.warn('isFeatureEnabled for key \"'+e+\"\\\" failed. Feature flags didn't load in time.\")}addFeatureFlagsHandler(e){this.featureFlagEventHandlers.push(e)}removeFeatureFlagsHandler(e){this.featureFlagEventHandlers=this.featureFlagEventHandlers.filter((t=>t!==e))}receivedFeatureFlags(e,t){if(this.instance.persistence){this.instance.decideEndpointWasHit=!0;var i=this.getFlagVariants(),n=this.getFlagPayloads();!function(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},n=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{},r=e.featureFlags,s=e.featureFlagPayloads;if(r)if(D(r)){var o={};if(r)for(var a=0;a1&&void 0!==arguments[1]&&arguments[1];if(!this.instance.__loaded||!this.instance.persistence)return He.uninitializedWarning(\"posthog.feature_flags.override\");if(this._override_warning=t,!1===e)this.instance.persistence.unregister(ze);else if(D(e)){for(var i={},n=0;nthis.removeFeatureFlagsHandler(e)}updateEarlyAccessFeatureEnrollment(e,t){var i,n={[\"$feature_enrollment/\".concat(e)]:t};this.instance.capture(\"$feature_enrollment_update\",{$feature_flag:e,$feature_enrollment:t,$set:n}),this.setPersonPropertiesForFlags(n,!1);var r=ie(ie({},this.getFlagVariants()),{},{[e]:t});null===(i=this.instance.persistence)||void 0===i||i.register({[Ue]:Object.keys(je(r)),[xe]:r}),this._fireFeatureFlagsCallbacks()}getEarlyAccessFeatures(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1],i=this.instance.get_property(Ie);if(i&&!t)return e(i);this.instance._send_request({transport:\"XHR\",url:this.instance.requestRouter.endpointFor(\"api\",\"/api/early_access_features/?token=\".concat(this.instance.config.token)),method:\"GET\",callback:t=>{var i;if(t.json){var n=t.json.earlyAccessFeatures;return null===(i=this.instance.persistence)||void 0===i||i.register({[Ie]:n}),e(n)}}})}_prepareFeatureFlagsForCallbacks(){var e=this.getFlags(),t=this.getFlagVariants();return{flags:e.filter((e=>t[e])),flagVariants:Object.keys(t).filter((e=>t[e])).reduce(((e,i)=>(e[i]=t[i],e)),{})}}_fireFeatureFlagsCallbacks(e){var{flags:t,flagVariants:i}=this._prepareFeatureFlagsForCallbacks();this.featureFlagEventHandlers.forEach((n=>n(t,i,{errorsLoading:e})))}setPersonPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.instance.get_property(Ce)||{};this.instance.register({[Ce]:ie(ie({},i),e)}),t&&this.instance.reloadFeatureFlags()}resetPersonPropertiesForFlags(){this.instance.unregister(Ce)}setGroupPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1],i=this.instance.get_property(Pe)||{};0!==Object.keys(i).length&&Object.keys(i).forEach((t=>{i[t]=ie(ie({},i[t]),e[t]),delete e[t]})),this.instance.register({[Pe]:ie(ie({},i),e)}),t&&this.instance.reloadFeatureFlags()}resetGroupPropertiesForFlags(e){if(e){var t=this.instance.get_property(Pe)||{};this.instance.register({[Pe]:ie(ie({},t),{},{[e]:{}})})}else this.instance.unregister(Pe)}}Math.trunc||(Math.trunc=function(e){return e<0?Math.ceil(e):Math.floor(e)}),Number.isInteger||(Number.isInteger=function(e){return G(e)&&isFinite(e)&&Math.floor(e)===e});var Ve=\"0123456789abcdef\";class Je{constructor(e){if(this.bytes=e,16!==e.length)throw new TypeError(\"not 128-bit length\")}static fromFieldsV7(e,t,i,n){if(!Number.isInteger(e)||!Number.isInteger(t)||!Number.isInteger(i)||!Number.isInteger(n)||e<0||t<0||i<0||n<0||e>0xffffffffffff||t>4095||i>1073741823||n>4294967295)throw new RangeError(\"invalid field value\");var r=new Uint8Array(16);return r[0]=e/Math.pow(2,40),r[1]=e/Math.pow(2,32),r[2]=e/Math.pow(2,24),r[3]=e/Math.pow(2,16),r[4]=e/Math.pow(2,8),r[5]=e,r[6]=112|t>>>8,r[7]=t,r[8]=128|i>>>24,r[9]=i>>>16,r[10]=i>>>8,r[11]=i,r[12]=n>>>24,r[13]=n>>>16,r[14]=n>>>8,r[15]=n,new Je(r)}toString(){for(var e=\"\",t=0;t>>4)+Ve.charAt(15&this.bytes[t]),3!==t&&5!==t&&7!==t&&9!==t||(e+=\"-\");if(36!==e.length)throw new Error(\"Invalid UUIDv7 was generated\");return e}clone(){return new Je(this.bytes.slice(0))}equals(e){return 0===this.compareTo(e)}compareTo(e){for(var t=0;t<16;t++){var i=this.bytes[t]-e.bytes[t];if(0!==i)return Math.sign(i)}return 0}}class Qe{constructor(){ne(this,\"timestamp\",0),ne(this,\"counter\",0),ne(this,\"random\",new Ke)}generate(){var e=this.generateOrAbort();if(H(e)){this.timestamp=0;var t=this.generateOrAbort();if(H(t))throw new Error(\"Could not generate UUID after timestamp reset\");return t}return e}generateOrAbort(){var e=Date.now();if(e>this.timestamp)this.timestamp=e,this.resetCounter();else{if(!(e+1e4>this.timestamp))return;this.counter++,this.counter>4398046511103&&(this.timestamp++,this.resetCounter())}return Je.fromFieldsV7(this.timestamp,Math.trunc(this.counter/Math.pow(2,30)),this.counter&Math.pow(2,30)-1,this.random.nextUint32())}resetCounter(){this.counter=1024*this.random.nextUint32()+(1023&this.random.nextUint32())}}var Ye,Xe=e=>{if(\"undefined\"!=typeof UUIDV7_DENY_WEAK_RNG&&UUIDV7_DENY_WEAK_RNG)throw new Error(\"no cryptographically strong RNG available\");for(var t=0;tcrypto.getRandomValues(e));class Ke{constructor(){ne(this,\"buffer\",new Uint32Array(8)),ne(this,\"cursor\",1/0)}nextUint32(){return this.cursor>=this.buffer.length&&(Xe(this.buffer),this.cursor=0),this.buffer[this.cursor++]}}var Ze=()=>et().toString(),et=()=>(Ye||(Ye=new Qe)).generate(),tt=\"Thu, 01 Jan 1970 00:00:00 GMT\",it=\"\";var nt=/[a-z0-9][a-z0-9-]+\\.[a-z]{2,}$/i;function rt(e,t){if(t){var i=function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:o;if(it)return it;if(!t)return\"\";if([\"localhost\",\"127.0.0.1\"].includes(e))return\"\";for(var i=e.split(\".\"),n=Math.min(i.length,8),r=\"dmn_chk_\"+Ze(),s=new RegExp(\"(^|;)\\\\s*\"+r+\"=1\");!it&&n--;){var a=i.slice(n).join(\".\"),l=r+\"=1;domain=.\"+a;t.cookie=l,s.test(t.cookie)&&(t.cookie=l+\";expires=\"+tt,it=a)}return it}(e);if(!i){var n=(e=>{var t=e.match(nt);return t?t[0]:\"\"})(e);n!==i&&X.info(\"Warning: cookie subdomain discovery mismatch\",n,i),i=n}return i?\"; domain=.\"+i:\"\"}return\"\"}var st={is_supported:()=>!!o,error:function(e){X.error(\"cookieStore error: \"+e)},get:function(e){if(o){try{for(var t=e+\"=\",i=o.cookie.split(\";\").filter((e=>e.length)),n=0;n3686.4&&X.warn(\"cookieStore warning: large cookie, len=\"+c.length),o.cookie=c,c}catch(e){return}},remove:function(e,t){try{st.set(e,\"\",-1,t)}catch(e){return}}},ot=null,at={is_supported:function(){if(!W(ot))return ot;var t=!0;if(H(e))t=!1;else try{var i=\"__mplssupport__\";at.set(i,\"xyz\"),'\"xyz\"'!==at.get(i)&&(t=!1),at.remove(i)}catch(e){t=!1}return t||X.error(\"localStorage unsupported; falling back to cookie store\"),ot=t,t},error:function(e){X.error(\"localStorage error: \"+e)},get:function(t){try{return null==e?void 0:e.localStorage.getItem(t)}catch(e){at.error(e)}return null},parse:function(e){try{return JSON.parse(at.get(e))||{}}catch(e){}return null},set:function(t,i){try{null==e||e.localStorage.setItem(t,JSON.stringify(i))}catch(e){at.error(e)}},remove:function(t){try{null==e||e.localStorage.removeItem(t)}catch(e){at.error(e)}}},lt=[\"distinct_id\",we,Se,Ne,De],ut=ie(ie({},at),{},{parse:function(e){try{var t={};try{t=st.parse(e)||{}}catch(e){}var i=m(t,JSON.parse(at.get(e)||\"{}\"));return at.set(e,i),i}catch(e){}return null},set:function(e,t,i,n,r,s){try{at.set(e,t,void 0,void 0,s);var o={};lt.forEach((e=>{t[e]&&(o[e]=t[e])})),Object.keys(o).length&&st.set(e,o,i,n,r,s)}catch(e){at.error(e)}},remove:function(t,i){try{null==e||e.localStorage.removeItem(t),st.remove(t,i)}catch(e){at.error(e)}}}),ct={},dt={is_supported:function(){return!0},error:function(e){X.error(\"memoryStorage error: \"+e)},get:function(e){return ct[e]||null},parse:function(e){return ct[e]||null},set:function(e,t){ct[e]=t},remove:function(e){delete ct[e]}},ht=null,_t={is_supported:function(){if(!W(ht))return ht;if(ht=!0,H(e))ht=!1;else try{var t=\"__support__\";_t.set(t,\"xyz\"),'\"xyz\"'!==_t.get(t)&&(ht=!1),_t.remove(t)}catch(e){ht=!1}return ht},error:function(e){X.error(\"sessionStorage error: \",e)},get:function(t){try{return null==e?void 0:e.sessionStorage.getItem(t)}catch(e){_t.error(e)}return null},parse:function(e){try{return JSON.parse(_t.get(e))||null}catch(e){}return null},set:function(t,i){try{null==e||e.sessionStorage.setItem(t,JSON.stringify(i))}catch(e){_t.error(e)}},remove:function(t){try{null==e||e.sessionStorage.removeItem(t)}catch(e){_t.error(e)}}},pt=[\"localhost\",\"127.0.0.1\"],vt=e=>{var t=null==o?void 0:o.createElement(\"a\");return H(t)?null:(t.href=e,t)},gt=function(e,t){return!!function(e){try{new RegExp(e)}catch(e){return!1}return!0}(t)&&new RegExp(t).test(e)},ft=function(e){var t,i,n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"&\",r=[];return f(e,(function(e,n){H(e)||H(n)||\"undefined\"===n||(t=encodeURIComponent((e=>e instanceof File)(e)?e.name:e.toString()),i=encodeURIComponent(n),r[r.length]=i+\"=\"+t)})),r.join(n)},mt=function(e,t){for(var i,n=((e.split(\"#\")[0]||\"\").split(\"?\")[1]||\"\").split(\"&\"),r=0;rt&&b(t,It)||function(e){return b(e,Pt)&&!b(e,Ot)&&!b(e,St)}(e),di=function(e,t){return t=t||\"\",b(e,\" OPR/\")&&b(e,\"Mini\")?qt:b(e,\" OPR/\")?Nt:li.test(e)?Ft:b(e,\"IE\"+yt)||b(e,\"WPDesktop\")?Dt:b(e,Tt)?$t:b(e,Bt)||b(e,\"Edg/\")?Ht:b(e,\"FBIOS\")?\"Facebook \"+yt:b(e,\"UCWEB\")||b(e,\"UCBrowser\")?\"UC Browser\":b(e,\"CriOS\")?At:b(e,\"CrMo\")||b(e,Ot)?Ot:b(e,St)&&b(e,Pt)?Vt:b(e,\"FxiOS\")?zt:b(e.toLowerCase(),ii.toLowerCase())?ii:ci(e,t)?b(e,yt)?Jt:Pt:b(e,Ut)?Ut:b(e,\"MSIE\")||b(e,\"Trident/\")?Lt:b(e,\"Gecko\")?Ut:\"\"},hi={[Dt]:[new RegExp(\"rv:\"+ni)],[Ht]:[new RegExp(Bt+\"?\\\\/\"+ni)],[Ot]:[new RegExp(\"(\"+Ot+\"|CrMo)\\\\/\"+ni)],[At]:[new RegExp(\"CriOS\\\\/\"+ni)],\"UC Browser\":[new RegExp(\"(UCBrowser|UCWEB)\\\\/\"+ni)],[Pt]:[ri],[Jt]:[ri],[Nt]:[new RegExp(\"(Opera|OPR)\\\\/\"+ni)],[Ut]:[new RegExp(Ut+\"\\\\/\"+ni)],[zt]:[new RegExp(\"FxiOS\\\\/\"+ni)],[ii]:[new RegExp(\"Konqueror[:/]?\"+ni,\"i\")],[Ft]:[new RegExp(Ft+\" \"+ni),ri],[Vt]:[new RegExp(\"android\\\\s\"+ni,\"i\")],[$t]:[new RegExp(Tt+\"\\\\/\"+ni)],[Lt]:[new RegExp(\"(rv:|MSIE )\"+ni)],Mozilla:[new RegExp(\"rv:\"+ni)]},_i=[[new RegExp(Gt+\"; \"+Gt+\" (.*?)[);]\",\"i\"),e=>[Gt,e&&e[1]||\"\"]],[new RegExp(Wt,\"i\"),[Wt,\"\"]],[new RegExp(jt,\"i\"),[jt,\"\"]],[li,[Ft,\"\"]],[new RegExp(Qt,\"i\"),(e,t)=>{if(/Phone/.test(t)||/WPDesktop/.test(t))return[Yt,\"\"];if(new RegExp(yt).test(t)&&!/IEMobile\\b/.test(t))return[Qt+\" \"+yt,\"\"];var i=/Windows NT ([0-9.]+)/i.exec(t);if(i&&i[1]){var n=i[1],r=ui[n]||\"\";return/arm/i.test(t)&&(r=\"RT\"),[Qt,r]}return[Qt,\"\"]}],[/((iPhone|iPad|iPod).*?OS (\\d+)_(\\d+)_?(\\d+)?|iPhone)/,e=>{if(e&&e[3]){var t=[e[3],e[4],e[5]||\"0\"];return[wt,t.join(\".\")]}return[wt,\"\"]}],[/(watch.*\\/(\\d+\\.\\d+\\.\\d+)|watch os,(\\d+\\.\\d+),)/i,e=>{var t=\"\";return e&&e.length>=3&&(t=H(e[2])?e[3]:e[2]),[\"watchOS\",t]}],[new RegExp(\"(\"+St+\" (\\\\d+)\\\\.(\\\\d+)\\\\.?(\\\\d+)?|\"+St+\")\",\"i\"),e=>{if(e&&e[2]){var t=[e[2],e[3],e[4]||\"0\"];return[St,t.join(\".\")]}return[St,\"\"]}],[/Mac OS X (\\d+)[_.](\\d+)[_.]?(\\d+)?/i,e=>{var t=[\"Mac OS X\",\"\"];if(e&&e[1]){var i=[e[1],e[2],e[3]||\"0\"];t[1]=i.join(\".\")}return t}],[/Mac/i,[\"Mac OS X\",\"\"]],[/CrOS/,[Mt,\"\"]],[/Linux|debian/i,[\"Linux\",\"\"]]],pi=function(e){return ai.test(e)?Wt:oi.test(e)?jt:si.test(e)?Gt:new RegExp(Kt,\"i\").test(e)?Kt:new RegExp(\"(\"+Yt+\"|WPDesktop)\",\"i\").test(e)?Yt:/iPad/.test(e)?xt:/iPod/.test(e)?\"iPod Touch\":/iPhone/.test(e)?\"iPhone\":/(watch)(?: ?os[,/]|\\d,\\d\\/)[\\d.]+/i.test(e)?Ct:li.test(e)?Ft:/(kobo)\\s(ereader|touch)/i.test(e)?\"Kobo\":new RegExp(Xt,\"i\").test(e)?Xt:/(kf[a-z]{2}wi|aeo[c-r]{2})( bui|\\))/i.test(e)||/(kf[a-z]+)( bui|\\)).+silk\\//i.test(e)?\"Kindle Fire\":/(Android|ZTE)/i.test(e)?!new RegExp(yt).test(e)||/(9138B|TB782B|Nexus [97]|pixel c|HUAWEISHT|BTV|noble nook|smart ultra 6)/i.test(e)?/pixel[\\daxl ]{1,6}/i.test(e)&&!/pixel c/i.test(e)||/(huaweimed-al00|tah-|APA|SM-G92|i980|zte|U304AA)/i.test(e)||/lmy47v/i.test(e)&&!/QTAQZ3/i.test(e)?St:kt:St:new RegExp(\"(pda|\"+yt+\")\",\"i\").test(e)?ei:new RegExp(Et,\"i\").test(e)&&!new RegExp(Et+\" pc\",\"i\").test(e)?ti:\"\"},vi=\"https?://(.*)\",gi=[\"utm_source\",\"utm_medium\",\"utm_campaign\",\"utm_content\",\"utm_term\",\"gclid\",\"gad_source\",\"gclsrc\",\"dclid\",\"gbraid\",\"wbraid\",\"fbclid\",\"msclkid\",\"twclid\",\"li_fat_id\",\"mc_cid\",\"igshid\",\"ttclid\",\"rdt_cid\"],fi={campaignParams:function(e){return o?this._campaignParamsFromUrl(o.URL,e):{}},_campaignParamsFromUrl:function(e,t){var i=gi.concat(t||[]),n={};return f(i,(function(t){var i=mt(e,t);n[t]=i||null})),n},_searchEngine:function(e){return e?0===e.search(vi+\"google.([^/?]*)\")?\"google\":0===e.search(vi+\"bing.com\")?\"bing\":0===e.search(vi+\"yahoo.com\")?\"yahoo\":0===e.search(vi+\"duckduckgo.com\")?\"duckduckgo\":null:null},_searchInfoFromReferrer:function(e){var t=fi._searchEngine(e),i=\"yahoo\"!=t?\"q\":\"p\",n={};if(!W(t)){n.$search_engine=t;var r=o?mt(o.referrer,i):\"\";r.length&&(n.ph_keyword=r)}return n},searchInfo:function(){var e=null==o?void 0:o.referrer;return e?this._searchInfoFromReferrer(e):{}},browser:di,browserVersion:function(e,t){var i=di(e,t),n=hi[i];if(H(n))return null;for(var r=0;r1e3?d.substring(0,997)+\"...\":d,$browser_version:fi.browserVersion(d,navigator.vendor),$browser_language:fi.browserLanguage(),$browser_language_prefix:fi.browserLanguagePrefix(),$screen_height:null==e?void 0:e.screen.height,$screen_width:null==e?void 0:e.screen.width,$viewport_height:null==e?void 0:e.innerHeight,$viewport_width:null==e?void 0:e.innerWidth,$lib:\"web\",$lib_version:_.LIB_VERSION,$insert_id:Math.random().toString(36).substring(2,10)+Math.random().toString(36).substring(2,10),$time:Date.now()/1e3})},people_properties:function(){if(!d)return{};var[e,t]=fi.os(d);return m(E({$os:e,$os_version:t,$browser:fi.browser(d,navigator.vendor)}),{$browser_version:fi.browserVersion(d,navigator.vendor)})}},mi=[\"cookie\",\"localstorage\",\"localstorage+cookie\",\"sessionstorage\",\"memory\"];class bi{constructor(e){this.config=e,this.props={},this.campaign_params_saved=!1,this.name=(e=>{var t=\"\";return e.token&&(t=e.token.replace(/\\+/g,\"PL\").replace(/\\//g,\"SL\").replace(/=/g,\"EQ\")),e.persistence_name?\"ph_\"+e.persistence_name:\"ph_\"+t+\"_posthog\"})(e),this.storage=this.buildStorage(e),this.load(),e.debug&&X.info(\"Persistence loaded\",e.persistence,ie({},this.props)),this.update_config(e,e),this.save()}buildStorage(e){-1===mi.indexOf(e.persistence.toLowerCase())&&(X.critical(\"Unknown persistence type \"+e.persistence+\"; falling back to localStorage+cookie\"),e.persistence=\"localStorage+cookie\");var t=e.persistence.toLowerCase();return\"localstorage\"===t&&at.is_supported()?at:\"localstorage+cookie\"===t&&ut.is_supported()?ut:\"sessionstorage\"===t&&_t.is_supported()?_t:\"memory\"===t?dt:\"cookie\"===t?st:ut.is_supported()?ut:st}properties(){var e={};return f(this.props,(function(t,i){if(i===xe&&q(t))for(var n=Object.keys(t),s=0;s{this.props.hasOwnProperty(i)&&this.props[i]!==t||(this.props[i]=e,n=!0)})),n)return this.save(),!0}return!1}register(e,t){if(q(e)){this.expire_days=H(t)?this.default_expiry:t;var i=!1;if(f(e,((t,n)=>{e.hasOwnProperty(n)&&this.props[n]!==t&&(this.props[n]=t,i=!0)})),i)return this.save(),!0}return!1}unregister(e){e in this.props&&(delete this.props[e],this.save())}update_campaign_params(){if(!this.campaign_params_saved){var e=fi.campaignParams(this.config.custom_campaign_params);B(E(e))||this.register(e),this.campaign_params_saved=!0}}update_search_keyword(){this.register(fi.searchInfo())}update_referrer_info(){this.register_once(fi.referrerInfo(),void 0)}set_initial_person_info(){this.props[Ae]||this.props[Le]||this.register_once({[De]:fi.initialPersonInfo()},void 0)}get_referrer_info(){return E({$referrer:this.props.$referrer,$referring_domain:this.props.$referring_domain})}get_initial_props(){var e={};f([Le,Ae],(t=>{var i=this.props[t];i&&f(i,(function(t,i){e[\"$initial_\"+k(i)]=t}))}));var t=this.props[De];if(t){var i=fi.initialPersonPropsFromInfo(t);m(e,i)}return e}safe_merge(e){return f(this.props,(function(t,i){i in e||(e[i]=t)})),e}update_config(e,t){if(this.default_expiry=this.expire_days=e.cookie_expiration,this.set_disabled(e.disable_persistence),this.set_cross_subdomain(e.cross_subdomain_cookie),this.set_secure(e.secure_cookie),e.persistence!==t.persistence){var i=this.buildStorage(e),n=this.props;this.clear(),this.storage=i,this.props=n,this.save()}}set_disabled(e){this.disabled=e,this.disabled?this.remove():this.save()}set_cross_subdomain(e){e!==this.cross_subdomain&&(this.cross_subdomain=e,this.remove(),this.save())}get_cross_subdomain(){return!!this.cross_subdomain}set_secure(e){e!==this.secure&&(this.secure=e,this.remove(),this.save())}set_event_timer(e,t){var i=this.props[ae]||{};i[e]=t,this.props[ae]=i,this.save()}remove_event_timer(e){var t=(this.props[ae]||{})[e];return H(t)||(delete this.props[ae][e],this.save()),t}get_property(e){return this.props[e]}set_property(e,t){this.props[e]=t,this.save()}}function yi(e){var t,i;return(null===(t=JSON.stringify(e,(i=[],function(e,t){if(q(t)){for(;i.length>0&&i[i.length-1]!==this;)i.pop();return i.includes(t)?\"[Circular]\":(i.push(t),t)}return t})))||void 0===t?void 0:t.length)||0}function wi(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:6606028.8;if(e.size>=t&&e.data.length>1){var i=Math.floor(e.data.length/2),n=e.data.slice(0,i),r=e.data.slice(i);return[wi({size:yi(n),data:n,sessionId:e.sessionId,windowId:e.windowId}),wi({size:yi(r),data:r,sessionId:e.sessionId,windowId:e.windowId})].flatMap((e=>e))}return[e]}var Si=(e=>(e[e.DomContentLoaded=0]=\"DomContentLoaded\",e[e.Load=1]=\"Load\",e[e.FullSnapshot=2]=\"FullSnapshot\",e[e.IncrementalSnapshot=3]=\"IncrementalSnapshot\",e[e.Meta=4]=\"Meta\",e[e.Custom=5]=\"Custom\",e[e.Plugin=6]=\"Plugin\",e))(Si||{}),Ei=(e=>(e[e.Mutation=0]=\"Mutation\",e[e.MouseMove=1]=\"MouseMove\",e[e.MouseInteraction=2]=\"MouseInteraction\",e[e.Scroll=3]=\"Scroll\",e[e.ViewportResize=4]=\"ViewportResize\",e[e.Input=5]=\"Input\",e[e.TouchMove=6]=\"TouchMove\",e[e.MediaInteraction=7]=\"MediaInteraction\",e[e.StyleSheetRule=8]=\"StyleSheetRule\",e[e.CanvasMutation=9]=\"CanvasMutation\",e[e.Font=10]=\"Font\",e[e.Log=11]=\"Log\",e[e.Drag=12]=\"Drag\",e[e.StyleDeclaration=13]=\"StyleDeclaration\",e[e.Selection=14]=\"Selection\",e[e.AdoptedStyleSheet=15]=\"AdoptedStyleSheet\",e[e.CustomElement=16]=\"CustomElement\",e))(Ei||{});function ki(e){var t;return e.id===qe||!(null===(t=e.closest)||void 0===t||!t.call(e,\".toolbar-global-fade-container\"))}function xi(e){return!!e&&1===e.nodeType}function Ii(e,t){return!!e&&!!e.tagName&&e.tagName.toLowerCase()===t.toLowerCase()}function Ci(e){return!!e&&3===e.nodeType}function Pi(e){return!!e&&11===e.nodeType}function Fi(e){return e?v(e).split(/\\s+/):[]}function Ri(t){var i=null==e?void 0:e.location.href;return!!(i&&t&&t.some((e=>i.match(e))))}function Ti(e){var t=\"\";switch(typeof e.className){case\"string\":t=e.className;break;case\"object\":t=(e.className&&\"baseVal\"in e.className?e.className.baseVal:null)||e.getAttribute(\"class\")||\"\";break;default:t=\"\"}return Fi(t)}function $i(e){return j(e)?null:v(e).split(/(\\s+)/).filter((e=>Gi(e))).join(\"\").replace(/[\\r\\n]/g,\" \").replace(/[ ]+/g,\" \").substring(0,255)}function Oi(e){var t=\"\";return Ni(e)&&!qi(e)&&e.childNodes&&e.childNodes.length&&f(e.childNodes,(function(e){var i;Ci(e)&&e.textContent&&(t+=null!==(i=$i(e.textContent))&&void 0!==i?i:\"\")})),v(t)}function Mi(e){return H(e.target)?e.srcElement||null:null!==(t=e.target)&&void 0!==t&&t.shadowRoot?e.composedPath()[0]||null:e.target||null;var t}var Ai=[\"a\",\"button\",\"form\",\"input\",\"select\",\"textarea\",\"label\"];function Li(e){var t=e.parentNode;return!(!t||!xi(t))&&t}function Di(t,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0,r=arguments.length>3?arguments[3]:void 0,s=arguments.length>4?arguments[4]:void 0;if(!e||!t||Ii(t,\"html\")||!xi(t))return!1;if(null!=n&&n.url_allowlist&&!Ri(n.url_allowlist))return!1;if(null!=n&&n.url_ignorelist&&Ri(n.url_ignorelist))return!1;if(null!=n&&n.dom_event_allowlist){var o=n.dom_event_allowlist;if(o&&!o.some((e=>i.type===e)))return!1}for(var a=!1,l=[t],u=!0,c=t;c.parentNode&&!Ii(c,\"body\");)if(Pi(c.parentNode))l.push(c.parentNode.host),c=c.parentNode.host;else{if(!(u=Li(c)))break;if(r||Ai.indexOf(u.tagName.toLowerCase())>-1)a=!0;else{var d=e.getComputedStyle(u);d&&\"pointer\"===d.getPropertyValue(\"cursor\")&&(a=!0)}l.push(u),c=u}if(!function(e,t){var i=null==t?void 0:t.element_allowlist;if(H(i))return!0;var n=function(e){if(i.some((t=>e.tagName.toLowerCase()===t)))return{v:!0}};for(var r of e){var s=n(r);if(\"object\"==typeof s)return s.v}return!1}(l,n))return!1;if(!function(e,t){var i=null==t?void 0:t.css_selector_allowlist;if(H(i))return!0;var n=function(e){if(i.some((t=>e.matches(t))))return{v:!0}};for(var r of e){var s=n(r);if(\"object\"==typeof s)return s.v}return!1}(l,n))return!1;var h=e.getComputedStyle(t);if(h&&\"pointer\"===h.getPropertyValue(\"cursor\")&&\"click\"===i.type)return!0;var _=t.tagName.toLowerCase();switch(_){case\"html\":return!1;case\"form\":return(s||[\"submit\"]).indexOf(i.type)>=0;case\"input\":case\"select\":case\"textarea\":return(s||[\"change\",\"click\"]).indexOf(i.type)>=0;default:return a?(s||[\"click\"]).indexOf(i.type)>=0:(s||[\"click\"]).indexOf(i.type)>=0&&(Ai.indexOf(_)>-1||\"true\"===t.getAttribute(\"contenteditable\"))}}function Ni(e){for(var t=e;t.parentNode&&!Ii(t,\"body\");t=t.parentNode){var i=Ti(t);if(b(i,\"ph-sensitive\")||b(i,\"ph-no-capture\"))return!1}if(b(Ti(e),\"ph-include\"))return!0;var n=e.type||\"\";if(U(n))switch(n.toLowerCase()){case\"hidden\":case\"password\":return!1}var r=e.name||e.id||\"\";if(U(r)){if(/^cc|cardnum|ccnum|creditcard|csc|cvc|cvv|exp|pass|pwd|routing|seccode|securitycode|securitynum|socialsec|socsec|ssn/i.test(r.replace(/[^a-zA-Z0-9]/g,\"\")))return!1}return!0}function qi(e){return!!(Ii(e,\"input\")&&![\"button\",\"checkbox\",\"submit\",\"reset\"].includes(e.type)||Ii(e,\"select\")||Ii(e,\"textarea\")||\"true\"===e.getAttribute(\"contenteditable\"))}var Bi=\"(4[0-9]{12}(?:[0-9]{3})?)|(5[1-5][0-9]{14})|(6(?:011|5[0-9]{2})[0-9]{12})|(3[47][0-9]{13})|(3(?:0[0-5]|[68][0-9])[0-9]{11})|((?:2131|1800|35[0-9]{3})[0-9]{11})\",Hi=new RegExp(\"^(?:\".concat(Bi,\")$\")),Ui=new RegExp(Bi),zi=\"\\\\d{3}-?\\\\d{2}-?\\\\d{4}\",Wi=new RegExp(\"^(\".concat(zi,\")$\")),ji=new RegExp(\"(\".concat(zi,\")\"));function Gi(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];if(j(e))return!1;if(U(e)){if(e=v(e),(t?Hi:Ui).test((e||\"\").replace(/[- ]/g,\"\")))return!1;if((t?Wi:ji).test(e))return!1}return!0}function Vi(e){var t=Oi(e);return Gi(t=\"\".concat(t,\" \").concat(Ji(e)).trim())?t:\"\"}function Ji(e){var t=\"\";return e&&e.childNodes&&e.childNodes.length&&f(e.childNodes,(function(e){var i;if(e&&\"span\"===(null===(i=e.tagName)||void 0===i?void 0:i.toLowerCase()))try{var n=Oi(e);t=\"\".concat(t,\" \").concat(n).trim(),e.childNodes&&e.childNodes.length&&(t=\"\".concat(t,\" \").concat(Ji(e)).trim())}catch(e){X.error(\"[AutoCapture]\",e)}})),t}function Qi(e){return function(e){var t=e.map((e=>{var t,i,n=\"\";if(e.tag_name&&(n+=e.tag_name),e.attr_class)for(var r of(e.attr_class.sort(),e.attr_class))n+=\".\".concat(r.replace(/\"/g,\"\"));var s=ie(ie(ie(ie({},e.text?{text:e.text}:{}),{},{\"nth-child\":null!==(t=e.nth_child)&&void 0!==t?t:0,\"nth-of-type\":null!==(i=e.nth_of_type)&&void 0!==i?i:0},e.href?{href:e.href}:{}),e.attr_id?{attr_id:e.attr_id}:{}),e.attributes),o={};return y(s).sort(((e,t)=>{var[i]=e,[n]=t;return i.localeCompare(n)})).forEach((e=>{var[t,i]=e;return o[Yi(t.toString())]=Yi(i.toString())})),n+=\":\",n+=y(s).map((e=>{var[t,i]=e;return\"\".concat(t,'=\"').concat(i,'\"')})).join(\"\")}));return t.join(\";\")}(function(e){return e.map((e=>{var t,i,n={text:null===(t=e.$el_text)||void 0===t?void 0:t.slice(0,400),tag_name:e.tag_name,href:null===(i=e.attr__href)||void 0===i?void 0:i.slice(0,2048),attr_class:Xi(e),attr_id:e.attr__id,nth_child:e.nth_child,nth_of_type:e.nth_of_type,attributes:{}};return y(e).filter((e=>{var[t]=e;return 0===t.indexOf(\"attr__\")})).forEach((e=>{var[t,i]=e;return n.attributes[t]=i})),n}))}(e))}function Yi(e){return e.replace(/\"|\\\\\"/g,'\\\\\"')}function Xi(e){var t=e.attr__class;return t?D(t)?t:Fi(t):void 0}var Ki=\"[SessionRecording]\",Zi=\"redacted\",en={initiatorTypes:[\"audio\",\"beacon\",\"body\",\"css\",\"early-hint\",\"embed\",\"fetch\",\"frame\",\"iframe\",\"icon\",\"image\",\"img\",\"input\",\"link\",\"navigation\",\"object\",\"ping\",\"script\",\"track\",\"video\",\"xmlhttprequest\"],maskRequestFn:e=>e,recordHeaders:!1,recordBody:!1,recordInitialRequests:!1,recordPerformance:!1,performanceEntryTypeToObserve:[\"first-input\",\"navigation\",\"paint\",\"resource\"],payloadSizeLimitBytes:1e6,payloadHostDenyList:[\".lr-ingest.io\",\".ingest.sentry.io\"]},tn=[\"authorization\",\"x-forwarded-for\",\"authorization\",\"cookie\",\"set-cookie\",\"x-api-key\",\"x-real-ip\",\"remote-addr\",\"forwarded\",\"proxy-authorization\",\"x-csrf-token\",\"x-csrftoken\",\"x-xsrf-token\"],nn=[\"password\",\"secret\",\"passwd\",\"api_key\",\"apikey\",\"auth\",\"credentials\",\"mysql_pwd\",\"privatekey\",\"private_key\",\"token\"],rn=[\"/s/\",\"/e/\",\"/i/\"];function sn(e,t,i,n){if(j(e))return e;var r=(null==t?void 0:t[\"content-length\"])||function(e){return new Blob([e]).size}(e);return U(r)&&(r=parseInt(r)),r>i?Ki+\" \".concat(n,\" body too large to record (\").concat(r,\" bytes)\"):e}function on(e,t){if(j(e))return e;var i=e;return Gi(i,!1)||(i=Ki+\" \"+t+\" body \"+Zi),f(nn,(e=>{var n,r;null!==(n=i)&&void 0!==n&&n.length&&-1!==(null===(r=i)||void 0===r?void 0:r.indexOf(e))&&(i=Ki+\" \"+t+\" body \"+Zi+\" as might contain: \"+e)})),i}var an=(e,t)=>{var i,n,r,s={payloadSizeLimitBytes:en.payloadSizeLimitBytes,performanceEntryTypeToObserve:[...en.performanceEntryTypeToObserve],payloadHostDenyList:[...t.payloadHostDenyList||[],...en.payloadHostDenyList]},o=!1!==e.session_recording.recordHeaders&&t.recordHeaders,a=!1!==e.session_recording.recordBody&&t.recordBody,l=!1!==e.capture_performance&&t.recordPerformance,u=(i=s,r=Math.min(1e6,null!==(n=i.payloadSizeLimitBytes)&&void 0!==n?n:1e6),e=>(null!=e&&e.requestBody&&(e.requestBody=sn(e.requestBody,e.requestHeaders,r,\"Request\")),null!=e&&e.responseBody&&(e.responseBody=sn(e.responseBody,e.responseHeaders,r,\"Response\")),e)),c=t=>{return u(((e,t)=>{var i,n=vt(e.name),r=0===t.indexOf(\"http\")?null===(i=vt(t))||void 0===i?void 0:i.pathname:t;\"/\"===r&&(r=\"\");var s=null==n?void 0:n.pathname.replace(r||\"\",\"\");if(!(n&&s&&rn.some((e=>0===s.indexOf(e)))))return e})((n=(i=t).requestHeaders,j(n)||f(Object.keys(null!=n?n:{}),(e=>{tn.includes(e.toLowerCase())&&(n[e]=Zi)})),i),e.api_host));var i,n},d=N(e.session_recording.maskNetworkRequestFn);return d&&N(e.session_recording.maskCapturedNetworkRequestFn)&&X.warn(\"Both `maskNetworkRequestFn` and `maskCapturedNetworkRequestFn` are defined. `maskNetworkRequestFn` will be ignored.\"),d&&(e.session_recording.maskCapturedNetworkRequestFn=t=>{var i=e.session_recording.maskNetworkRequestFn({url:t.name});return ie(ie({},t),{},{name:null==i?void 0:i.url})}),s.maskRequestFn=N(e.session_recording.maskCapturedNetworkRequestFn)?t=>{var i,n,r,s=c(t);return s&&null!==(i=null===(n=(r=e.session_recording).maskCapturedNetworkRequestFn)||void 0===n?void 0:n.call(r,s))&&void 0!==i?i:void 0}:e=>function(e){if(!H(e))return e.requestBody=on(e.requestBody,\"Request\"),e.responseBody=on(e.responseBody,\"Response\"),e}(c(e)),ie(ie(ie({},en),s),{},{recordHeaders:o,recordBody:a,recordPerformance:l,recordInitialRequests:l})};function ln(e,t,i,n,r){return t>i&&(X.warn(\"min cannot be greater than max.\"),t=i),G(e)?e>i?(n&&X.warn(n+\" cannot be greater than max: \"+i+\". Using max value instead.\"),i):e1&&void 0!==arguments[1]?arguments[1]:{};ne(this,\"bucketSize\",100),ne(this,\"refillRate\",10),ne(this,\"mutationBuckets\",{}),ne(this,\"loggedTracker\",{}),ne(this,\"refillBuckets\",(()=>{Object.keys(this.mutationBuckets).forEach((e=>{this.mutationBuckets[e]=this.mutationBuckets[e]+this.refillRate,this.mutationBuckets[e]>=this.bucketSize&&delete this.mutationBuckets[e]}))})),ne(this,\"getNodeOrRelevantParent\",(e=>{var t=this.rrweb.mirror.getNode(e);if(\"svg\"!==(null==t?void 0:t.nodeName)&&t instanceof Element){var i=t.closest(\"svg\");if(i)return[this.rrweb.mirror.getId(i),i]}return[e,t]})),ne(this,\"numberOfChanges\",(e=>{var t,i,n,r,s,o,a,l;return(null!==(t=null===(i=e.removes)||void 0===i?void 0:i.length)&&void 0!==t?t:0)+(null!==(n=null===(r=e.attributes)||void 0===r?void 0:r.length)&&void 0!==n?n:0)+(null!==(s=null===(o=e.texts)||void 0===o?void 0:o.length)&&void 0!==s?s:0)+(null!==(a=null===(l=e.adds)||void 0===l?void 0:l.length)&&void 0!==a?a:0)})),ne(this,\"throttleMutations\",(e=>{if(3!==e.type||0!==e.data.source)return e;var t=e.data,i=this.numberOfChanges(t);t.attributes&&(t.attributes=t.attributes.filter((e=>{var t,i,n,[r,s]=this.getNodeOrRelevantParent(e.id);if(0===this.mutationBuckets[r])return!1;(this.mutationBuckets[r]=null!==(t=this.mutationBuckets[r])&&void 0!==t?t:this.bucketSize,this.mutationBuckets[r]=Math.max(this.mutationBuckets[r]-1,0),0===this.mutationBuckets[r])&&(this.loggedTracker[r]||(this.loggedTracker[r]=!0,null===(i=(n=this.options).onBlockedNode)||void 0===i||i.call(n,r,s)));return e})));var n=this.numberOfChanges(t);return 0!==n||i===n?e:void 0})),this.rrweb=e,this.options=n,this.refillRate=ln(null!==(t=this.options.refillRate)&&void 0!==t?t:this.refillRate,0,100,\"mutation throttling refill rate\"),this.bucketSize=ln(null!==(i=this.options.bucketSize)&&void 0!==i?i:this.bucketSize,0,100,\"mutation throttling bucket size\"),setInterval((()=>{this.refillBuckets()}),1e3)}}var cn=Uint8Array,dn=Uint16Array,hn=Uint32Array,_n=new cn([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),pn=new cn([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),vn=new cn([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),gn=function(e,t){for(var i=new dn(31),n=0;n<31;++n)i[n]=t+=1<>>1|(21845&Sn)<<1;En=(61680&(En=(52428&En)>>>2|(13107&En)<<2))>>>4|(3855&En)<<4,wn[Sn]=((65280&En)>>>8|(255&En)<<8)>>>1}var kn=function(e,t,i){for(var n=e.length,r=0,s=new dn(t);r>>l]=u}else for(o=new dn(n),r=0;r>>15-e[r];return o},xn=new cn(288);for(Sn=0;Sn<144;++Sn)xn[Sn]=8;for(Sn=144;Sn<256;++Sn)xn[Sn]=9;for(Sn=256;Sn<280;++Sn)xn[Sn]=7;for(Sn=280;Sn<288;++Sn)xn[Sn]=8;var In=new cn(32);for(Sn=0;Sn<32;++Sn)In[Sn]=5;var Cn=kn(xn,9,0),Pn=kn(In,5,0),Fn=function(e){return(e/8>>0)+(7&e&&1)},Rn=function(e,t,i){(null==i||i>e.length)&&(i=e.length);var n=new(e instanceof dn?dn:e instanceof hn?hn:cn)(i-t);return n.set(e.subarray(t,i)),n},Tn=function(e,t,i){i<<=7&t;var n=t/8>>0;e[n]|=i,e[n+1]|=i>>>8},$n=function(e,t,i){i<<=7&t;var n=t/8>>0;e[n]|=i,e[n+1]|=i>>>8,e[n+2]|=i>>>16},On=function(e,t){for(var i=[],n=0;nh&&(h=s[n].s);var _=new dn(h+1),p=Mn(i[c-1],_,0);if(p>t){n=0;var v=0,g=p-t,f=1<t))break;v+=f-(1<>>=g;v>0;){var b=s[n].s;_[b]=0&&v;--n){var y=s[n].s;_[y]==t&&(--_[y],++v)}p=t}return[new cn(_),p]},Mn=function(e,t,i){return-1==e.s?Math.max(Mn(e.l,t,i+1),Mn(e.r,t,i+1)):t[e.s]=i},An=function(e){for(var t=e.length;t&&!e[--t];);for(var i=new dn(++t),n=0,r=e[0],s=1,o=function(e){i[n++]=e},a=1;a<=t;++a)if(e[a]==r&&a!=t)++s;else{if(!r&&s>2){for(;s>138;s-=138)o(32754);s>2&&(o(s>10?s-11<<5|28690:s-3<<5|12305),s=0)}else if(s>3){for(o(r),--s;s>6;s-=6)o(8304);s>2&&(o(s-3<<5|8208),s=0)}for(;s--;)o(r);s=1,r=e[a]}return[i.subarray(0,n),t]},Ln=function(e,t){for(var i=0,n=0;n>>8,e[r+2]=255^e[r],e[r+3]=255^e[r+1];for(var s=0;s4&&!I[vn[P-1]];--P);var F,R,T,$,O=u+5<<3,M=Ln(r,xn)+Ln(s,In)+o,A=Ln(r,h)+Ln(s,v)+o+14+3*P+Ln(E,I)+(2*E[16]+3*E[17]+7*E[18]);if(O<=M&&O<=A)return Dn(t,c,e.subarray(l,l+u));if(Tn(t,c,1+(A15&&(Tn(t,c,q[k]>>>5&127),c+=q[k]>>>12)}}}else F=Cn,R=xn,T=Pn,$=In;for(k=0;k255){B=n[k]>>>18&31;$n(t,c,F[B+257]),c+=R[B+257],B>7&&(Tn(t,c,n[k]>>>23&31),c+=_n[B]);var H=31&n[k];$n(t,c,T[H]),c+=$[H],H>3&&($n(t,c,n[k]>>>5&8191),c+=pn[H])}else $n(t,c,F[n[k]]),c+=R[n[k]];return $n(t,c,F[256]),c+R[256]},qn=new hn([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),Bn=function(){for(var e=new hn(256),t=0;t<256;++t){for(var i=t,n=9;--n;)i=(1&i&&3988292384)^i>>>1;e[t]=i}return e}(),Hn=function(){var e=4294967295;return{p:function(t){for(var i=e,n=0;n>>8;e=i},d:function(){return 4294967295^e}}},Un=function(e,t,i,n,r){return function(e,t,i,n,r,s){var o=e.length,a=new cn(n+o+5*(1+Math.floor(o/7e3))+r),l=a.subarray(n,a.length-r),u=0;if(!t||o<8)for(var c=0;c<=o;c+=65535){var d=c+65535;d>>13,p=8191&h,v=(1<7e3||I>24576)&&$>423){u=Nn(e,l,0,w,S,E,x,I,P,c-P,u),I=k=x=0,P=c;for(var O=0;O<286;++O)S[O]=0;for(O=0;O<30;++O)E[O]=0}var M=2,A=0,L=p,D=R-T&32767;if($>2&&F==y(c-D))for(var N=Math.min(_,$)-1,q=Math.min(32767,c),B=Math.min(258,$);D<=q&&--L&&R!=T;){if(e[c+M]==e[c+M-D]){for(var H=0;HM){if(M=H,A=D,H>N)break;var U=Math.min(D,H-2),z=0;for(O=0;Oz&&(z=j,T=W)}}}D+=(R=T)-(T=g[R])+32768&32767}if(A){w[I++]=268435456|bn[M]<<18|yn[A];var G=31&bn[M],V=31&yn[A];x+=_n[G]+pn[V],++S[257+G],++E[V],C=c+M,++k}else w[I++]=e[c],++S[e[c]]}}u=Nn(e,l,s,w,S,E,x,I,P,c-P,u)}return Rn(a,0,n+Fn(u)+r)}(e,null==t.level?6:t.level,null==t.mem?Math.ceil(1.5*Math.max(8,Math.min(13,Math.log(e.length)))):12+t.mem,i,n,!r)},zn=function(e,t,i){for(;i;++t)e[t]=i,i>>>=8},Wn=function(e,t){var i=t.filename;if(e[0]=31,e[1]=139,e[2]=8,e[8]=t.level<2?4:9==t.level?2:0,e[9]=3,0!=t.mtime&&zn(e,4,Math.floor(new Date(t.mtime||Date.now())/1e3)),i){e[3]=8;for(var n=0;n<=i.length;++n)e[n+10]=i.charCodeAt(n)}},jn=function(e){return 10+(e.filename&&e.filename.length+1||0)};function Gn(e,t){void 0===t&&(t={});var i=Hn(),n=e.length;i.p(e);var r=Un(e,t,jn(t),8),s=r.length;return Wn(r,t),zn(r,s-8,i.d()),zn(r,s-4,n),r}function Vn(e,t){var i=e.length;if(\"undefined\"!=typeof TextEncoder)return(new TextEncoder).encode(e);for(var n=new cn(e.length+(e.length>>>1)),r=0,s=function(e){n[r++]=e},o=0;on.length){var a=new cn(r+8+(i-o<<1));a.set(n),n=a}var l=e.charCodeAt(o);l<128||t?s(l):l<2048?(s(192|l>>>6),s(128|63&l)):l>55295&&l<57344?(s(240|(l=65536+(1047552&l)|1023&e.charCodeAt(++o))>>>18),s(128|l>>>12&63),s(128|l>>>6&63),s(128|63&l)):(s(224|l>>>12),s(128|l>>>6&63),s(128|63&l))}return Rn(n,0,r)}var Jn=\"[SessionRecording]\",Qn=K(Jn),Yn=3e5,Xn=[Ei.MouseMove,Ei.MouseInteraction,Ei.Scroll,Ei.ViewportResize,Ei.Input,Ei.TouchMove,Ei.MediaInteraction,Ei.Drag],Kn=e=>({rrwebMethod:e,enqueuedAt:Date.now(),attempt:1});function Zn(e){return function(e,t){for(var i=\"\",n=0;n>10,56320|1023&r))}return i}(Gn(Vn(JSON.stringify(e))),!0)}function er(e){return e.type===Si.Custom&&\"sessionIdle\"===e.data.tag}function tr(e,t){return t.some((t=>\"regex\"===t.matching&&new RegExp(t.url).test(e)))}class ir{get sessionIdleThresholdMilliseconds(){return this.instance.config.session_recording.session_idle_threshold_ms||3e5}get rrwebRecord(){var e,t;return null==h||null===(e=h.__PosthogExtensions__)||void 0===e||null===(t=e.rrweb)||void 0===t?void 0:t.record}get started(){return this._captureStarted}get sessionManager(){if(!this.instance.sessionManager)throw new Error(Jn+\" must be started with a valid sessionManager.\");return this.instance.sessionManager}get fullSnapshotIntervalMillis(){var e,t;return\"trigger_pending\"===this.triggerStatus?6e4:null!==(e=null===(t=this.instance.config.session_recording)||void 0===t?void 0:t.full_snapshot_interval_millis)&&void 0!==e?e:Yn}get isSampled(){var e=this.instance.get_property(Se);return V(e)?e:null}get sessionDuration(){var e,t,i=null===(e=this.buffer)||void 0===e?void 0:e.data[(null===(t=this.buffer)||void 0===t?void 0:t.data.length)-1],{sessionStartTimestamp:n}=this.sessionManager.checkAndGetSessionAndWindowId(!0);return i?i.timestamp-n:null}get isRecordingEnabled(){var t=!!this.instance.get_property(pe),i=!this.instance.config.disable_session_recording;return e&&t&&i}get isConsoleLogCaptureEnabled(){var e=!!this.instance.get_property(ve),t=this.instance.config.enable_recording_console_log;return null!=t?t:e}get canvasRecording(){var e,t,i,n,r,s,o=this.instance.config.session_recording.captureCanvas,a=this.instance.get_property(fe),l=null!==(e=null!==(t=null==o?void 0:o.recordCanvas)&&void 0!==t?t:null==a?void 0:a.enabled)&&void 0!==e&&e,u=null!==(i=null!==(n=null==o?void 0:o.canvasFps)&&void 0!==n?n:null==a?void 0:a.fps)&&void 0!==i?i:0,c=null!==(r=null!==(s=null==o?void 0:o.canvasQuality)&&void 0!==s?s:null==a?void 0:a.quality)&&void 0!==r?r:0;return{enabled:l,fps:ln(u,0,12,\"canvas recording fps\"),quality:ln(c,0,1,\"canvas recording quality\")}}get networkPayloadCapture(){var e,t,i=this.instance.get_property(ge),n={recordHeaders:null===(e=this.instance.config.session_recording)||void 0===e?void 0:e.recordHeaders,recordBody:null===(t=this.instance.config.session_recording)||void 0===t?void 0:t.recordBody},r=(null==n?void 0:n.recordHeaders)||(null==i?void 0:i.recordHeaders),s=(null==n?void 0:n.recordBody)||(null==i?void 0:i.recordBody),o=q(this.instance.config.capture_performance)?this.instance.config.capture_performance.network_timing:this.instance.config.capture_performance,a=!!(V(o)?o:null==i?void 0:i.capturePerformance);return r||s||a?{recordHeaders:r,recordBody:s,recordPerformance:a}:void 0}get sampleRate(){var e=this.instance.get_property(me);return G(e)?e:null}get minimumDuration(){var e=this.instance.get_property(be);return G(e)?e:null}get status(){return this.receivedDecide?this.isRecordingEnabled?this._urlBlocked?\"paused\":j(this._linkedFlag)||this._linkedFlagSeen?\"trigger_pending\"===this.triggerStatus?\"buffering\":V(this.isSampled)?this.isSampled?\"sampled\":\"disabled\":\"active\":\"buffering\":\"disabled\":\"buffering\"}get urlTriggerStatus(){var e;return 0===this._urlTriggers.length?\"trigger_disabled\":(null===(e=this.instance)||void 0===e?void 0:e.get_property(Ee))===this.sessionId?\"trigger_activated\":\"trigger_pending\"}get eventTriggerStatus(){var e;return 0===this._eventTriggers.length?\"trigger_disabled\":(null===(e=this.instance)||void 0===e?void 0:e.get_property(ke))===this.sessionId?\"trigger_activated\":\"trigger_pending\"}get triggerStatus(){var e=\"trigger_activated\"===this.eventTriggerStatus||\"trigger_activated\"===this.urlTriggerStatus,t=\"trigger_pending\"===this.eventTriggerStatus||\"trigger_pending\"===this.urlTriggerStatus;return e?\"trigger_activated\":t?\"trigger_pending\":\"trigger_disabled\"}constructor(e){if(ne(this,\"queuedRRWebEvents\",[]),ne(this,\"isIdle\",!1),ne(this,\"_linkedFlagSeen\",!1),ne(this,\"_lastActivityTimestamp\",Date.now()),ne(this,\"_linkedFlag\",null),ne(this,\"_removePageViewCaptureHook\",void 0),ne(this,\"_onSessionIdListener\",void 0),ne(this,\"_persistDecideOnSessionListener\",void 0),ne(this,\"_samplingSessionListener\",void 0),ne(this,\"_urlTriggers\",[]),ne(this,\"_urlBlocklist\",[]),ne(this,\"_urlBlocked\",!1),ne(this,\"_eventTriggers\",[]),ne(this,\"_removeEventTriggerCaptureHook\",void 0),ne(this,\"_forceAllowLocalhostNetworkCapture\",!1),ne(this,\"_onBeforeUnload\",(()=>{this._flushBuffer()})),ne(this,\"_onOffline\",(()=>{this._tryAddCustomEvent(\"browser offline\",{})})),ne(this,\"_onOnline\",(()=>{this._tryAddCustomEvent(\"browser online\",{})})),ne(this,\"_onVisibilityChange\",(()=>{if(null!=o&&o.visibilityState){var e=\"window \"+o.visibilityState;this._tryAddCustomEvent(e,{})}})),this.instance=e,this._captureStarted=!1,this._endpoint=\"/s/\",this.stopRrweb=void 0,this.receivedDecide=!1,!this.instance.sessionManager)throw Qn.error(\"started without valid sessionManager\"),new Error(Jn+\" started without valid sessionManager. This is a bug.\");var{sessionId:t,windowId:i}=this.sessionManager.checkAndGetSessionAndWindowId();this.sessionId=t,this.windowId=i,this.buffer=this.clearBuffer(),this.sessionIdleThresholdMilliseconds>=this.sessionManager.sessionTimeoutMs&&Qn.warn(\"session_idle_threshold_ms (\".concat(this.sessionIdleThresholdMilliseconds,\") is greater than the session timeout (\").concat(this.sessionManager.sessionTimeoutMs,\"). Session will never be detected as idle\"))}startIfEnabledOrStop(t){this.isRecordingEnabled?(this._startCapture(t),null==e||e.addEventListener(\"beforeunload\",this._onBeforeUnload),null==e||e.addEventListener(\"offline\",this._onOffline),null==e||e.addEventListener(\"online\",this._onOnline),null==e||e.addEventListener(\"visibilitychange\",this._onVisibilityChange),this._setupSampling(),this._addEventTriggerListener(),j(this._removePageViewCaptureHook)&&(this._removePageViewCaptureHook=this.instance.on(\"eventCaptured\",(e=>{try{if(\"$pageview\"===e.event){var t=null!=e&&e.properties.$current_url?this._maskUrl(null==e?void 0:e.properties.$current_url):\"\";if(!t)return;this._tryAddCustomEvent(\"$pageview\",{href:t})}}catch(e){Qn.error(\"Could not add $pageview to rrweb session\",e)}}))),this._onSessionIdListener||(this._onSessionIdListener=this.sessionManager.onSessionId(((e,t,i)=>{var n,r,s,o;i&&(this._tryAddCustomEvent(\"$session_id_change\",{sessionId:e,windowId:t,changeReason:i}),null===(n=this.instance)||void 0===n||null===(r=n.persistence)||void 0===r||r.unregister(ke),null===(s=this.instance)||void 0===s||null===(o=s.persistence)||void 0===o||o.unregister(Ee))})))):this.stopRecording()}stopRecording(){var t,i,n,r;this._captureStarted&&this.stopRrweb&&(this.stopRrweb(),this.stopRrweb=void 0,this._captureStarted=!1,null==e||e.removeEventListener(\"beforeunload\",this._onBeforeUnload),null==e||e.removeEventListener(\"offline\",this._onOffline),null==e||e.removeEventListener(\"online\",this._onOnline),null==e||e.removeEventListener(\"visibilitychange\",this._onVisibilityChange),this.clearBuffer(),clearInterval(this._fullSnapshotTimer),null===(t=this._removePageViewCaptureHook)||void 0===t||t.call(this),this._removePageViewCaptureHook=void 0,null===(i=this._removeEventTriggerCaptureHook)||void 0===i||i.call(this),this._removeEventTriggerCaptureHook=void 0,null===(n=this._onSessionIdListener)||void 0===n||n.call(this),this._onSessionIdListener=void 0,null===(r=this._samplingSessionListener)||void 0===r||r.call(this),this._samplingSessionListener=void 0,Qn.info(\"stopped\"))}makeSamplingDecision(e){var t,i=this.sessionId!==e,n=this.sampleRate;if(G(n)){var r,s=this.isSampled,o=i||!V(s);if(o)r=Math.random(){var i=q(t)&&a in t,n=l?t[a]===l:i;n&&this._reportStarted(\"linked_flag_matched\",{linkedFlag:a,linkedVariant:l}),this._linkedFlagSeen=n}))}null!==(n=e.sessionRecording)&&void 0!==n&&n.urlTriggers&&(this._urlTriggers=e.sessionRecording.urlTriggers),null!==(r=e.sessionRecording)&&void 0!==r&&r.urlBlocklist&&(this._urlBlocklist=e.sessionRecording.urlBlocklist),null!==(s=e.sessionRecording)&&void 0!==s&&s.eventTriggers&&(this._eventTriggers=e.sessionRecording.eventTriggers),this.receivedDecide=!0,this.startIfEnabledOrStop()}_setupSampling(){G(this.sampleRate)&&j(this._samplingSessionListener)&&(this._samplingSessionListener=this.sessionManager.onSessionId((e=>{this.makeSamplingDecision(e)})))}_persistRemoteConfig(e){if(this.instance.persistence){var t,i=this.instance.persistence,n=()=>{var t,n,r,s,o,a,l,u,c=null===(t=e.sessionRecording)||void 0===t?void 0:t.sampleRate,d=j(c)?null:parseFloat(c),h=null===(n=e.sessionRecording)||void 0===n?void 0:n.minimumDurationMilliseconds;i.register({[pe]:!!e.sessionRecording,[ve]:null===(r=e.sessionRecording)||void 0===r?void 0:r.consoleLogRecordingEnabled,[ge]:ie({capturePerformance:e.capturePerformance},null===(s=e.sessionRecording)||void 0===s?void 0:s.networkPayloadCapture),[fe]:{enabled:null===(o=e.sessionRecording)||void 0===o?void 0:o.recordCanvas,fps:null===(a=e.sessionRecording)||void 0===a?void 0:a.canvasFps,quality:null===(l=e.sessionRecording)||void 0===l?void 0:l.canvasQuality},[me]:d,[be]:H(h)?null:h,[ye]:null===(u=e.sessionRecording)||void 0===u?void 0:u.scriptConfig})};n(),null===(t=this._persistDecideOnSessionListener)||void 0===t||t.call(this),this._persistDecideOnSessionListener=this.sessionManager.onSessionId(n)}}log(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"log\";null===(t=this.instance.sessionRecording)||void 0===t||t.onRRwebEmit({type:6,data:{plugin:\"rrweb/console@1\",payload:{level:i,trace:[],payload:[JSON.stringify(e)]}},timestamp:Date.now()})}_startCapture(e){if(!H(Object.assign)&&!H(Array.from)&&!(this._captureStarted||this.instance.config.disable_session_recording||this.instance.consent.isOptedOut())){var t,i;if(this._captureStarted=!0,this.sessionManager.checkAndGetSessionAndWindowId(),this.rrwebRecord)this._onScriptLoaded();else null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,this.scriptName,(e=>{if(e)return Qn.error(\"could not load recorder\",e);this._onScriptLoaded()}));Qn.info(\"starting\"),\"active\"===this.status&&this._reportStarted(e||\"recording_initialized\")}}get scriptName(){var e,t,i;return(null===(e=this.instance)||void 0===e||null===(t=e.persistence)||void 0===t||null===(i=t.get_property(ye))||void 0===i?void 0:i.script)||\"recorder\"}isInteractiveEvent(e){var t;return 3===e.type&&-1!==Xn.indexOf(null===(t=e.data)||void 0===t?void 0:t.source)}_updateWindowAndSessionIds(e){var t=this.isInteractiveEvent(e);t||this.isIdle||e.timestamp-this._lastActivityTimestamp>this.sessionIdleThresholdMilliseconds&&(this.isIdle=!0,clearInterval(this._fullSnapshotTimer),this._tryAddCustomEvent(\"sessionIdle\",{eventTimestamp:e.timestamp,lastActivityTimestamp:this._lastActivityTimestamp,threshold:this.sessionIdleThresholdMilliseconds,bufferLength:this.buffer.data.length,bufferSize:this.buffer.size}),this._flushBuffer());var i=!1;if(t&&(this._lastActivityTimestamp=e.timestamp,this.isIdle&&(this.isIdle=!1,this._tryAddCustomEvent(\"sessionNoLongerIdle\",{reason:\"user activity\",type:e.type}),i=!0)),!this.isIdle){var{windowId:n,sessionId:r}=this.sessionManager.checkAndGetSessionAndWindowId(!t,e.timestamp),s=this.sessionId!==r,o=this.windowId!==n;this.windowId=n,this.sessionId=r,s||o?(this.stopRecording(),this.startIfEnabledOrStop(\"session_id_changed\")):i&&this._scheduleFullSnapshot()}}_tryRRWebMethod(e){try{return e.rrwebMethod(),!0}catch(t){return this.queuedRRWebEvents.length<10?this.queuedRRWebEvents.push({enqueuedAt:e.enqueuedAt||Date.now(),attempt:e.attempt++,rrwebMethod:e.rrwebMethod}):Qn.warn(\"could not emit queued rrweb event.\",t,e),!1}}_tryAddCustomEvent(e,t){return this._tryRRWebMethod(Kn((()=>this.rrwebRecord.addCustomEvent(e,t))))}_tryTakeFullSnapshot(){return this._tryRRWebMethod(Kn((()=>this.rrwebRecord.takeFullSnapshot())))}_onScriptLoaded(){var e,t={blockClass:\"ph-no-capture\",blockSelector:void 0,ignoreClass:\"ph-ignore-input\",maskTextClass:\"ph-mask\",maskTextSelector:void 0,maskTextFn:void 0,maskAllInputs:!0,maskInputOptions:{password:!0},maskInputFn:void 0,slimDOMOptions:{},collectFonts:!1,inlineStylesheet:!0,recordCrossOriginIframes:!1},i=this.instance.config.session_recording;for(var[n,r]of Object.entries(i||{}))n in t&&(\"maskInputOptions\"===n?t.maskInputOptions=ie({password:!0},r):t[n]=r);if(this.canvasRecording&&this.canvasRecording.enabled&&(t.recordCanvas=!0,t.sampling={canvas:this.canvasRecording.fps},t.dataURLOptions={type:\"image/webp\",quality:this.canvasRecording.quality}),this.rrwebRecord){this.mutationRateLimiter=null!==(e=this.mutationRateLimiter)&&void 0!==e?e:new un(this.rrwebRecord,{refillRate:this.instance.config.session_recording.__mutationRateLimiterRefillRate,bucketSize:this.instance.config.session_recording.__mutationRateLimiterBucketSize,onBlockedNode:(e,t)=>{var i=\"Too many mutations on node '\".concat(e,\"'. Rate limiting. This could be due to SVG animations or something similar\");Qn.info(i,{node:t}),this.log(Jn+\" \"+i,\"warn\")}});var s=this._gatherRRWebPlugins();this.stopRrweb=this.rrwebRecord(ie({emit:e=>{this.onRRwebEmit(e)},plugins:s},t)),this._lastActivityTimestamp=Date.now(),this.isIdle=!1,this._tryAddCustomEvent(\"$session_options\",{sessionRecordingOptions:t,activePlugins:s.map((e=>null==e?void 0:e.name))}),this._tryAddCustomEvent(\"$posthog_config\",{config:this.instance.config})}else Qn.error(\"onScriptLoaded was called but rrwebRecord is not available. This indicates something has gone wrong.\")}_scheduleFullSnapshot(){if(this._fullSnapshotTimer&&clearInterval(this._fullSnapshotTimer),!this.isIdle){var e=this.fullSnapshotIntervalMillis;e&&(this._fullSnapshotTimer=setInterval((()=>{this._tryTakeFullSnapshot()}),e))}}_gatherRRWebPlugins(){var e,t,i,n,r=[],s=null===(e=h.__PosthogExtensions__)||void 0===e||null===(t=e.rrwebPlugins)||void 0===t?void 0:t.getRecordConsolePlugin;s&&this.isConsoleLogCaptureEnabled&&r.push(s());var o=null===(i=h.__PosthogExtensions__)||void 0===i||null===(n=i.rrwebPlugins)||void 0===n?void 0:n.getRecordNetworkPlugin;this.networkPayloadCapture&&N(o)&&(!pt.includes(location.hostname)||this._forceAllowLocalhostNetworkCapture?r.push(o(an(this.instance.config,this.networkPayloadCapture))):Qn.info(\"NetworkCapture not started because we are on localhost.\"));return r}onRRwebEmit(e){var t;if(this._processQueuedEvents(),e&&q(e)){if(e.type===Si.Meta){var i=this._maskUrl(e.data.href);if(this._lastHref=i,!i)return;e.data.href=i}else this._pageViewFallBack();if(this._checkUrlTriggerConditions(),\"paused\"!==this.status||function(e){return e.type===Si.Custom&&\"recording paused\"===e.data.tag}(e)){e.type===Si.FullSnapshot&&this._scheduleFullSnapshot(),e.type===Si.FullSnapshot&&\"trigger_pending\"===this.triggerStatus&&this.clearBuffer();var n=this.mutationRateLimiter?this.mutationRateLimiter.throttleMutations(e):e;if(n){var r=function(e){var t=e;if(t&&q(t)&&6===t.type&&q(t.data)&&\"rrweb/console@1\"===t.data.plugin){t.data.payload.payload.length>10&&(t.data.payload.payload=t.data.payload.payload.slice(0,10),t.data.payload.payload.push(\"...[truncated]\"));for(var i=[],n=0;n2e3?i.push(t.data.payload.payload[n].slice(0,2e3)+\"...[truncated]\"):i.push(t.data.payload.payload[n]);return t.data.payload.payload=i,e}return e}(n);if(this._updateWindowAndSessionIds(r),!this.isIdle||er(r)){if(er(r)){var s=r.data.payload;if(s){var o=s.lastActivityTimestamp,a=s.threshold;r.timestamp=o+a}}var l=null===(t=this.instance.config.session_recording.compress_events)||void 0===t||t?function(e){if(yi(e)<1024)return e;try{if(e.type===Si.FullSnapshot)return ie(ie({},e),{},{data:Zn(e.data),cv:\"2024-10\"});if(e.type===Si.IncrementalSnapshot&&e.data.source===Ei.Mutation)return ie(ie({},e),{},{cv:\"2024-10\",data:ie(ie({},e.data),{},{texts:Zn(e.data.texts),attributes:Zn(e.data.attributes),removes:Zn(e.data.removes),adds:Zn(e.data.adds)})});if(e.type===Si.IncrementalSnapshot&&e.data.source===Ei.StyleSheetRule)return ie(ie({},e),{},{cv:\"2024-10\",data:ie(ie({},e.data),{},{adds:Zn(e.data.adds),removes:Zn(e.data.removes)})})}catch(e){Qn.error(\"could not compress event - will use uncompressed event\",e)}return e}(r):r,u={$snapshot_bytes:yi(l),$snapshot_data:l,$session_id:this.sessionId,$window_id:this.windowId};\"disabled\"!==this.status?this._captureSnapshotBuffered(u):this.clearBuffer()}}}}}_pageViewFallBack(){if(!this.instance.config.capture_pageview&&e){var t=this._maskUrl(e.location.href);this._lastHref!==t&&(this._tryAddCustomEvent(\"$url_changed\",{href:t}),this._lastHref=t)}}_processQueuedEvents(){if(this.queuedRRWebEvents.length){var e=[...this.queuedRRWebEvents];this.queuedRRWebEvents=[],e.forEach((e=>{Date.now()-e.enqueuedAt<=2e3&&this._tryRRWebMethod(e)}))}}_maskUrl(e){var t=this.instance.config.session_recording;if(t.maskNetworkRequestFn){var i,n={url:e};return null===(i=n=t.maskNetworkRequestFn(n))||void 0===i?void 0:i.url}return e}clearBuffer(){return this.buffer={size:0,data:[],sessionId:this.sessionId,windowId:this.windowId},this.buffer}_flushBuffer(){this.flushBufferTimer&&(clearTimeout(this.flushBufferTimer),this.flushBufferTimer=void 0);var e=this.minimumDuration,t=this.sessionDuration,i=G(t)&&t>=0,n=G(e)&&i&&t{this._flushBuffer()}),2e3),this.buffer;this.buffer.data.length>0&&wi(this.buffer).forEach((e=>{this._captureSnapshot({$snapshot_bytes:e.size,$snapshot_data:e.data,$session_id:e.sessionId,$window_id:e.windowId,$lib:\"web\",$lib_version:_.LIB_VERSION})}));return this.clearBuffer()}_captureSnapshotBuffered(e){var t,i=2+((null===(t=this.buffer)||void 0===t?void 0:t.data.length)||0);!this.isIdle&&(this.buffer.size+e.$snapshot_bytes+i>943718.4||this.buffer.sessionId!==this.sessionId)&&(this.buffer=this._flushBuffer()),this.buffer.size+=e.$snapshot_bytes,this.buffer.data.push(e.$snapshot_data),this.flushBufferTimer||this.isIdle||(this.flushBufferTimer=setTimeout((()=>{this._flushBuffer()}),2e3))}_captureSnapshot(e){this.instance.capture(\"$snapshot\",e,{_url:this.instance.requestRouter.endpointFor(\"api\",this._endpoint),_noTruncate:!0,_batchKey:\"recordings\",skip_client_rate_limiting:!0})}_checkUrlTriggerConditions(){if(void 0!==e&&e.location.href){var t=e.location.href,i=\"paused\"===this.status,n=tr(t,this._urlBlocklist);n&&!i?this._pauseRecording():!n&&i&&this._resumeRecording(),tr(t,this._urlTriggers)&&this._activateTrigger(\"url\")}}_activateTrigger(e){var t,i;\"trigger_pending\"===this.triggerStatus&&(null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i||i.register({[\"url\"===e?Ee:ke]:this.sessionId}),this._flushBuffer(),this._reportStarted(e+\"_trigger_matched\"))}_pauseRecording(){var e,t;\"paused\"!==this.status&&(this._urlBlocked=!0,null==o||null===(e=o.body)||void 0===e||null===(t=e.classList)||void 0===t||t.add(\"ph-no-capture\"),clearInterval(this._fullSnapshotTimer),setTimeout((()=>{this._flushBuffer()}),100),Qn.info(\"recording paused due to URL blocker\"),this._tryAddCustomEvent(\"recording paused\",{reason:\"url blocker\"}))}_resumeRecording(){var e,t;\"paused\"===this.status&&(this._urlBlocked=!1,null==o||null===(e=o.body)||void 0===e||null===(t=e.classList)||void 0===t||t.remove(\"ph-no-capture\"),this._tryTakeFullSnapshot(),this._scheduleFullSnapshot(),this._tryAddCustomEvent(\"recording resumed\",{reason:\"left blocked url\"}),Qn.info(\"recording resumed\"))}_addEventTriggerListener(){0!==this._eventTriggers.length&&j(this._removeEventTriggerCaptureHook)&&(this._removeEventTriggerCaptureHook=this.instance.on(\"eventCaptured\",(e=>{try{this._eventTriggers.includes(e.event)&&this._activateTrigger(\"event\")}catch(e){Qn.error(\"Could not activate event trigger\",e)}})))}overrideLinkedFlag(){this._linkedFlagSeen=!0,this._reportStarted(\"linked_flag_overridden\")}overrideSampling(){var e;null===(e=this.instance.persistence)||void 0===e||e.register({[Se]:!0}),this._reportStarted(\"sampling_overridden\")}overrideTrigger(e){this._activateTrigger(e)}_reportStarted(e,t){this.instance.register_for_session({$session_recording_start_reason:e}),Qn.info(e.replace(\"_\",\" \"),t),b([\"recording_initialized\",\"session_id_changed\"],e)||this._tryAddCustomEvent(e,t)}}var nr=K(\"[Decide]\");class rr{constructor(e){this.instance=e,this.instance.decideEndpointWasHit=this.instance._hasBootstrappedFeatureFlags()}_loadRemoteConfigJs(e){var t,i,n;null!==(t=h.__PosthogExtensions__)&&void 0!==t&&t.loadExternalDependency?null===(i=h.__PosthogExtensions__)||void 0===i||null===(n=i.loadExternalDependency)||void 0===n||n.call(i,this.instance,\"remote-config\",(()=>e(h._POSTHOG_CONFIG))):(nr.error(\"PostHog Extensions not found. Cannot load remote config.\"),e())}_loadRemoteConfigJSON(e){this.instance._send_request({method:\"GET\",url:this.instance.requestRouter.endpointFor(\"assets\",\"/array/\".concat(this.instance.config.token,\"/config\")),callback:t=>{e(t.json)}})}call(){var e=!!this.instance.config.advanced_disable_decide;if(e||this.instance.featureFlags.resetRequestQueue(),this.instance.config.__preview_remote_config)return h._POSTHOG_CONFIG?(nr.info(\"Using preloaded remote config\",h._POSTHOG_CONFIG),void this.onRemoteConfig(h._POSTHOG_CONFIG)):e?void nr.warn(\"Remote config is disabled. Falling back to local config.\"):void this._loadRemoteConfigJs((e=>{if(!e)return nr.info(\"No config found after loading remote JS config. Falling back to JSON.\"),void this._loadRemoteConfigJSON((e=>{this.onRemoteConfig(e)}));this.onRemoteConfig(e)}));if(!e){var t={token:this.instance.config.token,distinct_id:this.instance.get_distinct_id(),groups:this.instance.getGroups(),person_properties:this.instance.get_property(Ce),group_properties:this.instance.get_property(Pe),disable_flags:this.instance.config.advanced_disable_feature_flags||this.instance.config.advanced_disable_feature_flags_on_first_load||void 0};this.instance._send_request({method:\"POST\",url:this.instance.requestRouter.endpointFor(\"api\",\"/decide/?v=3\"),data:t,compression:this.instance.config.disable_compression?void 0:F.Base64,timeout:this.instance.config.feature_flag_request_timeout_ms,callback:e=>this.parseDecideResponse(e.json)})}}parseDecideResponse(e){this.instance.featureFlags.setReloadingPaused(!1),this.instance.featureFlags._startReloadTimer();var t=!e;if(this.instance.config.advanced_disable_feature_flags_on_first_load||this.instance.config.advanced_disable_feature_flags||this.instance.featureFlags.receivedFeatureFlags(null!=e?e:{},t),!t)return o&&o.body?void this.instance._onRemoteConfig(e):(nr.info(\"document not ready yet, trying again in 500 milliseconds...\"),void setTimeout((()=>{this.parseDecideResponse(e)}),500));nr.error(\"Failed to fetch feature flags from PostHog.\")}onRemoteConfig(e){if(e){if(!o||!o.body)return nr.info(\"document not ready yet, trying again in 500 milliseconds...\"),void setTimeout((()=>{this.onRemoteConfig(e)}),500);this.instance._onRemoteConfig(e),!1!==e.hasFeatureFlags&&(this.instance.featureFlags.setReloadingPaused(!1),this.instance.featureFlags.reloadFeatureFlags())}else nr.error(\"Failed to fetch remote config from PostHog.\")}}var sr,or=null!=e&&e.location?bt(e.location.hash,\"__posthog\")||bt(location.hash,\"state\"):null,ar=\"_postHogToolbarParams\";!function(e){e[e.UNINITIALIZED=0]=\"UNINITIALIZED\",e[e.LOADING=1]=\"LOADING\",e[e.LOADED=2]=\"LOADED\"}(sr||(sr={}));class lr{constructor(e){this.instance=e}setToolbarState(e){h.ph_toolbar_state=e}getToolbarState(){var e;return null!==(e=h.ph_toolbar_state)&&void 0!==e?e:sr.UNINITIALIZED}maybeLoadToolbar(){var t,i,n=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,s=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;if(!e||!o)return!1;n=null!==(t=n)&&void 0!==t?t:e.location,s=null!==(i=s)&&void 0!==i?i:e.history;try{if(!r){try{e.localStorage.setItem(\"test\",\"test\"),e.localStorage.removeItem(\"test\")}catch(e){return!1}r=null==e?void 0:e.localStorage}var a,l=or||bt(n.hash,\"__posthog\")||bt(n.hash,\"state\"),u=l?w((()=>JSON.parse(atob(decodeURIComponent(l)))))||w((()=>JSON.parse(decodeURIComponent(l)))):null;return u&&\"ph_authorize\"===u.action?((a=u).source=\"url\",a&&Object.keys(a).length>0&&(u.desiredHash?n.hash=u.desiredHash:s?s.replaceState(s.state,\"\",n.pathname+n.search):n.hash=\"\")):((a=JSON.parse(r.getItem(ar)||\"{}\")).source=\"localstorage\",delete a.userIntent),!(!a.token||this.instance.config.token!==a.token)&&(this.loadToolbar(a),!0)}catch(e){return!1}}_callLoadToolbar(e){(h.ph_load_toolbar||h.ph_load_editor)(e,this.instance)}loadToolbar(t){var i=!(null==o||!o.getElementById(qe));if(!e||i)return!1;var n=\"custom\"===this.instance.requestRouter.region&&this.instance.config.advanced_disable_toolbar_metrics,r=ie(ie({token:this.instance.config.token},t),{},{apiURL:this.instance.requestRouter.endpointFor(\"ui\")},n?{instrument:!1}:{});if(e.localStorage.setItem(ar,JSON.stringify(ie(ie({},r),{},{source:void 0}))),this.getToolbarState()===sr.LOADED)this._callLoadToolbar(r);else if(this.getToolbarState()===sr.UNINITIALIZED){var s,a;this.setToolbarState(sr.LOADING),null===(s=h.__PosthogExtensions__)||void 0===s||null===(a=s.loadExternalDependency)||void 0===a||a.call(s,this.instance,\"toolbar\",(e=>{if(e)return X.error(\"[Toolbar] Failed to load\",e),void this.setToolbarState(sr.UNINITIALIZED);this.setToolbarState(sr.LOADED),this._callLoadToolbar(r)})),C(e,\"turbolinks:load\",(()=>{this.setToolbarState(sr.UNINITIALIZED),this.loadToolbar(r)}))}return!0}_loadEditor(e){return this.loadToolbar(e)}maybeLoadEditor(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:void 0,t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:void 0,i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:void 0;return this.maybeLoadToolbar(e,t,i)}}class ur{constructor(e){ne(this,\"isPaused\",!0),ne(this,\"queue\",[]),ne(this,\"flushTimeoutMs\",3e3),this.sendRequest=e}enqueue(e){this.queue.push(e),this.flushTimeout||this.setFlushTimeout()}unload(){this.clearFlushTimeout();var e=this.queue.length>0?this.formatQueue():{},t=Object.values(e),i=[...t.filter((e=>0===e.url.indexOf(\"/e\"))),...t.filter((e=>0!==e.url.indexOf(\"/e\")))];i.map((e=>{this.sendRequest(ie(ie({},e),{},{transport:\"sendBeacon\"}))}))}enable(){this.isPaused=!1,this.setFlushTimeout()}setFlushTimeout(){var e=this;this.isPaused||(this.flushTimeout=setTimeout((()=>{if(this.clearFlushTimeout(),this.queue.length>0){var t=this.formatQueue(),i=function(i){var n=t[i],r=(new Date).getTime();n.data&&D(n.data)&&f(n.data,(e=>{e.offset=Math.abs(e.timestamp-r),delete e.timestamp})),e.sendRequest(n)};for(var n in t)i(n)}}),this.flushTimeoutMs))}clearFlushTimeout(){clearTimeout(this.flushTimeout),this.flushTimeout=void 0}formatQueue(){var e={};return f(this.queue,(t=>{var i,n=t,r=(n?n.batchKey:null)||n.url;H(e[r])&&(e[r]=ie(ie({},n),{},{data:[]})),null===(i=e[r].data)||void 0===i||i.push(n.data)})),this.queue=[],e}}var cr=!!u||!!l,dr=\"text/plain\",hr=(e,t)=>{var[i,n]=e.split(\"?\"),r=ie({},t);null==n||n.split(\"&\").forEach((e=>{var[t]=e.split(\"=\");delete r[t]}));var s=ft(r);return s=s?(n?n+\"&\":\"\")+s:n,\"\".concat(i,\"?\").concat(s)},_r=(e,t)=>JSON.stringify(e,((e,t)=>\"bigint\"==typeof t?t.toString():t),t),pr=e=>{var{data:t,compression:i}=e;if(t){if(i===F.GZipJS){var n=Gn(Vn(_r(t)),{mtime:0}),r=new Blob([n],{type:dr});return{contentType:dr,body:r,estimatedSize:r.size}}if(i===F.Base64){var s=function(e){var t,i,n,r,s,o=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\",a=0,l=0,u=\"\",c=[];if(!e)return e;e=I(e);do{t=(s=e.charCodeAt(a++)<<16|e.charCodeAt(a++)<<8|e.charCodeAt(a++))>>18&63,i=s>>12&63,n=s>>6&63,r=63&s,c[l++]=o.charAt(t)+o.charAt(i)+o.charAt(n)+o.charAt(r)}while(a\"data=\"+encodeURIComponent(\"string\"==typeof e?e:_r(e)))(s);return{contentType:\"application/x-www-form-urlencoded\",body:o,estimatedSize:new Blob([o]).size}}var a=_r(t);return{contentType:\"application/json\",body:a,estimatedSize:new Blob([a]).size}}},vr=[];u&&vr.push({transport:\"XHR\",method:e=>{var t,i=new u;i.open(e.method||\"GET\",e.url,!0);var{contentType:n,body:r}=null!==(t=pr(e))&&void 0!==t?t:{};f(e.headers,(function(e,t){i.setRequestHeader(t,e)})),n&&i.setRequestHeader(\"Content-Type\",n),e.timeout&&(i.timeout=e.timeout),i.withCredentials=!0,i.onreadystatechange=()=>{if(4===i.readyState){var t,n={statusCode:i.status,text:i.responseText};if(200===i.status)try{n.json=JSON.parse(i.responseText)}catch(e){}null===(t=e.callback)||void 0===t||t.call(e,n)}},i.send(r)}}),l&&vr.push({transport:\"fetch\",method:e=>{var t,i,{contentType:n,body:r,estimatedSize:s}=null!==(t=pr(e))&&void 0!==t?t:{},o=new Headers;f(e.headers,(function(e,t){o.append(t,e)})),n&&o.append(\"Content-Type\",n);var a=e.url,u=null;if(c){var d=new c;u={signal:d.signal,timeout:setTimeout((()=>d.abort()),e.timeout)}}l(a,ie({method:(null==e?void 0:e.method)||\"GET\",headers:o,keepalive:\"POST\"===e.method&&(s||0)<52428.8,body:r,signal:null===(i=u)||void 0===i?void 0:i.signal},e.fetchOptions)).then((t=>t.text().then((i=>{var n,r={statusCode:t.status,text:i};if(200===t.status)try{r.json=JSON.parse(i)}catch(e){X.error(e)}null===(n=e.callback)||void 0===n||n.call(e,r)})))).catch((t=>{var i;X.error(t),null===(i=e.callback)||void 0===i||i.call(e,{statusCode:0,text:t})})).finally((()=>u?clearTimeout(u.timeout):null))}}),null!=s&&s.sendBeacon&&vr.push({transport:\"sendBeacon\",method:e=>{var t=hr(e.url,{beacon:\"1\"});try{var i,{contentType:n,body:r}=null!==(i=pr(e))&&void 0!==i?i:{},o=\"string\"==typeof r?new Blob([r],{type:n}):r;s.sendBeacon(t,o)}catch(e){}}});var gr=[\"retriesPerformedSoFar\"];class fr{constructor(t){ne(this,\"isPolling\",!1),ne(this,\"pollIntervalMs\",3e3),ne(this,\"queue\",[]),this.instance=t,this.queue=[],this.areWeOnline=!0,!H(e)&&\"onLine\"in e.navigator&&(this.areWeOnline=e.navigator.onLine,e.addEventListener(\"online\",(()=>{this.areWeOnline=!0,this.flush()})),e.addEventListener(\"offline\",(()=>{this.areWeOnline=!1})))}retriableRequest(e){var{retriesPerformedSoFar:t}=e,i=re(e,gr);G(t)&&t>0&&(i.url=hr(i.url,{retry_count:t})),this.instance._send_request(ie(ie({},i),{},{callback:e=>{var n;200!==e.statusCode&&(e.statusCode<400||e.statusCode>=500)&&(null!=t?t:0)<10?this.enqueue(ie({retriesPerformedSoFar:t},i)):null===(n=i.callback)||void 0===n||n.call(i,e)}}))}enqueue(e){var t=e.retriesPerformedSoFar||0;e.retriesPerformedSoFar=t+1;var i=function(e){var t=3e3*Math.pow(2,e),i=t/2,n=Math.min(18e5,t),r=(Math.random()-.5)*(n-i);return Math.ceil(n+r)}(t),n=Date.now()+i;this.queue.push({retryAt:n,requestOptions:e});var r=\"Enqueued failed request for retry in \".concat(i);navigator.onLine||(r+=\" (Browser is offline)\"),X.warn(r),this.isPolling||(this.isPolling=!0,this.poll())}poll(){this.poller&&clearTimeout(this.poller),this.poller=setTimeout((()=>{this.areWeOnline&&this.queue.length>0&&this.flush(),this.poll()}),this.pollIntervalMs)}flush(){var e=Date.now(),t=[],i=this.queue.filter((i=>i.retryAt0)for(var{requestOptions:n}of i)this.retriableRequest(n)}unload(){for(var{requestOptions:e}of(this.poller&&(clearTimeout(this.poller),this.poller=void 0),this.queue))try{this.instance._send_request(ie(ie({},e),{},{transport:\"sendBeacon\"}))}catch(e){X.error(e)}this.queue=[]}}var mr,br=K(\"[SessionId]\");class yr{constructor(e,t,i){var n;if(ne(this,\"_sessionIdChangedHandlers\",[]),!e.persistence)throw new Error(\"SessionIdManager requires a PostHogPersistence instance\");this.config=e.config,this.persistence=e.persistence,this._windowId=void 0,this._sessionId=void 0,this._sessionStartTimestamp=null,this._sessionActivityTimestamp=null,this._sessionIdGenerator=t||Ze,this._windowIdGenerator=i||Ze;var r=this.config.persistence_name||this.config.token,s=this.config.session_idle_timeout_seconds||1800;if(this._sessionTimeoutMs=1e3*ln(s,60,36e3,\"session_idle_timeout_seconds\",1800),e.register({$configured_session_timeout_ms:this._sessionTimeoutMs}),this._window_id_storage_key=\"ph_\"+r+\"_window_id\",this._primary_window_exists_storage_key=\"ph_\"+r+\"_primary_window_exists\",this._canUseSessionStorage()){var o=_t.parse(this._window_id_storage_key),a=_t.parse(this._primary_window_exists_storage_key);o&&!a?this._windowId=o:_t.remove(this._window_id_storage_key),_t.set(this._primary_window_exists_storage_key,!0)}if(null!==(n=this.config.bootstrap)&&void 0!==n&&n.sessionID)try{var l=(e=>{var t=e.replace(/-/g,\"\");if(32!==t.length)throw new Error(\"Not a valid UUID\");if(\"7\"!==t[12])throw new Error(\"Not a UUIDv7\");return parseInt(t.substring(0,12),16)})(this.config.bootstrap.sessionID);this._setSessionId(this.config.bootstrap.sessionID,(new Date).getTime(),l)}catch(e){br.error(\"Invalid sessionID in bootstrap\",e)}this._listenToReloadWindow()}get sessionTimeoutMs(){return this._sessionTimeoutMs}onSessionId(e){return H(this._sessionIdChangedHandlers)&&(this._sessionIdChangedHandlers=[]),this._sessionIdChangedHandlers.push(e),this._sessionId&&e(this._sessionId,this._windowId),()=>{this._sessionIdChangedHandlers=this._sessionIdChangedHandlers.filter((t=>t!==e))}}_canUseSessionStorage(){return\"memory\"!==this.config.persistence&&!this.persistence.disabled&&_t.is_supported()}_setWindowId(e){e!==this._windowId&&(this._windowId=e,this._canUseSessionStorage()&&_t.set(this._window_id_storage_key,e))}_getWindowId(){return this._windowId?this._windowId:this._canUseSessionStorage()?_t.parse(this._window_id_storage_key):null}_setSessionId(e,t,i){e===this._sessionId&&t===this._sessionActivityTimestamp&&i===this._sessionStartTimestamp||(this._sessionStartTimestamp=i,this._sessionActivityTimestamp=t,this._sessionId=e,this.persistence.register({[we]:[t,e,i]}))}_getSessionId(){if(this._sessionId&&this._sessionActivityTimestamp&&this._sessionStartTimestamp)return[this._sessionActivityTimestamp,this._sessionId,this._sessionStartTimestamp];var e=this.persistence.props[we];return D(e)&&2===e.length&&e.push(e[0]),e||[0,null,0]}resetSessionId(){this._setSessionId(null,null,null)}_listenToReloadWindow(){null==e||e.addEventListener(\"beforeunload\",(()=>{this._canUseSessionStorage()&&_t.remove(this._primary_window_exists_storage_key)}))}checkAndGetSessionAndWindowId(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0],t=(arguments.length>1&&void 0!==arguments[1]?arguments[1]:null)||(new Date).getTime(),[i,n,r]=this._getSessionId(),s=this._getWindowId(),o=G(r)&&r>0&&Math.abs(t-r)>864e5,a=!1,l=!n,u=!e&&Math.abs(t-i)>this.sessionTimeoutMs;l||u||o?(n=this._sessionIdGenerator(),s=this._windowIdGenerator(),br.info(\"new session ID generated\",{sessionId:n,windowId:s,changeReason:{noSessionId:l,activityTimeout:u,sessionPastMaximumLength:o}}),r=t,a=!0):s||(s=this._windowIdGenerator(),a=!0);var c=0===i||!e||o?t:i,d=0===r?(new Date).getTime():r;return this._setWindowId(s),this._setSessionId(n,c,d),a&&this._sessionIdChangedHandlers.forEach((e=>e(n,s,a?{noSessionId:l,activityTimeout:u,sessionPastMaximumLength:o}:void 0))),{sessionId:n,windowId:s,sessionStartTimestamp:d,changeReason:a?{noSessionId:l,activityTimeout:u,sessionPastMaximumLength:o}:void 0,lastActivityTimestamp:i}}}!function(e){e.US=\"us\",e.EU=\"eu\",e.CUSTOM=\"custom\"}(mr||(mr={}));var wr=\"i.posthog.com\";class Sr{constructor(e){ne(this,\"_regionCache\",{}),this.instance=e}get apiHost(){var e=this.instance.config.api_host.trim().replace(/\\/$/,\"\");return\"https://app.posthog.com\"===e?\"https://us.i.posthog.com\":e}get uiHost(){var e,t=null===(e=this.instance.config.ui_host)||void 0===e?void 0:e.replace(/\\/$/,\"\");return t||(t=this.apiHost.replace(\".\".concat(wr),\".posthog.com\")),\"https://app.posthog.com\"===t?\"https://us.posthog.com\":t}get region(){return this._regionCache[this.apiHost]||(/https:\\/\\/(app|us|us-assets)(\\.i)?\\.posthog\\.com/i.test(this.apiHost)?this._regionCache[this.apiHost]=mr.US:/https:\\/\\/(eu|eu-assets)(\\.i)?\\.posthog\\.com/i.test(this.apiHost)?this._regionCache[this.apiHost]=mr.EU:this._regionCache[this.apiHost]=mr.CUSTOM),this._regionCache[this.apiHost]}endpointFor(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"\";if(t&&(t=\"/\"===t[0]?t:\"/\".concat(t)),\"ui\"===e)return this.uiHost+t;if(this.region===mr.CUSTOM)return this.apiHost+t;var i=wr+t;switch(e){case\"assets\":return\"https://\".concat(this.region,\"-assets.\").concat(i);case\"api\":return\"https://\".concat(this.region,\".\").concat(i)}}}var Er=\"posthog-js\";function kr(e){var{organization:t,projectId:i,prefix:n,severityAllowList:r=[\"error\"]}=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return s=>{var o,a,l,u,c;if(!(\"*\"===r||r.includes(s.level))||!e.__loaded)return s;s.tags||(s.tags={});var d=e.requestRouter.endpointFor(\"ui\",\"/project/\".concat(e.config.token,\"/person/\").concat(e.get_distinct_id()));s.tags[\"PostHog Person URL\"]=d,e.sessionRecordingStarted()&&(s.tags[\"PostHog Recording URL\"]=e.get_session_replay_url({withTimestamp:!0}));var h=(null===(o=s.exception)||void 0===o?void 0:o.values)||[];h.map((e=>{e.stacktrace&&(e.stacktrace.type=\"raw\")}));var _={$exception_message:(null===(a=h[0])||void 0===a?void 0:a.value)||s.message,$exception_type:null===(l=h[0])||void 0===l?void 0:l.type,$exception_personURL:d,$exception_level:s.level,$exception_list:h,$sentry_event_id:s.event_id,$sentry_exception:s.exception,$sentry_exception_message:(null===(u=h[0])||void 0===u?void 0:u.value)||s.message,$sentry_exception_type:null===(c=h[0])||void 0===c?void 0:c.type,$sentry_tags:s.tags};return t&&i&&(_.$sentry_url=(n||\"https://sentry.io/organizations/\")+t+\"/issues/?project=\"+i+\"&query=\"+s.event_id),e.exceptions.sendExceptionEvent(_),s}}class xr{constructor(e,t,i,n,r){this.name=Er,this.setupOnce=function(s){s(kr(e,{organization:t,projectId:i,prefix:n,severityAllowList:r}))}}}var Ir,Cr,Pr,Fr=K(\"[SegmentIntegration]\");function Rr(e,t){var i=e.config.segment;if(!i)return t();!function(e,t){var i=e.config.segment;if(!i)return t();var n=i=>{var n=()=>i.anonymousId()||Ze();e.config.get_device_id=n,i.id()&&(e.register({distinct_id:i.id(),$device_id:n()}),e.persistence.set_property($e,\"identified\")),t()},r=i.user();\"then\"in r&&N(r.then)?r.then((e=>n(e))):n(r)}(e,(()=>{i.register((e=>{Promise&&Promise.resolve||Fr.warn(\"This browser does not have Promise support, and can not use the segment integration\");var t=(t,i)=>{var n;if(!i)return t;t.event.userId||t.event.anonymousId===e.get_distinct_id()||(Fr.info(\"No userId set, resetting PostHog\"),e.reset()),t.event.userId&&t.event.userId!==e.get_distinct_id()&&(Fr.info(\"UserId set, identifying with PostHog\"),e.identify(t.event.userId));var r=e._calculate_event_properties(i,null!==(n=t.event.properties)&&void 0!==n?n:{},new Date);return t.event.properties=Object.assign({},r,t.event.properties),t};return{name:\"PostHog JS\",type:\"enrichment\",version:\"1.0.0\",isLoaded:()=>!0,load:()=>Promise.resolve(),track:e=>t(e,e.event.event),page:e=>t(e,\"$pageview\"),identify:e=>t(e,\"$identify\"),screen:e=>t(e,\"$screen\")}})(e)).then((()=>{t()}))}))}class Tr{constructor(e){this._instance=e}doPageView(t){var i,n=this._previousPageViewProperties(t);return this._currentPath=null!==(i=null==e?void 0:e.location.pathname)&&void 0!==i?i:\"\",this._instance.scrollManager.resetContext(),this._prevPageviewTimestamp=t,n}doPageLeave(e){return this._previousPageViewProperties(e)}_previousPageViewProperties(e){var t=this._currentPath,i=this._prevPageviewTimestamp,n=this._instance.scrollManager.getContext();if(!i)return{};var r={};if(n){var{maxScrollHeight:s,lastScrollY:o,maxScrollY:a,maxContentHeight:l,lastContentY:u,maxContentY:c}=n;if(!(H(s)||H(o)||H(a)||H(l)||H(u)||H(c)))s=Math.ceil(s),o=Math.ceil(o),a=Math.ceil(a),l=Math.ceil(l),u=Math.ceil(u),c=Math.ceil(c),r={$prev_pageview_last_scroll:o,$prev_pageview_last_scroll_percentage:s<=1?1:ln(o/s,0,1),$prev_pageview_max_scroll:a,$prev_pageview_max_scroll_percentage:s<=1?1:ln(a/s,0,1),$prev_pageview_last_content:u,$prev_pageview_last_content_percentage:l<=1?1:ln(u/l,0,1),$prev_pageview_max_content:c,$prev_pageview_max_content_percentage:l<=1?1:ln(c/l,0,1)}}return t&&(r.$prev_pageview_pathname=t),i&&(r.$prev_pageview_duration=(e.getTime()-i.getTime())/1e3),r}}!function(e){e.Popover=\"popover\",e.API=\"api\",e.Widget=\"widget\"}(Ir||(Ir={})),function(e){e.Open=\"open\",e.MultipleChoice=\"multiple_choice\",e.SingleChoice=\"single_choice\",e.Rating=\"rating\",e.Link=\"link\"}(Cr||(Cr={})),function(e){e.NextQuestion=\"next_question\",e.End=\"end\",e.ResponseBased=\"response_based\",e.SpecificQuestion=\"specific_question\"}(Pr||(Pr={}));class $r{constructor(){ne(this,\"events\",{}),this.events={}}on(e,t){return this.events[e]||(this.events[e]=[]),this.events[e].push(t),()=>{this.events[e]=this.events[e].filter((e=>e!==t))}}emit(e,t){for(var i of this.events[e]||[])i(t);for(var n of this.events[\"*\"]||[])n(e,t)}}class Or{constructor(e){ne(this,\"_debugEventEmitter\",new $r),ne(this,\"checkStep\",((e,t)=>this.checkStepEvent(e,t)&&this.checkStepUrl(e,t)&&this.checkStepElement(e,t))),ne(this,\"checkStepEvent\",((e,t)=>null==t||!t.event||(null==e?void 0:e.event)===(null==t?void 0:t.event))),this.instance=e,this.actionEvents=new Set,this.actionRegistry=new Set}init(){var e;if(!H(null===(e=this.instance)||void 0===e?void 0:e._addCaptureHook)){var t;null===(t=this.instance)||void 0===t||t._addCaptureHook(((e,t)=>{this.on(e,t)}))}}register(e){var t,i;if(!H(null===(t=this.instance)||void 0===t?void 0:t._addCaptureHook)&&(e.forEach((e=>{var t,i;null===(t=this.actionRegistry)||void 0===t||t.add(e),null===(i=e.steps)||void 0===i||i.forEach((e=>{var t;null===(t=this.actionEvents)||void 0===t||t.add((null==e?void 0:e.event)||\"\")}))})),null!==(i=this.instance)&&void 0!==i&&i.autocapture)){var n,r=new Set;e.forEach((e=>{var t;null===(t=e.steps)||void 0===t||t.forEach((e=>{null!=e&&e.selector&&r.add(null==e?void 0:e.selector)}))})),null===(n=this.instance)||void 0===n||n.autocapture.setElementSelectors(r)}}on(e,t){var i;null!=t&&0!=e.length&&(this.actionEvents.has(e)||this.actionEvents.has(null==t?void 0:t.event))&&this.actionRegistry&&(null===(i=this.actionRegistry)||void 0===i?void 0:i.size)>0&&this.actionRegistry.forEach((e=>{this.checkAction(t,e)&&this._debugEventEmitter.emit(\"actionCaptured\",e.name)}))}_addActionHook(e){this.onAction(\"actionCaptured\",(t=>e(t)))}checkAction(e,t){if(null==(null==t?void 0:t.steps))return!1;for(var i of t.steps)if(this.checkStep(e,i))return!0;return!1}onAction(e,t){return this._debugEventEmitter.on(e,t)}checkStepUrl(e,t){if(null!=t&&t.url){var i,n=null==e||null===(i=e.properties)||void 0===i?void 0:i.$current_url;if(!n||\"string\"!=typeof n)return!1;if(!Or.matchString(n,null==t?void 0:t.url,(null==t?void 0:t.url_matching)||\"contains\"))return!1}return!0}static matchString(t,i,n){switch(n){case\"regex\":return!!e&>(t,i);case\"exact\":return i===t;case\"contains\":var r=Or.escapeStringRegexp(i).replace(/_/g,\".\").replace(/%/g,\".*\");return gt(t,r);default:return!1}}static escapeStringRegexp(e){return e.replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\").replace(/-/g,\"\\\\x2d\")}checkStepElement(e,t){if((null!=t&&t.href||null!=t&&t.tag_name||null!=t&&t.text)&&!this.getElementsList(e).some((e=>!(null!=t&&t.href&&!Or.matchString(e.href||\"\",null==t?void 0:t.href,(null==t?void 0:t.href_matching)||\"exact\"))&&((null==t||!t.tag_name||e.tag_name===(null==t?void 0:t.tag_name))&&!(null!=t&&t.text&&!Or.matchString(e.text||\"\",null==t?void 0:t.text,(null==t?void 0:t.text_matching)||\"exact\")&&!Or.matchString(e.$el_text||\"\",null==t?void 0:t.text,(null==t?void 0:t.text_matching)||\"exact\"))))))return!1;if(null!=t&&t.selector){var i,n=null==e||null===(i=e.properties)||void 0===i?void 0:i.$element_selectors;if(!n)return!1;if(!n.includes(null==t?void 0:t.selector))return!1}return!0}getElementsList(e){return null==(null==e?void 0:e.properties.$elements)?[]:null==e?void 0:e.properties.$elements}}class Mr{constructor(e){this.instance=e,this.eventToSurveys=new Map,this.actionToSurveys=new Map}register(e){var t;H(null===(t=this.instance)||void 0===t?void 0:t._addCaptureHook)||(this.setupEventBasedSurveys(e),this.setupActionBasedSurveys(e))}setupActionBasedSurveys(e){var t=e.filter((e=>{var t,i,n,r;return(null===(t=e.conditions)||void 0===t?void 0:t.actions)&&(null===(i=e.conditions)||void 0===i||null===(n=i.actions)||void 0===n||null===(r=n.values)||void 0===r?void 0:r.length)>0}));if(0!==t.length){if(null==this.actionMatcher){this.actionMatcher=new Or(this.instance),this.actionMatcher.init();this.actionMatcher._addActionHook((e=>{this.onAction(e)}))}t.forEach((e=>{var t,i,n,r,s,o,a,l,u,c;e.conditions&&null!==(t=e.conditions)&&void 0!==t&&t.actions&&null!==(i=e.conditions)&&void 0!==i&&null!==(n=i.actions)&&void 0!==n&&n.values&&(null===(r=e.conditions)||void 0===r||null===(s=r.actions)||void 0===s||null===(o=s.values)||void 0===o?void 0:o.length)>0&&(null===(a=this.actionMatcher)||void 0===a||a.register(e.conditions.actions.values),null===(l=e.conditions)||void 0===l||null===(u=l.actions)||void 0===u||null===(c=u.values)||void 0===c||c.forEach((t=>{if(t&&t.name){var i=this.actionToSurveys.get(t.name);i&&i.push(e.id),this.actionToSurveys.set(t.name,i||[e.id])}})))}))}}setupEventBasedSurveys(e){var t;if(0!==e.filter((e=>{var t,i,n,r;return(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(n=i.events)||void 0===n||null===(r=n.values)||void 0===r?void 0:r.length)>0})).length){null===(t=this.instance)||void 0===t||t._addCaptureHook(((e,t)=>{this.onEvent(e,t)})),e.forEach((e=>{var t,i,n;null===(t=e.conditions)||void 0===t||null===(i=t.events)||void 0===i||null===(n=i.values)||void 0===n||n.forEach((t=>{if(t&&t.name){var i=this.eventToSurveys.get(t.name);i&&i.push(e.id),this.eventToSurveys.set(t.name,i||[e.id])}}))}))}}onEvent(e,t){var i,n,r=(null===(i=this.instance)||void 0===i||null===(n=i.persistence)||void 0===n?void 0:n.props[Re])||[];if(Mr.SURVEY_SHOWN_EVENT_NAME==e&&t&&r.length>0){var s,o=null==t||null===(s=t.properties)||void 0===s?void 0:s.$survey_id;if(o){var a=r.indexOf(o);a>=0&&(r.splice(a,1),this._updateActivatedSurveys(r))}}else this.eventToSurveys.has(e)&&this._updateActivatedSurveys(r.concat(this.eventToSurveys.get(e)||[]))}onAction(e){var t,i,n=(null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i?void 0:i.props[Re])||[];this.actionToSurveys.has(e)&&this._updateActivatedSurveys(n.concat(this.actionToSurveys.get(e)||[]))}_updateActivatedSurveys(e){var t,i;null===(t=this.instance)||void 0===t||null===(i=t.persistence)||void 0===i||i.register({[Re]:[...new Set(e)]})}getSurveys(){var e,t,i=null===(e=this.instance)||void 0===e||null===(t=e.persistence)||void 0===t?void 0:t.props[Re];return i||[]}getEventToSurveys(){return this.eventToSurveys}_getActionMatcher(){return this.actionMatcher}}ne(Mr,\"SURVEY_SHOWN_EVENT_NAME\",\"survey shown\");var Ar,Lr,Dr,Nr,qr,Br,Hr,Ur,zr={},Wr=[],jr=/acit|ex(?:s|g|n|p|$)|rph|grid|ows|mnc|ntw|ine[ch]|zoo|^ord|itera/i,Gr=Array.isArray;function Vr(e,t){for(var i in t)e[i]=t[i];return e}function Jr(e){var t=e.parentNode;t&&t.removeChild(e)}function Qr(e,t,i,n,r){var s={type:e,props:t,key:i,ref:n,__k:null,__:null,__b:0,__e:null,__d:void 0,__c:null,constructor:void 0,__v:null==r?++Dr:r,__i:-1,__u:0};return null==r&&null!=Lr.vnode&&Lr.vnode(s),s}function Yr(e){return e.children}function Xr(e,t){this.props=e,this.context=t}function Kr(e,t){if(null==t)return e.__?Kr(e.__,e.__i+1):null;for(var i;tt&&Nr.sort(Hr));ts.__r=0}function is(e,t,i,n,r,s,o,a,l,u,c){var d,h,_,p,v,g=n&&n.__k||Wr,f=t.length;for(i.__d=l,ns(i,t,g),l=i.__d,d=0;d0?Qr(r.type,r.props,r.key,r.ref?r.ref:null,r.__v):r)?(r.__=e,r.__b=e.__b+1,a=ss(r,i,o=n+d,c),r.__i=a,s=null,-1!==a&&(c--,(s=i[a])&&(s.__u|=131072)),null==s||null===s.__v?(-1==a&&d--,\"function\"!=typeof r.type&&(r.__u|=65536)):a!==o&&(a===o+1?d++:a>o?c>l-o?d+=a-o:d--:d=a(null!=l&&0==(131072&l.__u)?1:0))for(;o>=0||a=0){if((l=t[o])&&0==(131072&l.__u)&&r==l.key&&s===l.type)return o;o--}if(a{},isPopup:!0});var gs=K(\"[Surveys]\"),fs={icontains:t=>!!e&&e.location.href.toLowerCase().indexOf(t.toLowerCase())>-1,not_icontains:t=>!!e&&-1===e.location.href.toLowerCase().indexOf(t.toLowerCase()),regex:t=>!!e&>(e.location.href,t),not_regex:t=>!!e&&!gt(e.location.href,t),exact:t=>(null==e?void 0:e.location.href)===t,is_not:t=>(null==e?void 0:e.location.href)!==t};class ms{constructor(e){this.instance=e,this._surveyEventReceiver=null}onRemoteConfig(e){this._decideServerResponse=!!e.surveys,this.loadIfEnabled()}reset(){localStorage.removeItem(\"lastSeenSurveyDate\");var e=(()=>{for(var e=[],t=0;tlocalStorage.removeItem(e)))}loadIfEnabled(){var e,t,i,n=null==h||null===(e=h.__PosthogExtensions__)||void 0===e?void 0:e.generateSurveys;this.instance.config.disable_surveys||!this._decideServerResponse||n||(null==this._surveyEventReceiver&&(this._surveyEventReceiver=new Mr(this.instance)),null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,\"surveys\",(e=>{var t,i;if(e)return gs.error(\"Could not load surveys script\",e);this._surveyManager=null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.generateSurveys)||void 0===i?void 0:i.call(t,this.instance)})))}getSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];if(this.instance.config.disable_surveys)return e([]);null==this._surveyEventReceiver&&(this._surveyEventReceiver=new Mr(this.instance));var i=this.instance.get_property(Fe);if(i&&!t)return e(i);this.instance._send_request({url:this.instance.requestRouter.endpointFor(\"api\",\"/api/surveys/?token=\".concat(this.instance.config.token)),method:\"GET\",transport:\"XHR\",callback:t=>{var i;if(200!==t.statusCode||!t.json)return e([]);var n,r=t.json.surveys||[],s=r.filter((e=>{var t,i,n,r,s,o,a,l,u,c,d,h;return(null===(t=e.conditions)||void 0===t?void 0:t.events)&&(null===(i=e.conditions)||void 0===i||null===(n=i.events)||void 0===n?void 0:n.values)&&(null===(r=e.conditions)||void 0===r||null===(s=r.events)||void 0===s||null===(o=s.values)||void 0===o?void 0:o.length)>0||(null===(a=e.conditions)||void 0===a?void 0:a.actions)&&(null===(l=e.conditions)||void 0===l||null===(u=l.actions)||void 0===u?void 0:u.values)&&(null===(c=e.conditions)||void 0===c||null===(d=c.actions)||void 0===d||null===(h=d.values)||void 0===h?void 0:h.length)>0}));s.length>0&&(null===(n=this._surveyEventReceiver)||void 0===n||n.register(s));return null===(i=this.instance.persistence)||void 0===i||i.register({[Fe]:r}),e(r)}})}getActiveMatchingSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.getSurveys((t=>{var i,n=t.filter((e=>!(!e.start_date||e.end_date))).filter((e=>{var t,i,n,r;if(!e.conditions)return!0;var s=null===(t=e.conditions)||void 0===t||!t.url||fs[null!==(i=null===(n=e.conditions)||void 0===n?void 0:n.urlMatchType)&&void 0!==i?i:\"icontains\"](e.conditions.url),a=null===(r=e.conditions)||void 0===r||!r.selector||(null==o?void 0:o.querySelector(e.conditions.selector));return s&&a})),r=null===(i=this._surveyEventReceiver)||void 0===i?void 0:i.getSurveys(),s=n.filter((e=>{var t,i,n,s,o,a,l,u,c,d,h;if(!(e.linked_flag_key||e.targeting_flag_key||e.internal_targeting_flag_key||null!==(t=e.feature_flag_keys)&&void 0!==t&&t.length))return!0;var _=!e.linked_flag_key||this.instance.featureFlags.isFeatureEnabled(e.linked_flag_key),p=!e.targeting_flag_key||this.instance.featureFlags.isFeatureEnabled(e.targeting_flag_key),v=(null===(i=e.conditions)||void 0===i?void 0:i.events)&&(null===(n=e.conditions)||void 0===n||null===(s=n.events)||void 0===s?void 0:s.values)&&(null===(o=e.conditions)||void 0===o||null===(a=o.events)||void 0===a?void 0:a.values.length)>0,g=(null===(l=e.conditions)||void 0===l?void 0:l.actions)&&(null===(u=e.conditions)||void 0===u||null===(c=u.actions)||void 0===c?void 0:c.values)&&(null===(d=e.conditions)||void 0===d||null===(h=d.actions)||void 0===h?void 0:h.values.length)>0,f=!v&&!g||(null==r?void 0:r.includes(e.id)),m=this._canActivateRepeatedly(e),b=!(e.internal_targeting_flag_key&&!m)||this.instance.featureFlags.isFeatureEnabled(e.internal_targeting_flag_key),y=this.checkFlags(e);return _&&p&&b&&f&&y}));return e(s)}),t)}checkFlags(e){var t;return null===(t=e.feature_flag_keys)||void 0===t||!t.length||e.feature_flag_keys.every((e=>{var{key:t,value:i}=e;return!t||!i||this.instance.featureFlags.isFeatureEnabled(i)}))}getNextSurveyStep(e,t,i){var n,r=e.questions[t],s=t+1;if(null===(n=r.branching)||void 0===n||!n.type)return t===e.questions.length-1?Pr.End:s;if(r.branching.type===Pr.End)return Pr.End;if(r.branching.type===Pr.SpecificQuestion){if(Number.isInteger(r.branching.index))return r.branching.index}else if(r.branching.type===Pr.ResponseBased){if(r.type===Cr.SingleChoice){var o,a,l=r.choices.indexOf(\"\".concat(i));if(null!==(o=r.branching)&&void 0!==o&&null!==(a=o.responseValues)&&void 0!==a&&a.hasOwnProperty(l)){var u=r.branching.responseValues[l];return Number.isInteger(u)?u:u===Pr.End?Pr.End:s}}else if(r.type===Cr.Rating){var c,d;if(\"number\"!=typeof i||!Number.isInteger(i))throw new Error(\"The response type must be an integer\");var h=function(e,t){if(3===t){if(e<1||e>3)throw new Error(\"The response must be in range 1-3\");return 1===e?\"negative\":2===e?\"neutral\":\"positive\"}if(5===t){if(e<1||e>5)throw new Error(\"The response must be in range 1-5\");return e<=2?\"negative\":3===e?\"neutral\":\"positive\"}if(7===t){if(e<1||e>7)throw new Error(\"The response must be in range 1-7\");return e<=3?\"negative\":4===e?\"neutral\":\"positive\"}if(10===t){if(e<0||e>10)throw new Error(\"The response must be in range 0-10\");return e<=6?\"detractors\":e<=8?\"passives\":\"promoters\"}throw new Error(\"The scale must be one of: 3, 5, 7, 10\")}(i,r.scale);if(null!==(c=r.branching)&&void 0!==c&&null!==(d=c.responseValues)&&void 0!==d&&d.hasOwnProperty(h)){var _=r.branching.responseValues[h];return Number.isInteger(_)?_:_===Pr.End?Pr.End:s}}return s}return gs.warn(\"Falling back to next question index due to unexpected branching type\"),s}_canActivateRepeatedly(e){var t;return j(null===(t=h.__PosthogExtensions__)||void 0===t?void 0:t.canActivateRepeatedly)?(gs.warn(\"init was not called\"),!1):h.__PosthogExtensions__.canActivateRepeatedly(e)}canRenderSurvey(e){j(this._surveyManager)?gs.warn(\"init was not called\"):this.getSurveys((t=>{var i=t.filter((t=>t.id===e))[0];this._surveyManager.canRenderSurvey(i)}))}renderSurvey(e,t){j(this._surveyManager)?gs.warn(\"init was not called\"):this.getSurveys((i=>{var n=i.filter((t=>t.id===e))[0];this._surveyManager.renderSurvey(n,null==o?void 0:o.querySelector(t))}))}}var bs=K(\"[RateLimiter]\");class ys{constructor(e){var t,i;ne(this,\"serverLimits\",{}),ne(this,\"lastEventRateLimited\",!1),ne(this,\"checkForLimiting\",(e=>{var t=e.text;if(t&&t.length)try{(JSON.parse(t).quota_limited||[]).forEach((e=>{bs.info(\"\".concat(e||\"events\",\" is quota limited.\")),this.serverLimits[e]=(new Date).getTime()+6e4}))}catch(e){return void bs.warn('could not rate limit - continuing. Error: \"'.concat(null==e?void 0:e.message,'\"'),{text:t})}})),this.instance=e,this.captureEventsPerSecond=(null===(t=e.config.rate_limiting)||void 0===t?void 0:t.events_per_second)||10,this.captureEventsBurstLimit=Math.max((null===(i=e.config.rate_limiting)||void 0===i?void 0:i.events_burst_limit)||10*this.captureEventsPerSecond,this.captureEventsPerSecond),this.lastEventRateLimited=this.clientRateLimitContext(!0).isRateLimited}clientRateLimitContext(){var e,t,i,n=arguments.length>0&&void 0!==arguments[0]&&arguments[0],r=(new Date).getTime(),s=null!==(e=null===(t=this.instance.persistence)||void 0===t?void 0:t.get_property(Me))&&void 0!==e?e:{tokens:this.captureEventsBurstLimit,last:r};s.tokens+=(r-s.last)/1e3*this.captureEventsPerSecond,s.last=r,s.tokens>this.captureEventsBurstLimit&&(s.tokens=this.captureEventsBurstLimit);var o=s.tokens<1;return o||n||(s.tokens=Math.max(0,s.tokens-1)),!o||this.lastEventRateLimited||n||this.instance.capture(\"$$client_ingestion_warning\",{$$client_ingestion_warning_message:\"posthog-js client rate limited. Config is set to \".concat(this.captureEventsPerSecond,\" events per second and \").concat(this.captureEventsBurstLimit,\" events burst limit.\")},{skip_client_rate_limiting:!0}),this.lastEventRateLimited=o,null===(i=this.instance.persistence)||void 0===i||i.set_property(Me,s),{isRateLimited:o,remainingTokens:s.tokens}}isServerRateLimited(e){var t=this.serverLimits[e||\"events\"]||!1;return!1!==t&&(new Date).getTime()ie({initialPathName:(null==a?void 0:a.pathname)||\"\",referringDomain:fi.referringDomain()},fi.campaignParams());class Ss{constructor(e,t,i){ne(this,\"_onSessionIdCallback\",(e=>{var t=this._getStoredProps();if(!t||t.sessionId!==e){var i={sessionId:e,props:this._sessionSourceParamGenerator()};this._persistence.register({[Oe]:i})}})),this._sessionIdManager=e,this._persistence=t,this._sessionSourceParamGenerator=i||ws,this._sessionIdManager.onSessionId(this._onSessionIdCallback)}_getStoredProps(){return this._persistence.props[Oe]}getSessionProps(){var e,t=null===(e=this._getStoredProps())||void 0===e?void 0:e.props;return t?{$client_session_initial_referring_host:t.referringDomain,$client_session_initial_pathname:t.initialPathName,$client_session_initial_utm_source:t.utm_source,$client_session_initial_utm_campaign:t.utm_campaign,$client_session_initial_utm_medium:t.utm_medium,$client_session_initial_utm_content:t.utm_content,$client_session_initial_utm_term:t.utm_term}:{}}}var Es=[\"ahrefsbot\",\"ahrefssiteaudit\",\"applebot\",\"baiduspider\",\"bingbot\",\"bingpreview\",\"bot.htm\",\"bot.php\",\"crawler\",\"deepscan\",\"duckduckbot\",\"facebookexternal\",\"facebookcatalog\",\"gptbot\",\"http://yandex.com/bots\",\"hubspot\",\"ia_archiver\",\"linkedinbot\",\"mj12bot\",\"msnbot\",\"nessus\",\"petalbot\",\"pinterest\",\"prerender\",\"rogerbot\",\"screaming frog\",\"semrushbot\",\"sitebulb\",\"slurp\",\"turnitin\",\"twitterbot\",\"vercelbot\",\"yahoo! slurp\",\"yandexbot\",\"headlesschrome\",\"cypress\",\"Google-HotelAdsVerifier\",\"adsbot-google\",\"apis-google\",\"duplexweb-google\",\"feedfetcher-google\",\"google favicon\",\"google web preview\",\"google-read-aloud\",\"googlebot\",\"googleweblight\",\"mediapartners-google\",\"storebot-google\",\"Bytespider;\"],ks=function(e,t){if(!e)return!1;var i=e.toLowerCase();return Es.concat(t||[]).some((e=>{var t=e.toLowerCase();return-1!==i.indexOf(t)}))},xs=function(e,t){if(!e)return!1;var i=e.userAgent;if(i&&ks(i,t))return!0;try{var n=null==e?void 0:e.userAgentData;if(null!=n&&n.brands&&n.brands.some((e=>ks(null==e?void 0:e.brand,t))))return!0}catch(e){}return!!e.webdriver};class Is{constructor(){this.clicks=[]}isRageClick(e,t,i){var n=this.clicks[this.clicks.length-1];if(n&&Math.abs(e-n.x)+Math.abs(t-n.y)<30&&i-n.timestamp<1e3){if(this.clicks.push({x:e,y:t,timestamp:i}),3===this.clicks.length)return!0}else this.clicks=[{x:e,y:t,timestamp:i}];return!1}}var Cs=K(\"[Dead Clicks]\"),Ps=()=>!0,Fs=e=>{var t,i=!(null===(t=e.instance.persistence)||void 0===t||!t.get_property(he)),n=e.instance.config.capture_dead_clicks;return V(n)?n:i};class Rs{get lazyLoadedDeadClicksAutocapture(){return this._lazyLoadedDeadClicksAutocapture}constructor(e,t,i){this.instance=e,this.isEnabled=t,this.onCapture=i,this.startIfEnabled()}onRemoteConfig(e){this.instance.persistence&&this.instance.persistence.register({[he]:null==e?void 0:e.captureDeadClicks}),this.startIfEnabled()}startIfEnabled(){this.isEnabled(this)&&this.loadScript((()=>{this.start()}))}loadScript(e){var t,i,n;null!==(t=h.__PosthogExtensions__)&&void 0!==t&&t.initDeadClicksAutocapture&&e(),null===(i=h.__PosthogExtensions__)||void 0===i||null===(n=i.loadExternalDependency)||void 0===n||n.call(i,this.instance,\"dead-clicks-autocapture\",(t=>{t?Cs.error(\"failed to load script\",t):e()}))}start(){var e;if(o){if(!this._lazyLoadedDeadClicksAutocapture&&null!==(e=h.__PosthogExtensions__)&&void 0!==e&&e.initDeadClicksAutocapture){var t=q(this.instance.config.capture_dead_clicks)?this.instance.config.capture_dead_clicks:{};t.__onCapture=this.onCapture,this._lazyLoadedDeadClicksAutocapture=h.__PosthogExtensions__.initDeadClicksAutocapture(this.instance,t),this._lazyLoadedDeadClicksAutocapture.start(o),Cs.info(\"starting...\")}}else Cs.error(\"`document` not found. Cannot start.\")}stop(){this._lazyLoadedDeadClicksAutocapture&&(this._lazyLoadedDeadClicksAutocapture.stop(),this._lazyLoadedDeadClicksAutocapture=void 0,Cs.info(\"stopping...\"))}}var Ts=K(\"[Heatmaps]\");class $s{constructor(t){var i;ne(this,\"rageclicks\",new Is),ne(this,\"_enabledServerSide\",!1),ne(this,\"_initialized\",!1),ne(this,\"_flushInterval\",null),this.instance=t,this._enabledServerSide=!(null===(i=this.instance.persistence)||void 0===i||!i.props[ue]),null==e||e.addEventListener(\"beforeunload\",(()=>{this.flush()}))}get flushIntervalMilliseconds(){var e=5e3;return q(this.instance.config.capture_heatmaps)&&this.instance.config.capture_heatmaps.flush_interval_milliseconds&&(e=this.instance.config.capture_heatmaps.flush_interval_milliseconds),e}get isEnabled(){return H(this.instance.config.capture_heatmaps)?H(this.instance.config.enable_heatmaps)?this._enabledServerSide:this.instance.config.enable_heatmaps:!1!==this.instance.config.capture_heatmaps}startIfEnabled(){if(this.isEnabled){if(this._initialized)return;Ts.info(\"starting...\"),this._setupListeners(),this._flushInterval=setInterval(this.flush.bind(this),this.flushIntervalMilliseconds)}else{var e,t;clearInterval(null!==(e=this._flushInterval)&&void 0!==e?e:void 0),null===(t=this.deadClicksCapture)||void 0===t||t.stop(),this.getAndClearBuffer()}}onRemoteConfig(e){var t=!!e.heatmaps;this.instance.persistence&&this.instance.persistence.register({[ue]:t}),this._enabledServerSide=t,this.startIfEnabled()}getAndClearBuffer(){var e=this.buffer;return this.buffer=void 0,e}_onDeadClick(e){this._onClick(e.originalEvent,\"deadclick\")}_setupListeners(){e&&o&&(C(o,\"click\",(t=>this._onClick(t||(null==e?void 0:e.event))),!1,!0),C(o,\"mousemove\",(t=>this._onMouseMove(t||(null==e?void 0:e.event))),!1,!0),this.deadClicksCapture=new Rs(this.instance,Ps,this._onDeadClick.bind(this)),this.deadClicksCapture.startIfEnabled(),this._initialized=!0)}_getProperties(t,i){var n=this.instance.scrollManager.scrollY(),r=this.instance.scrollManager.scrollX(),s=this.instance.scrollManager.scrollElement(),o=function(t,i,n){for(var r=t;r&&xi(r)&&!Ii(r,\"body\");){if(r===n)return!1;if(b(i,null==e?void 0:e.getComputedStyle(r).position))return!0;r=Li(r)}return!1}(Mi(t),[\"fixed\",\"sticky\"],s);return{x:t.clientX+(o?0:r),y:t.clientY+(o?0:n),target_fixed:o,type:i}}_onClick(e){var t,i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"click\";if(!ki(e.target)){var n=this._getProperties(e,i);null!==(t=this.rageclicks)&&void 0!==t&&t.isRageClick(e.clientX,e.clientY,(new Date).getTime())&&this._capture(ie(ie({},n),{},{type:\"rageclick\"})),this._capture(n)}}_onMouseMove(e){ki(e.target)||(clearTimeout(this._mouseMoveTimeout),this._mouseMoveTimeout=setTimeout((()=>{this._capture(this._getProperties(e,\"mousemove\"))}),500))}_capture(t){if(e){var i=e.location.href;this.buffer=this.buffer||{},this.buffer[i]||(this.buffer[i]=[]),this.buffer[i].push(t)}}flush(){this.buffer&&!B(this.buffer)&&this.instance.capture(\"$$heatmap\",{$heatmap_data:this.getAndClearBuffer()})}}class Os{constructor(e){ne(this,\"_updateScrollData\",(()=>{var e,t,i,n;this.context||(this.context={});var r=this.scrollElement(),s=this.scrollY(),o=r?Math.max(0,r.scrollHeight-r.clientHeight):0,a=s+((null==r?void 0:r.clientHeight)||0),l=(null==r?void 0:r.scrollHeight)||0;this.context.lastScrollY=Math.ceil(s),this.context.maxScrollY=Math.max(s,null!==(e=this.context.maxScrollY)&&void 0!==e?e:0),this.context.maxScrollHeight=Math.max(o,null!==(t=this.context.maxScrollHeight)&&void 0!==t?t:0),this.context.lastContentY=a,this.context.maxContentY=Math.max(a,null!==(i=this.context.maxContentY)&&void 0!==i?i:0),this.context.maxContentHeight=Math.max(l,null!==(n=this.context.maxContentHeight)&&void 0!==n?n:0)})),this.instance=e}getContext(){return this.context}resetContext(){var e=this.context;return setTimeout(this._updateScrollData,0),e}startMeasuringScrollPosition(){null==e||e.addEventListener(\"scroll\",this._updateScrollData,!0),null==e||e.addEventListener(\"scrollend\",this._updateScrollData,!0),null==e||e.addEventListener(\"resize\",this._updateScrollData)}scrollElement(){if(!this.instance.config.scroll_root_selector)return null==e?void 0:e.document.documentElement;var t=D(this.instance.config.scroll_root_selector)?this.instance.config.scroll_root_selector:[this.instance.config.scroll_root_selector];for(var i of t){var n=null==e?void 0:e.document.querySelector(i);if(n)return n}}scrollY(){if(this.instance.config.scroll_root_selector){var t=this.scrollElement();return t&&t.scrollTop||0}return e&&(e.scrollY||e.pageYOffset||e.document.documentElement.scrollTop)||0}scrollX(){if(this.instance.config.scroll_root_selector){var t=this.scrollElement();return t&&t.scrollLeft||0}return e&&(e.scrollX||e.pageXOffset||e.document.documentElement.scrollLeft)||0}}var Ms=K(\"[AutoCapture]\");function As(e,t){return t.length>e?t.slice(0,e)+\"...\":t}function Ls(e){if(e.previousElementSibling)return e.previousElementSibling;var t=e;do{t=t.previousSibling}while(t&&!xi(t));return t}function Ds(e,t,i,n){var r=e.tagName.toLowerCase(),s={tag_name:r};Ai.indexOf(r)>-1&&!i&&(\"a\"===r.toLowerCase()||\"button\"===r.toLowerCase()?s.$el_text=As(1024,Vi(e)):s.$el_text=As(1024,Oi(e)));var o=Ti(e);o.length>0&&(s.classes=o.filter((function(e){return\"\"!==e}))),f(e.attributes,(function(i){var r;if((!qi(e)||-1!==[\"name\",\"id\",\"class\",\"aria-label\"].indexOf(i.name))&&((null==n||!n.includes(i.name))&&!t&&Gi(i.value)&&(r=i.name,!U(r)||\"_ngcontent\"!==r.substring(0,10)&&\"_nghost\"!==r.substring(0,7)))){var o=i.value;\"class\"===i.name&&(o=Fi(o).join(\" \")),s[\"attr__\"+i.name]=As(1024,o)}}));for(var a=1,l=1,u=e;u=Ls(u);)a++,u.tagName===e.tagName&&l++;return s.nth_child=a,s.nth_of_type=l,s}function Ns(t,i){for(var n,r,{e:s,maskAllElementAttributes:o,maskAllText:a,elementAttributeIgnoreList:l,elementsChainAsString:u}=i,c=[t],d=t;d.parentNode&&!Ii(d,\"body\");)Pi(d.parentNode)?(c.push(d.parentNode.host),d=d.parentNode.host):(c.push(d.parentNode),d=d.parentNode);var h,_=[],p={},v=!1,g=!1;if(f(c,(e=>{var t=Ni(e);\"a\"===e.tagName.toLowerCase()&&(v=e.getAttribute(\"href\"),v=t&&v&&Gi(v)&&v),b(Ti(e),\"ph-no-capture\")&&(g=!0),_.push(Ds(e,o,a,l));var i=function(e){if(!Ni(e))return{};var t={};return f(e.attributes,(function(e){if(e.name&&0===e.name.indexOf(\"data-ph-capture-attribute\")){var i=e.name.replace(\"data-ph-capture-attribute-\",\"\"),n=e.value;i&&n&&Gi(n)&&(t[i]=n)}})),t}(e);m(p,i)})),g)return{props:{},explicitNoCapture:g};if(a||(\"a\"===t.tagName.toLowerCase()||\"button\"===t.tagName.toLowerCase()?_[0].$el_text=Vi(t):_[0].$el_text=Oi(t)),v){var y,w;_[0].attr__href=v;var S=null===(y=vt(v))||void 0===y?void 0:y.host,E=null==e||null===(w=e.location)||void 0===w?void 0:w.host;S&&E&&S!==E&&(h=v)}return{props:m({$event_type:s.type,$ce_version:1},u?{}:{$elements:_},{$elements_chain:Qi(_)},null!==(n=_[0])&&void 0!==n&&n.$el_text?{$el_text:null===(r=_[0])||void 0===r?void 0:r.$el_text}:{},h&&\"click\"===s.type?{$external_click_url:h}:{},p)}}class qs{constructor(e){ne(this,\"_initialized\",!1),ne(this,\"_isDisabledServerSide\",null),ne(this,\"rageclicks\",new Is),ne(this,\"_elementsChainAsString\",!1),this.instance=e,this._elementSelectors=null}get config(){var e,t,i=q(this.instance.config.autocapture)?this.instance.config.autocapture:{};return i.url_allowlist=null===(e=i.url_allowlist)||void 0===e?void 0:e.map((e=>new RegExp(e))),i.url_ignorelist=null===(t=i.url_ignorelist)||void 0===t?void 0:t.map((e=>new RegExp(e))),i}_addDomEventHandlers(){if(this.isBrowserSupported()){if(e&&o){var t=t=>{t=t||(null==e?void 0:e.event);try{this._captureEvent(t)}catch(e){Ms.error(\"Failed to capture event\",e)}},i=t=>{t=t||(null==e?void 0:e.event),this._captureEvent(t,R)};C(o,\"submit\",t,!1,!0),C(o,\"change\",t,!1,!0),C(o,\"click\",t,!1,!0),this.config.capture_copied_text&&(C(o,\"copy\",i,!1,!0),C(o,\"cut\",i,!1,!0))}}else Ms.info(\"Disabling Automatic Event Collection because this browser is not supported\")}startIfEnabled(){this.isEnabled&&!this._initialized&&(this._addDomEventHandlers(),this._initialized=!0)}onRemoteConfig(e){e.elementsChainAsString&&(this._elementsChainAsString=e.elementsChainAsString),this.instance.persistence&&this.instance.persistence.register({[le]:!!e.autocapture_opt_out}),this._isDisabledServerSide=!!e.autocapture_opt_out,this.startIfEnabled()}setElementSelectors(e){this._elementSelectors=e}getElementSelectors(e){var t,i=[];return null===(t=this._elementSelectors)||void 0===t||t.forEach((t=>{var n=null==o?void 0:o.querySelectorAll(t);null==n||n.forEach((n=>{e===n&&i.push(t)}))})),i}get isEnabled(){var e,t,i=null===(e=this.instance.persistence)||void 0===e?void 0:e.props[le],n=this._isDisabledServerSide;if(W(n)&&!V(i)&&!this.instance.config.advanced_disable_decide)return!1;var r=null!==(t=this._isDisabledServerSide)&&void 0!==t?t:!!i;return!!this.instance.config.autocapture&&!r}_captureEvent(t){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:\"$autocapture\";if(this.isEnabled){var n,r=Mi(t);if(Ci(r)&&(r=r.parentNode||null),\"$autocapture\"===i&&\"click\"===t.type&&t instanceof MouseEvent)this.instance.config.rageclick&&null!==(n=this.rageclicks)&&void 0!==n&&n.isRageClick(t.clientX,t.clientY,(new Date).getTime())&&this._captureEvent(t,\"$rageclick\");var s=i===R;if(r&&Di(r,t,this.config,s,s?[\"copy\",\"cut\"]:void 0)){var{props:o,explicitNoCapture:a}=Ns(r,{e:t,maskAllElementAttributes:this.instance.config.mask_all_element_attributes,maskAllText:this.instance.config.mask_all_text,elementAttributeIgnoreList:this.config.element_attribute_ignorelist,elementsChainAsString:this._elementsChainAsString});if(a)return!1;var l=this.getElementSelectors(r);if(l&&l.length>0&&(o.$element_selectors=l),i===R){var u,c=$i(null==e||null===(u=e.getSelection())||void 0===u?void 0:u.toString()),d=t.type||\"clipboard\";if(!c)return!1;o.$selected_content=c,o.$copy_type=d}return this.instance.capture(i,o),!0}}}isBrowserSupported(){return N(null==o?void 0:o.querySelectorAll)}}var Bs=K(\"[TracingHeaders]\");class Hs{constructor(e){ne(this,\"_restoreXHRPatch\",void 0),ne(this,\"_restoreFetchPatch\",void 0),ne(this,\"_startCapturing\",(()=>{var e,t,i,n;H(this._restoreXHRPatch)&&(null===(e=h.__PosthogExtensions__)||void 0===e||null===(t=e.tracingHeadersPatchFns)||void 0===t||t._patchXHR(this.instance.sessionManager));H(this._restoreFetchPatch)&&(null===(i=h.__PosthogExtensions__)||void 0===i||null===(n=i.tracingHeadersPatchFns)||void 0===n||n._patchFetch(this.instance.sessionManager))})),this.instance=e}_loadScript(e){var t,i,n;null!==(t=h.__PosthogExtensions__)&&void 0!==t&&t.tracingHeadersPatchFns&&e(),null===(i=h.__PosthogExtensions__)||void 0===i||null===(n=i.loadExternalDependency)||void 0===n||n.call(i,this.instance,\"tracing-headers\",(t=>{if(t)return Bs.error(\"failed to load script\",t);e()}))}startIfEnabledOrStop(){var e,t;this.instance.config.__add_tracing_headers?this._loadScript(this._startCapturing):(null===(e=this._restoreXHRPatch)||void 0===e||e.call(this),null===(t=this._restoreFetchPatch)||void 0===t||t.call(this),this._restoreXHRPatch=void 0,this._restoreFetchPatch=void 0)}}var Us;!function(e){e[e.PENDING=-1]=\"PENDING\",e[e.DENIED=0]=\"DENIED\",e[e.GRANTED=1]=\"GRANTED\"}(Us||(Us={}));class zs{constructor(e){this.instance=e}get config(){return this.instance.config}get consent(){return this.getDnt()?Us.DENIED:this.storedConsent}isOptedOut(){return this.consent===Us.DENIED||this.consent===Us.PENDING&&this.config.opt_out_capturing_by_default}isOptedIn(){return!this.isOptedOut()}optInOut(e){this.storage.set(this.storageKey,e?1:0,this.config.cookie_expiration,this.config.cross_subdomain_cookie,this.config.secure_cookie)}reset(){this.storage.remove(this.storageKey,this.config.cross_subdomain_cookie)}get storageKey(){var{token:e,opt_out_capturing_cookie_prefix:t}=this.instance.config;return(t||\"__ph_opt_in_out_\")+e}get storedConsent(){var e=this.storage.get(this.storageKey);return\"1\"===e?Us.GRANTED:\"0\"===e?Us.DENIED:Us.PENDING}get storage(){if(!this._storage){var e=this.config.opt_out_capturing_persistence_type;this._storage=\"localStorage\"===e?at:st;var t=\"localStorage\"===e?st:at;t.get(this.storageKey)&&(this._storage.get(this.storageKey)||this.optInOut(\"1\"===t.get(this.storageKey)),t.remove(this.storageKey,this.config.cross_subdomain_cookie))}return this._storage}getDnt(){return!!this.config.respect_dnt&&!!P([null==s?void 0:s.doNotTrack,null==s?void 0:s.msDoNotTrack,h.doNotTrack],(e=>b([!0,1,\"1\",\"yes\"],e)))}}var Ws=K(\"[ExceptionAutocapture]\");class js{constructor(t){var i;ne(this,\"originalOnUnhandledRejectionHandler\",void 0),ne(this,\"startCapturing\",(()=>{var t,i,n,r;if(e&&this.isEnabled&&!this.hasHandlers&&!this.isCapturing){var s=null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.errorWrappingFunctions)||void 0===i?void 0:i.wrapOnError,o=null===(n=h.__PosthogExtensions__)||void 0===n||null===(r=n.errorWrappingFunctions)||void 0===r?void 0:r.wrapUnhandledRejection;if(s&&o)try{this.unwrapOnError=s(this.captureException.bind(this)),this.unwrapUnhandledRejection=o(this.captureException.bind(this))}catch(e){Ws.error(\"failed to start\",e),this.stopCapturing()}else Ws.error(\"failed to load error wrapping functions - cannot start\")}})),this.instance=t,this.remoteEnabled=!(null===(i=this.instance.persistence)||void 0===i||!i.props[ce]),this.startIfEnabled()}get isEnabled(){var e;return null!==(e=this.remoteEnabled)&&void 0!==e&&e}get isCapturing(){var t;return!(null==e||null===(t=e.onerror)||void 0===t||!t.__POSTHOG_INSTRUMENTED__)}get hasHandlers(){return this.originalOnUnhandledRejectionHandler||this.unwrapOnError}startIfEnabled(){this.isEnabled&&!this.isCapturing&&(Ws.info(\"enabled, starting...\"),this.loadScript(this.startCapturing))}loadScript(e){var t,i;this.hasHandlers&&e(),null===(t=h.__PosthogExtensions__)||void 0===t||null===(i=t.loadExternalDependency)||void 0===i||i.call(t,this.instance,\"exception-autocapture\",(t=>{if(t)return Ws.error(\"failed to load script\",t);e()}))}stopCapturing(){var e,t;null===(e=this.unwrapOnError)||void 0===e||e.call(this),null===(t=this.unwrapUnhandledRejection)||void 0===t||t.call(this)}onRemoteConfig(e){var t=e.autocaptureExceptions;this.remoteEnabled=!!t||!1,this.instance.persistence&&this.instance.persistence.register({[ce]:this.remoteEnabled}),this.startIfEnabled()}captureException(e){var t=this.instance.requestRouter.endpointFor(\"ui\");e.$exception_personURL=\"\".concat(t,\"/project/\").concat(this.instance.config.token,\"/person/\").concat(this.instance.get_distinct_id()),this.instance.exceptions.sendExceptionEvent(e)}}var Gs=K(\"[Web Vitals]\"),Vs=9e5;class Js{constructor(e){var t;ne(this,\"_enabledServerSide\",!1),ne(this,\"_initialized\",!1),ne(this,\"buffer\",{url:void 0,metrics:[],firstMetricTimestamp:void 0}),ne(this,\"_flushToCapture\",(()=>{clearTimeout(this._delayedFlushTimer),0!==this.buffer.metrics.length&&(this.instance.capture(\"$web_vitals\",this.buffer.metrics.reduce(((e,t)=>ie(ie({},e),{},{[\"$web_vitals_\".concat(t.name,\"_event\")]:ie({},t),[\"$web_vitals_\".concat(t.name,\"_value\")]:t.value})),{})),this.buffer={url:void 0,metrics:[],firstMetricTimestamp:void 0})})),ne(this,\"_addToBuffer\",(e=>{var t,i=null===(t=this.instance.sessionManager)||void 0===t?void 0:t.checkAndGetSessionAndWindowId(!0);if(H(i))Gs.error(\"Could not read session ID. Dropping metrics!\");else{this.buffer=this.buffer||{url:void 0,metrics:[],firstMetricTimestamp:void 0};var n=this._currentURL();if(!H(n))if(j(null==e?void 0:e.name)||j(null==e?void 0:e.value))Gs.error(\"Invalid metric received\",e);else if(this._maxAllowedValue&&e.value>=this._maxAllowedValue)Gs.error(\"Ignoring metric with value >= \"+this._maxAllowedValue,e);else this.buffer.url!==n&&(this._flushToCapture(),this._delayedFlushTimer=setTimeout(this._flushToCapture,this.flushToCaptureTimeoutMs)),H(this.buffer.url)&&(this.buffer.url=n),this.buffer.firstMetricTimestamp=H(this.buffer.firstMetricTimestamp)?Date.now():this.buffer.firstMetricTimestamp,e.attribution&&e.attribution.interactionTargetElement&&(e.attribution.interactionTargetElement=void 0),this.buffer.metrics.push(ie(ie({},e),{},{$current_url:n,$session_id:i.sessionId,$window_id:i.windowId,timestamp:Date.now()})),this.buffer.metrics.length===this.allowedMetrics.length&&this._flushToCapture()}})),ne(this,\"_startCapturing\",(()=>{var e,t,i,n,r=h.__PosthogExtensions__;H(r)||H(r.postHogWebVitalsCallbacks)||({onLCP:e,onCLS:t,onFCP:i,onINP:n}=r.postHogWebVitalsCallbacks),e&&t&&i&&n?(this.allowedMetrics.indexOf(\"LCP\")>-1&&e(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf(\"CLS\")>-1&&t(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf(\"FCP\")>-1&&i(this._addToBuffer.bind(this)),this.allowedMetrics.indexOf(\"INP\")>-1&&n(this._addToBuffer.bind(this)),this._initialized=!0):Gs.error(\"web vitals callbacks not loaded - not starting\")})),this.instance=e,this._enabledServerSide=!(null===(t=this.instance.persistence)||void 0===t||!t.props[de]),this.startIfEnabled()}get allowedMetrics(){var e,t,i=q(this.instance.config.capture_performance)?null===(e=this.instance.config.capture_performance)||void 0===e?void 0:e.web_vitals_allowed_metrics:void 0;return H(i)?(null===(t=this.instance.persistence)||void 0===t?void 0:t.props[_e])||[\"CLS\",\"FCP\",\"INP\",\"LCP\"]:i}get flushToCaptureTimeoutMs(){return(q(this.instance.config.capture_performance)?this.instance.config.capture_performance.web_vitals_delayed_flush_ms:void 0)||5e3}get _maxAllowedValue(){var e=q(this.instance.config.capture_performance)&&G(this.instance.config.capture_performance.__web_vitals_max_value)?this.instance.config.capture_performance.__web_vitals_max_value:Vs;return 0{t?Gs.error(\"failed to load script\",t):e()}))}_currentURL(){var t=e?e.location.href:void 0;return t||Gs.error(\"Could not determine current URL\"),t}}var Qs={icontains:(t,i)=>!!e&&i.href.toLowerCase().indexOf(t.toLowerCase())>-1,not_icontains:(t,i)=>!!e&&-1===i.href.toLowerCase().indexOf(t.toLowerCase()),regex:(t,i)=>!!e&>(i.href,t),not_regex:(t,i)=>!!e&&!gt(i.href,t),exact:(e,t)=>t.href===e,is_not:(e,t)=>t.href!==e};class Ys{constructor(e){var t=this;ne(this,\"getWebExperimentsAndEvaluateDisplayLogic\",(function(){var e=arguments.length>0&&void 0!==arguments[0]&&arguments[0];t.getWebExperiments((e=>{Ys.logInfo(\"retrieved web experiments from the server\"),t._flagToExperiments=new Map,e.forEach((e=>{if(e.feature_flag_key){var i;if(t._flagToExperiments)Ys.logInfo(\"setting flag key \",e.feature_flag_key,\" to web experiment \",e),null===(i=t._flagToExperiments)||void 0===i||i.set(e.feature_flag_key,e);var n=t.instance.getFeatureFlag(e.feature_flag_key);U(n)&&e.variants[n]&&t.applyTransforms(e.name,n,e.variants[n].transforms)}else if(e.variants)for(var r in e.variants){var s=e.variants[r];Ys.matchesTestVariant(s)&&t.applyTransforms(e.name,r,s.transforms)}}))}),e)})),this.instance=e,this.instance.onFeatureFlags((e=>{this.onFeatureFlags(e)}))}onFeatureFlags(e){if(this._is_bot())Ys.logInfo(\"Refusing to render web experiment since the viewer is a likely bot\");else if(!this.instance.config.disable_web_experiments){if(j(this._flagToExperiments))return this._flagToExperiments=new Map,this.loadIfEnabled(),void this.previewWebExperiment();Ys.logInfo(\"applying feature flags\",e),e.forEach((e=>{var t;if(this._flagToExperiments&&null!==(t=this._flagToExperiments)&&void 0!==t&&t.has(e)){var i,n=this.instance.getFeatureFlag(e),r=null===(i=this._flagToExperiments)||void 0===i?void 0:i.get(e);n&&null!=r&&r.variants[n]&&this.applyTransforms(r.name,n,r.variants[n].transforms)}}))}}previewWebExperiment(){var e=Ys.getWindowLocation();if(null!=e&&e.search){var t=mt(null==e?void 0:e.search,\"__experiment_id\"),i=mt(null==e?void 0:e.search,\"__experiment_variant\");t&&i&&(Ys.logInfo(\"previewing web experiments \".concat(t,\" && \").concat(i)),this.getWebExperiments((e=>{this.showPreviewWebExperiment(parseInt(t),i,e)}),!1,!0))}}loadIfEnabled(){this.instance.config.disable_web_experiments||this.getWebExperimentsAndEvaluateDisplayLogic()}getWebExperiments(e,t,i){if(this.instance.config.disable_web_experiments&&!i)return e([]);var n=this.instance.get_property(\"$web_experiments\");if(n&&!t)return e(n);this.instance._send_request({url:this.instance.requestRouter.endpointFor(\"api\",\"/api/web_experiments/?token=\".concat(this.instance.config.token)),method:\"GET\",transport:\"XHR\",callback:t=>{if(200!==t.statusCode||!t.json)return e([]);var i=t.json.experiments||[];return e(i)}})}showPreviewWebExperiment(e,t,i){var n=i.filter((t=>t.id===e));n&&n.length>0&&(Ys.logInfo(\"Previewing web experiment [\".concat(n[0].name,\"] with variant [\").concat(t,\"]\")),this.applyTransforms(n[0].name,t,n[0].variants[t].transforms,!0))}static matchesTestVariant(e){return!j(e.conditions)&&(Ys.matchUrlConditions(e)&&Ys.matchUTMConditions(e))}static matchUrlConditions(e){var t;if(j(e.conditions)||j(null===(t=e.conditions)||void 0===t?void 0:t.url))return!0;var i,n,r,s=Ys.getWindowLocation();return!!s&&(null===(i=e.conditions)||void 0===i||!i.url||Qs[null!==(n=null===(r=e.conditions)||void 0===r?void 0:r.urlMatchType)&&void 0!==n?n:\"icontains\"](e.conditions.url,s))}static getWindowLocation(){return null==e?void 0:e.location}static matchUTMConditions(e){var t;if(j(e.conditions)||j(null===(t=e.conditions)||void 0===t?void 0:t.utm))return!0;var i=fi.campaignParams();if(i.utm_source){var n,r,s,o,a,l,u,c,d,h,_,p,v,g,f,m,b=null===(n=e.conditions)||void 0===n||null===(r=n.utm)||void 0===r||!r.utm_campaign||(null===(s=e.conditions)||void 0===s||null===(o=s.utm)||void 0===o?void 0:o.utm_campaign)==i.utm_campaign,y=null===(a=e.conditions)||void 0===a||null===(l=a.utm)||void 0===l||!l.utm_source||(null===(u=e.conditions)||void 0===u||null===(c=u.utm)||void 0===c?void 0:c.utm_source)==i.utm_source,w=null===(d=e.conditions)||void 0===d||null===(h=d.utm)||void 0===h||!h.utm_medium||(null===(_=e.conditions)||void 0===_||null===(p=_.utm)||void 0===p?void 0:p.utm_medium)==i.utm_medium,S=null===(v=e.conditions)||void 0===v||null===(g=v.utm)||void 0===g||!g.utm_term||(null===(f=e.conditions)||void 0===f||null===(m=f.utm)||void 0===m?void 0:m.utm_term)==i.utm_term;return b&&w&&S&&y}return!1}static logInfo(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),n=1;n{if(i.selector){var r;Ys.logInfo(\"applying transform of variant \".concat(t,\" for experiment \").concat(e,\" \"),i);var s,o=0,a=null===(r=document)||void 0===r?void 0:r.querySelectorAll(i.selector);if(null==a||a.forEach((e=>{var t=e;o+=1,i.attributes&&i.attributes.forEach((e=>{switch(e.name){case\"text\":t.innerText=e.value;break;case\"html\":t.innerHTML=e.value;break;case\"cssClass\":t.className=e.value;break;default:t.setAttribute(e.name,e.value)}})),i.text&&(t.innerText=i.text),i.html&&(t.parentElement?t.parentElement.innerHTML=i.html:t.innerHTML=i.html),i.css&&t.setAttribute(\"style\",i.css)})),this.instance&&this.instance.capture)this.instance.capture(\"$web_experiment_applied\",{$web_experiment_name:e,$web_experiment_variant:t,$web_experiment_preview:n,$web_experiment_document_url:null===(s=Ys.getWindowLocation())||void 0===s?void 0:s.href,$web_experiment_elements_modified:o})}})):(Ys.logInfo(\"Control variants leave the page unmodified.\"),this.instance&&this.instance.capture&&this.instance.capture(\"$web_experiment_applied\",{$web_experiment_name:e,$web_experiment_preview:n,$web_experiment_variant:t,$web_experiment_document_url:null===(r=Ys.getWindowLocation())||void 0===r?void 0:r.href,$web_experiment_elements_modified:0}))}_is_bot(){return s&&this.instance?xs(s,this.instance.config.custom_blocked_useragents):void 0}}class Xs{constructor(e){this.instance=e}sendExceptionEvent(e){this.instance.capture(\"$exception\",e,{_noTruncate:!0,_batchKey:\"exceptionEvent\"})}}var Ks=[\"$set_once\",\"$set\"],Zs=K(\"[SiteApps]\");class eo{constructor(e){this.instance=e,this.bufferedInvocations=[],this.apps={}}get isEnabled(){return!!this.instance.config.opt_in_site_apps}eventCollector(e,t){if(t){var i=this.globalsForEvent(t);this.bufferedInvocations.push(i),this.bufferedInvocations.length>1e3&&(this.bufferedInvocations=this.bufferedInvocations.slice(10))}}init(){if(this.isEnabled){var e=this.instance._addCaptureHook(this.eventCollector.bind(this));this.stopBuffering=()=>{e(),this.bufferedInvocations=[],this.stopBuffering=void 0}}}globalsForEvent(e){var t,i,n,r,s,o,a;if(!e)throw new Error(\"Event payload is required\");var l={},u=this.instance.get_property(\"$groups\")||[],c=this.instance.get_property(\"$stored_group_properties\")||{};for(var[d,h]of Object.entries(c))l[d]={id:u[d],type:d,properties:h};var{$set_once:_,$set:p}=e;return{event:ie(ie({},re(e,Ks)),{},{properties:ie(ie(ie({},e.properties),p?{$set:ie(ie({},null!==(t=null===(i=e.properties)||void 0===i?void 0:i.$set)&&void 0!==t?t:{}),p)}:{}),_?{$set_once:ie(ie({},null!==(n=null===(r=e.properties)||void 0===r?void 0:r.$set_once)&&void 0!==n?n:{}),_)}:{}),elements_chain:null!==(s=null===(o=e.properties)||void 0===o?void 0:o.$elements_chain)&&void 0!==s?s:\"\",distinct_id:null===(a=e.properties)||void 0===a?void 0:a.distinct_id}),person:{properties:this.instance.get_property(\"$stored_person_properties\")},groups:l}}setupSiteApp(e){var t={id:e.id,loaded:!1,errored:!1};this.apps[e.id]=t;var i=i=>{var n;for(var r of(this.apps[e.id].errored=!i,this.apps[e.id].loaded=!0,Zs.info(\"Site app with id \".concat(e.id,\" \").concat(i?\"loaded\":\"errored\")),i&&this.bufferedInvocations.length&&(Zs.info(\"Processing \".concat(this.bufferedInvocations.length,\" events for site app with id \").concat(e.id)),this.bufferedInvocations.forEach((e=>{var i;return null===(i=t.processEvent)||void 0===i?void 0:i.call(t,e)}))),Object.values(this.apps)))if(!r.loaded)return;null===(n=this.stopBuffering)||void 0===n||n.call(this)};try{var{processEvent:n}=e.init({posthog:this.instance,callback:e=>{i(e)}});n&&(t.processEvent=n)}catch(t){Zs.error(\"Error while initializing PostHog app with config id \".concat(e.id),t),i(!1)}}onCapturedEvent(e){if(0!==Object.keys(this.apps).length){var t=this.globalsForEvent(e);for(var i of Object.values(this.apps))try{var n;null===(n=i.processEvent)||void 0===n||n.call(i,t)}catch(t){Zs.error(\"Error while processing event \".concat(e.event,\" for site app \").concat(i.id),t)}}}onRemoteConfig(e){var t,i,n=this;if(D(h._POSTHOG_JS_APPS)){if(!this.isEnabled)return void Zs.error('PostHog site apps are disabled. Enable the \"opt_in_site_apps\" config to proceed.');for(var r of h._POSTHOG_JS_APPS)this.setupSiteApp(r);var s;h._POSTHOG_JS_APPS.length?this.instance.on(\"eventCaptured\",(e=>this.onCapturedEvent(e))):null===(s=this.stopBuffering)||void 0===s||s.call(this)}else if(null===(t=this.stopBuffering)||void 0===t||t.call(this),null!==(i=e.siteApps)&&void 0!==i&&i.length)if(this.isEnabled){var o=function(e,t){var i,r;h[\"__$$ph_site_app_\".concat(e)]=n.instance,null===(i=h.__PosthogExtensions__)||void 0===i||null===(r=i.loadSiteApp)||void 0===r||r.call(i,n.instance,t,(t=>{if(t)return Zs.error(\"Error while initializing PostHog app with config id \".concat(e),t)}))};for(var{id:a,url:l}of e.siteApps)o(a,l)}else Zs.error('PostHog site apps are disabled. Enable the \"opt_in_site_apps\" config to proceed.')}}var to={},io=()=>{},no=\"posthog\",ro=!cr&&-1===(null==d?void 0:d.indexOf(\"MSIE\"))&&-1===(null==d?void 0:d.indexOf(\"Mozilla\")),so=()=>{var t,i,n;return{api_host:\"https://us.i.posthog.com\",ui_host:null,token:\"\",autocapture:!0,rageclick:!0,cross_subdomain_cookie:(i=null==o?void 0:o.location,n=null==i?void 0:i.hostname,!!U(n)&&\"herokuapp.com\"!==n.split(\".\").slice(-2).join(\".\")),persistence:\"localStorage+cookie\",persistence_name:\"\",loaded:io,store_google:!0,custom_campaign_params:[],custom_blocked_useragents:[],save_referrer:!0,capture_pageview:!0,capture_pageleave:\"if_capture_pageview\",debug:a&&U(null==a?void 0:a.search)&&-1!==a.search.indexOf(\"__posthog_debug=true\")||!1,verbose:!1,cookie_expiration:365,upgrade:!1,disable_session_recording:!1,disable_persistence:!1,disable_web_experiments:!0,disable_surveys:!1,enable_recording_console_log:void 0,secure_cookie:\"https:\"===(null==e||null===(t=e.location)||void 0===t?void 0:t.protocol),ip:!0,opt_out_capturing_by_default:!1,opt_out_persistence_by_default:!1,opt_out_useragent_filter:!1,opt_out_capturing_persistence_type:\"localStorage\",opt_out_capturing_cookie_prefix:null,opt_in_site_apps:!1,property_denylist:[],respect_dnt:!1,sanitize_properties:null,request_headers:{},inapp_protocol:\"//\",inapp_link_new_window:!1,request_batching:!0,properties_string_max_length:65535,session_recording:{},mask_all_element_attributes:!1,mask_all_text:!1,advanced_disable_decide:!1,advanced_disable_feature_flags:!1,advanced_disable_feature_flags_on_first_load:!1,advanced_disable_toolbar_metrics:!1,feature_flag_request_timeout_ms:3e3,on_request_error:e=>{var t=\"Bad HTTP status: \"+e.statusCode+\" \"+e.text;X.error(t)},get_device_id:e=>e,_onCapture:io,capture_performance:void 0,name:\"posthog\",bootstrap:{},disable_compression:!1,session_idle_timeout_seconds:1800,person_profiles:\"identified_only\",__add_tracing_headers:!1,before_send:void 0}},oo=e=>{var t={};H(e.process_person)||(t.person_profiles=e.process_person),H(e.xhr_headers)||(t.request_headers=e.xhr_headers),H(e.cookie_name)||(t.persistence_name=e.cookie_name),H(e.disable_cookie)||(t.disable_persistence=e.disable_cookie);var i=m({},t,e);return D(e.property_blacklist)&&(H(e.property_denylist)?i.property_denylist=e.property_blacklist:D(e.property_denylist)?i.property_denylist=[...e.property_blacklist,...e.property_denylist]:X.error(\"Invalid value for property_denylist config: \"+e.property_denylist)),i};class ao{constructor(){ne(this,\"__forceAllowLocalhost\",!1)}get _forceAllowLocalhost(){return this.__forceAllowLocalhost}set _forceAllowLocalhost(e){X.error(\"WebPerformanceObserver is deprecated and has no impact on network capture. Use `_forceAllowLocalhostNetworkCapture` on `posthog.sessionRecording`\"),this.__forceAllowLocalhost=e}}class lo{constructor(){ne(this,\"webPerformance\",new ao),ne(this,\"version\",_.LIB_VERSION),ne(this,\"_internalEventEmitter\",new $r),this.config=so(),this.decideEndpointWasHit=!1,this.SentryIntegration=xr,this.sentryIntegration=e=>function(e,t){var i=kr(e,t);return{name:Er,processEvent:e=>i(e)}}(this,e),this.__request_queue=[],this.__loaded=!1,this.analyticsDefaultEndpoint=\"/e/\",this._initialPageviewCaptured=!1,this._initialPersonProfilesConfig=null,this.featureFlags=new Ge(this),this.toolbar=new lr(this),this.scrollManager=new Os(this),this.pageViewManager=new Tr(this),this.surveys=new ms(this),this.experiments=new Ys(this),this.exceptions=new Xs(this),this.rateLimiter=new ys(this),this.requestRouter=new Sr(this),this.consent=new zs(this),this.people={set:(e,t,i)=>{var n=U(e)?{[e]:t}:e;this.setPersonProperties(n),null==i||i({})},set_once:(e,t,i)=>{var n=U(e)?{[e]:t}:e;this.setPersonProperties(void 0,n),null==i||i({})}},this.on(\"eventCaptured\",(e=>X.info('send \"'.concat(null==e?void 0:e.event,'\"'),e)))}init(e,t,i){if(i&&i!==no){var n,r=null!==(n=to[i])&&void 0!==n?n:new lo;return r._init(e,t,i),to[i]=r,to[no][i]=r,r}return this._init(e,t,i)}_init(t){var i,n,r,s=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},o=arguments.length>2?arguments[2]:void 0;if(H(t)||z(t))return X.critical(\"PostHog was initialized without a token. This likely indicates a misconfiguration. Please check the first argument passed to posthog.init()\"),this;if(this.__loaded)return X.warn(\"You have already initialized PostHog! Re-initializing is a no-op\"),this;this.__loaded=!0,this.config={},this._triggered_notifs=[],s.person_profiles&&(this._initialPersonProfilesConfig=s.person_profiles),this.set_config(m({},so(),oo(s),{name:o,token:t})),this.config.on_xhr_error&&X.error(\"on_xhr_error is deprecated. Use on_request_error instead\"),this.compression=s.disable_compression?void 0:F.GZipJS,this.persistence=new bi(this.config),this.sessionPersistence=\"sessionStorage\"===this.config.persistence||\"memory\"===this.config.persistence?this.persistence:new bi(ie(ie({},this.config),{},{persistence:\"sessionStorage\"}));var a=ie({},this.persistence.props),l=ie({},this.sessionPersistence.props);if(this._requestQueue=new ur((e=>this._send_retriable_request(e))),this._retryQueue=new fr(this),this.__request_queue=[],this.sessionManager=new yr(this),this.sessionPropsManager=new Ss(this.sessionManager,this.persistence),new Hs(this).startIfEnabledOrStop(),this.siteApps=new eo(this),null===(i=this.siteApps)||void 0===i||i.init(),this.sessionRecording=new ir(this),this.sessionRecording.startIfEnabledOrStop(),this.config.disable_scroll_properties||this.scrollManager.startMeasuringScrollPosition(),this.autocapture=new qs(this),this.autocapture.startIfEnabled(),this.surveys.loadIfEnabled(),this.heatmaps=new $s(this),this.heatmaps.startIfEnabled(),this.webVitalsAutocapture=new Js(this),this.exceptionObserver=new js(this),this.exceptionObserver.startIfEnabled(),this.deadClicksAutocapture=new Rs(this,Fs),this.deadClicksAutocapture.startIfEnabled(),_.DEBUG=_.DEBUG||this.config.debug,_.DEBUG&&X.info(\"Starting in debug mode\",{this:this,config:s,thisC:ie({},this.config),p:a,s:l}),this._sync_opt_out_with_persistence(),void 0!==(null===(n=s.bootstrap)||void 0===n?void 0:n.distinctID)){var u,c,d=this.config.get_device_id(Ze()),h=null!==(u=s.bootstrap)&&void 0!==u&&u.isIdentifiedID?d:s.bootstrap.distinctID;this.persistence.set_property($e,null!==(c=s.bootstrap)&&void 0!==c&&c.isIdentifiedID?\"identified\":\"anonymous\"),this.register({distinct_id:s.bootstrap.distinctID,$device_id:h})}if(this._hasBootstrappedFeatureFlags()){var p,v,g=Object.keys((null===(p=s.bootstrap)||void 0===p?void 0:p.featureFlags)||{}).filter((e=>{var t,i;return!(null===(t=s.bootstrap)||void 0===t||null===(i=t.featureFlags)||void 0===i||!i[e])})).reduce(((e,t)=>{var i,n;return e[t]=(null===(i=s.bootstrap)||void 0===i||null===(n=i.featureFlags)||void 0===n?void 0:n[t])||!1,e}),{}),f=Object.keys((null===(v=s.bootstrap)||void 0===v?void 0:v.featureFlagPayloads)||{}).filter((e=>g[e])).reduce(((e,t)=>{var i,n,r,o;null!==(i=s.bootstrap)&&void 0!==i&&null!==(n=i.featureFlagPayloads)&&void 0!==n&&n[t]&&(e[t]=null===(r=s.bootstrap)||void 0===r||null===(o=r.featureFlagPayloads)||void 0===o?void 0:o[t]);return e}),{});this.featureFlags.receivedFeatureFlags({featureFlags:g,featureFlagPayloads:f})}if(!this.get_distinct_id()){var b=this.config.get_device_id(Ze());this.register_once({distinct_id:b,$device_id:b},\"\"),this.persistence.set_property($e,\"anonymous\")}return null==e||null===(r=e.addEventListener)||void 0===r||r.call(e,\"onpagehide\"in self?\"pagehide\":\"unload\",this._handle_unload.bind(this)),this.toolbar.maybeLoadToolbar(),s.segment?Rr(this,(()=>this._loaded())):this._loaded(),N(this.config._onCapture)&&this.config._onCapture!==io&&(X.warn(\"onCapture is deprecated. Please use `before_send` instead\"),this.on(\"eventCaptured\",(e=>this.config._onCapture(e.event,e)))),this}_onRemoteConfig(e){var t,i,n,r,s,o,a,l,u;this.compression=void 0,e.supportedCompression&&!this.config.disable_compression&&(this.compression=b(e.supportedCompression,F.GZipJS)?F.GZipJS:b(e.supportedCompression,F.Base64)?F.Base64:void 0),null!==(t=e.analytics)&&void 0!==t&&t.endpoint&&(this.analyticsDefaultEndpoint=e.analytics.endpoint),this.set_config({person_profiles:this._initialPersonProfilesConfig?this._initialPersonProfilesConfig:e.defaultIdentifiedOnly?\"identified_only\":\"always\"}),null===(i=this.siteApps)||void 0===i||i.onRemoteConfig(e),null===(n=this.sessionRecording)||void 0===n||n.onRemoteConfig(e),null===(r=this.autocapture)||void 0===r||r.onRemoteConfig(e),null===(s=this.heatmaps)||void 0===s||s.onRemoteConfig(e),null===(o=this.surveys)||void 0===o||o.onRemoteConfig(e),null===(a=this.webVitalsAutocapture)||void 0===a||a.onRemoteConfig(e),null===(l=this.exceptionObserver)||void 0===l||l.onRemoteConfig(e),null===(u=this.deadClicksAutocapture)||void 0===u||u.onRemoteConfig(e)}_loaded(){this.config.advanced_disable_decide||this.featureFlags.setReloadingPaused(!0);try{this.config.loaded(this)}catch(e){X.critical(\"`loaded` function failed\",e)}this._start_queue_if_opted_in(),this.config.capture_pageview&&setTimeout((()=>{this.consent.isOptedIn()&&this._captureInitialPageview()}),1),new rr(this).call()}_start_queue_if_opted_in(){var e;this.has_opted_out_capturing()||this.config.request_batching&&(null===(e=this._requestQueue)||void 0===e||e.enable())}_dom_loaded(){this.has_opted_out_capturing()||g(this.__request_queue,(e=>this._send_retriable_request(e))),this.__request_queue=[],this._start_queue_if_opted_in()}_handle_unload(){var e,t;this.config.request_batching?(this._shouldCapturePageleave()&&this.capture(\"$pageleave\"),null===(e=this._requestQueue)||void 0===e||e.unload(),null===(t=this._retryQueue)||void 0===t||t.unload()):this._shouldCapturePageleave()&&this.capture(\"$pageleave\",null,{transport:\"sendBeacon\"})}_send_request(e){this.__loaded&&(ro?this.__request_queue.push(e):this.rateLimiter.isServerRateLimited(e.batchKey)||(e.transport=e.transport||this.config.api_transport,e.url=hr(e.url,{ip:this.config.ip?1:0}),e.headers=ie({},this.config.request_headers),e.compression=\"best-available\"===e.compression?this.compression:e.compression,e.fetchOptions=e.fetchOptions||this.config.fetch_options,(e=>{var t,i,n,r=ie({},e);r.timeout=r.timeout||6e4,r.url=hr(r.url,{_:(new Date).getTime().toString(),ver:_.LIB_VERSION,compression:r.compression});var s=null!==(t=r.transport)&&void 0!==t?t:\"XHR\",o=null!==(i=null===(n=P(vr,(e=>e.transport===s)))||void 0===n?void 0:n.method)&&void 0!==i?i:vr[0].method;if(!o)throw new Error(\"No available transport method\");o(r)})(ie(ie({},e),{},{callback:t=>{var i,n,r;(this.rateLimiter.checkForLimiting(t),t.statusCode>=400)&&(null===(n=(r=this.config).on_request_error)||void 0===n||n.call(r,t));null===(i=e.callback)||void 0===i||i.call(e,t)}}))))}_send_retriable_request(e){this._retryQueue?this._retryQueue.retriableRequest(e):this._send_request(e)}_execute_array(e){var t,i=[],n=[],r=[];g(e,(e=>{e&&(t=e[0],D(t)?r.push(e):N(e)?e.call(this):D(e)&&\"alias\"===t?i.push(e):D(e)&&-1!==t.indexOf(\"capture\")&&N(this[t])?r.push(e):n.push(e))}));var s=function(e,t){g(e,(function(e){if(D(e[0])){var i=t;f(e,(function(e){i=i[e[0]].apply(i,e.slice(1))}))}else this[e[0]].apply(this,e.slice(1))}),t)};s(i,this),s(n,this),s(r,this)}_hasBootstrappedFeatureFlags(){var e,t;return(null===(e=this.config.bootstrap)||void 0===e?void 0:e.featureFlags)&&Object.keys(null===(t=this.config.bootstrap)||void 0===t?void 0:t.featureFlags).length>0||!1}push(e){this._execute_array([e])}capture(e,t,i){var n;if(this.__loaded&&this.persistence&&this.sessionPersistence&&this._requestQueue){if(!this.consent.isOptedOut())if(!H(e)&&U(e)){if(this.config.opt_out_useragent_filter||!this._is_bot()){var r=null!=i&&i.skip_client_rate_limiting?void 0:this.rateLimiter.clientRateLimitContext();if(null==r||!r.isRateLimited){this.sessionPersistence.update_search_keyword(),this.config.store_google&&this.sessionPersistence.update_campaign_params(),this.config.save_referrer&&this.sessionPersistence.update_referrer_info(),(this.config.store_google||this.config.save_referrer)&&this.persistence.set_initial_person_info();var s=new Date,o=(null==i?void 0:i.timestamp)||s,a={uuid:Ze(),event:e,properties:this._calculate_event_properties(e,t||{},o)};r&&(a.properties.$lib_rate_limit_remaining_tokens=r.remainingTokens),(null==i?void 0:i.$set)&&(a.$set=null==i?void 0:i.$set);var l=this._calculate_set_once_properties(null==i?void 0:i.$set_once);l&&(a.$set_once=l),(a=x(a,null!=i&&i._noTruncate?null:this.config.properties_string_max_length)).timestamp=o,H(null==i?void 0:i.timestamp)||(a.properties.$event_time_override_provided=!0,a.properties.$event_time_override_system_time=s);var u=ie(ie({},a.properties.$set),a.$set);if(B(u)||this.setPersonPropertiesForFlags(u),!j(this.config.before_send)){var c=this._runBeforeSend(a);if(!c)return;a=c}this._internalEventEmitter.emit(\"eventCaptured\",a);var d={method:\"POST\",url:null!==(n=null==i?void 0:i._url)&&void 0!==n?n:this.requestRouter.endpointFor(\"api\",this.analyticsDefaultEndpoint),data:a,compression:\"best-available\",batchKey:null==i?void 0:i._batchKey};return!this.config.request_batching||i&&(null==i||!i._batchKey)||null!=i&&i.send_instantly?this._send_retriable_request(d):this._requestQueue.enqueue(d),a}X.critical(\"This capture call is ignored due to client rate limiting.\")}}else X.error(\"No event name provided to posthog.capture\")}else X.uninitializedWarning(\"posthog.capture\")}_addCaptureHook(e){return this.on(\"eventCaptured\",(t=>e(t.event,t)))}_calculate_event_properties(e,t,i){if(i=i||new Date,!this.persistence||!this.sessionPersistence)return t;var n=this.persistence.remove_event_timer(e),r=ie({},t);if(r.token=this.config.token,\"$snapshot\"===e){var s=ie(ie({},this.persistence.properties()),this.sessionPersistence.properties());return r.distinct_id=s.distinct_id,(!U(r.distinct_id)&&!G(r.distinct_id)||z(r.distinct_id))&&X.error(\"Invalid distinct_id for replay event. This indicates a bug in your implementation\"),r}var a=fi.properties();if(this.sessionManager){var{sessionId:l,windowId:u}=this.sessionManager.checkAndGetSessionAndWindowId();r.$session_id=l,r.$window_id=u}if(this.sessionRecording&&(r.$recording_status=this.sessionRecording.status),this.requestRouter.region===mr.CUSTOM&&(r.$lib_custom_api_host=this.config.api_host),this.sessionPropsManager&&this.config.__preview_send_client_session_params&&(\"$pageview\"===e||\"$pageleave\"===e||\"$autocapture\"===e)){var c=this.sessionPropsManager.getSessionProps();r=m(r,c)}if(!this.config.disable_scroll_properties){var h={};\"$pageview\"===e?h=this.pageViewManager.doPageView(i):\"$pageleave\"===e&&(h=this.pageViewManager.doPageLeave(i)),r=m(r,h)}if(\"$pageview\"===e&&o&&(r.title=o.title),!H(n)){var _=i.getTime()-n;r.$duration=parseFloat((_/1e3).toFixed(3))}d&&this.config.opt_out_useragent_filter&&(r.$browser_type=this._is_bot()?\"bot\":\"browser\"),(r=m({},a,this.persistence.properties(),this.sessionPersistence.properties(),r)).$is_identified=this._isIdentified(),D(this.config.property_denylist)?f(this.config.property_denylist,(function(e){delete r[e]})):X.error(\"Invalid value for property_denylist config: \"+this.config.property_denylist+\" or property_blacklist config: \"+this.config.property_blacklist);var p=this.config.sanitize_properties;p&&(r=p(r,e));var v=this._hasPersonProcessing();return r.$process_person_profile=v,v&&this._requirePersonProcessing(\"_calculate_event_properties\"),r}_calculate_set_once_properties(e){if(!this.persistence||!this._hasPersonProcessing())return e;var t=m({},this.persistence.get_initial_props(),e||{}),i=this.config.sanitize_properties;return i&&(t=i(t,\"$set_once\")),B(t)?void 0:t}register(e,t){var i;null===(i=this.persistence)||void 0===i||i.register(e,t)}register_once(e,t,i){var n;null===(n=this.persistence)||void 0===n||n.register_once(e,t,i)}register_for_session(e){var t;null===(t=this.sessionPersistence)||void 0===t||t.register(e)}unregister(e){var t;null===(t=this.persistence)||void 0===t||t.unregister(e)}unregister_for_session(e){var t;null===(t=this.sessionPersistence)||void 0===t||t.unregister(e)}_register_single(e,t){this.register({[e]:t})}getFeatureFlag(e,t){return this.featureFlags.getFeatureFlag(e,t)}getFeatureFlagPayload(e){var t=this.featureFlags.getFeatureFlagPayload(e);try{return JSON.parse(t)}catch(e){return t}}isFeatureEnabled(e,t){return this.featureFlags.isFeatureEnabled(e,t)}reloadFeatureFlags(){this.featureFlags.reloadFeatureFlags()}updateEarlyAccessFeatureEnrollment(e,t){this.featureFlags.updateEarlyAccessFeatureEnrollment(e,t)}getEarlyAccessFeatures(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];return this.featureFlags.getEarlyAccessFeatures(e,t)}on(e,t){return this._internalEventEmitter.on(e,t)}onFeatureFlags(e){return this.featureFlags.onFeatureFlags(e)}onSessionId(e){var t,i;return null!==(t=null===(i=this.sessionManager)||void 0===i?void 0:i.onSessionId(e))&&void 0!==t?t:()=>{}}getSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.surveys.getSurveys(e,t)}getActiveMatchingSurveys(e){var t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];this.surveys.getActiveMatchingSurveys(e,t)}renderSurvey(e,t){this.surveys.renderSurvey(e,t)}canRenderSurvey(e){this.surveys.canRenderSurvey(e)}getNextSurveyStep(e,t,i){return this.surveys.getNextSurveyStep(e,t,i)}identify(e,t,i){if(!this.__loaded||!this.persistence)return X.uninitializedWarning(\"posthog.identify\");if(G(e)&&(e=e.toString(),X.warn(\"The first argument to posthog.identify was a number, but it should be a string. It has been converted to a string.\")),e){if([\"distinct_id\",\"distinctid\"].includes(e.toLowerCase()))X.critical('The string \"'.concat(e,'\" was set in posthog.identify which indicates an error. This ID should be unique to the user and not a hardcoded string.'));else if(this._requirePersonProcessing(\"posthog.identify\")){var n=this.get_distinct_id();if(this.register({$user_id:e}),!this.get_property(\"$device_id\")){var r=n;this.register_once({$had_persisted_distinct_id:!0,$device_id:r},\"\")}e!==n&&e!==this.get_property(oe)&&(this.unregister(oe),this.register({distinct_id:e}));var s=\"anonymous\"===(this.persistence.get_property($e)||\"anonymous\");e!==n&&s?(this.persistence.set_property($e,\"identified\"),this.setPersonPropertiesForFlags(t||{},!1),this.capture(\"$identify\",{distinct_id:e,$anon_distinct_id:n},{$set:t||{},$set_once:i||{}}),this.featureFlags.setAnonymousDistinctId(n)):(t||i)&&this.setPersonProperties(t,i),e!==n&&(this.reloadFeatureFlags(),this.unregister(Te))}}else X.error(\"Unique user id has not been set in posthog.identify\")}setPersonProperties(e,t){(e||t)&&this._requirePersonProcessing(\"posthog.setPersonProperties\")&&(this.setPersonPropertiesForFlags(e||{}),this.capture(\"$set\",{$set:e||{},$set_once:t||{}}))}group(e,t,i){if(e&&t){if(this._requirePersonProcessing(\"posthog.group\")){var n=this.getGroups();n[e]!==t&&this.resetGroupPropertiesForFlags(e),this.register({$groups:ie(ie({},n),{},{[e]:t})}),i&&(this.capture(\"$groupidentify\",{$group_type:e,$group_key:t,$group_set:i}),this.setGroupPropertiesForFlags({[e]:i})),n[e]===t||i||this.reloadFeatureFlags()}}else X.error(\"posthog.group requires a group type and group key\")}resetGroups(){this.register({$groups:{}}),this.resetGroupPropertiesForFlags(),this.reloadFeatureFlags()}setPersonPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this.featureFlags.setPersonPropertiesForFlags(e,t)}resetPersonPropertiesForFlags(){this.featureFlags.resetPersonPropertiesForFlags()}setGroupPropertiesForFlags(e){var t=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];this._requirePersonProcessing(\"posthog.setGroupPropertiesForFlags\")&&this.featureFlags.setGroupPropertiesForFlags(e,t)}resetGroupPropertiesForFlags(e){this.featureFlags.resetGroupPropertiesForFlags(e)}reset(e){var t,i,n,r,s;if(X.info(\"reset\"),!this.__loaded)return X.uninitializedWarning(\"posthog.reset\");var o=this.get_property(\"$device_id\");this.consent.reset(),null===(t=this.persistence)||void 0===t||t.clear(),null===(i=this.sessionPersistence)||void 0===i||i.clear(),null===(n=this.surveys)||void 0===n||n.reset(),null===(r=this.persistence)||void 0===r||r.set_property($e,\"anonymous\"),null===(s=this.sessionManager)||void 0===s||s.resetSessionId();var a=this.config.get_device_id(Ze());this.register_once({distinct_id:a,$device_id:e?a:o},\"\")}get_distinct_id(){return this.get_property(\"distinct_id\")}getGroups(){return this.get_property(\"$groups\")||{}}get_session_id(){var e,t;return null!==(e=null===(t=this.sessionManager)||void 0===t?void 0:t.checkAndGetSessionAndWindowId(!0).sessionId)&&void 0!==e?e:\"\"}get_session_replay_url(e){if(!this.sessionManager)return\"\";var{sessionId:t,sessionStartTimestamp:i}=this.sessionManager.checkAndGetSessionAndWindowId(!0),n=this.requestRouter.endpointFor(\"ui\",\"/project/\".concat(this.config.token,\"/replay/\").concat(t));if(null!=e&&e.withTimestamp&&i){var r,s=null!==(r=e.timestampLookBack)&&void 0!==r?r:10;if(!i)return n;var o=Math.max(Math.floor(((new Date).getTime()-i)/1e3)-s,0);n+=\"?t=\".concat(o)}return n}alias(e,t){return e===this.get_property(se)?(X.critical(\"Attempting to create alias for existing People user - aborting.\"),-2):this._requirePersonProcessing(\"posthog.alias\")?(H(t)&&(t=this.get_distinct_id()),e!==t?(this._register_single(oe,e),this.capture(\"$create_alias\",{alias:e,distinct_id:t})):(X.warn(\"alias matches current distinct_id - skipping api call.\"),this.identify(e),-1)):void 0}set_config(e){var t,i,n,r,s=ie({},this.config);q(e)&&(m(this.config,oo(e)),null===(t=this.persistence)||void 0===t||t.update_config(this.config,s),this.sessionPersistence=\"sessionStorage\"===this.config.persistence||\"memory\"===this.config.persistence?this.persistence:new bi(ie(ie({},this.config),{},{persistence:\"sessionStorage\"})),at.is_supported()&&\"true\"===at.get(\"ph_debug\")&&(this.config.debug=!0),this.config.debug&&(_.DEBUG=!0,X.info(\"set_config\",{config:e,oldConfig:s,newConfig:ie({},this.config)})),null===(i=this.sessionRecording)||void 0===i||i.startIfEnabledOrStop(),null===(n=this.autocapture)||void 0===n||n.startIfEnabled(),null===(r=this.heatmaps)||void 0===r||r.startIfEnabled(),this.surveys.loadIfEnabled(),this._sync_opt_out_with_persistence())}startSessionRecording(e){var t=!0===e,i={sampling:t||!(null==e||!e.sampling),linked_flag:t||!(null==e||!e.linked_flag),url_trigger:t||!(null==e||!e.url_trigger),event_trigger:t||!(null==e||!e.event_trigger)};if(Object.values(i).some(Boolean)){var n,r,s,o,a;if(null===(n=this.sessionManager)||void 0===n||n.checkAndGetSessionAndWindowId(),i.sampling)null===(r=this.sessionRecording)||void 0===r||r.overrideSampling();if(i.linked_flag)null===(s=this.sessionRecording)||void 0===s||s.overrideLinkedFlag();if(i.url_trigger)null===(o=this.sessionRecording)||void 0===o||o.overrideTrigger(\"url\");if(i.event_trigger)null===(a=this.sessionRecording)||void 0===a||a.overrideTrigger(\"event\")}this.set_config({disable_session_recording:!1})}stopSessionRecording(){this.set_config({disable_session_recording:!0})}sessionRecordingStarted(){var e;return!(null===(e=this.sessionRecording)||void 0===e||!e.started)}captureException(e,t){var i,n=new Error(\"PostHog syntheticException\"),r=N(null===(i=h.__PosthogExtensions__)||void 0===i?void 0:i.parseErrorAsProperties)?h.__PosthogExtensions__.parseErrorAsProperties([e.message,void 0,void 0,void 0,e],{syntheticException:n}):ie({$exception_level:\"error\",$exception_list:[{type:e.name,value:e.message,mechanism:{handled:!0,synthetic:!1}}]},t);this.exceptions.sendExceptionEvent(r)}loadToolbar(e){return this.toolbar.loadToolbar(e)}get_property(e){var t;return null===(t=this.persistence)||void 0===t?void 0:t.props[e]}getSessionProperty(e){var t;return null===(t=this.sessionPersistence)||void 0===t?void 0:t.props[e]}toString(){var e,t=null!==(e=this.config.name)&&void 0!==e?e:no;return t!==no&&(t=no+\".\"+t),t}_isIdentified(){var e,t;return\"identified\"===(null===(e=this.persistence)||void 0===e?void 0:e.get_property($e))||\"identified\"===(null===(t=this.sessionPersistence)||void 0===t?void 0:t.get_property($e))}_hasPersonProcessing(){var e,t,i,n;return!(\"never\"===this.config.person_profiles||\"identified_only\"===this.config.person_profiles&&!this._isIdentified()&&B(this.getGroups())&&(null===(e=this.persistence)||void 0===e||null===(t=e.props)||void 0===t||!t[oe])&&(null===(i=this.persistence)||void 0===i||null===(n=i.props)||void 0===n||!n[Ne]))}_shouldCapturePageleave(){return!0===this.config.capture_pageleave||\"if_capture_pageview\"===this.config.capture_pageleave&&this.config.capture_pageview}createPersonProfile(){this._hasPersonProcessing()||this._requirePersonProcessing(\"posthog.createPersonProfile\")&&this.setPersonProperties({},{})}_requirePersonProcessing(e){return\"never\"===this.config.person_profiles?(X.error(e+' was called, but process_person is set to \"never\". This call will be ignored.'),!1):(this._register_single(Ne,!0),!0)}_sync_opt_out_with_persistence(){var e,t,i,n,r=this.consent.isOptedOut(),s=this.config.opt_out_persistence_by_default,o=this.config.disable_persistence||r&&!!s;(null===(e=this.persistence)||void 0===e?void 0:e.disabled)!==o&&(null===(i=this.persistence)||void 0===i||i.set_disabled(o));(null===(t=this.sessionPersistence)||void 0===t?void 0:t.disabled)!==o&&(null===(n=this.sessionPersistence)||void 0===n||n.set_disabled(o))}opt_in_capturing(e){var t;(this.consent.optInOut(!0),this._sync_opt_out_with_persistence(),H(null==e?void 0:e.captureEventName)||null!=e&&e.captureEventName)&&this.capture(null!==(t=null==e?void 0:e.captureEventName)&&void 0!==t?t:\"$opt_in\",null==e?void 0:e.captureProperties,{send_instantly:!0});this.config.capture_pageview&&this._captureInitialPageview()}opt_out_capturing(){this.consent.optInOut(!1),this._sync_opt_out_with_persistence()}has_opted_in_capturing(){return this.consent.isOptedIn()}has_opted_out_capturing(){return this.consent.isOptedOut()}clear_opt_in_out_capturing(){this.consent.reset(),this._sync_opt_out_with_persistence()}_is_bot(){return s?xs(s,this.config.custom_blocked_useragents):void 0}_captureInitialPageview(){o&&!this._initialPageviewCaptured&&(this._initialPageviewCaptured=!0,this.capture(\"$pageview\",{title:o.title},{send_instantly:!0}))}debug(t){!1===t?(null==e||e.console.log(\"You've disabled debug mode.\"),localStorage&&localStorage.removeItem(\"ph_debug\"),this.set_config({debug:!1})):(null==e||e.console.log(\"You're now in debug mode. All calls to PostHog will be logged in your console.\\nYou can disable this with `posthog.debug(false)`.\"),localStorage&&localStorage.setItem(\"ph_debug\",\"true\"),this.set_config({debug:!0}))}_runBeforeSend(e){if(j(this.config.before_send))return e;var t=D(this.config.before_send)?this.config.before_send:[this.config.before_send],i=e;for(var n of t){if(i=n(i),j(i)){var r=\"Event '\".concat(e.event,\"' was rejected in beforeSend function\");return Q(e.event)?X.warn(\"\".concat(r,\". This can cause unexpected behavior.\")):X.info(r),null}i.properties&&!B(i.properties)||X.warn(\"Event '\".concat(e.event,\"' has no properties after beforeSend function, this is likely an error.\"))}return i}}!function(e,t){for(var i=0;i {\n // TODO(v7): Remove this check as it's only needed for Node 6\n const originalWrappedFunc =\n originalConsole[level] && (originalConsole[level] ).__sentry_original__;\n if (level in originalConsole && originalWrappedFunc) {\n wrappedLevels[level] = originalConsole[level] ;\n originalConsole[level] = originalWrappedFunc ;\n }\n });\n\n try {\n return callback();\n } finally {\n // Revert restoration to wrapped state\n Object.keys(wrappedLevels).forEach(level => {\n originalConsole[level] = wrappedLevels[level ];\n });\n }\n}\n\nfunction makeLogger() {\n let enabled = false;\n const logger = {\n enable: () => {\n enabled = true;\n },\n disable: () => {\n enabled = false;\n },\n };\n\n if ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n CONSOLE_LEVELS.forEach(name => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n logger[name] = (...args) => {\n if (enabled) {\n consoleSandbox(() => {\n GLOBAL_OBJ.console[name](`${PREFIX}[${name}]:`, ...args);\n });\n }\n };\n });\n } else {\n CONSOLE_LEVELS.forEach(name => {\n logger[name] = () => undefined;\n });\n }\n\n return logger ;\n}\n\n// Ensure we only have a single logger instance, even if multiple versions of @sentry/utils are being used\nlet logger;\nif ((typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__)) {\n logger = getGlobalSingleton('logger', makeLogger);\n} else {\n logger = makeLogger();\n}\n\nexport { CONSOLE_LEVELS, consoleSandbox, logger };\n//# sourceMappingURL=logger.js.map\n","// eslint-disable-next-line @typescript-eslint/unbound-method\nconst objectToString = Object.prototype.toString;\n\n/**\n * Checks whether given value's type is one of a few Error or Error-like\n * {@link isError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isError(wat) {\n switch (objectToString.call(wat)) {\n case '[object Error]':\n case '[object Exception]':\n case '[object DOMException]':\n return true;\n default:\n return isInstanceOf(wat, Error);\n }\n}\n/**\n * Checks whether given value is an instance of the given built-in class.\n *\n * @param wat The value to be checked\n * @param className\n * @returns A boolean representing the result.\n */\nfunction isBuiltin(wat, className) {\n return objectToString.call(wat) === `[object ${className}]`;\n}\n\n/**\n * Checks whether given value's type is ErrorEvent\n * {@link isErrorEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isErrorEvent(wat) {\n return isBuiltin(wat, 'ErrorEvent');\n}\n\n/**\n * Checks whether given value's type is DOMError\n * {@link isDOMError}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMError(wat) {\n return isBuiltin(wat, 'DOMError');\n}\n\n/**\n * Checks whether given value's type is DOMException\n * {@link isDOMException}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isDOMException(wat) {\n return isBuiltin(wat, 'DOMException');\n}\n\n/**\n * Checks whether given value's type is a string\n * {@link isString}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isString(wat) {\n return isBuiltin(wat, 'String');\n}\n\n/**\n * Checks whether given value is a primitive (undefined, null, number, boolean, string, bigint, symbol)\n * {@link isPrimitive}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPrimitive(wat) {\n return wat === null || (typeof wat !== 'object' && typeof wat !== 'function');\n}\n\n/**\n * Checks whether given value's type is an object literal\n * {@link isPlainObject}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isPlainObject(wat) {\n return isBuiltin(wat, 'Object');\n}\n\n/**\n * Checks whether given value's type is an Event instance\n * {@link isEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isEvent(wat) {\n return typeof Event !== 'undefined' && isInstanceOf(wat, Event);\n}\n\n/**\n * Checks whether given value's type is an Element instance\n * {@link isElement}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isElement(wat) {\n return typeof Element !== 'undefined' && isInstanceOf(wat, Element);\n}\n\n/**\n * Checks whether given value's type is an regexp\n * {@link isRegExp}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isRegExp(wat) {\n return isBuiltin(wat, 'RegExp');\n}\n\n/**\n * Checks whether given value has a then function.\n * @param wat A value to be checked.\n */\nfunction isThenable(wat) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n return Boolean(wat && wat.then && typeof wat.then === 'function');\n}\n\n/**\n * Checks whether given value's type is a SyntheticEvent\n * {@link isSyntheticEvent}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isSyntheticEvent(wat) {\n return isPlainObject(wat) && 'nativeEvent' in wat && 'preventDefault' in wat && 'stopPropagation' in wat;\n}\n\n/**\n * Checks whether given value is NaN\n * {@link isNaN}.\n *\n * @param wat A value to be checked.\n * @returns A boolean representing the result.\n */\nfunction isNaN(wat) {\n return typeof wat === 'number' && wat !== wat;\n}\n\n/**\n * Checks whether given value's type is an instance of provided constructor.\n * {@link isInstanceOf}.\n *\n * @param wat A value to be checked.\n * @param base A constructor to be used in a check.\n * @returns A boolean representing the result.\n */\nfunction isInstanceOf(wat, base) {\n try {\n return wat instanceof base;\n } catch (_e) {\n return false;\n }\n}\n\nexport { isDOMError, isDOMException, isElement, isError, isErrorEvent, isEvent, isInstanceOf, isNaN, isPlainObject, isPrimitive, isRegExp, isString, isSyntheticEvent, isThenable };\n//# sourceMappingURL=is.js.map\n","import { isThenable } from './is.js';\n\n/* eslint-disable @typescript-eslint/explicit-function-return-type */\n\n/** SyncPromise internal states */\nvar States; (function (States) {\n /** Pending */\n const PENDING = 0; States[States[\"PENDING\"] = PENDING] = \"PENDING\";\n /** Resolved / OK */\n const RESOLVED = 1; States[States[\"RESOLVED\"] = RESOLVED] = \"RESOLVED\";\n /** Rejected / Error */\n const REJECTED = 2; States[States[\"REJECTED\"] = REJECTED] = \"REJECTED\";\n})(States || (States = {}));\n\n// Overloads so we can call resolvedSyncPromise without arguments and generic argument\n\n/**\n * Creates a resolved sync promise.\n *\n * @param value the value to resolve the promise with\n * @returns the resolved sync promise\n */\nfunction resolvedSyncPromise(value) {\n return new SyncPromise(resolve => {\n resolve(value);\n });\n}\n\n/**\n * Creates a rejected sync promise.\n *\n * @param value the value to reject the promise with\n * @returns the rejected sync promise\n */\nfunction rejectedSyncPromise(reason) {\n return new SyncPromise((_, reject) => {\n reject(reason);\n });\n}\n\n/**\n * Thenable class that behaves like a Promise and follows it's interface\n * but is not async internally\n */\nclass SyncPromise {\n __init() {this._state = States.PENDING;}\n __init2() {this._handlers = [];}\n\n constructor(\n executor,\n ) {;SyncPromise.prototype.__init.call(this);SyncPromise.prototype.__init2.call(this);SyncPromise.prototype.__init3.call(this);SyncPromise.prototype.__init4.call(this);SyncPromise.prototype.__init5.call(this);SyncPromise.prototype.__init6.call(this);\n try {\n executor(this._resolve, this._reject);\n } catch (e) {\n this._reject(e);\n }\n }\n\n /** JSDoc */\n then(\n onfulfilled,\n onrejected,\n ) {\n return new SyncPromise((resolve, reject) => {\n this._handlers.push([\n false,\n result => {\n if (!onfulfilled) {\n // TODO: ¯\\_(ツ)_/¯\n // TODO: FIXME\n resolve(result );\n } else {\n try {\n resolve(onfulfilled(result));\n } catch (e) {\n reject(e);\n }\n }\n },\n reason => {\n if (!onrejected) {\n reject(reason);\n } else {\n try {\n resolve(onrejected(reason));\n } catch (e) {\n reject(e);\n }\n }\n },\n ]);\n this._executeHandlers();\n });\n }\n\n /** JSDoc */\n catch(\n onrejected,\n ) {\n return this.then(val => val, onrejected);\n }\n\n /** JSDoc */\n finally(onfinally) {\n return new SyncPromise((resolve, reject) => {\n let val;\n let isRejected;\n\n return this.then(\n value => {\n isRejected = false;\n val = value;\n if (onfinally) {\n onfinally();\n }\n },\n reason => {\n isRejected = true;\n val = reason;\n if (onfinally) {\n onfinally();\n }\n },\n ).then(() => {\n if (isRejected) {\n reject(val);\n return;\n }\n\n resolve(val );\n });\n });\n }\n\n /** JSDoc */\n __init3() {this._resolve = (value) => {\n this._setResult(States.RESOLVED, value);\n };}\n\n /** JSDoc */\n __init4() {this._reject = (reason) => {\n this._setResult(States.REJECTED, reason);\n };}\n\n /** JSDoc */\n __init5() {this._setResult = (state, value) => {\n if (this._state !== States.PENDING) {\n return;\n }\n\n if (isThenable(value)) {\n void (value ).then(this._resolve, this._reject);\n return;\n }\n\n this._state = state;\n this._value = value;\n\n this._executeHandlers();\n };}\n\n /** JSDoc */\n __init6() {this._executeHandlers = () => {\n if (this._state === States.PENDING) {\n return;\n }\n\n const cachedHandlers = this._handlers.slice();\n this._handlers = [];\n\n cachedHandlers.forEach(handler => {\n if (handler[0]) {\n return;\n }\n\n if (this._state === States.RESOLVED) {\n // eslint-disable-next-line @typescript-eslint/no-floating-promises\n handler[1](this._value );\n }\n\n if (this._state === States.REJECTED) {\n handler[2](this._value);\n }\n\n handler[0] = true;\n });\n };}\n}\n\nexport { SyncPromise, rejectedSyncPromise, resolvedSyncPromise };\n//# sourceMappingURL=syncpromise.js.map\n","import { addNonEnumerableProperty } from './object.js';\nimport { snipLine } from './string.js';\nimport { GLOBAL_OBJ } from './worldwide.js';\n\n/**\n * UUID4 generator\n *\n * @returns string Generated UUID4.\n */\nfunction uuid4() {\n const gbl = GLOBAL_OBJ ;\n const crypto = gbl.crypto || gbl.msCrypto;\n\n if (crypto && crypto.randomUUID) {\n return crypto.randomUUID().replace(/-/g, '');\n }\n\n const getRandomByte =\n crypto && crypto.getRandomValues ? () => crypto.getRandomValues(new Uint8Array(1))[0] : () => Math.random() * 16;\n\n // http://stackoverflow.com/questions/105034/how-to-create-a-guid-uuid-in-javascript/2117523#2117523\n // Concatenating the following numbers as strings results in '10000000100040008000100000000000'\n return (([1e7] ) + 1e3 + 4e3 + 8e3 + 1e11).replace(/[018]/g, c =>\n // eslint-disable-next-line no-bitwise\n ((c ) ^ ((getRandomByte() & 15) >> ((c ) / 4))).toString(16),\n );\n}\n\nfunction getFirstException(event) {\n return event.exception && event.exception.values ? event.exception.values[0] : undefined;\n}\n\n/**\n * Extracts either message or type+value from an event that can be used for user-facing logs\n * @returns event's description\n */\nfunction getEventDescription(event) {\n const { message, event_id: eventId } = event;\n if (message) {\n return message;\n }\n\n const firstException = getFirstException(event);\n if (firstException) {\n if (firstException.type && firstException.value) {\n return `${firstException.type}: ${firstException.value}`;\n }\n return firstException.type || firstException.value || eventId || '';\n }\n return eventId || '';\n}\n\n/**\n * Adds exception values, type and value to an synthetic Exception.\n * @param event The event to modify.\n * @param value Value of the exception.\n * @param type Type of the exception.\n * @hidden\n */\nfunction addExceptionTypeValue(event, value, type) {\n const exception = (event.exception = event.exception || {});\n const values = (exception.values = exception.values || []);\n const firstException = (values[0] = values[0] || {});\n if (!firstException.value) {\n firstException.value = value || '';\n }\n if (!firstException.type) {\n firstException.type = type || 'Error';\n }\n}\n\n/**\n * Adds exception mechanism data to a given event. Uses defaults if the second parameter is not passed.\n *\n * @param event The event to modify.\n * @param newMechanism Mechanism data to add to the event.\n * @hidden\n */\nfunction addExceptionMechanism(event, newMechanism) {\n const firstException = getFirstException(event);\n if (!firstException) {\n return;\n }\n\n const defaultMechanism = { type: 'generic', handled: true };\n const currentMechanism = firstException.mechanism;\n firstException.mechanism = { ...defaultMechanism, ...currentMechanism, ...newMechanism };\n\n if (newMechanism && 'data' in newMechanism) {\n const mergedData = { ...(currentMechanism && currentMechanism.data), ...newMechanism.data };\n firstException.mechanism.data = mergedData;\n }\n}\n\n// https://semver.org/#is-there-a-suggested-regular-expression-regex-to-check-a-semver-string\nconst SEMVER_REGEXP =\n /^(0|[1-9]\\d*)\\.(0|[1-9]\\d*)\\.(0|[1-9]\\d*)(?:-((?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\\.(?:0|[1-9]\\d*|\\d*[a-zA-Z-][0-9a-zA-Z-]*))*))?(?:\\+([0-9a-zA-Z-]+(?:\\.[0-9a-zA-Z-]+)*))?$/;\n\n/**\n * Represents Semantic Versioning object\n */\n\n/**\n * Parses input into a SemVer interface\n * @param input string representation of a semver version\n */\nfunction parseSemver(input) {\n const match = input.match(SEMVER_REGEXP) || [];\n const major = parseInt(match[1], 10);\n const minor = parseInt(match[2], 10);\n const patch = parseInt(match[3], 10);\n return {\n buildmetadata: match[5],\n major: isNaN(major) ? undefined : major,\n minor: isNaN(minor) ? undefined : minor,\n patch: isNaN(patch) ? undefined : patch,\n prerelease: match[4],\n };\n}\n\n/**\n * This function adds context (pre/post/line) lines to the provided frame\n *\n * @param lines string[] containing all lines\n * @param frame StackFrame that will be mutated\n * @param linesOfContext number of context lines we want to add pre/post\n */\nfunction addContextToFrame(lines, frame, linesOfContext = 5) {\n const lineno = frame.lineno || 0;\n const maxLines = lines.length;\n const sourceLine = Math.max(Math.min(maxLines, lineno - 1), 0);\n\n frame.pre_context = lines\n .slice(Math.max(0, sourceLine - linesOfContext), sourceLine)\n .map((line) => snipLine(line, 0));\n\n frame.context_line = snipLine(lines[Math.min(maxLines - 1, sourceLine)], frame.colno || 0);\n\n frame.post_context = lines\n .slice(Math.min(sourceLine + 1, maxLines), sourceLine + 1 + linesOfContext)\n .map((line) => snipLine(line, 0));\n}\n\n/**\n * Checks whether or not we've already captured the given exception (note: not an identical exception - the very object\n * in question), and marks it captured if not.\n *\n * This is useful because it's possible for an error to get captured by more than one mechanism. After we intercept and\n * record an error, we rethrow it (assuming we've intercepted it before it's reached the top-level global handlers), so\n * that we don't interfere with whatever effects the error might have had were the SDK not there. At that point, because\n * the error has been rethrown, it's possible for it to bubble up to some other code we've instrumented. If it's not\n * caught after that, it will bubble all the way up to the global handlers (which of course we also instrument). This\n * function helps us ensure that even if we encounter the same error more than once, we only record it the first time we\n * see it.\n *\n * Note: It will ignore primitives (always return `false` and not mark them as seen), as properties can't be set on\n * them. {@link: Object.objectify} can be used on exceptions to convert any that are primitives into their equivalent\n * object wrapper forms so that this check will always work. However, because we need to flag the exact object which\n * will get rethrown, and because that rethrowing happens outside of the event processing pipeline, the objectification\n * must be done before the exception captured.\n *\n * @param A thrown exception to check or flag as having been seen\n * @returns `true` if the exception has already been captured, `false` if not (with the side effect of marking it seen)\n */\nfunction checkOrSetAlreadyCaught(exception) {\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n if (exception && (exception ).__sentry_captured__) {\n return true;\n }\n\n try {\n // set it this way rather than by assignment so that it's not ennumerable and therefore isn't recorded by the\n // `ExtraErrorData` integration\n addNonEnumerableProperty(exception , '__sentry_captured__', true);\n } catch (err) {\n // `exception` is a primitive, so we can't mark it seen\n }\n\n return false;\n}\n\n/**\n * Checks whether the given input is already an array, and if it isn't, wraps it in one.\n *\n * @param maybeArray Input to turn into an array, if necessary\n * @returns The input, if already an array, or an array with the input as the only element, if not\n */\nfunction arrayify(maybeArray) {\n return Array.isArray(maybeArray) ? maybeArray : [maybeArray];\n}\n\nexport { addContextToFrame, addExceptionMechanism, addExceptionTypeValue, arrayify, checkOrSetAlreadyCaught, getEventDescription, parseSemver, uuid4 };\n//# sourceMappingURL=misc.js.map\n","import { htmlTreeAsString } from './browser.js';\nimport { isError, isEvent, isInstanceOf, isElement, isPlainObject, isPrimitive } from './is.js';\nimport { truncate } from './string.js';\n\n/**\n * Replace a method in an object with a wrapped version of itself.\n *\n * @param source An object that contains a method to be wrapped.\n * @param name The name of the method to be wrapped.\n * @param replacementFactory A higher-order function that takes the original version of the given method and returns a\n * wrapped version. Note: The function returned by `replacementFactory` needs to be a non-arrow function, in order to\n * preserve the correct value of `this`, and the original method must be called using `origMethod.call(this, )` or `origMethod.apply(this, [])` (rather than being called directly), again to preserve `this`.\n * @returns void\n */\nfunction fill(source, name, replacementFactory) {\n if (!(name in source)) {\n return;\n }\n\n const original = source[name] ;\n const wrapped = replacementFactory(original) ;\n\n // Make sure it's a function first, as we need to attach an empty prototype for `defineProperties` to work\n // otherwise it'll throw \"TypeError: Object.defineProperties called on non-object\"\n if (typeof wrapped === 'function') {\n try {\n markFunctionWrapped(wrapped, original);\n } catch (_Oo) {\n // This can throw if multiple fill happens on a global object like XMLHttpRequest\n // Fixes https://github.com/getsentry/sentry-javascript/issues/2043\n }\n }\n\n source[name] = wrapped;\n}\n\n/**\n * Defines a non-enumerable property on the given object.\n *\n * @param obj The object on which to set the property\n * @param name The name of the property to be set\n * @param value The value to which to set the property\n */\nfunction addNonEnumerableProperty(obj, name, value) {\n Object.defineProperty(obj, name, {\n // enumerable: false, // the default, so we can save on bundle size by not explicitly setting it\n value: value,\n writable: true,\n configurable: true,\n });\n}\n\n/**\n * Remembers the original function on the wrapped function and\n * patches up the prototype.\n *\n * @param wrapped the wrapper function\n * @param original the original function that gets wrapped\n */\nfunction markFunctionWrapped(wrapped, original) {\n const proto = original.prototype || {};\n wrapped.prototype = original.prototype = proto;\n addNonEnumerableProperty(wrapped, '__sentry_original__', original);\n}\n\n/**\n * This extracts the original function if available. See\n * `markFunctionWrapped` for more information.\n *\n * @param func the function to unwrap\n * @returns the unwrapped version of the function if available.\n */\nfunction getOriginalFunction(func) {\n return func.__sentry_original__;\n}\n\n/**\n * Encodes given object into url-friendly format\n *\n * @param object An object that contains serializable values\n * @returns string Encoded\n */\nfunction urlEncode(object) {\n return Object.keys(object)\n .map(key => `${encodeURIComponent(key)}=${encodeURIComponent(object[key])}`)\n .join('&');\n}\n\n/**\n * Transforms any `Error` or `Event` into a plain object with all of their enumerable properties, and some of their\n * non-enumerable properties attached.\n *\n * @param value Initial source that we have to transform in order for it to be usable by the serializer\n * @returns An Event or Error turned into an object - or the value argurment itself, when value is neither an Event nor\n * an Error.\n */\nfunction convertToPlainObject(\n value,\n)\n\n {\n if (isError(value)) {\n return {\n message: value.message,\n name: value.name,\n stack: value.stack,\n ...getOwnProperties(value),\n };\n } else if (isEvent(value)) {\n const newObj\n\n = {\n type: value.type,\n target: serializeEventTarget(value.target),\n currentTarget: serializeEventTarget(value.currentTarget),\n ...getOwnProperties(value),\n };\n\n if (typeof CustomEvent !== 'undefined' && isInstanceOf(value, CustomEvent)) {\n newObj.detail = value.detail;\n }\n\n return newObj;\n } else {\n return value;\n }\n}\n\n/** Creates a string representation of the target of an `Event` object */\nfunction serializeEventTarget(target) {\n try {\n return isElement(target) ? htmlTreeAsString(target) : Object.prototype.toString.call(target);\n } catch (_oO) {\n return '';\n }\n}\n\n/** Filters out all but an object's own properties */\nfunction getOwnProperties(obj) {\n if (typeof obj === 'object' && obj !== null) {\n const extractedProps = {};\n for (const property in obj) {\n if (Object.prototype.hasOwnProperty.call(obj, property)) {\n extractedProps[property] = (obj )[property];\n }\n }\n return extractedProps;\n } else {\n return {};\n }\n}\n\n/**\n * Given any captured exception, extract its keys and create a sorted\n * and truncated list that will be used inside the event message.\n * eg. `Non-error exception captured with keys: foo, bar, baz`\n */\nfunction extractExceptionKeysForMessage(exception, maxLength = 40) {\n const keys = Object.keys(convertToPlainObject(exception));\n keys.sort();\n\n if (!keys.length) {\n return '[object has no keys]';\n }\n\n if (keys[0].length >= maxLength) {\n return truncate(keys[0], maxLength);\n }\n\n for (let includedKeys = keys.length; includedKeys > 0; includedKeys--) {\n const serialized = keys.slice(0, includedKeys).join(', ');\n if (serialized.length > maxLength) {\n continue;\n }\n if (includedKeys === keys.length) {\n return serialized;\n }\n return truncate(serialized, maxLength);\n }\n\n return '';\n}\n\n/**\n * Given any object, return a new object having removed all fields whose value was `undefined`.\n * Works recursively on objects and arrays.\n *\n * Attention: This function keeps circular references in the returned object.\n */\nfunction dropUndefinedKeys(inputValue) {\n // This map keeps track of what already visited nodes map to.\n // Our Set - based memoBuilder doesn't work here because we want to the output object to have the same circular\n // references as the input object.\n const memoizationMap = new Map();\n\n // This function just proxies `_dropUndefinedKeys` to keep the `memoBuilder` out of this function's API\n return _dropUndefinedKeys(inputValue, memoizationMap);\n}\n\nfunction _dropUndefinedKeys(inputValue, memoizationMap) {\n if (isPlainObject(inputValue)) {\n // If this node has already been visited due to a circular reference, return the object it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = {};\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n for (const key of Object.keys(inputValue)) {\n if (typeof inputValue[key] !== 'undefined') {\n returnValue[key] = _dropUndefinedKeys(inputValue[key], memoizationMap);\n }\n }\n\n return returnValue ;\n }\n\n if (Array.isArray(inputValue)) {\n // If this node has already been visited due to a circular reference, return the array it was mapped to in the new object\n const memoVal = memoizationMap.get(inputValue);\n if (memoVal !== undefined) {\n return memoVal ;\n }\n\n const returnValue = [];\n // Store the mapping of this value in case we visit it again, in case of circular data\n memoizationMap.set(inputValue, returnValue);\n\n inputValue.forEach((item) => {\n returnValue.push(_dropUndefinedKeys(item, memoizationMap));\n });\n\n return returnValue ;\n }\n\n return inputValue;\n}\n\n/**\n * Ensure that something is an object.\n *\n * Turns `undefined` and `null` into `String`s and all other primitives into instances of their respective wrapper\n * classes (String, Boolean, Number, etc.). Acts as the identity function on non-primitives.\n *\n * @param wat The subject of the objectification\n * @returns A version of `wat` which can safely be used with `Object` class methods\n */\nfunction objectify(wat) {\n let objectified;\n switch (true) {\n case wat === undefined || wat === null:\n objectified = new String(wat);\n break;\n\n // Though symbols and bigints do have wrapper classes (`Symbol` and `BigInt`, respectively), for whatever reason\n // those classes don't have constructors which can be used with the `new` keyword. We therefore need to cast each as\n // an object in order to wrap it.\n case typeof wat === 'symbol' || typeof wat === 'bigint':\n objectified = Object(wat);\n break;\n\n // this will catch the remaining primitives: `String`, `Number`, and `Boolean`\n case isPrimitive(wat):\n // eslint-disable-next-line @typescript-eslint/no-unsafe-member-access\n objectified = new (wat ).constructor(wat);\n break;\n\n // by process of elimination, at this point we know that `wat` must already be an object\n default:\n objectified = wat;\n break;\n }\n return objectified;\n}\n\nexport { addNonEnumerableProperty, convertToPlainObject, dropUndefinedKeys, extractExceptionKeysForMessage, fill, getOriginalFunction, markFunctionWrapped, objectify, urlEncode };\n//# sourceMappingURL=object.js.map\n","import { timestampInSeconds, uuid4, dropUndefinedKeys } from '@sentry/utils';\n\n/**\n * Creates a new `Session` object by setting certain default parameters. If optional @param context\n * is passed, the passed properties are applied to the session object.\n *\n * @param context (optional) additional properties to be applied to the returned session object\n *\n * @returns a new `Session` object\n */\nfunction makeSession(context) {\n // Both timestamp and started are in seconds since the UNIX epoch.\n const startingTime = timestampInSeconds();\n\n const session = {\n sid: uuid4(),\n init: true,\n timestamp: startingTime,\n started: startingTime,\n duration: 0,\n status: 'ok',\n errors: 0,\n ignoreDuration: false,\n toJSON: () => sessionToJSON(session),\n };\n\n if (context) {\n updateSession(session, context);\n }\n\n return session;\n}\n\n/**\n * Updates a session object with the properties passed in the context.\n *\n * Note that this function mutates the passed object and returns void.\n * (Had to do this instead of returning a new and updated session because closing and sending a session\n * makes an update to the session after it was passed to the sending logic.\n * @see BaseClient.captureSession )\n *\n * @param session the `Session` to update\n * @param context the `SessionContext` holding the properties that should be updated in @param session\n */\n// eslint-disable-next-line complexity\nfunction updateSession(session, context = {}) {\n if (context.user) {\n if (!session.ipAddress && context.user.ip_address) {\n session.ipAddress = context.user.ip_address;\n }\n\n if (!session.did && !context.did) {\n session.did = context.user.id || context.user.email || context.user.username;\n }\n }\n\n session.timestamp = context.timestamp || timestampInSeconds();\n\n if (context.ignoreDuration) {\n session.ignoreDuration = context.ignoreDuration;\n }\n if (context.sid) {\n // Good enough uuid validation. — Kamil\n session.sid = context.sid.length === 32 ? context.sid : uuid4();\n }\n if (context.init !== undefined) {\n session.init = context.init;\n }\n if (!session.did && context.did) {\n session.did = `${context.did}`;\n }\n if (typeof context.started === 'number') {\n session.started = context.started;\n }\n if (session.ignoreDuration) {\n session.duration = undefined;\n } else if (typeof context.duration === 'number') {\n session.duration = context.duration;\n } else {\n const duration = session.timestamp - session.started;\n session.duration = duration >= 0 ? duration : 0;\n }\n if (context.release) {\n session.release = context.release;\n }\n if (context.environment) {\n session.environment = context.environment;\n }\n if (!session.ipAddress && context.ipAddress) {\n session.ipAddress = context.ipAddress;\n }\n if (!session.userAgent && context.userAgent) {\n session.userAgent = context.userAgent;\n }\n if (typeof context.errors === 'number') {\n session.errors = context.errors;\n }\n if (context.status) {\n session.status = context.status;\n }\n}\n\n/**\n * Closes a session by setting its status and updating the session object with it.\n * Internally calls `updateSession` to update the passed session object.\n *\n * Note that this function mutates the passed session (@see updateSession for explanation).\n *\n * @param session the `Session` object to be closed\n * @param status the `SessionStatus` with which the session was closed. If you don't pass a status,\n * this function will keep the previously set status, unless it was `'ok'` in which case\n * it is changed to `'exited'`.\n */\nfunction closeSession(session, status) {\n let context = {};\n if (status) {\n context = { status };\n } else if (session.status === 'ok') {\n context = { status: 'exited' };\n }\n\n updateSession(session, context);\n}\n\n/**\n * Serializes a passed session object to a JSON object with a slightly different structure.\n * This is necessary because the Sentry backend requires a slightly different schema of a session\n * than the one the JS SDKs use internally.\n *\n * @param session the session to be converted\n *\n * @returns a JSON object of the passed session\n */\nfunction sessionToJSON(session) {\n return dropUndefinedKeys({\n sid: `${session.sid}`,\n init: session.init,\n // Make sure that sec is converted to ms for date constructor\n started: new Date(session.started * 1000).toISOString(),\n timestamp: new Date(session.timestamp * 1000).toISOString(),\n status: session.status,\n errors: session.errors,\n did: typeof session.did === 'number' || typeof session.did === 'string' ? `${session.did}` : undefined,\n duration: session.duration,\n attrs: {\n release: session.release,\n environment: session.environment,\n ip_address: session.ipAddress,\n user_agent: session.userAgent,\n },\n });\n}\n\nexport { closeSession, makeSession, updateSession };\n//# sourceMappingURL=session.js.map\n","import { isPlainObject, dateTimestampInSeconds, SyncPromise, logger, isThenable, arrayify, getGlobalSingleton } from '@sentry/utils';\nimport { updateSession } from './session.js';\n\n/**\n * Default value for maximum number of breadcrumbs added to an event.\n */\nconst DEFAULT_MAX_BREADCRUMBS = 100;\n\n/**\n * Holds additional event information. {@link Scope.applyToEvent} will be\n * called by the client before an event will be sent.\n */\nclass Scope {\n /** Flag if notifying is happening. */\n\n /** Callback for client to receive scope changes. */\n\n /** Callback list that will be called after {@link applyToEvent}. */\n\n /** Array of breadcrumbs. */\n\n /** User */\n\n /** Tags */\n\n /** Extra */\n\n /** Contexts */\n\n /** Attachments */\n\n /**\n * A place to stash data which is needed at some point in the SDK's event processing pipeline but which shouldn't get\n * sent to Sentry\n */\n\n /** Fingerprint */\n\n /** Severity */\n // eslint-disable-next-line deprecation/deprecation\n\n /** Transaction Name */\n\n /** Span */\n\n /** Session */\n\n /** Request Mode Session Status */\n\n // NOTE: Any field which gets added here should get added not only to the constructor but also to the `clone` method.\n\n constructor() {\n this._notifyingListeners = false;\n this._scopeListeners = [];\n this._eventProcessors = [];\n this._breadcrumbs = [];\n this._attachments = [];\n this._user = {};\n this._tags = {};\n this._extra = {};\n this._contexts = {};\n this._sdkProcessingMetadata = {};\n }\n\n /**\n * Inherit values from the parent scope.\n * @param scope to clone.\n */\n static clone(scope) {\n const newScope = new Scope();\n if (scope) {\n newScope._breadcrumbs = [...scope._breadcrumbs];\n newScope._tags = { ...scope._tags };\n newScope._extra = { ...scope._extra };\n newScope._contexts = { ...scope._contexts };\n newScope._user = scope._user;\n newScope._level = scope._level;\n newScope._span = scope._span;\n newScope._session = scope._session;\n newScope._transactionName = scope._transactionName;\n newScope._fingerprint = scope._fingerprint;\n newScope._eventProcessors = [...scope._eventProcessors];\n newScope._requestSession = scope._requestSession;\n newScope._attachments = [...scope._attachments];\n newScope._sdkProcessingMetadata = { ...scope._sdkProcessingMetadata };\n }\n return newScope;\n }\n\n /**\n * Add internal on change listener. Used for sub SDKs that need to store the scope.\n * @hidden\n */\n addScopeListener(callback) {\n this._scopeListeners.push(callback);\n }\n\n /**\n * @inheritDoc\n */\n addEventProcessor(callback) {\n this._eventProcessors.push(callback);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n this._user = user || {};\n if (this._session) {\n updateSession(this._session, { user });\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getUser() {\n return this._user;\n }\n\n /**\n * @inheritDoc\n */\n getRequestSession() {\n return this._requestSession;\n }\n\n /**\n * @inheritDoc\n */\n setRequestSession(requestSession) {\n this._requestSession = requestSession;\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n this._tags = {\n ...this._tags,\n ...tags,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n this._tags = { ...this._tags, [key]: value };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n this._extra = {\n ...this._extra,\n ...extras,\n };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n this._extra = { ...this._extra, [key]: extra };\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setFingerprint(fingerprint) {\n this._fingerprint = fingerprint;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setLevel(\n // eslint-disable-next-line deprecation/deprecation\n level,\n ) {\n this._level = level;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setTransactionName(name) {\n this._transactionName = name;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setContext(key, context) {\n if (context === null) {\n // eslint-disable-next-line @typescript-eslint/no-dynamic-delete\n delete this._contexts[key];\n } else {\n this._contexts[key] = context;\n }\n\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n setSpan(span) {\n this._span = span;\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSpan() {\n return this._span;\n }\n\n /**\n * @inheritDoc\n */\n getTransaction() {\n // Often, this span (if it exists at all) will be a transaction, but it's not guaranteed to be. Regardless, it will\n // have a pointer to the currently-active transaction.\n const span = this.getSpan();\n return span && span.transaction;\n }\n\n /**\n * @inheritDoc\n */\n setSession(session) {\n if (!session) {\n delete this._session;\n } else {\n this._session = session;\n }\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getSession() {\n return this._session;\n }\n\n /**\n * @inheritDoc\n */\n update(captureContext) {\n if (!captureContext) {\n return this;\n }\n\n if (typeof captureContext === 'function') {\n const updatedScope = (captureContext )(this);\n return updatedScope instanceof Scope ? updatedScope : this;\n }\n\n if (captureContext instanceof Scope) {\n this._tags = { ...this._tags, ...captureContext._tags };\n this._extra = { ...this._extra, ...captureContext._extra };\n this._contexts = { ...this._contexts, ...captureContext._contexts };\n if (captureContext._user && Object.keys(captureContext._user).length) {\n this._user = captureContext._user;\n }\n if (captureContext._level) {\n this._level = captureContext._level;\n }\n if (captureContext._fingerprint) {\n this._fingerprint = captureContext._fingerprint;\n }\n if (captureContext._requestSession) {\n this._requestSession = captureContext._requestSession;\n }\n } else if (isPlainObject(captureContext)) {\n // eslint-disable-next-line no-param-reassign\n captureContext = captureContext ;\n this._tags = { ...this._tags, ...captureContext.tags };\n this._extra = { ...this._extra, ...captureContext.extra };\n this._contexts = { ...this._contexts, ...captureContext.contexts };\n if (captureContext.user) {\n this._user = captureContext.user;\n }\n if (captureContext.level) {\n this._level = captureContext.level;\n }\n if (captureContext.fingerprint) {\n this._fingerprint = captureContext.fingerprint;\n }\n if (captureContext.requestSession) {\n this._requestSession = captureContext.requestSession;\n }\n }\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clear() {\n this._breadcrumbs = [];\n this._tags = {};\n this._extra = {};\n this._user = {};\n this._contexts = {};\n this._level = undefined;\n this._transactionName = undefined;\n this._fingerprint = undefined;\n this._requestSession = undefined;\n this._span = undefined;\n this._session = undefined;\n this._notifyScopeListeners();\n this._attachments = [];\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, maxBreadcrumbs) {\n const maxCrumbs = typeof maxBreadcrumbs === 'number' ? maxBreadcrumbs : DEFAULT_MAX_BREADCRUMBS;\n\n // No data has been changed, so don't notify scope listeners\n if (maxCrumbs <= 0) {\n return this;\n }\n\n const mergedBreadcrumb = {\n timestamp: dateTimestampInSeconds(),\n ...breadcrumb,\n };\n this._breadcrumbs = [...this._breadcrumbs, mergedBreadcrumb].slice(-maxCrumbs);\n this._notifyScopeListeners();\n\n return this;\n }\n\n /**\n * @inheritDoc\n */\n clearBreadcrumbs() {\n this._breadcrumbs = [];\n this._notifyScopeListeners();\n return this;\n }\n\n /**\n * @inheritDoc\n */\n addAttachment(attachment) {\n this._attachments.push(attachment);\n return this;\n }\n\n /**\n * @inheritDoc\n */\n getAttachments() {\n return this._attachments;\n }\n\n /**\n * @inheritDoc\n */\n clearAttachments() {\n this._attachments = [];\n return this;\n }\n\n /**\n * Applies data from the scope to the event and runs all event processors on it.\n *\n * @param event Event\n * @param hint Object containing additional information about the original exception, for use by the event processors.\n * @hidden\n */\n applyToEvent(event, hint = {}) {\n if (this._extra && Object.keys(this._extra).length) {\n event.extra = { ...this._extra, ...event.extra };\n }\n if (this._tags && Object.keys(this._tags).length) {\n event.tags = { ...this._tags, ...event.tags };\n }\n if (this._user && Object.keys(this._user).length) {\n event.user = { ...this._user, ...event.user };\n }\n if (this._contexts && Object.keys(this._contexts).length) {\n event.contexts = { ...this._contexts, ...event.contexts };\n }\n if (this._level) {\n event.level = this._level;\n }\n if (this._transactionName) {\n event.transaction = this._transactionName;\n }\n\n // We want to set the trace context for normal events only if there isn't already\n // a trace context on the event. There is a product feature in place where we link\n // errors with transaction and it relies on that.\n if (this._span) {\n event.contexts = { trace: this._span.getTraceContext(), ...event.contexts };\n const transactionName = this._span.transaction && this._span.transaction.name;\n if (transactionName) {\n event.tags = { transaction: transactionName, ...event.tags };\n }\n }\n\n this._applyFingerprint(event);\n\n event.breadcrumbs = [...(event.breadcrumbs || []), ...this._breadcrumbs];\n event.breadcrumbs = event.breadcrumbs.length > 0 ? event.breadcrumbs : undefined;\n\n event.sdkProcessingMetadata = { ...event.sdkProcessingMetadata, ...this._sdkProcessingMetadata };\n\n return this._notifyEventProcessors([...getGlobalEventProcessors(), ...this._eventProcessors], event, hint);\n }\n\n /**\n * Add data which will be accessible during event processing but won't get sent to Sentry\n */\n setSDKProcessingMetadata(newData) {\n this._sdkProcessingMetadata = { ...this._sdkProcessingMetadata, ...newData };\n\n return this;\n }\n\n /**\n * This will be called after {@link applyToEvent} is finished.\n */\n _notifyEventProcessors(\n processors,\n event,\n hint,\n index = 0,\n ) {\n return new SyncPromise((resolve, reject) => {\n const processor = processors[index];\n if (event === null || typeof processor !== 'function') {\n resolve(event);\n } else {\n const result = processor({ ...event }, hint) ;\n\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) &&\n processor.id &&\n result === null &&\n logger.log(`Event processor \"${processor.id}\" dropped event`);\n\n if (isThenable(result)) {\n void result\n .then(final => this._notifyEventProcessors(processors, final, hint, index + 1).then(resolve))\n .then(null, reject);\n } else {\n void this._notifyEventProcessors(processors, result, hint, index + 1)\n .then(resolve)\n .then(null, reject);\n }\n }\n });\n }\n\n /**\n * This will be called on every set call.\n */\n _notifyScopeListeners() {\n // We need this check for this._notifyingListeners to be able to work on scope during updates\n // If this check is not here we'll produce endless recursion when something is done with the scope\n // during the callback.\n if (!this._notifyingListeners) {\n this._notifyingListeners = true;\n this._scopeListeners.forEach(callback => {\n callback(this);\n });\n this._notifyingListeners = false;\n }\n }\n\n /**\n * Applies fingerprint from the scope to the event if there's one,\n * uses message if there's one instead or get rid of empty fingerprint\n */\n _applyFingerprint(event) {\n // Make sure it's an array first and we actually have something in place\n event.fingerprint = event.fingerprint ? arrayify(event.fingerprint) : [];\n\n // If we have something on the scope, then merge it with event\n if (this._fingerprint) {\n event.fingerprint = event.fingerprint.concat(this._fingerprint);\n }\n\n // If we have no data at all, remove empty array default\n if (event.fingerprint && !event.fingerprint.length) {\n delete event.fingerprint;\n }\n }\n}\n\n/**\n * Returns the global event processors.\n */\nfunction getGlobalEventProcessors() {\n return getGlobalSingleton('globalEventProcessors', () => []);\n}\n\n/**\n * Add a EventProcessor to be kept globally.\n * @param callback EventProcessor to add\n */\nfunction addGlobalEventProcessor(callback) {\n getGlobalEventProcessors().push(callback);\n}\n\nexport { Scope, addGlobalEventProcessor };\n//# sourceMappingURL=scope.js.map\n","import { dateTimestampInSeconds, consoleSandbox, logger, GLOBAL_OBJ, isNodeEnv, getGlobalSingleton } from '@sentry/utils';\nimport { Scope } from './scope.js';\nimport { closeSession, makeSession, updateSession } from './session.js';\n\nconst NIL_EVENT_ID = '00000000000000000000000000000000';\n\n/**\n * API compatibility version of this hub.\n *\n * WARNING: This number should only be increased when the global interface\n * changes and new methods are introduced.\n *\n * @hidden\n */\nconst API_VERSION = 4;\n\n/**\n * Default maximum number of breadcrumbs added to an event. Can be overwritten\n * with {@link Options.maxBreadcrumbs}.\n */\nconst DEFAULT_BREADCRUMBS = 100;\n\n/**\n * A layer in the process stack.\n * @hidden\n */\n\n/**\n * @inheritDoc\n */\nclass Hub {\n /** Is a {@link Layer}[] containing the client and scope */\n __init() {this._stack = [{}];}\n\n /** Contains the last event id of a captured event. */\n\n /**\n * Creates a new instance of the hub, will push one {@link Layer} into the\n * internal stack on creation.\n *\n * @param client bound to the hub.\n * @param scope bound to the hub.\n * @param version number, higher number means higher priority.\n */\n constructor(client, scope = new Scope(), _version = API_VERSION) {;this._version = _version;Hub.prototype.__init.call(this);\n this.getStackTop().scope = scope;\n if (client) {\n this.bindClient(client);\n }\n }\n\n /**\n * @inheritDoc\n */\n isOlderThan(version) {\n return this._version < version;\n }\n\n /**\n * @inheritDoc\n */\n bindClient(client) {\n const top = this.getStackTop();\n top.client = client;\n if (client && client.setupIntegrations) {\n client.setupIntegrations();\n }\n }\n\n /**\n * @inheritDoc\n */\n pushScope() {\n // We want to clone the content of prev scope\n const scope = Scope.clone(this.getScope());\n this.getStack().push({\n client: this.getClient(),\n scope,\n });\n return scope;\n }\n\n /**\n * @inheritDoc\n */\n popScope() {\n if (this.getStack().length <= 1) return false;\n return !!this.getStack().pop();\n }\n\n /**\n * @inheritDoc\n */\n withScope(callback) {\n const scope = this.pushScope();\n try {\n callback(scope);\n } finally {\n this.popScope();\n }\n }\n\n /**\n * @inheritDoc\n */\n getClient() {\n return this.getStackTop().client ;\n }\n\n /** Returns the scope of the top stack. */\n getScope() {\n return this.getStackTop().scope;\n }\n\n /** Returns the scope stack for domains or the process. */\n getStack() {\n return this._stack;\n }\n\n /** Returns the topmost scope layer in the order domain > local > process. */\n getStackTop() {\n return this._stack[this._stack.length - 1];\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\n captureException(exception, hint) {\n const syntheticException = new Error('Sentry syntheticException');\n this._lastEventId =\n this._withClient((client, scope) => {\n return client.captureException(\n exception,\n {\n originalException: exception,\n syntheticException,\n ...hint,\n },\n scope,\n );\n }) || NIL_EVENT_ID;\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n captureMessage(\n message,\n // eslint-disable-next-line deprecation/deprecation\n level,\n hint,\n ) {\n const syntheticException = new Error(message);\n this._lastEventId =\n this._withClient((client, scope) => {\n return client.captureMessage(\n message,\n level,\n {\n originalException: message,\n syntheticException,\n ...hint,\n },\n scope,\n );\n }) || NIL_EVENT_ID;\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n captureEvent(event, hint) {\n const clientId =\n this._withClient((client, scope) => {\n return client.captureEvent(event, { ...hint }, scope);\n }) || NIL_EVENT_ID;\n\n if (event.type !== 'transaction') {\n this._lastEventId = clientId;\n }\n\n return clientId;\n }\n\n /**\n * @inheritDoc\n */\n lastEventId() {\n return this._lastEventId;\n }\n\n /**\n * @inheritDoc\n */\n addBreadcrumb(breadcrumb, hint) {\n const { scope, client } = this.getStackTop();\n\n if (!scope || !client) return;\n\n // eslint-disable-next-line @typescript-eslint/unbound-method\n const { beforeBreadcrumb = null, maxBreadcrumbs = DEFAULT_BREADCRUMBS } =\n (client.getOptions && client.getOptions()) || {};\n\n if (maxBreadcrumbs <= 0) return;\n\n const timestamp = dateTimestampInSeconds();\n const mergedBreadcrumb = { timestamp, ...breadcrumb };\n const finalBreadcrumb = beforeBreadcrumb\n ? (consoleSandbox(() => beforeBreadcrumb(mergedBreadcrumb, hint)) )\n : mergedBreadcrumb;\n\n if (finalBreadcrumb === null) return;\n\n scope.addBreadcrumb(finalBreadcrumb, maxBreadcrumbs);\n }\n\n /**\n * @inheritDoc\n */\n setUser(user) {\n const scope = this.getScope();\n if (scope) scope.setUser(user);\n }\n\n /**\n * @inheritDoc\n */\n setTags(tags) {\n const scope = this.getScope();\n if (scope) scope.setTags(tags);\n }\n\n /**\n * @inheritDoc\n */\n setExtras(extras) {\n const scope = this.getScope();\n if (scope) scope.setExtras(extras);\n }\n\n /**\n * @inheritDoc\n */\n setTag(key, value) {\n const scope = this.getScope();\n if (scope) scope.setTag(key, value);\n }\n\n /**\n * @inheritDoc\n */\n setExtra(key, extra) {\n const scope = this.getScope();\n if (scope) scope.setExtra(key, extra);\n }\n\n /**\n * @inheritDoc\n */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setContext(name, context) {\n const scope = this.getScope();\n if (scope) scope.setContext(name, context);\n }\n\n /**\n * @inheritDoc\n */\n configureScope(callback) {\n const { scope, client } = this.getStackTop();\n if (scope && client) {\n callback(scope);\n }\n }\n\n /**\n * @inheritDoc\n */\n run(callback) {\n const oldHub = makeMain(this);\n try {\n callback(this);\n } finally {\n makeMain(oldHub);\n }\n }\n\n /**\n * @inheritDoc\n */\n getIntegration(integration) {\n const client = this.getClient();\n if (!client) return null;\n try {\n return client.getIntegration(integration);\n } catch (_oO) {\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Cannot retrieve integration ${integration.id} from the current Hub`);\n return null;\n }\n }\n\n /**\n * @inheritDoc\n */\n startTransaction(context, customSamplingContext) {\n return this._callExtensionMethod('startTransaction', context, customSamplingContext);\n }\n\n /**\n * @inheritDoc\n */\n traceHeaders() {\n return this._callExtensionMethod('traceHeaders');\n }\n\n /**\n * @inheritDoc\n */\n captureSession(endSession = false) {\n // both send the update and pull the session from the scope\n if (endSession) {\n return this.endSession();\n }\n\n // only send the update\n this._sendSessionUpdate();\n }\n\n /**\n * @inheritDoc\n */\n endSession() {\n const layer = this.getStackTop();\n const scope = layer && layer.scope;\n const session = scope && scope.getSession();\n if (session) {\n closeSession(session);\n }\n this._sendSessionUpdate();\n\n // the session is over; take it off of the scope\n if (scope) {\n scope.setSession();\n }\n }\n\n /**\n * @inheritDoc\n */\n startSession(context) {\n const { scope, client } = this.getStackTop();\n const { release, environment } = (client && client.getOptions()) || {};\n\n // Will fetch userAgent if called from browser sdk\n const { userAgent } = GLOBAL_OBJ.navigator || {};\n\n const session = makeSession({\n release,\n environment,\n ...(scope && { user: scope.getUser() }),\n ...(userAgent && { userAgent }),\n ...context,\n });\n\n if (scope) {\n // End existing session if there's one\n const currentSession = scope.getSession && scope.getSession();\n if (currentSession && currentSession.status === 'ok') {\n updateSession(currentSession, { status: 'exited' });\n }\n this.endSession();\n\n // Afterwards we set the new session on the scope\n scope.setSession(session);\n }\n\n return session;\n }\n\n /**\n * Returns if default PII should be sent to Sentry and propagated in ourgoing requests\n * when Tracing is used.\n */\n shouldSendDefaultPii() {\n const client = this.getClient();\n const options = client && client.getOptions();\n return Boolean(options && options.sendDefaultPii);\n }\n\n /**\n * Sends the current Session on the scope\n */\n _sendSessionUpdate() {\n const { scope, client } = this.getStackTop();\n if (!scope) return;\n\n const session = scope.getSession();\n if (session) {\n if (client && client.captureSession) {\n client.captureSession(session);\n }\n }\n }\n\n /**\n * Internal helper function to call a method on the top client if it exists.\n *\n * @param method The method to call on the client.\n * @param args Arguments to pass to the client function.\n */\n _withClient(callback) {\n const { scope, client } = this.getStackTop();\n return client && callback(client, scope);\n }\n\n /**\n * Calls global extension method and binding current instance to the function call\n */\n // @ts-ignore Function lacks ending return statement and return type does not include 'undefined'. ts(2366)\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n _callExtensionMethod(method, ...args) {\n const carrier = getMainCarrier();\n const sentry = carrier.__SENTRY__;\n if (sentry && sentry.extensions && typeof sentry.extensions[method] === 'function') {\n return sentry.extensions[method].apply(this, args);\n }\n (typeof __SENTRY_DEBUG__ === 'undefined' || __SENTRY_DEBUG__) && logger.warn(`Extension method ${method} couldn't be found, doing nothing.`);\n }\n}\n\n/**\n * Returns the global shim registry.\n *\n * FIXME: This function is problematic, because despite always returning a valid Carrier,\n * it has an optional `__SENTRY__` property, which then in turn requires us to always perform an unnecessary check\n * at the call-site. We always access the carrier through this function, so we can guarantee that `__SENTRY__` is there.\n **/\nfunction getMainCarrier() {\n GLOBAL_OBJ.__SENTRY__ = GLOBAL_OBJ.__SENTRY__ || {\n extensions: {},\n hub: undefined,\n };\n return GLOBAL_OBJ;\n}\n\n/**\n * Replaces the current main hub with the passed one on the global object\n *\n * @returns The old replaced hub\n */\nfunction makeMain(hub) {\n const registry = getMainCarrier();\n const oldHub = getHubFromCarrier(registry);\n setHubOnCarrier(registry, hub);\n return oldHub;\n}\n\n/**\n * Returns the default hub instance.\n *\n * If a hub is already registered in the global carrier but this module\n * contains a more recent version, it replaces the registered version.\n * Otherwise, the currently registered hub will be returned.\n */\nfunction getCurrentHub() {\n // Get main carrier (global for every environment)\n const registry = getMainCarrier();\n\n // If there's no hub, or its an old API, assign a new one\n if (!hasHubOnCarrier(registry) || getHubFromCarrier(registry).isOlderThan(API_VERSION)) {\n setHubOnCarrier(registry, new Hub());\n }\n\n // Prefer domains over global if they are there (applicable only to Node environment)\n if (isNodeEnv()) {\n return getHubFromActiveDomain(registry);\n }\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n}\n\n/**\n * Try to read the hub from an active domain, and fallback to the registry if one doesn't exist\n * @returns discovered hub\n */\nfunction getHubFromActiveDomain(registry) {\n try {\n const sentry = getMainCarrier().__SENTRY__;\n const activeDomain = sentry && sentry.extensions && sentry.extensions.domain && sentry.extensions.domain.active;\n\n // If there's no active domain, just return global hub\n if (!activeDomain) {\n return getHubFromCarrier(registry);\n }\n\n // If there's no hub on current domain, or it's an old API, assign a new one\n if (!hasHubOnCarrier(activeDomain) || getHubFromCarrier(activeDomain).isOlderThan(API_VERSION)) {\n const registryHubTopStack = getHubFromCarrier(registry).getStackTop();\n setHubOnCarrier(activeDomain, new Hub(registryHubTopStack.client, Scope.clone(registryHubTopStack.scope)));\n }\n\n // Return hub that lives on a domain\n return getHubFromCarrier(activeDomain);\n } catch (_Oo) {\n // Return hub that lives on a global object\n return getHubFromCarrier(registry);\n }\n}\n\n/**\n * This will tell whether a carrier has a hub on it or not\n * @param carrier object\n */\nfunction hasHubOnCarrier(carrier) {\n return !!(carrier && carrier.__SENTRY__ && carrier.__SENTRY__.hub);\n}\n\n/**\n * This will create a new {@link Hub} and add to the passed object on\n * __SENTRY__.hub.\n * @param carrier object\n * @hidden\n */\nfunction getHubFromCarrier(carrier) {\n return getGlobalSingleton('hub', () => new Hub(), carrier);\n}\n\n/**\n * This will set passed {@link Hub} on the passed object's __SENTRY__.hub attribute\n * @param carrier object\n * @param hub Hub\n * @returns A boolean indicating success or failure\n */\nfunction setHubOnCarrier(carrier, hub) {\n if (!carrier) return false;\n const __SENTRY__ = (carrier.__SENTRY__ = carrier.__SENTRY__ || {});\n __SENTRY__.hub = hub;\n return true;\n}\n\nexport { API_VERSION, Hub, getCurrentHub, getHubFromCarrier, getMainCarrier, makeMain, setHubOnCarrier };\n//# sourceMappingURL=hub.js.map\n","'use client';\nimport { ReactElement } from 'react';\n\nimport * as Sentry from '@sentry/nextjs';\ninterface IErrorOptions {\n level?: Sentry.SeverityLevel;\n catchType?: 'request';\n}\n// a function that child components can call\n// to send errors back up the tree to our logging service\nconst ErrorHandler = (error, options?: IErrorOptions, handler?: () => void) => {\n if (!Sentry.getCurrentHub().getClient()) {\n // failsafe for if Sentry is down\n // do stuff here\n console.log('API call to our custom AWS logging service here');\n } else {\n console.error(error);\n const { level, catchType } = options;\n // designate temporary scope/context\n Sentry.withScope((scope) => {\n if (level) scope.setLevel(level);\n if (catchType === 'request') {\n const response = error?.response;\n // create fingerprint identifier\n // to group errors together based on\n // their request and response\n scope.setFingerprint([\n response?.config?.method,\n response?.request?.responseURL,\n String(error?.status),\n ]);\n }\n Sentry.captureException(error); // send error to Sentry\n });\n }\n};\n\n// Higher Order Component\nexport const withErrorHandling = (\n WrappedComponent: (props: any) => ReactElement\n): ((props) => ReactElement) => {\n return function Component(props) {\n return ;\n };\n};\n","import { getCurrentHub } from './hub.js';\n\n// Note: All functions in this file are typed with a return value of `ReturnType`,\n// where HUB_FUNCTION is some method on the Hub class.\n//\n// This is done to make sure the top level SDK methods stay in sync with the hub methods.\n// Although every method here has an explicit return type, some of them (that map to void returns) do not\n// contain `return` keywords. This is done to save on bundle size, as `return` is not minifiable.\n\n/**\n * Captures an exception event and sends it to Sentry.\n *\n * @param exception An exception-like object.\n * @param captureContext Additional scope data to apply to exception event.\n * @returns The generated eventId.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction captureException(exception, captureContext) {\n return getCurrentHub().captureException(exception, { captureContext });\n}\n\n/**\n * Captures a message event and sends it to Sentry.\n *\n * @param message The message to send to Sentry.\n * @param Severity Define the level of the message.\n * @returns The generated eventId.\n */\nfunction captureMessage(\n message,\n // eslint-disable-next-line deprecation/deprecation\n captureContext,\n) {\n // This is necessary to provide explicit scopes upgrade, without changing the original\n // arity of the `captureMessage(message, level)` method.\n const level = typeof captureContext === 'string' ? captureContext : undefined;\n const context = typeof captureContext !== 'string' ? { captureContext } : undefined;\n return getCurrentHub().captureMessage(message, level, context);\n}\n\n/**\n * Captures a manually created event and sends it to Sentry.\n *\n * @param event The event to send to Sentry.\n * @returns The generated eventId.\n */\nfunction captureEvent(event, hint) {\n return getCurrentHub().captureEvent(event, hint);\n}\n\n/**\n * Callback to set context information onto the scope.\n * @param callback Callback function that receives Scope.\n */\nfunction configureScope(callback) {\n getCurrentHub().configureScope(callback);\n}\n\n/**\n * Records a new breadcrumb which will be attached to future events.\n *\n * Breadcrumbs will be added to subsequent events to provide more context on\n * user's actions prior to an error or crash.\n *\n * @param breadcrumb The breadcrumb to record.\n */\nfunction addBreadcrumb(breadcrumb) {\n getCurrentHub().addBreadcrumb(breadcrumb);\n}\n\n/**\n * Sets context data with the given name.\n * @param name of the context\n * @param context Any kind of data. This data will be normalized.\n */\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction setContext(name, context) {\n getCurrentHub().setContext(name, context);\n}\n\n/**\n * Set an object that will be merged sent as extra data with the event.\n * @param extras Extras object to merge into current context.\n */\nfunction setExtras(extras) {\n getCurrentHub().setExtras(extras);\n}\n\n/**\n * Set key:value that will be sent as extra data with the event.\n * @param key String of extra\n * @param extra Any kind of data. This data will be normalized.\n */\nfunction setExtra(key, extra) {\n getCurrentHub().setExtra(key, extra);\n}\n\n/**\n * Set an object that will be merged sent as tags data with the event.\n * @param tags Tags context object to merge into current context.\n */\nfunction setTags(tags) {\n getCurrentHub().setTags(tags);\n}\n\n/**\n * Set key:value that will be sent as tags data with the event.\n *\n * Can also be used to unset a tag, by passing `undefined`.\n *\n * @param key String key of tag\n * @param value Value of tag\n */\nfunction setTag(key, value) {\n getCurrentHub().setTag(key, value);\n}\n\n/**\n * Updates user context information for future events.\n *\n * @param user User context object to be set in the current context. Pass `null` to unset the user.\n */\nfunction setUser(user) {\n getCurrentHub().setUser(user);\n}\n\n/**\n * Creates a new scope with and executes the given operation within.\n * The scope is automatically removed once the operation\n * finishes or throws.\n *\n * This is essentially a convenience function for:\n *\n * pushScope();\n * callback();\n * popScope();\n *\n * @param callback that will be enclosed into push/popScope.\n */\nfunction withScope(callback) {\n getCurrentHub().withScope(callback);\n}\n\n/**\n * Starts a new `Transaction` and returns it. This is the entry point to manual tracing instrumentation.\n *\n * A tree structure can be built by adding child spans to the transaction, and child spans to other spans. To start a\n * new child span within the transaction or any span, call the respective `.startChild()` method.\n *\n * Every child span must be finished before the transaction is finished, otherwise the unfinished spans are discarded.\n *\n * The transaction must be finished with a call to its `.finish()` method, at which point the transaction with all its\n * finished child spans will be sent to Sentry.\n *\n * NOTE: This function should only be used for *manual* instrumentation. Auto-instrumentation should call\n * `startTransaction` directly on the hub.\n *\n * @param context Properties of the new `Transaction`.\n * @param customSamplingContext Information given to the transaction sampling function (along with context-dependent\n * default values). See {@link Options.tracesSampler}.\n *\n * @returns The transaction which was just started\n */\nfunction startTransaction(\n context,\n customSamplingContext,\n) {\n return getCurrentHub().startTransaction({ ...context }, customSamplingContext);\n}\n\nexport { addBreadcrumb, captureEvent, captureException, captureMessage, configureScope, setContext, setExtra, setExtras, setTag, setTags, setUser, startTransaction, withScope };\n//# sourceMappingURL=exports.js.map\n","import Script from 'next/script';\nimport { message } from 'antd';\nimport { useDispatch, useSelector } from 'react-redux';\n\nimport { setGoogleMapsApiLoaded } from '@lib/redux.lib/slices/appSlice';\nimport type { RootState } from '@lib/redux.lib/store';\n\nexport const GoogleMapsApi = () => {\n const { loaded } = useSelector((state: RootState) => state.app.googleMapsApi);\n const dispatch = useDispatch();\n const handleGoogleMapsLoaded = () => {\n dispatch(setGoogleMapsApiLoaded(true));\n };\n\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore\n window.handleGoogleMapsLoaded = handleGoogleMapsLoaded;\n }\n return !loaded ? (\n {\n console.log({ googleMapsError });\n message.error(\n 'Google Maps API failed to load. Please refresh the page.'\n );\n }}\n />\n ) : (\n <>\n );\n};\n","import { ThemeConfig } from 'antd/es/config-provider/context';\nimport theme from './theme';\n\nconst antTheme: ThemeConfig = {\n token: {\n colorPrimary: theme.palette.primary[0],\n colorText: '#202020',\n fontFamily:\n \"'Inter', sans-serif, -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, 'Noto Sans', 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji'\",\n },\n components: {\n Button: {\n colorPrimaryHover: theme.palette.hover[0],\n },\n },\n};\n\nexport default antTheme;\n","import { Amplify } from 'aws-amplify';\n\nimport awsconfig from '../aws-exports';\n\nexport default function configureAmplify(): void {\n const update = {\n ...awsconfig,\n aws_user_pools_id: process.env.NEXT_PUBLIC_USERPOOL_ID,\n aws_cognito_region: process.env.NEXT_PUBLIC_COGNITO_REGION,\n aws_user_pools_web_client_id: process.env.NEXT_PUBLIC_CLIENT_ID,\n oauth: {\n domain: process.env.NEXT_PUBLIC_COGNITO_DOMAIN,\n redirectSignIn: process.env.NEXT_PUBLIC_OAUTH_REDIRECT_SIGN_IN,\n redirectSignOut: process.env.NEXT_PUBLIC_OAUTH_REDIRECT_SIGN_OUT,\n scope: ['email', 'openid', 'profile'],\n responseType: 'code',\n federationTarget: 'COGNITO_USER_POOLS',\n },\n aws_cognito_username_attributes: ['EMAIL'],\n aws_cognito_social_providers: ['GOOGLE'],\n aws_cognito_signup_attributes: [],\n aws_cognito_mfa_configuration: 'OPTIONAL',\n aws_cognito_mfa_types: ['SMS', 'TOTP'],\n aws_cognito_password_protection_settings: {\n passwordPolicyMinLength: 8,\n passwordPolicyCharacters: [],\n },\n aws_cognito_verification_mechanisms: ['EMAIL'],\n authenticationFlowType: 'USER_PASSWORD_AUTH',\n };\n console.debug('AWS Exports: ', JSON.stringify(update));\n Amplify.configure(update);\n return;\n}\n","/* eslint-disable react/no-unknown-property */\nimport { ConfigProvider } from 'antd';\nimport { SidebarContextProvider } from 'context/SidebarContext';\nimport { OnboardingStateContextProvider } from 'context/onboarding/OnboardingStateContext';\nimport type { NextPage } from 'next';\nimport type { AppProps } from 'next/app';\nimport Head from 'next/head';\nimport { useRouter } from 'next/router';\nimport { posthog } from 'posthog-js';\nimport { PostHogProvider } from 'posthog-js/react';\nimport { ReactElement, ReactNode, useEffect } from 'react';\nimport { QueryClient, QueryClientProvider } from 'react-query';\nimport { Provider as ReduxProvider } from 'react-redux';\nimport { ThemeProvider } from 'styled-components';\n\nimport configureAmplify from '@lib/amplify.lib';\nimport { AuthProvider } from '@lib/auth';\nimport { withErrorHandling } from '@lib/errors';\nimport { GoogleMapsApi } from '@lib/locations';\nimport { configurePosthog } from '@lib/posthog.lib';\nimport { store } from '@lib/redux.lib';\nimport antTheme from '@styles/antTheme';\nimport theme from '@styles/theme';\n\nimport ProtectRoute from './auth/protect';\n\nimport '@styles/global.css';\nimport '@styles/onboardingStyles.css';\nimport '@styles/reset.css';\nimport 'antd/dist/reset.css';\nimport { ClientEnvironmentProvider } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\n\nconfigureAmplify();\nconfigurePosthog();\n\nexport type NextPageWithLayout

= NextPage & {\n getLayout?: (page: ReactElement) => ReactNode;\n isPublic?: boolean;\n};\n\ntype AppPropsWithLayout = AppProps & {\n Component: NextPageWithLayout;\n};\n\nconst queryClient = new QueryClient();\n\nconst setFaviconWithInitials = (initials: string) => {\n // Create a canvas\n const canvas = document.createElement('canvas');\n const size = 64; // Favicon size\n canvas.width = size;\n canvas.height = size;\n const ctx = canvas.getContext('2d');\n\n if (!ctx) return; // Ensure context exists\n\n // Draw a rounded rectangle\n const borderRadius = 16; // Adjust the radius as needed\n ctx.fillStyle = theme.palette.primary[0];\n ctx.beginPath();\n ctx.moveTo(borderRadius, 0);\n ctx.lineTo(size - borderRadius, 0);\n ctx.quadraticCurveTo(size, 0, size, borderRadius);\n ctx.lineTo(size, size - borderRadius);\n ctx.quadraticCurveTo(size, size, size - borderRadius, size);\n ctx.lineTo(borderRadius, size);\n ctx.quadraticCurveTo(0, size, 0, size - borderRadius);\n ctx.lineTo(0, borderRadius);\n ctx.quadraticCurveTo(0, 0, borderRadius, 0);\n ctx.closePath();\n ctx.fill();\n\n // Draw the initials in white\n ctx.fillStyle = 'white';\n ctx.font = 'bold 48px Inter';\n ctx.textAlign = 'center';\n ctx.textBaseline = 'middle';\n const verticalOffset = 2; // Fine-tune this value as needed\n ctx.fillText(initials, size / 2, size / 2 + verticalOffset);\n\n // Convert canvas to a data URL\n const faviconUrl = canvas.toDataURL('image/png');\n\n // Set the favicon\n let favicon = document.querySelector(\"link[rel='icon']\");\n if (!favicon) {\n favicon = document.createElement('link');\n favicon.rel = 'icon';\n document.head.appendChild(favicon);\n }\n favicon.href = faviconUrl;\n};\n\n// const setFaviconWithLogo = (iconUrl: string) => {\n// // Look for an existing favicon tag\n// let favicon = document.querySelector(\"link[rel='icon']\");\n\n// // If not found, create a new one\n// if (!favicon) {\n// favicon = document.createElement('link');\n// favicon.rel = 'icon';\n// document.head.appendChild(favicon);\n// }\n\n// // Set the favicon URL\n// favicon.href = iconUrl;\n// };\n\nconst App = ({ Component, pageProps }: AppPropsWithLayout): ReactElement => {\n const routeProtected = !Component?.isPublic; // \"protected\" is reserved word and wouldn't track nonexistence\n const getLayout = Component.getLayout || ((page: ReactElement) => page);\n const View = withErrorHandling((props) => );\n const Page = getLayout();\n\n const router = useRouter();\n useEffect(() => {\n // Track page views\n const handleRouteChange = () => posthog?.capture('$pageview');\n router.events.on('routeChangeComplete', handleRouteChange);\n\n return () => {\n router.events.off('routeChangeComplete', handleRouteChange);\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n\n const clientName = process.env.NEXT_PUBLIC_CLIENT_NAME;\n const isEveryset = clientName === 'Everyset';\n\n useEffect(() => {\n if (isEveryset) return;\n const initials = clientName?.[0].toUpperCase();\n setFaviconWithInitials(initials);\n // Saving this for future use\n // if (clientLogoUrl) {\n // setFaviconWithLogo(clientLogoUrl);\n // } else {\n // setFaviconWithInitials(initials);\n // }\n }, []);\n\n return (\n <>\n \n Jobs | {clientName}\n \n \n \n \n \n \n \n \n \n \n \n \n

{Page}
\n \n \n \n \n \n \n \n \n \n \n \n );\n};\n\nexport default App;\n","import posthog from 'posthog-js';\n\nexport const configurePosthog = (): void => {\n if (typeof window !== 'undefined' && process.env.NEXT_PUBLIC_NODE_ENV == 'production' ) {\n posthog.init(process.env.NEXT_PUBLIC_POSTHOG_KEY, {\n api_host:\n process.env.NEXT_PUBLIC_POSTHOG_HOST || 'https://us.i.posthog.com',\n person_profiles: 'identified_only',\n // Enable debug mode in development\n loaded: (posthog) => {\n if (process.env.NODE_ENV === 'development') posthog.debug();\n },\n });\n }\n};\n","import React from 'react';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport dayjs from 'dayjs';\nimport styled, { css } from 'styled-components';\n\nimport { unsortedArraysAreEqual } from '@lib/utils/arrayHelper';\nimport { ETHNICITIES, GENDER_IDENTITIES } from '@lib/utils/constants';\nimport { ArchivedApplicationBanner } from '@views/apps/ArchivedApplicationBanner/ArchivedAplicationBanner';\n\nimport EverysetBlue from '../../svg/EverysetBlue.png';\n\nimport { FORM_WIDTH } from './[application_id]';\n\nconst COLUMN_WIDTH = 278;\n\nconst DetailTable = ({ data }) => {\n const isArchived = data?.is_archived === true;\n const Dates = data?.dates;\n const groupedData = Dates.reduce((acc, item) => {\n const unitName = item.unit_name;\n if (!acc[unitName]) {\n acc[unitName] = [];\n }\n acc[unitName].push(item.dates);\n return acc;\n }, {});\n\n const getFormattedDateRange = (dates) => {\n return dates\n .map((date) => dayjs(date).format('M/D'))\n .sort((a, b) => dayjs(a, 'M/D').valueOf() - dayjs(b, 'M/D').valueOf())\n .join(', ');\n };\n\n const sortedCellData = Object.keys(groupedData)\n .map((unitName) => ({\n label: unitName,\n dates: getFormattedDateRange(\n groupedData[unitName][0].sort(\n (a, b) => dayjs(a).valueOf() - dayjs(b).valueOf()\n )\n ),\n length: groupedData[unitName][0]?.length || 0,\n }))\n .filter((cellData) => cellData.dates)\n .sort((a, b) => {\n const firstDateA = dayjs(a.dates.split(', ')[0], 'M/D').valueOf();\n const firstDateB = dayjs(b.dates.split(', ')[0], 'M/D').valueOf();\n return firstDateA - firstDateB;\n });\n\n const firstRowData = sortedCellData.slice(0, 3);\n const secondRowData = sortedCellData.slice(3, 6);\n const thirdRowData = sortedCellData.slice(6);\n const isMobileDevice = window.innerWidth <= 768;\n\n const { isEveryset, clientMiniLogoUrl } = useClientEnvironmentContext();\n\n return (\n <>\n \n {!isMobileDevice && (\n \n )}\n \n \n {!isMobileDevice && (\n \n NOW CASTING: {Object.keys(data).length && data?.job_name}\n \n )}\n \n {isArchived && }\n\n \n \n \n {isMobileDevice ? (\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n <>\n \n \n \n \n \n \n \n \n \n
\n \n \n \n
\n
\n \n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n {isMobileDevice ? (\n \n \n {firstRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {secondRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {thirdRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n \n \n \n ) : (\n \n \n {firstRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {secondRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {thirdRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n \n \n \n )}\n \n
\n
\n \n );\n};\n\nexport default (props: any) => (\n \n \n \n);\nconst mobileBreakpoint = '768px';\n\nconst TableDetail = styled.table<{ responsive?: boolean }>`\n border-collapse: collapse;\n width: 100%;\n\n ${({ responsive }) =>\n responsive &&\n css`\n @media (max-width: ${mobileBreakpoint}) {\n display: block;\n width: 100%;\n }\n `}\n`;\n\nconst TableRow = styled.div`\n display: flex;\n column-gap: 32px;\n`;\n\ntype TableCellProps = {\n align?: string;\n colspan?: string;\n rowspan?: string;\n};\n\nconst TableCell = styled.td`\n width: 100%;\n ${({ align }) => align && `text-align: ${align};`}\n ${({ colspan }) => colspan && `grid-column-end: span ${colspan};`}\n ${({ rowspan }) => rowspan && `grid-row-end: span ${rowspan};`}\n`;\n\nconst Label = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst ValueText = styled.span`\n margin-top: 4px;\n font-size: 14px;\n\n &.pre-wrap {\n white-space: pre-wrap;\n }\n`;\n\nconst LabelText = styled.span`\n margin-top: 24px;\n font-weight: 600;\n font-size: 14px;\n color: #868686;\n`;\n\nconst ResponsiveTableDetail = styled(TableDetail)`\n @media (max-width: ${mobileBreakpoint}) {\n & ${TableRow} {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n }\n`;\n\nconst CenteredForm = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst Title = styled.h2`\n margin-bottom: 0px;\n font-family: Inter;\n font-size: 20px;\n font-weight: 600;\n line-height: 24px;\n color: #000000;\n`;\n","import React from 'react';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport dayjs from 'dayjs';\nimport styled, { css } from 'styled-components';\n\nimport { unsortedArraysAreEqual } from '@lib/utils/arrayHelper';\nimport {\n ETHNICITIES,\n GENDER_IDENTITIES,\n UK_RATE_TYPE_OPTIONS,\n} from '@lib/utils/constants';\nimport { ArchivedApplicationBanner } from '@views/apps/ArchivedApplicationBanner/ArchivedAplicationBanner';\n\nimport EverysetBlue from '../../svg/EverysetBlue.png';\n\nimport { FORM_WIDTH } from './[application_id]';\n\nconst COLUMN_WIDTH = 278;\n\nconst DetailTable = ({ data }: { data: PublicApplication }) => {\n const isArchived = data?.is_archived === true;\n const Dates = data?.dates;\n const projectCountry = data?.project_detail?.project_country;\n const groupedData = Dates.reduce((acc, item) => {\n const unitName = item.unit_name;\n if (!acc[unitName]) {\n acc[unitName] = [];\n }\n acc[unitName].push(item.dates);\n return acc;\n }, {});\n\n const getFormattedDateRange = (dates) => {\n return dates\n .sort((a, b) => dayjs(a).valueOf() - dayjs(b).valueOf())\n .map((date) => {\n const [_, month, day] = date.toString().split('-');\n const [parsedMonth, parsedDay] = [parseInt(month), parseInt(day)];\n return projectCountry === 'UK'\n ? `${parsedDay}/${parsedMonth}`\n : `${parsedMonth}/${parsedDay}`;\n })\n .join(', ');\n };\n\n const sortedCellData = Object.keys(groupedData)\n .map((unitName) => ({\n label: unitName,\n dates: getFormattedDateRange(groupedData[unitName][0]),\n length: groupedData[unitName][0]?.length || 0,\n }))\n .filter((cellData) => cellData.dates)\n .sort((a, b) => {\n const firstDateA = dayjs(\n a.dates.split(', ')[0],\n projectCountry === 'UK' ? 'D/M' : 'M/D'\n ).valueOf();\n const firstDateB = dayjs(\n b.dates.split(', ')[0],\n projectCountry === 'UK' ? 'D/M' : 'M/D'\n ).valueOf();\n return firstDateA - firstDateB;\n });\n\n const firstRowData = sortedCellData.slice(0, 3);\n const secondRowData = sortedCellData.slice(3, 6);\n const thirdRowData = sortedCellData.slice(6);\n const isMobileDevice = window.innerWidth <= 768;\n\n const rate_type = data?.uk_rate_type;\n const rate_type_label =\n (rate_type === 'other'\n ? data?.uk_rate_type_other\n : UK_RATE_TYPE_OPTIONS[rate_type]) ?? '-';\n\n const rate_type_cell_visible =\n (rate_type_label && rate_type_label !== '-') ||\n (rate_type &&\n rate_type === data?.project_detail?.uk_rate_type &&\n data?.project_detail?.uk_rate_card_url_text);\n\n const rate_row_visible =\n rate_type_cell_visible ||\n data?.uk_rate_note ||\n data?.project_detail?.uk_agency_fee;\n\n const RateTypeLabel = () => {\n const rate_card_link = data?.project_detail?.uk_rate_card_url_link ?? '';\n const rate_card_text = data?.project_detail?.uk_rate_card_url_text ?? '';\n return (\n \n {rate_type_label}\n {rate_type &&\n rate_type === data?.project_detail?.uk_rate_type &&\n rate_card_text && (\n
\n {rate_card_link ? (\n \n {rate_card_text}\n \n ) : (\n rate_card_text\n )}\n
\n )}\n
\n );\n };\n\n const { isEveryset, clientMiniLogoUrl } = useClientEnvironmentContext();\n\n return (\n <>\n \n {!isMobileDevice && (\n \n )}\n \n \n {!isMobileDevice && (\n \n NOW CASTING: {Object.keys(data).length && data?.job_name}\n \n )}\n \n {isArchived && }\n \n \n \n {isMobileDevice ? (\n <>\n \n \n \n \n \n \n \n \n \n \n {rate_type_cell_visible && (\n \n \n \n )}\n {data?.uk_rate_note && (\n \n \n \n )}\n {data?.project_detail?.uk_agency_fee && (\n \n \n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n <>\n \n \n \n {' '}\n \n \n \n \n \n \n \n {rate_row_visible && (\n \n {rate_type_cell_visible && (\n \n \n \n )}\n {data?.uk_rate_note && (\n \n \n \n )}\n {data?.project_detail?.uk_agency_fee && (\n \n \n \n )}\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n )}\n {isMobileDevice ? (\n \n \n {firstRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {secondRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {thirdRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n \n \n \n ) : (\n \n \n {firstRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {secondRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n {thirdRowData.map((cellData, index) => (\n \n \n \n ))}\n \n \n \n \n \n )}\n \n \n \n \n );\n};\n\ninterface IProps {\n data: PublicApplication;\n}\n\nexport default (props: IProps) => (\n \n \n \n);\nconst mobileBreakpoint = '768px';\n\nconst TableDetail = styled.table<{ responsive?: boolean }>`\n border-collapse: collapse;\n width: 100%;\n\n ${({ responsive }) =>\n responsive &&\n css`\n @media (max-width: ${mobileBreakpoint}) {\n display: block;\n width: 100%;\n }\n `}\n`;\n\nconst TableRow = styled.div`\n display: flex;\n column-gap: 32px;\n`;\n\ntype TableCellProps = {\n align?: string;\n colspan?: string;\n rowspan?: string;\n};\n\nconst TableCell = styled.td`\n width: 100%;\n ${({ align }) => align && `text-align: ${align};`}\n ${({ colspan }) => colspan && `grid-column-end: span ${colspan};`}\n ${({ rowspan }) => rowspan && `grid-row-end: span ${rowspan};`}\n`;\n\nconst Label = styled.div`\n display: flex;\n flex-direction: column;\n`;\n\nconst ValueText = styled.span`\n margin-top: 4px;\n font-size: 14px;\n\n &.pre-wrap {\n white-space: pre-wrap;\n }\n`;\n\nconst LabelText = styled.span`\n margin-top: 24px;\n font-weight: 600;\n font-size: 14px;\n color: #868686;\n`;\n\nconst ResponsiveTableDetail = styled(TableDetail)`\n @media (max-width: ${mobileBreakpoint}) {\n & ${TableRow} {\n display: grid;\n grid-template-columns: 1fr 1fr;\n }\n }\n`;\n\nconst CenteredForm = styled.div`\n display: flex;\n justify-content: center;\n align-items: center;\n`;\n\nconst Title = styled.h2`\n margin-bottom: 0px;\n font-family: Inter;\n font-size: 20px;\n font-weight: 600;\n line-height: 24px;\n color: #000000;\n`;\n\nconst StyledRateTypeLabel = styled.div`\n display: flex;\n flex-wrap: wrap;\n gap: 8px;\n`;\n","import { useEffect, useState } from 'react';\nimport Link from 'next/link';\nimport { useRouter } from 'next/router';\nimport { Button, Divider, Modal } from 'antd';\nimport LoginIndex from 'pages/auth/login';\nimport { useSelector } from 'react-redux';\nimport styled from 'styled-components';\n\nimport { LoadingOutlined } from '@ant-design/icons';\nimport Header from '@layouts/components/Header/Header';\nimport { PublicApplicationAPI } from '@lib/api/endpoints/Applications';\nimport { RootState } from '@lib/redux.lib/store';\n\nimport ProjectDetails from '../ProjectDetails';\nimport ProjectDetailsUK from '../ProjectDetailsUK';\n\nexport const FORM_WIDTH = 899;\n\nconst getApplicationIdFromUrl = (url: string) => {\n if (!url) return;\n const searchString = 'apps/';\n const index = url.indexOf(searchString);\n const applicationId = url.substring(index + searchString.length);\n\n return applicationId.split(/\\?|\\//gi)[0];\n};\n\nconst PublicApplicationIndex = (): JSX.Element => {\n const [data, setData] = useState();\n const isArchived = data?.is_archived === true;\n const [loginModal, setLoginModal] = useState(false);\n const userId = useSelector(\n (state: RootState) => state.app?.user?.profile?.id\n );\n const [loading, setLoading] = useState(true);\n const router = useRouter();\n const url = router?.asPath;\n const applicationId = getApplicationIdFromUrl(url);\n const isUkApplication = !!data?.uk_rate_type || !!data?.uk_rate_note;\n\n useEffect(() => {\n const getApplicationData = async () => {\n try {\n const applicationData = await PublicApplicationAPI.getPublicApplication(\n applicationId\n );\n setData(applicationData);\n setLoading(false);\n } catch (error) {\n console.error('error while api:', error);\n setLoading(false);\n }\n };\n getApplicationData();\n }, [applicationId]);\n const isMobileDevice = window.innerWidth <= 768;\n\n const handleModal = () => {\n if (userId !== undefined) {\n router.push(`/apps/${applicationId}/SubmitApplication`);\n return;\n }\n if (isMobileDevice) console.debug('MOBILE DEVICE', isMobileDevice);\n setLoginModal(true);\n };\n\n if (loading) {\n return ;\n }\n return (\n <>\n {/* Header */}\n {!isMobileDevice ? (\n \n ) : (\n \n Now Casting\n \n )}\n\n {/* Body */}\n \n \n {Object.keys(data || {}).length &&\n (isUkApplication ? (\n \n ) : (\n \n ))}\n\n {!isArchived && (\n <>\n
\n handleModal()}>\n Apply Now\n \n
\n
\n Not interested in this role?\n
\n \n Sign up to join our database\n \n\n \n {' '}\n to get contacted for other jobs you might be interested in\n \n
\n \n )}\n
\n setLoginModal(false)}\n footer={null}\n >\n Log in or sign up to apply\n \n \n {' '}\n \n \n
\n \n );\n};\nexport default PublicApplicationIndex;\n\nconst StyledLoadingOutlined = styled(LoadingOutlined)`\n display: flex;\n justify-content: center;\n align-items: center;\n min-height: 100vh;\n font-size: 24px;\n color: ${(props) => props.theme.palette.primary[0]};\n`;\nconst StyledDivider = styled(Divider)`\n margin: 0px;\n margin-bottom: 20px;\n margin-top: 10px;\n border: 1px solid ${(props) => props.theme.palette.border[1]};\n border-width: 1px 0 0 0;\n`;\nconst StyleMobileDiv = styled.div`\n display: none;\n padding-left: 10px;\n padding-right: 10px;\n display: flex;\n height: 50px;\n box-shadow: 0px 2px 4px rgba(0, 0, 0, 0.1);\n @media (min-width: 577px) {\n display: none;\n }\n`;\nconst StyleTitle = styled.h2`\n font-family: 'Inter';\n font-style: normal;\n font-weight: 600;\n font-size: 20px;\n line-height: 24px;\n color: #000000;\n @media (max-width: 576px) {\n margin: auto;\n }\n`;\nconst StyledText = styled.span`\n font-size: 14px;\n font-weight: 400;\n color: #202020;\n`;\nconst Styledtext = styled.span`\n font-size: 14px;\n font-weight: 600;\n color: ${({ theme }) => theme.palette.primary[0]};\n cursor: pointer;\n`;\nconst ModalHeader = styled.div`\n padding-top: 15px;\n padding-left: 15px;\n font-family: Inter;\n font-size: 17px;\n font-weight: 600;\n line-height: 21px;\n letter-spacing: 0em;\n text-align: left;\n @media (max-width: 576px) {\n font-size: 16px;\n font-weight: 600;\n border: none;\n text-align: center;\n }\n`;\nconst ModalContent = styled.div`\n width: 100%;\n`;\nconst CustomModalContent = styled(Modal)`\n .ant-modal-content {\n padding: 0;\n }\n\n .css-dev-only-do-not-override-cs932n .ant-modal-content {\n padding: 0;\n }\n`;\nconst CenteredContainer = styled.div`\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n padding-bottom: 32px;\n @media (max-width: 576px) {\n height: 100%;\n padding: 12px;\n }\n`;\nconst StyledForm = styled.form`\n max-width: ${FORM_WIDTH}px;\n`;\nconst ApplyNowButton = styled(Button)`\n margin-top: 40px;\n margin-bottom: 32px;\n width: 100%;\n height: 35px;\n gap: 8px;\n background: ${({ theme }) => theme.palette.primary[0]};\n color: #fcfcfc;\n font-family: Inter;\n font-size: 12px;\n font-weight: 600;\n @media (max-width: 576px) {\n width: 100%;\n margin: 24px 0;\n }\n`;\n","import { ReactElement, useEffect, useState } from 'react';\nimport Link from 'next/link';\nimport { NextRouter, useRouter } from 'next/router';\nimport { Divider, message,Row, Tooltip } from 'antd';\nimport { Auth } from 'aws-amplify';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport { useDispatch } from 'react-redux';\nimport styled from 'styled-components';\n\nimport { GoogleLogo } from '@assets/icons';\nimport { EverysetLogo } from '@assets/img';\nimport SaaSLogo from '@assets/img/SaaSLogo';\nimport { CognitoHostedUIIdentityProvider } from '@aws-amplify/auth';\nimport { Button } from '@components/Button';\nimport { Form } from '@components/Form';\nimport { Input, PasswordInput } from '@components/Input';\nimport { resetStore } from '@lib/redux.lib/slices/appSlice';\nimport { sessionStorageKeywords, useSessionStorage } from '@lib/utils/useSessionStorage';\n\ninterface IFieldValues {\n email?: string;\n password?: string;\n}\n\nconst getApplicationIdFromUrl = (url: string) => {\n if (!url) return;\n const searchString = 'apps/';\n const index = url.indexOf(searchString);\n const applicationId = url.substring(index + searchString.length);\n\n return applicationId.split(/\\?|\\//gi)[0];\n};\n\nconst signIn = async (\n fieldValues: IFieldValues,\n setSignInLoading: (loading: boolean) => void,\n router: NextRouter,\n redirectTo: string | undefined\n): Promise => {\n await (Auth as any)._storage.clear();\n await (Auth as any).cleanCachedItems();\n // disable Log In button while loading to prevent multiple clicks\n setSignInLoading(true);\n\n const { email, password } = fieldValues;\n\n const username = email?.toLowerCase()?.trim();\n const url = router.asPath;\n const { redirectTo: redirectToInQuery } = router.query;\n const applicationIdFromUrl = getApplicationIdFromUrl(url);\n const { PostApplication, application_id } = router.query;\n const postApplicationAuth = router?.asPath.includes('/apps');\n\n try {\n // SignIn on Cognito -- will trigger event for listener in @lib/auth/index.tsx\n await Auth.signIn(username, password);\n\n message.info('Successfully logged in!');\n\n // populate redux with user to conditional render content\n // TODO\n\n setSignInLoading(false);\n\n // if prev redirected to login (e.g. from signup page)\n // then redirect to home page on sign in\n if (redirectTo) {\n router.push(redirectTo);\n return;\n }\n\n if (PostApplication || postApplicationAuth) {\n router.push(\n `/apps/${application_id || applicationIdFromUrl}/SubmitApplication`\n );\n }\n if (router.pathname === '/auth/login') {\n router.push('/');\n }\n } catch (error) {\n if (error?.code === 'UserNotConfirmedException') {\n try {\n await Auth.resendSignUp(username);\n if (url?.includes('/apps/') || redirectToInQuery?.includes('/apps/')) {\n router.push({\n pathname: '/auth/post-signup',\n query: { email: username, redirectTo: url ?? redirectToInQuery },\n });\n return;\n }\n // next js router will url encode params -- need to pass as string literal\n router.push(`/auth/post-signup?email=${username}`);\n } catch (resendError) {\n console.error(resendError); // intentional\n } finally {\n setSignInLoading(false);\n }\n return;\n }\n console.error(error); // intentional\n displayError(error?.message);\n setSignInLoading(false);\n }\n};\n\nconst displayError = (ish: string) => {\n message.error(ish.replace(/[\\S]* failed with error/, ''), 3);\n};\n\nconst EmailFormItem = (): ReactElement => (\n =>\n email ? Promise.resolve() : Promise.reject(),\n },\n ]}\n style={{ maxWidth: 352, margin: '0 0 16px 0' }}\n >\n \n \n);\n\nconst PasswordFormItem = (): ReactElement => (\n => {\n if (password) return Promise.resolve();\n return Promise.reject();\n },\n },\n ]}\n style={{\n maxWidth: 352,\n margin: '0 0 8px 0',\n }}\n >\n \n \n);\n\nconst ForgotPasswordLink = (): ReactElement => (\n
\n Forgot your password?{' '}\n
\n);\n\nconst SignInFormItem = ({\n signInLoading,\n}: {\n signInLoading: boolean;\n}): ReactElement => (\n \n \n Log in\n \n \n);\n\nconst GoogleButton = ({ router }): ReactElement => {\n const isFacebookBrowser =\n navigator?.userAgent?.includes('FB_IAB') ||\n navigator?.userAgent?.includes('FBIOS') ||\n navigator?.userAgent?.includes('FBAV') ||\n navigator?.userAgent?.includes('FBAN');\n\n return (\n \n {\n Auth.federatedSignIn({\n provider: CognitoHostedUIIdentityProvider.Google,\n customState: JSON.stringify({ redirectTo: router.asPath }),\n })\n .then((success) => {\n console.debug('sucess', success);\n })\n .catch((err) => {\n console.debug('ERROR', err);\n });\n }}\n style={{ borderRadius: 4, borderWidth: 2 }}\n >\n \n Log in with Google\n \n \n );\n};\nconst SignUpLink = (): ReactElement => {\n const router: NextRouter = useRouter();\n const path = router?.asPath;\n const PublicApplication = path.includes('/apps');\n const applicationId = PublicApplication ? path.split('/')[2] : null;\n return (\n \n Don't have an account?\n {/* passHreft and legacyBehavior required for styled component link*/}\n \n Sign up here\n \n \n );\n};\n\nconst LoginIndex = (): ReactElement => {\n const [form] = Form.useForm();\n const [fieldValues, setFieldValues] = useState({});\n const [signInLoading, setSignInLoading] = useState(false);\n const router: NextRouter = useRouter();\n const dispatch = useDispatch();\n const [notificationUrl, setNotificationUrlValue] = useSessionStorage(sessionStorageKeywords.notificationUrl, null);\n const { redirectTo: rawRedirectTo, application_id } = router.query;\n\n const redirectTo = rawRedirectTo\n ? rawRedirectTo\n : application_id\n ? `/apps/${application_id}/SubmitApplication`\n : null;\n\n useEffect(() => {\n dispatch(resetStore());\n }, []);\n\n useEffect(() => {\n const fullPath = getRedirectTo(router.asPath);\n\n const queryToCheck = [\"list_membership_id\", \"notification_id\", \"booking_date_id\"];\n if (queryToCheck.some(word => fullPath.includes(word)) && notificationUrl !== fullPath) {\n setNotificationUrlValue(fullPath);\n }\n }, [router.asPath, setNotificationUrlValue, notificationUrl]);\n\n const getRedirectTo = (url: string) => {\n const params = new URLSearchParams(url.split(\"?\")[1]);\n return params.get(\"redirectTo\") || url;\n };\n\n const PublicApplication = router?.asPath.includes('/apps');\n const { isEveryset } = useClientEnvironmentContext();\n\n return (\n \n {!PublicApplication && isEveryset && }\n {!PublicApplication && !isEveryset && }\n \n signIn(fieldValues, setSignInLoading, router, redirectTo as string)\n }\n layout={'vertical'}\n onValuesChange={(changedValues: IFieldValues) =>\n setFieldValues({ ...fieldValues, ...changedValues })\n }\n >\n \n \n \n \n \n\n or\n \n \n \n );\n};\n\nconst StyledForm = styled(Form)`\n margin: 36px 0 0 0;\n max-width: 352px;\n`;\n\nconst StyledDivider = styled(Divider)`\n margin: 16px 0 16px 0;\n justify-content: center;\n max-width: 352px;\n &.ant-divider::before {\n max-width: 158px;\n border-block-start-color: ${(props) =>\n props.theme?.palette?.greyscale?.[4]};\n }\n span.ant-divider-inner-text {\n font-size: 12px;\n padding: 0px 10px;\n color: ${(props) =>\n props?.theme ? props.theme?.palette?.greyscale?.[5] : 'inherit'};\n }\n &.ant-divider::after {\n max-width: 158px;\n border-block-start-color: ${(props) =>\n props.theme?.palette?.greyscale?.[4]};\n }\n`;\n\nconst StyledGoogleButton = styled(Button)`\n &.ant-btn {\n justify-content: center;\n align-items: center;\n max-width: 352px;\n width: 352px;\n height: 36px;\n padding: 10px 13px;\n margin: 0 0 16px 0;\n span {\n font-size: 12px;\n }\n color: ${(props) => props.theme?.palette?.greyscale?.[10]};\n background-color: ${(props) => props.theme?.palette?.greyscale?.[0]};\n border-color: ${(props) => props.theme?.palette?.greyscale?.[3]};\n }\n`;\n\n// external links -- use tag\nconst StyledLink = styled.a`\n font-size: 12px;\n color: ${(props) => props.theme?.palette?.greyscale?.[6]};\n :hover {\n color: ${(props) => props.theme.palette.link[0]};\n }\n`;\n\n// internal links -- use tag but embed in NextJS component\nconst StyledALink = styled.a`\n font-weight: 600;\n padding-left: 5px;\n color: ${(props) => props.theme?.palette?.link?.[0]};\n :hover {\n color: ${(props) => props.theme.palette.link[0]};\n }\n`;\n\nLoginIndex.isPublic = true;\n\nexport default LoginIndex;\n","import { useOnboardingStateContext } from 'context/onboarding/OnboardingStateContext';\nimport { useRouter } from 'next/router';\nimport PublicApplicationIndex from 'pages/apps/[application_id]/index';\nimport { ReactNode } from 'react';\nimport styled from 'styled-components';\n\nimport { EverysetLogo } from '@assets/img';\nimport { useAuth } from '@lib/auth';\n\nimport SaaSLogo from '@assets/img/SaaSLogo';\nimport { useClientEnvironmentContext } from 'context/ClientEnvironmentContext/ClientEnvironmentContext';\nimport LoginIndex from './login';\n\ninterface IProps {\n children: ReactNode;\n routeProtected: boolean;\n}\n\nconst ProtectRoute = ({ children, routeProtected }: IProps): JSX.Element => {\n const router = useRouter();\n const { isAuthenticated, sessionLoading } = useAuth();\n const { onboardingLoading } = useOnboardingStateContext();\n const routeSegments = router?.asPath.split('/');\n const isPublicApplicationRoute =\n router?.asPath.includes('/apps') &&\n (!routeSegments[3] || routeSegments[3] !== 'SubmitApplication');\n\n if (onboardingLoading || sessionLoading) return ;\n if (isPublicApplicationRoute) return ;\n if (!isAuthenticated && routeProtected) return ;\n return <>{children};\n};\n\nconst SplashScreen = (): JSX.Element => {\n const { isEveryset } = useClientEnvironmentContext();\n\n return (\n \n {isEveryset ? : }\n \n );\n};\n\nconst StyledContainer = styled.div`\n height: 100vh;\n display: grid;\n place-content: center;\n`;\n\nexport default ProtectRoute;\n","const theme = {\n palette: {\n primary: [\n process.env.NEXT_PUBLIC_CLIENT_PRIMARY_COLOR, // 0: Default\n '#00BFD2', // 1: Darken 4%\n '#00BCCF', // 2: Darken 5%\n 'rgba(0, 201, 220, 0.2)', // 3: Fade 20%\n process.env.NEXT_PUBLIC_CLIENT_PRIMARY_HOVER_COLOR, // 4: Lighten 3%\n '#26EFFF', // 5: Lighten 15%\n '#1FE8FB', // 6: Lighten 12%\n '#00C4D7', // 7: Darken 2%\n 'rgb(0, 128, 140)', // 8: Algolia color\n '#14DDF0', // 9: Lighten 8%\n '#00B5C8', // 10: Darken 8%,\n '#00AABD', // 11: Darken 12%\n '#0DD6E9', // 12: Lighten 5%\n process.env.NEXT_PUBLIC_CLIENT_PRIMARY_DISABLED_COLOR, // 13 40% opacity\n '#1733c41a', // 14 10% opacity\n '#F7F7F7', // 15: Base Card\n process.env.NEXT_PUBLIC_CLIENT_SELECTED_MENU_ITEM_COLOR, // 16\n ],\n secondary: [\n '#2d3446', // 0: DarkBlue\n '#f1f3f6', // 1: LightBluish\n '#788195', // 2: LightBlue\n '#E4E6E9', // 3: LightBluish Darken 5%\n '#202739', // 5: DarkBlue Darken 5%\n '#f5f6f8', // 6: LighterBluish\n '#e9ebf1', // 7: DarkBluish\n '#F6F8FB', // 8: LighterBluish Lighten 2%\n '#E9EBEE', // 9: LighterBluish Darken 3%\n '#1a1a1a', // 10: Sidebar submenu select\n ],\n color: [\n '#E14A4A', // 0: Red\n '#F89020', // 1: Orange\n '#14984C', // 2: Green\n '#7ED321', // 3: LimeGreen\n '#39435f', // 4: BlueShade\n '#FFCA28', // 5: Yellow\n '#F2BD1B', // 6: Yellow Darken 5%\n '#3b5998', // 7: Facebook\n '#344e86', // 8: Facebook Darken 5%\n '#dd4b39', // 9: Google Plus\n '#d73925', // 10: Google Plus Darken 5%\n '#e14615', // 11: Auth0\n '#ca3f13', // 12: Auth0\n '#e0364c', // 13: themeColor--AlizarinCrimson\n '#E8EBF9', // 14: Base Information\n '#F3B7B6', // 15: Red Disabled\n '#FFEAEA', // 16: Base Error\n ],\n shadow: [\n '1px 1px 7px 1px rgba(64, 64, 64, 0.25)', // 0: 1,1,7,1 25%\n process.env.NEXT_PUBLIC_CLIENT_BOX_SHADOW, // 1: 1,1,1,7 35%\n '0 0 0 2px rgba(24, 144, 255, 0.2)', // 2: ant designs default boxshadow for inputs\n ],\n fill: [\n '#FBDBDB', // 0: Red\n '#FDE3CA', // 1: Orange\n '#DBEBDB', // 2: Green,\n 'rgba(255, 237, 237)', // 3: Light Red\n ],\n hover: [process.env.NEXT_PUBLIC_CLIENT_PRIMARY_HOVER_COLOR],\n active: [process.env.NEXT_PUBLIC_CLIENT_PRIMARY_COLOR],\n highlight: [\n '#E6E9F7', // 0: Highlight\n 'rgba(23, 51, 196, 0.1)', // 1: Highlight\n ],\n warning: [\n '#F89020', // 0: Warning\n ],\n success: [\n '#14984C', // 0: Success\n ],\n error: [\n '#E14A4A', // 0: Error\n ],\n greyscale: [\n '#FDFDFD', // 0: White\n '#F9F9F9', // 1: Grey 1\n '#ECECEC', // 2: Grey 2\n '#D8D8D8', // 3: Grey 3\n '#BABABA', // 4: Grey 4\n '#868686', // 5: Grey 5\n '#494949', // 6: Grey 6\n '#202020', // 7: Black, Text\n ],\n text: [\n '#202020', // 0: Text\n '#323332', // 1: Heading\n '#595959', // 2: HeadingLight\n '#979797', // 3: Text\n '#797979', // 4: TextDark\n '#6a6c6a', // 5: Heading Lighten 22%\n 'rgb(68, 68, 68)', // 6: Castifi Medium\n 'rgb(200, 200, 200)', // 7: Castifi Medium Light\n '#424242', // 8: Sub Heading\n '#757575', // 9: Disabled\n '#9E9E9E', // 10: Disabled Light\n ],\n border: [\n '#e9e9e9', // 0: Border\n '#d8d8d8', // 1: BorderDark\n '#ebebeb', // 2: BorderLight\n '#d3d3d3', // 3:\n 'rgba(228, 228, 228, 0.65)', // 4:\n ],\n link: [process.env.NEXT_PUBLIC_CLIENT_PRIMARY_LINK_COLOR],\n\n stroke: [\n '#E0E0E0', // 0: Stroke Light\n '#BDBDBD', // 1: Stroke Default\n '#424242', // 2: Stroke Icon Default\n '#323232', // 3: Stroke Icon Dark\n ],\n\n textLineHeight: ['30px', '24px', '21px', '18px', '17px', '15px'],\n textFontSize: [\n '25px', // 0\n '20px', // 1\n '17px', // 2\n '16px', // 3\n '15px', // 4\n '14px', // 5\n '13px', // 6\n '12px', // 7\n ],\n textFontWeight: ['600', '400'],\n statuses: [\n '#FFBB0E', // 0: Invited\n '#8551D9', // 1: Submitted / Available\n '#E14A4A', // 2: Unavailable / Denied / Canceled / No Show\n '#494949', // 3: Released,\n '#F89020', // 4: Status Check,\n '#14984C', // 5: Avail Confirmed,\n process.env.NEXT_PUBLIC_CLIENT_PRIMARY_COLOR, // 6: Booked,\n '#ECECEC', // 7: Misc Message,\n '#FFBB0E', // 8: Default\n ],\n },\n fonts: {\n primary: 'Inter Sans, Roboto, sans-serif',\n pre: 'Consolas, Liberation Mono, Menlo, Courier, monospace',\n },\n};\n\nexport type ThemeConfig = typeof theme;\nexport default theme;\n","import { SVGProps } from 'react';\n\nimport theme from '@styles/theme';\n\nexport const ExternalLinkIcon = ({\n width = '15',\n height = '15',\n stroke = theme.palette.text[8],\n}: SVGProps) => (\n \n \n \n);\n","import { SVGProps } from 'react';\n\nimport theme from '@styles/theme';\n\nexport const WarningAlertIcon = ({\n width = '17',\n height = '17',\n fill = theme.palette.color[0],\n}: SVGProps) => (\n \n \n \n);\n","import Link from 'next/link';\nimport styled from 'styled-components';\n\nimport { ExternalLinkIcon } from '@assets/icons/ExternalLink';\nimport { WarningAlertIcon } from '@assets/icons/WarningAlert';\n\ntype ArchivedApplicationBannerProps = {\n className?: string;\n};\n\nexport const ArchivedApplicationBanner = ({\n className,\n}: ArchivedApplicationBannerProps) => {\n return (\n \n
\n \n
\n
\n \n );\n};\n\nexport const StyledContainer = styled.div`\n display: flex;\n gap: 8px;\n align-items: center;\n padding: 10px 12px;\n background-color: ${({ theme }) => theme.palette.color[16]};\n margin-top: 20px;\n border-radius: 4px;\n font-size: 14px;\n line-height: 20px;\n color: ${({ theme }) => theme.palette.text[0]};\n\n p {\n margin: 0;\n }\n\n div.warning-icon {\n width: 20px;\n height: 20px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n\n div.description-and-url {\n display: flex;\n gap: 4px;\n justify-content: space-between;\n align-items: center;\n width: calc(100% - 28px);\n\n .url-sign-up {\n text-decoration: none;\n color: inherit;\n display: flex;\n align-items: center;\n gap: 4px;\n\n &:hover {\n text-decoration: underline;\n }\n\n span.text-url {\n font-weight: 600;\n }\n\n span.icon-container {\n width: 16px;\n height: 16px;\n display: flex;\n justify-content: center;\n align-items: center;\n }\n }\n\n @media (max-width: 768px) {\n flex-direction: column;\n gap: 8px;\n align-items: stretch;\n justify-content: flex-start;\n }\n }\n\n @media (max-width: 768px) {\n align-items: flex-start;\n margin-top: 0;\n }\n`;\n","(function(){var e={477:function(e){\"use strict\";e.exports=require(\"querystring\")}};var t={};function __nccwpck_require__(o){var a=t[o];if(a!==undefined){return a.exports}var s=t[o]={exports:{}};var n=true;try{e[o](s,s.exports,__nccwpck_require__);n=false}finally{if(n)delete t[o]}return s.exports}if(typeof __nccwpck_require__!==\"undefined\")__nccwpck_require__.ab=__dirname+\"/\";var o={};!function(){var e=o;var t,a=(t=__nccwpck_require__(477))&&\"object\"==typeof t&&\"default\"in t?t.default:t,s=/https?|ftp|gopher|file/;function r(e){\"string\"==typeof e&&(e=d(e));var t=function(e,t,o){var a=e.auth,s=e.hostname,n=e.protocol||\"\",p=e.pathname||\"\",c=e.hash||\"\",i=e.query||\"\",u=!1;a=a?encodeURIComponent(a).replace(/%3A/i,\":\")+\"@\":\"\",e.host?u=a+e.host:s&&(u=a+(~s.indexOf(\":\")?\"[\"+s+\"]\":s),e.port&&(u+=\":\"+e.port)),i&&\"object\"==typeof i&&(i=t.encode(i));var f=e.search||i&&\"?\"+i||\"\";return n&&\":\"!==n.substr(-1)&&(n+=\":\"),e.slashes||(!n||o.test(n))&&!1!==u?(u=\"//\"+(u||\"\"),p&&\"/\"!==p[0]&&(p=\"/\"+p)):u||(u=\"\"),c&&\"#\"!==c[0]&&(c=\"#\"+c),f&&\"?\"!==f[0]&&(f=\"?\"+f),{protocol:n,host:u,pathname:p=p.replace(/[?#]/g,encodeURIComponent),search:f=f.replace(\"#\",\"%23\"),hash:c}}(e,a,s);return\"\"+t.protocol+t.host+t.pathname+t.search+t.hash}var n=\"http://\",p=\"w.w\",c=n+p,i=/^([a-z0-9.+-]*:\\/\\/\\/)([a-z0-9.+-]:\\/*)?/i,u=/https?|ftp|gopher|file/;function h(e,t){var o=\"string\"==typeof e?d(e):e;e=\"object\"==typeof e?r(e):e;var a=d(t),s=\"\";o.protocol&&!o.slashes&&(s=o.protocol,e=e.replace(o.protocol,\"\"),s+=\"/\"===t[0]||\"/\"===e[0]?\"/\":\"\"),s&&a.protocol&&(s=\"\",a.slashes||(s=a.protocol,t=t.replace(a.protocol,\"\")));var p=e.match(i);p&&!a.protocol&&(e=e.substr((s=p[1]+(p[2]||\"\")).length),/^\\/\\/[^/]/.test(t)&&(s=s.slice(0,-1)));var f=new URL(e,c+\"/\"),m=new URL(t,f).toString().replace(c,\"\"),v=a.protocol||o.protocol;return v+=o.slashes||a.slashes?\"//\":\"\",!s&&v?m=m.replace(n,v):s&&(m=m.replace(n,\"\")),u.test(m)||~t.indexOf(\".\")||\"/\"===e.slice(-1)||\"/\"===t.slice(-1)||\"/\"!==m.slice(-1)||(m=m.slice(0,-1)),s&&(m=s+(\"/\"===m[0]?m.substr(1):m)),m}function l(){}l.prototype.parse=d,l.prototype.format=r,l.prototype.resolve=h,l.prototype.resolveObject=h;var f=/^https?|ftp|gopher|file/,m=/^(.*?)([#?].*)/,v=/^([a-z0-9.+-]*:)(\\/{0,3})(.*)/i,_=/^([a-z0-9.+-]*:)?\\/\\/\\/*/i,b=/^([a-z0-9.+-]*:)(\\/{0,2})\\[(.*)\\]$/i;function d(e,t,o){if(void 0===t&&(t=!1),void 0===o&&(o=!1),e&&\"object\"==typeof e&&e instanceof l)return e;var s=(e=e.trim()).match(m);e=s?s[1].replace(/\\\\/g,\"/\")+s[2]:e.replace(/\\\\/g,\"/\"),b.test(e)&&\"/\"!==e.slice(-1)&&(e+=\"/\");var n=!/(^javascript)/.test(e)&&e.match(v),i=_.test(e),u=\"\";n&&(f.test(n[1])||(u=n[1].toLowerCase(),e=\"\"+n[2]+n[3]),n[2]||(i=!1,f.test(n[1])?(u=n[1],e=\"\"+n[3]):e=\"//\"+n[3]),3!==n[2].length&&1!==n[2].length||(u=n[1],e=\"/\"+n[3]));var g,y=(s?s[1]:e).match(/^https?:\\/\\/[^/]+(:[0-9]+)(?=\\/|$)/),w=y&&y[1],C=new l,U=\"\",j=\"\";try{g=new URL(e)}catch(t){U=t,u||o||!/^\\/\\//.test(e)||/^\\/\\/.+[@.]/.test(e)||(j=\"/\",e=e.substr(1));try{g=new URL(e,c)}catch(e){return C.protocol=u,C.href=u,C}}C.slashes=i&&!j,C.host=g.host===p?\"\":g.host,C.hostname=g.hostname===p?\"\":g.hostname.replace(/(\\[|\\])/g,\"\"),C.protocol=U?u||null:g.protocol,C.search=g.search.replace(/\\\\/g,\"%5C\"),C.hash=g.hash.replace(/\\\\/g,\"%5C\");var x=e.split(\"#\");!C.search&&~x[0].indexOf(\"?\")&&(C.search=\"?\"),C.hash||\"\"!==x[1]||(C.hash=\"#\"),C.query=t?a.decode(g.search.substr(1)):C.search.substr(1),C.pathname=j+(n?function(e){return e.replace(/['^|`]/g,(function(e){return\"%\"+e.charCodeAt().toString(16).toUpperCase()})).replace(/((?:%[0-9A-F]{2})+)/g,(function(e,t){try{return decodeURIComponent(t).split(\"\").map((function(e){var t=e.charCodeAt();return t>256||/^[a-z0-9]$/i.test(e)?e:\"%\"+t.toString(16).toUpperCase()})).join(\"\")}catch(e){return t}}))}(g.pathname):g.pathname),\"about:\"===C.protocol&&\"blank\"===C.pathname&&(C.protocol=\"\",C.pathname=\"\"),U&&\"/\"!==e[0]&&(C.pathname=C.pathname.substr(1)),u&&!f.test(u)&&\"/\"!==e.slice(-1)&&\"/\"===C.pathname&&(C.pathname=\"\"),C.path=C.pathname+C.search,C.auth=[g.username,g.password].map(decodeURIComponent).filter(Boolean).join(\":\"),C.port=g.port,w&&!C.host.endsWith(w)&&(C.host+=w,C.port=w.slice(1)),C.href=j?\"\"+C.pathname+C.search+C.hash:r(C);var q=/^(file)/.test(C.href)?[\"host\",\"hostname\"]:[];return Object.keys(C).forEach((function(e){~q.indexOf(e)||(C[e]=C[e]||null)})),C}e.parse=d,e.format=r,e.resolve=h,e.resolveObject=function(e,t){return d(h(e,t))},e.Url=l}();module.exports=o})();","module.exports = require('./dist/shared/lib/head')\n","module.exports = require('./dist/client/link')\n","module.exports = require('./dist/client/router')\n","module.exports = require('./dist/client/script')\n","/*******************************************************************************\n * Copyright (c) 2013 IBM Corp.\n *\n * All rights reserved. This program and the accompanying materials\n * are made available under the terms of the Eclipse Public License v1.0\n * and Eclipse Distribution License v1.0 which accompany this distribution.\n *\n * The Eclipse Public License is available at\n * http://www.eclipse.org/legal/epl-v10.html\n * and the Eclipse Distribution License is available at\n * http://www.eclipse.org/org/documents/edl-v10.php.\n *\n * Contributors:\n * Andrew Banks - initial API and implementation and initial documentation\n *******************************************************************************/\n\n\n// Only expose a single object name in the global namespace.\n// Everything must go through this module. Global Paho module\n// only has a single public function, client, which returns\n// a Paho client object given connection details.\n\n/**\n * Send and receive messages using web browsers.\n *

\n * This programming interface lets a JavaScript client application use the MQTT V3.1 or\n * V3.1.1 protocol to connect to an MQTT-supporting messaging server.\n *\n * The function supported includes:\n *

    \n *
  1. Connecting to and disconnecting from a server. The server is identified by its host name and port number.\n *
  2. Specifying options that relate to the communications link with the server,\n * for example the frequency of keep-alive heartbeats, and whether SSL/TLS is required.\n *
  3. Subscribing to and receiving messages from MQTT Topics.\n *
  4. Publishing messages to MQTT Topics.\n *
\n *

\n * The API consists of two main objects:\n *

\n *
{@link Paho.Client}
\n *
This contains methods that provide the functionality of the API,\n * including provision of callbacks that notify the application when a message\n * arrives from or is delivered to the messaging server,\n * or when the status of its connection to the messaging server changes.
\n *
{@link Paho.Message}
\n *
This encapsulates the payload of the message along with various attributes\n * associated with its delivery, in particular the destination to which it has\n * been (or is about to be) sent.
\n *
\n *

\n * The programming interface validates parameters passed to it, and will throw\n * an Error containing an error message intended for developer use, if it detects\n * an error with any parameter.\n *

\n * Example:\n *\n *

\nvar client = new Paho.MQTT.Client(location.hostname, Number(location.port), \"clientId\");\nclient.onConnectionLost = onConnectionLost;\nclient.onMessageArrived = onMessageArrived;\nclient.connect({onSuccess:onConnect});\n\nfunction onConnect() {\n  // Once a connection has been made, make a subscription and send a message.\n  console.log(\"onConnect\");\n  client.subscribe(\"/World\");\n  var message = new Paho.MQTT.Message(\"Hello\");\n  message.destinationName = \"/World\";\n  client.send(message);\n};\nfunction onConnectionLost(responseObject) {\n  if (responseObject.errorCode !== 0)\n\tconsole.log(\"onConnectionLost:\"+responseObject.errorMessage);\n};\nfunction onMessageArrived(message) {\n  console.log(\"onMessageArrived:\"+message.payloadString);\n  client.disconnect();\n};\n * 
\n * @namespace Paho\n */\n\n/* jshint shadow:true */\n(function ExportLibrary(root, factory) {\n\tif(typeof exports === \"object\" && typeof module === \"object\"){\n\t\tmodule.exports = factory();\n\t} else if (typeof define === \"function\" && define.amd){\n\t\tdefine(factory);\n\t} else if (typeof exports === \"object\"){\n\t\texports = factory();\n\t} else {\n\t\t//if (typeof root.Paho === \"undefined\"){\n\t\t//\troot.Paho = {};\n\t\t//}\n\t\troot.Paho = factory();\n\t}\n})(this, function LibraryFactory(){\n\n\n\tvar PahoMQTT = (function (global) {\n\n\t// Private variables below, these are only visible inside the function closure\n\t// which is used to define the module.\n\tvar version = \"@VERSION@-@BUILDLEVEL@\";\n\n\t/**\n\t * @private\n\t */\n\tvar localStorage = global.localStorage || (function () {\n\t\tvar data = {};\n\n\t\treturn {\n\t\t\tsetItem: function (key, item) { data[key] = item; },\n\t\t\tgetItem: function (key) { return data[key]; },\n\t\t\tremoveItem: function (key) { delete data[key]; },\n\t\t};\n\t})();\n\n\t\t/**\n\t * Unique message type identifiers, with associated\n\t * associated integer values.\n\t * @private\n\t */\n\t\tvar MESSAGE_TYPE = {\n\t\t\tCONNECT: 1,\n\t\t\tCONNACK: 2,\n\t\t\tPUBLISH: 3,\n\t\t\tPUBACK: 4,\n\t\t\tPUBREC: 5,\n\t\t\tPUBREL: 6,\n\t\t\tPUBCOMP: 7,\n\t\t\tSUBSCRIBE: 8,\n\t\t\tSUBACK: 9,\n\t\t\tUNSUBSCRIBE: 10,\n\t\t\tUNSUBACK: 11,\n\t\t\tPINGREQ: 12,\n\t\t\tPINGRESP: 13,\n\t\t\tDISCONNECT: 14\n\t\t};\n\n\t\t// Collection of utility methods used to simplify module code\n\t\t// and promote the DRY pattern.\n\n\t\t/**\n\t * Validate an object's parameter names to ensure they\n\t * match a list of expected variables name for this option\n\t * type. Used to ensure option object passed into the API don't\n\t * contain erroneous parameters.\n\t * @param {Object} obj - User options object\n\t * @param {Object} keys - valid keys and types that may exist in obj.\n\t * @throws {Error} Invalid option parameter found.\n\t * @private\n\t */\n\t\tvar validate = function(obj, keys) {\n\t\t\tfor (var key in obj) {\n\t\t\t\tif (obj.hasOwnProperty(key)) {\n\t\t\t\t\tif (keys.hasOwnProperty(key)) {\n\t\t\t\t\t\tif (typeof obj[key] !== keys[key])\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof obj[key], key]));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tvar errorStr = \"Unknown property, \" + key + \". Valid properties are:\";\n\t\t\t\t\t\tfor (var validKey in keys)\n\t\t\t\t\t\t\tif (keys.hasOwnProperty(validKey))\n\t\t\t\t\t\t\t\terrorStr = errorStr+\" \"+validKey;\n\t\t\t\t\t\tthrow new Error(errorStr);\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t * Return a new function which runs the user function bound\n\t * to a fixed scope.\n\t * @param {function} User function\n\t * @param {object} Function scope\n\t * @return {function} User function bound to another scope\n\t * @private\n\t */\n\t\tvar scope = function (f, scope) {\n\t\t\treturn function () {\n\t\t\t\treturn f.apply(scope, arguments);\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t * Unique message type identifiers, with associated\n\t * associated integer values.\n\t * @private\n\t */\n\t\tvar ERROR = {\n\t\t\tOK: {code:0, text:\"AMQJSC0000I OK.\"},\n\t\t\tCONNECT_TIMEOUT: {code:1, text:\"AMQJSC0001E Connect timed out.\"},\n\t\t\tSUBSCRIBE_TIMEOUT: {code:2, text:\"AMQJS0002E Subscribe timed out.\"},\n\t\t\tUNSUBSCRIBE_TIMEOUT: {code:3, text:\"AMQJS0003E Unsubscribe timed out.\"},\n\t\t\tPING_TIMEOUT: {code:4, text:\"AMQJS0004E Ping timed out.\"},\n\t\t\tINTERNAL_ERROR: {code:5, text:\"AMQJS0005E Internal error. Error Message: {0}, Stack trace: {1}\"},\n\t\t\tCONNACK_RETURNCODE: {code:6, text:\"AMQJS0006E Bad Connack return code:{0} {1}.\"},\n\t\t\tSOCKET_ERROR: {code:7, text:\"AMQJS0007E Socket error:{0}.\"},\n\t\t\tSOCKET_CLOSE: {code:8, text:\"AMQJS0008I Socket closed.\"},\n\t\t\tMALFORMED_UTF: {code:9, text:\"AMQJS0009E Malformed UTF data:{0} {1} {2}.\"},\n\t\t\tUNSUPPORTED: {code:10, text:\"AMQJS0010E {0} is not supported by this browser.\"},\n\t\t\tINVALID_STATE: {code:11, text:\"AMQJS0011E Invalid state {0}.\"},\n\t\t\tINVALID_TYPE: {code:12, text:\"AMQJS0012E Invalid type {0} for {1}.\"},\n\t\t\tINVALID_ARGUMENT: {code:13, text:\"AMQJS0013E Invalid argument {0} for {1}.\"},\n\t\t\tUNSUPPORTED_OPERATION: {code:14, text:\"AMQJS0014E Unsupported operation.\"},\n\t\t\tINVALID_STORED_DATA: {code:15, text:\"AMQJS0015E Invalid data in local storage key={0} value={1}.\"},\n\t\t\tINVALID_MQTT_MESSAGE_TYPE: {code:16, text:\"AMQJS0016E Invalid MQTT message type {0}.\"},\n\t\t\tMALFORMED_UNICODE: {code:17, text:\"AMQJS0017E Malformed Unicode string:{0} {1}.\"},\n\t\t\tBUFFER_FULL: {code:18, text:\"AMQJS0018E Message buffer is full, maximum buffer size: {0}.\"},\n\t\t};\n\n\t\t/** CONNACK RC Meaning. */\n\t\tvar CONNACK_RC = {\n\t\t\t0:\"Connection Accepted\",\n\t\t\t1:\"Connection Refused: unacceptable protocol version\",\n\t\t\t2:\"Connection Refused: identifier rejected\",\n\t\t\t3:\"Connection Refused: server unavailable\",\n\t\t\t4:\"Connection Refused: bad user name or password\",\n\t\t\t5:\"Connection Refused: not authorized\"\n\t\t};\n\n\t/**\n\t * Format an error message text.\n\t * @private\n\t * @param {error} ERROR value above.\n\t * @param {substitutions} [array] substituted into the text.\n\t * @return the text with the substitutions made.\n\t */\n\t\tvar format = function(error, substitutions) {\n\t\t\tvar text = error.text;\n\t\t\tif (substitutions) {\n\t\t\t\tvar field,start;\n\t\t\t\tfor (var i=0; i 0) {\n\t\t\t\t\t\tvar part1 = text.substring(0,start);\n\t\t\t\t\t\tvar part2 = text.substring(start+field.length);\n\t\t\t\t\t\ttext = part1+substitutions[i]+part2;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn text;\n\t\t};\n\n\t\t//MQTT protocol and version 6 M Q I s d p 3\n\t\tvar MqttProtoIdentifierv3 = [0x00,0x06,0x4d,0x51,0x49,0x73,0x64,0x70,0x03];\n\t\t//MQTT proto/version for 311 4 M Q T T 4\n\t\tvar MqttProtoIdentifierv4 = [0x00,0x04,0x4d,0x51,0x54,0x54,0x04];\n\n\t\t/**\n\t * Construct an MQTT wire protocol message.\n\t * @param type MQTT packet type.\n\t * @param options optional wire message attributes.\n\t *\n\t * Optional properties\n\t *\n\t * messageIdentifier: message ID in the range [0..65535]\n\t * payloadMessage:\tApplication Message - PUBLISH only\n\t * connectStrings:\tarray of 0 or more Strings to be put into the CONNECT payload\n\t * topics:\t\t\tarray of strings (SUBSCRIBE, UNSUBSCRIBE)\n\t * requestQoS:\t\tarray of QoS values [0..2]\n\t *\n\t * \"Flag\" properties\n\t * cleanSession:\ttrue if present / false if absent (CONNECT)\n\t * willMessage: \ttrue if present / false if absent (CONNECT)\n\t * isRetained:\t\ttrue if present / false if absent (CONNECT)\n\t * userName:\t\ttrue if present / false if absent (CONNECT)\n\t * password:\t\ttrue if present / false if absent (CONNECT)\n\t * keepAliveInterval:\tinteger [0..65535] (CONNECT)\n\t *\n\t * @private\n\t * @ignore\n\t */\n\t\tvar WireMessage = function (type, options) {\n\t\t\tthis.type = type;\n\t\t\tfor (var name in options) {\n\t\t\t\tif (options.hasOwnProperty(name)) {\n\t\t\t\t\tthis[name] = options[name];\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tWireMessage.prototype.encode = function() {\n\t\t// Compute the first byte of the fixed header\n\t\t\tvar first = ((this.type & 0x0f) << 4);\n\n\t\t\t/*\n\t\t * Now calculate the length of the variable header + payload by adding up the lengths\n\t\t * of all the component parts\n\t\t */\n\n\t\t\tvar remLength = 0;\n\t\t\tvar topicStrLength = [];\n\t\t\tvar destinationNameLength = 0;\n\t\t\tvar willMessagePayloadBytes;\n\n\t\t\t// if the message contains a messageIdentifier then we need two bytes for that\n\t\t\tif (this.messageIdentifier !== undefined)\n\t\t\t\tremLength += 2;\n\n\t\t\tswitch(this.type) {\n\t\t\t// If this a Connect then we need to include 12 bytes for its header\n\t\t\tcase MESSAGE_TYPE.CONNECT:\n\t\t\t\tswitch(this.mqttVersion) {\n\t\t\t\tcase 3:\n\t\t\t\t\tremLength += MqttProtoIdentifierv3.length + 3;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tremLength += MqttProtoIdentifierv4.length + 3;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\n\t\t\t\tremLength += UTF8Length(this.clientId) + 2;\n\t\t\t\tif (this.willMessage !== undefined) {\n\t\t\t\t\tremLength += UTF8Length(this.willMessage.destinationName) + 2;\n\t\t\t\t\t// Will message is always a string, sent as UTF-8 characters with a preceding length.\n\t\t\t\t\twillMessagePayloadBytes = this.willMessage.payloadBytes;\n\t\t\t\t\tif (!(willMessagePayloadBytes instanceof Uint8Array))\n\t\t\t\t\t\twillMessagePayloadBytes = new Uint8Array(payloadBytes);\n\t\t\t\t\tremLength += willMessagePayloadBytes.byteLength +2;\n\t\t\t\t}\n\t\t\t\tif (this.userName !== undefined)\n\t\t\t\t\tremLength += UTF8Length(this.userName) + 2;\n\t\t\t\tif (this.password !== undefined)\n\t\t\t\t\tremLength += UTF8Length(this.password) + 2;\n\t\t\t\tbreak;\n\n\t\t\t// Subscribe, Unsubscribe can both contain topic strings\n\t\t\tcase MESSAGE_TYPE.SUBSCRIBE:\n\t\t\t\tfirst |= 0x02; // Qos = 1;\n\t\t\t\tfor ( var i = 0; i < this.topics.length; i++) {\n\t\t\t\t\ttopicStrLength[i] = UTF8Length(this.topics[i]);\n\t\t\t\t\tremLength += topicStrLength[i] + 2;\n\t\t\t\t}\n\t\t\t\tremLength += this.requestedQos.length; // 1 byte for each topic's Qos\n\t\t\t\t// QoS on Subscribe only\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.UNSUBSCRIBE:\n\t\t\t\tfirst |= 0x02; // Qos = 1;\n\t\t\t\tfor ( var i = 0; i < this.topics.length; i++) {\n\t\t\t\t\ttopicStrLength[i] = UTF8Length(this.topics[i]);\n\t\t\t\t\tremLength += topicStrLength[i] + 2;\n\t\t\t\t}\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBREL:\n\t\t\t\tfirst |= 0x02; // Qos = 1;\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\tif (this.payloadMessage.duplicate) first |= 0x08;\n\t\t\t\tfirst = first |= (this.payloadMessage.qos << 1);\n\t\t\t\tif (this.payloadMessage.retained) first |= 0x01;\n\t\t\t\tdestinationNameLength = UTF8Length(this.payloadMessage.destinationName);\n\t\t\t\tremLength += destinationNameLength + 2;\n\t\t\t\tvar payloadBytes = this.payloadMessage.payloadBytes;\n\t\t\t\tremLength += payloadBytes.byteLength;\n\t\t\t\tif (payloadBytes instanceof ArrayBuffer)\n\t\t\t\t\tpayloadBytes = new Uint8Array(payloadBytes);\n\t\t\t\telse if (!(payloadBytes instanceof Uint8Array))\n\t\t\t\t\tpayloadBytes = new Uint8Array(payloadBytes.buffer);\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.DISCONNECT:\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\t// Now we can allocate a buffer for the message\n\n\t\t\tvar mbi = encodeMBI(remLength); // Convert the length to MQTT MBI format\n\t\t\tvar pos = mbi.length + 1; // Offset of start of variable header\n\t\t\tvar buffer = new ArrayBuffer(remLength + pos);\n\t\t\tvar byteStream = new Uint8Array(buffer); // view it as a sequence of bytes\n\n\t\t\t//Write the fixed header into the buffer\n\t\t\tbyteStream[0] = first;\n\t\t\tbyteStream.set(mbi,1);\n\n\t\t\t// If this is a PUBLISH then the variable header starts with a topic\n\t\t\tif (this.type == MESSAGE_TYPE.PUBLISH)\n\t\t\t\tpos = writeString(this.payloadMessage.destinationName, destinationNameLength, byteStream, pos);\n\t\t\t// If this is a CONNECT then the variable header contains the protocol name/version, flags and keepalive time\n\n\t\t\telse if (this.type == MESSAGE_TYPE.CONNECT) {\n\t\t\t\tswitch (this.mqttVersion) {\n\t\t\t\tcase 3:\n\t\t\t\t\tbyteStream.set(MqttProtoIdentifierv3, pos);\n\t\t\t\t\tpos += MqttProtoIdentifierv3.length;\n\t\t\t\t\tbreak;\n\t\t\t\tcase 4:\n\t\t\t\t\tbyteStream.set(MqttProtoIdentifierv4, pos);\n\t\t\t\t\tpos += MqttProtoIdentifierv4.length;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t\tvar connectFlags = 0;\n\t\t\t\tif (this.cleanSession)\n\t\t\t\t\tconnectFlags = 0x02;\n\t\t\t\tif (this.willMessage !== undefined ) {\n\t\t\t\t\tconnectFlags |= 0x04;\n\t\t\t\t\tconnectFlags |= (this.willMessage.qos<<3);\n\t\t\t\t\tif (this.willMessage.retained) {\n\t\t\t\t\t\tconnectFlags |= 0x20;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (this.userName !== undefined)\n\t\t\t\t\tconnectFlags |= 0x80;\n\t\t\t\tif (this.password !== undefined)\n\t\t\t\t\tconnectFlags |= 0x40;\n\t\t\t\tbyteStream[pos++] = connectFlags;\n\t\t\t\tpos = writeUint16 (this.keepAliveInterval, byteStream, pos);\n\t\t\t}\n\n\t\t\t// Output the messageIdentifier - if there is one\n\t\t\tif (this.messageIdentifier !== undefined)\n\t\t\t\tpos = writeUint16 (this.messageIdentifier, byteStream, pos);\n\n\t\t\tswitch(this.type) {\n\t\t\tcase MESSAGE_TYPE.CONNECT:\n\t\t\t\tpos = writeString(this.clientId, UTF8Length(this.clientId), byteStream, pos);\n\t\t\t\tif (this.willMessage !== undefined) {\n\t\t\t\t\tpos = writeString(this.willMessage.destinationName, UTF8Length(this.willMessage.destinationName), byteStream, pos);\n\t\t\t\t\tpos = writeUint16(willMessagePayloadBytes.byteLength, byteStream, pos);\n\t\t\t\t\tbyteStream.set(willMessagePayloadBytes, pos);\n\t\t\t\t\tpos += willMessagePayloadBytes.byteLength;\n\n\t\t\t\t}\n\t\t\t\tif (this.userName !== undefined)\n\t\t\t\t\tpos = writeString(this.userName, UTF8Length(this.userName), byteStream, pos);\n\t\t\t\tif (this.password !== undefined)\n\t\t\t\t\tpos = writeString(this.password, UTF8Length(this.password), byteStream, pos);\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\t// PUBLISH has a text or binary payload, if text do not add a 2 byte length field, just the UTF characters.\n\t\t\t\tbyteStream.set(payloadBytes, pos);\n\n\t\t\t\tbreak;\n\n\t\t\t\t// \t case MESSAGE_TYPE.PUBREC:\n\t\t\t\t// \t case MESSAGE_TYPE.PUBREL:\n\t\t\t\t// \t case MESSAGE_TYPE.PUBCOMP:\n\t\t\t\t// \t \tbreak;\n\n\t\t\tcase MESSAGE_TYPE.SUBSCRIBE:\n\t\t\t\t// SUBSCRIBE has a list of topic strings and request QoS\n\t\t\t\tfor (var i=0; i> 4;\n\t\t\tvar messageInfo = first &= 0x0f;\n\t\t\tpos += 1;\n\n\n\t\t\t// Decode the remaining length (MBI format)\n\n\t\t\tvar digit;\n\t\t\tvar remLength = 0;\n\t\t\tvar multiplier = 1;\n\t\t\tdo {\n\t\t\t\tif (pos == input.length) {\n\t\t\t\t\treturn [null,startingPos];\n\t\t\t\t}\n\t\t\t\tdigit = input[pos++];\n\t\t\t\tremLength += ((digit & 0x7F) * multiplier);\n\t\t\t\tmultiplier *= 128;\n\t\t\t} while ((digit & 0x80) !== 0);\n\n\t\t\tvar endPos = pos+remLength;\n\t\t\tif (endPos > input.length) {\n\t\t\t\treturn [null,startingPos];\n\t\t\t}\n\n\t\t\tvar wireMessage = new WireMessage(type);\n\t\t\tswitch(type) {\n\t\t\tcase MESSAGE_TYPE.CONNACK:\n\t\t\t\tvar connectAcknowledgeFlags = input[pos++];\n\t\t\t\tif (connectAcknowledgeFlags & 0x01)\n\t\t\t\t\twireMessage.sessionPresent = true;\n\t\t\t\twireMessage.returnCode = input[pos++];\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\tvar qos = (messageInfo >> 1) & 0x03;\n\n\t\t\t\tvar len = readUint16(input, pos);\n\t\t\t\tpos += 2;\n\t\t\t\tvar topicName = parseUTF8(input, pos, len);\n\t\t\t\tpos += len;\n\t\t\t\t// If QoS 1 or 2 there will be a messageIdentifier\n\t\t\t\tif (qos > 0) {\n\t\t\t\t\twireMessage.messageIdentifier = readUint16(input, pos);\n\t\t\t\t\tpos += 2;\n\t\t\t\t}\n\n\t\t\t\tvar message = new Message(input.subarray(pos, endPos));\n\t\t\t\tif ((messageInfo & 0x01) == 0x01)\n\t\t\t\t\tmessage.retained = true;\n\t\t\t\tif ((messageInfo & 0x08) == 0x08)\n\t\t\t\t\tmessage.duplicate = true;\n\t\t\t\tmessage.qos = qos;\n\t\t\t\tmessage.destinationName = topicName;\n\t\t\t\twireMessage.payloadMessage = message;\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.PUBACK:\n\t\t\tcase MESSAGE_TYPE.PUBREC:\n\t\t\tcase MESSAGE_TYPE.PUBREL:\n\t\t\tcase MESSAGE_TYPE.PUBCOMP:\n\t\t\tcase MESSAGE_TYPE.UNSUBACK:\n\t\t\t\twireMessage.messageIdentifier = readUint16(input, pos);\n\t\t\t\tbreak;\n\n\t\t\tcase MESSAGE_TYPE.SUBACK:\n\t\t\t\twireMessage.messageIdentifier = readUint16(input, pos);\n\t\t\t\tpos += 2;\n\t\t\t\twireMessage.returnCode = input.subarray(pos, endPos);\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tbreak;\n\t\t\t}\n\n\t\t\treturn [wireMessage,endPos];\n\t\t}\n\n\t\tfunction writeUint16(input, buffer, offset) {\n\t\t\tbuffer[offset++] = input >> 8; //MSB\n\t\t\tbuffer[offset++] = input % 256; //LSB\n\t\t\treturn offset;\n\t\t}\n\n\t\tfunction writeString(input, utf8Length, buffer, offset) {\n\t\t\toffset = writeUint16(utf8Length, buffer, offset);\n\t\t\tstringToUTF8(input, buffer, offset);\n\t\t\treturn offset + utf8Length;\n\t\t}\n\n\t\tfunction readUint16(buffer, offset) {\n\t\t\treturn 256*buffer[offset] + buffer[offset+1];\n\t\t}\n\n\t\t/**\n\t * Encodes an MQTT Multi-Byte Integer\n\t * @private\n\t */\n\t\tfunction encodeMBI(number) {\n\t\t\tvar output = new Array(1);\n\t\t\tvar numBytes = 0;\n\n\t\t\tdo {\n\t\t\t\tvar digit = number % 128;\n\t\t\t\tnumber = number >> 7;\n\t\t\t\tif (number > 0) {\n\t\t\t\t\tdigit |= 0x80;\n\t\t\t\t}\n\t\t\t\toutput[numBytes++] = digit;\n\t\t\t} while ( (number > 0) && (numBytes<4) );\n\n\t\t\treturn output;\n\t\t}\n\n\t\t/**\n\t * Takes a String and calculates its length in bytes when encoded in UTF8.\n\t * @private\n\t */\n\t\tfunction UTF8Length(input) {\n\t\t\tvar output = 0;\n\t\t\tfor (var i = 0; i 0x7FF)\n\t\t\t\t{\n\t\t\t\t\t// Surrogate pair means its a 4 byte character\n\t\t\t\t\tif (0xD800 <= charCode && charCode <= 0xDBFF)\n\t\t\t\t\t{\n\t\t\t\t\t\ti++;\n\t\t\t\t\t\toutput++;\n\t\t\t\t\t}\n\t\t\t\t\toutput +=3;\n\t\t\t\t}\n\t\t\t\telse if (charCode > 0x7F)\n\t\t\t\t\toutput +=2;\n\t\t\t\telse\n\t\t\t\t\toutput++;\n\t\t\t}\n\t\t\treturn output;\n\t\t}\n\n\t\t/**\n\t * Takes a String and writes it into an array as UTF8 encoded bytes.\n\t * @private\n\t */\n\t\tfunction stringToUTF8(input, output, start) {\n\t\t\tvar pos = start;\n\t\t\tfor (var i = 0; i>6 & 0x1F | 0xC0;\n\t\t\t\t\toutput[pos++] = charCode & 0x3F | 0x80;\n\t\t\t\t} else if (charCode <= 0xFFFF) {\n\t\t\t\t\toutput[pos++] = charCode>>12 & 0x0F | 0xE0;\n\t\t\t\t\toutput[pos++] = charCode>>6 & 0x3F | 0x80;\n\t\t\t\t\toutput[pos++] = charCode & 0x3F | 0x80;\n\t\t\t\t} else {\n\t\t\t\t\toutput[pos++] = charCode>>18 & 0x07 | 0xF0;\n\t\t\t\t\toutput[pos++] = charCode>>12 & 0x3F | 0x80;\n\t\t\t\t\toutput[pos++] = charCode>>6 & 0x3F | 0x80;\n\t\t\t\t\toutput[pos++] = charCode & 0x3F | 0x80;\n\t\t\t\t}\n\t\t\t}\n\t\t\treturn output;\n\t\t}\n\n\t\tfunction parseUTF8(input, offset, length) {\n\t\t\tvar output = \"\";\n\t\t\tvar utf16;\n\t\t\tvar pos = offset;\n\n\t\t\twhile (pos < offset+length)\n\t\t\t{\n\t\t\t\tvar byte1 = input[pos++];\n\t\t\t\tif (byte1 < 128)\n\t\t\t\t\tutf16 = byte1;\n\t\t\t\telse\n\t\t\t\t{\n\t\t\t\t\tvar byte2 = input[pos++]-128;\n\t\t\t\t\tif (byte2 < 0)\n\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16),\"\"]));\n\t\t\t\t\tif (byte1 < 0xE0) // 2 byte character\n\t\t\t\t\t\tutf16 = 64*(byte1-0xC0) + byte2;\n\t\t\t\t\telse\n\t\t\t\t\t{\n\t\t\t\t\t\tvar byte3 = input[pos++]-128;\n\t\t\t\t\t\tif (byte3 < 0)\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16), byte3.toString(16)]));\n\t\t\t\t\t\tif (byte1 < 0xF0) // 3 byte character\n\t\t\t\t\t\t\tutf16 = 4096*(byte1-0xE0) + 64*byte2 + byte3;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t{\n\t\t\t\t\t\t\tvar byte4 = input[pos++]-128;\n\t\t\t\t\t\t\tif (byte4 < 0)\n\t\t\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16), byte3.toString(16), byte4.toString(16)]));\n\t\t\t\t\t\t\tif (byte1 < 0xF8) // 4 byte character\n\t\t\t\t\t\t\t\tutf16 = 262144*(byte1-0xF0) + 4096*byte2 + 64*byte3 + byte4;\n\t\t\t\t\t\t\telse // longer encodings are not supported\n\t\t\t\t\t\t\t\tthrow new Error(format(ERROR.MALFORMED_UTF, [byte1.toString(16), byte2.toString(16), byte3.toString(16), byte4.toString(16)]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t}\n\n\t\t\t\tif (utf16 > 0xFFFF) // 4 byte character - express as a surrogate pair\n\t\t\t\t{\n\t\t\t\t\tutf16 -= 0x10000;\n\t\t\t\t\toutput += String.fromCharCode(0xD800 + (utf16 >> 10)); // lead character\n\t\t\t\t\tutf16 = 0xDC00 + (utf16 & 0x3FF); // trail character\n\t\t\t\t}\n\t\t\t\toutput += String.fromCharCode(utf16);\n\t\t\t}\n\t\t\treturn output;\n\t\t}\n\n\t\t/**\n\t * Repeat keepalive requests, monitor responses.\n\t * @ignore\n\t */\n\t\tvar Pinger = function(client, keepAliveInterval) {\n\t\t\tthis._client = client;\n\t\t\tthis._keepAliveInterval = keepAliveInterval*1000;\n\t\t\tthis.isReset = false;\n\n\t\t\tvar pingReq = new WireMessage(MESSAGE_TYPE.PINGREQ).encode();\n\n\t\t\tvar doTimeout = function (pinger) {\n\t\t\t\treturn function () {\n\t\t\t\t\treturn doPing.apply(pinger);\n\t\t\t\t};\n\t\t\t};\n\n\t\t\t/** @ignore */\n\t\t\tvar doPing = function() {\n\t\t\t\tif (!this.isReset) {\n\t\t\t\t\tthis._client._trace(\"Pinger.doPing\", \"Timed out\");\n\t\t\t\t\tthis._client._disconnected( ERROR.PING_TIMEOUT.code , format(ERROR.PING_TIMEOUT));\n\t\t\t\t} else {\n\t\t\t\t\tthis.isReset = false;\n\t\t\t\t\tthis._client._trace(\"Pinger.doPing\", \"send PINGREQ\");\n\t\t\t\t\tthis._client.socket.send(pingReq);\n\t\t\t\t\tthis.timeout = setTimeout(doTimeout(this), this._keepAliveInterval);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\tthis.reset = function() {\n\t\t\t\tthis.isReset = true;\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t\tif (this._keepAliveInterval > 0)\n\t\t\t\t\tthis.timeout = setTimeout(doTimeout(this), this._keepAliveInterval);\n\t\t\t};\n\n\t\t\tthis.cancel = function() {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t * Monitor request completion.\n\t * @ignore\n\t */\n\t\tvar Timeout = function(client, timeoutSeconds, action, args) {\n\t\t\tif (!timeoutSeconds)\n\t\t\t\ttimeoutSeconds = 30;\n\n\t\t\tvar doTimeout = function (action, client, args) {\n\t\t\t\treturn function () {\n\t\t\t\t\treturn action.apply(client, args);\n\t\t\t\t};\n\t\t\t};\n\t\t\tthis.timeout = setTimeout(doTimeout(action, client, args), timeoutSeconds * 1000);\n\n\t\t\tthis.cancel = function() {\n\t\t\t\tclearTimeout(this.timeout);\n\t\t\t};\n\t\t};\n\n\t/**\n\t * Internal implementation of the Websockets MQTT V3.1 client.\n\t *\n\t * @name Paho.ClientImpl @constructor\n\t * @param {String} host the DNS nameof the webSocket host.\n\t * @param {Number} port the port number for that host.\n\t * @param {String} clientId the MQ client identifier.\n\t */\n\t\tvar ClientImpl = function (uri, host, port, path, clientId) {\n\t\t// Check dependencies are satisfied in this browser.\n\t\t\tif (!(\"WebSocket\" in global && global.WebSocket !== null)) {\n\t\t\t\tthrow new Error(format(ERROR.UNSUPPORTED, [\"WebSocket\"]));\n\t\t\t}\n\t\t\tif (!(\"ArrayBuffer\" in global && global.ArrayBuffer !== null)) {\n\t\t\t\tthrow new Error(format(ERROR.UNSUPPORTED, [\"ArrayBuffer\"]));\n\t\t\t}\n\t\t\tthis._trace(\"Paho.Client\", uri, host, port, path, clientId);\n\n\t\t\tthis.host = host;\n\t\t\tthis.port = port;\n\t\t\tthis.path = path;\n\t\t\tthis.uri = uri;\n\t\t\tthis.clientId = clientId;\n\t\t\tthis._wsuri = null;\n\n\t\t\t// Local storagekeys are qualified with the following string.\n\t\t\t// The conditional inclusion of path in the key is for backward\n\t\t\t// compatibility to when the path was not configurable and assumed to\n\t\t\t// be /mqtt\n\t\t\tthis._localKey=host+\":\"+port+(path!=\"/mqtt\"?\":\"+path:\"\")+\":\"+clientId+\":\";\n\n\t\t\t// Create private instance-only message queue\n\t\t\t// Internal queue of messages to be sent, in sending order.\n\t\t\tthis._msg_queue = [];\n\t\t\tthis._buffered_msg_queue = [];\n\n\t\t\t// Messages we have sent and are expecting a response for, indexed by their respective message ids.\n\t\t\tthis._sentMessages = {};\n\n\t\t\t// Messages we have received and acknowleged and are expecting a confirm message for\n\t\t\t// indexed by their respective message ids.\n\t\t\tthis._receivedMessages = {};\n\n\t\t\t// Internal list of callbacks to be executed when messages\n\t\t\t// have been successfully sent over web socket, e.g. disconnect\n\t\t\t// when it doesn't have to wait for ACK, just message is dispatched.\n\t\t\tthis._notify_msg_sent = {};\n\n\t\t\t// Unique identifier for SEND messages, incrementing\n\t\t\t// counter as messages are sent.\n\t\t\tthis._message_identifier = 1;\n\n\t\t\t// Used to determine the transmission sequence of stored sent messages.\n\t\t\tthis._sequence = 0;\n\n\n\t\t\t// Load the local state, if any, from the saved version, only restore state relevant to this client.\n\t\t\tfor (var key in localStorage)\n\t\t\t\tif ( key.indexOf(\"Sent:\"+this._localKey) === 0 || key.indexOf(\"Received:\"+this._localKey) === 0)\n\t\t\t\t\tthis.restore(key);\n\t\t};\n\n\t\t// Messaging Client public instance members.\n\t\tClientImpl.prototype.host = null;\n\t\tClientImpl.prototype.port = null;\n\t\tClientImpl.prototype.path = null;\n\t\tClientImpl.prototype.uri = null;\n\t\tClientImpl.prototype.clientId = null;\n\n\t\t// Messaging Client private instance members.\n\t\tClientImpl.prototype.socket = null;\n\t\t/* true once we have received an acknowledgement to a CONNECT packet. */\n\t\tClientImpl.prototype.connected = false;\n\t\t/* The largest message identifier allowed, may not be larger than 2**16 but\n\t\t * if set smaller reduces the maximum number of outbound messages allowed.\n\t\t */\n\t\tClientImpl.prototype.maxMessageIdentifier = 65536;\n\t\tClientImpl.prototype.connectOptions = null;\n\t\tClientImpl.prototype.hostIndex = null;\n\t\tClientImpl.prototype.onConnected = null;\n\t\tClientImpl.prototype.onConnectionLost = null;\n\t\tClientImpl.prototype.onMessageDelivered = null;\n\t\tClientImpl.prototype.onMessageArrived = null;\n\t\tClientImpl.prototype.traceFunction = null;\n\t\tClientImpl.prototype._msg_queue = null;\n\t\tClientImpl.prototype._buffered_msg_queue = null;\n\t\tClientImpl.prototype._connectTimeout = null;\n\t\t/* The sendPinger monitors how long we allow before we send data to prove to the server that we are alive. */\n\t\tClientImpl.prototype.sendPinger = null;\n\t\t/* The receivePinger monitors how long we allow before we require evidence that the server is alive. */\n\t\tClientImpl.prototype.receivePinger = null;\n\t\tClientImpl.prototype._reconnectInterval = 1; // Reconnect Delay, starts at 1 second\n\t\tClientImpl.prototype._reconnecting = false;\n\t\tClientImpl.prototype._reconnectTimeout = null;\n\t\tClientImpl.prototype.disconnectedPublishing = false;\n\t\tClientImpl.prototype.disconnectedBufferSize = 5000;\n\n\t\tClientImpl.prototype.receiveBuffer = null;\n\n\t\tClientImpl.prototype._traceBuffer = null;\n\t\tClientImpl.prototype._MAX_TRACE_ENTRIES = 100;\n\n\t\tClientImpl.prototype.connect = function (connectOptions) {\n\t\t\tvar connectOptionsMasked = this._traceMask(connectOptions, \"password\");\n\t\t\tthis._trace(\"Client.connect\", connectOptionsMasked, this.socket, this.connected);\n\n\t\t\tif (this.connected)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"already connected\"]));\n\t\t\tif (this.socket)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"already connected\"]));\n\n\t\t\tif (this._reconnecting) {\n\t\t\t// connect() function is called while reconnect is in progress.\n\t\t\t// Terminate the auto reconnect process to use new connect options.\n\t\t\t\tthis._reconnectTimeout.cancel();\n\t\t\t\tthis._reconnectTimeout = null;\n\t\t\t\tthis._reconnecting = false;\n\t\t\t}\n\n\t\t\tthis.connectOptions = connectOptions;\n\t\t\tthis._reconnectInterval = 1;\n\t\t\tthis._reconnecting = false;\n\t\t\tif (connectOptions.uris) {\n\t\t\t\tthis.hostIndex = 0;\n\t\t\t\tthis._doConnect(connectOptions.uris[0]);\n\t\t\t} else {\n\t\t\t\tthis._doConnect(this.uri);\n\t\t\t}\n\n\t\t};\n\n\t\tClientImpl.prototype.subscribe = function (filter, subscribeOptions) {\n\t\t\tthis._trace(\"Client.subscribe\", filter, subscribeOptions);\n\n\t\t\tif (!this.connected)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connected\"]));\n\n var wireMessage = new WireMessage(MESSAGE_TYPE.SUBSCRIBE);\n wireMessage.topics = filter.constructor === Array ? filter : [filter];\n if (subscribeOptions.qos === undefined)\n subscribeOptions.qos = 0;\n wireMessage.requestedQos = [];\n for (var i = 0; i < wireMessage.topics.length; i++)\n wireMessage.requestedQos[i] = subscribeOptions.qos;\n\n\t\t\tif (subscribeOptions.onSuccess) {\n\t\t\t\twireMessage.onSuccess = function(grantedQos) {subscribeOptions.onSuccess({invocationContext:subscribeOptions.invocationContext,grantedQos:grantedQos});};\n\t\t\t}\n\n\t\t\tif (subscribeOptions.onFailure) {\n\t\t\t\twireMessage.onFailure = function(errorCode) {subscribeOptions.onFailure({invocationContext:subscribeOptions.invocationContext,errorCode:errorCode, errorMessage:format(errorCode)});};\n\t\t\t}\n\n\t\t\tif (subscribeOptions.timeout) {\n\t\t\t\twireMessage.timeOut = new Timeout(this, subscribeOptions.timeout, subscribeOptions.onFailure,\n\t\t\t\t\t[{invocationContext:subscribeOptions.invocationContext,\n\t\t\t\t\t\terrorCode:ERROR.SUBSCRIBE_TIMEOUT.code,\n\t\t\t\t\t\terrorMessage:format(ERROR.SUBSCRIBE_TIMEOUT)}]);\n\t\t\t}\n\n\t\t\t// All subscriptions return a SUBACK.\n\t\t\tthis._requires_ack(wireMessage);\n\t\t\tthis._schedule_message(wireMessage);\n\t\t};\n\n\t\t/** @ignore */\n\t\tClientImpl.prototype.unsubscribe = function(filter, unsubscribeOptions) {\n\t\t\tthis._trace(\"Client.unsubscribe\", filter, unsubscribeOptions);\n\n\t\t\tif (!this.connected)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connected\"]));\n\n var wireMessage = new WireMessage(MESSAGE_TYPE.UNSUBSCRIBE);\n wireMessage.topics = filter.constructor === Array ? filter : [filter];\n\n\t\t\tif (unsubscribeOptions.onSuccess) {\n\t\t\t\twireMessage.callback = function() {unsubscribeOptions.onSuccess({invocationContext:unsubscribeOptions.invocationContext});};\n\t\t\t}\n\t\t\tif (unsubscribeOptions.timeout) {\n\t\t\t\twireMessage.timeOut = new Timeout(this, unsubscribeOptions.timeout, unsubscribeOptions.onFailure,\n\t\t\t\t\t[{invocationContext:unsubscribeOptions.invocationContext,\n\t\t\t\t\t\terrorCode:ERROR.UNSUBSCRIBE_TIMEOUT.code,\n\t\t\t\t\t\terrorMessage:format(ERROR.UNSUBSCRIBE_TIMEOUT)}]);\n\t\t\t}\n\n\t\t\t// All unsubscribes return a SUBACK.\n\t\t\tthis._requires_ack(wireMessage);\n\t\t\tthis._schedule_message(wireMessage);\n\t\t};\n\n\t\tClientImpl.prototype.send = function (message) {\n\t\t\tthis._trace(\"Client.send\", message);\n\n\t\t\tvar wireMessage = new WireMessage(MESSAGE_TYPE.PUBLISH);\n\t\t\twireMessage.payloadMessage = message;\n\n\t\t\tif (this.connected) {\n\t\t\t// Mark qos 1 & 2 message as \"ACK required\"\n\t\t\t// For qos 0 message, invoke onMessageDelivered callback if there is one.\n\t\t\t// Then schedule the message.\n\t\t\t\tif (message.qos > 0) {\n\t\t\t\t\tthis._requires_ack(wireMessage);\n\t\t\t\t} else if (this.onMessageDelivered) {\n\t\t\t\t\tthis._notify_msg_sent[wireMessage] = this.onMessageDelivered(wireMessage.payloadMessage);\n\t\t\t\t}\n\t\t\t\tthis._schedule_message(wireMessage);\n\t\t\t} else {\n\t\t\t// Currently disconnected, will not schedule this message\n\t\t\t// Check if reconnecting is in progress and disconnected publish is enabled.\n\t\t\t\tif (this._reconnecting && this.disconnectedPublishing) {\n\t\t\t\t// Check the limit which include the \"required ACK\" messages\n\t\t\t\t\tvar messageCount = Object.keys(this._sentMessages).length + this._buffered_msg_queue.length;\n\t\t\t\t\tif (messageCount > this.disconnectedBufferSize) {\n\t\t\t\t\t\tthrow new Error(format(ERROR.BUFFER_FULL, [this.disconnectedBufferSize]));\n\t\t\t\t\t} else {\n\t\t\t\t\t\tif (message.qos > 0) {\n\t\t\t\t\t\t// Mark this message as \"ACK required\"\n\t\t\t\t\t\t\tthis._requires_ack(wireMessage);\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\twireMessage.sequence = ++this._sequence;\n\t\t\t\t\t\t\t// Add messages in fifo order to array, by adding to start\n\t\t\t\t\t\t\tthis._buffered_msg_queue.unshift(wireMessage);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connected\"]));\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype.disconnect = function () {\n\t\t\tthis._trace(\"Client.disconnect\");\n\n\t\t\tif (this._reconnecting) {\n\t\t\t// disconnect() function is called while reconnect is in progress.\n\t\t\t// Terminate the auto reconnect process.\n\t\t\t\tthis._reconnectTimeout.cancel();\n\t\t\t\tthis._reconnectTimeout = null;\n\t\t\t\tthis._reconnecting = false;\n\t\t\t}\n\n\t\t\tif (!this.socket)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_STATE, [\"not connecting or connected\"]));\n\n\t\t\tvar wireMessage = new WireMessage(MESSAGE_TYPE.DISCONNECT);\n\n\t\t\t// Run the disconnected call back as soon as the message has been sent,\n\t\t\t// in case of a failure later on in the disconnect processing.\n\t\t\t// as a consequence, the _disconected call back may be run several times.\n\t\t\tthis._notify_msg_sent[wireMessage] = scope(this._disconnected, this);\n\n\t\t\tthis._schedule_message(wireMessage);\n\t\t};\n\n\t\tClientImpl.prototype.getTraceLog = function () {\n\t\t\tif ( this._traceBuffer !== null ) {\n\t\t\t\tthis._trace(\"Client.getTraceLog\", new Date());\n\t\t\t\tthis._trace(\"Client.getTraceLog in flight messages\", this._sentMessages.length);\n\t\t\t\tfor (var key in this._sentMessages)\n\t\t\t\t\tthis._trace(\"_sentMessages \",key, this._sentMessages[key]);\n\t\t\t\tfor (var key in this._receivedMessages)\n\t\t\t\t\tthis._trace(\"_receivedMessages \",key, this._receivedMessages[key]);\n\n\t\t\t\treturn this._traceBuffer;\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype.startTrace = function () {\n\t\t\tif ( this._traceBuffer === null ) {\n\t\t\t\tthis._traceBuffer = [];\n\t\t\t}\n\t\t\tthis._trace(\"Client.startTrace\", new Date(), version);\n\t\t};\n\n\t\tClientImpl.prototype.stopTrace = function () {\n\t\t\tdelete this._traceBuffer;\n\t\t};\n\n\t\tClientImpl.prototype._doConnect = function (wsurl) {\n\t\t// When the socket is open, this client will send the CONNECT WireMessage using the saved parameters.\n\t\t\tif (this.connectOptions.useSSL) {\n\t\t\t\tvar uriParts = wsurl.split(\":\");\n\t\t\t\turiParts[0] = \"wss\";\n\t\t\t\twsurl = uriParts.join(\":\");\n\t\t\t}\n\t\t\tthis._wsuri = wsurl;\n\t\t\tthis.connected = false;\n\n\n\n\t\t\tif (this.connectOptions.mqttVersion < 4) {\n\t\t\t\tthis.socket = new WebSocket(wsurl, [\"mqttv3.1\"]);\n\t\t\t} else {\n\t\t\t\tthis.socket = new WebSocket(wsurl, [\"mqtt\"]);\n\t\t\t}\n\t\t\tthis.socket.binaryType = \"arraybuffer\";\n\t\t\tthis.socket.onopen = scope(this._on_socket_open, this);\n\t\t\tthis.socket.onmessage = scope(this._on_socket_message, this);\n\t\t\tthis.socket.onerror = scope(this._on_socket_error, this);\n\t\t\tthis.socket.onclose = scope(this._on_socket_close, this);\n\n\t\t\tthis.sendPinger = new Pinger(this, this.connectOptions.keepAliveInterval);\n\t\t\tthis.receivePinger = new Pinger(this, this.connectOptions.keepAliveInterval);\n\t\t\tif (this._connectTimeout) {\n\t\t\t\tthis._connectTimeout.cancel();\n\t\t\t\tthis._connectTimeout = null;\n\t\t\t}\n\t\t\tthis._connectTimeout = new Timeout(this, this.connectOptions.timeout, this._disconnected, [ERROR.CONNECT_TIMEOUT.code, format(ERROR.CONNECT_TIMEOUT)]);\n\t\t};\n\n\n\t\t// Schedule a new message to be sent over the WebSockets\n\t\t// connection. CONNECT messages cause WebSocket connection\n\t\t// to be started. All other messages are queued internally\n\t\t// until this has happened. When WS connection starts, process\n\t\t// all outstanding messages.\n\t\tClientImpl.prototype._schedule_message = function (message) {\n\t\t\t// Add messages in fifo order to array, by adding to start\n\t\t\tthis._msg_queue.unshift(message);\n\t\t\t// Process outstanding messages in the queue if we have an open socket, and have received CONNACK.\n\t\t\tif (this.connected) {\n\t\t\t\tthis._process_queue();\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype.store = function(prefix, wireMessage) {\n\t\t\tvar storedMessage = {type:wireMessage.type, messageIdentifier:wireMessage.messageIdentifier, version:1};\n\n\t\t\tswitch(wireMessage.type) {\n\t\t\tcase MESSAGE_TYPE.PUBLISH:\n\t\t\t\tif(wireMessage.pubRecReceived)\n\t\t\t\t\tstoredMessage.pubRecReceived = true;\n\n\t\t\t\t// Convert the payload to a hex string.\n\t\t\t\tstoredMessage.payloadMessage = {};\n\t\t\t\tvar hex = \"\";\n\t\t\t\tvar messageBytes = wireMessage.payloadMessage.payloadBytes;\n\t\t\t\tfor (var i=0; i= 2) {\n\t\t\t\t\tvar x = parseInt(hex.substring(0, 2), 16);\n\t\t\t\t\thex = hex.substring(2, hex.length);\n\t\t\t\t\tbyteStream[i++] = x;\n\t\t\t\t}\n\t\t\t\tvar payloadMessage = new Message(byteStream);\n\n\t\t\t\tpayloadMessage.qos = storedMessage.payloadMessage.qos;\n\t\t\t\tpayloadMessage.destinationName = storedMessage.payloadMessage.destinationName;\n\t\t\t\tif (storedMessage.payloadMessage.duplicate)\n\t\t\t\t\tpayloadMessage.duplicate = true;\n\t\t\t\tif (storedMessage.payloadMessage.retained)\n\t\t\t\t\tpayloadMessage.retained = true;\n\t\t\t\twireMessage.payloadMessage = payloadMessage;\n\n\t\t\t\tbreak;\n\n\t\t\tdefault:\n\t\t\t\tthrow Error(format(ERROR.INVALID_STORED_DATA, [key, value]));\n\t\t\t}\n\n\t\t\tif (key.indexOf(\"Sent:\"+this._localKey) === 0) {\n\t\t\t\twireMessage.payloadMessage.duplicate = true;\n\t\t\t\tthis._sentMessages[wireMessage.messageIdentifier] = wireMessage;\n\t\t\t} else if (key.indexOf(\"Received:\"+this._localKey) === 0) {\n\t\t\t\tthis._receivedMessages[wireMessage.messageIdentifier] = wireMessage;\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype._process_queue = function () {\n\t\t\tvar message = null;\n\n\t\t\t// Send all queued messages down socket connection\n\t\t\twhile ((message = this._msg_queue.pop())) {\n\t\t\t\tthis._socket_send(message);\n\t\t\t\t// Notify listeners that message was successfully sent\n\t\t\t\tif (this._notify_msg_sent[message]) {\n\t\t\t\t\tthis._notify_msg_sent[message]();\n\t\t\t\t\tdelete this._notify_msg_sent[message];\n\t\t\t\t}\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t * Expect an ACK response for this message. Add message to the set of in progress\n\t * messages and set an unused identifier in this message.\n\t * @ignore\n\t */\n\t\tClientImpl.prototype._requires_ack = function (wireMessage) {\n\t\t\tvar messageCount = Object.keys(this._sentMessages).length;\n\t\t\tif (messageCount > this.maxMessageIdentifier)\n\t\t\t\tthrow Error (\"Too many messages:\"+messageCount);\n\n\t\t\twhile(this._sentMessages[this._message_identifier] !== undefined) {\n\t\t\t\tthis._message_identifier++;\n\t\t\t}\n\t\t\twireMessage.messageIdentifier = this._message_identifier;\n\t\t\tthis._sentMessages[wireMessage.messageIdentifier] = wireMessage;\n\t\t\tif (wireMessage.type === MESSAGE_TYPE.PUBLISH) {\n\t\t\t\tthis.store(\"Sent:\", wireMessage);\n\t\t\t}\n\t\t\tif (this._message_identifier === this.maxMessageIdentifier) {\n\t\t\t\tthis._message_identifier = 1;\n\t\t\t}\n\t\t};\n\n\t\t/**\n\t * Called when the underlying websocket has been opened.\n\t * @ignore\n\t */\n\t\tClientImpl.prototype._on_socket_open = function () {\n\t\t// Create the CONNECT message object.\n\t\t\tvar wireMessage = new WireMessage(MESSAGE_TYPE.CONNECT, this.connectOptions);\n\t\t\twireMessage.clientId = this.clientId;\n\t\t\tthis._socket_send(wireMessage);\n\t\t};\n\n\t\t/**\n\t * Called when the underlying websocket has received a complete packet.\n\t * @ignore\n\t */\n\t\tClientImpl.prototype._on_socket_message = function (event) {\n\t\t\tthis._trace(\"Client._on_socket_message\", event.data);\n\t\t\tvar messages = this._deframeMessages(event.data);\n\t\t\tfor (var i = 0; i < messages.length; i+=1) {\n\t\t\t\tthis._handleMessage(messages[i]);\n\t\t\t}\n\t\t};\n\n\t\tClientImpl.prototype._deframeMessages = function(data) {\n\t\t\tvar byteArray = new Uint8Array(data);\n\t\t\tvar messages = [];\n\t\t\tif (this.receiveBuffer) {\n\t\t\t\tvar newData = new Uint8Array(this.receiveBuffer.length+byteArray.length);\n\t\t\t\tnewData.set(this.receiveBuffer);\n\t\t\t\tnewData.set(byteArray,this.receiveBuffer.length);\n\t\t\t\tbyteArray = newData;\n\t\t\t\tdelete this.receiveBuffer;\n\t\t\t}\n\t\t\ttry {\n\t\t\t\tvar offset = 0;\n\t\t\t\twhile(offset < byteArray.length) {\n\t\t\t\t\tvar result = decodeMessage(byteArray,offset);\n\t\t\t\t\tvar wireMessage = result[0];\n\t\t\t\t\toffset = result[1];\n\t\t\t\t\tif (wireMessage !== null) {\n\t\t\t\t\t\tmessages.push(wireMessage);\n\t\t\t\t\t} else {\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t\tif (offset < byteArray.length) {\n\t\t\t\t\tthis.receiveBuffer = byteArray.subarray(offset);\n\t\t\t\t}\n\t\t\t} catch (error) {\n\t\t\t\tvar errorStack = ((error.hasOwnProperty(\"stack\") == \"undefined\") ? error.stack.toString() : \"No Error Stack Available\");\n\t\t\t\tthis._disconnected(ERROR.INTERNAL_ERROR.code , format(ERROR.INTERNAL_ERROR, [error.message,errorStack]));\n\t\t\t\treturn;\n\t\t\t}\n\t\t\treturn messages;\n\t\t};\n\n\t\tClientImpl.prototype._handleMessage = function(wireMessage) {\n\n\t\t\tthis._trace(\"Client._handleMessage\", wireMessage);\n\n\t\t\ttry {\n\t\t\t\tswitch(wireMessage.type) {\n\t\t\t\tcase MESSAGE_TYPE.CONNACK:\n\t\t\t\t\tthis._connectTimeout.cancel();\n\t\t\t\t\tif (this._reconnectTimeout)\n\t\t\t\t\t\tthis._reconnectTimeout.cancel();\n\n\t\t\t\t\t// If we have started using clean session then clear up the local state.\n\t\t\t\t\tif (this.connectOptions.cleanSession) {\n\t\t\t\t\t\tfor (var key in this._sentMessages) {\n\t\t\t\t\t\t\tvar sentMessage = this._sentMessages[key];\n\t\t\t\t\t\t\tlocalStorage.removeItem(\"Sent:\"+this._localKey+sentMessage.messageIdentifier);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._sentMessages = {};\n\n\t\t\t\t\t\tfor (var key in this._receivedMessages) {\n\t\t\t\t\t\t\tvar receivedMessage = this._receivedMessages[key];\n\t\t\t\t\t\t\tlocalStorage.removeItem(\"Received:\"+this._localKey+receivedMessage.messageIdentifier);\n\t\t\t\t\t\t}\n\t\t\t\t\t\tthis._receivedMessages = {};\n\t\t\t\t\t}\n\t\t\t\t\t// Client connected and ready for business.\n\t\t\t\t\tif (wireMessage.returnCode === 0) {\n\n\t\t\t\t\t\tthis.connected = true;\n\t\t\t\t\t\t// Jump to the end of the list of uris and stop looking for a good host.\n\n\t\t\t\t\t\tif (this.connectOptions.uris)\n\t\t\t\t\t\t\tthis.hostIndex = this.connectOptions.uris.length;\n\n\t\t\t\t\t} else {\n\t\t\t\t\t\tthis._disconnected(ERROR.CONNACK_RETURNCODE.code , format(ERROR.CONNACK_RETURNCODE, [wireMessage.returnCode, CONNACK_RC[wireMessage.returnCode]]));\n\t\t\t\t\t\tbreak;\n\t\t\t\t\t}\n\n\t\t\t\t\t// Resend messages.\n\t\t\t\t\tvar sequencedMessages = [];\n\t\t\t\t\tfor (var msgId in this._sentMessages) {\n\t\t\t\t\t\tif (this._sentMessages.hasOwnProperty(msgId))\n\t\t\t\t\t\t\tsequencedMessages.push(this._sentMessages[msgId]);\n\t\t\t\t\t}\n\n\t\t\t\t\t// Also schedule qos 0 buffered messages if any\n\t\t\t\t\tif (this._buffered_msg_queue.length > 0) {\n\t\t\t\t\t\tvar msg = null;\n\t\t\t\t\t\twhile ((msg = this._buffered_msg_queue.pop())) {\n\t\t\t\t\t\t\tsequencedMessages.push(msg);\n\t\t\t\t\t\t\tif (this.onMessageDelivered)\n\t\t\t\t\t\t\t\tthis._notify_msg_sent[msg] = this.onMessageDelivered(msg.payloadMessage);\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\n\t\t\t\t\t// Sort sentMessages into the original sent order.\n\t\t\t\t\tvar sequencedMessages = sequencedMessages.sort(function(a,b) {return a.sequence - b.sequence;} );\n\t\t\t\t\tfor (var i=0, len=sequencedMessages.length; i\n\t * Most applications will create just one Client object and then call its connect() method,\n\t * however applications can create more than one Client object if they wish.\n\t * In this case the combination of host, port and clientId attributes must be different for each Client object.\n\t *

\n\t * The send, subscribe and unsubscribe methods are implemented as asynchronous JavaScript methods\n\t * (even though the underlying protocol exchange might be synchronous in nature).\n\t * This means they signal their completion by calling back to the application,\n\t * via Success or Failure callback functions provided by the application on the method in question.\n\t * Such callbacks are called at most once per method invocation and do not persist beyond the lifetime\n\t * of the script that made the invocation.\n\t *

\n\t * In contrast there are some callback functions, most notably onMessageArrived,\n\t * that are defined on the {@link Paho.Client} object.\n\t * These may get called multiple times, and aren't directly related to specific method invocations made by the client.\n\t *\n\t * @name Paho.Client\n\t *\n\t * @constructor\n\t *\n\t * @param {string} host - the address of the messaging server, as a fully qualified WebSocket URI, as a DNS name or dotted decimal IP address.\n\t * @param {number} port - the port number to connect to - only required if host is not a URI\n\t * @param {string} path - the path on the host to connect to - only used if host is not a URI. Default: '/mqtt'.\n\t * @param {string} clientId - the Messaging client identifier, between 1 and 23 characters in length.\n\t *\n\t * @property {string} host - read only the server's DNS hostname or dotted decimal IP address.\n\t * @property {number} port - read only the server's port.\n\t * @property {string} path - read only the server's path.\n\t * @property {string} clientId - read only used when connecting to the server.\n\t * @property {function} onConnectionLost - called when a connection has been lost.\n\t * after a connect() method has succeeded.\n\t * Establish the call back used when a connection has been lost. The connection may be\n\t * lost because the client initiates a disconnect or because the server or network\n\t * cause the client to be disconnected. The disconnect call back may be called without\n\t * the connectionComplete call back being invoked if, for example the client fails to\n\t * connect.\n\t * A single response object parameter is passed to the onConnectionLost callback containing the following fields:\n\t *

    \n\t *
  1. errorCode\n\t *
  2. errorMessage\n\t *
\n\t * @property {function} onMessageDelivered - called when a message has been delivered.\n\t * All processing that this Client will ever do has been completed. So, for example,\n\t * in the case of a Qos=2 message sent by this client, the PubComp flow has been received from the server\n\t * and the message has been removed from persistent storage before this callback is invoked.\n\t * Parameters passed to the onMessageDelivered callback are:\n\t *
    \n\t *
  1. {@link Paho.Message} that was delivered.\n\t *
\n\t * @property {function} onMessageArrived - called when a message has arrived in this Paho.client.\n\t * Parameters passed to the onMessageArrived callback are:\n\t *
    \n\t *
  1. {@link Paho.Message} that has arrived.\n\t *
\n\t * @property {function} onConnected - called when a connection is successfully made to the server.\n\t * after a connect() method.\n\t * Parameters passed to the onConnected callback are:\n\t *
    \n\t *
  1. reconnect (boolean) - If true, the connection was the result of a reconnect.
  2. \n\t *
  3. URI (string) - The URI used to connect to the server.
  4. \n\t *
\n\t * @property {boolean} disconnectedPublishing - if set, will enable disconnected publishing in\n\t * in the event that the connection to the server is lost.\n\t * @property {number} disconnectedBufferSize - Used to set the maximum number of messages that the disconnected\n\t * buffer will hold before rejecting new messages. Default size: 5000 messages\n\t * @property {function} trace - called whenever trace is called. TODO\n\t */\n\t\tvar Client = function (host, port, path, clientId) {\n\n\t\t\tvar uri;\n\n\t\t\tif (typeof host !== \"string\")\n\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof host, \"host\"]));\n\n\t\t\tif (arguments.length == 2) {\n\t\t\t// host: must be full ws:// uri\n\t\t\t// port: clientId\n\t\t\t\tclientId = port;\n\t\t\t\turi = host;\n\t\t\t\tvar match = uri.match(/^(wss?):\\/\\/((\\[(.+)\\])|([^\\/]+?))(:(\\d+))?(\\/.*)$/);\n\t\t\t\tif (match) {\n\t\t\t\t\thost = match[4]||match[2];\n\t\t\t\t\tport = parseInt(match[7]);\n\t\t\t\t\tpath = match[8];\n\t\t\t\t} else {\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT,[host,\"host\"]));\n\t\t\t\t}\n\t\t\t} else {\n\t\t\t\tif (arguments.length == 3) {\n\t\t\t\t\tclientId = path;\n\t\t\t\t\tpath = \"/mqtt\";\n\t\t\t\t}\n\t\t\t\tif (typeof port !== \"number\" || port < 0)\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof port, \"port\"]));\n\t\t\t\tif (typeof path !== \"string\")\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof path, \"path\"]));\n\n\t\t\t\tvar ipv6AddSBracket = (host.indexOf(\":\") !== -1 && host.slice(0,1) !== \"[\" && host.slice(-1) !== \"]\");\n\t\t\t\turi = \"ws://\"+(ipv6AddSBracket?\"[\"+host+\"]\":host)+\":\"+port+path;\n\t\t\t}\n\n\t\t\tvar clientIdLength = 0;\n\t\t\tfor (var i = 0; i 65535)\n\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [clientId, \"clientId\"]));\n\n\t\t\tvar client = new ClientImpl(uri, host, port, path, clientId);\n\n\t\t\t//Public Properties\n\t\t\tObject.defineProperties(this,{\n\t\t\t\t\"host\":{\n\t\t\t\t\tget: function() { return host; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"port\":{\n\t\t\t\t\tget: function() { return port; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"path\":{\n\t\t\t\t\tget: function() { return path; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"uri\":{\n\t\t\t\t\tget: function() { return uri; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"clientId\":{\n\t\t\t\t\tget: function() { return client.clientId; },\n\t\t\t\t\tset: function() { throw new Error(format(ERROR.UNSUPPORTED_OPERATION)); }\n\t\t\t\t},\n\t\t\t\t\"onConnected\":{\n\t\t\t\t\tget: function() { return client.onConnected; },\n\t\t\t\t\tset: function(newOnConnected) {\n\t\t\t\t\t\tif (typeof newOnConnected === \"function\")\n\t\t\t\t\t\t\tclient.onConnected = newOnConnected;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnConnected, \"onConnected\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"disconnectedPublishing\":{\n\t\t\t\t\tget: function() { return client.disconnectedPublishing; },\n\t\t\t\t\tset: function(newDisconnectedPublishing) {\n\t\t\t\t\t\tclient.disconnectedPublishing = newDisconnectedPublishing;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"disconnectedBufferSize\":{\n\t\t\t\t\tget: function() { return client.disconnectedBufferSize; },\n\t\t\t\t\tset: function(newDisconnectedBufferSize) {\n\t\t\t\t\t\tclient.disconnectedBufferSize = newDisconnectedBufferSize;\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"onConnectionLost\":{\n\t\t\t\t\tget: function() { return client.onConnectionLost; },\n\t\t\t\t\tset: function(newOnConnectionLost) {\n\t\t\t\t\t\tif (typeof newOnConnectionLost === \"function\")\n\t\t\t\t\t\t\tclient.onConnectionLost = newOnConnectionLost;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnConnectionLost, \"onConnectionLost\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"onMessageDelivered\":{\n\t\t\t\t\tget: function() { return client.onMessageDelivered; },\n\t\t\t\t\tset: function(newOnMessageDelivered) {\n\t\t\t\t\t\tif (typeof newOnMessageDelivered === \"function\")\n\t\t\t\t\t\t\tclient.onMessageDelivered = newOnMessageDelivered;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnMessageDelivered, \"onMessageDelivered\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"onMessageArrived\":{\n\t\t\t\t\tget: function() { return client.onMessageArrived; },\n\t\t\t\t\tset: function(newOnMessageArrived) {\n\t\t\t\t\t\tif (typeof newOnMessageArrived === \"function\")\n\t\t\t\t\t\t\tclient.onMessageArrived = newOnMessageArrived;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof newOnMessageArrived, \"onMessageArrived\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"trace\":{\n\t\t\t\t\tget: function() { return client.traceFunction; },\n\t\t\t\t\tset: function(trace) {\n\t\t\t\t\t\tif(typeof trace === \"function\"){\n\t\t\t\t\t\t\tclient.traceFunction = trace;\n\t\t\t\t\t\t}else{\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof trace, \"onTrace\"]));\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t});\n\n\t\t\t/**\n\t\t * Connect this Messaging client to its server.\n\t\t *\n\t\t * @name Paho.Client#connect\n\t\t * @function\n\t\t * @param {object} connectOptions - Attributes used with the connection.\n\t\t * @param {number} connectOptions.timeout - If the connect has not succeeded within this\n\t\t * number of seconds, it is deemed to have failed.\n\t\t * The default is 30 seconds.\n\t\t * @param {string} connectOptions.userName - Authentication username for this connection.\n\t\t * @param {string} connectOptions.password - Authentication password for this connection.\n\t\t * @param {Paho.Message} connectOptions.willMessage - sent by the server when the client\n\t\t * disconnects abnormally.\n\t\t * @param {number} connectOptions.keepAliveInterval - the server disconnects this client if\n\t\t * there is no activity for this number of seconds.\n\t\t * The default value of 60 seconds is assumed if not set.\n\t\t * @param {boolean} connectOptions.cleanSession - if true(default) the client and server\n\t\t * persistent state is deleted on successful connect.\n\t\t * @param {boolean} connectOptions.useSSL - if present and true, use an SSL Websocket connection.\n\t\t * @param {object} connectOptions.invocationContext - passed to the onSuccess callback or onFailure callback.\n\t\t * @param {function} connectOptions.onSuccess - called when the connect acknowledgement\n\t\t * has been received from the server.\n\t\t * A single response object parameter is passed to the onSuccess callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext as passed in to the onSuccess method in the connectOptions.\n\t\t *
\n\t * @param {function} connectOptions.onFailure - called when the connect request has failed or timed out.\n\t\t * A single response object parameter is passed to the onFailure callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext as passed in to the onFailure method in the connectOptions.\n\t\t *
  2. errorCode a number indicating the nature of the error.\n\t\t *
  3. errorMessage text describing the error.\n\t\t *
\n\t * @param {array} connectOptions.hosts - If present this contains either a set of hostnames or fully qualified\n\t\t * WebSocket URIs (ws://iot.eclipse.org:80/ws), that are tried in order in place\n\t\t * of the host and port paramater on the construtor. The hosts are tried one at at time in order until\n\t\t * one of then succeeds.\n\t * @param {array} connectOptions.ports - If present the set of ports matching the hosts. If hosts contains URIs, this property\n\t\t * is not used.\n\t * @param {boolean} connectOptions.reconnect - Sets whether the client will automatically attempt to reconnect\n\t * to the server if the connection is lost.\n\t *
    \n\t *
  • If set to false, the client will not attempt to automatically reconnect to the server in the event that the\n\t * connection is lost.
  • \n\t *
  • If set to true, in the event that the connection is lost, the client will attempt to reconnect to the server.\n\t * It will initially wait 1 second before it attempts to reconnect, for every failed reconnect attempt, the delay\n\t * will double until it is at 2 minutes at which point the delay will stay at 2 minutes.
  • \n\t *
\n\t * @param {number} connectOptions.mqttVersion - The version of MQTT to use to connect to the MQTT Broker.\n\t *
    \n\t *
  • 3 - MQTT V3.1
  • \n\t *
  • 4 - MQTT V3.1.1
  • \n\t *
\n\t * @param {boolean} connectOptions.mqttVersionExplicit - If set to true, will force the connection to use the\n\t * selected MQTT Version or will fail to connect.\n\t * @param {array} connectOptions.uris - If present, should contain a list of fully qualified WebSocket uris\n\t * (e.g. ws://iot.eclipse.org:80/ws), that are tried in order in place of the host and port parameter of the construtor.\n\t * The uris are tried one at a time in order until one of them succeeds. Do not use this in conjunction with hosts as\n\t * the hosts array will be converted to uris and will overwrite this property.\n\t\t * @throws {InvalidState} If the client is not in disconnected state. The client must have received connectionLost\n\t\t * or disconnected before calling connect for a second or subsequent time.\n\t\t */\n\t\t\tthis.connect = function (connectOptions) {\n\t\t\t\tconnectOptions = connectOptions || {} ;\n\t\t\t\tvalidate(connectOptions, {timeout:\"number\",\n\t\t\t\t\tuserName:\"string\",\n\t\t\t\t\tpassword:\"string\",\n\t\t\t\t\twillMessage:\"object\",\n\t\t\t\t\tkeepAliveInterval:\"number\",\n\t\t\t\t\tcleanSession:\"boolean\",\n\t\t\t\t\tuseSSL:\"boolean\",\n\t\t\t\t\tinvocationContext:\"object\",\n\t\t\t\t\tonSuccess:\"function\",\n\t\t\t\t\tonFailure:\"function\",\n\t\t\t\t\thosts:\"object\",\n\t\t\t\t\tports:\"object\",\n\t\t\t\t\treconnect:\"boolean\",\n\t\t\t\t\tmqttVersion:\"number\",\n\t\t\t\t\tmqttVersionExplicit:\"boolean\",\n\t\t\t\t\turis: \"object\"});\n\n\t\t\t\t// If no keep alive interval is set, assume 60 seconds.\n\t\t\t\tif (connectOptions.keepAliveInterval === undefined)\n\t\t\t\t\tconnectOptions.keepAliveInterval = 60;\n\n\t\t\t\tif (connectOptions.mqttVersion > 4 || connectOptions.mqttVersion < 3) {\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.mqttVersion, \"connectOptions.mqttVersion\"]));\n\t\t\t\t}\n\n\t\t\t\tif (connectOptions.mqttVersion === undefined) {\n\t\t\t\t\tconnectOptions.mqttVersionExplicit = false;\n\t\t\t\t\tconnectOptions.mqttVersion = 4;\n\t\t\t\t} else {\n\t\t\t\t\tconnectOptions.mqttVersionExplicit = true;\n\t\t\t\t}\n\n\t\t\t\t//Check that if password is set, so is username\n\t\t\t\tif (connectOptions.password !== undefined && connectOptions.userName === undefined)\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.password, \"connectOptions.password\"]));\n\n\t\t\t\tif (connectOptions.willMessage) {\n\t\t\t\t\tif (!(connectOptions.willMessage instanceof Message))\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [connectOptions.willMessage, \"connectOptions.willMessage\"]));\n\t\t\t\t\t// The will message must have a payload that can be represented as a string.\n\t\t\t\t\t// Cause the willMessage to throw an exception if this is not the case.\n\t\t\t\t\tconnectOptions.willMessage.stringPayload = null;\n\n\t\t\t\t\tif (typeof connectOptions.willMessage.destinationName === \"undefined\")\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_TYPE, [typeof connectOptions.willMessage.destinationName, \"connectOptions.willMessage.destinationName\"]));\n\t\t\t\t}\n\t\t\t\tif (typeof connectOptions.cleanSession === \"undefined\")\n\t\t\t\t\tconnectOptions.cleanSession = true;\n\t\t\t\tif (connectOptions.hosts) {\n\n\t\t\t\t\tif (!(connectOptions.hosts instanceof Array) )\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.hosts, \"connectOptions.hosts\"]));\n\t\t\t\t\tif (connectOptions.hosts.length <1 )\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [connectOptions.hosts, \"connectOptions.hosts\"]));\n\n\t\t\t\t\tvar usingURIs = false;\n\t\t\t\t\tfor (var i = 0; i\n\t\t * @param {object} subscribeOptions - used to control the subscription\n\t\t *\n\t\t * @param {number} subscribeOptions.qos - the maximum qos of any publications sent\n\t\t * as a result of making this subscription.\n\t\t * @param {object} subscribeOptions.invocationContext - passed to the onSuccess callback\n\t\t * or onFailure callback.\n\t\t * @param {function} subscribeOptions.onSuccess - called when the subscribe acknowledgement\n\t\t * has been received from the server.\n\t\t * A single response object parameter is passed to the onSuccess callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext if set in the subscribeOptions.\n\t\t *
\n\t\t * @param {function} subscribeOptions.onFailure - called when the subscribe request has failed or timed out.\n\t\t * A single response object parameter is passed to the onFailure callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext - if set in the subscribeOptions.\n\t\t *
  2. errorCode - a number indicating the nature of the error.\n\t\t *
  3. errorMessage - text describing the error.\n\t\t *
\n\t\t * @param {number} subscribeOptions.timeout - which, if present, determines the number of\n\t\t * seconds after which the onFailure calback is called.\n\t\t * The presence of a timeout does not prevent the onSuccess\n\t\t * callback from being called when the subscribe completes.\n\t\t * @throws {InvalidState} if the client is not in connected state.\n\t\t */\n\t\t\tthis.subscribe = function (filter, subscribeOptions) {\n\t\t\t\tif (typeof filter !== \"string\" && filter.constructor !== Array)\n\t\t\t\t\tthrow new Error(\"Invalid argument:\"+filter);\n\t\t\t\tsubscribeOptions = subscribeOptions || {} ;\n\t\t\t\tvalidate(subscribeOptions, {qos:\"number\",\n\t\t\t\t\tinvocationContext:\"object\",\n\t\t\t\t\tonSuccess:\"function\",\n\t\t\t\t\tonFailure:\"function\",\n\t\t\t\t\ttimeout:\"number\"\n\t\t\t\t});\n\t\t\t\tif (subscribeOptions.timeout && !subscribeOptions.onFailure)\n\t\t\t\t\tthrow new Error(\"subscribeOptions.timeout specified with no onFailure callback.\");\n\t\t\t\tif (typeof subscribeOptions.qos !== \"undefined\" && !(subscribeOptions.qos === 0 || subscribeOptions.qos === 1 || subscribeOptions.qos === 2 ))\n\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [subscribeOptions.qos, \"subscribeOptions.qos\"]));\n\t\t\t\tclient.subscribe(filter, subscribeOptions);\n\t\t\t};\n\n\t\t/**\n\t\t * Unsubscribe for messages, stop receiving messages sent to destinations described by the filter.\n\t\t *\n\t\t * @name Paho.Client#unsubscribe\n\t\t * @function\n\t\t * @param {string} filter - describing the destinations to receive messages from.\n\t\t * @param {object} unsubscribeOptions - used to control the subscription\n\t\t * @param {object} unsubscribeOptions.invocationContext - passed to the onSuccess callback\n\t\t\t\t\t\t\t\t\t\t\t or onFailure callback.\n\t\t * @param {function} unsubscribeOptions.onSuccess - called when the unsubscribe acknowledgement has been received from the server.\n\t\t * A single response object parameter is passed to the\n\t\t * onSuccess callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext - if set in the unsubscribeOptions.\n\t\t *
\n\t\t * @param {function} unsubscribeOptions.onFailure called when the unsubscribe request has failed or timed out.\n\t\t * A single response object parameter is passed to the onFailure callback containing the following fields:\n\t\t *
    \n\t\t *
  1. invocationContext - if set in the unsubscribeOptions.\n\t\t *
  2. errorCode - a number indicating the nature of the error.\n\t\t *
  3. errorMessage - text describing the error.\n\t\t *
\n\t\t * @param {number} unsubscribeOptions.timeout - which, if present, determines the number of seconds\n\t\t * after which the onFailure callback is called. The presence of\n\t\t * a timeout does not prevent the onSuccess callback from being\n\t\t * called when the unsubscribe completes\n\t\t * @throws {InvalidState} if the client is not in connected state.\n\t\t */\n\t\t\tthis.unsubscribe = function (filter, unsubscribeOptions) {\n\t\t\t\tif (typeof filter !== \"string\" && filter.constructor !== Array)\n\t\t\t\t\tthrow new Error(\"Invalid argument:\"+filter);\n\t\t\t\tunsubscribeOptions = unsubscribeOptions || {} ;\n\t\t\t\tvalidate(unsubscribeOptions, {invocationContext:\"object\",\n\t\t\t\t\tonSuccess:\"function\",\n\t\t\t\t\tonFailure:\"function\",\n\t\t\t\t\ttimeout:\"number\"\n\t\t\t\t});\n\t\t\t\tif (unsubscribeOptions.timeout && !unsubscribeOptions.onFailure)\n\t\t\t\t\tthrow new Error(\"unsubscribeOptions.timeout specified with no onFailure callback.\");\n\t\t\t\tclient.unsubscribe(filter, unsubscribeOptions);\n\t\t\t};\n\n\t\t\t/**\n\t\t * Send a message to the consumers of the destination in the Message.\n\t\t *\n\t\t * @name Paho.Client#send\n\t\t * @function\n\t\t * @param {string|Paho.Message} topic - mandatory The name of the destination to which the message is to be sent.\n\t\t * \t\t\t\t\t - If it is the only parameter, used as Paho.Message object.\n\t\t * @param {String|ArrayBuffer} payload - The message data to be sent.\n\t\t * @param {number} qos The Quality of Service used to deliver the message.\n\t\t * \t\t
\n\t\t * \t\t\t
0 Best effort (default).\n\t\t * \t\t\t
1 At least once.\n\t\t * \t\t\t
2 Exactly once.\n\t\t * \t\t
\n\t\t * @param {Boolean} retained If true, the message is to be retained by the server and delivered\n\t\t * to both current and future subscriptions.\n\t\t * If false the server only delivers the message to current subscribers, this is the default for new Messages.\n\t\t * A received message has the retained boolean set to true if the message was published\n\t\t * with the retained boolean set to true\n\t\t * and the subscrption was made after the message has been published.\n\t\t * @throws {InvalidState} if the client is not connected.\n\t\t */\n\t\t\tthis.send = function (topic,payload,qos,retained) {\n\t\t\t\tvar message ;\n\n\t\t\t\tif(arguments.length === 0){\n\t\t\t\t\tthrow new Error(\"Invalid argument.\"+\"length\");\n\n\t\t\t\t}else if(arguments.length == 1) {\n\n\t\t\t\t\tif (!(topic instanceof Message) && (typeof topic !== \"string\"))\n\t\t\t\t\t\tthrow new Error(\"Invalid argument:\"+ typeof topic);\n\n\t\t\t\t\tmessage = topic;\n\t\t\t\t\tif (typeof message.destinationName === \"undefined\")\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT,[message.destinationName,\"Message.destinationName\"]));\n\t\t\t\t\tclient.send(message);\n\n\t\t\t\t}else {\n\t\t\t\t//parameter checking in Message object\n\t\t\t\t\tmessage = new Message(payload);\n\t\t\t\t\tmessage.destinationName = topic;\n\t\t\t\t\tif(arguments.length >= 3)\n\t\t\t\t\t\tmessage.qos = qos;\n\t\t\t\t\tif(arguments.length >= 4)\n\t\t\t\t\t\tmessage.retained = retained;\n\t\t\t\t\tclient.send(message);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t/**\n\t\t * Publish a message to the consumers of the destination in the Message.\n\t\t * Synonym for Paho.Mqtt.Client#send\n\t\t *\n\t\t * @name Paho.Client#publish\n\t\t * @function\n\t\t * @param {string|Paho.Message} topic - mandatory The name of the topic to which the message is to be published.\n\t\t * \t\t\t\t\t - If it is the only parameter, used as Paho.Message object.\n\t\t * @param {String|ArrayBuffer} payload - The message data to be published.\n\t\t * @param {number} qos The Quality of Service used to deliver the message.\n\t\t * \t\t
\n\t\t * \t\t\t
0 Best effort (default).\n\t\t * \t\t\t
1 At least once.\n\t\t * \t\t\t
2 Exactly once.\n\t\t * \t\t
\n\t\t * @param {Boolean} retained If true, the message is to be retained by the server and delivered\n\t\t * to both current and future subscriptions.\n\t\t * If false the server only delivers the message to current subscribers, this is the default for new Messages.\n\t\t * A received message has the retained boolean set to true if the message was published\n\t\t * with the retained boolean set to true\n\t\t * and the subscrption was made after the message has been published.\n\t\t * @throws {InvalidState} if the client is not connected.\n\t\t */\n\t\t\tthis.publish = function(topic,payload,qos,retained) {\n\t\t\t\tvar message ;\n\n\t\t\t\tif(arguments.length === 0){\n\t\t\t\t\tthrow new Error(\"Invalid argument.\"+\"length\");\n\n\t\t\t\t}else if(arguments.length == 1) {\n\n\t\t\t\t\tif (!(topic instanceof Message) && (typeof topic !== \"string\"))\n\t\t\t\t\t\tthrow new Error(\"Invalid argument:\"+ typeof topic);\n\n\t\t\t\t\tmessage = topic;\n\t\t\t\t\tif (typeof message.destinationName === \"undefined\")\n\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT,[message.destinationName,\"Message.destinationName\"]));\n\t\t\t\t\tclient.send(message);\n\n\t\t\t\t}else {\n\t\t\t\t\t//parameter checking in Message object\n\t\t\t\t\tmessage = new Message(payload);\n\t\t\t\t\tmessage.destinationName = topic;\n\t\t\t\t\tif(arguments.length >= 3)\n\t\t\t\t\t\tmessage.qos = qos;\n\t\t\t\t\tif(arguments.length >= 4)\n\t\t\t\t\t\tmessage.retained = retained;\n\t\t\t\t\tclient.send(message);\n\t\t\t\t}\n\t\t\t};\n\n\t\t\t/**\n\t\t * Normal disconnect of this Messaging client from its server.\n\t\t *\n\t\t * @name Paho.Client#disconnect\n\t\t * @function\n\t\t * @throws {InvalidState} if the client is already disconnected.\n\t\t */\n\t\t\tthis.disconnect = function () {\n\t\t\t\tclient.disconnect();\n\t\t\t};\n\n\t\t\t/**\n\t\t * Get the contents of the trace log.\n\t\t *\n\t\t * @name Paho.Client#getTraceLog\n\t\t * @function\n\t\t * @return {Object[]} tracebuffer containing the time ordered trace records.\n\t\t */\n\t\t\tthis.getTraceLog = function () {\n\t\t\t\treturn client.getTraceLog();\n\t\t\t};\n\n\t\t\t/**\n\t\t * Start tracing.\n\t\t *\n\t\t * @name Paho.Client#startTrace\n\t\t * @function\n\t\t */\n\t\t\tthis.startTrace = function () {\n\t\t\t\tclient.startTrace();\n\t\t\t};\n\n\t\t\t/**\n\t\t * Stop tracing.\n\t\t *\n\t\t * @name Paho.Client#stopTrace\n\t\t * @function\n\t\t */\n\t\t\tthis.stopTrace = function () {\n\t\t\t\tclient.stopTrace();\n\t\t\t};\n\n\t\t\tthis.isConnected = function() {\n\t\t\t\treturn client.connected;\n\t\t\t};\n\t\t};\n\n\t\t/**\n\t * An application message, sent or received.\n\t *

\n\t * All attributes may be null, which implies the default values.\n\t *\n\t * @name Paho.Message\n\t * @constructor\n\t * @param {String|ArrayBuffer} payload The message data to be sent.\n\t *

\n\t * @property {string} payloadString read only The payload as a string if the payload consists of valid UTF-8 characters.\n\t * @property {ArrayBuffer} payloadBytes read only The payload as an ArrayBuffer.\n\t *

\n\t * @property {string} destinationName mandatory The name of the destination to which the message is to be sent\n\t * (for messages about to be sent) or the name of the destination from which the message has been received.\n\t * (for messages received by the onMessage function).\n\t *

\n\t * @property {number} qos The Quality of Service used to deliver the message.\n\t *

\n\t *
0 Best effort (default).\n\t *
1 At least once.\n\t *
2 Exactly once.\n\t *
\n\t *

\n\t * @property {Boolean} retained If true, the message is to be retained by the server and delivered\n\t * to both current and future subscriptions.\n\t * If false the server only delivers the message to current subscribers, this is the default for new Messages.\n\t * A received message has the retained boolean set to true if the message was published\n\t * with the retained boolean set to true\n\t * and the subscrption was made after the message has been published.\n\t *

\n\t * @property {Boolean} duplicate read only If true, this message might be a duplicate of one which has already been received.\n\t * This is only set on messages received from the server.\n\t *\n\t */\n\t\tvar Message = function (newPayload) {\n\t\t\tvar payload;\n\t\t\tif ( typeof newPayload === \"string\" ||\n\t\tnewPayload instanceof ArrayBuffer ||\n\t\t(ArrayBuffer.isView(newPayload) && !(newPayload instanceof DataView))\n\t\t\t) {\n\t\t\t\tpayload = newPayload;\n\t\t\t} else {\n\t\t\t\tthrow (format(ERROR.INVALID_ARGUMENT, [newPayload, \"newPayload\"]));\n\t\t\t}\n\n\t\t\tvar destinationName;\n\t\t\tvar qos = 0;\n\t\t\tvar retained = false;\n\t\t\tvar duplicate = false;\n\n\t\t\tObject.defineProperties(this,{\n\t\t\t\t\"payloadString\":{\n\t\t\t\t\tenumerable : true,\n\t\t\t\t\tget : function () {\n\t\t\t\t\t\tif (typeof payload === \"string\")\n\t\t\t\t\t\t\treturn payload;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\treturn parseUTF8(payload, 0, payload.length);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"payloadBytes\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() {\n\t\t\t\t\t\tif (typeof payload === \"string\") {\n\t\t\t\t\t\t\tvar buffer = new ArrayBuffer(UTF8Length(payload));\n\t\t\t\t\t\t\tvar byteStream = new Uint8Array(buffer);\n\t\t\t\t\t\t\tstringToUTF8(payload, byteStream, 0);\n\n\t\t\t\t\t\t\treturn byteStream;\n\t\t\t\t\t\t} else {\n\t\t\t\t\t\t\treturn payload;\n\t\t\t\t\t\t}\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"destinationName\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return destinationName; },\n\t\t\t\t\tset: function(newDestinationName) {\n\t\t\t\t\t\tif (typeof newDestinationName === \"string\")\n\t\t\t\t\t\t\tdestinationName = newDestinationName;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [newDestinationName, \"newDestinationName\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"qos\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return qos; },\n\t\t\t\t\tset: function(newQos) {\n\t\t\t\t\t\tif (newQos === 0 || newQos === 1 || newQos === 2 )\n\t\t\t\t\t\t\tqos = newQos;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(\"Invalid argument:\"+newQos);\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"retained\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return retained; },\n\t\t\t\t\tset: function(newRetained) {\n\t\t\t\t\t\tif (typeof newRetained === \"boolean\")\n\t\t\t\t\t\t\tretained = newRetained;\n\t\t\t\t\t\telse\n\t\t\t\t\t\t\tthrow new Error(format(ERROR.INVALID_ARGUMENT, [newRetained, \"newRetained\"]));\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\t\"topic\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return destinationName; },\n\t\t\t\t\tset: function(newTopic) {destinationName=newTopic;}\n\t\t\t\t},\n\t\t\t\t\"duplicate\":{\n\t\t\t\t\tenumerable: true,\n\t\t\t\t\tget: function() { return duplicate; },\n\t\t\t\t\tset: function(newDuplicate) {duplicate=newDuplicate;}\n\t\t\t\t}\n\t\t\t});\n\t\t};\n\n\t\t// Module contents.\n\t\treturn {\n\t\t\tClient: Client,\n\t\t\tMessage: Message\n\t\t};\n\t// eslint-disable-next-line no-nested-ternary\n\t})(typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : typeof window !== \"undefined\" ? window : {});\n\treturn PahoMQTT;\n});\n","// shim for using process in browser\nvar process = module.exports = {};\n\n// cached from whatever global is present so that test runners that stub it\n// don't break things. But we need to wrap it in a try catch in case it is\n// wrapped in strict mode code which doesn't define any globals. It's inside a\n// function because try/catches deoptimize in certain engines.\n\nvar cachedSetTimeout;\nvar cachedClearTimeout;\n\nfunction defaultSetTimout() {\n throw new Error('setTimeout has not been defined');\n}\nfunction defaultClearTimeout () {\n throw new Error('clearTimeout has not been defined');\n}\n(function () {\n try {\n if (typeof setTimeout === 'function') {\n cachedSetTimeout = setTimeout;\n } else {\n cachedSetTimeout = defaultSetTimout;\n }\n } catch (e) {\n cachedSetTimeout = defaultSetTimout;\n }\n try {\n if (typeof clearTimeout === 'function') {\n cachedClearTimeout = clearTimeout;\n } else {\n cachedClearTimeout = defaultClearTimeout;\n }\n } catch (e) {\n cachedClearTimeout = defaultClearTimeout;\n }\n} ())\nfunction runTimeout(fun) {\n if (cachedSetTimeout === setTimeout) {\n //normal enviroments in sane situations\n return setTimeout(fun, 0);\n }\n // if setTimeout wasn't available but was latter defined\n if ((cachedSetTimeout === defaultSetTimout || !cachedSetTimeout) && setTimeout) {\n cachedSetTimeout = setTimeout;\n return setTimeout(fun, 0);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedSetTimeout(fun, 0);\n } catch(e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedSetTimeout.call(null, fun, 0);\n } catch(e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error\n return cachedSetTimeout.call(this, fun, 0);\n }\n }\n\n\n}\nfunction runClearTimeout(marker) {\n if (cachedClearTimeout === clearTimeout) {\n //normal enviroments in sane situations\n return clearTimeout(marker);\n }\n // if clearTimeout wasn't available but was latter defined\n if ((cachedClearTimeout === defaultClearTimeout || !cachedClearTimeout) && clearTimeout) {\n cachedClearTimeout = clearTimeout;\n return clearTimeout(marker);\n }\n try {\n // when when somebody has screwed with setTimeout but no I.E. maddness\n return cachedClearTimeout(marker);\n } catch (e){\n try {\n // When we are in I.E. but the script has been evaled so I.E. doesn't trust the global object when called normally\n return cachedClearTimeout.call(null, marker);\n } catch (e){\n // same as above but when it's a version of I.E. that must have the global object for 'this', hopfully our context correct otherwise it will throw a global error.\n // Some versions of I.E. have different rules for clearTimeout vs setTimeout\n return cachedClearTimeout.call(this, marker);\n }\n }\n\n\n\n}\nvar queue = [];\nvar draining = false;\nvar currentQueue;\nvar queueIndex = -1;\n\nfunction cleanUpNextTick() {\n if (!draining || !currentQueue) {\n return;\n }\n draining = false;\n if (currentQueue.length) {\n queue = currentQueue.concat(queue);\n } else {\n queueIndex = -1;\n }\n if (queue.length) {\n drainQueue();\n }\n}\n\nfunction drainQueue() {\n if (draining) {\n return;\n }\n var timeout = runTimeout(cleanUpNextTick);\n draining = true;\n\n var len = queue.length;\n while(len) {\n currentQueue = queue;\n queue = [];\n while (++queueIndex < len) {\n if (currentQueue) {\n currentQueue[queueIndex].run();\n }\n }\n queueIndex = -1;\n len = queue.length;\n }\n currentQueue = null;\n draining = false;\n runClearTimeout(timeout);\n}\n\nprocess.nextTick = function (fun) {\n var args = new Array(arguments.length - 1);\n if (arguments.length > 1) {\n for (var i = 1; i < arguments.length; i++) {\n args[i - 1] = arguments[i];\n }\n }\n queue.push(new Item(fun, args));\n if (queue.length === 1 && !draining) {\n runTimeout(drainQueue);\n }\n};\n\n// v8 likes predictible objects\nfunction Item(fun, array) {\n this.fun = fun;\n this.array = array;\n}\nItem.prototype.run = function () {\n this.fun.apply(null, this.array);\n};\nprocess.title = 'browser';\nprocess.browser = true;\nprocess.env = {};\nprocess.argv = [];\nprocess.version = ''; // empty string to avoid regexp issues\nprocess.versions = {};\n\nfunction noop() {}\n\nprocess.on = noop;\nprocess.addListener = noop;\nprocess.once = noop;\nprocess.off = noop;\nprocess.removeListener = noop;\nprocess.removeAllListeners = noop;\nprocess.emit = noop;\nprocess.prependListener = noop;\nprocess.prependOnceListener = noop;\n\nprocess.listeners = function (name) { return [] }\n\nprocess.binding = function (name) {\n throw new Error('process.binding is not supported');\n};\n\nprocess.cwd = function () { return '/' };\nprocess.chdir = function (dir) {\n throw new Error('process.chdir is not supported');\n};\nprocess.umask = function() { return 0; };\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = require('./lib/ReactPropTypesSecret');\n\nfunction emptyFunction() {}\nfunction emptyFunctionWithReset() {}\nemptyFunctionWithReset.resetWarningCache = emptyFunction;\n\nmodule.exports = function() {\n function shim(props, propName, componentName, location, propFullName, secret) {\n if (secret === ReactPropTypesSecret) {\n // It is still safe when called from React.\n return;\n }\n var err = new Error(\n 'Calling PropTypes validators directly is not supported by the `prop-types` package. ' +\n 'Use PropTypes.checkPropTypes() to call them. ' +\n 'Read more at http://fb.me/use-check-prop-types'\n );\n err.name = 'Invariant Violation';\n throw err;\n };\n shim.isRequired = shim;\n function getShim() {\n return shim;\n };\n // Important!\n // Keep this list in sync with production version in `./factoryWithTypeCheckers.js`.\n var ReactPropTypes = {\n array: shim,\n bigint: shim,\n bool: shim,\n func: shim,\n number: shim,\n object: shim,\n string: shim,\n symbol: shim,\n\n any: shim,\n arrayOf: getShim,\n element: shim,\n elementType: shim,\n instanceOf: getShim,\n node: shim,\n objectOf: getShim,\n oneOf: getShim,\n oneOfType: getShim,\n shape: getShim,\n exact: getShim,\n\n checkPropTypes: emptyFunctionWithReset,\n resetWarningCache: emptyFunction\n };\n\n ReactPropTypes.PropTypes = ReactPropTypes;\n\n return ReactPropTypes;\n};\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\nif (process.env.NODE_ENV !== 'production') {\n var ReactIs = require('react-is');\n\n // By explicitly using `prop-types` you are opting into new development behavior.\n // http://fb.me/prop-types-in-prod\n var throwOnDirectAccess = true;\n module.exports = require('./factoryWithTypeCheckers')(ReactIs.isElement, throwOnDirectAccess);\n} else {\n // By explicitly using `prop-types` you are opting into new production behavior.\n // http://fb.me/prop-types-in-prod\n module.exports = require('./factoryWithThrowingShims')();\n}\n","/**\n * Copyright (c) 2013-present, Facebook, Inc.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';\n\nvar ReactPropTypesSecret = 'SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED';\n\nmodule.exports = ReactPropTypesSecret;\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\n// If obj.hasOwnProperty has been overridden, then calling\n// obj.hasOwnProperty(prop) will break.\n// See: https://github.com/joyent/node/issues/1707\nfunction hasOwnProperty(obj, prop) {\n return Object.prototype.hasOwnProperty.call(obj, prop);\n}\n\nmodule.exports = function(qs, sep, eq, options) {\n sep = sep || '&';\n eq = eq || '=';\n var obj = {};\n\n if (typeof qs !== 'string' || qs.length === 0) {\n return obj;\n }\n\n var regexp = /\\+/g;\n qs = qs.split(sep);\n\n var maxKeys = 1000;\n if (options && typeof options.maxKeys === 'number') {\n maxKeys = options.maxKeys;\n }\n\n var len = qs.length;\n // maxKeys <= 0 means that we should not limit keys count\n if (maxKeys > 0 && len > maxKeys) {\n len = maxKeys;\n }\n\n for (var i = 0; i < len; ++i) {\n var x = qs[i].replace(regexp, '%20'),\n idx = x.indexOf(eq),\n kstr, vstr, k, v;\n\n if (idx >= 0) {\n kstr = x.substr(0, idx);\n vstr = x.substr(idx + 1);\n } else {\n kstr = x;\n vstr = '';\n }\n\n k = decodeURIComponent(kstr);\n v = decodeURIComponent(vstr);\n\n if (!hasOwnProperty(obj, k)) {\n obj[k] = v;\n } else if (Array.isArray(obj[k])) {\n obj[k].push(v);\n } else {\n obj[k] = [obj[k], v];\n }\n }\n\n return obj;\n};\n","// Copyright Joyent, Inc. and other Node contributors.\n//\n// Permission is hereby granted, free of charge, to any person obtaining a\n// copy of this software and associated documentation files (the\n// \"Software\"), to deal in the Software without restriction, including\n// without limitation the rights to use, copy, modify, merge, publish,\n// distribute, sublicense, and/or sell copies of the Software, and to permit\n// persons to whom the Software is furnished to do so, subject to the\n// following conditions:\n//\n// The above copyright notice and this permission notice shall be included\n// in all copies or substantial portions of the Software.\n//\n// THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS\n// OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF\n// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN\n// NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,\n// DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR\n// OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE\n// USE OR OTHER DEALINGS IN THE SOFTWARE.\n\n'use strict';\n\nvar stringifyPrimitive = function(v) {\n switch (typeof v) {\n case 'string':\n return v;\n\n case 'boolean':\n return v ? 'true' : 'false';\n\n case 'number':\n return isFinite(v) ? v : '';\n\n default:\n return '';\n }\n};\n\nmodule.exports = function(obj, sep, eq, name) {\n sep = sep || '&';\n eq = eq || '=';\n if (obj === null) {\n obj = undefined;\n }\n\n if (typeof obj === 'object') {\n return Object.keys(obj).map(function(k) {\n var ks = encodeURIComponent(stringifyPrimitive(k)) + eq;\n if (Array.isArray(obj[k])) {\n return obj[k].map(function(v) {\n return ks + encodeURIComponent(stringifyPrimitive(v));\n }).join(sep);\n } else {\n return ks + encodeURIComponent(stringifyPrimitive(obj[k]));\n }\n }).join(sep);\n\n }\n\n if (!name) return '';\n return encodeURIComponent(stringifyPrimitive(name)) + eq +\n encodeURIComponent(stringifyPrimitive(obj));\n};\n","'use strict';\n\nexports.decode = exports.parse = require('./decode');\nexports.encode = exports.stringify = require('./encode');\n","import warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nexport var HOOK_MARK = 'RC_FORM_INTERNAL_HOOKS';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nvar warningFunc = function warningFunc() {\n warning(false, 'Can not find FormContext. Please make sure you wrap Field under Form.');\n};\nvar Context = /*#__PURE__*/React.createContext({\n getFieldValue: warningFunc,\n getFieldsValue: warningFunc,\n getFieldError: warningFunc,\n getFieldWarning: warningFunc,\n getFieldsError: warningFunc,\n isFieldsTouched: warningFunc,\n isFieldTouched: warningFunc,\n isFieldValidating: warningFunc,\n isFieldsValidating: warningFunc,\n resetFields: warningFunc,\n setFields: warningFunc,\n setFieldValue: warningFunc,\n setFieldsValue: warningFunc,\n validateFields: warningFunc,\n submit: warningFunc,\n getInternalHooks: function getInternalHooks() {\n warningFunc();\n return {\n dispatch: warningFunc,\n initEntityValue: warningFunc,\n registerField: warningFunc,\n useSubscribe: warningFunc,\n setInitialValues: warningFunc,\n destroyForm: warningFunc,\n setCallbacks: warningFunc,\n registerWatch: warningFunc,\n getFields: warningFunc,\n setValidateMessages: warningFunc,\n setPreserve: warningFunc,\n getInitialValue: warningFunc\n };\n }\n});\nexport default Context;","export function toArray(value) {\n if (value === undefined || value === null) {\n return [];\n }\n return Array.isArray(value) ? value : [value];\n}","function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n\n return target;\n };\n return _extends.apply(this, arguments);\n}\n\nfunction _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n\n _setPrototypeOf(subClass, superClass);\n}\n\nfunction _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}\n\nfunction _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}\n\nfunction _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}\n\nfunction _construct(Parent, args, Class) {\n if (_isNativeReflectConstruct()) {\n _construct = Reflect.construct.bind();\n } else {\n _construct = function _construct(Parent, args, Class) {\n var a = [null];\n a.push.apply(a, args);\n var Constructor = Function.bind.apply(Parent, a);\n var instance = new Constructor();\n if (Class) _setPrototypeOf(instance, Class.prototype);\n return instance;\n };\n }\n\n return _construct.apply(null, arguments);\n}\n\nfunction _isNativeFunction(fn) {\n return Function.toString.call(fn).indexOf(\"[native code]\") !== -1;\n}\n\nfunction _wrapNativeSuper(Class) {\n var _cache = typeof Map === \"function\" ? new Map() : undefined;\n\n _wrapNativeSuper = function _wrapNativeSuper(Class) {\n if (Class === null || !_isNativeFunction(Class)) return Class;\n\n if (typeof Class !== \"function\") {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n\n if (typeof _cache !== \"undefined\") {\n if (_cache.has(Class)) return _cache.get(Class);\n\n _cache.set(Class, Wrapper);\n }\n\n function Wrapper() {\n return _construct(Class, arguments, _getPrototypeOf(this).constructor);\n }\n\n Wrapper.prototype = Object.create(Class.prototype, {\n constructor: {\n value: Wrapper,\n enumerable: false,\n writable: true,\n configurable: true\n }\n });\n return _setPrototypeOf(Wrapper, Class);\n };\n\n return _wrapNativeSuper(Class);\n}\n\n/* eslint no-console:0 */\nvar formatRegExp = /%[sdj%]/g;\nvar warning = function warning() {}; // don't print warning message when in production env or node runtime\n\nif (typeof process !== 'undefined' && process.env && process.env.NODE_ENV !== 'production' && typeof window !== 'undefined' && typeof document !== 'undefined') {\n warning = function warning(type, errors) {\n if (typeof console !== 'undefined' && console.warn && typeof ASYNC_VALIDATOR_NO_WARNING === 'undefined') {\n if (errors.every(function (e) {\n return typeof e === 'string';\n })) {\n console.warn(type, errors);\n }\n }\n };\n}\n\nfunction convertFieldsError(errors) {\n if (!errors || !errors.length) return null;\n var fields = {};\n errors.forEach(function (error) {\n var field = error.field;\n fields[field] = fields[field] || [];\n fields[field].push(error);\n });\n return fields;\n}\nfunction format(template) {\n for (var _len = arguments.length, args = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n args[_key - 1] = arguments[_key];\n }\n\n var i = 0;\n var len = args.length;\n\n if (typeof template === 'function') {\n return template.apply(null, args);\n }\n\n if (typeof template === 'string') {\n var str = template.replace(formatRegExp, function (x) {\n if (x === '%%') {\n return '%';\n }\n\n if (i >= len) {\n return x;\n }\n\n switch (x) {\n case '%s':\n return String(args[i++]);\n\n case '%d':\n return Number(args[i++]);\n\n case '%j':\n try {\n return JSON.stringify(args[i++]);\n } catch (_) {\n return '[Circular]';\n }\n\n break;\n\n default:\n return x;\n }\n });\n return str;\n }\n\n return template;\n}\n\nfunction isNativeStringType(type) {\n return type === 'string' || type === 'url' || type === 'hex' || type === 'email' || type === 'date' || type === 'pattern';\n}\n\nfunction isEmptyValue(value, type) {\n if (value === undefined || value === null) {\n return true;\n }\n\n if (type === 'array' && Array.isArray(value) && !value.length) {\n return true;\n }\n\n if (isNativeStringType(type) && typeof value === 'string' && !value) {\n return true;\n }\n\n return false;\n}\n\nfunction asyncParallelArray(arr, func, callback) {\n var results = [];\n var total = 0;\n var arrLength = arr.length;\n\n function count(errors) {\n results.push.apply(results, errors || []);\n total++;\n\n if (total === arrLength) {\n callback(results);\n }\n }\n\n arr.forEach(function (a) {\n func(a, count);\n });\n}\n\nfunction asyncSerialArray(arr, func, callback) {\n var index = 0;\n var arrLength = arr.length;\n\n function next(errors) {\n if (errors && errors.length) {\n callback(errors);\n return;\n }\n\n var original = index;\n index = index + 1;\n\n if (original < arrLength) {\n func(arr[original], next);\n } else {\n callback([]);\n }\n }\n\n next([]);\n}\n\nfunction flattenObjArr(objArr) {\n var ret = [];\n Object.keys(objArr).forEach(function (k) {\n ret.push.apply(ret, objArr[k] || []);\n });\n return ret;\n}\n\nvar AsyncValidationError = /*#__PURE__*/function (_Error) {\n _inheritsLoose(AsyncValidationError, _Error);\n\n function AsyncValidationError(errors, fields) {\n var _this;\n\n _this = _Error.call(this, 'Async Validation Error') || this;\n _this.errors = errors;\n _this.fields = fields;\n return _this;\n }\n\n return AsyncValidationError;\n}( /*#__PURE__*/_wrapNativeSuper(Error));\nfunction asyncMap(objArr, option, func, callback, source) {\n if (option.first) {\n var _pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n callback(errors);\n return errors.length ? reject(new AsyncValidationError(errors, convertFieldsError(errors))) : resolve(source);\n };\n\n var flattenArr = flattenObjArr(objArr);\n asyncSerialArray(flattenArr, func, next);\n });\n\n _pending[\"catch\"](function (e) {\n return e;\n });\n\n return _pending;\n }\n\n var firstFields = option.firstFields === true ? Object.keys(objArr) : option.firstFields || [];\n var objArrKeys = Object.keys(objArr);\n var objArrLength = objArrKeys.length;\n var total = 0;\n var results = [];\n var pending = new Promise(function (resolve, reject) {\n var next = function next(errors) {\n results.push.apply(results, errors);\n total++;\n\n if (total === objArrLength) {\n callback(results);\n return results.length ? reject(new AsyncValidationError(results, convertFieldsError(results))) : resolve(source);\n }\n };\n\n if (!objArrKeys.length) {\n callback(results);\n resolve(source);\n }\n\n objArrKeys.forEach(function (key) {\n var arr = objArr[key];\n\n if (firstFields.indexOf(key) !== -1) {\n asyncSerialArray(arr, func, next);\n } else {\n asyncParallelArray(arr, func, next);\n }\n });\n });\n pending[\"catch\"](function (e) {\n return e;\n });\n return pending;\n}\n\nfunction isErrorObj(obj) {\n return !!(obj && obj.message !== undefined);\n}\n\nfunction getValue(value, path) {\n var v = value;\n\n for (var i = 0; i < path.length; i++) {\n if (v == undefined) {\n return v;\n }\n\n v = v[path[i]];\n }\n\n return v;\n}\n\nfunction complementError(rule, source) {\n return function (oe) {\n var fieldValue;\n\n if (rule.fullFields) {\n fieldValue = getValue(source, rule.fullFields);\n } else {\n fieldValue = source[oe.field || rule.fullField];\n }\n\n if (isErrorObj(oe)) {\n oe.field = oe.field || rule.fullField;\n oe.fieldValue = fieldValue;\n return oe;\n }\n\n return {\n message: typeof oe === 'function' ? oe() : oe,\n fieldValue: fieldValue,\n field: oe.field || rule.fullField\n };\n };\n}\nfunction deepMerge(target, source) {\n if (source) {\n for (var s in source) {\n if (source.hasOwnProperty(s)) {\n var value = source[s];\n\n if (typeof value === 'object' && typeof target[s] === 'object') {\n target[s] = _extends({}, target[s], value);\n } else {\n target[s] = value;\n }\n }\n }\n }\n\n return target;\n}\n\nvar required$1 = function required(rule, value, source, errors, options, type) {\n if (rule.required && (!source.hasOwnProperty(rule.field) || isEmptyValue(value, type || rule.type))) {\n errors.push(format(options.messages.required, rule.fullField));\n }\n};\n\n/**\n * Rule for validating whitespace.\n *\n * @param rule The validation rule.\n * @param value The value of the field on the source object.\n * @param source The source object being validated.\n * @param errors An array of errors that this rule may add\n * validation errors to.\n * @param options The validation options.\n * @param options.messages The validation messages.\n */\n\nvar whitespace = function whitespace(rule, value, source, errors, options) {\n if (/^\\s+$/.test(value) || value === '') {\n errors.push(format(options.messages.whitespace, rule.fullField));\n }\n};\n\n// https://github.com/kevva/url-regex/blob/master/index.js\nvar urlReg;\nvar getUrlRegex = (function () {\n if (urlReg) {\n return urlReg;\n }\n\n var word = '[a-fA-F\\\\d:]';\n\n var b = function b(options) {\n return options && options.includeBoundaries ? \"(?:(?<=\\\\s|^)(?=\" + word + \")|(?<=\" + word + \")(?=\\\\s|$))\" : '';\n };\n\n var v4 = '(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)(?:\\\\.(?:25[0-5]|2[0-4]\\\\d|1\\\\d\\\\d|[1-9]\\\\d|\\\\d)){3}';\n var v6seg = '[a-fA-F\\\\d]{1,4}';\n var v6 = (\"\\n(?:\\n(?:\" + v6seg + \":){7}(?:\" + v6seg + \"|:)| // 1:2:3:4:5:6:7:: 1:2:3:4:5:6:7:8\\n(?:\" + v6seg + \":){6}(?:\" + v4 + \"|:\" + v6seg + \"|:)| // 1:2:3:4:5:6:: 1:2:3:4:5:6::8 1:2:3:4:5:6::8 1:2:3:4:5:6::1.2.3.4\\n(?:\" + v6seg + \":){5}(?::\" + v4 + \"|(?::\" + v6seg + \"){1,2}|:)| // 1:2:3:4:5:: 1:2:3:4:5::7:8 1:2:3:4:5::8 1:2:3:4:5::7:1.2.3.4\\n(?:\" + v6seg + \":){4}(?:(?::\" + v6seg + \"){0,1}:\" + v4 + \"|(?::\" + v6seg + \"){1,3}|:)| // 1:2:3:4:: 1:2:3:4::6:7:8 1:2:3:4::8 1:2:3:4::6:7:1.2.3.4\\n(?:\" + v6seg + \":){3}(?:(?::\" + v6seg + \"){0,2}:\" + v4 + \"|(?::\" + v6seg + \"){1,4}|:)| // 1:2:3:: 1:2:3::5:6:7:8 1:2:3::8 1:2:3::5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){2}(?:(?::\" + v6seg + \"){0,3}:\" + v4 + \"|(?::\" + v6seg + \"){1,5}|:)| // 1:2:: 1:2::4:5:6:7:8 1:2::8 1:2::4:5:6:7:1.2.3.4\\n(?:\" + v6seg + \":){1}(?:(?::\" + v6seg + \"){0,4}:\" + v4 + \"|(?::\" + v6seg + \"){1,6}|:)| // 1:: 1::3:4:5:6:7:8 1::8 1::3:4:5:6:7:1.2.3.4\\n(?::(?:(?::\" + v6seg + \"){0,5}:\" + v4 + \"|(?::\" + v6seg + \"){1,7}|:)) // ::2:3:4:5:6:7:8 ::2:3:4:5:6:7:8 ::8 ::1.2.3.4\\n)(?:%[0-9a-zA-Z]{1,})? // %eth0 %1\\n\").replace(/\\s*\\/\\/.*$/gm, '').replace(/\\n/g, '').trim(); // Pre-compile only the exact regexes because adding a global flag make regexes stateful\n\n var v46Exact = new RegExp(\"(?:^\" + v4 + \"$)|(?:^\" + v6 + \"$)\");\n var v4exact = new RegExp(\"^\" + v4 + \"$\");\n var v6exact = new RegExp(\"^\" + v6 + \"$\");\n\n var ip = function ip(options) {\n return options && options.exact ? v46Exact : new RegExp(\"(?:\" + b(options) + v4 + b(options) + \")|(?:\" + b(options) + v6 + b(options) + \")\", 'g');\n };\n\n ip.v4 = function (options) {\n return options && options.exact ? v4exact : new RegExp(\"\" + b(options) + v4 + b(options), 'g');\n };\n\n ip.v6 = function (options) {\n return options && options.exact ? v6exact : new RegExp(\"\" + b(options) + v6 + b(options), 'g');\n };\n\n var protocol = \"(?:(?:[a-z]+:)?//)\";\n var auth = '(?:\\\\S+(?::\\\\S*)?@)?';\n var ipv4 = ip.v4().source;\n var ipv6 = ip.v6().source;\n var host = \"(?:(?:[a-z\\\\u00a1-\\\\uffff0-9][-_]*)*[a-z\\\\u00a1-\\\\uffff0-9]+)\";\n var domain = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*\";\n var tld = \"(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,}))\";\n var port = '(?::\\\\d{2,5})?';\n var path = '(?:[/?#][^\\\\s\"]*)?';\n var regex = \"(?:\" + protocol + \"|www\\\\.)\" + auth + \"(?:localhost|\" + ipv4 + \"|\" + ipv6 + \"|\" + host + domain + tld + \")\" + port + path;\n urlReg = new RegExp(\"(?:^\" + regex + \"$)\", 'i');\n return urlReg;\n});\n\n/* eslint max-len:0 */\n\nvar pattern$2 = {\n // http://emailregex.com/\n email: /^(([^<>()\\[\\]\\\\.,;:\\s@\"]+(\\.[^<>()\\[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}])|(([a-zA-Z\\-0-9\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]+\\.)+[a-zA-Z\\u00A0-\\uD7FF\\uF900-\\uFDCF\\uFDF0-\\uFFEF]{2,}))$/,\n // url: new RegExp(\n // '^(?!mailto:)(?:(?:http|https|ftp)://|//)(?:\\\\S+(?::\\\\S*)?@)?(?:(?:(?:[1-9]\\\\d?|1\\\\d\\\\d|2[01]\\\\d|22[0-3])(?:\\\\.(?:1?\\\\d{1,2}|2[0-4]\\\\d|25[0-5])){2}(?:\\\\.(?:[0-9]\\\\d?|1\\\\d\\\\d|2[0-4]\\\\d|25[0-4]))|(?:(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff0-9]+-*)*[a-z\\\\u00a1-\\\\uffff0-9]+)*(?:\\\\.(?:[a-z\\\\u00a1-\\\\uffff]{2,})))|localhost)(?::\\\\d{2,5})?(?:(/|\\\\?|#)[^\\\\s]*)?$',\n // 'i',\n // ),\n hex: /^#?([a-f0-9]{6}|[a-f0-9]{3})$/i\n};\nvar types = {\n integer: function integer(value) {\n return types.number(value) && parseInt(value, 10) === value;\n },\n \"float\": function float(value) {\n return types.number(value) && !types.integer(value);\n },\n array: function array(value) {\n return Array.isArray(value);\n },\n regexp: function regexp(value) {\n if (value instanceof RegExp) {\n return true;\n }\n\n try {\n return !!new RegExp(value);\n } catch (e) {\n return false;\n }\n },\n date: function date(value) {\n return typeof value.getTime === 'function' && typeof value.getMonth === 'function' && typeof value.getYear === 'function' && !isNaN(value.getTime());\n },\n number: function number(value) {\n if (isNaN(value)) {\n return false;\n }\n\n return typeof value === 'number';\n },\n object: function object(value) {\n return typeof value === 'object' && !types.array(value);\n },\n method: function method(value) {\n return typeof value === 'function';\n },\n email: function email(value) {\n return typeof value === 'string' && value.length <= 320 && !!value.match(pattern$2.email);\n },\n url: function url(value) {\n return typeof value === 'string' && value.length <= 2048 && !!value.match(getUrlRegex());\n },\n hex: function hex(value) {\n return typeof value === 'string' && !!value.match(pattern$2.hex);\n }\n};\n\nvar type$1 = function type(rule, value, source, errors, options) {\n if (rule.required && value === undefined) {\n required$1(rule, value, source, errors, options);\n return;\n }\n\n var custom = ['integer', 'float', 'array', 'regexp', 'object', 'method', 'email', 'number', 'date', 'url', 'hex'];\n var ruleType = rule.type;\n\n if (custom.indexOf(ruleType) > -1) {\n if (!types[ruleType](value)) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n } // straight typeof check\n\n } else if (ruleType && typeof value !== rule.type) {\n errors.push(format(options.messages.types[ruleType], rule.fullField, rule.type));\n }\n};\n\nvar range = function range(rule, value, source, errors, options) {\n var len = typeof rule.len === 'number';\n var min = typeof rule.min === 'number';\n var max = typeof rule.max === 'number'; // 正则匹配码点范围从U+010000一直到U+10FFFF的文字(补充平面Supplementary Plane)\n\n var spRegexp = /[\\uD800-\\uDBFF][\\uDC00-\\uDFFF]/g;\n var val = value;\n var key = null;\n var num = typeof value === 'number';\n var str = typeof value === 'string';\n var arr = Array.isArray(value);\n\n if (num) {\n key = 'number';\n } else if (str) {\n key = 'string';\n } else if (arr) {\n key = 'array';\n } // if the value is not of a supported type for range validation\n // the validation rule rule should use the\n // type property to also test for a particular type\n\n\n if (!key) {\n return false;\n }\n\n if (arr) {\n val = value.length;\n }\n\n if (str) {\n // 处理码点大于U+010000的文字length属性不准确的bug,如\"𠮷𠮷𠮷\".lenght !== 3\n val = value.replace(spRegexp, '_').length;\n }\n\n if (len) {\n if (val !== rule.len) {\n errors.push(format(options.messages[key].len, rule.fullField, rule.len));\n }\n } else if (min && !max && val < rule.min) {\n errors.push(format(options.messages[key].min, rule.fullField, rule.min));\n } else if (max && !min && val > rule.max) {\n errors.push(format(options.messages[key].max, rule.fullField, rule.max));\n } else if (min && max && (val < rule.min || val > rule.max)) {\n errors.push(format(options.messages[key].range, rule.fullField, rule.min, rule.max));\n }\n};\n\nvar ENUM$1 = 'enum';\n\nvar enumerable$1 = function enumerable(rule, value, source, errors, options) {\n rule[ENUM$1] = Array.isArray(rule[ENUM$1]) ? rule[ENUM$1] : [];\n\n if (rule[ENUM$1].indexOf(value) === -1) {\n errors.push(format(options.messages[ENUM$1], rule.fullField, rule[ENUM$1].join(', ')));\n }\n};\n\nvar pattern$1 = function pattern(rule, value, source, errors, options) {\n if (rule.pattern) {\n if (rule.pattern instanceof RegExp) {\n // if a RegExp instance is passed, reset `lastIndex` in case its `global`\n // flag is accidentally set to `true`, which in a validation scenario\n // is not necessary and the result might be misleading\n rule.pattern.lastIndex = 0;\n\n if (!rule.pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n } else if (typeof rule.pattern === 'string') {\n var _pattern = new RegExp(rule.pattern);\n\n if (!_pattern.test(value)) {\n errors.push(format(options.messages.pattern.mismatch, rule.fullField, value, rule.pattern));\n }\n }\n }\n};\n\nvar rules = {\n required: required$1,\n whitespace: whitespace,\n type: type$1,\n range: range,\n \"enum\": enumerable$1,\n pattern: pattern$1\n};\n\nvar string = function string(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'string');\n\n if (!isEmptyValue(value, 'string')) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n rules.pattern(rule, value, source, errors, options);\n\n if (rule.whitespace === true) {\n rules.whitespace(rule, value, source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar method = function method(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar number = function number(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (value === '') {\n value = undefined;\n }\n\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar _boolean = function _boolean(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar regexp = function regexp(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar integer = function integer(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar floatFn = function floatFn(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar array = function array(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if ((value === undefined || value === null) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, 'array');\n\n if (value !== undefined && value !== null) {\n rules.type(rule, value, source, errors, options);\n rules.range(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar object = function object(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar ENUM = 'enum';\n\nvar enumerable = function enumerable(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (value !== undefined) {\n rules[ENUM](rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar pattern = function pattern(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, 'string') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'string')) {\n rules.pattern(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar date = function date(rule, value, callback, source, options) {\n // console.log('integer rule called %j', rule);\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field); // console.log('validate on %s value', value);\n\n if (validate) {\n if (isEmptyValue(value, 'date') && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n\n if (!isEmptyValue(value, 'date')) {\n var dateObject;\n\n if (value instanceof Date) {\n dateObject = value;\n } else {\n dateObject = new Date(value);\n }\n\n rules.type(rule, dateObject, source, errors, options);\n\n if (dateObject) {\n rules.range(rule, dateObject.getTime(), source, errors, options);\n }\n }\n }\n\n callback(errors);\n};\n\nvar required = function required(rule, value, callback, source, options) {\n var errors = [];\n var type = Array.isArray(value) ? 'array' : typeof value;\n rules.required(rule, value, source, errors, options, type);\n callback(errors);\n};\n\nvar type = function type(rule, value, callback, source, options) {\n var ruleType = rule.type;\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value, ruleType) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options, ruleType);\n\n if (!isEmptyValue(value, ruleType)) {\n rules.type(rule, value, source, errors, options);\n }\n }\n\n callback(errors);\n};\n\nvar any = function any(rule, value, callback, source, options) {\n var errors = [];\n var validate = rule.required || !rule.required && source.hasOwnProperty(rule.field);\n\n if (validate) {\n if (isEmptyValue(value) && !rule.required) {\n return callback();\n }\n\n rules.required(rule, value, source, errors, options);\n }\n\n callback(errors);\n};\n\nvar validators = {\n string: string,\n method: method,\n number: number,\n \"boolean\": _boolean,\n regexp: regexp,\n integer: integer,\n \"float\": floatFn,\n array: array,\n object: object,\n \"enum\": enumerable,\n pattern: pattern,\n date: date,\n url: type,\n hex: type,\n email: type,\n required: required,\n any: any\n};\n\nfunction newMessages() {\n return {\n \"default\": 'Validation error on field %s',\n required: '%s is required',\n \"enum\": '%s must be one of %s',\n whitespace: '%s cannot be empty',\n date: {\n format: '%s date %s is invalid for format %s',\n parse: '%s date could not be parsed, %s is invalid ',\n invalid: '%s date %s is invalid'\n },\n types: {\n string: '%s is not a %s',\n method: '%s is not a %s (function)',\n array: '%s is not an %s',\n object: '%s is not an %s',\n number: '%s is not a %s',\n date: '%s is not a %s',\n \"boolean\": '%s is not a %s',\n integer: '%s is not an %s',\n \"float\": '%s is not a %s',\n regexp: '%s is not a valid %s',\n email: '%s is not a valid %s',\n url: '%s is not a valid %s',\n hex: '%s is not a valid %s'\n },\n string: {\n len: '%s must be exactly %s characters',\n min: '%s must be at least %s characters',\n max: '%s cannot be longer than %s characters',\n range: '%s must be between %s and %s characters'\n },\n number: {\n len: '%s must equal %s',\n min: '%s cannot be less than %s',\n max: '%s cannot be greater than %s',\n range: '%s must be between %s and %s'\n },\n array: {\n len: '%s must be exactly %s in length',\n min: '%s cannot be less than %s in length',\n max: '%s cannot be greater than %s in length',\n range: '%s must be between %s and %s in length'\n },\n pattern: {\n mismatch: '%s value %s does not match pattern %s'\n },\n clone: function clone() {\n var cloned = JSON.parse(JSON.stringify(this));\n cloned.clone = this.clone;\n return cloned;\n }\n };\n}\nvar messages = newMessages();\n\n/**\n * Encapsulates a validation schema.\n *\n * @param descriptor An object declaring validation rules\n * for this schema.\n */\n\nvar Schema = /*#__PURE__*/function () {\n // ========================= Static =========================\n // ======================== Instance ========================\n function Schema(descriptor) {\n this.rules = null;\n this._messages = messages;\n this.define(descriptor);\n }\n\n var _proto = Schema.prototype;\n\n _proto.define = function define(rules) {\n var _this = this;\n\n if (!rules) {\n throw new Error('Cannot configure a schema with no rules');\n }\n\n if (typeof rules !== 'object' || Array.isArray(rules)) {\n throw new Error('Rules must be an object');\n }\n\n this.rules = {};\n Object.keys(rules).forEach(function (name) {\n var item = rules[name];\n _this.rules[name] = Array.isArray(item) ? item : [item];\n });\n };\n\n _proto.messages = function messages(_messages) {\n if (_messages) {\n this._messages = deepMerge(newMessages(), _messages);\n }\n\n return this._messages;\n };\n\n _proto.validate = function validate(source_, o, oc) {\n var _this2 = this;\n\n if (o === void 0) {\n o = {};\n }\n\n if (oc === void 0) {\n oc = function oc() {};\n }\n\n var source = source_;\n var options = o;\n var callback = oc;\n\n if (typeof options === 'function') {\n callback = options;\n options = {};\n }\n\n if (!this.rules || Object.keys(this.rules).length === 0) {\n if (callback) {\n callback(null, source);\n }\n\n return Promise.resolve(source);\n }\n\n function complete(results) {\n var errors = [];\n var fields = {};\n\n function add(e) {\n if (Array.isArray(e)) {\n var _errors;\n\n errors = (_errors = errors).concat.apply(_errors, e);\n } else {\n errors.push(e);\n }\n }\n\n for (var i = 0; i < results.length; i++) {\n add(results[i]);\n }\n\n if (!errors.length) {\n callback(null, source);\n } else {\n fields = convertFieldsError(errors);\n callback(errors, fields);\n }\n }\n\n if (options.messages) {\n var messages$1 = this.messages();\n\n if (messages$1 === messages) {\n messages$1 = newMessages();\n }\n\n deepMerge(messages$1, options.messages);\n options.messages = messages$1;\n } else {\n options.messages = this.messages();\n }\n\n var series = {};\n var keys = options.keys || Object.keys(this.rules);\n keys.forEach(function (z) {\n var arr = _this2.rules[z];\n var value = source[z];\n arr.forEach(function (r) {\n var rule = r;\n\n if (typeof rule.transform === 'function') {\n if (source === source_) {\n source = _extends({}, source);\n }\n\n value = source[z] = rule.transform(value);\n }\n\n if (typeof rule === 'function') {\n rule = {\n validator: rule\n };\n } else {\n rule = _extends({}, rule);\n } // Fill validator. Skip if nothing need to validate\n\n\n rule.validator = _this2.getValidationMethod(rule);\n\n if (!rule.validator) {\n return;\n }\n\n rule.field = z;\n rule.fullField = rule.fullField || z;\n rule.type = _this2.getType(rule);\n series[z] = series[z] || [];\n series[z].push({\n rule: rule,\n value: value,\n source: source,\n field: z\n });\n });\n });\n var errorFields = {};\n return asyncMap(series, options, function (data, doIt) {\n var rule = data.rule;\n var deep = (rule.type === 'object' || rule.type === 'array') && (typeof rule.fields === 'object' || typeof rule.defaultField === 'object');\n deep = deep && (rule.required || !rule.required && data.value);\n rule.field = data.field;\n\n function addFullField(key, schema) {\n return _extends({}, schema, {\n fullField: rule.fullField + \".\" + key,\n fullFields: rule.fullFields ? [].concat(rule.fullFields, [key]) : [key]\n });\n }\n\n function cb(e) {\n if (e === void 0) {\n e = [];\n }\n\n var errorList = Array.isArray(e) ? e : [e];\n\n if (!options.suppressWarning && errorList.length) {\n Schema.warning('async-validator:', errorList);\n }\n\n if (errorList.length && rule.message !== undefined) {\n errorList = [].concat(rule.message);\n } // Fill error info\n\n\n var filledErrors = errorList.map(complementError(rule, source));\n\n if (options.first && filledErrors.length) {\n errorFields[rule.field] = 1;\n return doIt(filledErrors);\n }\n\n if (!deep) {\n doIt(filledErrors);\n } else {\n // if rule is required but the target object\n // does not exist fail at the rule level and don't\n // go deeper\n if (rule.required && !data.value) {\n if (rule.message !== undefined) {\n filledErrors = [].concat(rule.message).map(complementError(rule, source));\n } else if (options.error) {\n filledErrors = [options.error(rule, format(options.messages.required, rule.field))];\n }\n\n return doIt(filledErrors);\n }\n\n var fieldsSchema = {};\n\n if (rule.defaultField) {\n Object.keys(data.value).map(function (key) {\n fieldsSchema[key] = rule.defaultField;\n });\n }\n\n fieldsSchema = _extends({}, fieldsSchema, data.rule.fields);\n var paredFieldsSchema = {};\n Object.keys(fieldsSchema).forEach(function (field) {\n var fieldSchema = fieldsSchema[field];\n var fieldSchemaList = Array.isArray(fieldSchema) ? fieldSchema : [fieldSchema];\n paredFieldsSchema[field] = fieldSchemaList.map(addFullField.bind(null, field));\n });\n var schema = new Schema(paredFieldsSchema);\n schema.messages(options.messages);\n\n if (data.rule.options) {\n data.rule.options.messages = options.messages;\n data.rule.options.error = options.error;\n }\n\n schema.validate(data.value, data.rule.options || options, function (errs) {\n var finalErrors = [];\n\n if (filledErrors && filledErrors.length) {\n finalErrors.push.apply(finalErrors, filledErrors);\n }\n\n if (errs && errs.length) {\n finalErrors.push.apply(finalErrors, errs);\n }\n\n doIt(finalErrors.length ? finalErrors : null);\n });\n }\n }\n\n var res;\n\n if (rule.asyncValidator) {\n res = rule.asyncValidator(rule, data.value, cb, data.source, options);\n } else if (rule.validator) {\n try {\n res = rule.validator(rule, data.value, cb, data.source, options);\n } catch (error) {\n console.error == null ? void 0 : console.error(error); // rethrow to report error\n\n if (!options.suppressValidatorError) {\n setTimeout(function () {\n throw error;\n }, 0);\n }\n\n cb(error.message);\n }\n\n if (res === true) {\n cb();\n } else if (res === false) {\n cb(typeof rule.message === 'function' ? rule.message(rule.fullField || rule.field) : rule.message || (rule.fullField || rule.field) + \" fails\");\n } else if (res instanceof Array) {\n cb(res);\n } else if (res instanceof Error) {\n cb(res.message);\n }\n }\n\n if (res && res.then) {\n res.then(function () {\n return cb();\n }, function (e) {\n return cb(e);\n });\n }\n }, function (results) {\n complete(results);\n }, source);\n };\n\n _proto.getType = function getType(rule) {\n if (rule.type === undefined && rule.pattern instanceof RegExp) {\n rule.type = 'pattern';\n }\n\n if (typeof rule.validator !== 'function' && rule.type && !validators.hasOwnProperty(rule.type)) {\n throw new Error(format('Unknown rule type %s', rule.type));\n }\n\n return rule.type || 'string';\n };\n\n _proto.getValidationMethod = function getValidationMethod(rule) {\n if (typeof rule.validator === 'function') {\n return rule.validator;\n }\n\n var keys = Object.keys(rule);\n var messageIndex = keys.indexOf('message');\n\n if (messageIndex !== -1) {\n keys.splice(messageIndex, 1);\n }\n\n if (keys.length === 1 && keys[0] === 'required') {\n return validators.required;\n }\n\n return validators[this.getType(rule)] || undefined;\n };\n\n return Schema;\n}();\n\nSchema.register = function register(type, validator) {\n if (typeof validator !== 'function') {\n throw new Error('Cannot register a validator by type, validator is not a function');\n }\n\n validators[type] = validator;\n};\n\nSchema.warning = warning;\nSchema.messages = messages;\nSchema.validators = validators;\n\nexport { Schema as default };\n//# sourceMappingURL=index.js.map\n","var typeTemplate = \"'${name}' is not a valid ${type}\";\nexport var defaultValidateMessages = {\n default: \"Validation error on field '${name}'\",\n required: \"'${name}' is required\",\n enum: \"'${name}' must be one of [${enum}]\",\n whitespace: \"'${name}' cannot be empty\",\n date: {\n format: \"'${name}' is invalid for format date\",\n parse: \"'${name}' could not be parsed as date\",\n invalid: \"'${name}' is invalid date\"\n },\n types: {\n string: typeTemplate,\n method: typeTemplate,\n array: typeTemplate,\n object: typeTemplate,\n number: typeTemplate,\n date: typeTemplate,\n boolean: typeTemplate,\n integer: typeTemplate,\n float: typeTemplate,\n regexp: typeTemplate,\n email: typeTemplate,\n url: typeTemplate,\n hex: typeTemplate\n },\n string: {\n len: \"'${name}' must be exactly ${len} characters\",\n min: \"'${name}' must be at least ${min} characters\",\n max: \"'${name}' cannot be longer than ${max} characters\",\n range: \"'${name}' must be between ${min} and ${max} characters\"\n },\n number: {\n len: \"'${name}' must equal ${len}\",\n min: \"'${name}' cannot be less than ${min}\",\n max: \"'${name}' cannot be greater than ${max}\",\n range: \"'${name}' must be between ${min} and ${max}\"\n },\n array: {\n len: \"'${name}' must be exactly ${len} in length\",\n min: \"'${name}' cannot be less than ${min} in length\",\n max: \"'${name}' cannot be greater than ${max} in length\",\n range: \"'${name}' must be between ${min} and ${max} in length\"\n },\n pattern: {\n mismatch: \"'${name}' does not match pattern ${pattern}\"\n }\n};","export default function get(entity, path) {\n var current = entity;\n for (var i = 0; i < path.length; i += 1) {\n if (current === null || current === undefined) {\n return undefined;\n }\n current = current[path[i]];\n }\n return current;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _toArray from \"@babel/runtime/helpers/esm/toArray\";\nimport get from './get';\nfunction internalSet(entity, paths, value, removeIfUndefined) {\n if (!paths.length) {\n return value;\n }\n var _paths = _toArray(paths),\n path = _paths[0],\n restPath = _paths.slice(1);\n var clone;\n if (!entity && typeof path === 'number') {\n clone = [];\n } else if (Array.isArray(entity)) {\n clone = _toConsumableArray(entity);\n } else {\n clone = _objectSpread({}, entity);\n }\n // Delete prop if `removeIfUndefined` and value is undefined\n if (removeIfUndefined && value === undefined && restPath.length === 1) {\n delete clone[path][restPath[0]];\n } else {\n clone[path] = internalSet(clone[path], restPath, value, removeIfUndefined);\n }\n return clone;\n}\nexport default function set(entity, paths, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n // Do nothing if `removeIfUndefined` and parent object not exist\n if (paths.length && removeIfUndefined && value === undefined && !get(entity, paths.slice(0, -1))) {\n return entity;\n }\n return internalSet(entity, paths, value, removeIfUndefined);\n}","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nfunction cloneDeep(val) {\n if (Array.isArray(val)) {\n return cloneArrayDeep(val);\n } else if (_typeof(val) === 'object' && val !== null) {\n return cloneObjectDeep(val);\n }\n return val;\n}\nfunction cloneObjectDeep(val) {\n if (Object.getPrototypeOf(val) === Object.prototype) {\n var res = {};\n for (var key in val) {\n res[key] = cloneDeep(val[key]);\n }\n return res;\n }\n return val;\n}\nfunction cloneArrayDeep(val) {\n return val.map(function (item) {\n return cloneDeep(item);\n });\n}\nexport default cloneDeep;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport get from \"rc-util/es/utils/get\";\nimport set from \"rc-util/es/utils/set\";\nimport { toArray } from './typeUtil';\nimport cloneDeep from '../utils/cloneDeep';\n/**\n * Convert name to internal supported format.\n * This function should keep since we still thinking if need support like `a.b.c` format.\n * 'a' => ['a']\n * 123 => [123]\n * ['a', 123] => ['a', 123]\n */\nexport function getNamePath(path) {\n return toArray(path);\n}\nexport function getValue(store, namePath) {\n var value = get(store, namePath);\n return value;\n}\nexport function setValue(store, namePath, value) {\n var removeIfUndefined = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : false;\n var newStore = set(store, namePath, value, removeIfUndefined);\n return newStore;\n}\nexport function cloneByNamePathList(store, namePathList) {\n var newStore = {};\n namePathList.forEach(function (namePath) {\n var value = getValue(store, namePath);\n newStore = setValue(newStore, namePath, value);\n });\n return newStore;\n}\nexport function containsNamePath(namePathList, namePath) {\n return namePathList && namePathList.some(function (path) {\n return matchNamePath(path, namePath);\n });\n}\nfunction isObject(obj) {\n return _typeof(obj) === 'object' && obj !== null && Object.getPrototypeOf(obj) === Object.prototype;\n}\n/**\n * Copy values into store and return a new values object\n * ({ a: 1, b: { c: 2 } }, { a: 4, b: { d: 5 } }) => { a: 4, b: { c: 2, d: 5 } }\n */\nfunction internalSetValues(store, values) {\n var newStore = Array.isArray(store) ? _toConsumableArray(store) : _objectSpread({}, store);\n if (!values) {\n return newStore;\n }\n Object.keys(values).forEach(function (key) {\n var prevValue = newStore[key];\n var value = values[key];\n // If both are object (but target is not array), we use recursion to set deep value\n var recursive = isObject(prevValue) && isObject(value);\n newStore[key] = recursive ? internalSetValues(prevValue, value || {}) : cloneDeep(value); // Clone deep for arrays\n });\n\n return newStore;\n}\nexport function setValues(store) {\n for (var _len = arguments.length, restValues = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n restValues[_key - 1] = arguments[_key];\n }\n return restValues.reduce(function (current, newStore) {\n return internalSetValues(current, newStore);\n }, store);\n}\nexport function matchNamePath(namePath, changedNamePath) {\n if (!namePath || !changedNamePath || namePath.length !== changedNamePath.length) {\n return false;\n }\n return namePath.every(function (nameUnit, i) {\n return changedNamePath[i] === nameUnit;\n });\n}\nexport function isSimilar(source, target) {\n if (source === target) {\n return true;\n }\n if (!source && target || source && !target) {\n return false;\n }\n if (!source || !target || _typeof(source) !== 'object' || _typeof(target) !== 'object') {\n return false;\n }\n var sourceKeys = Object.keys(source);\n var targetKeys = Object.keys(target);\n var keys = new Set([].concat(sourceKeys, targetKeys));\n return _toConsumableArray(keys).every(function (key) {\n var sourceValue = source[key];\n var targetValue = target[key];\n if (typeof sourceValue === 'function' && typeof targetValue === 'function') {\n return true;\n }\n return sourceValue === targetValue;\n });\n}\nexport function defaultGetValueFromEvent(valuePropName) {\n var event = arguments.length <= 1 ? undefined : arguments[1];\n if (event && event.target && _typeof(event.target) === 'object' && valuePropName in event.target) {\n return event.target[valuePropName];\n }\n return event;\n}\n/**\n * Moves an array item from one position in an array to another.\n *\n * Note: This is a pure function so a new array will be returned, instead\n * of altering the array argument.\n *\n * @param array Array in which to move an item. (required)\n * @param moveIndex The index of the item to move. (required)\n * @param toIndex The index to move item at moveIndex to. (required)\n */\nexport function move(array, moveIndex, toIndex) {\n var length = array.length;\n if (moveIndex < 0 || moveIndex >= length || toIndex < 0 || toIndex >= length) {\n return array;\n }\n var item = array[moveIndex];\n var diff = moveIndex - toIndex;\n if (diff > 0) {\n // move left\n return [].concat(_toConsumableArray(array.slice(0, toIndex)), [item], _toConsumableArray(array.slice(toIndex, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, length)));\n }\n if (diff < 0) {\n // move right\n return [].concat(_toConsumableArray(array.slice(0, moveIndex)), _toConsumableArray(array.slice(moveIndex + 1, toIndex + 1)), [item], _toConsumableArray(array.slice(toIndex + 1, length)));\n }\n return array;\n}","import _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport RawAsyncValidator from 'async-validator';\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport { defaultValidateMessages } from './messages';\nimport { setValues } from './valueUtil';\n// Remove incorrect original ts define\nvar AsyncValidator = RawAsyncValidator;\n/**\n * Replace with template.\n * `I'm ${name}` + { name: 'bamboo' } = I'm bamboo\n */\nfunction replaceMessage(template, kv) {\n return template.replace(/\\$\\{\\w+\\}/g, function (str) {\n var key = str.slice(2, -1);\n return kv[key];\n });\n}\nvar CODE_LOGIC_ERROR = 'CODE_LOGIC_ERROR';\nfunction validateRule(_x, _x2, _x3, _x4, _x5) {\n return _validateRule.apply(this, arguments);\n}\n/**\n * We use `async-validator` to validate the value.\n * But only check one value in a time to avoid namePath validate issue.\n */\nfunction _validateRule() {\n _validateRule = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(name, value, rule, options, messageVariables) {\n var cloneRule, originValidator, subRuleField, validator, messages, result, subResults, kv, fillVariableResult;\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n cloneRule = _objectSpread({}, rule); // Bug of `async-validator`\n // https://github.com/react-component/field-form/issues/316\n // https://github.com/react-component/field-form/issues/313\n delete cloneRule.ruleIndex;\n if (cloneRule.validator) {\n originValidator = cloneRule.validator;\n cloneRule.validator = function () {\n try {\n return originValidator.apply(void 0, arguments);\n } catch (error) {\n console.error(error);\n return Promise.reject(CODE_LOGIC_ERROR);\n }\n };\n }\n // We should special handle array validate\n subRuleField = null;\n if (cloneRule && cloneRule.type === 'array' && cloneRule.defaultField) {\n subRuleField = cloneRule.defaultField;\n delete cloneRule.defaultField;\n }\n validator = new AsyncValidator(_defineProperty({}, name, [cloneRule]));\n messages = setValues({}, defaultValidateMessages, options.validateMessages);\n validator.messages(messages);\n result = [];\n _context2.prev = 9;\n _context2.next = 12;\n return Promise.resolve(validator.validate(_defineProperty({}, name, value), _objectSpread({}, options)));\n case 12:\n _context2.next = 17;\n break;\n case 14:\n _context2.prev = 14;\n _context2.t0 = _context2[\"catch\"](9);\n if (_context2.t0.errors) {\n result = _context2.t0.errors.map(function (_ref4, index) {\n var message = _ref4.message;\n var mergedMessage = message === CODE_LOGIC_ERROR ? messages.default : message;\n return /*#__PURE__*/React.isValidElement(mergedMessage) ?\n /*#__PURE__*/\n // Wrap ReactNode with `key`\n React.cloneElement(mergedMessage, {\n key: \"error_\".concat(index)\n }) : mergedMessage;\n });\n }\n case 17:\n if (!(!result.length && subRuleField)) {\n _context2.next = 22;\n break;\n }\n _context2.next = 20;\n return Promise.all(value.map(function (subValue, i) {\n return validateRule(\"\".concat(name, \".\").concat(i), subValue, subRuleField, options, messageVariables);\n }));\n case 20:\n subResults = _context2.sent;\n return _context2.abrupt(\"return\", subResults.reduce(function (prev, errors) {\n return [].concat(_toConsumableArray(prev), _toConsumableArray(errors));\n }, []));\n case 22:\n // Replace message with variables\n kv = _objectSpread(_objectSpread({}, rule), {}, {\n name: name,\n enum: (rule.enum || []).join(', ')\n }, messageVariables);\n fillVariableResult = result.map(function (error) {\n if (typeof error === 'string') {\n return replaceMessage(error, kv);\n }\n return error;\n });\n return _context2.abrupt(\"return\", fillVariableResult);\n case 25:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2, null, [[9, 14]]);\n }));\n return _validateRule.apply(this, arguments);\n}\nexport function validateRules(namePath, value, rules, options, validateFirst, messageVariables) {\n var name = namePath.join('.');\n // Fill rule with context\n var filledRules = rules.map(function (currentRule, ruleIndex) {\n var originValidatorFunc = currentRule.validator;\n var cloneRule = _objectSpread(_objectSpread({}, currentRule), {}, {\n ruleIndex: ruleIndex\n });\n // Replace validator if needed\n if (originValidatorFunc) {\n cloneRule.validator = function (rule, val, callback) {\n var hasPromise = false;\n // Wrap callback only accept when promise not provided\n var wrappedCallback = function wrappedCallback() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n // Wait a tick to make sure return type is a promise\n Promise.resolve().then(function () {\n warning(!hasPromise, 'Your validator function has already return a promise. `callback` will be ignored.');\n if (!hasPromise) {\n callback.apply(void 0, args);\n }\n });\n };\n // Get promise\n var promise = originValidatorFunc(rule, val, wrappedCallback);\n hasPromise = promise && typeof promise.then === 'function' && typeof promise.catch === 'function';\n /**\n * 1. Use promise as the first priority.\n * 2. If promise not exist, use callback with warning instead\n */\n warning(hasPromise, '`callback` is deprecated. Please return a promise instead.');\n if (hasPromise) {\n promise.then(function () {\n callback();\n }).catch(function (err) {\n callback(err || ' ');\n });\n }\n };\n }\n return cloneRule;\n }).sort(function (_ref, _ref2) {\n var w1 = _ref.warningOnly,\n i1 = _ref.ruleIndex;\n var w2 = _ref2.warningOnly,\n i2 = _ref2.ruleIndex;\n if (!!w1 === !!w2) {\n // Let keep origin order\n return i1 - i2;\n }\n if (w1) {\n return 1;\n }\n return -1;\n });\n // Do validate rules\n var summaryPromise;\n if (validateFirst === true) {\n // >>>>> Validate by serialization\n summaryPromise = new Promise( /*#__PURE__*/function () {\n var _ref3 = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(resolve, reject) {\n var i, rule, errors;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n i = 0;\n case 1:\n if (!(i < filledRules.length)) {\n _context.next = 12;\n break;\n }\n rule = filledRules[i];\n _context.next = 5;\n return validateRule(name, value, rule, options, messageVariables);\n case 5:\n errors = _context.sent;\n if (!errors.length) {\n _context.next = 9;\n break;\n }\n reject([{\n errors: errors,\n rule: rule\n }]);\n return _context.abrupt(\"return\");\n case 9:\n i += 1;\n _context.next = 1;\n break;\n case 12:\n /* eslint-enable */\n resolve([]);\n case 13:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return function (_x6, _x7) {\n return _ref3.apply(this, arguments);\n };\n }());\n } else {\n // >>>>> Validate by parallel\n var rulePromises = filledRules.map(function (rule) {\n return validateRule(name, value, rule, options, messageVariables).then(function (errors) {\n return {\n errors: errors,\n rule: rule\n };\n });\n });\n summaryPromise = (validateFirst ? finishOnFirstFailed(rulePromises) : finishOnAllFailed(rulePromises)).then(function (errors) {\n // Always change to rejection for Field to catch\n return Promise.reject(errors);\n });\n }\n // Internal catch error to avoid console error log.\n summaryPromise.catch(function (e) {\n return e;\n });\n return summaryPromise;\n}\nfunction finishOnAllFailed(_x8) {\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction _finishOnAllFailed() {\n _finishOnAllFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee3(rulePromises) {\n return _regeneratorRuntime().wrap(function _callee3$(_context3) {\n while (1) {\n switch (_context3.prev = _context3.next) {\n case 0:\n return _context3.abrupt(\"return\", Promise.all(rulePromises).then(function (errorsList) {\n var _ref5;\n var errors = (_ref5 = []).concat.apply(_ref5, _toConsumableArray(errorsList));\n return errors;\n }));\n case 1:\n case \"end\":\n return _context3.stop();\n }\n }\n }, _callee3);\n }));\n return _finishOnAllFailed.apply(this, arguments);\n}\nfunction finishOnFirstFailed(_x9) {\n return _finishOnFirstFailed.apply(this, arguments);\n}\nfunction _finishOnFirstFailed() {\n _finishOnFirstFailed = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee4(rulePromises) {\n var count;\n return _regeneratorRuntime().wrap(function _callee4$(_context4) {\n while (1) {\n switch (_context4.prev = _context4.next) {\n case 0:\n count = 0;\n return _context4.abrupt(\"return\", new Promise(function (resolve) {\n rulePromises.forEach(function (promise) {\n promise.then(function (ruleError) {\n if (ruleError.errors.length) {\n resolve([ruleError]);\n }\n count += 1;\n if (count === rulePromises.length) {\n resolve([]);\n }\n });\n });\n }));\n case 2:\n case \"end\":\n return _context4.stop();\n }\n }\n }, _callee4);\n }));\n return _finishOnFirstFailed.apply(this, arguments);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"name\"];\nimport toChildrenArray from \"rc-util/es/Children/toArray\";\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport { toArray } from './utils/typeUtil';\nimport { validateRules } from './utils/validateUtil';\nimport { containsNamePath, defaultGetValueFromEvent, getNamePath, getValue } from './utils/valueUtil';\nvar EMPTY_ERRORS = [];\nfunction requireUpdate(shouldUpdate, prev, next, prevValue, nextValue, info) {\n if (typeof shouldUpdate === 'function') {\n return shouldUpdate(prev, next, 'source' in info ? {\n source: info.source\n } : {});\n }\n return prevValue !== nextValue;\n}\n// We use Class instead of Hooks here since it will cost much code by using Hooks.\nvar Field = /*#__PURE__*/function (_React$Component) {\n _inherits(Field, _React$Component);\n var _super = _createSuper(Field);\n /**\n * Follow state should not management in State since it will async update by React.\n * This makes first render of form can not get correct state value.\n */\n\n /**\n * Mark when touched & validated. Currently only used for `dependencies`.\n * Note that we do not think field with `initialValue` is dirty\n * but this will be by `isFieldDirty` func.\n */\n\n // ============================== Subscriptions ==============================\n function Field(props) {\n var _this;\n _classCallCheck(this, Field);\n _this = _super.call(this, props);\n // Register on init\n _this.state = {\n resetCount: 0\n };\n _this.cancelRegisterFunc = null;\n _this.mounted = false;\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.prevValidating = void 0;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.cancelRegister = function () {\n var _this$props = _this.props,\n preserve = _this$props.preserve,\n isListField = _this$props.isListField,\n name = _this$props.name;\n if (_this.cancelRegisterFunc) {\n _this.cancelRegisterFunc(isListField, preserve, getNamePath(name));\n }\n _this.cancelRegisterFunc = null;\n };\n _this.getNamePath = function () {\n var _this$props2 = _this.props,\n name = _this$props2.name,\n fieldContext = _this$props2.fieldContext;\n var _fieldContext$prefixN = fieldContext.prefixName,\n prefixName = _fieldContext$prefixN === void 0 ? [] : _fieldContext$prefixN;\n return name !== undefined ? [].concat(_toConsumableArray(prefixName), _toConsumableArray(name)) : [];\n };\n _this.getRules = function () {\n var _this$props3 = _this.props,\n _this$props3$rules = _this$props3.rules,\n rules = _this$props3$rules === void 0 ? [] : _this$props3$rules,\n fieldContext = _this$props3.fieldContext;\n return rules.map(function (rule) {\n if (typeof rule === 'function') {\n return rule(fieldContext);\n }\n return rule;\n });\n };\n _this.refresh = function () {\n if (!_this.mounted) return;\n /**\n * Clean up current node.\n */\n _this.setState(function (_ref) {\n var resetCount = _ref.resetCount;\n return {\n resetCount: resetCount + 1\n };\n });\n };\n _this.triggerMetaEvent = function (destroy) {\n var onMetaChange = _this.props.onMetaChange;\n onMetaChange === null || onMetaChange === void 0 ? void 0 : onMetaChange(_objectSpread(_objectSpread({}, _this.getMeta()), {}, {\n destroy: destroy\n }));\n };\n _this.onStoreChange = function (prevStore, namePathList, info) {\n var _this$props4 = _this.props,\n shouldUpdate = _this$props4.shouldUpdate,\n _this$props4$dependen = _this$props4.dependencies,\n dependencies = _this$props4$dependen === void 0 ? [] : _this$props4$dependen,\n onReset = _this$props4.onReset;\n var store = info.store;\n var namePath = _this.getNamePath();\n var prevValue = _this.getValue(prevStore);\n var curValue = _this.getValue(store);\n var namePathMatch = namePathList && containsNamePath(namePathList, namePath);\n // `setFieldsValue` is a quick access to update related status\n if (info.type === 'valueUpdate' && info.source === 'external' && prevValue !== curValue) {\n _this.touched = true;\n _this.dirty = true;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n }\n switch (info.type) {\n case 'reset':\n if (!namePathList || namePathMatch) {\n // Clean up state\n _this.touched = false;\n _this.dirty = false;\n _this.validatePromise = null;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n onReset === null || onReset === void 0 ? void 0 : onReset();\n _this.refresh();\n return;\n }\n break;\n /**\n * In case field with `preserve = false` nest deps like:\n * - A = 1 => show B\n * - B = 1 => show C\n * - Reset A, need clean B, C\n */\n case 'remove':\n {\n if (shouldUpdate) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'setField':\n {\n if (namePathMatch) {\n var data = info.data;\n if ('touched' in data) {\n _this.touched = data.touched;\n }\n if ('validating' in data && !('originRCField' in data)) {\n _this.validatePromise = data.validating ? Promise.resolve([]) : null;\n }\n if ('errors' in data) {\n _this.errors = data.errors || EMPTY_ERRORS;\n }\n if ('warnings' in data) {\n _this.warnings = data.warnings || EMPTY_ERRORS;\n }\n _this.dirty = true;\n _this.triggerMetaEvent();\n _this.reRender();\n return;\n }\n // Handle update by `setField` with `shouldUpdate`\n if (shouldUpdate && !namePath.length && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n case 'dependenciesUpdate':\n {\n /**\n * Trigger when marked `dependencies` updated. Related fields will all update\n */\n var dependencyList = dependencies.map(getNamePath);\n // No need for `namePathMath` check and `shouldUpdate` check, since `valueUpdate` will be\n // emitted earlier and they will work there\n // If set it may cause unnecessary twice rerendering\n if (dependencyList.some(function (dependency) {\n return containsNamePath(info.relatedFields, dependency);\n })) {\n _this.reRender();\n return;\n }\n break;\n }\n default:\n // 1. If `namePath` exists in `namePathList`, means it's related value and should update\n // For example \n // If `namePathList` is [['list']] (List value update), Field should be updated\n // If `namePathList` is [['list', 0]] (Field value update), List shouldn't be updated\n // 2.\n // 2.1 If `dependencies` is set, `name` is not set and `shouldUpdate` is not set,\n // don't use `shouldUpdate`. `dependencies` is view as a shortcut if `shouldUpdate`\n // is not provided\n // 2.2 If `shouldUpdate` provided, use customize logic to update the field\n // else to check if value changed\n if (namePathMatch || (!dependencies.length || namePath.length || shouldUpdate) && requireUpdate(shouldUpdate, prevStore, store, prevValue, curValue, info)) {\n _this.reRender();\n return;\n }\n break;\n }\n if (shouldUpdate === true) {\n _this.reRender();\n }\n };\n _this.validateRules = function (options) {\n // We should fixed namePath & value to avoid developer change then by form function\n var namePath = _this.getNamePath();\n var currentValue = _this.getValue();\n // Force change to async to avoid rule OOD under renderProps field\n var rootPromise = Promise.resolve().then(function () {\n if (!_this.mounted) {\n return [];\n }\n var _this$props5 = _this.props,\n _this$props5$validate = _this$props5.validateFirst,\n validateFirst = _this$props5$validate === void 0 ? false : _this$props5$validate,\n messageVariables = _this$props5.messageVariables;\n var _ref2 = options || {},\n triggerName = _ref2.triggerName;\n var filteredRules = _this.getRules();\n if (triggerName) {\n filteredRules = filteredRules.filter(function (rule) {\n return rule;\n }).filter(function (rule) {\n var validateTrigger = rule.validateTrigger;\n if (!validateTrigger) {\n return true;\n }\n var triggerList = toArray(validateTrigger);\n return triggerList.includes(triggerName);\n });\n }\n var promise = validateRules(namePath, currentValue, filteredRules, options, validateFirst, messageVariables);\n promise.catch(function (e) {\n return e;\n }).then(function () {\n var ruleErrors = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : EMPTY_ERRORS;\n if (_this.validatePromise === rootPromise) {\n var _ruleErrors$forEach;\n _this.validatePromise = null;\n // Get errors & warnings\n var nextErrors = [];\n var nextWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref3) {\n var warningOnly = _ref3.rule.warningOnly,\n _ref3$errors = _ref3.errors,\n errors = _ref3$errors === void 0 ? EMPTY_ERRORS : _ref3$errors;\n if (warningOnly) {\n nextWarnings.push.apply(nextWarnings, _toConsumableArray(errors));\n } else {\n nextErrors.push.apply(nextErrors, _toConsumableArray(errors));\n }\n });\n _this.errors = nextErrors;\n _this.warnings = nextWarnings;\n _this.triggerMetaEvent();\n _this.reRender();\n }\n });\n return promise;\n });\n _this.validatePromise = rootPromise;\n _this.dirty = true;\n _this.errors = EMPTY_ERRORS;\n _this.warnings = EMPTY_ERRORS;\n _this.triggerMetaEvent();\n // Force trigger re-render since we need sync renderProps with new meta\n _this.reRender();\n return rootPromise;\n };\n _this.isFieldValidating = function () {\n return !!_this.validatePromise;\n };\n _this.isFieldTouched = function () {\n return _this.touched;\n };\n _this.isFieldDirty = function () {\n // Touched or validate or has initialValue\n if (_this.dirty || _this.props.initialValue !== undefined) {\n return true;\n }\n // Form set initialValue\n var fieldContext = _this.props.fieldContext;\n var _fieldContext$getInte = fieldContext.getInternalHooks(HOOK_MARK),\n getInitialValue = _fieldContext$getInte.getInitialValue;\n if (getInitialValue(_this.getNamePath()) !== undefined) {\n return true;\n }\n return false;\n };\n _this.getErrors = function () {\n return _this.errors;\n };\n _this.getWarnings = function () {\n return _this.warnings;\n };\n _this.isListField = function () {\n return _this.props.isListField;\n };\n _this.isList = function () {\n return _this.props.isList;\n };\n _this.isPreserve = function () {\n return _this.props.preserve;\n };\n _this.getMeta = function () {\n // Make error & validating in cache to save perf\n _this.prevValidating = _this.isFieldValidating();\n var meta = {\n touched: _this.isFieldTouched(),\n validating: _this.prevValidating,\n errors: _this.errors,\n warnings: _this.warnings,\n name: _this.getNamePath()\n };\n return meta;\n };\n _this.getOnlyChild = function (children) {\n // Support render props\n if (typeof children === 'function') {\n var meta = _this.getMeta();\n return _objectSpread(_objectSpread({}, _this.getOnlyChild(children(_this.getControlled(), meta, _this.props.fieldContext))), {}, {\n isFunction: true\n });\n }\n // Filed element only\n var childList = toChildrenArray(children);\n if (childList.length !== 1 || ! /*#__PURE__*/React.isValidElement(childList[0])) {\n return {\n child: childList,\n isFunction: false\n };\n }\n return {\n child: childList[0],\n isFunction: false\n };\n };\n _this.getValue = function (store) {\n var getFieldsValue = _this.props.fieldContext.getFieldsValue;\n var namePath = _this.getNamePath();\n return getValue(store || getFieldsValue(true), namePath);\n };\n _this.getControlled = function () {\n var childProps = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n var _this$props6 = _this.props,\n trigger = _this$props6.trigger,\n validateTrigger = _this$props6.validateTrigger,\n getValueFromEvent = _this$props6.getValueFromEvent,\n normalize = _this$props6.normalize,\n valuePropName = _this$props6.valuePropName,\n getValueProps = _this$props6.getValueProps,\n fieldContext = _this$props6.fieldContext;\n var mergedValidateTrigger = validateTrigger !== undefined ? validateTrigger : fieldContext.validateTrigger;\n var namePath = _this.getNamePath();\n var getInternalHooks = fieldContext.getInternalHooks,\n getFieldsValue = fieldContext.getFieldsValue;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n dispatch = _getInternalHooks.dispatch;\n var value = _this.getValue();\n var mergedGetValueProps = getValueProps || function (val) {\n return _defineProperty({}, valuePropName, val);\n };\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n var originTriggerFunc = childProps[trigger];\n var control = _objectSpread(_objectSpread({}, childProps), mergedGetValueProps(value));\n // Add trigger\n control[trigger] = function () {\n // Mark as touched\n _this.touched = true;\n _this.dirty = true;\n _this.triggerMetaEvent();\n var newValue;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (getValueFromEvent) {\n newValue = getValueFromEvent.apply(void 0, args);\n } else {\n newValue = defaultGetValueFromEvent.apply(void 0, [valuePropName].concat(args));\n }\n if (normalize) {\n newValue = normalize(newValue, value, getFieldsValue(true));\n }\n dispatch({\n type: 'updateValue',\n namePath: namePath,\n value: newValue\n });\n if (originTriggerFunc) {\n originTriggerFunc.apply(void 0, args);\n }\n };\n // Add validateTrigger\n var validateTriggerList = toArray(mergedValidateTrigger || []);\n validateTriggerList.forEach(function (triggerName) {\n // Wrap additional function of component, so that we can get latest value from store\n var originTrigger = control[triggerName];\n control[triggerName] = function () {\n if (originTrigger) {\n originTrigger.apply(void 0, arguments);\n }\n // Always use latest rules\n var rules = _this.props.rules;\n if (rules && rules.length) {\n // We dispatch validate to root,\n // since it will update related data with other field with same name\n dispatch({\n type: 'validateField',\n namePath: namePath,\n triggerName: triggerName\n });\n }\n };\n });\n return control;\n };\n if (props.fieldContext) {\n var getInternalHooks = props.fieldContext.getInternalHooks;\n var _getInternalHooks2 = getInternalHooks(HOOK_MARK),\n initEntityValue = _getInternalHooks2.initEntityValue;\n initEntityValue(_assertThisInitialized(_this));\n }\n return _this;\n }\n _createClass(Field, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n var _this$props7 = this.props,\n shouldUpdate = _this$props7.shouldUpdate,\n fieldContext = _this$props7.fieldContext;\n this.mounted = true;\n // Register on init\n if (fieldContext) {\n var getInternalHooks = fieldContext.getInternalHooks;\n var _getInternalHooks3 = getInternalHooks(HOOK_MARK),\n registerField = _getInternalHooks3.registerField;\n this.cancelRegisterFunc = registerField(this);\n }\n // One more render for component in case fields not ready\n if (shouldUpdate === true) {\n this.reRender();\n }\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.cancelRegister();\n this.triggerMetaEvent(true);\n this.mounted = false;\n }\n }, {\n key: \"reRender\",\n value: function reRender() {\n if (!this.mounted) return;\n this.forceUpdate();\n }\n }, {\n key: \"render\",\n value: function render() {\n var resetCount = this.state.resetCount;\n var children = this.props.children;\n var _this$getOnlyChild = this.getOnlyChild(children),\n child = _this$getOnlyChild.child,\n isFunction = _this$getOnlyChild.isFunction;\n // Not need to `cloneElement` since user can handle this in render function self\n var returnChildNode;\n if (isFunction) {\n returnChildNode = child;\n } else if ( /*#__PURE__*/React.isValidElement(child)) {\n returnChildNode = /*#__PURE__*/React.cloneElement(child, this.getControlled(child.props));\n } else {\n warning(!child, '`children` of Field is not validate ReactElement.');\n returnChildNode = child;\n }\n return /*#__PURE__*/React.createElement(React.Fragment, {\n key: resetCount\n }, returnChildNode);\n }\n }]);\n return Field;\n}(React.Component);\nField.contextType = FieldContext;\nField.defaultProps = {\n trigger: 'onChange',\n valuePropName: 'value'\n};\nfunction WrapperField(_ref5) {\n var name = _ref5.name,\n restProps = _objectWithoutProperties(_ref5, _excluded);\n var fieldContext = React.useContext(FieldContext);\n var namePath = name !== undefined ? getNamePath(name) : undefined;\n var key = 'keep';\n if (!restProps.isListField) {\n key = \"_\".concat((namePath || []).join('_'));\n }\n // Warning if it's a directly list field.\n // We can still support multiple level field preserve.\n if (process.env.NODE_ENV !== 'production' && restProps.preserve === false && restProps.isListField && namePath.length <= 1) {\n warning(false, '`preserve` should not apply on Form.List fields.');\n }\n return /*#__PURE__*/React.createElement(Field, _extends({\n key: key,\n name: namePath\n }, restProps, {\n fieldContext: fieldContext\n }));\n}\nexport default WrapperField;","import * as React from 'react';\nvar ListContext = /*#__PURE__*/React.createContext(null);\nexport default ListContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport * as React from 'react';\nimport warning from \"rc-util/es/warning\";\nimport FieldContext from './FieldContext';\nimport Field from './Field';\nimport { move as _move, getNamePath } from './utils/valueUtil';\nimport ListContext from './ListContext';\nvar List = function List(_ref) {\n var name = _ref.name,\n initialValue = _ref.initialValue,\n children = _ref.children,\n rules = _ref.rules,\n validateTrigger = _ref.validateTrigger;\n var context = React.useContext(FieldContext);\n var keyRef = React.useRef({\n keys: [],\n id: 0\n });\n var keyManager = keyRef.current;\n var prefixName = React.useMemo(function () {\n var parentPrefixName = getNamePath(context.prefixName) || [];\n return [].concat(_toConsumableArray(parentPrefixName), _toConsumableArray(getNamePath(name)));\n }, [context.prefixName, name]);\n var fieldContext = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, context), {}, {\n prefixName: prefixName\n });\n }, [context, prefixName]);\n // List context\n var listContext = React.useMemo(function () {\n return {\n getKey: function getKey(namePath) {\n var len = prefixName.length;\n var pathName = namePath[len];\n return [keyManager.keys[pathName], namePath.slice(len + 1)];\n }\n };\n }, [prefixName]);\n // User should not pass `children` as other type.\n if (typeof children !== 'function') {\n warning(false, 'Form.List only accepts function as children.');\n return null;\n }\n var shouldUpdate = function shouldUpdate(prevValue, nextValue, _ref2) {\n var source = _ref2.source;\n if (source === 'internal') {\n return false;\n }\n return prevValue !== nextValue;\n };\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: listContext\n }, /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: fieldContext\n }, /*#__PURE__*/React.createElement(Field, {\n name: [],\n shouldUpdate: shouldUpdate,\n rules: rules,\n validateTrigger: validateTrigger,\n initialValue: initialValue,\n isList: true\n }, function (_ref3, meta) {\n var _ref3$value = _ref3.value,\n value = _ref3$value === void 0 ? [] : _ref3$value,\n onChange = _ref3.onChange;\n var getFieldValue = context.getFieldValue;\n var getNewValue = function getNewValue() {\n var values = getFieldValue(prefixName || []);\n return values || [];\n };\n /**\n * Always get latest value in case user update fields by `form` api.\n */\n var operations = {\n add: function add(defaultValue, index) {\n // Mapping keys\n var newValue = getNewValue();\n if (index >= 0 && index <= newValue.length) {\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys.slice(0, index)), [keyManager.id], _toConsumableArray(keyManager.keys.slice(index)));\n onChange([].concat(_toConsumableArray(newValue.slice(0, index)), [defaultValue], _toConsumableArray(newValue.slice(index))));\n } else {\n if (process.env.NODE_ENV !== 'production' && (index < 0 || index > newValue.length)) {\n warning(false, 'The second parameter of the add function should be a valid positive number.');\n }\n keyManager.keys = [].concat(_toConsumableArray(keyManager.keys), [keyManager.id]);\n onChange([].concat(_toConsumableArray(newValue), [defaultValue]));\n }\n keyManager.id += 1;\n },\n remove: function remove(index) {\n var newValue = getNewValue();\n var indexSet = new Set(Array.isArray(index) ? index : [index]);\n if (indexSet.size <= 0) {\n return;\n }\n keyManager.keys = keyManager.keys.filter(function (_, keysIndex) {\n return !indexSet.has(keysIndex);\n });\n // Trigger store change\n onChange(newValue.filter(function (_, valueIndex) {\n return !indexSet.has(valueIndex);\n }));\n },\n move: function move(from, to) {\n if (from === to) {\n return;\n }\n var newValue = getNewValue();\n // Do not handle out of range\n if (from < 0 || from >= newValue.length || to < 0 || to >= newValue.length) {\n return;\n }\n keyManager.keys = _move(keyManager.keys, from, to);\n // Trigger store change\n onChange(_move(newValue, from, to));\n }\n };\n var listValue = value || [];\n if (!Array.isArray(listValue)) {\n listValue = [];\n if (process.env.NODE_ENV !== 'production') {\n warning(false, \"Current value of '\".concat(prefixName.join(' > '), \"' is not an array type.\"));\n }\n }\n return children(listValue.map(function (__, index) {\n var key = keyManager.keys[index];\n if (key === undefined) {\n keyManager.keys[index] = keyManager.id;\n key = keyManager.keys[index];\n keyManager.id += 1;\n }\n return {\n name: index,\n key: key,\n isListField: true\n };\n }), operations, meta);\n })));\n};\nexport default List;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nvar SPLIT = '__@field_split__';\n/**\n * Convert name path into string to fast the fetch speed of Map.\n */\nfunction normalize(namePath) {\n return namePath.map(function (cell) {\n return \"\".concat(_typeof(cell), \":\").concat(cell);\n })\n // Magic split\n .join(SPLIT);\n}\n/**\n * NameMap like a `Map` but accepts `string[]` as key.\n */\nvar NameMap = /*#__PURE__*/function () {\n function NameMap() {\n _classCallCheck(this, NameMap);\n this.kvs = new Map();\n }\n _createClass(NameMap, [{\n key: \"set\",\n value: function set(key, value) {\n this.kvs.set(normalize(key), value);\n }\n }, {\n key: \"get\",\n value: function get(key) {\n return this.kvs.get(normalize(key));\n }\n }, {\n key: \"update\",\n value: function update(key, updater) {\n var origin = this.get(key);\n var next = updater(origin);\n if (!next) {\n this.delete(key);\n } else {\n this.set(key, next);\n }\n }\n }, {\n key: \"delete\",\n value: function _delete(key) {\n this.kvs.delete(normalize(key));\n }\n // Since we only use this in test, let simply realize this\n }, {\n key: \"map\",\n value: function map(callback) {\n return _toConsumableArray(this.kvs.entries()).map(function (_ref) {\n var _ref2 = _slicedToArray(_ref, 2),\n key = _ref2[0],\n value = _ref2[1];\n var cells = key.split(SPLIT);\n return callback({\n key: cells.map(function (cell) {\n var _cell$match = cell.match(/^([^:]*):(.*)$/),\n _cell$match2 = _slicedToArray(_cell$match, 3),\n type = _cell$match2[1],\n unit = _cell$match2[2];\n return type === 'number' ? Number(unit) : unit;\n }),\n value: value\n });\n });\n }\n }, {\n key: \"toJSON\",\n value: function toJSON() {\n var json = {};\n this.map(function (_ref3) {\n var key = _ref3.key,\n value = _ref3.value;\n json[key.join('.')] = value;\n return null;\n });\n return json;\n }\n }]);\n return NameMap;\n}();\nexport default NameMap;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _toConsumableArray from \"@babel/runtime/helpers/esm/toConsumableArray\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nvar _excluded = [\"name\", \"errors\"];\nimport warning from \"rc-util/es/warning\";\nimport * as React from 'react';\nimport { HOOK_MARK } from './FieldContext';\nimport { allPromiseFinish } from './utils/asyncUtil';\nimport cloneDeep from './utils/cloneDeep';\nimport { defaultValidateMessages } from './utils/messages';\nimport NameMap from './utils/NameMap';\nimport { cloneByNamePathList, containsNamePath, getNamePath, getValue, matchNamePath, setValue, setValues } from './utils/valueUtil';\nexport var FormStore = /*#__PURE__*/_createClass(function FormStore(forceRootUpdate) {\n var _this = this;\n _classCallCheck(this, FormStore);\n this.formHooked = false;\n this.forceRootUpdate = void 0;\n this.subscribable = true;\n this.store = {};\n this.fieldEntities = [];\n this.initialValues = {};\n this.callbacks = {};\n this.validateMessages = null;\n this.preserve = null;\n this.lastValidatePromise = null;\n this.getForm = function () {\n return {\n getFieldValue: _this.getFieldValue,\n getFieldsValue: _this.getFieldsValue,\n getFieldError: _this.getFieldError,\n getFieldWarning: _this.getFieldWarning,\n getFieldsError: _this.getFieldsError,\n isFieldsTouched: _this.isFieldsTouched,\n isFieldTouched: _this.isFieldTouched,\n isFieldValidating: _this.isFieldValidating,\n isFieldsValidating: _this.isFieldsValidating,\n resetFields: _this.resetFields,\n setFields: _this.setFields,\n setFieldValue: _this.setFieldValue,\n setFieldsValue: _this.setFieldsValue,\n validateFields: _this.validateFields,\n submit: _this.submit,\n _init: true,\n getInternalHooks: _this.getInternalHooks\n };\n };\n this.getInternalHooks = function (key) {\n if (key === HOOK_MARK) {\n _this.formHooked = true;\n return {\n dispatch: _this.dispatch,\n initEntityValue: _this.initEntityValue,\n registerField: _this.registerField,\n useSubscribe: _this.useSubscribe,\n setInitialValues: _this.setInitialValues,\n destroyForm: _this.destroyForm,\n setCallbacks: _this.setCallbacks,\n setValidateMessages: _this.setValidateMessages,\n getFields: _this.getFields,\n setPreserve: _this.setPreserve,\n getInitialValue: _this.getInitialValue,\n registerWatch: _this.registerWatch\n };\n }\n warning(false, '`getInternalHooks` is internal usage. Should not call directly.');\n return null;\n };\n this.useSubscribe = function (subscribable) {\n _this.subscribable = subscribable;\n };\n this.prevWithoutPreserves = null;\n this.setInitialValues = function (initialValues, init) {\n _this.initialValues = initialValues || {};\n if (init) {\n var _this$prevWithoutPres;\n var nextStore = setValues({}, initialValues, _this.store);\n // We will take consider prev form unmount fields.\n // When the field is not `preserve`, we need fill this with initialValues instead of store.\n // eslint-disable-next-line array-callback-return\n (_this$prevWithoutPres = _this.prevWithoutPreserves) === null || _this$prevWithoutPres === void 0 ? void 0 : _this$prevWithoutPres.map(function (_ref) {\n var namePath = _ref.key;\n nextStore = setValue(nextStore, namePath, getValue(initialValues, namePath));\n });\n _this.prevWithoutPreserves = null;\n _this.updateStore(nextStore);\n }\n };\n this.destroyForm = function () {\n var prevWithoutPreserves = new NameMap();\n _this.getFieldEntities(true).forEach(function (entity) {\n if (!_this.isMergedPreserve(entity.isPreserve())) {\n prevWithoutPreserves.set(entity.getNamePath(), true);\n }\n });\n _this.prevWithoutPreserves = prevWithoutPreserves;\n };\n this.getInitialValue = function (namePath) {\n var initValue = getValue(_this.initialValues, namePath);\n // Not cloneDeep when without `namePath`\n return namePath.length ? cloneDeep(initValue) : initValue;\n };\n this.setCallbacks = function (callbacks) {\n _this.callbacks = callbacks;\n };\n this.setValidateMessages = function (validateMessages) {\n _this.validateMessages = validateMessages;\n };\n this.setPreserve = function (preserve) {\n _this.preserve = preserve;\n };\n this.watchList = [];\n this.registerWatch = function (callback) {\n _this.watchList.push(callback);\n return function () {\n _this.watchList = _this.watchList.filter(function (fn) {\n return fn !== callback;\n });\n };\n };\n this.notifyWatch = function () {\n var namePath = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n // No need to cost perf when nothing need to watch\n if (_this.watchList.length) {\n var values = _this.getFieldsValue();\n _this.watchList.forEach(function (callback) {\n callback(values, namePath);\n });\n }\n };\n this.timeoutId = null;\n this.warningUnhooked = function () {\n if (process.env.NODE_ENV !== 'production' && !_this.timeoutId && typeof window !== 'undefined') {\n _this.timeoutId = setTimeout(function () {\n _this.timeoutId = null;\n if (!_this.formHooked) {\n warning(false, 'Instance created by `useForm` is not connected to any Form element. Forget to pass `form` prop?');\n }\n });\n }\n };\n this.updateStore = function (nextStore) {\n _this.store = nextStore;\n };\n this.getFieldEntities = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n if (!pure) {\n return _this.fieldEntities;\n }\n return _this.fieldEntities.filter(function (field) {\n return field.getNamePath().length;\n });\n };\n this.getFieldsMap = function () {\n var pure = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;\n var cache = new NameMap();\n _this.getFieldEntities(pure).forEach(function (field) {\n var namePath = field.getNamePath();\n cache.set(namePath, field);\n });\n return cache;\n };\n this.getFieldEntitiesForNamePathList = function (nameList) {\n if (!nameList) {\n return _this.getFieldEntities(true);\n }\n var cache = _this.getFieldsMap(true);\n return nameList.map(function (name) {\n var namePath = getNamePath(name);\n return cache.get(namePath) || {\n INVALIDATE_NAME_PATH: getNamePath(name)\n };\n });\n };\n this.getFieldsValue = function (nameList, filterFunc) {\n _this.warningUnhooked();\n if (nameList === true && !filterFunc) {\n return _this.store;\n }\n var fieldEntities = _this.getFieldEntitiesForNamePathList(Array.isArray(nameList) ? nameList : null);\n var filteredNameList = [];\n fieldEntities.forEach(function (entity) {\n var _entity$isListField;\n var namePath = 'INVALIDATE_NAME_PATH' in entity ? entity.INVALIDATE_NAME_PATH : entity.getNamePath();\n // Ignore when it's a list item and not specific the namePath,\n // since parent field is already take in count\n if (!nameList && ((_entity$isListField = entity.isListField) === null || _entity$isListField === void 0 ? void 0 : _entity$isListField.call(entity))) {\n return;\n }\n if (!filterFunc) {\n filteredNameList.push(namePath);\n } else {\n var meta = 'getMeta' in entity ? entity.getMeta() : null;\n if (filterFunc(meta)) {\n filteredNameList.push(namePath);\n }\n }\n });\n return cloneByNamePathList(_this.store, filteredNameList.map(getNamePath));\n };\n this.getFieldValue = function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n return getValue(_this.store, namePath);\n };\n this.getFieldsError = function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntitiesForNamePathList(nameList);\n return fieldEntities.map(function (entity, index) {\n if (entity && !('INVALIDATE_NAME_PATH' in entity)) {\n return {\n name: entity.getNamePath(),\n errors: entity.getErrors(),\n warnings: entity.getWarnings()\n };\n }\n return {\n name: getNamePath(nameList[index]),\n errors: [],\n warnings: []\n };\n });\n };\n this.getFieldError = function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.errors;\n };\n this.getFieldWarning = function (name) {\n _this.warningUnhooked();\n var namePath = getNamePath(name);\n var fieldError = _this.getFieldsError([namePath])[0];\n return fieldError.warnings;\n };\n this.isFieldsTouched = function () {\n _this.warningUnhooked();\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var arg0 = args[0],\n arg1 = args[1];\n var namePathList;\n var isAllFieldsTouched = false;\n if (args.length === 0) {\n namePathList = null;\n } else if (args.length === 1) {\n if (Array.isArray(arg0)) {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = false;\n } else {\n namePathList = null;\n isAllFieldsTouched = arg0;\n }\n } else {\n namePathList = arg0.map(getNamePath);\n isAllFieldsTouched = arg1;\n }\n var fieldEntities = _this.getFieldEntities(true);\n var isFieldTouched = function isFieldTouched(field) {\n return field.isFieldTouched();\n };\n // ===== Will get fully compare when not config namePathList =====\n if (!namePathList) {\n return isAllFieldsTouched ? fieldEntities.every(isFieldTouched) : fieldEntities.some(isFieldTouched);\n }\n // Generate a nest tree for validate\n var map = new NameMap();\n namePathList.forEach(function (shortNamePath) {\n map.set(shortNamePath, []);\n });\n fieldEntities.forEach(function (field) {\n var fieldNamePath = field.getNamePath();\n // Find matched entity and put into list\n namePathList.forEach(function (shortNamePath) {\n if (shortNamePath.every(function (nameUnit, i) {\n return fieldNamePath[i] === nameUnit;\n })) {\n map.update(shortNamePath, function (list) {\n return [].concat(_toConsumableArray(list), [field]);\n });\n }\n });\n });\n // Check if NameMap value is touched\n var isNamePathListTouched = function isNamePathListTouched(entities) {\n return entities.some(isFieldTouched);\n };\n var namePathListEntities = map.map(function (_ref2) {\n var value = _ref2.value;\n return value;\n });\n return isAllFieldsTouched ? namePathListEntities.every(isNamePathListTouched) : namePathListEntities.some(isNamePathListTouched);\n };\n this.isFieldTouched = function (name) {\n _this.warningUnhooked();\n return _this.isFieldsTouched([name]);\n };\n this.isFieldsValidating = function (nameList) {\n _this.warningUnhooked();\n var fieldEntities = _this.getFieldEntities();\n if (!nameList) {\n return fieldEntities.some(function (testField) {\n return testField.isFieldValidating();\n });\n }\n var namePathList = nameList.map(getNamePath);\n return fieldEntities.some(function (testField) {\n var fieldNamePath = testField.getNamePath();\n return containsNamePath(namePathList, fieldNamePath) && testField.isFieldValidating();\n });\n };\n this.isFieldValidating = function (name) {\n _this.warningUnhooked();\n return _this.isFieldsValidating([name]);\n };\n this.resetWithFieldInitialValue = function () {\n var info = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Create cache\n var cache = new NameMap();\n var fieldEntities = _this.getFieldEntities(true);\n fieldEntities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n var namePath = field.getNamePath();\n // Record only if has `initialValue`\n if (initialValue !== undefined) {\n var records = cache.get(namePath) || new Set();\n records.add({\n entity: field,\n value: initialValue\n });\n cache.set(namePath, records);\n }\n });\n // Reset\n var resetWithFields = function resetWithFields(entities) {\n entities.forEach(function (field) {\n var initialValue = field.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = field.getNamePath();\n var formInitialValue = _this.getInitialValue(namePath);\n if (formInitialValue !== undefined) {\n // Warning if conflict with form initialValues and do not modify value\n warning(false, \"Form already set 'initialValues' with path '\".concat(namePath.join('.'), \"'. Field can not overwrite it.\"));\n } else {\n var records = cache.get(namePath);\n if (records && records.size > 1) {\n // Warning if multiple field set `initialValue`and do not modify value\n warning(false, \"Multiple Field with path '\".concat(namePath.join('.'), \"' set 'initialValue'. Can not decide which one to pick.\"));\n } else if (records) {\n var originValue = _this.getFieldValue(namePath);\n // Set `initialValue`\n if (!info.skipExist || originValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, _toConsumableArray(records)[0].value));\n }\n }\n }\n }\n });\n };\n var requiredFieldEntities;\n if (info.entities) {\n requiredFieldEntities = info.entities;\n } else if (info.namePathList) {\n requiredFieldEntities = [];\n info.namePathList.forEach(function (namePath) {\n var records = cache.get(namePath);\n if (records) {\n var _requiredFieldEntitie;\n (_requiredFieldEntitie = requiredFieldEntities).push.apply(_requiredFieldEntitie, _toConsumableArray(_toConsumableArray(records).map(function (r) {\n return r.entity;\n })));\n }\n });\n } else {\n requiredFieldEntities = fieldEntities;\n }\n resetWithFields(requiredFieldEntities);\n };\n this.resetFields = function (nameList) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (!nameList) {\n _this.updateStore(setValues({}, _this.initialValues));\n _this.resetWithFieldInitialValue();\n _this.notifyObservers(prevStore, null, {\n type: 'reset'\n });\n _this.notifyWatch();\n return;\n }\n // Reset by `nameList`\n var namePathList = nameList.map(getNamePath);\n namePathList.forEach(function (namePath) {\n var initialValue = _this.getInitialValue(namePath);\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n });\n _this.resetWithFieldInitialValue({\n namePathList: namePathList\n });\n _this.notifyObservers(prevStore, namePathList, {\n type: 'reset'\n });\n _this.notifyWatch(namePathList);\n };\n this.setFields = function (fields) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n var namePathList = [];\n fields.forEach(function (fieldData) {\n var name = fieldData.name,\n errors = fieldData.errors,\n data = _objectWithoutProperties(fieldData, _excluded);\n var namePath = getNamePath(name);\n namePathList.push(namePath);\n // Value\n if ('value' in data) {\n _this.updateStore(setValue(_this.store, namePath, data.value));\n }\n _this.notifyObservers(prevStore, [namePath], {\n type: 'setField',\n data: fieldData\n });\n });\n _this.notifyWatch(namePathList);\n };\n this.getFields = function () {\n var entities = _this.getFieldEntities(true);\n var fields = entities.map(function (field) {\n var namePath = field.getNamePath();\n var meta = field.getMeta();\n var fieldData = _objectSpread(_objectSpread({}, meta), {}, {\n name: namePath,\n value: _this.getFieldValue(namePath)\n });\n Object.defineProperty(fieldData, 'originRCField', {\n value: true\n });\n return fieldData;\n });\n return fields;\n };\n this.initEntityValue = function (entity) {\n var initialValue = entity.props.initialValue;\n if (initialValue !== undefined) {\n var namePath = entity.getNamePath();\n var prevValue = getValue(_this.store, namePath);\n if (prevValue === undefined) {\n _this.updateStore(setValue(_this.store, namePath, initialValue));\n }\n }\n };\n this.isMergedPreserve = function (fieldPreserve) {\n var mergedPreserve = fieldPreserve !== undefined ? fieldPreserve : _this.preserve;\n return mergedPreserve !== null && mergedPreserve !== void 0 ? mergedPreserve : true;\n };\n this.registerField = function (entity) {\n _this.fieldEntities.push(entity);\n var namePath = entity.getNamePath();\n _this.notifyWatch([namePath]);\n // Set initial values\n if (entity.props.initialValue !== undefined) {\n var prevStore = _this.store;\n _this.resetWithFieldInitialValue({\n entities: [entity],\n skipExist: true\n });\n _this.notifyObservers(prevStore, [entity.getNamePath()], {\n type: 'valueUpdate',\n source: 'internal'\n });\n }\n // un-register field callback\n return function (isListField, preserve) {\n var subNamePath = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : [];\n _this.fieldEntities = _this.fieldEntities.filter(function (item) {\n return item !== entity;\n });\n // Clean up store value if not preserve\n if (!_this.isMergedPreserve(preserve) && (!isListField || subNamePath.length > 1)) {\n var defaultValue = isListField ? undefined : _this.getInitialValue(namePath);\n if (namePath.length && _this.getFieldValue(namePath) !== defaultValue && _this.fieldEntities.every(function (field) {\n return (\n // Only reset when no namePath exist\n !matchNamePath(field.getNamePath(), namePath)\n );\n })) {\n var _prevStore = _this.store;\n _this.updateStore(setValue(_prevStore, namePath, defaultValue, true));\n // Notify that field is unmount\n _this.notifyObservers(_prevStore, [namePath], {\n type: 'remove'\n });\n // Dependencies update\n _this.triggerDependenciesUpdate(_prevStore, namePath);\n }\n }\n _this.notifyWatch([namePath]);\n };\n };\n this.dispatch = function (action) {\n switch (action.type) {\n case 'updateValue':\n {\n var namePath = action.namePath,\n value = action.value;\n _this.updateValue(namePath, value);\n break;\n }\n case 'validateField':\n {\n var _namePath = action.namePath,\n triggerName = action.triggerName;\n _this.validateFields([_namePath], {\n triggerName: triggerName\n });\n break;\n }\n default:\n // Currently we don't have other action. Do nothing.\n }\n };\n this.notifyObservers = function (prevStore, namePathList, info) {\n if (_this.subscribable) {\n var mergedInfo = _objectSpread(_objectSpread({}, info), {}, {\n store: _this.getFieldsValue(true)\n });\n _this.getFieldEntities().forEach(function (_ref3) {\n var onStoreChange = _ref3.onStoreChange;\n onStoreChange(prevStore, namePathList, mergedInfo);\n });\n } else {\n _this.forceRootUpdate();\n }\n };\n this.triggerDependenciesUpdate = function (prevStore, namePath) {\n var childrenFields = _this.getDependencyChildrenFields(namePath);\n if (childrenFields.length) {\n _this.validateFields(childrenFields);\n }\n _this.notifyObservers(prevStore, childrenFields, {\n type: 'dependenciesUpdate',\n relatedFields: [namePath].concat(_toConsumableArray(childrenFields))\n });\n return childrenFields;\n };\n this.updateValue = function (name, value) {\n var namePath = getNamePath(name);\n var prevStore = _this.store;\n _this.updateStore(setValue(_this.store, namePath, value));\n _this.notifyObservers(prevStore, [namePath], {\n type: 'valueUpdate',\n source: 'internal'\n });\n _this.notifyWatch([namePath]);\n // Dependencies update\n var childrenFields = _this.triggerDependenciesUpdate(prevStore, namePath);\n // trigger callback function\n var onValuesChange = _this.callbacks.onValuesChange;\n if (onValuesChange) {\n var changedValues = cloneByNamePathList(_this.store, [namePath]);\n onValuesChange(changedValues, _this.getFieldsValue());\n }\n _this.triggerOnFieldsChange([namePath].concat(_toConsumableArray(childrenFields)));\n };\n this.setFieldsValue = function (store) {\n _this.warningUnhooked();\n var prevStore = _this.store;\n if (store) {\n var nextStore = setValues(_this.store, store);\n _this.updateStore(nextStore);\n }\n _this.notifyObservers(prevStore, null, {\n type: 'valueUpdate',\n source: 'external'\n });\n _this.notifyWatch();\n };\n this.setFieldValue = function (name, value) {\n _this.setFields([{\n name: name,\n value: value\n }]);\n };\n this.getDependencyChildrenFields = function (rootNamePath) {\n var children = new Set();\n var childrenFields = [];\n var dependencies2fields = new NameMap();\n /**\n * Generate maps\n * Can use cache to save perf if user report performance issue with this\n */\n _this.getFieldEntities().forEach(function (field) {\n var dependencies = field.props.dependencies;\n (dependencies || []).forEach(function (dependency) {\n var dependencyNamePath = getNamePath(dependency);\n dependencies2fields.update(dependencyNamePath, function () {\n var fields = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : new Set();\n fields.add(field);\n return fields;\n });\n });\n });\n var fillChildren = function fillChildren(namePath) {\n var fields = dependencies2fields.get(namePath) || new Set();\n fields.forEach(function (field) {\n if (!children.has(field)) {\n children.add(field);\n var fieldNamePath = field.getNamePath();\n if (field.isFieldDirty() && fieldNamePath.length) {\n childrenFields.push(fieldNamePath);\n fillChildren(fieldNamePath);\n }\n }\n });\n };\n fillChildren(rootNamePath);\n return childrenFields;\n };\n this.triggerOnFieldsChange = function (namePathList, filedErrors) {\n var onFieldsChange = _this.callbacks.onFieldsChange;\n if (onFieldsChange) {\n var fields = _this.getFields();\n /**\n * Fill errors since `fields` may be replaced by controlled fields\n */\n if (filedErrors) {\n var cache = new NameMap();\n filedErrors.forEach(function (_ref4) {\n var name = _ref4.name,\n errors = _ref4.errors;\n cache.set(name, errors);\n });\n fields.forEach(function (field) {\n // eslint-disable-next-line no-param-reassign\n field.errors = cache.get(field.name) || field.errors;\n });\n }\n var changedFields = fields.filter(function (_ref5) {\n var fieldName = _ref5.name;\n return containsNamePath(namePathList, fieldName);\n });\n onFieldsChange(changedFields, fields);\n }\n };\n this.validateFields = function (nameList, options) {\n _this.warningUnhooked();\n var provideNameList = !!nameList;\n var namePathList = provideNameList ? nameList.map(getNamePath) : [];\n // Collect result in promise list\n var promiseList = [];\n _this.getFieldEntities(true).forEach(function (field) {\n // Add field if not provide `nameList`\n if (!provideNameList) {\n namePathList.push(field.getNamePath());\n }\n /**\n * Recursive validate if configured.\n * TODO: perf improvement @zombieJ\n */\n if ((options === null || options === void 0 ? void 0 : options.recursive) && provideNameList) {\n var namePath = field.getNamePath();\n if (\n // nameList[i] === undefined 说明是以 nameList 开头的\n // ['name'] -> ['name','list']\n namePath.every(function (nameUnit, i) {\n return nameList[i] === nameUnit || nameList[i] === undefined;\n })) {\n namePathList.push(namePath);\n }\n }\n // Skip if without rule\n if (!field.props.rules || !field.props.rules.length) {\n return;\n }\n var fieldNamePath = field.getNamePath();\n // Add field validate rule in to promise list\n if (!provideNameList || containsNamePath(namePathList, fieldNamePath)) {\n var promise = field.validateRules(_objectSpread({\n validateMessages: _objectSpread(_objectSpread({}, defaultValidateMessages), _this.validateMessages)\n }, options));\n // Wrap promise with field\n promiseList.push(promise.then(function () {\n return {\n name: fieldNamePath,\n errors: [],\n warnings: []\n };\n }).catch(function (ruleErrors) {\n var _ruleErrors$forEach;\n var mergedErrors = [];\n var mergedWarnings = [];\n (_ruleErrors$forEach = ruleErrors.forEach) === null || _ruleErrors$forEach === void 0 ? void 0 : _ruleErrors$forEach.call(ruleErrors, function (_ref6) {\n var warningOnly = _ref6.rule.warningOnly,\n errors = _ref6.errors;\n if (warningOnly) {\n mergedWarnings.push.apply(mergedWarnings, _toConsumableArray(errors));\n } else {\n mergedErrors.push.apply(mergedErrors, _toConsumableArray(errors));\n }\n });\n if (mergedErrors.length) {\n return Promise.reject({\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n });\n }\n return {\n name: fieldNamePath,\n errors: mergedErrors,\n warnings: mergedWarnings\n };\n }));\n }\n });\n var summaryPromise = allPromiseFinish(promiseList);\n _this.lastValidatePromise = summaryPromise;\n // Notify fields with rule that validate has finished and need update\n summaryPromise.catch(function (results) {\n return results;\n }).then(function (results) {\n var resultNamePathList = results.map(function (_ref7) {\n var name = _ref7.name;\n return name;\n });\n _this.notifyObservers(_this.store, resultNamePathList, {\n type: 'validateFinish'\n });\n _this.triggerOnFieldsChange(resultNamePathList, results);\n });\n var returnPromise = summaryPromise.then(function () {\n if (_this.lastValidatePromise === summaryPromise) {\n return Promise.resolve(_this.getFieldsValue(namePathList));\n }\n return Promise.reject([]);\n }).catch(function (results) {\n var errorList = results.filter(function (result) {\n return result && result.errors.length;\n });\n return Promise.reject({\n values: _this.getFieldsValue(namePathList),\n errorFields: errorList,\n outOfDate: _this.lastValidatePromise !== summaryPromise\n });\n });\n // Do not throw in console\n returnPromise.catch(function (e) {\n return e;\n });\n return returnPromise;\n };\n this.submit = function () {\n _this.warningUnhooked();\n _this.validateFields().then(function (values) {\n var onFinish = _this.callbacks.onFinish;\n if (onFinish) {\n try {\n onFinish(values);\n } catch (err) {\n // Should print error if user `onFinish` callback failed\n console.error(err);\n }\n }\n }).catch(function (e) {\n var onFinishFailed = _this.callbacks.onFinishFailed;\n if (onFinishFailed) {\n onFinishFailed(e);\n }\n });\n };\n this.forceRootUpdate = forceRootUpdate;\n});\nfunction useForm(form) {\n var formRef = React.useRef();\n var _React$useState = React.useState({}),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n forceUpdate = _React$useState2[1];\n if (!formRef.current) {\n if (form) {\n formRef.current = form;\n } else {\n // Create a new FormStore if not provided\n var forceReRender = function forceReRender() {\n forceUpdate({});\n };\n var formStore = new FormStore(forceReRender);\n formRef.current = formStore.getForm();\n }\n }\n return [formRef.current];\n}\nexport default useForm;","export function allPromiseFinish(promiseList) {\n var hasError = false;\n var count = promiseList.length;\n var results = [];\n if (!promiseList.length) {\n return Promise.resolve([]);\n }\n return new Promise(function (resolve, reject) {\n promiseList.forEach(function (promise, index) {\n promise.catch(function (e) {\n hasError = true;\n return e;\n }).then(function (result) {\n count -= 1;\n results[index] = result;\n if (count > 0) {\n return;\n }\n if (hasError) {\n reject(results);\n }\n resolve(results);\n });\n });\n });\n}","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nvar FormContext = /*#__PURE__*/React.createContext({\n triggerFormChange: function triggerFormChange() {},\n triggerFormFinish: function triggerFormFinish() {},\n registerForm: function registerForm() {},\n unregisterForm: function unregisterForm() {}\n});\nvar FormProvider = function FormProvider(_ref) {\n var validateMessages = _ref.validateMessages,\n onFormChange = _ref.onFormChange,\n onFormFinish = _ref.onFormFinish,\n children = _ref.children;\n var formContext = React.useContext(FormContext);\n var formsRef = React.useRef({});\n return /*#__PURE__*/React.createElement(FormContext.Provider, {\n value: _objectSpread(_objectSpread({}, formContext), {}, {\n validateMessages: _objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages),\n // =========================================================\n // = Global Form Control =\n // =========================================================\n triggerFormChange: function triggerFormChange(name, changedFields) {\n if (onFormChange) {\n onFormChange(name, {\n changedFields: changedFields,\n forms: formsRef.current\n });\n }\n formContext.triggerFormChange(name, changedFields);\n },\n triggerFormFinish: function triggerFormFinish(name, values) {\n if (onFormFinish) {\n onFormFinish(name, {\n values: values,\n forms: formsRef.current\n });\n }\n formContext.triggerFormFinish(name, values);\n },\n registerForm: function registerForm(name, form) {\n if (name) {\n formsRef.current = _objectSpread(_objectSpread({}, formsRef.current), {}, _defineProperty({}, name, form));\n }\n formContext.registerForm(name, form);\n },\n unregisterForm: function unregisterForm(name) {\n var newForms = _objectSpread({}, formsRef.current);\n delete newForms[name];\n formsRef.current = newForms;\n formContext.unregisterForm(name);\n }\n })\n }, children);\n};\nexport { FormProvider };\nexport default FormContext;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"name\", \"initialValues\", \"fields\", \"form\", \"preserve\", \"children\", \"component\", \"validateMessages\", \"validateTrigger\", \"onValuesChange\", \"onFieldsChange\", \"onFinish\", \"onFinishFailed\"];\nimport * as React from 'react';\nimport useForm from './useForm';\nimport FieldContext, { HOOK_MARK } from './FieldContext';\nimport FormContext from './FormContext';\nimport { isSimilar } from './utils/valueUtil';\nvar Form = function Form(_ref, ref) {\n var name = _ref.name,\n initialValues = _ref.initialValues,\n fields = _ref.fields,\n form = _ref.form,\n preserve = _ref.preserve,\n children = _ref.children,\n _ref$component = _ref.component,\n Component = _ref$component === void 0 ? 'form' : _ref$component,\n validateMessages = _ref.validateMessages,\n _ref$validateTrigger = _ref.validateTrigger,\n validateTrigger = _ref$validateTrigger === void 0 ? 'onChange' : _ref$validateTrigger,\n onValuesChange = _ref.onValuesChange,\n _onFieldsChange = _ref.onFieldsChange,\n _onFinish = _ref.onFinish,\n onFinishFailed = _ref.onFinishFailed,\n restProps = _objectWithoutProperties(_ref, _excluded);\n var formContext = React.useContext(FormContext);\n // We customize handle event since Context will makes all the consumer re-render:\n // https://reactjs.org/docs/context.html#contextprovider\n var _useForm = useForm(form),\n _useForm2 = _slicedToArray(_useForm, 1),\n formInstance = _useForm2[0];\n var _formInstance$getInte = formInstance.getInternalHooks(HOOK_MARK),\n useSubscribe = _formInstance$getInte.useSubscribe,\n setInitialValues = _formInstance$getInte.setInitialValues,\n setCallbacks = _formInstance$getInte.setCallbacks,\n setValidateMessages = _formInstance$getInte.setValidateMessages,\n setPreserve = _formInstance$getInte.setPreserve,\n destroyForm = _formInstance$getInte.destroyForm;\n // Pass ref with form instance\n React.useImperativeHandle(ref, function () {\n return formInstance;\n });\n // Register form into Context\n React.useEffect(function () {\n formContext.registerForm(name, formInstance);\n return function () {\n formContext.unregisterForm(name);\n };\n }, [formContext, formInstance, name]);\n // Pass props to store\n setValidateMessages(_objectSpread(_objectSpread({}, formContext.validateMessages), validateMessages));\n setCallbacks({\n onValuesChange: onValuesChange,\n onFieldsChange: function onFieldsChange(changedFields) {\n formContext.triggerFormChange(name, changedFields);\n if (_onFieldsChange) {\n for (var _len = arguments.length, rest = new Array(_len > 1 ? _len - 1 : 0), _key = 1; _key < _len; _key++) {\n rest[_key - 1] = arguments[_key];\n }\n _onFieldsChange.apply(void 0, [changedFields].concat(rest));\n }\n },\n onFinish: function onFinish(values) {\n formContext.triggerFormFinish(name, values);\n if (_onFinish) {\n _onFinish(values);\n }\n },\n onFinishFailed: onFinishFailed\n });\n setPreserve(preserve);\n // Set initial value, init store value when first mount\n var mountRef = React.useRef(null);\n setInitialValues(initialValues, !mountRef.current);\n if (!mountRef.current) {\n mountRef.current = true;\n }\n React.useEffect(function () {\n return destroyForm;\n },\n // eslint-disable-next-line react-hooks/exhaustive-deps\n []);\n // Prepare children by `children` type\n var childrenNode;\n var childrenRenderProps = typeof children === 'function';\n if (childrenRenderProps) {\n var values = formInstance.getFieldsValue(true);\n childrenNode = children(values, formInstance);\n } else {\n childrenNode = children;\n }\n // Not use subscribe when using render props\n useSubscribe(!childrenRenderProps);\n // Listen if fields provided. We use ref to save prev data here to avoid additional render\n var prevFieldsRef = React.useRef();\n React.useEffect(function () {\n if (!isSimilar(prevFieldsRef.current || [], fields || [])) {\n formInstance.setFields(fields || []);\n }\n prevFieldsRef.current = fields;\n }, [fields, formInstance]);\n var formContextValue = React.useMemo(function () {\n return _objectSpread(_objectSpread({}, formInstance), {}, {\n validateTrigger: validateTrigger\n });\n }, [formInstance, validateTrigger]);\n var wrapperNode = /*#__PURE__*/React.createElement(FieldContext.Provider, {\n value: formContextValue\n }, childrenNode);\n if (Component === false) {\n return wrapperNode;\n }\n return /*#__PURE__*/React.createElement(Component, _extends({}, restProps, {\n onSubmit: function onSubmit(event) {\n event.preventDefault();\n event.stopPropagation();\n formInstance.submit();\n },\n onReset: function onReset(event) {\n var _restProps$onReset;\n event.preventDefault();\n formInstance.resetFields();\n (_restProps$onReset = restProps.onReset) === null || _restProps$onReset === void 0 ? void 0 : _restProps$onReset.call(restProps, event);\n }\n }), wrapperNode);\n};\nexport default Form;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { FieldContext } from '.';\nimport warning from \"rc-util/es/warning\";\nimport { HOOK_MARK } from './FieldContext';\nimport { useState, useContext, useEffect, useRef, useMemo } from 'react';\nimport { getNamePath, getValue } from './utils/valueUtil';\nexport function stringify(value) {\n try {\n return JSON.stringify(value);\n } catch (err) {\n return Math.random();\n }\n}\nfunction useWatch() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var _args$ = args[0],\n dependencies = _args$ === void 0 ? [] : _args$,\n form = args[1];\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n value = _useState2[0],\n setValue = _useState2[1];\n var valueStr = useMemo(function () {\n return stringify(value);\n }, [value]);\n var valueStrRef = useRef(valueStr);\n valueStrRef.current = valueStr;\n var fieldContext = useContext(FieldContext);\n var formInstance = form || fieldContext;\n var isValidForm = formInstance && formInstance._init;\n // Warning if not exist form instance\n if (process.env.NODE_ENV !== 'production') {\n warning(args.length === 2 ? form ? isValidForm : true : isValidForm, 'useWatch requires a form instance since it can not auto detect from context.');\n }\n var namePath = getNamePath(dependencies);\n var namePathRef = useRef(namePath);\n namePathRef.current = namePath;\n useEffect(function () {\n // Skip if not exist form instance\n if (!isValidForm) {\n return;\n }\n var getFieldsValue = formInstance.getFieldsValue,\n getInternalHooks = formInstance.getInternalHooks;\n var _getInternalHooks = getInternalHooks(HOOK_MARK),\n registerWatch = _getInternalHooks.registerWatch;\n var cancelRegister = registerWatch(function (store) {\n var newValue = getValue(store, namePathRef.current);\n var nextValueStr = stringify(newValue);\n // Compare stringify in case it's nest object\n if (valueStrRef.current !== nextValueStr) {\n valueStrRef.current = nextValueStr;\n setValue(newValue);\n }\n });\n // TODO: We can improve this perf in future\n var initialValue = getValue(getFieldsValue(), namePathRef.current);\n setValue(initialValue);\n return cancelRegister;\n },\n // We do not need re-register since namePath content is the same\n // eslint-disable-next-line react-hooks/exhaustive-deps\n [isValidForm]);\n return value;\n}\nexport default useWatch;","import * as React from 'react';\nimport Field from './Field';\nimport List from './List';\nimport useForm from './useForm';\nimport FieldForm from './Form';\nimport { FormProvider } from './FormContext';\nimport FieldContext from './FieldContext';\nimport ListContext from './ListContext';\nimport useWatch from './useWatch';\nvar InternalForm = /*#__PURE__*/React.forwardRef(FieldForm);\nvar RefForm = InternalForm;\nRefForm.FormProvider = FormProvider;\nRefForm.Field = Field;\nRefForm.List = List;\nRefForm.useForm = useForm;\nRefForm.useWatch = useWatch;\nexport { Field, List, useForm, FormProvider, FieldContext, ListContext, useWatch };\nexport default RefForm;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport canUseDOM from \"rc-util/es/Dom/canUseDom\"; // ================= Transition =================\n// Event wrapper. Copy from react source code\n\nfunction makePrefixMap(styleProp, eventName) {\n var prefixes = {};\n prefixes[styleProp.toLowerCase()] = eventName.toLowerCase();\n prefixes[\"Webkit\".concat(styleProp)] = \"webkit\".concat(eventName);\n prefixes[\"Moz\".concat(styleProp)] = \"moz\".concat(eventName);\n prefixes[\"ms\".concat(styleProp)] = \"MS\".concat(eventName);\n prefixes[\"O\".concat(styleProp)] = \"o\".concat(eventName.toLowerCase());\n return prefixes;\n}\n\nexport function getVendorPrefixes(domSupport, win) {\n var prefixes = {\n animationend: makePrefixMap('Animation', 'AnimationEnd'),\n transitionend: makePrefixMap('Transition', 'TransitionEnd')\n };\n\n if (domSupport) {\n if (!('AnimationEvent' in win)) {\n delete prefixes.animationend.animation;\n }\n\n if (!('TransitionEvent' in win)) {\n delete prefixes.transitionend.transition;\n }\n }\n\n return prefixes;\n}\nvar vendorPrefixes = getVendorPrefixes(canUseDOM(), typeof window !== 'undefined' ? window : {});\nvar style = {};\n\nif (canUseDOM()) {\n var _document$createEleme = document.createElement('div');\n\n style = _document$createEleme.style;\n}\n\nvar prefixedEventNames = {};\nexport function getVendorPrefixedEventName(eventName) {\n if (prefixedEventNames[eventName]) {\n return prefixedEventNames[eventName];\n }\n\n var prefixMap = vendorPrefixes[eventName];\n\n if (prefixMap) {\n var stylePropList = Object.keys(prefixMap);\n var len = stylePropList.length;\n\n for (var i = 0; i < len; i += 1) {\n var styleProp = stylePropList[i];\n\n if (Object.prototype.hasOwnProperty.call(prefixMap, styleProp) && styleProp in style) {\n prefixedEventNames[eventName] = prefixMap[styleProp];\n return prefixedEventNames[eventName];\n }\n }\n }\n\n return '';\n}\nvar internalAnimationEndName = getVendorPrefixedEventName('animationend');\nvar internalTransitionEndName = getVendorPrefixedEventName('transitionend');\nexport var supportTransition = !!(internalAnimationEndName && internalTransitionEndName);\nexport var animationEndName = internalAnimationEndName || 'animationend';\nexport var transitionEndName = internalTransitionEndName || 'transitionend';\nexport function getTransitionName(transitionName, transitionType) {\n if (!transitionName) return null;\n\n if (_typeof(transitionName) === 'object') {\n var type = transitionType.replace(/-\\w/g, function (match) {\n return match[1].toUpperCase();\n });\n return transitionName[type];\n }\n\n return \"\".concat(transitionName, \"-\").concat(transitionType);\n}","export var STATUS_NONE = 'none';\nexport var STATUS_APPEAR = 'appear';\nexport var STATUS_ENTER = 'enter';\nexport var STATUS_LEAVE = 'leave';\nexport var STEP_NONE = 'none';\nexport var STEP_PREPARE = 'prepare';\nexport var STEP_START = 'start';\nexport var STEP_ACTIVE = 'active';\nexport var STEP_ACTIVATED = 'end';","import { useEffect, useLayoutEffect } from 'react';\nimport canUseDom from \"rc-util/es/Dom/canUseDom\"; // It's safe to use `useLayoutEffect` but the warning is annoying\n\nvar useIsomorphicLayoutEffect = canUseDom() ? useLayoutEffect : useEffect;\nexport default useIsomorphicLayoutEffect;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STEP_PREPARE, STEP_ACTIVE, STEP_START, STEP_ACTIVATED, STEP_NONE } from '../interface';\nimport useNextFrame from './useNextFrame';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nvar STEP_QUEUE = [STEP_PREPARE, STEP_START, STEP_ACTIVE, STEP_ACTIVATED];\n/** Skip current step */\n\nexport var SkipStep = false;\n/** Current step should be update in */\n\nexport var DoStep = true;\nexport function isActive(step) {\n return step === STEP_ACTIVE || step === STEP_ACTIVATED;\n}\nexport default (function (status, callback) {\n var _useState = useState(STEP_NONE),\n _useState2 = _slicedToArray(_useState, 2),\n step = _useState2[0],\n setStep = _useState2[1];\n\n var _useNextFrame = useNextFrame(),\n _useNextFrame2 = _slicedToArray(_useNextFrame, 2),\n nextFrame = _useNextFrame2[0],\n cancelNextFrame = _useNextFrame2[1];\n\n function startQueue() {\n setStep(STEP_PREPARE, true);\n }\n\n useIsomorphicLayoutEffect(function () {\n if (step !== STEP_NONE && step !== STEP_ACTIVATED) {\n var index = STEP_QUEUE.indexOf(step);\n var nextStep = STEP_QUEUE[index + 1];\n var result = callback(step);\n\n if (result === SkipStep) {\n // Skip when no needed\n setStep(nextStep, true);\n } else {\n // Do as frame for step update\n nextFrame(function (info) {\n function doNext() {\n // Skip since current queue is ood\n if (info.isCanceled()) return;\n setStep(nextStep, true);\n }\n\n if (result === true) {\n doNext();\n } else {\n // Only promise should be async\n Promise.resolve(result).then(doNext);\n }\n });\n }\n }\n }, [status, step]);\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [startQueue, step];\n});","import * as React from 'react';\nimport raf from \"rc-util/es/raf\";\nexport default (function () {\n var nextFrameRef = React.useRef(null);\n\n function cancelNextFrame() {\n raf.cancel(nextFrameRef.current);\n }\n\n function nextFrame(callback) {\n var delay = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 2;\n cancelNextFrame();\n var nextFrameId = raf(function () {\n if (delay <= 1) {\n callback({\n isCanceled: function isCanceled() {\n return nextFrameId !== nextFrameRef.current;\n }\n });\n } else {\n nextFrame(callback, delay - 1);\n }\n });\n nextFrameRef.current = nextFrameId;\n }\n\n React.useEffect(function () {\n return function () {\n cancelNextFrame();\n };\n }, []);\n return [nextFrame, cancelNextFrame];\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useEffect } from 'react';\nimport useState from \"rc-util/es/hooks/useState\";\nimport { STATUS_APPEAR, STATUS_NONE, STATUS_LEAVE, STATUS_ENTER, STEP_PREPARE, STEP_START, STEP_ACTIVE } from '../interface';\nimport useStepQueue, { DoStep, SkipStep, isActive } from './useStepQueue';\nimport useDomMotionEvents from './useDomMotionEvents';\nimport useIsomorphicLayoutEffect from './useIsomorphicLayoutEffect';\nexport default function useStatus(supportMotion, visible, getElement, _ref) {\n var _ref$motionEnter = _ref.motionEnter,\n motionEnter = _ref$motionEnter === void 0 ? true : _ref$motionEnter,\n _ref$motionAppear = _ref.motionAppear,\n motionAppear = _ref$motionAppear === void 0 ? true : _ref$motionAppear,\n _ref$motionLeave = _ref.motionLeave,\n motionLeave = _ref$motionLeave === void 0 ? true : _ref$motionLeave,\n motionDeadline = _ref.motionDeadline,\n motionLeaveImmediately = _ref.motionLeaveImmediately,\n onAppearPrepare = _ref.onAppearPrepare,\n onEnterPrepare = _ref.onEnterPrepare,\n onLeavePrepare = _ref.onLeavePrepare,\n onAppearStart = _ref.onAppearStart,\n onEnterStart = _ref.onEnterStart,\n onLeaveStart = _ref.onLeaveStart,\n onAppearActive = _ref.onAppearActive,\n onEnterActive = _ref.onEnterActive,\n onLeaveActive = _ref.onLeaveActive,\n onAppearEnd = _ref.onAppearEnd,\n onEnterEnd = _ref.onEnterEnd,\n onLeaveEnd = _ref.onLeaveEnd,\n onVisibleChanged = _ref.onVisibleChanged;\n\n // Used for outer render usage to avoid `visible: false & status: none` to render nothing\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n asyncVisible = _useState2[0],\n setAsyncVisible = _useState2[1];\n\n var _useState3 = useState(STATUS_NONE),\n _useState4 = _slicedToArray(_useState3, 2),\n status = _useState4[0],\n setStatus = _useState4[1];\n\n var _useState5 = useState(null),\n _useState6 = _slicedToArray(_useState5, 2),\n style = _useState6[0],\n setStyle = _useState6[1];\n\n var mountedRef = useRef(false);\n var deadlineRef = useRef(null); // =========================== Dom Node ===========================\n\n function getDomElement() {\n return getElement();\n } // ========================== Motion End ==========================\n\n\n var activeRef = useRef(false);\n\n function onInternalMotionEnd(event) {\n var element = getDomElement();\n\n if (event && !event.deadline && event.target !== element) {\n // event exists\n // not initiated by deadline\n // transitionEnd not fired by inner elements\n return;\n }\n\n var currentActive = activeRef.current;\n var canEnd;\n\n if (status === STATUS_APPEAR && currentActive) {\n canEnd = onAppearEnd === null || onAppearEnd === void 0 ? void 0 : onAppearEnd(element, event);\n } else if (status === STATUS_ENTER && currentActive) {\n canEnd = onEnterEnd === null || onEnterEnd === void 0 ? void 0 : onEnterEnd(element, event);\n } else if (status === STATUS_LEAVE && currentActive) {\n canEnd = onLeaveEnd === null || onLeaveEnd === void 0 ? void 0 : onLeaveEnd(element, event);\n } // Only update status when `canEnd` and not destroyed\n\n\n if (status !== STATUS_NONE && currentActive && canEnd !== false) {\n setStatus(STATUS_NONE, true);\n setStyle(null, true);\n }\n }\n\n var _useDomMotionEvents = useDomMotionEvents(onInternalMotionEnd),\n _useDomMotionEvents2 = _slicedToArray(_useDomMotionEvents, 1),\n patchMotionEvents = _useDomMotionEvents2[0]; // ============================= Step =============================\n\n\n var eventHandlers = React.useMemo(function () {\n var _ref2, _ref3, _ref4;\n\n switch (status) {\n case STATUS_APPEAR:\n return _ref2 = {}, _defineProperty(_ref2, STEP_PREPARE, onAppearPrepare), _defineProperty(_ref2, STEP_START, onAppearStart), _defineProperty(_ref2, STEP_ACTIVE, onAppearActive), _ref2;\n\n case STATUS_ENTER:\n return _ref3 = {}, _defineProperty(_ref3, STEP_PREPARE, onEnterPrepare), _defineProperty(_ref3, STEP_START, onEnterStart), _defineProperty(_ref3, STEP_ACTIVE, onEnterActive), _ref3;\n\n case STATUS_LEAVE:\n return _ref4 = {}, _defineProperty(_ref4, STEP_PREPARE, onLeavePrepare), _defineProperty(_ref4, STEP_START, onLeaveStart), _defineProperty(_ref4, STEP_ACTIVE, onLeaveActive), _ref4;\n\n default:\n return {};\n }\n }, [status]);\n\n var _useStepQueue = useStepQueue(status, function (newStep) {\n // Only prepare step can be skip\n if (newStep === STEP_PREPARE) {\n var onPrepare = eventHandlers[STEP_PREPARE];\n\n if (!onPrepare) {\n return SkipStep;\n }\n\n return onPrepare(getDomElement());\n } // Rest step is sync update\n\n\n // Rest step is sync update\n if (step in eventHandlers) {\n var _eventHandlers$step;\n\n setStyle(((_eventHandlers$step = eventHandlers[step]) === null || _eventHandlers$step === void 0 ? void 0 : _eventHandlers$step.call(eventHandlers, getDomElement(), null)) || null);\n }\n\n if (step === STEP_ACTIVE) {\n // Patch events when motion needed\n patchMotionEvents(getDomElement());\n\n if (motionDeadline > 0) {\n clearTimeout(deadlineRef.current);\n deadlineRef.current = setTimeout(function () {\n onInternalMotionEnd({\n deadline: true\n });\n }, motionDeadline);\n }\n }\n\n return DoStep;\n }),\n _useStepQueue2 = _slicedToArray(_useStepQueue, 2),\n startStep = _useStepQueue2[0],\n step = _useStepQueue2[1];\n\n var active = isActive(step);\n activeRef.current = active; // ============================ Status ============================\n // Update with new status\n\n useIsomorphicLayoutEffect(function () {\n setAsyncVisible(visible);\n var isMounted = mountedRef.current;\n mountedRef.current = true;\n\n if (!supportMotion) {\n return;\n }\n\n var nextStatus; // Appear\n\n if (!isMounted && visible && motionAppear) {\n nextStatus = STATUS_APPEAR;\n } // Enter\n\n\n if (isMounted && visible && motionEnter) {\n nextStatus = STATUS_ENTER;\n } // Leave\n\n\n if (isMounted && !visible && motionLeave || !isMounted && motionLeaveImmediately && !visible && motionLeave) {\n nextStatus = STATUS_LEAVE;\n } // Update to next status\n\n\n if (nextStatus) {\n setStatus(nextStatus);\n startStep();\n }\n }, [visible]); // ============================ Effect ============================\n // Reset when motion changed\n\n useEffect(function () {\n if ( // Cancel appear\n status === STATUS_APPEAR && !motionAppear || // Cancel enter\n status === STATUS_ENTER && !motionEnter || // Cancel leave\n status === STATUS_LEAVE && !motionLeave) {\n setStatus(STATUS_NONE);\n }\n }, [motionAppear, motionEnter, motionLeave]);\n useEffect(function () {\n return function () {\n mountedRef.current = false;\n clearTimeout(deadlineRef.current);\n };\n }, []); // Trigger `onVisibleChanged`\n\n var firstMountChangeRef = React.useRef(false);\n useEffect(function () {\n // [visible & motion not end] => [!visible & motion end] still need trigger onVisibleChanged\n if (asyncVisible) {\n firstMountChangeRef.current = true;\n }\n\n if (asyncVisible !== undefined && status === STATUS_NONE) {\n // Skip first render is invisible since it's nothing changed\n if (firstMountChangeRef.current || asyncVisible) {\n onVisibleChanged === null || onVisibleChanged === void 0 ? void 0 : onVisibleChanged(asyncVisible);\n }\n\n firstMountChangeRef.current = true;\n }\n }, [asyncVisible, status]); // ============================ Styles ============================\n\n var mergedStyle = style;\n\n if (eventHandlers[STEP_PREPARE] && step === STEP_START) {\n mergedStyle = _objectSpread({\n transition: 'none'\n }, mergedStyle);\n }\n\n return [status, step, mergedStyle, asyncVisible !== null && asyncVisible !== void 0 ? asyncVisible : visible];\n}","import * as React from 'react';\nimport { useRef } from 'react';\nimport { animationEndName, transitionEndName } from '../util/motion';\nexport default (function (callback) {\n var cacheElementRef = useRef(); // Cache callback\n\n var callbackRef = useRef(callback);\n callbackRef.current = callback; // Internal motion event handler\n\n var onInternalMotionEnd = React.useCallback(function (event) {\n callbackRef.current(event);\n }, []); // Remove events\n\n function removeMotionEvents(element) {\n if (element) {\n element.removeEventListener(transitionEndName, onInternalMotionEnd);\n element.removeEventListener(animationEndName, onInternalMotionEnd);\n }\n } // Patch events\n\n\n function patchMotionEvents(element) {\n if (cacheElementRef.current && cacheElementRef.current !== element) {\n removeMotionEvents(cacheElementRef.current);\n }\n\n if (element && element !== cacheElementRef.current) {\n element.addEventListener(transitionEndName, onInternalMotionEnd);\n element.addEventListener(animationEndName, onInternalMotionEnd); // Save as cache in case dom removed trigger by `motionDeadline`\n\n cacheElementRef.current = element;\n }\n } // Clean up when removed\n\n\n React.useEffect(function () {\n return function () {\n removeMotionEvents(cacheElementRef.current);\n };\n }, []);\n return [patchMotionEvents, removeMotionEvents];\n});","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport default DomWrapper;","import _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/* eslint-disable react/default-props-match-prop-types, react/no-multi-comp, react/prop-types */\nimport * as React from 'react';\nimport { useRef } from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { fillRef, supportRef } from \"rc-util/es/ref\";\nimport classNames from 'classnames';\nimport { getTransitionName, supportTransition } from './util/motion';\nimport { STATUS_NONE, STEP_PREPARE, STEP_START } from './interface';\nimport useStatus from './hooks/useStatus';\nimport DomWrapper from './DomWrapper';\nimport { isActive } from './hooks/useStepQueue';\n/**\n * `transitionSupport` is used for none transition test case.\n * Default we use browser transition event support check.\n */\n\nexport function genCSSMotion(config) {\n var transitionSupport = config;\n\n if (_typeof(config) === 'object') {\n transitionSupport = config.transitionSupport;\n }\n\n function isSupportTransition(props) {\n return !!(props.motionName && transitionSupport);\n }\n\n var CSSMotion = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var _props$visible = props.visible,\n visible = _props$visible === void 0 ? true : _props$visible,\n _props$removeOnLeave = props.removeOnLeave,\n removeOnLeave = _props$removeOnLeave === void 0 ? true : _props$removeOnLeave,\n forceRender = props.forceRender,\n children = props.children,\n motionName = props.motionName,\n leavedClassName = props.leavedClassName,\n eventProps = props.eventProps;\n var supportMotion = isSupportTransition(props); // Ref to the react node, it may be a HTMLElement\n\n var nodeRef = useRef(); // Ref to the dom wrapper in case ref can not pass to HTMLElement\n\n var wrapperNodeRef = useRef();\n\n function getDomElement() {\n try {\n // Here we're avoiding call for findDOMNode since it's deprecated\n // in strict mode. We're calling it only when node ref is not\n // an instance of DOM HTMLElement. Otherwise use\n // findDOMNode as a final resort\n return nodeRef.current instanceof HTMLElement ? nodeRef.current : findDOMNode(wrapperNodeRef.current);\n } catch (e) {\n // Only happen when `motionDeadline` trigger but element removed.\n return null;\n }\n }\n\n var _useStatus = useStatus(supportMotion, visible, getDomElement, props),\n _useStatus2 = _slicedToArray(_useStatus, 4),\n status = _useStatus2[0],\n statusStep = _useStatus2[1],\n statusStyle = _useStatus2[2],\n mergedVisible = _useStatus2[3]; // Record whether content has rendered\n // Will return null for un-rendered even when `removeOnLeave={false}`\n\n\n var renderedRef = React.useRef(mergedVisible);\n\n if (mergedVisible) {\n renderedRef.current = true;\n } // ====================== Refs ======================\n\n\n var setNodeRef = React.useCallback(function (node) {\n nodeRef.current = node;\n fillRef(ref, node);\n }, [ref]); // ===================== Render =====================\n\n var motionChildren;\n\n var mergedProps = _objectSpread(_objectSpread({}, eventProps), {}, {\n visible: visible\n });\n\n if (!children) {\n // No children\n motionChildren = null;\n } else if (status === STATUS_NONE || !isSupportTransition(props)) {\n // Stable children\n if (mergedVisible) {\n motionChildren = children(_objectSpread({}, mergedProps), setNodeRef);\n } else if (!removeOnLeave && renderedRef.current) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: leavedClassName\n }), setNodeRef);\n } else if (forceRender) {\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n style: {\n display: 'none'\n }\n }), setNodeRef);\n } else {\n motionChildren = null;\n }\n } else {\n var _classNames;\n\n // In motion\n var statusSuffix;\n\n if (statusStep === STEP_PREPARE) {\n statusSuffix = 'prepare';\n } else if (isActive(statusStep)) {\n statusSuffix = 'active';\n } else if (statusStep === STEP_START) {\n statusSuffix = 'start';\n }\n\n motionChildren = children(_objectSpread(_objectSpread({}, mergedProps), {}, {\n className: classNames(getTransitionName(motionName, status), (_classNames = {}, _defineProperty(_classNames, getTransitionName(motionName, \"\".concat(status, \"-\").concat(statusSuffix)), statusSuffix), _defineProperty(_classNames, motionName, typeof motionName === 'string'), _classNames)),\n style: statusStyle\n }), setNodeRef);\n } // Auto inject ref if child node not have `ref` props\n\n\n if ( /*#__PURE__*/React.isValidElement(motionChildren) && supportRef(motionChildren)) {\n var _motionChildren = motionChildren,\n originNodeRef = _motionChildren.ref;\n\n if (!originNodeRef) {\n motionChildren = /*#__PURE__*/React.cloneElement(motionChildren, {\n ref: setNodeRef\n });\n }\n }\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperNodeRef\n }, motionChildren);\n });\n CSSMotion.displayName = 'CSSMotion';\n return CSSMotion;\n}\nexport default genCSSMotion(supportTransition);","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nexport var STATUS_ADD = 'add';\nexport var STATUS_KEEP = 'keep';\nexport var STATUS_REMOVE = 'remove';\nexport var STATUS_REMOVED = 'removed';\nexport function wrapKeyToObject(key) {\n var keyObj;\n\n if (key && _typeof(key) === 'object' && 'key' in key) {\n keyObj = key;\n } else {\n keyObj = {\n key: key\n };\n }\n\n return _objectSpread(_objectSpread({}, keyObj), {}, {\n key: String(keyObj.key)\n });\n}\nexport function parseKeys() {\n var keys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n return keys.map(wrapKeyToObject);\n}\nexport function diffKeys() {\n var prevKeys = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : [];\n var currentKeys = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : [];\n var list = [];\n var currentIndex = 0;\n var currentLen = currentKeys.length;\n var prevKeyObjects = parseKeys(prevKeys);\n var currentKeyObjects = parseKeys(currentKeys); // Check prev keys to insert or keep\n\n prevKeyObjects.forEach(function (keyObj) {\n var hit = false;\n\n for (var i = currentIndex; i < currentLen; i += 1) {\n var currentKeyObj = currentKeyObjects[i];\n\n if (currentKeyObj.key === keyObj.key) {\n // New added keys should add before current key\n if (currentIndex < i) {\n list = list.concat(currentKeyObjects.slice(currentIndex, i).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n currentIndex = i;\n }\n\n list.push(_objectSpread(_objectSpread({}, currentKeyObj), {}, {\n status: STATUS_KEEP\n }));\n currentIndex += 1;\n hit = true;\n break;\n }\n } // If not hit, it means key is removed\n\n\n if (!hit) {\n list.push(_objectSpread(_objectSpread({}, keyObj), {}, {\n status: STATUS_REMOVE\n }));\n }\n }); // Add rest to the list\n\n if (currentIndex < currentLen) {\n list = list.concat(currentKeyObjects.slice(currentIndex).map(function (obj) {\n return _objectSpread(_objectSpread({}, obj), {}, {\n status: STATUS_ADD\n });\n }));\n }\n /**\n * Merge same key when it remove and add again:\n * [1 - add, 2 - keep, 1 - remove] -> [1 - keep, 2 - keep]\n */\n\n\n var keys = {};\n list.forEach(function (_ref) {\n var key = _ref.key;\n keys[key] = (keys[key] || 0) + 1;\n });\n var duplicatedKeys = Object.keys(keys).filter(function (key) {\n return keys[key] > 1;\n });\n duplicatedKeys.forEach(function (matchKey) {\n // Remove `STATUS_REMOVE` node.\n list = list.filter(function (_ref2) {\n var key = _ref2.key,\n status = _ref2.status;\n return key !== matchKey || status !== STATUS_REMOVE;\n }); // Update `STATUS_ADD` to `STATUS_KEEP`\n\n list.forEach(function (node) {\n if (node.key === matchKey) {\n // eslint-disable-next-line no-param-reassign\n node.status = STATUS_KEEP;\n }\n });\n });\n return list;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nvar _excluded = [\"component\", \"children\", \"onVisibleChanged\", \"onAllRemoved\"],\n _excluded2 = [\"status\"];\n\n/* eslint react/prop-types: 0 */\nimport * as React from 'react';\nimport OriginCSSMotion from './CSSMotion';\nimport { supportTransition } from './util/motion';\nimport { STATUS_ADD, STATUS_KEEP, STATUS_REMOVE, STATUS_REMOVED, diffKeys, parseKeys } from './util/diff';\nvar MOTION_PROP_NAMES = ['eventProps', 'visible', 'children', 'motionName', 'motionAppear', 'motionEnter', 'motionLeave', 'motionLeaveImmediately', 'motionDeadline', 'removeOnLeave', 'leavedClassName', 'onAppearStart', 'onAppearActive', 'onAppearEnd', 'onEnterStart', 'onEnterActive', 'onEnterEnd', 'onLeaveStart', 'onLeaveActive', 'onLeaveEnd'];\n/**\n * Generate a CSSMotionList component with config\n * @param transitionSupport No need since CSSMotionList no longer depends on transition support\n * @param CSSMotion CSSMotion component\n */\n\nexport function genCSSMotionList(transitionSupport) {\n var CSSMotion = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : OriginCSSMotion;\n\n var CSSMotionList = /*#__PURE__*/function (_React$Component) {\n _inherits(CSSMotionList, _React$Component);\n\n var _super = _createSuper(CSSMotionList);\n\n function CSSMotionList() {\n var _this;\n\n _classCallCheck(this, CSSMotionList);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, [this].concat(args));\n _this.state = {\n keyEntities: []\n };\n\n _this.removeKey = function (removeKey) {\n var keyEntities = _this.state.keyEntities;\n var nextKeyEntities = keyEntities.map(function (entity) {\n if (entity.key !== removeKey) return entity;\n return _objectSpread(_objectSpread({}, entity), {}, {\n status: STATUS_REMOVED\n });\n });\n\n _this.setState({\n keyEntities: nextKeyEntities\n });\n\n return nextKeyEntities.filter(function (_ref) {\n var status = _ref.status;\n return status !== STATUS_REMOVED;\n }).length;\n };\n\n return _this;\n }\n\n _createClass(CSSMotionList, [{\n key: \"render\",\n value: function render() {\n var _this2 = this;\n\n var keyEntities = this.state.keyEntities;\n\n var _this$props = this.props,\n component = _this$props.component,\n children = _this$props.children,\n _onVisibleChanged = _this$props.onVisibleChanged,\n onAllRemoved = _this$props.onAllRemoved,\n restProps = _objectWithoutProperties(_this$props, _excluded);\n\n var Component = component || React.Fragment;\n var motionProps = {};\n MOTION_PROP_NAMES.forEach(function (prop) {\n motionProps[prop] = restProps[prop];\n delete restProps[prop];\n });\n delete restProps.keys;\n return /*#__PURE__*/React.createElement(Component, restProps, keyEntities.map(function (_ref2) {\n var status = _ref2.status,\n eventProps = _objectWithoutProperties(_ref2, _excluded2);\n\n var visible = status === STATUS_ADD || status === STATUS_KEEP;\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motionProps, {\n key: eventProps.key,\n visible: visible,\n eventProps: eventProps,\n onVisibleChanged: function onVisibleChanged(changedVisible) {\n _onVisibleChanged === null || _onVisibleChanged === void 0 ? void 0 : _onVisibleChanged(changedVisible, {\n key: eventProps.key\n });\n\n if (!changedVisible) {\n var restKeysCount = _this2.removeKey(eventProps.key);\n\n if (restKeysCount === 0 && onAllRemoved) {\n onAllRemoved();\n }\n }\n }\n }), children);\n }));\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref3, _ref4) {\n var keys = _ref3.keys;\n var keyEntities = _ref4.keyEntities;\n var parsedKeyObjects = parseKeys(keys);\n var mixedKeyEntities = diffKeys(keyEntities, parsedKeyObjects);\n return {\n keyEntities: mixedKeyEntities.filter(function (entity) {\n var prevEntity = keyEntities.find(function (_ref5) {\n var key = _ref5.key;\n return entity.key === key;\n }); // Remove if already mark as removed\n\n if (prevEntity && prevEntity.status === STATUS_REMOVED && entity.status === STATUS_REMOVE) {\n return false;\n }\n\n return true;\n })\n };\n } // ZombieJ: Return the count of rest keys. It's safe to refactor if need more info.\n\n }]);\n\n return CSSMotionList;\n }(React.Component);\n\n CSSMotionList.defaultProps = {\n component: 'div'\n };\n return CSSMotionList;\n}\nexport default genCSSMotionList(supportTransition);","import CSSMotion from './CSSMotion';\nimport CSSMotionList from './CSSMotionList';\nexport { CSSMotionList };\nexport default CSSMotion;","export default {\n // Options.jsx\n items_per_page: '/ page',\n jump_to: 'Go to',\n jump_to_confirm: 'confirm',\n page: 'Page',\n // Pagination.jsx\n prev_page: 'Previous Page',\n next_page: 'Next Page',\n prev_5: 'Previous 5 Pages',\n next_5: 'Next 5 Pages',\n prev_3: 'Previous 3 Pages',\n next_3: 'Next 3 Pages',\n page_size: 'Page Size'\n};","import ResizeObserver from 'resize-observer-polyfill'; // =============================== Const ===============================\n\nvar elementListeners = new Map();\n\nfunction onResize(entities) {\n entities.forEach(function (entity) {\n var _elementListeners$get;\n\n var target = entity.target;\n (_elementListeners$get = elementListeners.get(target)) === null || _elementListeners$get === void 0 ? void 0 : _elementListeners$get.forEach(function (listener) {\n return listener(target);\n });\n });\n} // Note: ResizeObserver polyfill not support option to measure border-box resize\n\n\nvar resizeObserver = new ResizeObserver(onResize); // Dev env only\n\nexport var _el = process.env.NODE_ENV !== 'production' ? elementListeners : null; // eslint-disable-line\n\nexport var _rs = process.env.NODE_ENV !== 'production' ? onResize : null; // eslint-disable-line\n// ============================== Observe ==============================\n\nexport function observe(element, callback) {\n if (!elementListeners.has(element)) {\n elementListeners.set(element, new Set());\n resizeObserver.observe(element);\n }\n\n elementListeners.get(element).add(callback);\n}\nexport function unobserve(element, callback) {\n if (elementListeners.has(element)) {\n elementListeners.get(element).delete(callback);\n\n if (!elementListeners.get(element).size) {\n resizeObserver.unobserve(element);\n elementListeners.delete(element);\n }\n }\n}","import _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport * as React from 'react';\n/**\n * Fallback to findDOMNode if origin ref do not provide any dom element\n */\n\nvar DomWrapper = /*#__PURE__*/function (_React$Component) {\n _inherits(DomWrapper, _React$Component);\n\n var _super = _createSuper(DomWrapper);\n\n function DomWrapper() {\n _classCallCheck(this, DomWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(DomWrapper, [{\n key: \"render\",\n value: function render() {\n return this.props.children;\n }\n }]);\n\n return DomWrapper;\n}(React.Component);\n\nexport { DomWrapper as default };","import * as React from 'react';\nexport var CollectionContext = /*#__PURE__*/React.createContext(null);\n/**\n * Collect all the resize event from children ResizeObserver\n */\n\nexport function Collection(_ref) {\n var children = _ref.children,\n onBatchResize = _ref.onBatchResize;\n var resizeIdRef = React.useRef(0);\n var resizeInfosRef = React.useRef([]);\n var onCollectionResize = React.useContext(CollectionContext);\n var onResize = React.useCallback(function (size, element, data) {\n resizeIdRef.current += 1;\n var currentId = resizeIdRef.current;\n resizeInfosRef.current.push({\n size: size,\n element: element,\n data: data\n });\n Promise.resolve().then(function () {\n if (currentId === resizeIdRef.current) {\n onBatchResize === null || onBatchResize === void 0 ? void 0 : onBatchResize(resizeInfosRef.current);\n resizeInfosRef.current = [];\n }\n }); // Continue bubbling if parent exist\n\n onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(size, element, data);\n }, [onBatchResize, onCollectionResize]);\n return /*#__PURE__*/React.createElement(CollectionContext.Provider, {\n value: onResize\n }, children);\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport * as React from 'react';\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { observe, unobserve } from '../utils/observerUtil';\nimport DomWrapper from './DomWrapper';\nimport { CollectionContext } from '../Collection';\nexport default function SingleObserver(props) {\n var children = props.children,\n disabled = props.disabled;\n var elementRef = React.useRef(null);\n var wrapperRef = React.useRef(null);\n var onCollectionResize = React.useContext(CollectionContext); // =========================== Children ===========================\n\n var isRenderProps = typeof children === 'function';\n var mergedChildren = isRenderProps ? children(elementRef) : children; // ============================= Size =============================\n\n var sizeRef = React.useRef({\n width: -1,\n height: -1,\n offsetWidth: -1,\n offsetHeight: -1\n }); // ============================= Ref ==============================\n\n var canRef = !isRenderProps && /*#__PURE__*/React.isValidElement(mergedChildren) && supportRef(mergedChildren);\n var originRef = canRef ? mergedChildren.ref : null;\n var mergedRef = React.useMemo(function () {\n return composeRef(originRef, elementRef);\n }, [originRef, elementRef]); // =========================== Observe ============================\n\n var propsRef = React.useRef(props);\n propsRef.current = props; // Handler\n\n var onInternalResize = React.useCallback(function (target) {\n var _propsRef$current = propsRef.current,\n onResize = _propsRef$current.onResize,\n data = _propsRef$current.data;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var offsetWidth = target.offsetWidth,\n offsetHeight = target.offsetHeight;\n /**\n * Resize observer trigger when content size changed.\n * In most case we just care about element size,\n * let's use `boundary` instead of `contentRect` here to avoid shaking.\n */\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (sizeRef.current.width !== fixedWidth || sizeRef.current.height !== fixedHeight || sizeRef.current.offsetWidth !== offsetWidth || sizeRef.current.offsetHeight !== offsetHeight) {\n var size = {\n width: fixedWidth,\n height: fixedHeight,\n offsetWidth: offsetWidth,\n offsetHeight: offsetHeight\n };\n sizeRef.current = size; // IE is strange, right?\n\n var mergedOffsetWidth = offsetWidth === Math.round(width) ? width : offsetWidth;\n var mergedOffsetHeight = offsetHeight === Math.round(height) ? height : offsetHeight;\n\n var sizeInfo = _objectSpread(_objectSpread({}, size), {}, {\n offsetWidth: mergedOffsetWidth,\n offsetHeight: mergedOffsetHeight\n }); // Let collection know what happened\n\n\n onCollectionResize === null || onCollectionResize === void 0 ? void 0 : onCollectionResize(sizeInfo, target, data);\n\n if (onResize) {\n // defer the callback but not defer to next frame\n Promise.resolve().then(function () {\n onResize(sizeInfo, target);\n });\n }\n }\n }, []); // Dynamic observe\n\n React.useEffect(function () {\n var currentElement = findDOMNode(elementRef.current) || findDOMNode(wrapperRef.current);\n\n if (currentElement && !disabled) {\n observe(currentElement, onInternalResize);\n }\n\n return function () {\n return unobserve(currentElement, onInternalResize);\n };\n }, [elementRef.current, disabled]); // ============================ Render ============================\n\n return /*#__PURE__*/React.createElement(DomWrapper, {\n ref: wrapperRef\n }, canRef ? /*#__PURE__*/React.cloneElement(mergedChildren, {\n ref: mergedRef\n }) : mergedChildren);\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport * as React from 'react';\nimport toArray from \"rc-util/es/Children/toArray\";\nimport { warning } from \"rc-util/es/warning\";\nimport SingleObserver from './SingleObserver';\nimport { Collection } from './Collection';\nvar INTERNAL_PREFIX_KEY = 'rc-observer-key';\n\nfunction ResizeObserver(props) {\n var children = props.children;\n var childNodes = typeof children === 'function' ? [children] : toArray(children);\n\n if (process.env.NODE_ENV !== 'production') {\n if (childNodes.length > 1) {\n warning(false, 'Find more than one child node with `children` in ResizeObserver. Please use ResizeObserver.Collection instead.');\n } else if (childNodes.length === 0) {\n warning(false, '`children` of ResizeObserver is empty. Nothing is in observe.');\n }\n }\n\n return childNodes.map(function (child, index) {\n var key = (child === null || child === void 0 ? void 0 : child.key) || \"\".concat(INTERNAL_PREFIX_KEY, \"-\").concat(index);\n return /*#__PURE__*/React.createElement(SingleObserver, _extends({}, props, {\n key: key\n }), child);\n });\n}\n\nResizeObserver.Collection = Collection;\nexport default ResizeObserver;","import * as React from 'react';\nimport classNames from 'classnames';\nexport default function Popup(props) {\n var showArrow = props.showArrow,\n arrowContent = props.arrowContent,\n children = props.children,\n prefixCls = props.prefixCls,\n id = props.id,\n overlayInnerStyle = props.overlayInnerStyle,\n className = props.className,\n style = props.style;\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames(\"\".concat(prefixCls, \"-content\"), className),\n style: style\n }, showArrow !== false && /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-arrow\"),\n key: \"arrow\"\n }, arrowContent), /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-inner\"),\n id: id,\n role: \"tooltip\",\n style: overlayInnerStyle\n }, typeof children === 'function' ? children() : children));\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport { useRef, useImperativeHandle, forwardRef } from 'react';\nimport Trigger from 'rc-trigger';\nimport { placements } from './placements';\nimport Popup from './Popup';\n\nvar Tooltip = function Tooltip(props, ref) {\n var overlayClassName = props.overlayClassName,\n _props$trigger = props.trigger,\n trigger = _props$trigger === void 0 ? ['hover'] : _props$trigger,\n _props$mouseEnterDela = props.mouseEnterDelay,\n mouseEnterDelay = _props$mouseEnterDela === void 0 ? 0 : _props$mouseEnterDela,\n _props$mouseLeaveDela = props.mouseLeaveDelay,\n mouseLeaveDelay = _props$mouseLeaveDela === void 0 ? 0.1 : _props$mouseLeaveDela,\n overlayStyle = props.overlayStyle,\n _props$prefixCls = props.prefixCls,\n prefixCls = _props$prefixCls === void 0 ? 'rc-tooltip' : _props$prefixCls,\n children = props.children,\n onVisibleChange = props.onVisibleChange,\n afterVisibleChange = props.afterVisibleChange,\n transitionName = props.transitionName,\n animation = props.animation,\n motion = props.motion,\n _props$placement = props.placement,\n placement = _props$placement === void 0 ? 'right' : _props$placement,\n _props$align = props.align,\n align = _props$align === void 0 ? {} : _props$align,\n _props$destroyTooltip = props.destroyTooltipOnHide,\n destroyTooltipOnHide = _props$destroyTooltip === void 0 ? false : _props$destroyTooltip,\n defaultVisible = props.defaultVisible,\n getTooltipContainer = props.getTooltipContainer,\n overlayInnerStyle = props.overlayInnerStyle,\n arrowContent = props.arrowContent,\n overlay = props.overlay,\n id = props.id,\n showArrow = props.showArrow,\n restProps = _objectWithoutProperties(props, [\"overlayClassName\", \"trigger\", \"mouseEnterDelay\", \"mouseLeaveDelay\", \"overlayStyle\", \"prefixCls\", \"children\", \"onVisibleChange\", \"afterVisibleChange\", \"transitionName\", \"animation\", \"motion\", \"placement\", \"align\", \"destroyTooltipOnHide\", \"defaultVisible\", \"getTooltipContainer\", \"overlayInnerStyle\", \"arrowContent\", \"overlay\", \"id\", \"showArrow\"]);\n\n var domRef = useRef(null);\n useImperativeHandle(ref, function () {\n return domRef.current;\n });\n\n var extraProps = _objectSpread({}, restProps);\n\n if ('visible' in props) {\n extraProps.popupVisible = props.visible;\n }\n\n var getPopupElement = function getPopupElement() {\n return /*#__PURE__*/React.createElement(Popup, {\n showArrow: showArrow,\n arrowContent: arrowContent,\n key: \"content\",\n prefixCls: prefixCls,\n id: id,\n overlayInnerStyle: overlayInnerStyle\n }, overlay);\n };\n\n var destroyTooltip = false;\n var autoDestroy = false;\n\n if (typeof destroyTooltipOnHide === 'boolean') {\n destroyTooltip = destroyTooltipOnHide;\n } else if (destroyTooltipOnHide && _typeof(destroyTooltipOnHide) === 'object') {\n var keepParent = destroyTooltipOnHide.keepParent;\n destroyTooltip = keepParent === true;\n autoDestroy = keepParent === false;\n }\n\n return /*#__PURE__*/React.createElement(Trigger, _extends({\n popupClassName: overlayClassName,\n prefixCls: prefixCls,\n popup: getPopupElement,\n action: trigger,\n builtinPlacements: placements,\n popupPlacement: placement,\n ref: domRef,\n popupAlign: align,\n getPopupContainer: getTooltipContainer,\n onPopupVisibleChange: onVisibleChange,\n afterPopupVisibleChange: afterVisibleChange,\n popupTransitionName: transitionName,\n popupAnimation: animation,\n popupMotion: motion,\n defaultPopupVisible: defaultVisible,\n destroyPopupOnHide: destroyTooltip,\n autoDestroy: autoDestroy,\n mouseLeaveDelay: mouseLeaveDelay,\n popupStyle: overlayStyle,\n mouseEnterDelay: mouseEnterDelay\n }, extraProps), children);\n};\n\nexport default /*#__PURE__*/forwardRef(Tooltip);","import Tooltip from './Tooltip';\nimport Popup from './Popup';\nexport { Popup };\nexport default Tooltip;","var autoAdjustOverflow = {\n adjustX: 1,\n adjustY: 1\n};\nvar targetOffset = [0, 0];\nexport var placements = {\n left: {\n points: ['cr', 'cl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n right: {\n points: ['cl', 'cr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n top: {\n points: ['bc', 'tc'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n bottom: {\n points: ['tc', 'bc'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n topLeft: {\n points: ['bl', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n leftTop: {\n points: ['tr', 'tl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n },\n topRight: {\n points: ['br', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [0, -4],\n targetOffset: targetOffset\n },\n rightTop: {\n points: ['tl', 'tr'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomRight: {\n points: ['tr', 'br'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n rightBottom: {\n points: ['bl', 'br'],\n overflow: autoAdjustOverflow,\n offset: [4, 0],\n targetOffset: targetOffset\n },\n bottomLeft: {\n points: ['tl', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [0, 4],\n targetOffset: targetOffset\n },\n leftBottom: {\n points: ['br', 'bl'],\n overflow: autoAdjustOverflow,\n offset: [-4, 0],\n targetOffset: targetOffset\n }\n};\nexport default placements;","import { useRef, useEffect, forwardRef, useImperativeHandle } from 'react';\nimport ReactDOM from 'react-dom';\nimport canUseDom from './Dom/canUseDom';\nvar Portal = /*#__PURE__*/forwardRef(function (props, ref) {\n var didUpdate = props.didUpdate,\n getContainer = props.getContainer,\n children = props.children;\n var parentRef = useRef();\n var containerRef = useRef();\n // Ref return nothing, only for wrapper check exist\n useImperativeHandle(ref, function () {\n return {};\n });\n // Create container in client side with sync to avoid useEffect not get ref\n var initRef = useRef(false);\n if (!initRef.current && canUseDom()) {\n containerRef.current = getContainer();\n parentRef.current = containerRef.current.parentNode;\n initRef.current = true;\n }\n // [Legacy] Used by `rc-trigger`\n useEffect(function () {\n didUpdate === null || didUpdate === void 0 ? void 0 : didUpdate(props);\n });\n useEffect(function () {\n // Restore container to original place\n // React 18 StrictMode will unmount first and mount back for effect test:\n // https://reactjs.org/blog/2022/03/29/react-v18.html#new-strict-mode-behaviors\n if (containerRef.current.parentNode === null && parentRef.current !== null) {\n parentRef.current.appendChild(containerRef.current);\n }\n return function () {\n var _containerRef$current, _containerRef$current2;\n // [Legacy] This should not be handle by Portal but parent PortalWrapper instead.\n // Since some component use `Portal` directly, we have to keep the logic here.\n (_containerRef$current = containerRef.current) === null || _containerRef$current === void 0 ? void 0 : (_containerRef$current2 = _containerRef$current.parentNode) === null || _containerRef$current2 === void 0 ? void 0 : _containerRef$current2.removeChild(containerRef.current);\n };\n }, []);\n return containerRef.current ? /*#__PURE__*/ReactDOM.createPortal(children, containerRef.current) : null;\n});\nexport default Portal;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\n\nfunction isPointsEq(a1, a2, isAlignPoint) {\n if (isAlignPoint) {\n return a1[0] === a2[0];\n }\n\n return a1[0] === a2[0] && a1[1] === a2[1];\n}\n\nexport function getAlignFromPlacement(builtinPlacements, placementStr, align) {\n var baseAlign = builtinPlacements[placementStr] || {};\n return _objectSpread(_objectSpread({}, baseAlign), align);\n}\nexport function getAlignPopupClassName(builtinPlacements, prefixCls, align, isAlignPoint) {\n var points = align.points;\n var placements = Object.keys(builtinPlacements);\n\n for (var i = 0; i < placements.length; i += 1) {\n var placement = placements[i];\n\n if (isPointsEq(builtinPlacements[placement].points, points, isAlignPoint)) {\n return \"\".concat(prefixCls, \"-placement-\").concat(placement);\n }\n }\n\n return '';\n}","export function getMotion(_ref) {\n var prefixCls = _ref.prefixCls,\n motion = _ref.motion,\n animation = _ref.animation,\n transitionName = _ref.transitionName;\n\n if (motion) {\n return motion;\n }\n\n if (animation) {\n return {\n motionName: \"\".concat(prefixCls, \"-\").concat(animation)\n };\n }\n\n if (transitionName) {\n return {\n motionName: transitionName\n };\n }\n\n return null;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport classNames from 'classnames';\nimport CSSMotion from 'rc-motion';\nimport { getMotion } from \"../utils/legacyUtil\";\nexport default function Mask(props) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n mask = props.mask,\n maskMotion = props.maskMotion,\n maskAnimation = props.maskAnimation,\n maskTransitionName = props.maskTransitionName;\n\n if (!mask) {\n return null;\n }\n\n var motion = {};\n\n if (maskMotion || maskTransitionName || maskAnimation) {\n motion = _objectSpread({\n motionAppear: true\n }, getMotion({\n motion: maskMotion,\n prefixCls: prefixCls,\n transitionName: maskTransitionName,\n animation: maskAnimation\n }));\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({}, motion, {\n visible: visible,\n removeOnLeave: true\n }), function (_ref) {\n var className = _ref.className;\n return /*#__PURE__*/React.createElement(\"div\", {\n style: {\n zIndex: zIndex\n },\n className: classNames(\"\".concat(prefixCls, \"-mask\"), className)\n });\n });\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}\nfunction _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}\nfunction _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\nvar vendorPrefix;\nvar jsCssMap = {\n Webkit: '-webkit-',\n Moz: '-moz-',\n // IE did it wrong again ...\n ms: '-ms-',\n O: '-o-'\n};\nfunction getVendorPrefix() {\n if (vendorPrefix !== undefined) {\n return vendorPrefix;\n }\n vendorPrefix = '';\n var style = document.createElement('p').style;\n var testProp = 'Transform';\n for (var key in jsCssMap) {\n if (key + testProp in style) {\n vendorPrefix = key;\n }\n }\n return vendorPrefix;\n}\nfunction getTransitionName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"TransitionProperty\") : 'transitionProperty';\n}\nfunction getTransformName() {\n return getVendorPrefix() ? \"\".concat(getVendorPrefix(), \"Transform\") : 'transform';\n}\nfunction setTransitionProperty(node, value) {\n var name = getTransitionName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transitionProperty') {\n node.style.transitionProperty = value;\n }\n }\n}\nfunction setTransform(node, value) {\n var name = getTransformName();\n if (name) {\n node.style[name] = value;\n if (name !== 'transform') {\n node.style.transform = value;\n }\n }\n}\nfunction getTransitionProperty(node) {\n return node.style.transitionProperty || node.style[getTransitionName()];\n}\nfunction getTransformXY(node) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var matrix = transform.replace(/[^0-9\\-.,]/g, '').split(',');\n return {\n x: parseFloat(matrix[12] || matrix[4], 0),\n y: parseFloat(matrix[13] || matrix[5], 0)\n };\n }\n return {\n x: 0,\n y: 0\n };\n}\nvar matrix2d = /matrix\\((.*)\\)/;\nvar matrix3d = /matrix3d\\((.*)\\)/;\nfunction setTransformXY(node, xy) {\n var style = window.getComputedStyle(node, null);\n var transform = style.getPropertyValue('transform') || style.getPropertyValue(getTransformName());\n if (transform && transform !== 'none') {\n var arr;\n var match2d = transform.match(matrix2d);\n if (match2d) {\n match2d = match2d[1];\n arr = match2d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[4] = xy.x;\n arr[5] = xy.y;\n setTransform(node, \"matrix(\".concat(arr.join(','), \")\"));\n } else {\n var match3d = transform.match(matrix3d)[1];\n arr = match3d.split(',').map(function (item) {\n return parseFloat(item, 10);\n });\n arr[12] = xy.x;\n arr[13] = xy.y;\n setTransform(node, \"matrix3d(\".concat(arr.join(','), \")\"));\n }\n } else {\n setTransform(node, \"translateX(\".concat(xy.x, \"px) translateY(\").concat(xy.y, \"px) translateZ(0)\"));\n }\n}\n\nvar RE_NUM = /[\\-+]?(?:\\d*\\.|)\\d+(?:[eE][\\-+]?\\d+|)/.source;\nvar getComputedStyleX;\n\n// https://stackoverflow.com/a/3485654/3040605\nfunction forceRelayout(elem) {\n var originalStyle = elem.style.display;\n elem.style.display = 'none';\n elem.offsetHeight; // eslint-disable-line\n elem.style.display = originalStyle;\n}\nfunction css(el, name, v) {\n var value = v;\n if (_typeof(name) === 'object') {\n for (var i in name) {\n if (name.hasOwnProperty(i)) {\n css(el, i, name[i]);\n }\n }\n return undefined;\n }\n if (typeof value !== 'undefined') {\n if (typeof value === 'number') {\n value = \"\".concat(value, \"px\");\n }\n el.style[name] = value;\n return undefined;\n }\n return getComputedStyleX(el, name);\n}\nfunction getClientPosition(elem) {\n var box;\n var x;\n var y;\n var doc = elem.ownerDocument;\n var body = doc.body;\n var docElem = doc && doc.documentElement;\n // 根据 GBS 最新数据,A-Grade Browsers 都已支持 getBoundingClientRect 方法,不用再考虑传统的实现方式\n box = elem.getBoundingClientRect();\n\n // 注:jQuery 还考虑减去 docElem.clientLeft/clientTop\n // 但测试发现,这样反而会导致当 html 和 body 有边距/边框样式时,获取的值不正确\n // 此外,ie6 会忽略 html 的 margin 值,幸运地是没有谁会去设置 html 的 margin\n\n x = Math.floor(box.left);\n y = Math.floor(box.top);\n\n // In IE, most of the time, 2 extra pixels are added to the top and left\n // due to the implicit 2-pixel inset border. In IE6/7 quirks mode and\n // IE6 standards mode, this border can be overridden by setting the\n // document element's border to zero -- thus, we cannot rely on the\n // offset always being 2 pixels.\n\n // In quirks mode, the offset can be determined by querying the body's\n // clientLeft/clientTop, but in standards mode, it is found by querying\n // the document element's clientLeft/clientTop. Since we already called\n // getClientBoundingRect we have already forced a reflow, so it is not\n // too expensive just to query them all.\n\n // ie 下应该减去窗口的边框吧,毕竟默认 absolute 都是相对窗口定位的\n // 窗口边框标准是设 documentElement ,quirks 时设置 body\n // 最好禁止在 body 和 html 上边框 ,但 ie < 9 html 默认有 2px ,减去\n // 但是非 ie 不可能设置窗口边框,body html 也不是窗口 ,ie 可以通过 html,body 设置\n // 标准 ie 下 docElem.clientTop 就是 border-top\n // ie7 html 即窗口边框改变不了。永远为 2\n // 但标准 firefox/chrome/ie9 下 docElem.clientTop 是窗口边框,即使设了 border-top 也为 0\n\n x -= docElem.clientLeft || body.clientLeft || 0;\n y -= docElem.clientTop || body.clientTop || 0;\n return {\n left: x,\n top: y\n };\n}\nfunction getScroll(w, top) {\n var ret = w[\"page\".concat(top ? 'Y' : 'X', \"Offset\")];\n var method = \"scroll\".concat(top ? 'Top' : 'Left');\n if (typeof ret !== 'number') {\n var d = w.document;\n // ie6,7,8 standard mode\n ret = d.documentElement[method];\n if (typeof ret !== 'number') {\n // quirks mode\n ret = d.body[method];\n }\n }\n return ret;\n}\nfunction getScrollLeft(w) {\n return getScroll(w);\n}\nfunction getScrollTop(w) {\n return getScroll(w, true);\n}\nfunction getOffset(el) {\n var pos = getClientPosition(el);\n var doc = el.ownerDocument;\n var w = doc.defaultView || doc.parentWindow;\n pos.left += getScrollLeft(w);\n pos.top += getScrollTop(w);\n return pos;\n}\n\n/**\n * A crude way of determining if an object is a window\n * @member util\n */\nfunction isWindow(obj) {\n // must use == for ie8\n /* eslint eqeqeq:0 */\n return obj !== null && obj !== undefined && obj == obj.window;\n}\nfunction getDocument(node) {\n if (isWindow(node)) {\n return node.document;\n }\n if (node.nodeType === 9) {\n return node;\n }\n return node.ownerDocument;\n}\nfunction _getComputedStyle(elem, name, cs) {\n var computedStyle = cs;\n var val = '';\n var d = getDocument(elem);\n computedStyle = computedStyle || d.defaultView.getComputedStyle(elem, null);\n\n // https://github.com/kissyteam/kissy/issues/61\n if (computedStyle) {\n val = computedStyle.getPropertyValue(name) || computedStyle[name];\n }\n return val;\n}\nvar _RE_NUM_NO_PX = new RegExp(\"^(\".concat(RE_NUM, \")(?!px)[a-z%]+$\"), 'i');\nvar RE_POS = /^(top|right|bottom|left)$/;\nvar CURRENT_STYLE = 'currentStyle';\nvar RUNTIME_STYLE = 'runtimeStyle';\nvar LEFT = 'left';\nvar PX = 'px';\nfunction _getComputedStyleIE(elem, name) {\n // currentStyle maybe null\n // http://msdn.microsoft.com/en-us/library/ms535231.aspx\n var ret = elem[CURRENT_STYLE] && elem[CURRENT_STYLE][name];\n\n // 当 width/height 设置为百分比时,通过 pixelLeft 方式转换的 width/height 值\n // 一开始就处理了! CUSTOM_STYLE.height,CUSTOM_STYLE.width ,cssHook 解决@2011-08-19\n // 在 ie 下不对,需要直接用 offset 方式\n // borderWidth 等值也有问题,但考虑到 borderWidth 设为百分比的概率很小,这里就不考虑了\n\n // From the awesome hack by Dean Edwards\n // http://erik.eae.net/archives/2007/07/27/18.54.15/#comment-102291\n // If we're not dealing with a regular pixel number\n // but a number that has a weird ending, we need to convert it to pixels\n // exclude left right for relativity\n if (_RE_NUM_NO_PX.test(ret) && !RE_POS.test(name)) {\n // Remember the original values\n var style = elem.style;\n var left = style[LEFT];\n var rsLeft = elem[RUNTIME_STYLE][LEFT];\n\n // prevent flashing of content\n elem[RUNTIME_STYLE][LEFT] = elem[CURRENT_STYLE][LEFT];\n\n // Put in the new values to get a computed value out\n style[LEFT] = name === 'fontSize' ? '1em' : ret || 0;\n ret = style.pixelLeft + PX;\n\n // Revert the changed values\n style[LEFT] = left;\n elem[RUNTIME_STYLE][LEFT] = rsLeft;\n }\n return ret === '' ? 'auto' : ret;\n}\nif (typeof window !== 'undefined') {\n getComputedStyleX = window.getComputedStyle ? _getComputedStyle : _getComputedStyleIE;\n}\nfunction getOffsetDirection(dir, option) {\n if (dir === 'left') {\n return option.useCssRight ? 'right' : dir;\n }\n return option.useCssBottom ? 'bottom' : dir;\n}\nfunction oppositeOffsetDirection(dir) {\n if (dir === 'left') {\n return 'right';\n } else if (dir === 'right') {\n return 'left';\n } else if (dir === 'top') {\n return 'bottom';\n } else if (dir === 'bottom') {\n return 'top';\n }\n}\n\n// 设置 elem 相对 elem.ownerDocument 的坐标\nfunction setLeftTop(elem, offset, option) {\n // set position first, in-case top/left are set even on static elem\n if (css(elem, 'position') === 'static') {\n elem.style.position = 'relative';\n }\n var presetH = -999;\n var presetV = -999;\n var horizontalProperty = getOffsetDirection('left', option);\n var verticalProperty = getOffsetDirection('top', option);\n var oppositeHorizontalProperty = oppositeOffsetDirection(horizontalProperty);\n var oppositeVerticalProperty = oppositeOffsetDirection(verticalProperty);\n if (horizontalProperty !== 'left') {\n presetH = 999;\n }\n if (verticalProperty !== 'top') {\n presetV = 999;\n }\n var originalTransition = '';\n var originalOffset = getOffset(elem);\n if ('left' in offset || 'top' in offset) {\n originalTransition = getTransitionProperty(elem) || '';\n setTransitionProperty(elem, 'none');\n }\n if ('left' in offset) {\n elem.style[oppositeHorizontalProperty] = '';\n elem.style[horizontalProperty] = \"\".concat(presetH, \"px\");\n }\n if ('top' in offset) {\n elem.style[oppositeVerticalProperty] = '';\n elem.style[verticalProperty] = \"\".concat(presetV, \"px\");\n }\n // force relayout\n forceRelayout(elem);\n var old = getOffset(elem);\n var originalStyle = {};\n for (var key in offset) {\n if (offset.hasOwnProperty(key)) {\n var dir = getOffsetDirection(key, option);\n var preset = key === 'left' ? presetH : presetV;\n var off = originalOffset[key] - old[key];\n if (dir === key) {\n originalStyle[dir] = preset + off;\n } else {\n originalStyle[dir] = preset - off;\n }\n }\n }\n css(elem, originalStyle);\n // force relayout\n forceRelayout(elem);\n if ('left' in offset || 'top' in offset) {\n setTransitionProperty(elem, originalTransition);\n }\n var ret = {};\n for (var _key in offset) {\n if (offset.hasOwnProperty(_key)) {\n var _dir = getOffsetDirection(_key, option);\n var _off = offset[_key] - originalOffset[_key];\n if (_key === _dir) {\n ret[_dir] = originalStyle[_dir] + _off;\n } else {\n ret[_dir] = originalStyle[_dir] - _off;\n }\n }\n }\n css(elem, ret);\n}\nfunction setTransform$1(elem, offset) {\n var originalOffset = getOffset(elem);\n var originalXY = getTransformXY(elem);\n var resultXY = {\n x: originalXY.x,\n y: originalXY.y\n };\n if ('left' in offset) {\n resultXY.x = originalXY.x + offset.left - originalOffset.left;\n }\n if ('top' in offset) {\n resultXY.y = originalXY.y + offset.top - originalOffset.top;\n }\n setTransformXY(elem, resultXY);\n}\nfunction setOffset(elem, offset, option) {\n if (option.ignoreShake) {\n var oriOffset = getOffset(elem);\n var oLeft = oriOffset.left.toFixed(0);\n var oTop = oriOffset.top.toFixed(0);\n var tLeft = offset.left.toFixed(0);\n var tTop = offset.top.toFixed(0);\n if (oLeft === tLeft && oTop === tTop) {\n return;\n }\n }\n if (option.useCssRight || option.useCssBottom) {\n setLeftTop(elem, offset, option);\n } else if (option.useCssTransform && getTransformName() in document.body.style) {\n setTransform$1(elem, offset);\n } else {\n setLeftTop(elem, offset, option);\n }\n}\nfunction each(arr, fn) {\n for (var i = 0; i < arr.length; i++) {\n fn(arr[i]);\n }\n}\nfunction isBorderBoxFn(elem) {\n return getComputedStyleX(elem, 'boxSizing') === 'border-box';\n}\nvar BOX_MODELS = ['margin', 'border', 'padding'];\nvar CONTENT_INDEX = -1;\nvar PADDING_INDEX = 2;\nvar BORDER_INDEX = 1;\nvar MARGIN_INDEX = 0;\nfunction swap(elem, options, callback) {\n var old = {};\n var style = elem.style;\n var name;\n\n // Remember the old values, and insert the new ones\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n old[name] = style[name];\n style[name] = options[name];\n }\n }\n callback.call(elem);\n\n // Revert the old values\n for (name in options) {\n if (options.hasOwnProperty(name)) {\n style[name] = old[name];\n }\n }\n}\nfunction getPBMWidth(elem, props, which) {\n var value = 0;\n var prop;\n var j;\n var i;\n for (j = 0; j < props.length; j++) {\n prop = props[j];\n if (prop) {\n for (i = 0; i < which.length; i++) {\n var cssProp = void 0;\n if (prop === 'border') {\n cssProp = \"\".concat(prop).concat(which[i], \"Width\");\n } else {\n cssProp = prop + which[i];\n }\n value += parseFloat(getComputedStyleX(elem, cssProp)) || 0;\n }\n }\n }\n return value;\n}\nvar domUtils = {\n getParent: function getParent(element) {\n var parent = element;\n do {\n if (parent.nodeType === 11 && parent.host) {\n parent = parent.host;\n } else {\n parent = parent.parentNode;\n }\n } while (parent && parent.nodeType !== 1 && parent.nodeType !== 9);\n return parent;\n }\n};\neach(['Width', 'Height'], function (name) {\n domUtils[\"doc\".concat(name)] = function (refWin) {\n var d = refWin.document;\n return Math.max(\n // firefox chrome documentElement.scrollHeight< body.scrollHeight\n // ie standard mode : documentElement.scrollHeight> body.scrollHeight\n d.documentElement[\"scroll\".concat(name)],\n // quirks : documentElement.scrollHeight 最大等于可视窗口多一点?\n d.body[\"scroll\".concat(name)], domUtils[\"viewport\".concat(name)](d));\n };\n domUtils[\"viewport\".concat(name)] = function (win) {\n // pc browser includes scrollbar in window.innerWidth\n var prop = \"client\".concat(name);\n var doc = win.document;\n var body = doc.body;\n var documentElement = doc.documentElement;\n var documentElementProp = documentElement[prop];\n // 标准模式取 documentElement\n // backcompat 取 body\n return doc.compatMode === 'CSS1Compat' && documentElementProp || body && body[prop] || documentElementProp;\n };\n});\n\n/*\n 得到元素的大小信息\n @param elem\n @param name\n @param {String} [extra] 'padding' : (css width) + padding\n 'border' : (css width) + padding + border\n 'margin' : (css width) + padding + border + margin\n */\nfunction getWH(elem, name, ex) {\n var extra = ex;\n if (isWindow(elem)) {\n return name === 'width' ? domUtils.viewportWidth(elem) : domUtils.viewportHeight(elem);\n } else if (elem.nodeType === 9) {\n return name === 'width' ? domUtils.docWidth(elem) : domUtils.docHeight(elem);\n }\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n var borderBoxValue = name === 'width' ? Math.floor(elem.getBoundingClientRect().width) : Math.floor(elem.getBoundingClientRect().height);\n var isBorderBox = isBorderBoxFn(elem);\n var cssBoxValue = 0;\n if (borderBoxValue === null || borderBoxValue === undefined || borderBoxValue <= 0) {\n borderBoxValue = undefined;\n // Fall back to computed then un computed css if necessary\n cssBoxValue = getComputedStyleX(elem, name);\n if (cssBoxValue === null || cssBoxValue === undefined || Number(cssBoxValue) < 0) {\n cssBoxValue = elem.style[name] || 0;\n }\n // Normalize '', auto, and prepare for extra\n cssBoxValue = Math.floor(parseFloat(cssBoxValue)) || 0;\n }\n if (extra === undefined) {\n extra = isBorderBox ? BORDER_INDEX : CONTENT_INDEX;\n }\n var borderBoxValueOrIsBorderBox = borderBoxValue !== undefined || isBorderBox;\n var val = borderBoxValue || cssBoxValue;\n if (extra === CONTENT_INDEX) {\n if (borderBoxValueOrIsBorderBox) {\n return val - getPBMWidth(elem, ['border', 'padding'], which);\n }\n return cssBoxValue;\n } else if (borderBoxValueOrIsBorderBox) {\n if (extra === BORDER_INDEX) {\n return val;\n }\n return val + (extra === PADDING_INDEX ? -getPBMWidth(elem, ['border'], which) : getPBMWidth(elem, ['margin'], which));\n }\n return cssBoxValue + getPBMWidth(elem, BOX_MODELS.slice(extra), which);\n}\nvar cssShow = {\n position: 'absolute',\n visibility: 'hidden',\n display: 'block'\n};\n\n// fix #119 : https://github.com/kissyteam/kissy/issues/119\nfunction getWHIgnoreDisplay() {\n for (var _len = arguments.length, args = new Array(_len), _key2 = 0; _key2 < _len; _key2++) {\n args[_key2] = arguments[_key2];\n }\n var val;\n var elem = args[0];\n // in case elem is window\n // elem.offsetWidth === undefined\n if (elem.offsetWidth !== 0) {\n val = getWH.apply(undefined, args);\n } else {\n swap(elem, cssShow, function () {\n val = getWH.apply(undefined, args);\n });\n }\n return val;\n}\neach(['width', 'height'], function (name) {\n var first = name.charAt(0).toUpperCase() + name.slice(1);\n domUtils[\"outer\".concat(first)] = function (el, includeMargin) {\n return el && getWHIgnoreDisplay(el, name, includeMargin ? MARGIN_INDEX : BORDER_INDEX);\n };\n var which = name === 'width' ? ['Left', 'Right'] : ['Top', 'Bottom'];\n domUtils[name] = function (elem, v) {\n var val = v;\n if (val !== undefined) {\n if (elem) {\n var isBorderBox = isBorderBoxFn(elem);\n if (isBorderBox) {\n val += getPBMWidth(elem, ['padding', 'border'], which);\n }\n return css(elem, name, val);\n }\n return undefined;\n }\n return elem && getWHIgnoreDisplay(elem, name, CONTENT_INDEX);\n };\n});\nfunction mix(to, from) {\n for (var i in from) {\n if (from.hasOwnProperty(i)) {\n to[i] = from[i];\n }\n }\n return to;\n}\nvar utils = {\n getWindow: function getWindow(node) {\n if (node && node.document && node.setTimeout) {\n return node;\n }\n var doc = node.ownerDocument || node;\n return doc.defaultView || doc.parentWindow;\n },\n getDocument: getDocument,\n offset: function offset(el, value, option) {\n if (typeof value !== 'undefined') {\n setOffset(el, value, option || {});\n } else {\n return getOffset(el);\n }\n },\n isWindow: isWindow,\n each: each,\n css: css,\n clone: function clone(obj) {\n var i;\n var ret = {};\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret[i] = obj[i];\n }\n }\n var overflow = obj.overflow;\n if (overflow) {\n for (i in obj) {\n if (obj.hasOwnProperty(i)) {\n ret.overflow[i] = obj.overflow[i];\n }\n }\n }\n return ret;\n },\n mix: mix,\n getWindowScrollLeft: function getWindowScrollLeft(w) {\n return getScrollLeft(w);\n },\n getWindowScrollTop: function getWindowScrollTop(w) {\n return getScrollTop(w);\n },\n merge: function merge() {\n var ret = {};\n for (var i = 0; i < arguments.length; i++) {\n utils.mix(ret, i < 0 || arguments.length <= i ? undefined : arguments[i]);\n }\n return ret;\n },\n viewportWidth: 0,\n viewportHeight: 0\n};\nmix(utils, domUtils);\n\n/**\n * 得到会导致元素显示不全的祖先元素\n */\nvar getParent = utils.getParent;\nfunction getOffsetParent(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return null;\n }\n // ie 这个也不是完全可行\n /*\n

\n
\n 元素 6 高 100px 宽 50px
\n
\n
\n */\n // element.offsetParent does the right thing in ie7 and below. Return parent with layout!\n // In other browsers it only includes elements with position absolute, relative or\n // fixed, not elements with overflow set to auto or scroll.\n // if (UA.ie && ieMode < 8) {\n // return element.offsetParent;\n // }\n // 统一的 offsetParent 方法\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent;\n var positionStyle = utils.css(element, 'position');\n var skipStatic = positionStyle === 'fixed' || positionStyle === 'absolute';\n if (!skipStatic) {\n return element.nodeName.toLowerCase() === 'html' ? null : getParent(element);\n }\n for (parent = getParent(element); parent && parent !== body && parent.nodeType !== 9; parent = getParent(parent)) {\n positionStyle = utils.css(parent, 'position');\n if (positionStyle !== 'static') {\n return parent;\n }\n }\n return null;\n}\n\nvar getParent$1 = utils.getParent;\nfunction isAncestorFixed(element) {\n if (utils.isWindow(element) || element.nodeType === 9) {\n return false;\n }\n var doc = utils.getDocument(element);\n var body = doc.body;\n var parent = null;\n for (parent = getParent$1(element);\n // 修复元素位于 document.documentElement 下导致崩溃问题\n parent && parent !== body && parent !== doc; parent = getParent$1(parent)) {\n var positionStyle = utils.css(parent, 'position');\n if (positionStyle === 'fixed') {\n return true;\n }\n }\n return false;\n}\n\n/**\n * 获得元素的显示部分的区域\n */\nfunction getVisibleRectForElement(element, alwaysByViewport) {\n var visibleRect = {\n left: 0,\n right: Infinity,\n top: 0,\n bottom: Infinity\n };\n var el = getOffsetParent(element);\n var doc = utils.getDocument(element);\n var win = doc.defaultView || doc.parentWindow;\n var body = doc.body;\n var documentElement = doc.documentElement;\n\n // Determine the size of the visible rect by climbing the dom accounting for\n // all scrollable containers.\n while (el) {\n // clientWidth is zero for inline block elements in ie.\n if ((navigator.userAgent.indexOf('MSIE') === -1 || el.clientWidth !== 0) &&\n // body may have overflow set on it, yet we still get the entire\n // viewport. In some browsers, el.offsetParent may be\n // document.documentElement, so check for that too.\n el !== body && el !== documentElement && utils.css(el, 'overflow') !== 'visible') {\n var pos = utils.offset(el);\n // add border\n pos.left += el.clientLeft;\n pos.top += el.clientTop;\n visibleRect.top = Math.max(visibleRect.top, pos.top);\n visibleRect.right = Math.min(visibleRect.right,\n // consider area without scrollBar\n pos.left + el.clientWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, pos.top + el.clientHeight);\n visibleRect.left = Math.max(visibleRect.left, pos.left);\n } else if (el === body || el === documentElement) {\n break;\n }\n el = getOffsetParent(el);\n }\n\n // Set element position to fixed\n // make sure absolute element itself don't affect it's visible area\n // https://github.com/ant-design/ant-design/issues/7601\n var originalPosition = null;\n if (!utils.isWindow(element) && element.nodeType !== 9) {\n originalPosition = element.style.position;\n var position = utils.css(element, 'position');\n if (position === 'absolute') {\n element.style.position = 'fixed';\n }\n }\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n var documentWidth = documentElement.scrollWidth;\n var documentHeight = documentElement.scrollHeight;\n\n // scrollXXX on html is sync with body which means overflow: hidden on body gets wrong scrollXXX.\n // We should cut this ourself.\n var bodyStyle = window.getComputedStyle(body);\n if (bodyStyle.overflowX === 'hidden') {\n documentWidth = win.innerWidth;\n }\n if (bodyStyle.overflowY === 'hidden') {\n documentHeight = win.innerHeight;\n }\n\n // Reset element position after calculate the visible area\n if (element.style) {\n element.style.position = originalPosition;\n }\n if (alwaysByViewport || isAncestorFixed(element)) {\n // Clip by viewport's size.\n visibleRect.left = Math.max(visibleRect.left, scrollX);\n visibleRect.top = Math.max(visibleRect.top, scrollY);\n visibleRect.right = Math.min(visibleRect.right, scrollX + viewportWidth);\n visibleRect.bottom = Math.min(visibleRect.bottom, scrollY + viewportHeight);\n } else {\n // Clip by document's size.\n var maxVisibleWidth = Math.max(documentWidth, scrollX + viewportWidth);\n visibleRect.right = Math.min(visibleRect.right, maxVisibleWidth);\n var maxVisibleHeight = Math.max(documentHeight, scrollY + viewportHeight);\n visibleRect.bottom = Math.min(visibleRect.bottom, maxVisibleHeight);\n }\n return visibleRect.top >= 0 && visibleRect.left >= 0 && visibleRect.bottom > visibleRect.top && visibleRect.right > visibleRect.left ? visibleRect : null;\n}\n\nfunction adjustForViewport(elFuturePos, elRegion, visibleRect, overflow) {\n var pos = utils.clone(elFuturePos);\n var size = {\n width: elRegion.width,\n height: elRegion.height\n };\n if (overflow.adjustX && pos.left < visibleRect.left) {\n pos.left = visibleRect.left;\n }\n\n // Left edge inside and right edge outside viewport, try to resize it.\n if (overflow.resizeWidth && pos.left >= visibleRect.left && pos.left + size.width > visibleRect.right) {\n size.width -= pos.left + size.width - visibleRect.right;\n }\n\n // Right edge outside viewport, try to move it.\n if (overflow.adjustX && pos.left + size.width > visibleRect.right) {\n // 保证左边界和可视区域左边界对齐\n pos.left = Math.max(visibleRect.right - size.width, visibleRect.left);\n }\n\n // Top edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top < visibleRect.top) {\n pos.top = visibleRect.top;\n }\n\n // Top edge inside and bottom edge outside viewport, try to resize it.\n if (overflow.resizeHeight && pos.top >= visibleRect.top && pos.top + size.height > visibleRect.bottom) {\n size.height -= pos.top + size.height - visibleRect.bottom;\n }\n\n // Bottom edge outside viewport, try to move it.\n if (overflow.adjustY && pos.top + size.height > visibleRect.bottom) {\n // 保证上边界和可视区域上边界对齐\n pos.top = Math.max(visibleRect.bottom - size.height, visibleRect.top);\n }\n return utils.mix(pos, size);\n}\n\nfunction getRegion(node) {\n var offset;\n var w;\n var h;\n if (!utils.isWindow(node) && node.nodeType !== 9) {\n offset = utils.offset(node);\n w = utils.outerWidth(node);\n h = utils.outerHeight(node);\n } else {\n var win = utils.getWindow(node);\n offset = {\n left: utils.getWindowScrollLeft(win),\n top: utils.getWindowScrollTop(win)\n };\n w = utils.viewportWidth(win);\n h = utils.viewportHeight(win);\n }\n offset.width = w;\n offset.height = h;\n return offset;\n}\n\n/**\n * 获取 node 上的 align 对齐点 相对于页面的坐标\n */\n\nfunction getAlignOffset(region, align) {\n var V = align.charAt(0);\n var H = align.charAt(1);\n var w = region.width;\n var h = region.height;\n var x = region.left;\n var y = region.top;\n if (V === 'c') {\n y += h / 2;\n } else if (V === 'b') {\n y += h;\n }\n if (H === 'c') {\n x += w / 2;\n } else if (H === 'r') {\n x += w;\n }\n return {\n left: x,\n top: y\n };\n}\n\nfunction getElFuturePos(elRegion, refNodeRegion, points, offset, targetOffset) {\n var p1 = getAlignOffset(refNodeRegion, points[1]);\n var p2 = getAlignOffset(elRegion, points[0]);\n var diff = [p2.left - p1.left, p2.top - p1.top];\n return {\n left: Math.round(elRegion.left - diff[0] + offset[0] - targetOffset[0]),\n top: Math.round(elRegion.top - diff[1] + offset[1] - targetOffset[1])\n };\n}\n\n/**\n * align dom node flexibly\n * @author yiminghe@gmail.com\n */\n\n// http://yiminghe.iteye.com/blog/1124720\n\nfunction isFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left < visibleRect.left || elFuturePos.left + elRegion.width > visibleRect.right;\n}\nfunction isFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top < visibleRect.top || elFuturePos.top + elRegion.height > visibleRect.bottom;\n}\nfunction isCompleteFailX(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.left > visibleRect.right || elFuturePos.left + elRegion.width < visibleRect.left;\n}\nfunction isCompleteFailY(elFuturePos, elRegion, visibleRect) {\n return elFuturePos.top > visibleRect.bottom || elFuturePos.top + elRegion.height < visibleRect.top;\n}\nfunction flip(points, reg, map) {\n var ret = [];\n utils.each(points, function (p) {\n ret.push(p.replace(reg, function (m) {\n return map[m];\n }));\n });\n return ret;\n}\nfunction flipOffset(offset, index) {\n offset[index] = -offset[index];\n return offset;\n}\nfunction convertOffset(str, offsetLen) {\n var n;\n if (/%$/.test(str)) {\n n = parseInt(str.substring(0, str.length - 1), 10) / 100 * offsetLen;\n } else {\n n = parseInt(str, 10);\n }\n return n || 0;\n}\nfunction normalizeOffset(offset, el) {\n offset[0] = convertOffset(offset[0], el.width);\n offset[1] = convertOffset(offset[1], el.height);\n}\n\n/**\n * @param el\n * @param tgtRegion 参照节点所占的区域: { left, top, width, height }\n * @param align\n */\nfunction doAlign(el, tgtRegion, align, isTgtRegionVisible) {\n var points = align.points;\n var offset = align.offset || [0, 0];\n var targetOffset = align.targetOffset || [0, 0];\n var overflow = align.overflow;\n var source = align.source || el;\n offset = [].concat(offset);\n targetOffset = [].concat(targetOffset);\n overflow = overflow || {};\n var newOverflowCfg = {};\n var fail = 0;\n var alwaysByViewport = !!(overflow && overflow.alwaysByViewport);\n // 当前节点可以被放置的显示区域\n var visibleRect = getVisibleRectForElement(source, alwaysByViewport);\n // 当前节点所占的区域, left/top/width/height\n var elRegion = getRegion(source);\n // 将 offset 转换成数值,支持百分比\n normalizeOffset(offset, elRegion);\n normalizeOffset(targetOffset, tgtRegion);\n // 当前节点将要被放置的位置\n var elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n // 当前节点将要所处的区域\n var newElRegion = utils.merge(elRegion, elFuturePos);\n\n // 如果可视区域不能完全放置当前节点时允许调整\n if (visibleRect && (overflow.adjustX || overflow.adjustY) && isTgtRegionVisible) {\n if (overflow.adjustX) {\n // 如果横向不能放下\n if (isFailX(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var newPoints = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n // 偏移量也反下\n var newOffset = flipOffset(offset, 0);\n var newTargetOffset = flipOffset(targetOffset, 0);\n var newElFuturePos = getElFuturePos(elRegion, tgtRegion, newPoints, newOffset, newTargetOffset);\n if (!isCompleteFailX(newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = newPoints;\n offset = newOffset;\n targetOffset = newTargetOffset;\n }\n }\n }\n if (overflow.adjustY) {\n // 如果纵向不能放下\n if (isFailY(elFuturePos, elRegion, visibleRect)) {\n // 对齐位置反下\n var _newPoints = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n // 偏移量也反下\n var _newOffset = flipOffset(offset, 1);\n var _newTargetOffset = flipOffset(targetOffset, 1);\n var _newElFuturePos = getElFuturePos(elRegion, tgtRegion, _newPoints, _newOffset, _newTargetOffset);\n if (!isCompleteFailY(_newElFuturePos, elRegion, visibleRect)) {\n fail = 1;\n points = _newPoints;\n offset = _newOffset;\n targetOffset = _newTargetOffset;\n }\n }\n }\n\n // 如果失败,重新计算当前节点将要被放置的位置\n if (fail) {\n elFuturePos = getElFuturePos(elRegion, tgtRegion, points, offset, targetOffset);\n utils.mix(newElRegion, elFuturePos);\n }\n var isStillFailX = isFailX(elFuturePos, elRegion, visibleRect);\n var isStillFailY = isFailY(elFuturePos, elRegion, visibleRect);\n // 检查反下后的位置是否可以放下了,如果仍然放不下:\n // 1. 复原修改过的定位参数\n if (isStillFailX || isStillFailY) {\n var _newPoints2 = points;\n\n // 重置对应部分的翻转逻辑\n if (isStillFailX) {\n _newPoints2 = flip(points, /[lr]/gi, {\n l: 'r',\n r: 'l'\n });\n }\n if (isStillFailY) {\n _newPoints2 = flip(points, /[tb]/gi, {\n t: 'b',\n b: 't'\n });\n }\n points = _newPoints2;\n offset = align.offset || [0, 0];\n targetOffset = align.targetOffset || [0, 0];\n }\n // 2. 只有指定了可以调整当前方向才调整\n newOverflowCfg.adjustX = overflow.adjustX && isStillFailX;\n newOverflowCfg.adjustY = overflow.adjustY && isStillFailY;\n\n // 确实要调整,甚至可能会调整高度宽度\n if (newOverflowCfg.adjustX || newOverflowCfg.adjustY) {\n newElRegion = adjustForViewport(elFuturePos, elRegion, visibleRect, newOverflowCfg);\n }\n }\n\n // need judge to in case set fixed with in css on height auto element\n if (newElRegion.width !== elRegion.width) {\n utils.css(source, 'width', utils.width(source) + newElRegion.width - elRegion.width);\n }\n if (newElRegion.height !== elRegion.height) {\n utils.css(source, 'height', utils.height(source) + newElRegion.height - elRegion.height);\n }\n\n // https://github.com/kissyteam/kissy/issues/190\n // 相对于屏幕位置没变,而 left/top 变了\n // 例如
\n utils.offset(source, {\n left: newElRegion.left,\n top: newElRegion.top\n }, {\n useCssRight: align.useCssRight,\n useCssBottom: align.useCssBottom,\n useCssTransform: align.useCssTransform,\n ignoreShake: align.ignoreShake\n });\n return {\n points: points,\n offset: offset,\n targetOffset: targetOffset,\n overflow: newOverflowCfg\n };\n}\n/**\n * 2012-04-26 yiminghe@gmail.com\n * - 优化智能对齐算法\n * - 慎用 resizeXX\n *\n * 2011-07-13 yiminghe@gmail.com note:\n * - 增加智能对齐,以及大小调整选项\n **/\n\nfunction isOutOfVisibleRect(target, alwaysByViewport) {\n var visibleRect = getVisibleRectForElement(target, alwaysByViewport);\n var targetRegion = getRegion(target);\n return !visibleRect || targetRegion.left + targetRegion.width <= visibleRect.left || targetRegion.top + targetRegion.height <= visibleRect.top || targetRegion.left >= visibleRect.right || targetRegion.top >= visibleRect.bottom;\n}\nfunction alignElement(el, refNode, align) {\n var target = align.target || refNode;\n var refNodeRegion = getRegion(target);\n var isTargetNotOutOfVisible = !isOutOfVisibleRect(target, align.overflow && align.overflow.alwaysByViewport);\n return doAlign(el, refNodeRegion, align, isTargetNotOutOfVisible);\n}\nalignElement.__getOffsetParent = getOffsetParent;\nalignElement.__getVisibleRectForElement = getVisibleRectForElement;\n\n/**\n * `tgtPoint`: { pageX, pageY } or { clientX, clientY }.\n * If client position provided, will internal convert to page position.\n */\n\nfunction alignPoint(el, tgtPoint, align) {\n var pageX;\n var pageY;\n var doc = utils.getDocument(el);\n var win = doc.defaultView || doc.parentWindow;\n var scrollX = utils.getWindowScrollLeft(win);\n var scrollY = utils.getWindowScrollTop(win);\n var viewportWidth = utils.viewportWidth(win);\n var viewportHeight = utils.viewportHeight(win);\n if ('pageX' in tgtPoint) {\n pageX = tgtPoint.pageX;\n } else {\n pageX = scrollX + tgtPoint.clientX;\n }\n if ('pageY' in tgtPoint) {\n pageY = tgtPoint.pageY;\n } else {\n pageY = scrollY + tgtPoint.clientY;\n }\n var tgtRegion = {\n left: pageX,\n top: pageY,\n width: 0,\n height: 0\n };\n var pointInView = pageX >= 0 && pageX <= scrollX + viewportWidth && pageY >= 0 && pageY <= scrollY + viewportHeight;\n\n // Provide default target point\n var points = [align.points[0], 'cc'];\n return doAlign(el, tgtRegion, _objectSpread2(_objectSpread2({}, align), {}, {\n points: points\n }), pointInView);\n}\n\nexport default alignElement;\nexport { alignElement, alignPoint };\n//# sourceMappingURL=index.js.map\n","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport ResizeObserver from 'resize-observer-polyfill';\nimport contains from \"rc-util/es/Dom/contains\";\nexport function isSamePoint(prev, next) {\n if (prev === next) return true;\n if (!prev || !next) return false;\n\n if ('pageX' in next && 'pageY' in next) {\n return prev.pageX === next.pageX && prev.pageY === next.pageY;\n }\n\n if ('clientX' in next && 'clientY' in next) {\n return prev.clientX === next.clientX && prev.clientY === next.clientY;\n }\n\n return false;\n}\nexport function restoreFocus(activeElement, container) {\n // Focus back if is in the container\n if (activeElement !== document.activeElement && contains(container, activeElement) && typeof activeElement.focus === 'function') {\n activeElement.focus();\n }\n}\nexport function monitorResize(element, callback) {\n var prevWidth = null;\n var prevHeight = null;\n\n function onResize(_ref) {\n var _ref2 = _slicedToArray(_ref, 1),\n target = _ref2[0].target;\n\n if (!document.documentElement.contains(target)) return;\n\n var _target$getBoundingCl = target.getBoundingClientRect(),\n width = _target$getBoundingCl.width,\n height = _target$getBoundingCl.height;\n\n var fixedWidth = Math.floor(width);\n var fixedHeight = Math.floor(height);\n\n if (prevWidth !== fixedWidth || prevHeight !== fixedHeight) {\n // https://webkit.org/blog/9997/resizeobserver-in-webkit/\n Promise.resolve().then(function () {\n callback({\n width: fixedWidth,\n height: fixedHeight\n });\n });\n }\n\n prevWidth = fixedWidth;\n prevHeight = fixedHeight;\n }\n\n var resizeObserver = new ResizeObserver(onResize);\n\n if (element) {\n resizeObserver.observe(element);\n }\n\n return function () {\n resizeObserver.disconnect();\n };\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\n\n/**\n * Removed props:\n * - childrenProps\n */\nimport React from 'react';\nimport { composeRef } from \"rc-util/es/ref\";\nimport isVisible from \"rc-util/es/Dom/isVisible\";\nimport { alignElement, alignPoint } from 'dom-align';\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport isEqual from 'lodash/isEqual';\nimport { isSamePoint, restoreFocus, monitorResize } from './util';\nimport useBuffer from './hooks/useBuffer';\n\nfunction getElement(func) {\n if (typeof func !== 'function') return null;\n return func();\n}\n\nfunction getPoint(point) {\n if (_typeof(point) !== 'object' || !point) return null;\n return point;\n}\n\nvar Align = function Align(_ref, ref) {\n var children = _ref.children,\n disabled = _ref.disabled,\n target = _ref.target,\n align = _ref.align,\n onAlign = _ref.onAlign,\n monitorWindowResize = _ref.monitorWindowResize,\n _ref$monitorBufferTim = _ref.monitorBufferTime,\n monitorBufferTime = _ref$monitorBufferTim === void 0 ? 0 : _ref$monitorBufferTim;\n var cacheRef = React.useRef({});\n var nodeRef = React.useRef();\n var childNode = React.Children.only(children); // ===================== Align ======================\n // We save the props here to avoid closure makes props ood\n\n var forceAlignPropsRef = React.useRef({});\n forceAlignPropsRef.current.disabled = disabled;\n forceAlignPropsRef.current.target = target;\n forceAlignPropsRef.current.align = align;\n forceAlignPropsRef.current.onAlign = onAlign;\n\n var _useBuffer = useBuffer(function () {\n var _forceAlignPropsRef$c = forceAlignPropsRef.current,\n latestDisabled = _forceAlignPropsRef$c.disabled,\n latestTarget = _forceAlignPropsRef$c.target,\n latestAlign = _forceAlignPropsRef$c.align,\n latestOnAlign = _forceAlignPropsRef$c.onAlign;\n\n if (!latestDisabled && latestTarget) {\n var source = nodeRef.current;\n var result;\n var element = getElement(latestTarget);\n var point = getPoint(latestTarget);\n cacheRef.current.element = element;\n cacheRef.current.point = point;\n cacheRef.current.align = latestAlign; // IE lose focus after element realign\n // We should record activeElement and restore later\n\n // IE lose focus after element realign\n // We should record activeElement and restore later\n var _document = document,\n activeElement = _document.activeElement; // We only align when element is visible\n\n // We only align when element is visible\n if (element && isVisible(element)) {\n result = alignElement(source, element, latestAlign);\n } else if (point) {\n result = alignPoint(source, point, latestAlign);\n }\n\n restoreFocus(activeElement, source);\n\n if (latestOnAlign && result) {\n latestOnAlign(source, result);\n }\n\n return true;\n }\n\n return false;\n }, monitorBufferTime),\n _useBuffer2 = _slicedToArray(_useBuffer, 2),\n _forceAlign = _useBuffer2[0],\n cancelForceAlign = _useBuffer2[1]; // ===================== Effect =====================\n // Listen for target updated\n\n\n var resizeMonitor = React.useRef({\n cancel: function cancel() {}\n }); // Listen for source updated\n\n var sourceResizeMonitor = React.useRef({\n cancel: function cancel() {}\n });\n React.useEffect(function () {\n var element = getElement(target);\n var point = getPoint(target);\n\n if (nodeRef.current !== sourceResizeMonitor.current.element) {\n sourceResizeMonitor.current.cancel();\n sourceResizeMonitor.current.element = nodeRef.current;\n sourceResizeMonitor.current.cancel = monitorResize(nodeRef.current, _forceAlign);\n }\n\n if (cacheRef.current.element !== element || !isSamePoint(cacheRef.current.point, point) || !isEqual(cacheRef.current.align, align)) {\n _forceAlign(); // Add resize observer\n\n\n if (resizeMonitor.current.element !== element) {\n resizeMonitor.current.cancel();\n resizeMonitor.current.element = element;\n resizeMonitor.current.cancel = monitorResize(element, _forceAlign);\n }\n }\n }); // Listen for disabled change\n\n React.useEffect(function () {\n if (!disabled) {\n _forceAlign();\n } else {\n cancelForceAlign();\n }\n }, [disabled]); // Listen for window resize\n\n var winResizeRef = React.useRef(null);\n React.useEffect(function () {\n if (monitorWindowResize) {\n if (!winResizeRef.current) {\n winResizeRef.current = addEventListener(window, 'resize', _forceAlign);\n }\n } else if (winResizeRef.current) {\n winResizeRef.current.remove();\n winResizeRef.current = null;\n }\n }, [monitorWindowResize]); // Clear all if unmount\n\n React.useEffect(function () {\n return function () {\n resizeMonitor.current.cancel();\n sourceResizeMonitor.current.cancel();\n if (winResizeRef.current) winResizeRef.current.remove();\n cancelForceAlign();\n };\n }, []); // ====================== Ref =======================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {\n return _forceAlign(true);\n }\n };\n }); // ===================== Render =====================\n\n if ( /*#__PURE__*/React.isValidElement(childNode)) {\n childNode = /*#__PURE__*/React.cloneElement(childNode, {\n ref: composeRef(childNode.ref, nodeRef)\n });\n }\n\n return childNode;\n};\n\nvar RcAlign = /*#__PURE__*/React.forwardRef(Align);\nRcAlign.displayName = 'Align';\nexport default RcAlign;","import React from 'react';\nexport default (function (callback, buffer) {\n var calledRef = React.useRef(false);\n var timeoutRef = React.useRef(null);\n\n function cancelTrigger() {\n window.clearTimeout(timeoutRef.current);\n }\n\n function trigger(force) {\n cancelTrigger();\n\n if (!calledRef.current || force === true) {\n if (callback() === false) {\n // Not delay since callback cancelled self\n return;\n }\n\n calledRef.current = true;\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n }, buffer);\n } else {\n timeoutRef.current = window.setTimeout(function () {\n calledRef.current = false;\n trigger();\n }, buffer);\n }\n }\n\n return [trigger, function () {\n calledRef.current = false;\n cancelTrigger();\n }];\n});","// export this package's api\nimport Align from './Align';\nexport default Align;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport { useEffect, useRef } from 'react';\nimport raf from \"rc-util/es/raf\";\nimport useState from \"rc-util/es/hooks/useState\";\n/**\n * Popup should follow the steps for each component work correctly:\n * measure - check for the current stretch size\n * align - let component align the position\n * aligned - re-align again in case additional className changed the size\n * afterAlign - choice next step is trigger motion or finished\n * beforeMotion - should reset motion to invisible so that CSSMotion can do normal motion\n * motion - play the motion\n * stable - everything is done\n */\n\nvar StatusQueue = ['measure', 'alignPre', 'align', null, 'motion'];\nexport default (function (visible, doMeasure) {\n var _useState = useState(null),\n _useState2 = _slicedToArray(_useState, 2),\n status = _useState2[0],\n setInternalStatus = _useState2[1];\n\n var rafRef = useRef();\n\n function setStatus(nextStatus) {\n setInternalStatus(nextStatus, true);\n }\n\n function cancelRaf() {\n raf.cancel(rafRef.current);\n }\n\n function goNextStatus(callback) {\n cancelRaf();\n rafRef.current = raf(function () {\n // Only align should be manually trigger\n setStatus(function (prev) {\n switch (status) {\n case 'align':\n return 'motion';\n\n case 'motion':\n return 'stable';\n\n default:\n }\n\n return prev;\n });\n callback === null || callback === void 0 ? void 0 : callback();\n });\n } // Init status\n\n\n useEffect(function () {\n setStatus('measure');\n }, [visible]); // Go next status\n\n useEffect(function () {\n switch (status) {\n case 'measure':\n doMeasure();\n break;\n\n default:\n }\n\n if (status) {\n rafRef.current = raf( /*#__PURE__*/_asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee() {\n var index, nextStatus;\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n index = StatusQueue.indexOf(status);\n nextStatus = StatusQueue[index + 1];\n\n if (nextStatus && index !== -1) {\n setStatus(nextStatus);\n }\n\n case 3:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n })));\n }\n }, [status]);\n useEffect(function () {\n return function () {\n cancelRaf();\n };\n }, []);\n return [status, goNextStatus];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport { useRef, useState } from 'react';\nimport Align from 'rc-align';\nimport useLayoutEffect from \"rc-util/es/hooks/useLayoutEffect\";\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nimport useVisibleStatus from \"./useVisibleStatus\";\nimport { getMotion } from \"../utils/legacyUtil\";\nimport useStretchStyle from \"./useStretchStyle\";\nvar PopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var visible = props.visible,\n prefixCls = props.prefixCls,\n className = props.className,\n style = props.style,\n children = props.children,\n zIndex = props.zIndex,\n stretch = props.stretch,\n destroyPopupOnHide = props.destroyPopupOnHide,\n forceRender = props.forceRender,\n align = props.align,\n point = props.point,\n getRootDomNode = props.getRootDomNode,\n getClassNameFromAlign = props.getClassNameFromAlign,\n onAlign = props.onAlign,\n onMouseEnter = props.onMouseEnter,\n onMouseLeave = props.onMouseLeave,\n onMouseDown = props.onMouseDown,\n onTouchStart = props.onTouchStart,\n onClick = props.onClick;\n var alignRef = useRef();\n var elementRef = useRef();\n\n var _useState = useState(),\n _useState2 = _slicedToArray(_useState, 2),\n alignedClassName = _useState2[0],\n setAlignedClassName = _useState2[1]; // ======================= Measure ========================\n\n\n var _useStretchStyle = useStretchStyle(stretch),\n _useStretchStyle2 = _slicedToArray(_useStretchStyle, 2),\n stretchStyle = _useStretchStyle2[0],\n measureStretchStyle = _useStretchStyle2[1];\n\n function doMeasure() {\n if (stretch) {\n measureStretchStyle(getRootDomNode());\n }\n } // ======================== Status ========================\n\n\n var _useVisibleStatus = useVisibleStatus(visible, doMeasure),\n _useVisibleStatus2 = _slicedToArray(_useVisibleStatus, 2),\n status = _useVisibleStatus2[0],\n goNextStatus = _useVisibleStatus2[1]; // ======================== Aligns ========================\n\n /**\n * `alignedClassName` may modify `source` size,\n * which means one time align may not move to the correct position at once.\n *\n * We will reset `alignTimes` for each status switch to `alignPre`\n * and let `rc-align` to align for multiple times to ensure get final stable place.\n * Currently we mark `alignTimes < 2` repeat align, it will increase if user report for align issue.\n * \n * Update:\n * In React 18. `rc-align` effect of align may faster than ref called trigger `forceAlign`.\n * We adjust this to `alignTimes < 2`.\n * We need refactor `rc-align` to support mark of `forceAlign` call if this still happen.\n */\n\n\n var _useState3 = useState(0),\n _useState4 = _slicedToArray(_useState3, 2),\n alignTimes = _useState4[0],\n setAlignTimes = _useState4[1];\n\n var prepareResolveRef = useRef();\n useLayoutEffect(function () {\n if (status === 'alignPre') {\n setAlignTimes(0);\n }\n }, [status]); // `target` on `rc-align` can accept as a function to get the bind element or a point.\n // ref: https://www.npmjs.com/package/rc-align\n\n function getAlignTarget() {\n if (point) {\n return point;\n }\n\n return getRootDomNode;\n }\n\n function forceAlign() {\n var _alignRef$current;\n\n (_alignRef$current = alignRef.current) === null || _alignRef$current === void 0 ? void 0 : _alignRef$current.forceAlign();\n }\n\n function onInternalAlign(popupDomNode, matchAlign) {\n var nextAlignedClassName = getClassNameFromAlign(matchAlign);\n\n if (alignedClassName !== nextAlignedClassName) {\n setAlignedClassName(nextAlignedClassName);\n } // We will retry multi times to make sure that the element has been align in the right position.\n\n\n setAlignTimes(function (val) {\n return val + 1;\n });\n\n if (status === 'align') {\n onAlign === null || onAlign === void 0 ? void 0 : onAlign(popupDomNode, matchAlign);\n }\n } // Delay to go to next status\n\n\n useLayoutEffect(function () {\n if (status === 'align') {\n // Repeat until not more align needed\n if (alignTimes < 3) {\n forceAlign();\n } else {\n goNextStatus(function () {\n var _prepareResolveRef$cu;\n\n (_prepareResolveRef$cu = prepareResolveRef.current) === null || _prepareResolveRef$cu === void 0 ? void 0 : _prepareResolveRef$cu.call(prepareResolveRef);\n });\n }\n }\n }, [alignTimes]); // ======================== Motion ========================\n\n var motion = _objectSpread({}, getMotion(props));\n\n ['onAppearEnd', 'onEnterEnd', 'onLeaveEnd'].forEach(function (eventName) {\n var originHandler = motion[eventName];\n\n motion[eventName] = function (element, event) {\n goNextStatus();\n return originHandler === null || originHandler === void 0 ? void 0 : originHandler(element, event);\n };\n });\n\n function onShowPrepare() {\n return new Promise(function (resolve) {\n prepareResolveRef.current = resolve;\n });\n } // Go to stable directly when motion not provided\n\n\n React.useEffect(function () {\n if (!motion.motionName && status === 'motion') {\n goNextStatus();\n }\n }, [motion.motionName, status]); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: forceAlign,\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread(_objectSpread({}, stretchStyle), {}, {\n zIndex: zIndex,\n opacity: status === 'motion' || status === 'stable' || !visible ? undefined : 0,\n // Cannot interact with disappearing elements\n // https://github.com/ant-design/ant-design/issues/35051#issuecomment-1101340714\n pointerEvents: !visible && status !== 'stable' ? 'none' : undefined\n }, style); // Align status\n\n\n var alignDisabled = true;\n\n if (align !== null && align !== void 0 && align.points && (status === 'align' || status === 'stable')) {\n alignDisabled = false;\n }\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n leavedClassName: \"\".concat(prefixCls, \"-hidden\")\n }, motion, {\n onAppearPrepare: onShowPrepare,\n onEnterPrepare: onShowPrepare,\n removeOnLeave: destroyPopupOnHide,\n forceRender: forceRender\n }), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, className, alignedClassName, motionClassName);\n return /*#__PURE__*/React.createElement(Align, {\n target: getAlignTarget(),\n key: \"popup\",\n ref: alignRef,\n monitorWindowResize: true,\n disabled: alignDisabled,\n align: align,\n onAlign: onInternalAlign\n }, /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onMouseEnter: onMouseEnter,\n onMouseLeave: onMouseLeave,\n onMouseDownCapture: onMouseDown,\n onTouchStartCapture: onTouchStart,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode));\n });\n});\nPopupInner.displayName = 'PopupInner';\nexport default PopupInner;","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nexport default (function (stretch) {\n var _React$useState = React.useState({\n width: 0,\n height: 0\n }),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n targetSize = _React$useState2[0],\n setTargetSize = _React$useState2[1];\n\n function measureStretch(element) {\n var tgtWidth = element.offsetWidth,\n tgtHeight = element.offsetHeight;\n\n var _element$getBoundingC = element.getBoundingClientRect(),\n width = _element$getBoundingC.width,\n height = _element$getBoundingC.height; // Rect is more accurate than offset, use if near\n\n\n if (Math.abs(tgtWidth - width) < 1 && Math.abs(tgtHeight - height) < 1) {\n tgtWidth = width;\n tgtHeight = height;\n }\n\n setTargetSize({\n width: tgtWidth,\n height: tgtHeight\n });\n } // Merge stretch style\n\n\n var style = React.useMemo(function () {\n var sizeStyle = {};\n\n if (stretch) {\n var width = targetSize.width,\n height = targetSize.height; // Stretch with target\n\n if (stretch.indexOf('height') !== -1 && height) {\n sizeStyle.height = height;\n } else if (stretch.indexOf('minHeight') !== -1 && height) {\n sizeStyle.minHeight = height;\n }\n\n if (stretch.indexOf('width') !== -1 && width) {\n sizeStyle.width = width;\n } else if (stretch.indexOf('minWidth') !== -1 && width) {\n sizeStyle.minWidth = width;\n }\n }\n\n return sizeStyle;\n }, [stretch, targetSize]);\n return [style, measureStretch];\n});","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as React from 'react';\nimport CSSMotion from 'rc-motion';\nimport classNames from 'classnames';\nvar MobilePopupInner = /*#__PURE__*/React.forwardRef(function (props, ref) {\n var prefixCls = props.prefixCls,\n visible = props.visible,\n zIndex = props.zIndex,\n children = props.children,\n _props$mobile = props.mobile;\n _props$mobile = _props$mobile === void 0 ? {} : _props$mobile;\n var popupClassName = _props$mobile.popupClassName,\n popupStyle = _props$mobile.popupStyle,\n _props$mobile$popupMo = _props$mobile.popupMotion,\n popupMotion = _props$mobile$popupMo === void 0 ? {} : _props$mobile$popupMo,\n popupRender = _props$mobile.popupRender,\n onClick = props.onClick;\n var elementRef = React.useRef(); // ========================= Refs =========================\n\n React.useImperativeHandle(ref, function () {\n return {\n forceAlign: function forceAlign() {},\n getElement: function getElement() {\n return elementRef.current;\n }\n };\n }); // ======================== Render ========================\n\n var mergedStyle = _objectSpread({\n zIndex: zIndex\n }, popupStyle);\n\n var childNode = children; // Wrapper when multiple children\n\n if (React.Children.count(children) > 1) {\n childNode = /*#__PURE__*/React.createElement(\"div\", {\n className: \"\".concat(prefixCls, \"-content\")\n }, children);\n } // Mobile support additional render\n\n\n if (popupRender) {\n childNode = popupRender(childNode);\n }\n\n return /*#__PURE__*/React.createElement(CSSMotion, _extends({\n visible: visible,\n ref: elementRef,\n removeOnLeave: true\n }, popupMotion), function (_ref, motionRef) {\n var motionClassName = _ref.className,\n motionStyle = _ref.style;\n var mergedClassName = classNames(prefixCls, popupClassName, motionClassName);\n return /*#__PURE__*/React.createElement(\"div\", {\n ref: motionRef,\n className: mergedClassName,\n onClick: onClick,\n style: _objectSpread(_objectSpread({}, motionStyle), mergedStyle)\n }, childNode);\n });\n});\nMobilePopupInner.displayName = 'MobilePopupInner';\nexport default MobilePopupInner;","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nvar _excluded = [\"visible\", \"mobile\"];\nimport * as React from 'react';\nimport { useState, useEffect } from 'react';\nimport isMobile from \"rc-util/es/isMobile\";\nimport Mask from \"./Mask\";\nimport PopupInner from \"./PopupInner\";\nimport MobilePopupInner from \"./MobilePopupInner\";\nvar Popup = /*#__PURE__*/React.forwardRef(function (_ref, ref) {\n var visible = _ref.visible,\n mobile = _ref.mobile,\n props = _objectWithoutProperties(_ref, _excluded);\n\n var _useState = useState(visible),\n _useState2 = _slicedToArray(_useState, 2),\n innerVisible = _useState2[0],\n serInnerVisible = _useState2[1];\n\n var _useState3 = useState(false),\n _useState4 = _slicedToArray(_useState3, 2),\n inMobile = _useState4[0],\n setInMobile = _useState4[1];\n\n var cloneProps = _objectSpread(_objectSpread({}, props), {}, {\n visible: innerVisible\n }); // We check mobile in visible changed here.\n // And this also delay set `innerVisible` to avoid popup component render flash\n\n\n useEffect(function () {\n serInnerVisible(visible);\n\n if (visible && mobile) {\n setInMobile(isMobile());\n }\n }, [visible, mobile]);\n var popupNode = inMobile ? /*#__PURE__*/React.createElement(MobilePopupInner, _extends({}, cloneProps, {\n mobile: mobile,\n ref: ref\n })) : /*#__PURE__*/React.createElement(PopupInner, _extends({}, cloneProps, {\n ref: ref\n })); // We can use fragment directly but this may failed some selector usage. Keep as origin logic\n\n return /*#__PURE__*/React.createElement(\"div\", null, /*#__PURE__*/React.createElement(Mask, cloneProps), popupNode);\n});\nPopup.displayName = 'Popup';\nexport default Popup;","import * as React from 'react';\nvar TriggerContext = /*#__PURE__*/React.createContext(null);\nexport default TriggerContext;","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/esm/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/esm/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/esm/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/esm/inherits\";\nimport _createSuper from \"@babel/runtime/helpers/esm/createSuper\";\nimport _defineProperty from \"@babel/runtime/helpers/esm/defineProperty\";\nimport * as React from 'react';\nimport ReactDOM from 'react-dom';\nimport raf from \"rc-util/es/raf\";\nimport contains from \"rc-util/es/Dom/contains\";\nimport findDOMNode from \"rc-util/es/Dom/findDOMNode\";\nimport { composeRef, supportRef } from \"rc-util/es/ref\";\nimport addEventListener from \"rc-util/es/Dom/addEventListener\";\nimport Portal from \"rc-util/es/Portal\";\nimport classNames from 'classnames';\nimport { getAlignFromPlacement, getAlignPopupClassName } from \"./utils/alignUtil\";\nimport Popup from \"./Popup\";\nimport TriggerContext from \"./context\";\n\nfunction noop() {}\n\nfunction returnEmptyString() {\n return '';\n}\n\nfunction returnDocument(element) {\n if (element) {\n return element.ownerDocument;\n }\n\n return window.document;\n}\n\nvar ALL_HANDLERS = ['onClick', 'onMouseDown', 'onTouchStart', 'onMouseEnter', 'onMouseLeave', 'onFocus', 'onBlur', 'onContextMenu'];\n\n/**\n * Internal usage. Do not use in your code since this will be removed.\n */\nexport function generateTrigger(PortalComponent) {\n var Trigger = /*#__PURE__*/function (_React$Component) {\n _inherits(Trigger, _React$Component);\n\n var _super = _createSuper(Trigger);\n\n // ensure `getContainer` will be called only once\n function Trigger(props) {\n var _this;\n\n _classCallCheck(this, Trigger);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"popupRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"triggerRef\", /*#__PURE__*/React.createRef());\n\n _defineProperty(_assertThisInitialized(_this), \"portalContainer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"attachId\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"clickOutsideHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"touchOutsideHandler\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contextMenuOutsideHandler1\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"contextMenuOutsideHandler2\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"mouseDownTimeout\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"focusTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"preClickTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"preTouchTime\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"delayTimer\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"hasPopupMouseDown\", void 0);\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseEnter\", function (e) {\n var mouseEnterDelay = _this.props.mouseEnterDelay;\n\n _this.fireEvents('onMouseEnter', e);\n\n _this.delaySetPopupVisible(true, mouseEnterDelay, mouseEnterDelay ? null : e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseMove\", function (e) {\n _this.fireEvents('onMouseMove', e);\n\n _this.setPoint(e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseLeave\", function (e) {\n _this.fireEvents('onMouseLeave', e);\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseEnter\", function () {\n _this.clearDelayTimer();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseLeave\", function (e) {\n var _this$popupRef$curren;\n\n // https://github.com/react-component/trigger/pull/13\n // react bug?\n if (e.relatedTarget && !e.relatedTarget.setTimeout && contains((_this$popupRef$curren = _this.popupRef.current) === null || _this$popupRef$curren === void 0 ? void 0 : _this$popupRef$curren.getElement(), e.relatedTarget)) {\n return;\n }\n\n _this.delaySetPopupVisible(false, _this.props.mouseLeaveDelay);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onFocus\", function (e) {\n _this.fireEvents('onFocus', e); // incase focusin and focusout\n\n\n _this.clearDelayTimer();\n\n if (_this.isFocusToShow()) {\n _this.focusTime = Date.now();\n\n _this.delaySetPopupVisible(true, _this.props.focusDelay);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onMouseDown\", function (e) {\n _this.fireEvents('onMouseDown', e);\n\n _this.preClickTime = Date.now();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onTouchStart\", function (e) {\n _this.fireEvents('onTouchStart', e);\n\n _this.preTouchTime = Date.now();\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onBlur\", function (e) {\n _this.fireEvents('onBlur', e);\n\n _this.clearDelayTimer();\n\n if (_this.isBlurToHide()) {\n _this.delaySetPopupVisible(false, _this.props.blurDelay);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContextMenu\", function (e) {\n e.preventDefault();\n\n _this.fireEvents('onContextMenu', e);\n\n _this.setPopupVisible(true, e);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onContextMenuClose\", function () {\n if (_this.isContextMenuToShow()) {\n _this.close();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onClick\", function (event) {\n _this.fireEvents('onClick', event); // focus will trigger click\n\n\n if (_this.focusTime) {\n var preTime;\n\n if (_this.preClickTime && _this.preTouchTime) {\n preTime = Math.min(_this.preClickTime, _this.preTouchTime);\n } else if (_this.preClickTime) {\n preTime = _this.preClickTime;\n } else if (_this.preTouchTime) {\n preTime = _this.preTouchTime;\n }\n\n if (Math.abs(preTime - _this.focusTime) < 20) {\n return;\n }\n\n _this.focusTime = 0;\n }\n\n _this.preClickTime = 0;\n _this.preTouchTime = 0; // Only prevent default when all the action is click.\n // https://github.com/ant-design/ant-design/issues/17043\n // https://github.com/ant-design/ant-design/issues/17291\n\n if (_this.isClickToShow() && (_this.isClickToHide() || _this.isBlurToHide()) && event && event.preventDefault) {\n event.preventDefault();\n }\n\n var nextVisible = !_this.state.popupVisible;\n\n if (_this.isClickToHide() && !nextVisible || nextVisible && _this.isClickToShow()) {\n _this.setPopupVisible(!_this.state.popupVisible, event);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onPopupMouseDown\", function () {\n _this.hasPopupMouseDown = true;\n clearTimeout(_this.mouseDownTimeout);\n _this.mouseDownTimeout = window.setTimeout(function () {\n _this.hasPopupMouseDown = false;\n }, 0);\n\n if (_this.context) {\n var _this$context;\n\n (_this$context = _this.context).onPopupMouseDown.apply(_this$context, arguments);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"onDocumentClick\", function (event) {\n if (_this.props.mask && !_this.props.maskClosable) {\n return;\n }\n\n var target = event.target;\n\n var root = _this.getRootDomNode();\n\n var popupNode = _this.getPopupDomNode();\n\n if ( // mousedown on the target should also close popup when action is contextMenu.\n // https://github.com/ant-design/ant-design/issues/29853\n (!contains(root, target) || _this.isContextMenuOnly()) && !contains(popupNode, target) && !_this.hasPopupMouseDown) {\n _this.close();\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getRootDomNode\", function () {\n var getTriggerDOMNode = _this.props.getTriggerDOMNode;\n\n if (getTriggerDOMNode) {\n return getTriggerDOMNode(_this.triggerRef.current);\n }\n\n try {\n var domNode = findDOMNode(_this.triggerRef.current);\n\n if (domNode) {\n return domNode;\n }\n } catch (err) {// Do nothing\n }\n\n return ReactDOM.findDOMNode(_assertThisInitialized(_this));\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getPopupClassNameFromAlign\", function (align) {\n var className = [];\n var _this$props = _this.props,\n popupPlacement = _this$props.popupPlacement,\n builtinPlacements = _this$props.builtinPlacements,\n prefixCls = _this$props.prefixCls,\n alignPoint = _this$props.alignPoint,\n getPopupClassNameFromAlign = _this$props.getPopupClassNameFromAlign;\n\n if (popupPlacement && builtinPlacements) {\n className.push(getAlignPopupClassName(builtinPlacements, prefixCls, align, alignPoint));\n }\n\n if (getPopupClassNameFromAlign) {\n className.push(getPopupClassNameFromAlign(align));\n }\n\n return className.join(' ');\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getComponent\", function () {\n var _this$props2 = _this.props,\n prefixCls = _this$props2.prefixCls,\n destroyPopupOnHide = _this$props2.destroyPopupOnHide,\n popupClassName = _this$props2.popupClassName,\n onPopupAlign = _this$props2.onPopupAlign,\n popupMotion = _this$props2.popupMotion,\n popupAnimation = _this$props2.popupAnimation,\n popupTransitionName = _this$props2.popupTransitionName,\n popupStyle = _this$props2.popupStyle,\n mask = _this$props2.mask,\n maskAnimation = _this$props2.maskAnimation,\n maskTransitionName = _this$props2.maskTransitionName,\n maskMotion = _this$props2.maskMotion,\n zIndex = _this$props2.zIndex,\n popup = _this$props2.popup,\n stretch = _this$props2.stretch,\n alignPoint = _this$props2.alignPoint,\n mobile = _this$props2.mobile,\n forceRender = _this$props2.forceRender,\n onPopupClick = _this$props2.onPopupClick;\n var _this$state = _this.state,\n popupVisible = _this$state.popupVisible,\n point = _this$state.point;\n\n var align = _this.getPopupAlign();\n\n var mouseProps = {};\n\n if (_this.isMouseEnterToShow()) {\n mouseProps.onMouseEnter = _this.onPopupMouseEnter;\n }\n\n if (_this.isMouseLeaveToHide()) {\n mouseProps.onMouseLeave = _this.onPopupMouseLeave;\n }\n\n mouseProps.onMouseDown = _this.onPopupMouseDown;\n mouseProps.onTouchStart = _this.onPopupMouseDown;\n return /*#__PURE__*/React.createElement(Popup, _extends({\n prefixCls: prefixCls,\n destroyPopupOnHide: destroyPopupOnHide,\n visible: popupVisible,\n point: alignPoint && point,\n className: popupClassName,\n align: align,\n onAlign: onPopupAlign,\n animation: popupAnimation,\n getClassNameFromAlign: _this.getPopupClassNameFromAlign\n }, mouseProps, {\n stretch: stretch,\n getRootDomNode: _this.getRootDomNode,\n style: popupStyle,\n mask: mask,\n zIndex: zIndex,\n transitionName: popupTransitionName,\n maskAnimation: maskAnimation,\n maskTransitionName: maskTransitionName,\n maskMotion: maskMotion,\n ref: _this.popupRef,\n motion: popupMotion,\n mobile: mobile,\n forceRender: forceRender,\n onClick: onPopupClick\n }), typeof popup === 'function' ? popup() : popup);\n });\n\n _defineProperty(_assertThisInitialized(_this), \"attachParent\", function (popupContainer) {\n raf.cancel(_this.attachId);\n var _this$props3 = _this.props,\n getPopupContainer = _this$props3.getPopupContainer,\n getDocument = _this$props3.getDocument;\n\n var domNode = _this.getRootDomNode();\n\n var mountNode;\n\n if (!getPopupContainer) {\n mountNode = getDocument(_this.getRootDomNode()).body;\n } else if (domNode || getPopupContainer.length === 0) {\n // Compatible for legacy getPopupContainer with domNode argument.\n // If no need `domNode` argument, will call directly.\n // https://codesandbox.io/s/eloquent-mclean-ss93m?file=/src/App.js\n mountNode = getPopupContainer(domNode);\n }\n\n if (mountNode) {\n mountNode.appendChild(popupContainer);\n } else {\n // Retry after frame render in case parent not ready\n _this.attachId = raf(function () {\n _this.attachParent(popupContainer);\n });\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"getContainer\", function () {\n if (!_this.portalContainer) {\n // In React.StrictMode component will call render multiple time in first mount.\n // When you want to refactor with FC, useRef will also init multiple time and\n // point to different useRef instance which will create multiple element\n // (This multiple render will not trigger effect so you can not clean up this\n // in effect). But this is safe with class component since it always point to same class instance.\n var getDocument = _this.props.getDocument;\n var popupContainer = getDocument(_this.getRootDomNode()).createElement('div'); // Make sure default popup container will never cause scrollbar appearing\n // https://github.com/react-component/trigger/issues/41\n\n popupContainer.style.position = 'absolute';\n popupContainer.style.top = '0';\n popupContainer.style.left = '0';\n popupContainer.style.width = '100%';\n _this.portalContainer = popupContainer;\n }\n\n _this.attachParent(_this.portalContainer);\n\n return _this.portalContainer;\n });\n\n _defineProperty(_assertThisInitialized(_this), \"setPoint\", function (point) {\n var alignPoint = _this.props.alignPoint;\n if (!alignPoint || !point) return;\n\n _this.setState({\n point: {\n pageX: point.pageX,\n pageY: point.pageY\n }\n });\n });\n\n _defineProperty(_assertThisInitialized(_this), \"handlePortalUpdate\", function () {\n if (_this.state.prevPopupVisible !== _this.state.popupVisible) {\n _this.props.afterPopupVisibleChange(_this.state.popupVisible);\n }\n });\n\n _defineProperty(_assertThisInitialized(_this), \"triggerContextValue\", {\n onPopupMouseDown: _this.onPopupMouseDown\n });\n\n var _popupVisible;\n\n if ('popupVisible' in props) {\n _popupVisible = !!props.popupVisible;\n } else {\n _popupVisible = !!props.defaultPopupVisible;\n }\n\n _this.state = {\n prevPopupVisible: _popupVisible,\n popupVisible: _popupVisible\n };\n ALL_HANDLERS.forEach(function (h) {\n _this[\"fire\".concat(h)] = function (e) {\n _this.fireEvents(h, e);\n };\n });\n return _this;\n }\n\n _createClass(Trigger, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.componentDidUpdate();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate() {\n var props = this.props;\n var state = this.state; // We must listen to `mousedown` or `touchstart`, edge case:\n // https://github.com/ant-design/ant-design/issues/5804\n // https://github.com/react-component/calendar/issues/250\n // https://github.com/react-component/trigger/issues/50\n\n if (state.popupVisible) {\n var currentDocument;\n\n if (!this.clickOutsideHandler && (this.isClickToHide() || this.isContextMenuToShow())) {\n currentDocument = props.getDocument(this.getRootDomNode());\n this.clickOutsideHandler = addEventListener(currentDocument, 'mousedown', this.onDocumentClick);\n } // always hide on mobile\n\n\n if (!this.touchOutsideHandler) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.touchOutsideHandler = addEventListener(currentDocument, 'touchstart', this.onDocumentClick);\n } // close popup when trigger type contains 'onContextMenu' and document is scrolling.\n\n\n if (!this.contextMenuOutsideHandler1 && this.isContextMenuToShow()) {\n currentDocument = currentDocument || props.getDocument(this.getRootDomNode());\n this.contextMenuOutsideHandler1 = addEventListener(currentDocument, 'scroll', this.onContextMenuClose);\n } // close popup when trigger type contains 'onContextMenu' and window is blur.\n\n\n if (!this.contextMenuOutsideHandler2 && this.isContextMenuToShow()) {\n this.contextMenuOutsideHandler2 = addEventListener(window, 'blur', this.onContextMenuClose);\n }\n\n return;\n }\n\n this.clearOutsideHandler();\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this.clearDelayTimer();\n this.clearOutsideHandler();\n clearTimeout(this.mouseDownTimeout);\n raf.cancel(this.attachId);\n }\n }, {\n key: \"getPopupDomNode\",\n value: function getPopupDomNode() {\n var _this$popupRef$curren2;\n\n // for test\n return ((_this$popupRef$curren2 = this.popupRef.current) === null || _this$popupRef$curren2 === void 0 ? void 0 : _this$popupRef$curren2.getElement()) || null;\n }\n }, {\n key: \"getPopupAlign\",\n value: function getPopupAlign() {\n var props = this.props;\n var popupPlacement = props.popupPlacement,\n popupAlign = props.popupAlign,\n builtinPlacements = props.builtinPlacements;\n\n if (popupPlacement && builtinPlacements) {\n return getAlignFromPlacement(builtinPlacements, popupPlacement, popupAlign);\n }\n\n return popupAlign;\n }\n }, {\n key: \"setPopupVisible\",\n value:\n /**\n * @param popupVisible Show or not the popup element\n * @param event SyntheticEvent, used for `pointAlign`\n */\n function setPopupVisible(popupVisible, event) {\n var alignPoint = this.props.alignPoint;\n var prevPopupVisible = this.state.popupVisible;\n this.clearDelayTimer();\n\n if (prevPopupVisible !== popupVisible) {\n if (!('popupVisible' in this.props)) {\n this.setState({\n popupVisible: popupVisible,\n prevPopupVisible: prevPopupVisible\n });\n }\n\n this.props.onPopupVisibleChange(popupVisible);\n } // Always record the point position since mouseEnterDelay will delay the show\n\n\n if (alignPoint && event && popupVisible) {\n this.setPoint(event);\n }\n }\n }, {\n key: \"delaySetPopupVisible\",\n value: function delaySetPopupVisible(visible, delayS, event) {\n var _this2 = this;\n\n var delay = delayS * 1000;\n this.clearDelayTimer();\n\n if (delay) {\n var point = event ? {\n pageX: event.pageX,\n pageY: event.pageY\n } : null;\n this.delayTimer = window.setTimeout(function () {\n _this2.setPopupVisible(visible, point);\n\n _this2.clearDelayTimer();\n }, delay);\n } else {\n this.setPopupVisible(visible, event);\n }\n }\n }, {\n key: \"clearDelayTimer\",\n value: function clearDelayTimer() {\n if (this.delayTimer) {\n clearTimeout(this.delayTimer);\n this.delayTimer = null;\n }\n }\n }, {\n key: \"clearOutsideHandler\",\n value: function clearOutsideHandler() {\n if (this.clickOutsideHandler) {\n this.clickOutsideHandler.remove();\n this.clickOutsideHandler = null;\n }\n\n if (this.contextMenuOutsideHandler1) {\n this.contextMenuOutsideHandler1.remove();\n this.contextMenuOutsideHandler1 = null;\n }\n\n if (this.contextMenuOutsideHandler2) {\n this.contextMenuOutsideHandler2.remove();\n this.contextMenuOutsideHandler2 = null;\n }\n\n if (this.touchOutsideHandler) {\n this.touchOutsideHandler.remove();\n this.touchOutsideHandler = null;\n }\n }\n }, {\n key: \"createTwoChains\",\n value: function createTwoChains(event) {\n var childPros = this.props.children.props;\n var props = this.props;\n\n if (childPros[event] && props[event]) {\n return this[\"fire\".concat(event)];\n }\n\n return childPros[event] || props[event];\n }\n }, {\n key: \"isClickToShow\",\n value: function isClickToShow() {\n var _this$props4 = this.props,\n action = _this$props4.action,\n showAction = _this$props4.showAction;\n return action.indexOf('click') !== -1 || showAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isContextMenuOnly\",\n value: function isContextMenuOnly() {\n var action = this.props.action;\n return action === 'contextMenu' || action.length === 1 && action[0] === 'contextMenu';\n }\n }, {\n key: \"isContextMenuToShow\",\n value: function isContextMenuToShow() {\n var _this$props5 = this.props,\n action = _this$props5.action,\n showAction = _this$props5.showAction;\n return action.indexOf('contextMenu') !== -1 || showAction.indexOf('contextMenu') !== -1;\n }\n }, {\n key: \"isClickToHide\",\n value: function isClickToHide() {\n var _this$props6 = this.props,\n action = _this$props6.action,\n hideAction = _this$props6.hideAction;\n return action.indexOf('click') !== -1 || hideAction.indexOf('click') !== -1;\n }\n }, {\n key: \"isMouseEnterToShow\",\n value: function isMouseEnterToShow() {\n var _this$props7 = this.props,\n action = _this$props7.action,\n showAction = _this$props7.showAction;\n return action.indexOf('hover') !== -1 || showAction.indexOf('mouseEnter') !== -1;\n }\n }, {\n key: \"isMouseLeaveToHide\",\n value: function isMouseLeaveToHide() {\n var _this$props8 = this.props,\n action = _this$props8.action,\n hideAction = _this$props8.hideAction;\n return action.indexOf('hover') !== -1 || hideAction.indexOf('mouseLeave') !== -1;\n }\n }, {\n key: \"isFocusToShow\",\n value: function isFocusToShow() {\n var _this$props9 = this.props,\n action = _this$props9.action,\n showAction = _this$props9.showAction;\n return action.indexOf('focus') !== -1 || showAction.indexOf('focus') !== -1;\n }\n }, {\n key: \"isBlurToHide\",\n value: function isBlurToHide() {\n var _this$props10 = this.props,\n action = _this$props10.action,\n hideAction = _this$props10.hideAction;\n return action.indexOf('focus') !== -1 || hideAction.indexOf('blur') !== -1;\n }\n }, {\n key: \"forcePopupAlign\",\n value: function forcePopupAlign() {\n if (this.state.popupVisible) {\n var _this$popupRef$curren3;\n\n (_this$popupRef$curren3 = this.popupRef.current) === null || _this$popupRef$curren3 === void 0 ? void 0 : _this$popupRef$curren3.forceAlign();\n }\n }\n }, {\n key: \"fireEvents\",\n value: function fireEvents(type, e) {\n var childCallback = this.props.children.props[type];\n\n if (childCallback) {\n childCallback(e);\n }\n\n var callback = this.props[type];\n\n if (callback) {\n callback(e);\n }\n }\n }, {\n key: \"close\",\n value: function close() {\n this.setPopupVisible(false);\n }\n }, {\n key: \"render\",\n value: function render() {\n var popupVisible = this.state.popupVisible;\n var _this$props11 = this.props,\n children = _this$props11.children,\n forceRender = _this$props11.forceRender,\n alignPoint = _this$props11.alignPoint,\n className = _this$props11.className,\n autoDestroy = _this$props11.autoDestroy;\n var child = React.Children.only(children);\n var newChildProps = {\n key: 'trigger'\n }; // ============================== Visible Handlers ==============================\n // >>> ContextMenu\n\n if (this.isContextMenuToShow()) {\n newChildProps.onContextMenu = this.onContextMenu;\n } else {\n newChildProps.onContextMenu = this.createTwoChains('onContextMenu');\n } // >>> Click\n\n\n if (this.isClickToHide() || this.isClickToShow()) {\n newChildProps.onClick = this.onClick;\n newChildProps.onMouseDown = this.onMouseDown;\n newChildProps.onTouchStart = this.onTouchStart;\n } else {\n newChildProps.onClick = this.createTwoChains('onClick');\n newChildProps.onMouseDown = this.createTwoChains('onMouseDown');\n newChildProps.onTouchStart = this.createTwoChains('onTouchStart');\n } // >>> Hover(enter)\n\n\n if (this.isMouseEnterToShow()) {\n newChildProps.onMouseEnter = this.onMouseEnter; // Point align\n\n if (alignPoint) {\n newChildProps.onMouseMove = this.onMouseMove;\n }\n } else {\n newChildProps.onMouseEnter = this.createTwoChains('onMouseEnter');\n } // >>> Hover(leave)\n\n\n if (this.isMouseLeaveToHide()) {\n newChildProps.onMouseLeave = this.onMouseLeave;\n } else {\n newChildProps.onMouseLeave = this.createTwoChains('onMouseLeave');\n } // >>> Focus\n\n\n if (this.isFocusToShow() || this.isBlurToHide()) {\n newChildProps.onFocus = this.onFocus;\n newChildProps.onBlur = this.onBlur;\n } else {\n newChildProps.onFocus = this.createTwoChains('onFocus');\n newChildProps.onBlur = this.createTwoChains('onBlur');\n } // =================================== Render ===================================\n\n\n var childrenClassName = classNames(child && child.props && child.props.className, className);\n\n if (childrenClassName) {\n newChildProps.className = childrenClassName;\n }\n\n var cloneProps = _objectSpread({}, newChildProps);\n\n if (supportRef(child)) {\n cloneProps.ref = composeRef(this.triggerRef, child.ref);\n }\n\n var trigger = /*#__PURE__*/React.cloneElement(child, cloneProps);\n var portal; // prevent unmounting after it's rendered\n\n if (popupVisible || this.popupRef.current || forceRender) {\n portal = /*#__PURE__*/React.createElement(PortalComponent, {\n key: \"portal\",\n getContainer: this.getContainer,\n didUpdate: this.handlePortalUpdate\n }, this.getComponent());\n }\n\n if (!popupVisible && autoDestroy) {\n portal = null;\n }\n\n return /*#__PURE__*/React.createElement(TriggerContext.Provider, {\n value: this.triggerContextValue\n }, trigger, portal);\n }\n }], [{\n key: \"getDerivedStateFromProps\",\n value: function getDerivedStateFromProps(_ref, prevState) {\n var popupVisible = _ref.popupVisible;\n var newState = {};\n\n if (popupVisible !== undefined && prevState.popupVisible !== popupVisible) {\n newState.popupVisible = popupVisible;\n newState.prevPopupVisible = prevState.popupVisible;\n }\n\n return newState;\n }\n }]);\n\n return Trigger;\n }(React.Component);\n\n _defineProperty(Trigger, \"contextType\", TriggerContext);\n\n _defineProperty(Trigger, \"defaultProps\", {\n prefixCls: 'rc-trigger-popup',\n getPopupClassNameFromAlign: returnEmptyString,\n getDocument: returnDocument,\n onPopupVisibleChange: noop,\n afterPopupVisibleChange: noop,\n onPopupAlign: noop,\n popupClassName: '',\n mouseEnterDelay: 0,\n mouseLeaveDelay: 0.1,\n focusDelay: 0,\n blurDelay: 0.15,\n popupStyle: {},\n destroyPopupOnHide: false,\n popupAlign: {},\n defaultPopupVisible: false,\n mask: false,\n maskClosable: true,\n action: [],\n showAction: [],\n hideAction: [],\n autoDestroy: false\n });\n\n return Trigger;\n}\nexport default generateTrigger(Portal);","import React from 'react';\nimport { isFragment } from 'react-is';\nexport default function toArray(children) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var ret = [];\n React.Children.forEach(children, function (child) {\n if ((child === undefined || child === null) && !option.keepEmpty) {\n return;\n }\n if (Array.isArray(child)) {\n ret = ret.concat(toArray(child));\n } else if (isFragment(child) && child.props) {\n ret = ret.concat(toArray(child.props.children, option));\n } else {\n ret.push(child);\n }\n });\n return ret;\n}","import ReactDOM from 'react-dom';\nexport default function addEventListenerWrap(target, eventType, cb, option) {\n /* eslint camelcase: 2 */\n var callback = ReactDOM.unstable_batchedUpdates ? function run(e) {\n ReactDOM.unstable_batchedUpdates(cb, e);\n } : cb;\n if (target.addEventListener) {\n target.addEventListener(eventType, callback, option);\n }\n return {\n remove: function remove() {\n if (target.removeEventListener) {\n target.removeEventListener(eventType, callback, option);\n }\n }\n };\n}","export default function canUseDom() {\n return !!(typeof window !== 'undefined' && window.document && window.document.createElement);\n}","export default function contains(root, n) {\n if (!root) {\n return false;\n }\n // Use native if support\n if (root.contains) {\n return root.contains(n);\n }\n // `document.contains` not support with IE11\n var node = n;\n while (node) {\n if (node === root) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}","import canUseDom from './canUseDom';\nimport contains from './contains';\nvar APPEND_ORDER = 'data-rc-order';\nvar MARK_KEY = \"rc-util-key\";\nvar containerCache = new Map();\nfunction getMark() {\n var _ref = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {},\n mark = _ref.mark;\n if (mark) {\n return mark.startsWith('data-') ? mark : \"data-\".concat(mark);\n }\n return MARK_KEY;\n}\nfunction getContainer(option) {\n if (option.attachTo) {\n return option.attachTo;\n }\n var head = document.querySelector('head');\n return head || document.body;\n}\nfunction getOrder(prepend) {\n if (prepend === 'queue') {\n return 'prependQueue';\n }\n return prepend ? 'prepend' : 'append';\n}\n/**\n * Find style which inject by rc-util\n */\nfunction findStyles(container) {\n return Array.from((containerCache.get(container) || container).children).filter(function (node) {\n return node.tagName === 'STYLE';\n });\n}\nexport function injectCSS(css) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n if (!canUseDom()) {\n return null;\n }\n var csp = option.csp,\n prepend = option.prepend;\n var styleNode = document.createElement('style');\n styleNode.setAttribute(APPEND_ORDER, getOrder(prepend));\n if (csp === null || csp === void 0 ? void 0 : csp.nonce) {\n styleNode.nonce = csp === null || csp === void 0 ? void 0 : csp.nonce;\n }\n styleNode.innerHTML = css;\n var container = getContainer(option);\n var firstChild = container.firstChild;\n if (prepend) {\n // If is queue `prepend`, it will prepend first style and then append rest style\n if (prepend === 'queue') {\n var existStyle = findStyles(container).filter(function (node) {\n return ['prepend', 'prependQueue'].includes(node.getAttribute(APPEND_ORDER));\n });\n if (existStyle.length) {\n container.insertBefore(styleNode, existStyle[existStyle.length - 1].nextSibling);\n return styleNode;\n }\n }\n // Use `insertBefore` as `prepend`\n container.insertBefore(styleNode, firstChild);\n } else {\n container.appendChild(styleNode);\n }\n return styleNode;\n}\nfunction findExistNode(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var container = getContainer(option);\n return findStyles(container).find(function (node) {\n return node.getAttribute(getMark(option)) === key;\n });\n}\nexport function removeCSS(key) {\n var option = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n var existNode = findExistNode(key, option);\n if (existNode) {\n var container = getContainer(option);\n container.removeChild(existNode);\n }\n}\n/**\n * qiankun will inject `appendChild` to insert into other\n */\nfunction syncRealContainer(container, option) {\n var cachedRealContainer = containerCache.get(container);\n // Find real container when not cached or cached container removed\n if (!cachedRealContainer || !contains(document, cachedRealContainer)) {\n var placeholderStyle = injectCSS('', option);\n var parentNode = placeholderStyle.parentNode;\n containerCache.set(container, parentNode);\n container.removeChild(placeholderStyle);\n }\n}\n/**\n * manually clear container cache to avoid global cache in unit testes\n */\nexport function clearContainerCache() {\n containerCache.clear();\n}\nexport function updateCSS(css, key) {\n var option = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {};\n var container = getContainer(option);\n // Sync real parent\n syncRealContainer(container, option);\n var existNode = findExistNode(key, option);\n if (existNode) {\n var _option$csp, _option$csp2;\n if (((_option$csp = option.csp) === null || _option$csp === void 0 ? void 0 : _option$csp.nonce) && existNode.nonce !== ((_option$csp2 = option.csp) === null || _option$csp2 === void 0 ? void 0 : _option$csp2.nonce)) {\n var _option$csp3;\n existNode.nonce = (_option$csp3 = option.csp) === null || _option$csp3 === void 0 ? void 0 : _option$csp3.nonce;\n }\n if (existNode.innerHTML !== css) {\n existNode.innerHTML = css;\n }\n return existNode;\n }\n var newNode = injectCSS(css, option);\n newNode.setAttribute(getMark(option), key);\n return newNode;\n}","import ReactDOM from 'react-dom';\n/**\n * Return if a node is a DOM node. Else will return by `findDOMNode`\n */\nexport default function findDOMNode(node) {\n if (node instanceof HTMLElement) {\n return node;\n }\n return ReactDOM.findDOMNode(node);\n}","export default (function (element) {\n if (!element) {\n return false;\n }\n if (element instanceof HTMLElement && element.offsetParent) {\n return true;\n }\n if (element instanceof SVGGraphicsElement && element.getBBox) {\n var _element$getBBox = element.getBBox(),\n width = _element$getBBox.width,\n height = _element$getBBox.height;\n if (width || height) {\n return true;\n }\n }\n if (element instanceof HTMLElement && element.getBoundingClientRect) {\n var _element$getBoundingC = element.getBoundingClientRect(),\n _width = _element$getBoundingC.width,\n _height = _element$getBoundingC.height;\n if (_width || _height) {\n return true;\n }\n }\n return false;\n});","import canUseDom from './canUseDom';\nvar isStyleNameSupport = function isStyleNameSupport(styleName) {\n if (canUseDom() && window.document.documentElement) {\n var styleNameList = Array.isArray(styleName) ? styleName : [styleName];\n var documentElement = window.document.documentElement;\n return styleNameList.some(function (name) {\n return name in documentElement.style;\n });\n }\n return false;\n};\nvar isStyleValueSupport = function isStyleValueSupport(styleName, value) {\n if (!isStyleNameSupport(styleName)) {\n return false;\n }\n var ele = document.createElement('div');\n var origin = ele.style[styleName];\n ele.style[styleName] = value;\n return ele.style[styleName] !== origin;\n};\nexport function isStyleSupport(styleName, styleValue) {\n if (!Array.isArray(styleName) && styleValue !== undefined) {\n return isStyleValueSupport(styleName, styleValue);\n }\n return isStyleNameSupport(styleName);\n}","/**\n * @ignore\n * some key-codes definition and utils from closure-library\n * @author yiminghe@gmail.com\n */\nvar KeyCode = {\n /**\n * MAC_ENTER\n */\n MAC_ENTER: 3,\n /**\n * BACKSPACE\n */\n BACKSPACE: 8,\n /**\n * TAB\n */\n TAB: 9,\n /**\n * NUMLOCK on FF/Safari Mac\n */\n NUM_CENTER: 12,\n /**\n * ENTER\n */\n ENTER: 13,\n /**\n * SHIFT\n */\n SHIFT: 16,\n /**\n * CTRL\n */\n CTRL: 17,\n /**\n * ALT\n */\n ALT: 18,\n /**\n * PAUSE\n */\n PAUSE: 19,\n /**\n * CAPS_LOCK\n */\n CAPS_LOCK: 20,\n /**\n * ESC\n */\n ESC: 27,\n /**\n * SPACE\n */\n SPACE: 32,\n /**\n * PAGE_UP\n */\n PAGE_UP: 33,\n /**\n * PAGE_DOWN\n */\n PAGE_DOWN: 34,\n /**\n * END\n */\n END: 35,\n /**\n * HOME\n */\n HOME: 36,\n /**\n * LEFT\n */\n LEFT: 37,\n /**\n * UP\n */\n UP: 38,\n /**\n * RIGHT\n */\n RIGHT: 39,\n /**\n * DOWN\n */\n DOWN: 40,\n /**\n * PRINT_SCREEN\n */\n PRINT_SCREEN: 44,\n /**\n * INSERT\n */\n INSERT: 45,\n /**\n * DELETE\n */\n DELETE: 46,\n /**\n * ZERO\n */\n ZERO: 48,\n /**\n * ONE\n */\n ONE: 49,\n /**\n * TWO\n */\n TWO: 50,\n /**\n * THREE\n */\n THREE: 51,\n /**\n * FOUR\n */\n FOUR: 52,\n /**\n * FIVE\n */\n FIVE: 53,\n /**\n * SIX\n */\n SIX: 54,\n /**\n * SEVEN\n */\n SEVEN: 55,\n /**\n * EIGHT\n */\n EIGHT: 56,\n /**\n * NINE\n */\n NINE: 57,\n /**\n * QUESTION_MARK\n */\n QUESTION_MARK: 63,\n /**\n * A\n */\n A: 65,\n /**\n * B\n */\n B: 66,\n /**\n * C\n */\n C: 67,\n /**\n * D\n */\n D: 68,\n /**\n * E\n */\n E: 69,\n /**\n * F\n */\n F: 70,\n /**\n * G\n */\n G: 71,\n /**\n * H\n */\n H: 72,\n /**\n * I\n */\n I: 73,\n /**\n * J\n */\n J: 74,\n /**\n * K\n */\n K: 75,\n /**\n * L\n */\n L: 76,\n /**\n * M\n */\n M: 77,\n /**\n * N\n */\n N: 78,\n /**\n * O\n */\n O: 79,\n /**\n * P\n */\n P: 80,\n /**\n * Q\n */\n Q: 81,\n /**\n * R\n */\n R: 82,\n /**\n * S\n */\n S: 83,\n /**\n * T\n */\n T: 84,\n /**\n * U\n */\n U: 85,\n /**\n * V\n */\n V: 86,\n /**\n * W\n */\n W: 87,\n /**\n * X\n */\n X: 88,\n /**\n * Y\n */\n Y: 89,\n /**\n * Z\n */\n Z: 90,\n /**\n * META\n */\n META: 91,\n /**\n * WIN_KEY_RIGHT\n */\n WIN_KEY_RIGHT: 92,\n /**\n * CONTEXT_MENU\n */\n CONTEXT_MENU: 93,\n /**\n * NUM_ZERO\n */\n NUM_ZERO: 96,\n /**\n * NUM_ONE\n */\n NUM_ONE: 97,\n /**\n * NUM_TWO\n */\n NUM_TWO: 98,\n /**\n * NUM_THREE\n */\n NUM_THREE: 99,\n /**\n * NUM_FOUR\n */\n NUM_FOUR: 100,\n /**\n * NUM_FIVE\n */\n NUM_FIVE: 101,\n /**\n * NUM_SIX\n */\n NUM_SIX: 102,\n /**\n * NUM_SEVEN\n */\n NUM_SEVEN: 103,\n /**\n * NUM_EIGHT\n */\n NUM_EIGHT: 104,\n /**\n * NUM_NINE\n */\n NUM_NINE: 105,\n /**\n * NUM_MULTIPLY\n */\n NUM_MULTIPLY: 106,\n /**\n * NUM_PLUS\n */\n NUM_PLUS: 107,\n /**\n * NUM_MINUS\n */\n NUM_MINUS: 109,\n /**\n * NUM_PERIOD\n */\n NUM_PERIOD: 110,\n /**\n * NUM_DIVISION\n */\n NUM_DIVISION: 111,\n /**\n * F1\n */\n F1: 112,\n /**\n * F2\n */\n F2: 113,\n /**\n * F3\n */\n F3: 114,\n /**\n * F4\n */\n F4: 115,\n /**\n * F5\n */\n F5: 116,\n /**\n * F6\n */\n F6: 117,\n /**\n * F7\n */\n F7: 118,\n /**\n * F8\n */\n F8: 119,\n /**\n * F9\n */\n F9: 120,\n /**\n * F10\n */\n F10: 121,\n /**\n * F11\n */\n F11: 122,\n /**\n * F12\n */\n F12: 123,\n /**\n * NUMLOCK\n */\n NUMLOCK: 144,\n /**\n * SEMICOLON\n */\n SEMICOLON: 186,\n /**\n * DASH\n */\n DASH: 189,\n /**\n * EQUALS\n */\n EQUALS: 187,\n /**\n * COMMA\n */\n COMMA: 188,\n /**\n * PERIOD\n */\n PERIOD: 190,\n /**\n * SLASH\n */\n SLASH: 191,\n /**\n * APOSTROPHE\n */\n APOSTROPHE: 192,\n /**\n * SINGLE_QUOTE\n */\n SINGLE_QUOTE: 222,\n /**\n * OPEN_SQUARE_BRACKET\n */\n OPEN_SQUARE_BRACKET: 219,\n /**\n * BACKSLASH\n */\n BACKSLASH: 220,\n /**\n * CLOSE_SQUARE_BRACKET\n */\n CLOSE_SQUARE_BRACKET: 221,\n /**\n * WIN_KEY\n */\n WIN_KEY: 224,\n /**\n * MAC_FF_META\n */\n MAC_FF_META: 224,\n /**\n * WIN_IME\n */\n WIN_IME: 229,\n // ======================== Function ========================\n /**\n * whether text and modified key is entered at the same time.\n */\n isTextModifyingKeyEvent: function isTextModifyingKeyEvent(e) {\n var keyCode = e.keyCode;\n if (e.altKey && !e.ctrlKey || e.metaKey ||\n // Function keys don't generate text\n keyCode >= KeyCode.F1 && keyCode <= KeyCode.F12) {\n return false;\n }\n // The following keys are quite harmless, even in combination with\n // CTRL, ALT or SHIFT.\n switch (keyCode) {\n case KeyCode.ALT:\n case KeyCode.CAPS_LOCK:\n case KeyCode.CONTEXT_MENU:\n case KeyCode.CTRL:\n case KeyCode.DOWN:\n case KeyCode.END:\n case KeyCode.ESC:\n case KeyCode.HOME:\n case KeyCode.INSERT:\n case KeyCode.LEFT:\n case KeyCode.MAC_FF_META:\n case KeyCode.META:\n case KeyCode.NUMLOCK:\n case KeyCode.NUM_CENTER:\n case KeyCode.PAGE_DOWN:\n case KeyCode.PAGE_UP:\n case KeyCode.PAUSE:\n case KeyCode.PRINT_SCREEN:\n case KeyCode.RIGHT:\n case KeyCode.SHIFT:\n case KeyCode.UP:\n case KeyCode.WIN_KEY:\n case KeyCode.WIN_KEY_RIGHT:\n return false;\n default:\n return true;\n }\n },\n /**\n * whether character is entered.\n */\n isCharacterKey: function isCharacterKey(keyCode) {\n if (keyCode >= KeyCode.ZERO && keyCode <= KeyCode.NINE) {\n return true;\n }\n if (keyCode >= KeyCode.NUM_ZERO && keyCode <= KeyCode.NUM_MULTIPLY) {\n return true;\n }\n if (keyCode >= KeyCode.A && keyCode <= KeyCode.Z) {\n return true;\n }\n // Safari sends zero key code for non-latin characters.\n if (window.navigator.userAgent.indexOf('WebKit') !== -1 && keyCode === 0) {\n return true;\n }\n switch (keyCode) {\n case KeyCode.SPACE:\n case KeyCode.QUESTION_MARK:\n case KeyCode.NUM_PLUS:\n case KeyCode.NUM_MINUS:\n case KeyCode.NUM_PERIOD:\n case KeyCode.NUM_DIVISION:\n case KeyCode.SEMICOLON:\n case KeyCode.DASH:\n case KeyCode.EQUALS:\n case KeyCode.COMMA:\n case KeyCode.PERIOD:\n case KeyCode.SLASH:\n case KeyCode.APOSTROPHE:\n case KeyCode.SINGLE_QUOTE:\n case KeyCode.OPEN_SQUARE_BRACKET:\n case KeyCode.BACKSLASH:\n case KeyCode.CLOSE_SQUARE_BRACKET:\n return true;\n default:\n return false;\n }\n }\n};\nexport default KeyCode;","import _regeneratorRuntime from \"@babel/runtime/helpers/esm/regeneratorRuntime\";\nimport _asyncToGenerator from \"@babel/runtime/helpers/esm/asyncToGenerator\";\nimport _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nimport * as ReactDOM from 'react-dom';\n// Let compiler not to search module usage\nvar fullClone = _objectSpread({}, ReactDOM);\nvar version = fullClone.version,\n reactRender = fullClone.render,\n unmountComponentAtNode = fullClone.unmountComponentAtNode;\nvar createRoot;\ntry {\n var mainVersion = Number((version || '').split('.')[0]);\n if (mainVersion >= 18) {\n createRoot = fullClone.createRoot;\n }\n} catch (e) {\n // Do nothing;\n}\nfunction toggleWarning(skip) {\n var __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED = fullClone.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED;\n if (__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED && _typeof(__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED) === 'object') {\n __SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.usingClientEntryPoint = skip;\n }\n}\nvar MARK = '__rc_react_root__';\nfunction modernRender(node, container) {\n toggleWarning(true);\n var root = container[MARK] || createRoot(container);\n toggleWarning(false);\n root.render(node);\n container[MARK] = root;\n}\nfunction legacyRender(node, container) {\n reactRender(node, container);\n}\n/** @private Test usage. Not work in prod */\nexport function _r(node, container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyRender(node, container);\n }\n}\nexport function render(node, container) {\n if (createRoot) {\n modernRender(node, container);\n return;\n }\n legacyRender(node, container);\n}\n// ========================= Unmount ==========================\nfunction modernUnmount(_x) {\n return _modernUnmount.apply(this, arguments);\n}\nfunction _modernUnmount() {\n _modernUnmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee(container) {\n return _regeneratorRuntime().wrap(function _callee$(_context) {\n while (1) {\n switch (_context.prev = _context.next) {\n case 0:\n return _context.abrupt(\"return\", Promise.resolve().then(function () {\n var _container$MARK;\n (_container$MARK = container[MARK]) === null || _container$MARK === void 0 ? void 0 : _container$MARK.unmount();\n delete container[MARK];\n }));\n case 1:\n case \"end\":\n return _context.stop();\n }\n }\n }, _callee);\n }));\n return _modernUnmount.apply(this, arguments);\n}\nfunction legacyUnmount(container) {\n unmountComponentAtNode(container);\n}\n/** @private Test usage. Not work in prod */\nexport function _u(container) {\n if (process.env.NODE_ENV !== 'production') {\n return legacyUnmount(container);\n }\n}\nexport function unmount(_x2) {\n return _unmount.apply(this, arguments);\n}\nfunction _unmount() {\n _unmount = _asyncToGenerator( /*#__PURE__*/_regeneratorRuntime().mark(function _callee2(container) {\n return _regeneratorRuntime().wrap(function _callee2$(_context2) {\n while (1) {\n switch (_context2.prev = _context2.next) {\n case 0:\n if (!(createRoot !== undefined)) {\n _context2.next = 2;\n break;\n }\n return _context2.abrupt(\"return\", modernUnmount(container));\n case 2:\n legacyUnmount(container);\n case 3:\n case \"end\":\n return _context2.stop();\n }\n }\n }, _callee2);\n }));\n return _unmount.apply(this, arguments);\n}","/* eslint-disable no-param-reassign */\nvar cached;\nexport default function getScrollBarSize(fresh) {\n if (typeof document === 'undefined') {\n return 0;\n }\n if (fresh || cached === undefined) {\n var inner = document.createElement('div');\n inner.style.width = '100%';\n inner.style.height = '200px';\n var outer = document.createElement('div');\n var outerStyle = outer.style;\n outerStyle.position = 'absolute';\n outerStyle.top = '0';\n outerStyle.left = '0';\n outerStyle.pointerEvents = 'none';\n outerStyle.visibility = 'hidden';\n outerStyle.width = '200px';\n outerStyle.height = '150px';\n outerStyle.overflow = 'hidden';\n outer.appendChild(inner);\n document.body.appendChild(outer);\n var widthContained = inner.offsetWidth;\n outer.style.overflow = 'scroll';\n var widthScroll = inner.offsetWidth;\n if (widthContained === widthScroll) {\n widthScroll = outer.clientWidth;\n }\n document.body.removeChild(outer);\n cached = widthContained - widthScroll;\n }\n return cached;\n}\nfunction ensureSize(str) {\n var match = str.match(/^(.*)px$/);\n var value = Number(match === null || match === void 0 ? void 0 : match[1]);\n return Number.isNaN(value) ? getScrollBarSize() : value;\n}\nexport function getTargetScrollBarSize(target) {\n if (typeof document === 'undefined' || !target || !(target instanceof Element)) {\n return {\n width: 0,\n height: 0\n };\n }\n var _getComputedStyle = getComputedStyle(target, '::-webkit-scrollbar'),\n width = _getComputedStyle.width,\n height = _getComputedStyle.height;\n return {\n width: ensureSize(width),\n height: ensureSize(height)\n };\n}","import * as React from 'react';\nexport default function useEvent(callback) {\n var fnRef = React.useRef();\n fnRef.current = callback;\n var memoFn = React.useCallback(function () {\n var _fnRef$current;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return (_fnRef$current = fnRef.current) === null || _fnRef$current === void 0 ? void 0 : _fnRef$current.call.apply(_fnRef$current, [fnRef].concat(args));\n }, []);\n return memoFn;\n}","import * as React from 'react';\nimport canUseDom from '../Dom/canUseDom';\n/**\n * Wrap `React.useLayoutEffect` which will not throw warning message in test env\n */\nvar useLayoutEffect = process.env.NODE_ENV !== 'test' && canUseDom() ? React.useLayoutEffect : React.useEffect;\nexport default useLayoutEffect;\nexport var useLayoutUpdateEffect = function useLayoutUpdateEffect(callback, deps) {\n var firstMountRef = React.useRef(true);\n useLayoutEffect(function () {\n if (!firstMountRef.current) {\n return callback();\n }\n }, deps);\n // We tell react that first mount has passed\n useLayoutEffect(function () {\n firstMountRef.current = false;\n return function () {\n firstMountRef.current = true;\n };\n }, []);\n};","import * as React from 'react';\nexport default function useMemo(getValue, condition, shouldUpdate) {\n var cacheRef = React.useRef({});\n if (!('value' in cacheRef.current) || shouldUpdate(cacheRef.current.condition, condition)) {\n cacheRef.current.value = getValue();\n cacheRef.current.condition = condition;\n }\n return cacheRef.current.value;\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\nimport useEvent from './useEvent';\nimport useLayoutEffect, { useLayoutUpdateEffect } from './useLayoutEffect';\nimport useState from './useState';\nvar Source;\n(function (Source) {\n Source[Source[\"INNER\"] = 0] = \"INNER\";\n Source[Source[\"PROP\"] = 1] = \"PROP\";\n})(Source || (Source = {}));\n/** We only think `undefined` is empty */\nfunction hasValue(value) {\n return value !== undefined;\n}\n/**\n * Similar to `useState` but will use props value if provided.\n * Note that internal use rc-util `useState` hook.\n */\nexport default function useMergedState(defaultStateValue, option) {\n var _ref = option || {},\n defaultValue = _ref.defaultValue,\n value = _ref.value,\n onChange = _ref.onChange,\n postState = _ref.postState;\n // ======================= Init =======================\n var _useState = useState(function () {\n var finalValue = undefined;\n var source;\n if (hasValue(value)) {\n finalValue = value;\n source = Source.PROP;\n } else if (hasValue(defaultValue)) {\n finalValue = typeof defaultValue === 'function' ? defaultValue() : defaultValue;\n source = Source.PROP;\n } else {\n finalValue = typeof defaultStateValue === 'function' ? defaultStateValue() : defaultStateValue;\n source = Source.INNER;\n }\n return [finalValue, source, finalValue];\n }),\n _useState2 = _slicedToArray(_useState, 2),\n mergedValue = _useState2[0],\n setMergedValue = _useState2[1];\n var chosenValue = hasValue(value) ? value : mergedValue[0];\n var postMergedValue = postState ? postState(chosenValue) : chosenValue;\n // ======================= Sync =======================\n useLayoutUpdateEffect(function () {\n setMergedValue(function (_ref2) {\n var _ref3 = _slicedToArray(_ref2, 1),\n prevValue = _ref3[0];\n return [value, Source.PROP, prevValue];\n });\n }, [value]);\n // ====================== Update ======================\n var changeEventPrevRef = React.useRef();\n var triggerChange = useEvent(function (updater, ignoreDestroy) {\n setMergedValue(function (prev) {\n var _prev = _slicedToArray(prev, 3),\n prevValue = _prev[0],\n prevSource = _prev[1],\n prevPrevValue = _prev[2];\n var nextValue = typeof updater === 'function' ? updater(prevValue) : updater;\n // Do nothing if value not change\n if (nextValue === prevValue) {\n return prev;\n }\n // Use prev prev value if is in a batch update to avoid missing data\n var overridePrevValue = prevSource === Source.INNER && changeEventPrevRef.current !== prevPrevValue ? prevPrevValue : prevValue;\n return [nextValue, Source.INNER, overridePrevValue];\n }, ignoreDestroy);\n });\n // ====================== Change ======================\n var onChangeFn = useEvent(onChange);\n useLayoutEffect(function () {\n var _mergedValue = _slicedToArray(mergedValue, 3),\n current = _mergedValue[0],\n source = _mergedValue[1],\n prev = _mergedValue[2];\n if (current !== prev && source === Source.INNER) {\n onChangeFn(current, prev);\n changeEventPrevRef.current = prev;\n }\n }, [mergedValue]);\n return [postMergedValue, triggerChange];\n}","import _slicedToArray from \"@babel/runtime/helpers/esm/slicedToArray\";\nimport * as React from 'react';\n/**\n * Same as React.useState but `setState` accept `ignoreDestroy` param to not to setState after destroyed.\n * We do not make this auto is to avoid real memory leak.\n * Developer should confirm it's safe to ignore themselves.\n */\nexport default function useSafeState(defaultValue) {\n var destroyRef = React.useRef(false);\n var _React$useState = React.useState(defaultValue),\n _React$useState2 = _slicedToArray(_React$useState, 2),\n value = _React$useState2[0],\n setValue = _React$useState2[1];\n React.useEffect(function () {\n destroyRef.current = false;\n return function () {\n destroyRef.current = true;\n };\n }, []);\n function safeSetState(updater, ignoreDestroy) {\n if (ignoreDestroy && destroyRef.current) {\n return;\n }\n setValue(updater);\n }\n return [value, safeSetState];\n}","export default (function () {\n if (typeof navigator === 'undefined' || typeof window === 'undefined') {\n return false;\n }\n var agent = navigator.userAgent || navigator.vendor || window.opera;\n return /(android|bb\\d+|meego).+mobile|avantgo|bada\\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|iris|kindle|lge |maemo|midp|mmp|mobile.+firefox|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\\.(browser|link)|vodafone|wap|windows ce|xda|xiino|android|ipad|playbook|silk/i.test(agent) || /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw-(n|u)|c55\\/|capi|ccwa|cdm-|cell|chtm|cldc|cmd-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc-s|devi|dica|dmob|do(c|p)o|ds(12|-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(-|_)|g1 u|g560|gene|gf-5|g-mo|go(\\.w|od)|gr(ad|un)|haie|hcit|hd-(m|p|t)|hei-|hi(pt|ta)|hp( i|ip)|hs-c|ht(c(-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i-(20|go|ma)|i230|iac( |-|\\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\\/)|klon|kpt |kwc-|kyo(c|k)|le(no|xi)|lg( g|\\/(k|l|u)|50|54|-[a-w])|libw|lynx|m1-w|m3ga|m50\\/|ma(te|ui|xo)|mc(01|21|ca)|m-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|-([1-8]|c))|phil|pire|pl(ay|uc)|pn-2|po(ck|rt|se)|prox|psio|pt-g|qa-a|qc(07|12|21|32|60|-[2-7]|i-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h-|oo|p-)|sdk\\/|se(c(-|0|1)|47|mc|nd|ri)|sgh-|shar|sie(-|m)|sk-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h-|v-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl-|tdg-|tel(i|m)|tim-|t-mo|to(pl|sh)|ts(70|m-|m3|m5)|tx-9|up(\\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas-|your|zeto|zte-/i.test(agent === null || agent === void 0 ? void 0 : agent.substr(0, 4));\n});","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nexport default function omit(obj, fields) {\n var clone = _objectSpread({}, obj);\n if (Array.isArray(fields)) {\n fields.forEach(function (key) {\n delete clone[key];\n });\n }\n return clone;\n}","import _objectSpread from \"@babel/runtime/helpers/esm/objectSpread2\";\nvar attributes = \"accept acceptCharset accessKey action allowFullScreen allowTransparency\\n alt async autoComplete autoFocus autoPlay capture cellPadding cellSpacing challenge\\n charSet checked classID className colSpan cols content contentEditable contextMenu\\n controls coords crossOrigin data dateTime default defer dir disabled download draggable\\n encType form formAction formEncType formMethod formNoValidate formTarget frameBorder\\n headers height hidden high href hrefLang htmlFor httpEquiv icon id inputMode integrity\\n is keyParams keyType kind label lang list loop low manifest marginHeight marginWidth max maxLength media\\n mediaGroup method min minLength multiple muted name noValidate nonce open\\n optimum pattern placeholder poster preload radioGroup readOnly rel required\\n reversed role rowSpan rows sandbox scope scoped scrolling seamless selected\\n shape size sizes span spellCheck src srcDoc srcLang srcSet start step style\\n summary tabIndex target title type useMap value width wmode wrap\";\nvar eventsName = \"onCopy onCut onPaste onCompositionEnd onCompositionStart onCompositionUpdate onKeyDown\\n onKeyPress onKeyUp onFocus onBlur onChange onInput onSubmit onClick onContextMenu onDoubleClick\\n onDrag onDragEnd onDragEnter onDragExit onDragLeave onDragOver onDragStart onDrop onMouseDown\\n onMouseEnter onMouseLeave onMouseMove onMouseOut onMouseOver onMouseUp onSelect onTouchCancel\\n onTouchEnd onTouchMove onTouchStart onScroll onWheel onAbort onCanPlay onCanPlayThrough\\n onDurationChange onEmptied onEncrypted onEnded onError onLoadedData onLoadedMetadata\\n onLoadStart onPause onPlay onPlaying onProgress onRateChange onSeeked onSeeking onStalled onSuspend onTimeUpdate onVolumeChange onWaiting onLoad onError\";\nvar propList = \"\".concat(attributes, \" \").concat(eventsName).split(/[\\s\\n]+/);\n/* eslint-enable max-len */\nvar ariaPrefix = 'aria-';\nvar dataPrefix = 'data-';\nfunction match(key, prefix) {\n return key.indexOf(prefix) === 0;\n}\n/**\n * Picker props from exist props with filter\n * @param props Passed props\n * @param ariaOnly boolean | { aria?: boolean; data?: boolean; attr?: boolean; } filter config\n */\nexport default function pickAttrs(props) {\n var ariaOnly = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n var mergedConfig;\n if (ariaOnly === false) {\n mergedConfig = {\n aria: true,\n data: true,\n attr: true\n };\n } else if (ariaOnly === true) {\n mergedConfig = {\n aria: true\n };\n } else {\n mergedConfig = _objectSpread({}, ariaOnly);\n }\n var attrs = {};\n Object.keys(props).forEach(function (key) {\n if (\n // Aria\n mergedConfig.aria && (key === 'role' || match(key, ariaPrefix)) ||\n // Data\n mergedConfig.data && match(key, dataPrefix) ||\n // Attr\n mergedConfig.attr && propList.includes(key)) {\n attrs[key] = props[key];\n }\n });\n return attrs;\n}","var raf = function raf(callback) {\n return +setTimeout(callback, 16);\n};\nvar caf = function caf(num) {\n return clearTimeout(num);\n};\nif (typeof window !== 'undefined' && 'requestAnimationFrame' in window) {\n raf = function raf(callback) {\n return window.requestAnimationFrame(callback);\n };\n caf = function caf(handle) {\n return window.cancelAnimationFrame(handle);\n };\n}\nvar rafUUID = 0;\nvar rafIds = new Map();\nfunction cleanup(id) {\n rafIds.delete(id);\n}\nvar wrapperRaf = function wrapperRaf(callback) {\n var times = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 1;\n rafUUID += 1;\n var id = rafUUID;\n function callRef(leftTimes) {\n if (leftTimes === 0) {\n // Clean up\n cleanup(id);\n // Trigger\n callback();\n } else {\n // Next raf\n var realId = raf(function () {\n callRef(leftTimes - 1);\n });\n // Bind real raf id\n rafIds.set(id, realId);\n }\n }\n callRef(times);\n return id;\n};\nwrapperRaf.cancel = function (id) {\n var realId = rafIds.get(id);\n cleanup(realId);\n return caf(realId);\n};\nexport default wrapperRaf;","import _typeof from \"@babel/runtime/helpers/esm/typeof\";\nimport { isMemo } from 'react-is';\nimport useMemo from './hooks/useMemo';\nexport function fillRef(ref, node) {\n if (typeof ref === 'function') {\n ref(node);\n } else if (_typeof(ref) === 'object' && ref && 'current' in ref) {\n ref.current = node;\n }\n}\n/**\n * Merge refs into one ref function to support ref passing.\n */\nexport function composeRef() {\n for (var _len = arguments.length, refs = new Array(_len), _key = 0; _key < _len; _key++) {\n refs[_key] = arguments[_key];\n }\n var refList = refs.filter(function (ref) {\n return ref;\n });\n if (refList.length <= 1) {\n return refList[0];\n }\n return function (node) {\n refs.forEach(function (ref) {\n fillRef(ref, node);\n });\n };\n}\nexport function useComposeRef() {\n for (var _len2 = arguments.length, refs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n refs[_key2] = arguments[_key2];\n }\n return useMemo(function () {\n return composeRef.apply(void 0, refs);\n }, refs, function (prev, next) {\n return prev.length === next.length && prev.every(function (ref, i) {\n return ref === next[i];\n });\n });\n}\nexport function supportRef(nodeOrComponent) {\n var _type$prototype, _nodeOrComponent$prot;\n var type = isMemo(nodeOrComponent) ? nodeOrComponent.type.type : nodeOrComponent.type;\n // Function component node\n if (typeof type === 'function' && !((_type$prototype = type.prototype) === null || _type$prototype === void 0 ? void 0 : _type$prototype.render)) {\n return false;\n }\n // Class component\n if (typeof nodeOrComponent === 'function' && !((_nodeOrComponent$prot = nodeOrComponent.prototype) === null || _nodeOrComponent$prot === void 0 ? void 0 : _nodeOrComponent$prot.render)) {\n return false;\n }\n return true;\n}\n/* eslint-enable */","/* eslint-disable no-console */\nvar warned = {};\nexport function warning(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.error(\"Warning: \".concat(message));\n }\n}\nexport function note(valid, message) {\n // Support uglify\n if (process.env.NODE_ENV !== 'production' && !valid && console !== undefined) {\n console.warn(\"Note: \".concat(message));\n }\n}\nexport function resetWarned() {\n warned = {};\n}\nexport function call(method, valid, message) {\n if (!valid && !warned[message]) {\n method(false, message);\n warned[message] = true;\n }\n}\nexport function warningOnce(valid, message) {\n call(warning, valid, message);\n}\nexport function noteOnce(valid, message) {\n call(note, valid, message);\n}\nexport default warningOnce;\n/* eslint-enable */","/** @license React v16.13.1\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n\n'use strict';var b=\"function\"===typeof Symbol&&Symbol.for,c=b?Symbol.for(\"react.element\"):60103,d=b?Symbol.for(\"react.portal\"):60106,e=b?Symbol.for(\"react.fragment\"):60107,f=b?Symbol.for(\"react.strict_mode\"):60108,g=b?Symbol.for(\"react.profiler\"):60114,h=b?Symbol.for(\"react.provider\"):60109,k=b?Symbol.for(\"react.context\"):60110,l=b?Symbol.for(\"react.async_mode\"):60111,m=b?Symbol.for(\"react.concurrent_mode\"):60111,n=b?Symbol.for(\"react.forward_ref\"):60112,p=b?Symbol.for(\"react.suspense\"):60113,q=b?\nSymbol.for(\"react.suspense_list\"):60120,r=b?Symbol.for(\"react.memo\"):60115,t=b?Symbol.for(\"react.lazy\"):60116,v=b?Symbol.for(\"react.block\"):60121,w=b?Symbol.for(\"react.fundamental\"):60117,x=b?Symbol.for(\"react.responder\"):60118,y=b?Symbol.for(\"react.scope\"):60119;\nfunction z(a){if(\"object\"===typeof a&&null!==a){var u=a.$$typeof;switch(u){case c:switch(a=a.type,a){case l:case m:case e:case g:case f:case p:return a;default:switch(a=a&&a.$$typeof,a){case k:case n:case t:case r:case h:return a;default:return u}}case d:return u}}}function A(a){return z(a)===m}exports.AsyncMode=l;exports.ConcurrentMode=m;exports.ContextConsumer=k;exports.ContextProvider=h;exports.Element=c;exports.ForwardRef=n;exports.Fragment=e;exports.Lazy=t;exports.Memo=r;exports.Portal=d;\nexports.Profiler=g;exports.StrictMode=f;exports.Suspense=p;exports.isAsyncMode=function(a){return A(a)||z(a)===l};exports.isConcurrentMode=A;exports.isContextConsumer=function(a){return z(a)===k};exports.isContextProvider=function(a){return z(a)===h};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===c};exports.isForwardRef=function(a){return z(a)===n};exports.isFragment=function(a){return z(a)===e};exports.isLazy=function(a){return z(a)===t};\nexports.isMemo=function(a){return z(a)===r};exports.isPortal=function(a){return z(a)===d};exports.isProfiler=function(a){return z(a)===g};exports.isStrictMode=function(a){return z(a)===f};exports.isSuspense=function(a){return z(a)===p};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===e||a===m||a===g||a===f||a===p||a===q||\"object\"===typeof a&&null!==a&&(a.$$typeof===t||a.$$typeof===r||a.$$typeof===h||a.$$typeof===k||a.$$typeof===n||a.$$typeof===w||a.$$typeof===x||a.$$typeof===y||a.$$typeof===v)};exports.typeOf=z;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _JSON$stringify from \"core-js-pure/stable/json/stringify.js\";\nimport _filterInstanceProperty from \"core-js-pure/stable/instance/filter.js\";\nimport _sliceInstanceProperty from \"core-js-pure/stable/instance/slice.js\";\nexport var CACHE_PREFIX = 'react-avatar/';\nexport var CACHE_KEY_FAILING = 'failing';\n\nvar _hasLocalStorage = function isLocalStorageAvailable() {\n try {\n return 'localStorage' in window && window['localStorage'];\n } catch (err) {\n return false;\n }\n}();\n\nexport var Cache = /*#__PURE__*/function () {\n function Cache() {\n var options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n\n _classCallCheck(this, Cache);\n\n var _options$cachePrefix = options.cachePrefix,\n cachePrefix = _options$cachePrefix === void 0 ? CACHE_PREFIX : _options$cachePrefix,\n _options$sourceTTL = options.sourceTTL,\n sourceTTL = _options$sourceTTL === void 0 ? 7 * 24 * 3600 * 1000 : _options$sourceTTL,\n _options$sourceSize = options.sourceSize,\n sourceSize = _options$sourceSize === void 0 ? 20 : _options$sourceSize;\n this.cachePrefix = cachePrefix;\n this.sourceTTL = sourceTTL;\n this.sourceSize = sourceSize;\n }\n\n _createClass(Cache, [{\n key: \"set\",\n value: function set(key, value) {\n // cache not available\n if (!_hasLocalStorage) return;\n value = _JSON$stringify(value);\n\n try {\n localStorage.setItem(this.cachePrefix + key, value);\n } catch (e) {\n // failsafe for mobile Safari private mode\n console.error(e); // eslint-disable-line no-console\n }\n }\n }, {\n key: \"get\",\n value: function get(key) {\n // cache not available\n if (!_hasLocalStorage) return null;\n var value = localStorage.getItem(this.cachePrefix + key);\n if (value) return JSON.parse(value);\n return null;\n }\n }, {\n key: \"sourceFailed\",\n value: function sourceFailed(source) {\n var cacheList = this.get(CACHE_KEY_FAILING) || []; // Remove expired entries or previous instances of this source\n\n cacheList = _filterInstanceProperty(cacheList).call(cacheList, function (entry) {\n var hasExpired = entry.expires > 0 && entry.expires < Date.now();\n var isMatch = entry === source || entry.url == source;\n return !hasExpired && !isMatch;\n }); // Add the source to the end of the list\n\n cacheList.unshift({\n url: source,\n expires: Date.now() + this.sourceTTL\n }); // only keep the last X results so we don't fill up local storage\n\n cacheList = _sliceInstanceProperty(cacheList).call(cacheList, 0, this.sourceSize - 1);\n return this.set(CACHE_KEY_FAILING, cacheList);\n }\n }, {\n key: \"hasSourceFailedBefore\",\n value: function hasSourceFailedBefore(source) {\n var cacheList = this.get(CACHE_KEY_FAILING) || [];\n return cacheList.some(function (entry) {\n var hasExpired = entry.expires > 0 && entry.expires < Date.now();\n var isMatch = entry === source || entry.url == source;\n return isMatch && !hasExpired;\n });\n }\n }]);\n\n return Cache;\n}();\nexport default new Cache();","'use strict';\n\nimport _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport _indexOfInstanceProperty from \"core-js-pure/stable/instance/index-of.js\";\nimport _mapInstanceProperty from \"core-js-pure/stable/instance/map.js\";\nimport _reduceInstanceProperty from \"core-js-pure/stable/instance/reduce.js\";\nimport _parseFloat from \"core-js-pure/stable/parse-float.js\";\nimport _sliceInstanceProperty from \"core-js-pure/stable/instance/slice.js\";\nimport _filterInstanceProperty from \"core-js-pure/stable/instance/filter.js\";\nimport retina from 'is-retina';\nvar IS_RETINA = retina();\nexport function fetch(url, successCb, errorCb) {\n var request = new XMLHttpRequest();\n\n request.onreadystatechange = function () {\n if (request.readyState === 4) {\n if (request.status === 200) {\n var data = JSON.parse(request.responseText);\n successCb(data);\n } else {\n errorCb(request.status);\n }\n }\n };\n\n request.open('GET', url, true);\n request.send();\n}\nexport function fetchJSONP(url, successCb, errorCb) {\n var callbackName = 'jsonp_cb_' + Math.round(100000 * Math.random());\n var script = document.createElement('script');\n script.src = url + (_indexOfInstanceProperty(url).call(url, '?') >= 0 ? '&' : '?') + 'callback=' + callbackName;\n document.body.appendChild(script);\n\n script.onerror = function () {\n errorCb();\n };\n\n window[callbackName] = function (data) {\n delete window[callbackName];\n document.body.removeChild(script);\n successCb(data);\n };\n} // https://webaim.org/resources/contrastchecker/\n\nexport var defaultColors = ['#A62A21', '#7e3794', '#0B51C1', '#3A6024', '#A81563', '#B3003C']; // https://regex101.com/r/YEsPER/1\n// https://developer.mozilla.org/en-US/docs/Web/CSS/length\n\nvar reSize = /^([-+]?(?:\\d+(?:\\.\\d+)?|\\.\\d+))([a-z]{2,4}|%)?$/; // https://en.wikipedia.org/wiki/Linear_congruential_generator\n\nfunction _stringAsciiPRNG(value, m) {\n var _context;\n\n // Xn+1 = (a * Xn + c) % m\n // 0 < a < m\n // 0 <= c < m\n // 0 <= X0 < m\n var charCodes = _mapInstanceProperty(_context = _toConsumableArray(value)).call(_context, function (letter) {\n return letter.charCodeAt(0);\n });\n\n var len = charCodes.length;\n var a = len % (m - 1) + 1;\n var c = _reduceInstanceProperty(charCodes).call(charCodes, function (current, next) {\n return current + next;\n }) % m;\n var random = charCodes[0] % m;\n\n for (var i = 0; i < len; i++) {\n random = (a * random + c) % m;\n }\n\n return random;\n}\n\nexport function getRandomColor(value) {\n var colors = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : defaultColors;\n // if no value is passed, always return transparent color otherwise\n // a rerender would show a new color which would will\n // give strange effects when an interface is loading\n // and gets rerendered a few consequent times\n if (!value) return 'transparent'; // value based random color index\n // the reason we don't just use a random number is to make sure that\n // a certain value will always get the same color assigned given\n // a fixed set of colors\n\n var colorIndex = _stringAsciiPRNG(value, colors.length);\n\n return colors[colorIndex];\n}\nexport function parseSize(size) {\n size = '' + size;\n\n var _ref = reSize.exec(size) || [],\n _ref2 = _slicedToArray(_ref, 3),\n _ref2$ = _ref2[1],\n value = _ref2$ === void 0 ? 0 : _ref2$,\n _ref2$2 = _ref2[2],\n unit = _ref2$2 === void 0 ? 'px' : _ref2$2;\n\n return {\n value: _parseFloat(value),\n str: value + unit,\n unit: unit\n };\n}\n/**\n * Calculate absolute size in pixels we want for the images\n * that get requested from the various sources. They don't\n * understand relative sizes like `em` or `vww`. We select\n * a fixed size of 512px when we can't detect the true pixel size.\n */\n\nexport function getImageSize(size) {\n size = parseSize(size);\n if (isNaN(size.value)) // invalid size, use fallback\n size = 512;else if (size.unit === 'px') // px are good, use them\n size = size.value;else if (size.value === 0) // relative 0 === absolute 0\n size = 0;else // anything else is unknown, use fallback\n size = 512;\n if (IS_RETINA) size = size * 2;\n return size;\n}\nexport function defaultInitials(name, _ref3) {\n var _context2, _context3, _context4;\n\n var maxInitials = _ref3.maxInitials;\n return _sliceInstanceProperty(_context2 = _filterInstanceProperty(_context3 = _mapInstanceProperty(_context4 = name.split(/\\s/)).call(_context4, function (part) {\n return part.substring(0, 1).toUpperCase();\n })).call(_context3, function (v) {\n return !!v;\n })).call(_context2, 0, maxInitials).join('').toUpperCase();\n}\n/**\n * Grouped timeouts reduce the amount of timeouts trigged\n * by grouping multiple handlers into a single setTimeout call.\n *\n * This reduces accuracy of the timeout but will be less expensive\n * when multiple avatar have been loaded into view.\n */\n\nvar timeoutGroups = {};\nexport function setGroupedTimeout(fn, ttl) {\n if (timeoutGroups[ttl]) {\n timeoutGroups[ttl].push(fn);\n return;\n }\n\n var callbacks = timeoutGroups[ttl] = [fn];\n setTimeout(function () {\n delete timeoutGroups[ttl];\n callbacks.forEach(function (cb) {\n return cb();\n });\n }, ttl);\n}\nexport function getNullableText() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n for (var _i = 0, _args = args; _i < _args.length; _i++) {\n var arg = _args[_i];\n if (arg || arg === '') return arg;\n if (arg === false || arg === null) return null;\n }\n\n return;\n}\nexport function calculateBorderRadius(round) {\n if (round === true) return '100%';\n if (round === false) return;\n return round;\n}","import _Reflect$construct from \"core-js-pure/stable/reflect/construct.js\";\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport _Object$keys from \"core-js-pure/stable/object/keys.js\";\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport defaultCache from './cache';\nimport { defaultColors, defaultInitials } from './utils';\nvar defaults = {\n cache: defaultCache,\n colors: defaultColors,\n initials: defaultInitials,\n avatarRedirectUrl: null\n};\n\nvar contextKeys = _Object$keys(defaults);\n/**\n * withConfig and ConfigProvider provide a compatibility layer for different\n * versions of React equiped with different versions of the Context API.\n *\n * If the new Context API is available it will be used, otherwise we will\n * fall back to the legacy context api.\n */\n\n\nvar ConfigContext = React.createContext && /*#__PURE__*/React.createContext();\nvar isLegacyContext = !ConfigContext;\nvar ConfigConsumer = isLegacyContext ? null : ConfigContext.Consumer;\n/**\n * This was introduced in React 16.3.0 we need this to\n * prevent errors in newer versions. But we will just forward the\n * component for any version lower than 16.3.0\n *\n * https://github.com/Sitebase/react-avatar/issues/201\n * https://github.com/facebook/react/blob/master/CHANGELOG.md#1630-march-29-2018\n */\n\nvar forwardRef = React.forwardRef || function (C) {\n return C;\n};\n\nexport var ConfigProvider = /*#__PURE__*/function (_React$Component) {\n _inherits(ConfigProvider, _React$Component);\n\n var _super = _createSuper(ConfigProvider);\n\n function ConfigProvider() {\n _classCallCheck(this, ConfigProvider);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(ConfigProvider, [{\n key: \"_getContext\",\n value: function _getContext() {\n var _this = this;\n\n var context = {};\n contextKeys.forEach(function (key) {\n if (typeof _this.props[key] !== 'undefined') context[key] = _this.props[key];\n });\n return context;\n }\n }, {\n key: \"render\",\n value: function render() {\n var children = this.props.children;\n if (isLegacyContext) return React.Children.only(children);\n return /*#__PURE__*/React.createElement(ConfigContext.Provider, {\n value: this._getContext()\n }, React.Children.only(children));\n }\n }]);\n\n return ConfigProvider;\n}(React.Component);\n\n_defineProperty(ConfigProvider, \"displayName\", 'ConfigProvider');\n\n_defineProperty(ConfigProvider, \"propTypes\", {\n cache: PropTypes.object,\n colors: PropTypes.arrayOf(PropTypes.string),\n initials: PropTypes.func,\n avatarRedirectUrl: PropTypes.string,\n children: PropTypes.node\n});\n\nexport var withConfig = function withConfig(Component) {\n function withAvatarConfig(props, refOrContext) {\n // If legacy context is enabled, there is no support for forwardedRefs either\n if (isLegacyContext) {\n var ctx = refOrContext && refOrContext.reactAvatar;\n return /*#__PURE__*/React.createElement(Component, _extends({}, defaults, ctx, props));\n }\n /* eslint-disable react/display-name */\n\n\n return /*#__PURE__*/React.createElement(ConfigConsumer, null, function (config) {\n return /*#__PURE__*/React.createElement(Component, _extends({\n ref: refOrContext\n }, defaults, config, props));\n });\n /* eslint-enable react/display-name */\n } // Legacy support, only set when legacy is detected\n\n\n withAvatarConfig.contextTypes = ConfigProvider.childContextTypes;\n return forwardRef(withAvatarConfig);\n};\n\nif (isLegacyContext) {\n ConfigProvider.childContextTypes = {\n reactAvatar: PropTypes.object\n };\n\n ConfigProvider.prototype.getChildContext = function () {\n return {\n reactAvatar: this._getContext()\n };\n };\n}","import _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\n\nvar InternalState = /*#__PURE__*/function () {\n function InternalState() {\n _classCallCheck(this, InternalState);\n\n this.sourcePointer = 0;\n this.active = true;\n this.fetch = null;\n }\n\n _createClass(InternalState, [{\n key: \"isActive\",\n value: function isActive() {\n var state = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {};\n // Internal state has been reset => we received new props\n if (state.internal !== this) return false;\n if (!this.fetch) return false;\n if (this.active !== true) return false;\n return true;\n }\n }]);\n\n return InternalState;\n}();\n\nexport { InternalState as default };","'use strict';\n\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport _reduceInstanceProperty from \"core-js-pure/stable/instance/reduce.js\";\nimport _Object$assign from \"core-js-pure/stable/object/assign.js\";\nimport _Reflect$construct from \"core-js-pure/stable/reflect/construct.js\";\nimport _Object$keys from \"core-js-pure/stable/object/keys.js\";\nimport _Object$getOwnPropertySymbols from \"core-js-pure/stable/object/get-own-property-symbols.js\";\nimport _filterInstanceProperty from \"core-js-pure/stable/instance/filter.js\";\nimport _Object$getOwnPropertyDescriptor from \"core-js-pure/stable/object/get-own-property-descriptor.js\";\nimport _Object$getOwnPropertyDescriptors from \"core-js-pure/stable/object/get-own-property-descriptors.js\";\nimport _Object$defineProperties from \"core-js-pure/stable/object/define-properties.js\";\nimport _Object$defineProperty from \"core-js-pure/stable/object/define-property.js\";\nimport React, { PureComponent } from 'react';\nimport PropTypes from 'prop-types';\nimport { Cache } from './cache';\nimport { withConfig, ConfigProvider } from './context';\nimport InternalState from './internal-state';\nexport { getRandomColor } from './utils';\nexport { ConfigProvider } from './context';\nexport { Cache } from './cache';\n\nfunction matchSource(Source, props, cb) {\n var cache = props.cache;\n var instance = new Source(props);\n if (!instance.isCompatible(props)) return cb();\n instance.get(function (state) {\n var failedBefore = state && state.src && cache.hasSourceFailedBefore(state.src);\n\n if (!failedBefore && state) {\n cb(state);\n } else {\n cb();\n }\n });\n}\n\nexport default function createAvatarDataProvider(_ref) {\n var _ref$sources = _ref.sources,\n sources = _ref$sources === void 0 ? [] : _ref$sources;\n\n // Collect propTypes for each individual source\n var sourcePropTypes = _reduceInstanceProperty(sources).call(sources, function (r, s) {\n return _Object$assign(r, s.propTypes);\n }, {});\n\n var AvatarDataProvider = /*#__PURE__*/function (_PureComponent) {\n _inherits(AvatarDataProvider, _PureComponent);\n\n var _super = _createSuper(AvatarDataProvider);\n\n function AvatarDataProvider(props) {\n var _this;\n\n _classCallCheck(this, AvatarDataProvider);\n\n _this = _super.call(this, props);\n\n _defineProperty(_assertThisInitialized(_this), \"_createFetcher\", function (internal) {\n return function (errEvent) {\n var cache = _this.props.cache;\n if (!internal.isActive(_this.state)) return; // Mark img source as failed for future reference\n\n if (errEvent && errEvent.type === 'error') cache.sourceFailed(errEvent.target.src);\n var pointer = internal.sourcePointer;\n if (sources.length === pointer) return;\n var source = sources[pointer];\n internal.sourcePointer++;\n matchSource(source, _this.props, function (nextState) {\n if (!nextState) return setTimeout(internal.fetch, 0);\n if (!internal.isActive(_this.state)) return; // Reset other values to prevent them from sticking (#51)\n\n nextState = _objectSpread({\n src: null,\n value: null,\n color: null\n }, nextState);\n\n _this.setState(function (state) {\n // Internal state has been reset => we received new props\n return internal.isActive(state) ? nextState : {};\n });\n });\n };\n });\n\n _defineProperty(_assertThisInitialized(_this), \"fetch\", function () {\n var internal = new InternalState();\n internal.fetch = _this._createFetcher(internal);\n\n _this.setState({\n internal: internal\n }, internal.fetch);\n });\n\n _this.state = {\n internal: null,\n src: null,\n value: null,\n color: props.color\n };\n return _this;\n }\n\n _createClass(AvatarDataProvider, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this.fetch();\n }\n }, {\n key: \"componentDidUpdate\",\n value: function componentDidUpdate(prevProps) {\n var needsUpdate = false; // This seems redundant\n //\n // Props that need to be in `state` are\n // `value`, `src` and `color`\n\n for (var prop in sourcePropTypes) {\n needsUpdate = needsUpdate || prevProps[prop] !== this.props[prop];\n }\n\n if (needsUpdate) setTimeout(this.fetch, 0);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n if (this.state.internal) {\n this.state.internal.active = false;\n }\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n children = _this$props.children,\n propertyName = _this$props.propertyName;\n var _this$state = this.state,\n src = _this$state.src,\n value = _this$state.value,\n color = _this$state.color,\n sourceName = _this$state.sourceName,\n internal = _this$state.internal;\n var avatarData = {\n src: src,\n value: value,\n color: color,\n sourceName: sourceName,\n onRenderFailed: function onRenderFailed() {\n return internal && internal.fetch();\n } // eslint-disable-line\n\n };\n if (typeof children === 'function') return children(avatarData);\n var child = React.Children.only(children);\n return /*#__PURE__*/React.cloneElement(child, _defineProperty({}, propertyName, avatarData));\n }\n }]);\n\n return AvatarDataProvider;\n }(PureComponent);\n\n _defineProperty(AvatarDataProvider, \"displayName\", 'AvatarDataProvider');\n\n _defineProperty(AvatarDataProvider, \"propTypes\", _objectSpread(_objectSpread({}, sourcePropTypes), {}, {\n cache: PropTypes.object,\n propertyName: PropTypes.string\n }));\n\n _defineProperty(AvatarDataProvider, \"defaultProps\", {\n propertyName: 'avatar'\n });\n\n _defineProperty(AvatarDataProvider, \"Cache\", Cache);\n\n _defineProperty(AvatarDataProvider, \"ConfigProvider\", ConfigProvider);\n\n return _Object$assign(withConfig(AvatarDataProvider), {\n ConfigProvider: ConfigProvider,\n Cache: Cache\n });\n}","import _Reflect$construct from \"core-js-pure/stable/reflect/construct.js\";\nimport _Object$keys from \"core-js-pure/stable/object/keys.js\";\nimport _Object$getOwnPropertySymbols from \"core-js-pure/stable/object/get-own-property-symbols.js\";\nimport _filterInstanceProperty from \"core-js-pure/stable/instance/filter.js\";\nimport _Object$getOwnPropertyDescriptor from \"core-js-pure/stable/object/get-own-property-descriptor.js\";\nimport _Object$getOwnPropertyDescriptors from \"core-js-pure/stable/object/get-own-property-descriptors.js\";\nimport _Object$defineProperties from \"core-js-pure/stable/object/define-properties.js\";\nimport _Object$defineProperty from \"core-js-pure/stable/object/define-property.js\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction ownKeys(object, enumerableOnly) { var keys = _Object$keys(object); if (_Object$getOwnPropertySymbols) { var symbols = _Object$getOwnPropertySymbols(object); enumerableOnly && (symbols = _filterInstanceProperty(symbols).call(symbols, function (sym) { return _Object$getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }\n\nfunction _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : _Object$getOwnPropertyDescriptors ? _Object$defineProperties(target, _Object$getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { _Object$defineProperty(target, key, _Object$getOwnPropertyDescriptor(source, key)); }); } return target; }\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { parseSize, calculateBorderRadius } from '../utils';\n\nvar AvatarWrapper = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(AvatarWrapper, _React$PureComponent);\n\n var _super = _createSuper(AvatarWrapper);\n\n function AvatarWrapper() {\n _classCallCheck(this, AvatarWrapper);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(AvatarWrapper, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n className = _this$props.className,\n unstyled = _this$props.unstyled,\n round = _this$props.round,\n style = _this$props.style,\n avatar = _this$props.avatar,\n onClick = _this$props.onClick,\n children = _this$props.children;\n var sourceName = avatar.sourceName;\n var size = parseSize(this.props.size);\n var hostStyle = unstyled ? null : _objectSpread({\n display: 'inline-block',\n verticalAlign: 'middle',\n width: size.str,\n height: size.str,\n borderRadius: calculateBorderRadius(round),\n fontFamily: 'Helvetica, Arial, sans-serif'\n }, style);\n var classNames = [className, 'sb-avatar'];\n\n if (sourceName) {\n var source = sourceName.toLowerCase().replace(/[^a-z0-9-]+/g, '-') // only allow alphanumeric\n .replace(/^-+|-+$/g, ''); // trim `-`\n\n classNames.push('sb-avatar--' + source);\n }\n\n return /*#__PURE__*/React.createElement(\"div\", {\n className: classNames.join(' '),\n onClick: onClick,\n style: hostStyle\n }, children);\n }\n }]);\n\n return AvatarWrapper;\n}(React.PureComponent);\n\n_defineProperty(AvatarWrapper, \"propTypes\", {\n className: PropTypes.string,\n round: PropTypes.oneOfType([PropTypes.bool, PropTypes.string]),\n style: PropTypes.object,\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string]),\n unstyled: PropTypes.bool,\n avatar: PropTypes.object,\n onClick: PropTypes.func,\n children: PropTypes.node\n});\n\nexport { AvatarWrapper as default };","import _Reflect$construct from \"core-js-pure/stable/reflect/construct.js\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport { parseSize, calculateBorderRadius, getNullableText } from '../utils';\nimport Wrapper from './wrapper';\n\nvar AvatarImage = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(AvatarImage, _React$PureComponent);\n\n var _super = _createSuper(AvatarImage);\n\n function AvatarImage() {\n _classCallCheck(this, AvatarImage);\n\n return _super.apply(this, arguments);\n }\n\n _createClass(AvatarImage, [{\n key: \"render\",\n value: function render() {\n var _this$props = this.props,\n className = _this$props.className,\n round = _this$props.round,\n unstyled = _this$props.unstyled,\n alt = _this$props.alt,\n title = _this$props.title,\n name = _this$props.name,\n value = _this$props.value,\n avatar = _this$props.avatar;\n var size = parseSize(this.props.size);\n var imageStyle = unstyled ? null : {\n maxWidth: '100%',\n width: size.str,\n height: size.str,\n borderRadius: calculateBorderRadius(round)\n };\n return /*#__PURE__*/React.createElement(Wrapper, this.props, /*#__PURE__*/React.createElement(\"img\", {\n className: className + ' sb-avatar__image',\n width: size.str,\n height: size.str,\n style: imageStyle,\n src: avatar.src,\n alt: getNullableText(alt, name || value),\n title: getNullableText(title, name || value),\n onError: avatar.onRenderFailed\n }));\n }\n }]);\n\n return AvatarImage;\n}(React.PureComponent);\n\n_defineProperty(AvatarImage, \"propTypes\", {\n alt: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n name: PropTypes.string,\n value: PropTypes.string,\n avatar: PropTypes.object,\n className: PropTypes.string,\n unstyled: PropTypes.bool,\n round: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n});\n\n_defineProperty(AvatarImage, \"defaultProps\", {\n className: '',\n round: false,\n size: 100,\n unstyled: false\n});\n\nexport { AvatarImage as default };","import _Reflect$construct from \"core-js-pure/stable/reflect/construct.js\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _assertThisInitialized from \"@babel/runtime/helpers/assertThisInitialized\";\nimport _inherits from \"@babel/runtime/helpers/inherits\";\nimport _possibleConstructorReturn from \"@babel/runtime/helpers/possibleConstructorReturn\";\nimport _getPrototypeOf from \"@babel/runtime/helpers/getPrototypeOf\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _concatInstanceProperty from \"core-js-pure/stable/instance/concat.js\";\n\nfunction _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = _Reflect$construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }\n\nfunction _isNativeReflectConstruct() { if (typeof Reflect === \"undefined\" || !_Reflect$construct) return false; if (_Reflect$construct.sham) return false; if (typeof Proxy === \"function\") return true; try { Boolean.prototype.valueOf.call(_Reflect$construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }\n\nimport React from 'react';\nimport PropTypes from 'prop-types';\nimport Wrapper from './wrapper';\nimport { parseSize, setGroupedTimeout, calculateBorderRadius, getNullableText } from '../utils';\n\nvar AvatarText = /*#__PURE__*/function (_React$PureComponent) {\n _inherits(AvatarText, _React$PureComponent);\n\n var _super = _createSuper(AvatarText);\n\n function AvatarText() {\n var _context;\n\n var _this;\n\n _classCallCheck(this, AvatarText);\n\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this = _super.call.apply(_super, _concatInstanceProperty(_context = [this]).call(_context, args));\n\n _defineProperty(_assertThisInitialized(_this), \"_scaleTextNode\", function (node) {\n var retryTTL = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 16;\n var _this$props = _this.props,\n unstyled = _this$props.unstyled,\n textSizeRatio = _this$props.textSizeRatio,\n textMarginRatio = _this$props.textMarginRatio,\n avatar = _this$props.avatar;\n _this._node = node;\n if (!node || !node.parentNode || unstyled || avatar.src || !_this._mounted) return;\n var spanNode = node.parentNode;\n var tableNode = spanNode.parentNode;\n\n var _spanNode$getBounding = spanNode.getBoundingClientRect(),\n containerWidth = _spanNode$getBounding.width,\n containerHeight = _spanNode$getBounding.height; // Whenever the avatar element is not visible due to some CSS\n // (such as display: none) on any parent component we will check\n // whether the component has become visible.\n //\n // The time between checks grows up to half a second in an attempt\n // to reduce flicker / performance issues.\n\n\n if (containerWidth == 0 && containerHeight == 0) {\n var ttl = Math.min(retryTTL * 1.5, 500);\n setGroupedTimeout(function () {\n return _this._scaleTextNode(node, ttl);\n }, ttl);\n return;\n } // If the tableNode (outer-container) does not have its fontSize set yet,\n // we'll set it according to \"textSizeRatio\"\n\n\n if (!tableNode.style.fontSize) {\n var baseFontSize = containerHeight / textSizeRatio;\n tableNode.style.fontSize = \"\".concat(baseFontSize, \"px\");\n } // Reset font-size such that scaling works correctly (#133)\n\n\n spanNode.style.fontSize = null; // Measure the actual width of the text after setting the container size\n\n var _node$getBoundingClie = node.getBoundingClientRect(),\n textWidth = _node$getBoundingClie.width;\n\n if (textWidth < 0) return; // Calculate the maximum width for the text based on \"textMarginRatio\"\n\n var maxTextWidth = containerWidth * (1 - 2 * textMarginRatio); // If the text is too wide, scale it down by (maxWidth / actualWidth)\n\n if (textWidth > maxTextWidth) spanNode.style.fontSize = \"calc(1em * \".concat(maxTextWidth / textWidth, \")\");\n });\n\n return _this;\n }\n\n _createClass(AvatarText, [{\n key: \"componentDidMount\",\n value: function componentDidMount() {\n this._mounted = true;\n\n this._scaleTextNode(this._node);\n }\n }, {\n key: \"componentWillUnmount\",\n value: function componentWillUnmount() {\n this._mounted = false;\n }\n }, {\n key: \"render\",\n value: function render() {\n var _this$props2 = this.props,\n className = _this$props2.className,\n round = _this$props2.round,\n unstyled = _this$props2.unstyled,\n title = _this$props2.title,\n name = _this$props2.name,\n value = _this$props2.value,\n avatar = _this$props2.avatar;\n var size = parseSize(this.props.size);\n var initialsStyle = unstyled ? null : {\n width: size.str,\n height: size.str,\n lineHeight: 'initial',\n textAlign: 'center',\n color: this.props.fgColor,\n background: avatar.color,\n borderRadius: calculateBorderRadius(round)\n };\n var tableStyle = unstyled ? null : {\n display: 'table',\n tableLayout: 'fixed',\n width: '100%',\n height: '100%'\n };\n var spanStyle = unstyled ? null : {\n display: 'table-cell',\n verticalAlign: 'middle',\n fontSize: '100%',\n whiteSpace: 'nowrap'\n }; // Ensure the text node is updated and scaled when any of these\n // values changed by calling the `_scaleTextNode` method using\n // the correct `ref`.\n\n var key = [avatar.value, this.props.size].join('');\n return /*#__PURE__*/React.createElement(Wrapper, this.props, /*#__PURE__*/React.createElement(\"div\", {\n className: className + ' sb-avatar__text',\n style: initialsStyle,\n title: getNullableText(title, name || value)\n }, /*#__PURE__*/React.createElement(\"div\", {\n style: tableStyle\n }, /*#__PURE__*/React.createElement(\"span\", {\n style: spanStyle\n }, /*#__PURE__*/React.createElement(\"span\", {\n ref: this._scaleTextNode,\n key: key\n }, avatar.value)))));\n }\n }]);\n\n return AvatarText;\n}(React.PureComponent);\n\n_defineProperty(AvatarText, \"propTypes\", {\n name: PropTypes.string,\n value: PropTypes.string,\n avatar: PropTypes.object,\n title: PropTypes.oneOfType([PropTypes.string, PropTypes.bool]),\n className: PropTypes.string,\n unstyled: PropTypes.bool,\n fgColor: PropTypes.string,\n textSizeRatio: PropTypes.number,\n textMarginRatio: PropTypes.number,\n round: PropTypes.oneOfType([PropTypes.bool, PropTypes.string, PropTypes.number]),\n size: PropTypes.oneOfType([PropTypes.number, PropTypes.string])\n});\n\n_defineProperty(AvatarText, \"defaultProps\", {\n className: '',\n fgColor: '#FFF',\n round: false,\n size: 100,\n textSizeRatio: 3,\n textMarginRatio: .15,\n unstyled: false\n});\n\nexport { AvatarText as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport PropTypes from 'prop-types';\nimport md5 from 'md5';\nimport { getImageSize } from '../utils';\n\nvar GravatarSource = /*#__PURE__*/_createClass(function GravatarSource(_props) {\n var _this = this;\n\n _classCallCheck(this, GravatarSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!_this.props.email || !!_this.props.md5Email;\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var props = _this.props;\n var email = props.md5Email || md5(props.email);\n var size = getImageSize(props.size);\n var url = \"https://secure.gravatar.com/avatar/\".concat(email, \"?d=404\");\n if (size) url += \"&s=\".concat(size);\n setState({\n sourceName: 'gravatar',\n src: url\n });\n });\n\n this.props = _props;\n});\n\n_defineProperty(GravatarSource, \"propTypes\", {\n email: PropTypes.string,\n md5Email: PropTypes.string\n});\n\nexport { GravatarSource as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _concatInstanceProperty from \"core-js-pure/stable/instance/concat.js\";\nimport PropTypes from 'prop-types';\nimport { getImageSize } from '../utils';\n\nvar FacebookSource = /*#__PURE__*/_createClass(function FacebookSource(props) {\n var _this = this;\n\n _classCallCheck(this, FacebookSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!_this.props.facebookId;\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var _context;\n\n var facebookId = _this.props.facebookId;\n var size = getImageSize(_this.props.size);\n var url = \"https://graph.facebook.com/\".concat(facebookId, \"/picture\");\n if (size) url += _concatInstanceProperty(_context = \"?width=\".concat(size, \"&height=\")).call(_context, size);\n setState({\n sourceName: 'facebook',\n src: url\n });\n });\n\n this.props = props;\n});\n\n_defineProperty(FacebookSource, \"propTypes\", {\n facebookId: PropTypes.string\n});\n\nexport { FacebookSource as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport PropTypes from 'prop-types';\nimport { getImageSize } from '../utils';\n\nvar GithubSource = /*#__PURE__*/_createClass(function GithubSource(props) {\n var _this = this;\n\n _classCallCheck(this, GithubSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!_this.props.githubHandle;\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var githubHandle = _this.props.githubHandle;\n var size = getImageSize(_this.props.size);\n var url = \"https://avatars.githubusercontent.com/\".concat(githubHandle, \"?v=4\");\n if (size) url += \"&s=\".concat(size);\n setState({\n sourceName: 'github',\n src: url\n });\n });\n\n this.props = props;\n});\n\n_defineProperty(GithubSource, \"propTypes\", {\n githubHandle: PropTypes.string\n});\n\nexport { GithubSource as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport PropTypes from 'prop-types';\n\nvar SkypeSource = /*#__PURE__*/_createClass(function SkypeSource(props) {\n var _this = this;\n\n _classCallCheck(this, SkypeSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!_this.props.skypeId;\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var skypeId = _this.props.skypeId;\n var url = \"https://api.skype.com/users/\".concat(skypeId, \"/profile/avatar\");\n setState({\n sourceName: 'skype',\n src: url\n });\n });\n\n this.props = props;\n});\n\n_defineProperty(SkypeSource, \"propTypes\", {\n skypeId: PropTypes.string\n});\n\nexport { SkypeSource as default };","'use strict';\n\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport PropTypes from 'prop-types';\nimport { getRandomColor, defaultInitials } from '../utils';\n\nvar ValueSource = /*#__PURE__*/function () {\n function ValueSource(props) {\n var _this = this;\n\n _classCallCheck(this, ValueSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!(_this.props.name || _this.props.value || _this.props.email);\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var value = _this.getValue();\n\n if (!value) return setState(null);\n setState({\n sourceName: 'text',\n value: value,\n color: _this.getColor()\n });\n });\n\n this.props = props;\n }\n\n _createClass(ValueSource, [{\n key: \"getInitials\",\n value: function getInitials() {\n var _this$props = this.props,\n name = _this$props.name,\n initials = _this$props.initials;\n if (typeof initials === 'string') return initials;\n if (typeof initials === 'function') return initials(name, this.props);\n return defaultInitials(name, this.props);\n }\n }, {\n key: \"getValue\",\n value: function getValue() {\n if (this.props.name) return this.getInitials();\n if (this.props.value) return this.props.value;\n return null;\n }\n }, {\n key: \"getColor\",\n value: function getColor() {\n var _this$props2 = this.props,\n color = _this$props2.color,\n colors = _this$props2.colors,\n name = _this$props2.name,\n email = _this$props2.email,\n value = _this$props2.value;\n var colorValue = name || email || value;\n return color || getRandomColor(colorValue, colors);\n }\n }]);\n\n return ValueSource;\n}();\n\n_defineProperty(ValueSource, \"propTypes\", {\n color: PropTypes.string,\n name: PropTypes.string,\n value: PropTypes.string,\n email: PropTypes.string,\n maxInitials: PropTypes.number,\n initials: PropTypes.oneOfType([PropTypes.string, PropTypes.func])\n});\n\nexport { ValueSource as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport PropTypes from 'prop-types';\n\nvar SrcSource = /*#__PURE__*/_createClass(function SrcSource(props) {\n var _this = this;\n\n _classCallCheck(this, SrcSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!_this.props.src;\n });\n\n _defineProperty(this, \"get\", function (setState) {\n setState({\n sourceName: 'src',\n src: _this.props.src\n });\n });\n\n this.props = props;\n});\n\n_defineProperty(SrcSource, \"propTypes\", {\n src: PropTypes.string\n});\n\nexport { SrcSource as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport PropTypes from 'prop-types';\nimport { getRandomColor } from '../utils';\n\nvar IconSource = /*#__PURE__*/_createClass(function IconSource(props) {\n var _this = this;\n\n _classCallCheck(this, IconSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"icon\", '✷');\n\n _defineProperty(this, \"isCompatible\", function () {\n return true;\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var _this$props = _this.props,\n color = _this$props.color,\n colors = _this$props.colors;\n setState({\n sourceName: 'icon',\n value: _this.icon,\n color: color || getRandomColor(_this.icon, colors)\n });\n });\n\n this.props = props;\n});\n\n_defineProperty(IconSource, \"propTypes\", {\n color: PropTypes.string\n});\n\nexport { IconSource as default };","'use strict';\n\nimport _createClass from \"@babel/runtime/helpers/createClass\";\nimport _classCallCheck from \"@babel/runtime/helpers/classCallCheck\";\nimport _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _concatInstanceProperty from \"core-js-pure/stable/instance/concat.js\";\nimport PropTypes from 'prop-types';\nimport { getImageSize } from '../utils';\nexport default function createRedirectSource(network, property) {\n var _class;\n\n return _class = /*#__PURE__*/_createClass(function AvatarRedirectSource(props) {\n var _this = this;\n\n _classCallCheck(this, AvatarRedirectSource);\n\n _defineProperty(this, \"props\", null);\n\n _defineProperty(this, \"isCompatible\", function () {\n return !!_this.props.avatarRedirectUrl && !!_this.props[property];\n });\n\n _defineProperty(this, \"get\", function (setState) {\n var _context, _context2, _context3;\n\n var avatarRedirectUrl = _this.props.avatarRedirectUrl;\n var size = getImageSize(_this.props.size);\n var baseUrl = avatarRedirectUrl.replace(/\\/*$/, '/');\n var id = _this.props[property];\n var query = size ? \"size=\".concat(size) : '';\n\n var src = _concatInstanceProperty(_context = _concatInstanceProperty(_context2 = _concatInstanceProperty(_context3 = \"\".concat(baseUrl)).call(_context3, network, \"/\")).call(_context2, id, \"?\")).call(_context, query);\n\n setState({\n sourceName: network,\n src: src\n });\n });\n\n this.props = props;\n }), _defineProperty(_class, \"propTypes\", _defineProperty({}, property, PropTypes.oneOfType([PropTypes.string, PropTypes.number]))), _class;\n}","import redirectSource from './AvatarRedirect';\nexport default redirectSource('twitter', 'twitterHandle');","import redirectSource from './AvatarRedirect';\nexport default redirectSource('vkontakte', 'vkontakteId');","import redirectSource from './AvatarRedirect';\nexport default redirectSource('instagram', 'instagramId');","'use strict';\n\nimport createAvatarComponent from './avatar';\nimport gravatarSource from './sources/Gravatar';\nimport facebookSource from './sources/Facebook';\nimport githubSource from './sources/Github';\nimport skypeSource from './sources/Skype';\nimport valueSource from './sources/Value';\nimport srcSource from './sources/Src';\nimport iconSource from './sources/Icon'; // Avatar Redirect\n\nimport twitterSource from './sources/Twitter';\nimport vkontakteSource from './sources/VKontakte';\nimport instagramSource from './sources/Instagram';\nimport googleSource from './sources/Google';\nvar SOURCES = [facebookSource, googleSource, githubSource, twitterSource, instagramSource, vkontakteSource, skypeSource, gravatarSource, srcSource, valueSource, iconSource];\nexport * from './avatar';\nexport { default as createAvatarComponent } from './avatar';\nexport { default as createAvatarDataProvider } from './data-provider';\nexport default createAvatarComponent({\n sources: SOURCES\n});\nexport { default as GravatarSource } from './sources/Gravatar';\nexport { default as FacebookSource } from './sources/Facebook';\nexport { default as GithubSource } from './sources/Github';\nexport { default as SkypeSource } from './sources/Skype';\nexport { default as ValueSource } from './sources/Value';\nexport { default as SrcSource } from './sources/Src';\nexport { default as IconSource } from './sources/Icon'; // Avatar Redirect\n\nexport { default as VKontakteSource } from './sources/VKontakte';\nexport { default as InstagramSource } from './sources/Instagram';\nexport { default as TwitterSource } from './sources/Twitter';\nexport { default as GoogleSource } from './sources/Google';\nexport { default as RedirectSource } from './sources/AvatarRedirect';","'use strict';\n\nimport _extends from \"@babel/runtime/helpers/extends\";\nimport _Object$assign from \"core-js-pure/stable/object/assign.js\";\nimport React from 'react';\nimport { Cache } from './cache';\nimport { withConfig, ConfigProvider } from './context';\nimport createAvatarDataProvider from './data-provider';\nimport { getRandomColor } from './utils';\nimport Image from './components/image';\nimport Text from './components/text';\nexport { getRandomColor } from './utils';\nexport { ConfigProvider } from './context';\nexport { Cache } from './cache';\nexport default function createAvatarComponent(options) {\n var DataProvider = createAvatarDataProvider(options);\n var Component = withConfig(\n /*#__PURE__*/\n // eslint-disable-next-line react/display-name\n React.forwardRef(function (props, ref) {\n return /*#__PURE__*/React.createElement(DataProvider, _extends({}, props, {\n propertyName: \"avatar\"\n }), function (avatar) {\n var Avatar = avatar.src ? Image : Text;\n return /*#__PURE__*/React.createElement(Avatar, _extends({}, props, {\n avatar: avatar,\n ref: ref\n }));\n });\n }));\n return _Object$assign(Component, {\n getRandomColor: getRandomColor,\n ConfigProvider: ConfigProvider,\n Cache: Cache\n });\n}","import redirectSource from './AvatarRedirect';\nexport default redirectSource('google', 'googleId');","/**\n * @license React\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=Symbol.for(\"react.element\"),c=Symbol.for(\"react.portal\"),d=Symbol.for(\"react.fragment\"),e=Symbol.for(\"react.strict_mode\"),f=Symbol.for(\"react.profiler\"),g=Symbol.for(\"react.provider\"),h=Symbol.for(\"react.context\"),k=Symbol.for(\"react.server_context\"),l=Symbol.for(\"react.forward_ref\"),m=Symbol.for(\"react.suspense\"),n=Symbol.for(\"react.suspense_list\"),p=Symbol.for(\"react.memo\"),q=Symbol.for(\"react.lazy\"),t=Symbol.for(\"react.offscreen\"),u;u=Symbol.for(\"react.module.reference\");\nfunction v(a){if(\"object\"===typeof a&&null!==a){var r=a.$$typeof;switch(r){case b:switch(a=a.type,a){case d:case f:case e:case m:case n:return a;default:switch(a=a&&a.$$typeof,a){case k:case h:case l:case q:case p:case g:return a;default:return r}}case c:return r}}}exports.ContextConsumer=h;exports.ContextProvider=g;exports.Element=b;exports.ForwardRef=l;exports.Fragment=d;exports.Lazy=q;exports.Memo=p;exports.Portal=c;exports.Profiler=f;exports.StrictMode=e;exports.Suspense=m;\nexports.SuspenseList=n;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return v(a)===h};exports.isContextProvider=function(a){return v(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return v(a)===l};exports.isFragment=function(a){return v(a)===d};exports.isLazy=function(a){return v(a)===q};exports.isMemo=function(a){return v(a)===p};\nexports.isPortal=function(a){return v(a)===c};exports.isProfiler=function(a){return v(a)===f};exports.isStrictMode=function(a){return v(a)===e};exports.isSuspense=function(a){return v(a)===m};exports.isSuspenseList=function(a){return v(a)===n};\nexports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===e||a===m||a===n||a===t||\"object\"===typeof a&&null!==a&&(a.$$typeof===q||a.$$typeof===p||a.$$typeof===g||a.$$typeof===h||a.$$typeof===l||a.$$typeof===u||void 0!==a.getModuleId)?!0:!1};exports.typeOf=v;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var FocusManager = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(FocusManager, _Subscribable);\n\n function FocusManager() {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n\n _this.setup = function (onFocus) {\n var _window;\n\n if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n var listener = function listener() {\n return onFocus();\n }; // Listen to visibillitychange and focus\n\n\n window.addEventListener('visibilitychange', listener, false);\n window.addEventListener('focus', listener, false);\n return function () {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('visibilitychange', listener);\n window.removeEventListener('focus', listener);\n };\n }\n };\n\n return _this;\n }\n\n var _proto = FocusManager.prototype;\n\n _proto.onSubscribe = function onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n };\n\n _proto.setEventListener = function setEventListener(setup) {\n var _this$cleanup2,\n _this2 = this;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(function (focused) {\n if (typeof focused === 'boolean') {\n _this2.setFocused(focused);\n } else {\n _this2.onFocus();\n }\n });\n };\n\n _proto.setFocused = function setFocused(focused) {\n this.focused = focused;\n\n if (focused) {\n this.onFocus();\n }\n };\n\n _proto.onFocus = function onFocus() {\n this.listeners.forEach(function (listener) {\n listener();\n });\n };\n\n _proto.isFocused = function isFocused() {\n if (typeof this.focused === 'boolean') {\n return this.focused;\n } // document global can be unavailable in react native\n\n\n if (typeof document === 'undefined') {\n return true;\n }\n\n return [undefined, 'visible', 'prerender'].includes(document.visibilityState);\n };\n\n return FocusManager;\n}(Subscribable);\nexport var focusManager = new FocusManager();","// TYPES\n// FUNCTIONS\nvar logger = console;\nexport function getLogger() {\n return logger;\n}\nexport function setLogger(newLogger) {\n logger = newLogger;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getLogger } from './logger';\nimport { notifyManager } from './notifyManager';\nimport { Retryer } from './retryer';\nimport { noop } from './utils'; // TYPES\n\n// CLASS\nexport var Mutation = /*#__PURE__*/function () {\n function Mutation(config) {\n this.options = _extends({}, config.defaultOptions, config.options);\n this.mutationId = config.mutationId;\n this.mutationCache = config.mutationCache;\n this.observers = [];\n this.state = config.state || getDefaultState();\n this.meta = config.meta;\n }\n\n var _proto = Mutation.prototype;\n\n _proto.setState = function setState(state) {\n this.dispatch({\n type: 'setState',\n state: state\n });\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n };\n\n _proto.cancel = function cancel() {\n if (this.retryer) {\n this.retryer.cancel();\n return this.retryer.promise.then(noop).catch(noop);\n }\n\n return Promise.resolve();\n };\n\n _proto.continue = function _continue() {\n if (this.retryer) {\n this.retryer.continue();\n return this.retryer.promise;\n }\n\n return this.execute();\n };\n\n _proto.execute = function execute() {\n var _this = this;\n\n var data;\n var restored = this.state.status === 'loading';\n var promise = Promise.resolve();\n\n if (!restored) {\n this.dispatch({\n type: 'loading',\n variables: this.options.variables\n });\n promise = promise.then(function () {\n // Notify cache callback\n _this.mutationCache.config.onMutate == null ? void 0 : _this.mutationCache.config.onMutate(_this.state.variables, _this);\n }).then(function () {\n return _this.options.onMutate == null ? void 0 : _this.options.onMutate(_this.state.variables);\n }).then(function (context) {\n if (context !== _this.state.context) {\n _this.dispatch({\n type: 'loading',\n context: context,\n variables: _this.state.variables\n });\n }\n });\n }\n\n return promise.then(function () {\n return _this.executeMutation();\n }).then(function (result) {\n data = result; // Notify cache callback\n\n _this.mutationCache.config.onSuccess == null ? void 0 : _this.mutationCache.config.onSuccess(data, _this.state.variables, _this.state.context, _this);\n }).then(function () {\n return _this.options.onSuccess == null ? void 0 : _this.options.onSuccess(data, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(data, null, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'success',\n data: data\n });\n\n return data;\n }).catch(function (error) {\n // Notify cache callback\n _this.mutationCache.config.onError == null ? void 0 : _this.mutationCache.config.onError(error, _this.state.variables, _this.state.context, _this); // Log error\n\n getLogger().error(error);\n return Promise.resolve().then(function () {\n return _this.options.onError == null ? void 0 : _this.options.onError(error, _this.state.variables, _this.state.context);\n }).then(function () {\n return _this.options.onSettled == null ? void 0 : _this.options.onSettled(undefined, error, _this.state.variables, _this.state.context);\n }).then(function () {\n _this.dispatch({\n type: 'error',\n error: error\n });\n\n throw error;\n });\n });\n };\n\n _proto.executeMutation = function executeMutation() {\n var _this2 = this,\n _this$options$retry;\n\n this.retryer = new Retryer({\n fn: function fn() {\n if (!_this2.options.mutationFn) {\n return Promise.reject('No mutationFn found');\n }\n\n return _this2.options.mutationFn(_this2.state.variables);\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: (_this$options$retry = this.options.retry) != null ? _this$options$retry : 0,\n retryDelay: this.options.retryDelay\n });\n return this.retryer.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onMutationUpdate(action);\n });\n\n _this3.mutationCache.notify(_this3);\n });\n };\n\n return Mutation;\n}();\nexport function getDefaultState() {\n return {\n context: undefined,\n data: undefined,\n error: null,\n failureCount: 0,\n isPaused: false,\n status: 'idle',\n variables: undefined\n };\n}\n\nfunction reducer(state, action) {\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n failureCount: state.failureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'loading':\n return _extends({}, state, {\n context: action.context,\n data: undefined,\n error: null,\n isPaused: false,\n status: 'loading',\n variables: action.variables\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n error: null,\n status: 'success',\n isPaused: false\n });\n\n case 'error':\n return _extends({}, state, {\n data: undefined,\n error: action.error,\n failureCount: state.failureCount + 1,\n isPaused: false,\n status: 'error'\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n}","import { scheduleMicrotask } from './utils'; // TYPES\n\n// CLASS\nexport var NotifyManager = /*#__PURE__*/function () {\n function NotifyManager() {\n this.queue = [];\n this.transactions = 0;\n\n this.notifyFn = function (callback) {\n callback();\n };\n\n this.batchNotifyFn = function (callback) {\n callback();\n };\n }\n\n var _proto = NotifyManager.prototype;\n\n _proto.batch = function batch(callback) {\n var result;\n this.transactions++;\n\n try {\n result = callback();\n } finally {\n this.transactions--;\n\n if (!this.transactions) {\n this.flush();\n }\n }\n\n return result;\n };\n\n _proto.schedule = function schedule(callback) {\n var _this = this;\n\n if (this.transactions) {\n this.queue.push(callback);\n } else {\n scheduleMicrotask(function () {\n _this.notifyFn(callback);\n });\n }\n }\n /**\n * All calls to the wrapped function will be batched.\n */\n ;\n\n _proto.batchCalls = function batchCalls(callback) {\n var _this2 = this;\n\n return function () {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n _this2.schedule(function () {\n callback.apply(void 0, args);\n });\n };\n };\n\n _proto.flush = function flush() {\n var _this3 = this;\n\n var queue = this.queue;\n this.queue = [];\n\n if (queue.length) {\n scheduleMicrotask(function () {\n _this3.batchNotifyFn(function () {\n queue.forEach(function (callback) {\n _this3.notifyFn(callback);\n });\n });\n });\n }\n }\n /**\n * Use this method to set a custom notify function.\n * This can be used to for example wrap notifications with `React.act` while running tests.\n */\n ;\n\n _proto.setNotifyFunction = function setNotifyFunction(fn) {\n this.notifyFn = fn;\n }\n /**\n * Use this method to set a custom function to batch notifications together into a single tick.\n * By default React Query will use the batch function provided by ReactDOM or React Native.\n */\n ;\n\n _proto.setBatchNotifyFunction = function setBatchNotifyFunction(fn) {\n this.batchNotifyFn = fn;\n };\n\n return NotifyManager;\n}(); // SINGLETON\n\nexport var notifyManager = new NotifyManager();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { Subscribable } from './subscribable';\nimport { isServer } from './utils';\nexport var OnlineManager = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(OnlineManager, _Subscribable);\n\n function OnlineManager() {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n\n _this.setup = function (onOnline) {\n var _window;\n\n if (!isServer && ((_window = window) == null ? void 0 : _window.addEventListener)) {\n var listener = function listener() {\n return onOnline();\n }; // Listen to online\n\n\n window.addEventListener('online', listener, false);\n window.addEventListener('offline', listener, false);\n return function () {\n // Be sure to unsubscribe if a new handler is set\n window.removeEventListener('online', listener);\n window.removeEventListener('offline', listener);\n };\n }\n };\n\n return _this;\n }\n\n var _proto = OnlineManager.prototype;\n\n _proto.onSubscribe = function onSubscribe() {\n if (!this.cleanup) {\n this.setEventListener(this.setup);\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.hasListeners()) {\n var _this$cleanup;\n\n (_this$cleanup = this.cleanup) == null ? void 0 : _this$cleanup.call(this);\n this.cleanup = undefined;\n }\n };\n\n _proto.setEventListener = function setEventListener(setup) {\n var _this$cleanup2,\n _this2 = this;\n\n this.setup = setup;\n (_this$cleanup2 = this.cleanup) == null ? void 0 : _this$cleanup2.call(this);\n this.cleanup = setup(function (online) {\n if (typeof online === 'boolean') {\n _this2.setOnline(online);\n } else {\n _this2.onOnline();\n }\n });\n };\n\n _proto.setOnline = function setOnline(online) {\n this.online = online;\n\n if (online) {\n this.onOnline();\n }\n };\n\n _proto.onOnline = function onOnline() {\n this.listeners.forEach(function (listener) {\n listener();\n });\n };\n\n _proto.isOnline = function isOnline() {\n if (typeof this.online === 'boolean') {\n return this.online;\n }\n\n if (typeof navigator === 'undefined' || typeof navigator.onLine === 'undefined') {\n return true;\n }\n\n return navigator.onLine;\n };\n\n return OnlineManager;\n}(Subscribable);\nexport var onlineManager = new OnlineManager();","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { getAbortController, functionalUpdate, isValidTimeout, noop, replaceEqualDeep, timeUntilStale, ensureQueryKeyArray } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { getLogger } from './logger';\nimport { Retryer, isCancelledError } from './retryer'; // TYPES\n\n// CLASS\nexport var Query = /*#__PURE__*/function () {\n function Query(config) {\n this.abortSignalConsumed = false;\n this.hadObservers = false;\n this.defaultOptions = config.defaultOptions;\n this.setOptions(config.options);\n this.observers = [];\n this.cache = config.cache;\n this.queryKey = config.queryKey;\n this.queryHash = config.queryHash;\n this.initialState = config.state || this.getDefaultState(this.options);\n this.state = this.initialState;\n this.meta = config.meta;\n this.scheduleGc();\n }\n\n var _proto = Query.prototype;\n\n _proto.setOptions = function setOptions(options) {\n var _this$options$cacheTi;\n\n this.options = _extends({}, this.defaultOptions, options);\n this.meta = options == null ? void 0 : options.meta; // Default to 5 minutes if not cache time is set\n\n this.cacheTime = Math.max(this.cacheTime || 0, (_this$options$cacheTi = this.options.cacheTime) != null ? _this$options$cacheTi : 5 * 60 * 1000);\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.scheduleGc = function scheduleGc() {\n var _this = this;\n\n this.clearGcTimeout();\n\n if (isValidTimeout(this.cacheTime)) {\n this.gcTimeout = setTimeout(function () {\n _this.optionalRemove();\n }, this.cacheTime);\n }\n };\n\n _proto.clearGcTimeout = function clearGcTimeout() {\n if (this.gcTimeout) {\n clearTimeout(this.gcTimeout);\n this.gcTimeout = undefined;\n }\n };\n\n _proto.optionalRemove = function optionalRemove() {\n if (!this.observers.length) {\n if (this.state.isFetching) {\n if (this.hadObservers) {\n this.scheduleGc();\n }\n } else {\n this.cache.remove(this);\n }\n }\n };\n\n _proto.setData = function setData(updater, options) {\n var _this$options$isDataE, _this$options;\n\n var prevData = this.state.data; // Get the new data\n\n var data = functionalUpdate(updater, prevData); // Use prev data if an isDataEqual function is defined and returns `true`\n\n if ((_this$options$isDataE = (_this$options = this.options).isDataEqual) == null ? void 0 : _this$options$isDataE.call(_this$options, prevData, data)) {\n data = prevData;\n } else if (this.options.structuralSharing !== false) {\n // Structurally share data between prev and new data if needed\n data = replaceEqualDeep(prevData, data);\n } // Set data and mark it as cached\n\n\n this.dispatch({\n data: data,\n type: 'success',\n dataUpdatedAt: options == null ? void 0 : options.updatedAt\n });\n return data;\n };\n\n _proto.setState = function setState(state, setStateOptions) {\n this.dispatch({\n type: 'setState',\n state: state,\n setStateOptions: setStateOptions\n });\n };\n\n _proto.cancel = function cancel(options) {\n var _this$retryer;\n\n var promise = this.promise;\n (_this$retryer = this.retryer) == null ? void 0 : _this$retryer.cancel(options);\n return promise ? promise.then(noop).catch(noop) : Promise.resolve();\n };\n\n _proto.destroy = function destroy() {\n this.clearGcTimeout();\n this.cancel({\n silent: true\n });\n };\n\n _proto.reset = function reset() {\n this.destroy();\n this.setState(this.initialState);\n };\n\n _proto.isActive = function isActive() {\n return this.observers.some(function (observer) {\n return observer.options.enabled !== false;\n });\n };\n\n _proto.isFetching = function isFetching() {\n return this.state.isFetching;\n };\n\n _proto.isStale = function isStale() {\n return this.state.isInvalidated || !this.state.dataUpdatedAt || this.observers.some(function (observer) {\n return observer.getCurrentResult().isStale;\n });\n };\n\n _proto.isStaleByTime = function isStaleByTime(staleTime) {\n if (staleTime === void 0) {\n staleTime = 0;\n }\n\n return this.state.isInvalidated || !this.state.dataUpdatedAt || !timeUntilStale(this.state.dataUpdatedAt, staleTime);\n };\n\n _proto.onFocus = function onFocus() {\n var _this$retryer2;\n\n var observer = this.observers.find(function (x) {\n return x.shouldFetchOnWindowFocus();\n });\n\n if (observer) {\n observer.refetch();\n } // Continue fetch if currently paused\n\n\n (_this$retryer2 = this.retryer) == null ? void 0 : _this$retryer2.continue();\n };\n\n _proto.onOnline = function onOnline() {\n var _this$retryer3;\n\n var observer = this.observers.find(function (x) {\n return x.shouldFetchOnReconnect();\n });\n\n if (observer) {\n observer.refetch();\n } // Continue fetch if currently paused\n\n\n (_this$retryer3 = this.retryer) == null ? void 0 : _this$retryer3.continue();\n };\n\n _proto.addObserver = function addObserver(observer) {\n if (this.observers.indexOf(observer) === -1) {\n this.observers.push(observer);\n this.hadObservers = true; // Stop the query from being garbage collected\n\n this.clearGcTimeout();\n this.cache.notify({\n type: 'observerAdded',\n query: this,\n observer: observer\n });\n }\n };\n\n _proto.removeObserver = function removeObserver(observer) {\n if (this.observers.indexOf(observer) !== -1) {\n this.observers = this.observers.filter(function (x) {\n return x !== observer;\n });\n\n if (!this.observers.length) {\n // If the transport layer does not support cancellation\n // we'll let the query continue so the result can be cached\n if (this.retryer) {\n if (this.retryer.isTransportCancelable || this.abortSignalConsumed) {\n this.retryer.cancel({\n revert: true\n });\n } else {\n this.retryer.cancelRetry();\n }\n }\n\n if (this.cacheTime) {\n this.scheduleGc();\n } else {\n this.cache.remove(this);\n }\n }\n\n this.cache.notify({\n type: 'observerRemoved',\n query: this,\n observer: observer\n });\n }\n };\n\n _proto.getObserversCount = function getObserversCount() {\n return this.observers.length;\n };\n\n _proto.invalidate = function invalidate() {\n if (!this.state.isInvalidated) {\n this.dispatch({\n type: 'invalidate'\n });\n }\n };\n\n _proto.fetch = function fetch(options, fetchOptions) {\n var _this2 = this,\n _this$options$behavio,\n _context$fetchOptions,\n _abortController$abor;\n\n if (this.state.isFetching) {\n if (this.state.dataUpdatedAt && (fetchOptions == null ? void 0 : fetchOptions.cancelRefetch)) {\n // Silently cancel current fetch if the user wants to cancel refetches\n this.cancel({\n silent: true\n });\n } else if (this.promise) {\n var _this$retryer4;\n\n // make sure that retries that were potentially cancelled due to unmounts can continue\n (_this$retryer4 = this.retryer) == null ? void 0 : _this$retryer4.continueRetry(); // Return current promise if we are already fetching\n\n return this.promise;\n }\n } // Update config if passed, otherwise the config from the last execution is used\n\n\n if (options) {\n this.setOptions(options);\n } // Use the options from the first observer with a query function if no function is found.\n // This can happen when the query is hydrated or created with setQueryData.\n\n\n if (!this.options.queryFn) {\n var observer = this.observers.find(function (x) {\n return x.options.queryFn;\n });\n\n if (observer) {\n this.setOptions(observer.options);\n }\n }\n\n var queryKey = ensureQueryKeyArray(this.queryKey);\n var abortController = getAbortController(); // Create query function context\n\n var queryFnContext = {\n queryKey: queryKey,\n pageParam: undefined,\n meta: this.meta\n };\n Object.defineProperty(queryFnContext, 'signal', {\n enumerable: true,\n get: function get() {\n if (abortController) {\n _this2.abortSignalConsumed = true;\n return abortController.signal;\n }\n\n return undefined;\n }\n }); // Create fetch function\n\n var fetchFn = function fetchFn() {\n if (!_this2.options.queryFn) {\n return Promise.reject('Missing queryFn');\n }\n\n _this2.abortSignalConsumed = false;\n return _this2.options.queryFn(queryFnContext);\n }; // Trigger behavior hook\n\n\n var context = {\n fetchOptions: fetchOptions,\n options: this.options,\n queryKey: queryKey,\n state: this.state,\n fetchFn: fetchFn,\n meta: this.meta\n };\n\n if ((_this$options$behavio = this.options.behavior) == null ? void 0 : _this$options$behavio.onFetch) {\n var _this$options$behavio2;\n\n (_this$options$behavio2 = this.options.behavior) == null ? void 0 : _this$options$behavio2.onFetch(context);\n } // Store state in case the current fetch needs to be reverted\n\n\n this.revertState = this.state; // Set to fetching state if not already in it\n\n if (!this.state.isFetching || this.state.fetchMeta !== ((_context$fetchOptions = context.fetchOptions) == null ? void 0 : _context$fetchOptions.meta)) {\n var _context$fetchOptions2;\n\n this.dispatch({\n type: 'fetch',\n meta: (_context$fetchOptions2 = context.fetchOptions) == null ? void 0 : _context$fetchOptions2.meta\n });\n } // Try to fetch the data\n\n\n this.retryer = new Retryer({\n fn: context.fetchFn,\n abort: abortController == null ? void 0 : (_abortController$abor = abortController.abort) == null ? void 0 : _abortController$abor.bind(abortController),\n onSuccess: function onSuccess(data) {\n _this2.setData(data); // Notify cache callback\n\n\n _this2.cache.config.onSuccess == null ? void 0 : _this2.cache.config.onSuccess(data, _this2); // Remove query after fetching if cache time is 0\n\n if (_this2.cacheTime === 0) {\n _this2.optionalRemove();\n }\n },\n onError: function onError(error) {\n // Optimistically update state if needed\n if (!(isCancelledError(error) && error.silent)) {\n _this2.dispatch({\n type: 'error',\n error: error\n });\n }\n\n if (!isCancelledError(error)) {\n // Notify cache callback\n _this2.cache.config.onError == null ? void 0 : _this2.cache.config.onError(error, _this2); // Log error\n\n getLogger().error(error);\n } // Remove query after fetching if cache time is 0\n\n\n if (_this2.cacheTime === 0) {\n _this2.optionalRemove();\n }\n },\n onFail: function onFail() {\n _this2.dispatch({\n type: 'failed'\n });\n },\n onPause: function onPause() {\n _this2.dispatch({\n type: 'pause'\n });\n },\n onContinue: function onContinue() {\n _this2.dispatch({\n type: 'continue'\n });\n },\n retry: context.options.retry,\n retryDelay: context.options.retryDelay\n });\n this.promise = this.retryer.promise;\n return this.promise;\n };\n\n _proto.dispatch = function dispatch(action) {\n var _this3 = this;\n\n this.state = this.reducer(this.state, action);\n notifyManager.batch(function () {\n _this3.observers.forEach(function (observer) {\n observer.onQueryUpdate(action);\n });\n\n _this3.cache.notify({\n query: _this3,\n type: 'queryUpdated',\n action: action\n });\n });\n };\n\n _proto.getDefaultState = function getDefaultState(options) {\n var data = typeof options.initialData === 'function' ? options.initialData() : options.initialData;\n var hasInitialData = typeof options.initialData !== 'undefined';\n var initialDataUpdatedAt = hasInitialData ? typeof options.initialDataUpdatedAt === 'function' ? options.initialDataUpdatedAt() : options.initialDataUpdatedAt : 0;\n var hasData = typeof data !== 'undefined';\n return {\n data: data,\n dataUpdateCount: 0,\n dataUpdatedAt: hasData ? initialDataUpdatedAt != null ? initialDataUpdatedAt : Date.now() : 0,\n error: null,\n errorUpdateCount: 0,\n errorUpdatedAt: 0,\n fetchFailureCount: 0,\n fetchMeta: null,\n isFetching: false,\n isInvalidated: false,\n isPaused: false,\n status: hasData ? 'success' : 'idle'\n };\n };\n\n _proto.reducer = function reducer(state, action) {\n var _action$meta, _action$dataUpdatedAt;\n\n switch (action.type) {\n case 'failed':\n return _extends({}, state, {\n fetchFailureCount: state.fetchFailureCount + 1\n });\n\n case 'pause':\n return _extends({}, state, {\n isPaused: true\n });\n\n case 'continue':\n return _extends({}, state, {\n isPaused: false\n });\n\n case 'fetch':\n return _extends({}, state, {\n fetchFailureCount: 0,\n fetchMeta: (_action$meta = action.meta) != null ? _action$meta : null,\n isFetching: true,\n isPaused: false\n }, !state.dataUpdatedAt && {\n error: null,\n status: 'loading'\n });\n\n case 'success':\n return _extends({}, state, {\n data: action.data,\n dataUpdateCount: state.dataUpdateCount + 1,\n dataUpdatedAt: (_action$dataUpdatedAt = action.dataUpdatedAt) != null ? _action$dataUpdatedAt : Date.now(),\n error: null,\n fetchFailureCount: 0,\n isFetching: false,\n isInvalidated: false,\n isPaused: false,\n status: 'success'\n });\n\n case 'error':\n var error = action.error;\n\n if (isCancelledError(error) && error.revert && this.revertState) {\n return _extends({}, this.revertState);\n }\n\n return _extends({}, state, {\n error: error,\n errorUpdateCount: state.errorUpdateCount + 1,\n errorUpdatedAt: Date.now(),\n fetchFailureCount: state.fetchFailureCount + 1,\n isFetching: false,\n isPaused: false,\n status: 'error'\n });\n\n case 'invalidate':\n return _extends({}, state, {\n isInvalidated: true\n });\n\n case 'setState':\n return _extends({}, state, action.state);\n\n default:\n return state;\n }\n };\n\n return Query;\n}();","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { hashQueryKeyByOptions, matchQuery, parseFilterArgs } from './utils';\nimport { Query } from './query';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var QueryCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryCache, _Subscribable);\n\n function QueryCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.queries = [];\n _this.queriesMap = {};\n return _this;\n }\n\n var _proto = QueryCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var _options$queryHash;\n\n var queryKey = options.queryKey;\n var queryHash = (_options$queryHash = options.queryHash) != null ? _options$queryHash : hashQueryKeyByOptions(queryKey, options);\n var query = this.get(queryHash);\n\n if (!query) {\n query = new Query({\n cache: this,\n queryKey: queryKey,\n queryHash: queryHash,\n options: client.defaultQueryOptions(options),\n state: state,\n defaultOptions: client.getQueryDefaults(queryKey),\n meta: options.meta\n });\n this.add(query);\n }\n\n return query;\n };\n\n _proto.add = function add(query) {\n if (!this.queriesMap[query.queryHash]) {\n this.queriesMap[query.queryHash] = query;\n this.queries.push(query);\n this.notify({\n type: 'queryAdded',\n query: query\n });\n }\n };\n\n _proto.remove = function remove(query) {\n var queryInMap = this.queriesMap[query.queryHash];\n\n if (queryInMap) {\n query.destroy();\n this.queries = this.queries.filter(function (x) {\n return x !== query;\n });\n\n if (queryInMap === query) {\n delete this.queriesMap[query.queryHash];\n }\n\n this.notify({\n type: 'queryRemoved',\n query: query\n });\n }\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.queries.forEach(function (query) {\n _this2.remove(query);\n });\n });\n };\n\n _proto.get = function get(queryHash) {\n return this.queriesMap[queryHash];\n };\n\n _proto.getAll = function getAll() {\n return this.queries;\n };\n\n _proto.find = function find(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.queries.find(function (query) {\n return matchQuery(filters, query);\n });\n };\n\n _proto.findAll = function findAll(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n return Object.keys(filters).length > 0 ? this.queries.filter(function (query) {\n return matchQuery(filters, query);\n }) : this.queries;\n };\n\n _proto.notify = function notify(event) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(event);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n var _this4 = this;\n\n notifyManager.batch(function () {\n _this4.queries.forEach(function (query) {\n query.onFocus();\n });\n });\n };\n\n _proto.onOnline = function onOnline() {\n var _this5 = this;\n\n notifyManager.batch(function () {\n _this5.queries.forEach(function (query) {\n query.onOnline();\n });\n });\n };\n\n return QueryCache;\n}(Subscribable);","import _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { notifyManager } from './notifyManager';\nimport { Mutation } from './mutation';\nimport { matchMutation, noop } from './utils';\nimport { Subscribable } from './subscribable'; // TYPES\n\n// CLASS\nexport var MutationCache = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationCache, _Subscribable);\n\n function MutationCache(config) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.config = config || {};\n _this.mutations = [];\n _this.mutationId = 0;\n return _this;\n }\n\n var _proto = MutationCache.prototype;\n\n _proto.build = function build(client, options, state) {\n var mutation = new Mutation({\n mutationCache: this,\n mutationId: ++this.mutationId,\n options: client.defaultMutationOptions(options),\n state: state,\n defaultOptions: options.mutationKey ? client.getMutationDefaults(options.mutationKey) : undefined,\n meta: options.meta\n });\n this.add(mutation);\n return mutation;\n };\n\n _proto.add = function add(mutation) {\n this.mutations.push(mutation);\n this.notify(mutation);\n };\n\n _proto.remove = function remove(mutation) {\n this.mutations = this.mutations.filter(function (x) {\n return x !== mutation;\n });\n mutation.cancel();\n this.notify(mutation);\n };\n\n _proto.clear = function clear() {\n var _this2 = this;\n\n notifyManager.batch(function () {\n _this2.mutations.forEach(function (mutation) {\n _this2.remove(mutation);\n });\n });\n };\n\n _proto.getAll = function getAll() {\n return this.mutations;\n };\n\n _proto.find = function find(filters) {\n if (typeof filters.exact === 'undefined') {\n filters.exact = true;\n }\n\n return this.mutations.find(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.findAll = function findAll(filters) {\n return this.mutations.filter(function (mutation) {\n return matchMutation(filters, mutation);\n });\n };\n\n _proto.notify = function notify(mutation) {\n var _this3 = this;\n\n notifyManager.batch(function () {\n _this3.listeners.forEach(function (listener) {\n listener(mutation);\n });\n });\n };\n\n _proto.onFocus = function onFocus() {\n this.resumePausedMutations();\n };\n\n _proto.onOnline = function onOnline() {\n this.resumePausedMutations();\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n var pausedMutations = this.mutations.filter(function (x) {\n return x.state.isPaused;\n });\n return notifyManager.batch(function () {\n return pausedMutations.reduce(function (promise, mutation) {\n return promise.then(function () {\n return mutation.continue().catch(noop);\n });\n }, Promise.resolve());\n });\n };\n\n return MutationCache;\n}(Subscribable);","import { isCancelable } from './retryer';\nimport { getAbortController } from './utils';\nexport function infiniteQueryBehavior() {\n return {\n onFetch: function onFetch(context) {\n context.fetchFn = function () {\n var _context$fetchOptions, _context$fetchOptions2, _context$fetchOptions3, _context$fetchOptions4, _context$state$data, _context$state$data2;\n\n var refetchPage = (_context$fetchOptions = context.fetchOptions) == null ? void 0 : (_context$fetchOptions2 = _context$fetchOptions.meta) == null ? void 0 : _context$fetchOptions2.refetchPage;\n var fetchMore = (_context$fetchOptions3 = context.fetchOptions) == null ? void 0 : (_context$fetchOptions4 = _context$fetchOptions3.meta) == null ? void 0 : _context$fetchOptions4.fetchMore;\n var pageParam = fetchMore == null ? void 0 : fetchMore.pageParam;\n var isFetchingNextPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'forward';\n var isFetchingPreviousPage = (fetchMore == null ? void 0 : fetchMore.direction) === 'backward';\n var oldPages = ((_context$state$data = context.state.data) == null ? void 0 : _context$state$data.pages) || [];\n var oldPageParams = ((_context$state$data2 = context.state.data) == null ? void 0 : _context$state$data2.pageParams) || [];\n var abortController = getAbortController();\n var abortSignal = abortController == null ? void 0 : abortController.signal;\n var newPageParams = oldPageParams;\n var cancelled = false; // Get query function\n\n var queryFn = context.options.queryFn || function () {\n return Promise.reject('Missing queryFn');\n };\n\n var buildNewPages = function buildNewPages(pages, param, page, previous) {\n newPageParams = previous ? [param].concat(newPageParams) : [].concat(newPageParams, [param]);\n return previous ? [page].concat(pages) : [].concat(pages, [page]);\n }; // Create function to fetch a page\n\n\n var fetchPage = function fetchPage(pages, manual, param, previous) {\n if (cancelled) {\n return Promise.reject('Cancelled');\n }\n\n if (typeof param === 'undefined' && !manual && pages.length) {\n return Promise.resolve(pages);\n }\n\n var queryFnContext = {\n queryKey: context.queryKey,\n signal: abortSignal,\n pageParam: param,\n meta: context.meta\n };\n var queryFnResult = queryFn(queryFnContext);\n var promise = Promise.resolve(queryFnResult).then(function (page) {\n return buildNewPages(pages, param, page, previous);\n });\n\n if (isCancelable(queryFnResult)) {\n var promiseAsAny = promise;\n promiseAsAny.cancel = queryFnResult.cancel;\n }\n\n return promise;\n };\n\n var promise; // Fetch first page?\n\n if (!oldPages.length) {\n promise = fetchPage([]);\n } // Fetch next page?\n else if (isFetchingNextPage) {\n var manual = typeof pageParam !== 'undefined';\n var param = manual ? pageParam : getNextPageParam(context.options, oldPages);\n promise = fetchPage(oldPages, manual, param);\n } // Fetch previous page?\n else if (isFetchingPreviousPage) {\n var _manual = typeof pageParam !== 'undefined';\n\n var _param = _manual ? pageParam : getPreviousPageParam(context.options, oldPages);\n\n promise = fetchPage(oldPages, _manual, _param, true);\n } // Refetch pages\n else {\n (function () {\n newPageParams = [];\n var manual = typeof context.options.getNextPageParam === 'undefined';\n var shouldFetchFirstPage = refetchPage && oldPages[0] ? refetchPage(oldPages[0], 0, oldPages) : true; // Fetch first page\n\n promise = shouldFetchFirstPage ? fetchPage([], manual, oldPageParams[0]) : Promise.resolve(buildNewPages([], oldPageParams[0], oldPages[0])); // Fetch remaining pages\n\n var _loop = function _loop(i) {\n promise = promise.then(function (pages) {\n var shouldFetchNextPage = refetchPage && oldPages[i] ? refetchPage(oldPages[i], i, oldPages) : true;\n\n if (shouldFetchNextPage) {\n var _param2 = manual ? oldPageParams[i] : getNextPageParam(context.options, pages);\n\n return fetchPage(pages, manual, _param2);\n }\n\n return Promise.resolve(buildNewPages(pages, oldPageParams[i], oldPages[i]));\n });\n };\n\n for (var i = 1; i < oldPages.length; i++) {\n _loop(i);\n }\n })();\n }\n\n var finalPromise = promise.then(function (pages) {\n return {\n pages: pages,\n pageParams: newPageParams\n };\n });\n var finalPromiseAsAny = finalPromise;\n\n finalPromiseAsAny.cancel = function () {\n cancelled = true;\n abortController == null ? void 0 : abortController.abort();\n\n if (isCancelable(promise)) {\n promise.cancel();\n }\n };\n\n return finalPromise;\n };\n }\n };\n}\nexport function getNextPageParam(options, pages) {\n return options.getNextPageParam == null ? void 0 : options.getNextPageParam(pages[pages.length - 1], pages);\n}\nexport function getPreviousPageParam(options, pages) {\n return options.getPreviousPageParam == null ? void 0 : options.getPreviousPageParam(pages[0], pages);\n}\n/**\n * Checks if there is a next page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasNextPage(options, pages) {\n if (options.getNextPageParam && Array.isArray(pages)) {\n var nextPageParam = getNextPageParam(options, pages);\n return typeof nextPageParam !== 'undefined' && nextPageParam !== null && nextPageParam !== false;\n }\n}\n/**\n * Checks if there is a previous page.\n * Returns `undefined` if it cannot be determined.\n */\n\nexport function hasPreviousPage(options, pages) {\n if (options.getPreviousPageParam && Array.isArray(pages)) {\n var previousPageParam = getPreviousPageParam(options, pages);\n return typeof previousPageParam !== 'undefined' && previousPageParam !== null && previousPageParam !== false;\n }\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport { hashQueryKey, noop, parseFilterArgs, parseQueryArgs, partialMatchKey, hashQueryKeyByOptions } from './utils';\nimport { QueryCache } from './queryCache';\nimport { MutationCache } from './mutationCache';\nimport { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { notifyManager } from './notifyManager';\nimport { infiniteQueryBehavior } from './infiniteQueryBehavior';\n// CLASS\nexport var QueryClient = /*#__PURE__*/function () {\n function QueryClient(config) {\n if (config === void 0) {\n config = {};\n }\n\n this.queryCache = config.queryCache || new QueryCache();\n this.mutationCache = config.mutationCache || new MutationCache();\n this.defaultOptions = config.defaultOptions || {};\n this.queryDefaults = [];\n this.mutationDefaults = [];\n }\n\n var _proto = QueryClient.prototype;\n\n _proto.mount = function mount() {\n var _this = this;\n\n this.unsubscribeFocus = focusManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onFocus();\n\n _this.queryCache.onFocus();\n }\n });\n this.unsubscribeOnline = onlineManager.subscribe(function () {\n if (focusManager.isFocused() && onlineManager.isOnline()) {\n _this.mutationCache.onOnline();\n\n _this.queryCache.onOnline();\n }\n });\n };\n\n _proto.unmount = function unmount() {\n var _this$unsubscribeFocu, _this$unsubscribeOnli;\n\n (_this$unsubscribeFocu = this.unsubscribeFocus) == null ? void 0 : _this$unsubscribeFocu.call(this);\n (_this$unsubscribeOnli = this.unsubscribeOnline) == null ? void 0 : _this$unsubscribeOnli.call(this);\n };\n\n _proto.isFetching = function isFetching(arg1, arg2) {\n var _parseFilterArgs = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs[0];\n\n filters.fetching = true;\n return this.queryCache.findAll(filters).length;\n };\n\n _proto.isMutating = function isMutating(filters) {\n return this.mutationCache.findAll(_extends({}, filters, {\n fetching: true\n })).length;\n };\n\n _proto.getQueryData = function getQueryData(queryKey, filters) {\n var _this$queryCache$find;\n\n return (_this$queryCache$find = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find.state.data;\n };\n\n _proto.getQueriesData = function getQueriesData(queryKeyOrFilters) {\n return this.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref) {\n var queryKey = _ref.queryKey,\n state = _ref.state;\n var data = state.data;\n return [queryKey, data];\n });\n };\n\n _proto.setQueryData = function setQueryData(queryKey, updater, options) {\n var parsedOptions = parseQueryArgs(queryKey);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions);\n return this.queryCache.build(this, defaultedOptions).setData(updater, options);\n };\n\n _proto.setQueriesData = function setQueriesData(queryKeyOrFilters, updater, options) {\n var _this2 = this;\n\n return notifyManager.batch(function () {\n return _this2.getQueryCache().findAll(queryKeyOrFilters).map(function (_ref2) {\n var queryKey = _ref2.queryKey;\n return [queryKey, _this2.setQueryData(queryKey, updater, options)];\n });\n });\n };\n\n _proto.getQueryState = function getQueryState(queryKey, filters) {\n var _this$queryCache$find2;\n\n return (_this$queryCache$find2 = this.queryCache.find(queryKey, filters)) == null ? void 0 : _this$queryCache$find2.state;\n };\n\n _proto.removeQueries = function removeQueries(arg1, arg2) {\n var _parseFilterArgs2 = parseFilterArgs(arg1, arg2),\n filters = _parseFilterArgs2[0];\n\n var queryCache = this.queryCache;\n notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n queryCache.remove(query);\n });\n });\n };\n\n _proto.resetQueries = function resetQueries(arg1, arg2, arg3) {\n var _this3 = this;\n\n var _parseFilterArgs3 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs3[0],\n options = _parseFilterArgs3[1];\n\n var queryCache = this.queryCache;\n\n var refetchFilters = _extends({}, filters, {\n active: true\n });\n\n return notifyManager.batch(function () {\n queryCache.findAll(filters).forEach(function (query) {\n query.reset();\n });\n return _this3.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.cancelQueries = function cancelQueries(arg1, arg2, arg3) {\n var _this4 = this;\n\n var _parseFilterArgs4 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs4[0],\n _parseFilterArgs4$ = _parseFilterArgs4[1],\n cancelOptions = _parseFilterArgs4$ === void 0 ? {} : _parseFilterArgs4$;\n\n if (typeof cancelOptions.revert === 'undefined') {\n cancelOptions.revert = true;\n }\n\n var promises = notifyManager.batch(function () {\n return _this4.queryCache.findAll(filters).map(function (query) {\n return query.cancel(cancelOptions);\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.invalidateQueries = function invalidateQueries(arg1, arg2, arg3) {\n var _ref3,\n _filters$refetchActiv,\n _filters$refetchInact,\n _this5 = this;\n\n var _parseFilterArgs5 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs5[0],\n options = _parseFilterArgs5[1];\n\n var refetchFilters = _extends({}, filters, {\n // if filters.refetchActive is not provided and filters.active is explicitly false,\n // e.g. invalidateQueries({ active: false }), we don't want to refetch active queries\n active: (_ref3 = (_filters$refetchActiv = filters.refetchActive) != null ? _filters$refetchActiv : filters.active) != null ? _ref3 : true,\n inactive: (_filters$refetchInact = filters.refetchInactive) != null ? _filters$refetchInact : false\n });\n\n return notifyManager.batch(function () {\n _this5.queryCache.findAll(filters).forEach(function (query) {\n query.invalidate();\n });\n\n return _this5.refetchQueries(refetchFilters, options);\n });\n };\n\n _proto.refetchQueries = function refetchQueries(arg1, arg2, arg3) {\n var _this6 = this;\n\n var _parseFilterArgs6 = parseFilterArgs(arg1, arg2, arg3),\n filters = _parseFilterArgs6[0],\n options = _parseFilterArgs6[1];\n\n var promises = notifyManager.batch(function () {\n return _this6.queryCache.findAll(filters).map(function (query) {\n return query.fetch(undefined, _extends({}, options, {\n meta: {\n refetchPage: filters == null ? void 0 : filters.refetchPage\n }\n }));\n });\n });\n var promise = Promise.all(promises).then(noop);\n\n if (!(options == null ? void 0 : options.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.fetchQuery = function fetchQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n var defaultedOptions = this.defaultQueryOptions(parsedOptions); // https://github.com/tannerlinsley/react-query/issues/652\n\n if (typeof defaultedOptions.retry === 'undefined') {\n defaultedOptions.retry = false;\n }\n\n var query = this.queryCache.build(this, defaultedOptions);\n return query.isStaleByTime(defaultedOptions.staleTime) ? query.fetch(defaultedOptions) : Promise.resolve(query.state.data);\n };\n\n _proto.prefetchQuery = function prefetchQuery(arg1, arg2, arg3) {\n return this.fetchQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.fetchInfiniteQuery = function fetchInfiniteQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n parsedOptions.behavior = infiniteQueryBehavior();\n return this.fetchQuery(parsedOptions);\n };\n\n _proto.prefetchInfiniteQuery = function prefetchInfiniteQuery(arg1, arg2, arg3) {\n return this.fetchInfiniteQuery(arg1, arg2, arg3).then(noop).catch(noop);\n };\n\n _proto.cancelMutations = function cancelMutations() {\n var _this7 = this;\n\n var promises = notifyManager.batch(function () {\n return _this7.mutationCache.getAll().map(function (mutation) {\n return mutation.cancel();\n });\n });\n return Promise.all(promises).then(noop).catch(noop);\n };\n\n _proto.resumePausedMutations = function resumePausedMutations() {\n return this.getMutationCache().resumePausedMutations();\n };\n\n _proto.executeMutation = function executeMutation(options) {\n return this.mutationCache.build(this, options).execute();\n };\n\n _proto.getQueryCache = function getQueryCache() {\n return this.queryCache;\n };\n\n _proto.getMutationCache = function getMutationCache() {\n return this.mutationCache;\n };\n\n _proto.getDefaultOptions = function getDefaultOptions() {\n return this.defaultOptions;\n };\n\n _proto.setDefaultOptions = function setDefaultOptions(options) {\n this.defaultOptions = options;\n };\n\n _proto.setQueryDefaults = function setQueryDefaults(queryKey, options) {\n var result = this.queryDefaults.find(function (x) {\n return hashQueryKey(queryKey) === hashQueryKey(x.queryKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.queryDefaults.push({\n queryKey: queryKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getQueryDefaults = function getQueryDefaults(queryKey) {\n var _this$queryDefaults$f;\n\n return queryKey ? (_this$queryDefaults$f = this.queryDefaults.find(function (x) {\n return partialMatchKey(queryKey, x.queryKey);\n })) == null ? void 0 : _this$queryDefaults$f.defaultOptions : undefined;\n };\n\n _proto.setMutationDefaults = function setMutationDefaults(mutationKey, options) {\n var result = this.mutationDefaults.find(function (x) {\n return hashQueryKey(mutationKey) === hashQueryKey(x.mutationKey);\n });\n\n if (result) {\n result.defaultOptions = options;\n } else {\n this.mutationDefaults.push({\n mutationKey: mutationKey,\n defaultOptions: options\n });\n }\n };\n\n _proto.getMutationDefaults = function getMutationDefaults(mutationKey) {\n var _this$mutationDefault;\n\n return mutationKey ? (_this$mutationDefault = this.mutationDefaults.find(function (x) {\n return partialMatchKey(mutationKey, x.mutationKey);\n })) == null ? void 0 : _this$mutationDefault.defaultOptions : undefined;\n };\n\n _proto.defaultQueryOptions = function defaultQueryOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n var defaultedOptions = _extends({}, this.defaultOptions.queries, this.getQueryDefaults(options == null ? void 0 : options.queryKey), options, {\n _defaulted: true\n });\n\n if (!defaultedOptions.queryHash && defaultedOptions.queryKey) {\n defaultedOptions.queryHash = hashQueryKeyByOptions(defaultedOptions.queryKey, defaultedOptions);\n }\n\n return defaultedOptions;\n };\n\n _proto.defaultQueryObserverOptions = function defaultQueryObserverOptions(options) {\n return this.defaultQueryOptions(options);\n };\n\n _proto.defaultMutationOptions = function defaultMutationOptions(options) {\n if (options == null ? void 0 : options._defaulted) {\n return options;\n }\n\n return _extends({}, this.defaultOptions.mutations, this.getMutationDefaults(options == null ? void 0 : options.mutationKey), options, {\n _defaulted: true\n });\n };\n\n _proto.clear = function clear() {\n this.queryCache.clear();\n this.mutationCache.clear();\n };\n\n return QueryClient;\n}();","import { focusManager } from './focusManager';\nimport { onlineManager } from './onlineManager';\nimport { sleep } from './utils';\n\nfunction defaultRetryDelay(failureCount) {\n return Math.min(1000 * Math.pow(2, failureCount), 30000);\n}\n\nexport function isCancelable(value) {\n return typeof (value == null ? void 0 : value.cancel) === 'function';\n}\nexport var CancelledError = function CancelledError(options) {\n this.revert = options == null ? void 0 : options.revert;\n this.silent = options == null ? void 0 : options.silent;\n};\nexport function isCancelledError(value) {\n return value instanceof CancelledError;\n} // CLASS\n\nexport var Retryer = function Retryer(config) {\n var _this = this;\n\n var cancelRetry = false;\n var cancelFn;\n var continueFn;\n var promiseResolve;\n var promiseReject;\n this.abort = config.abort;\n\n this.cancel = function (cancelOptions) {\n return cancelFn == null ? void 0 : cancelFn(cancelOptions);\n };\n\n this.cancelRetry = function () {\n cancelRetry = true;\n };\n\n this.continueRetry = function () {\n cancelRetry = false;\n };\n\n this.continue = function () {\n return continueFn == null ? void 0 : continueFn();\n };\n\n this.failureCount = 0;\n this.isPaused = false;\n this.isResolved = false;\n this.isTransportCancelable = false;\n this.promise = new Promise(function (outerResolve, outerReject) {\n promiseResolve = outerResolve;\n promiseReject = outerReject;\n });\n\n var resolve = function resolve(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onSuccess == null ? void 0 : config.onSuccess(value);\n continueFn == null ? void 0 : continueFn();\n promiseResolve(value);\n }\n };\n\n var reject = function reject(value) {\n if (!_this.isResolved) {\n _this.isResolved = true;\n config.onError == null ? void 0 : config.onError(value);\n continueFn == null ? void 0 : continueFn();\n promiseReject(value);\n }\n };\n\n var pause = function pause() {\n return new Promise(function (continueResolve) {\n continueFn = continueResolve;\n _this.isPaused = true;\n config.onPause == null ? void 0 : config.onPause();\n }).then(function () {\n continueFn = undefined;\n _this.isPaused = false;\n config.onContinue == null ? void 0 : config.onContinue();\n });\n }; // Create loop function\n\n\n var run = function run() {\n // Do nothing if already resolved\n if (_this.isResolved) {\n return;\n }\n\n var promiseOrValue; // Execute query\n\n try {\n promiseOrValue = config.fn();\n } catch (error) {\n promiseOrValue = Promise.reject(error);\n } // Create callback to cancel this fetch\n\n\n cancelFn = function cancelFn(cancelOptions) {\n if (!_this.isResolved) {\n reject(new CancelledError(cancelOptions));\n _this.abort == null ? void 0 : _this.abort(); // Cancel transport if supported\n\n if (isCancelable(promiseOrValue)) {\n try {\n promiseOrValue.cancel();\n } catch (_unused) {}\n }\n }\n }; // Check if the transport layer support cancellation\n\n\n _this.isTransportCancelable = isCancelable(promiseOrValue);\n Promise.resolve(promiseOrValue).then(resolve).catch(function (error) {\n var _config$retry, _config$retryDelay;\n\n // Stop if the fetch is already resolved\n if (_this.isResolved) {\n return;\n } // Do we need to retry the request?\n\n\n var retry = (_config$retry = config.retry) != null ? _config$retry : 3;\n var retryDelay = (_config$retryDelay = config.retryDelay) != null ? _config$retryDelay : defaultRetryDelay;\n var delay = typeof retryDelay === 'function' ? retryDelay(_this.failureCount, error) : retryDelay;\n var shouldRetry = retry === true || typeof retry === 'number' && _this.failureCount < retry || typeof retry === 'function' && retry(_this.failureCount, error);\n\n if (cancelRetry || !shouldRetry) {\n // We are done if the query does not need to be retried\n reject(error);\n return;\n }\n\n _this.failureCount++; // Notify on fail\n\n config.onFail == null ? void 0 : config.onFail(_this.failureCount, error); // Delay\n\n sleep(delay) // Pause if the document is not visible or when the device is offline\n .then(function () {\n if (!focusManager.isFocused() || !onlineManager.isOnline()) {\n return pause();\n }\n }).then(function () {\n if (cancelRetry) {\n reject(error);\n } else {\n run();\n }\n });\n });\n }; // Start loop\n\n\n run();\n};","export var Subscribable = /*#__PURE__*/function () {\n function Subscribable() {\n this.listeners = [];\n }\n\n var _proto = Subscribable.prototype;\n\n _proto.subscribe = function subscribe(listener) {\n var _this = this;\n\n var callback = listener || function () {\n return undefined;\n };\n\n this.listeners.push(callback);\n this.onSubscribe();\n return function () {\n _this.listeners = _this.listeners.filter(function (x) {\n return x !== callback;\n });\n\n _this.onUnsubscribe();\n };\n };\n\n _proto.hasListeners = function hasListeners() {\n return this.listeners.length > 0;\n };\n\n _proto.onSubscribe = function onSubscribe() {// Do nothing\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {// Do nothing\n };\n\n return Subscribable;\n}();","import _extends from \"@babel/runtime/helpers/esm/extends\";\n// TYPES\n// UTILS\nexport var isServer = typeof window === 'undefined';\nexport function noop() {\n return undefined;\n}\nexport function functionalUpdate(updater, input) {\n return typeof updater === 'function' ? updater(input) : updater;\n}\nexport function isValidTimeout(value) {\n return typeof value === 'number' && value >= 0 && value !== Infinity;\n}\nexport function ensureQueryKeyArray(value) {\n return Array.isArray(value) ? value : [value];\n}\nexport function difference(array1, array2) {\n return array1.filter(function (x) {\n return array2.indexOf(x) === -1;\n });\n}\nexport function replaceAt(array, index, value) {\n var copy = array.slice(0);\n copy[index] = value;\n return copy;\n}\nexport function timeUntilStale(updatedAt, staleTime) {\n return Math.max(updatedAt + (staleTime || 0) - Date.now(), 0);\n}\nexport function parseQueryArgs(arg1, arg2, arg3) {\n if (!isQueryKey(arg1)) {\n return arg1;\n }\n\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n queryKey: arg1,\n queryFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n queryKey: arg1\n });\n}\nexport function parseMutationArgs(arg1, arg2, arg3) {\n if (isQueryKey(arg1)) {\n if (typeof arg2 === 'function') {\n return _extends({}, arg3, {\n mutationKey: arg1,\n mutationFn: arg2\n });\n }\n\n return _extends({}, arg2, {\n mutationKey: arg1\n });\n }\n\n if (typeof arg1 === 'function') {\n return _extends({}, arg2, {\n mutationFn: arg1\n });\n }\n\n return _extends({}, arg1);\n}\nexport function parseFilterArgs(arg1, arg2, arg3) {\n return isQueryKey(arg1) ? [_extends({}, arg2, {\n queryKey: arg1\n }), arg3] : [arg1 || {}, arg2];\n}\nexport function parseMutationFilterArgs(arg1, arg2) {\n return isQueryKey(arg1) ? _extends({}, arg2, {\n mutationKey: arg1\n }) : arg1;\n}\nexport function mapQueryStatusFilter(active, inactive) {\n if (active === true && inactive === true || active == null && inactive == null) {\n return 'all';\n } else if (active === false && inactive === false) {\n return 'none';\n } else {\n // At this point, active|inactive can only be true|false or false|true\n // so, when only one value is provided, the missing one has to be the negated value\n var isActive = active != null ? active : !inactive;\n return isActive ? 'active' : 'inactive';\n }\n}\nexport function matchQuery(filters, query) {\n var active = filters.active,\n exact = filters.exact,\n fetching = filters.fetching,\n inactive = filters.inactive,\n predicate = filters.predicate,\n queryKey = filters.queryKey,\n stale = filters.stale;\n\n if (isQueryKey(queryKey)) {\n if (exact) {\n if (query.queryHash !== hashQueryKeyByOptions(queryKey, query.options)) {\n return false;\n }\n } else if (!partialMatchKey(query.queryKey, queryKey)) {\n return false;\n }\n }\n\n var queryStatusFilter = mapQueryStatusFilter(active, inactive);\n\n if (queryStatusFilter === 'none') {\n return false;\n } else if (queryStatusFilter !== 'all') {\n var isActive = query.isActive();\n\n if (queryStatusFilter === 'active' && !isActive) {\n return false;\n }\n\n if (queryStatusFilter === 'inactive' && isActive) {\n return false;\n }\n }\n\n if (typeof stale === 'boolean' && query.isStale() !== stale) {\n return false;\n }\n\n if (typeof fetching === 'boolean' && query.isFetching() !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(query)) {\n return false;\n }\n\n return true;\n}\nexport function matchMutation(filters, mutation) {\n var exact = filters.exact,\n fetching = filters.fetching,\n predicate = filters.predicate,\n mutationKey = filters.mutationKey;\n\n if (isQueryKey(mutationKey)) {\n if (!mutation.options.mutationKey) {\n return false;\n }\n\n if (exact) {\n if (hashQueryKey(mutation.options.mutationKey) !== hashQueryKey(mutationKey)) {\n return false;\n }\n } else if (!partialMatchKey(mutation.options.mutationKey, mutationKey)) {\n return false;\n }\n }\n\n if (typeof fetching === 'boolean' && mutation.state.status === 'loading' !== fetching) {\n return false;\n }\n\n if (predicate && !predicate(mutation)) {\n return false;\n }\n\n return true;\n}\nexport function hashQueryKeyByOptions(queryKey, options) {\n var hashFn = (options == null ? void 0 : options.queryKeyHashFn) || hashQueryKey;\n return hashFn(queryKey);\n}\n/**\n * Default query keys hash function.\n */\n\nexport function hashQueryKey(queryKey) {\n var asArray = ensureQueryKeyArray(queryKey);\n return stableValueHash(asArray);\n}\n/**\n * Hashes the value into a stable hash.\n */\n\nexport function stableValueHash(value) {\n return JSON.stringify(value, function (_, val) {\n return isPlainObject(val) ? Object.keys(val).sort().reduce(function (result, key) {\n result[key] = val[key];\n return result;\n }, {}) : val;\n });\n}\n/**\n * Checks if key `b` partially matches with key `a`.\n */\n\nexport function partialMatchKey(a, b) {\n return partialDeepEqual(ensureQueryKeyArray(a), ensureQueryKeyArray(b));\n}\n/**\n * Checks if `b` partially matches with `a`.\n */\n\nexport function partialDeepEqual(a, b) {\n if (a === b) {\n return true;\n }\n\n if (typeof a !== typeof b) {\n return false;\n }\n\n if (a && b && typeof a === 'object' && typeof b === 'object') {\n return !Object.keys(b).some(function (key) {\n return !partialDeepEqual(a[key], b[key]);\n });\n }\n\n return false;\n}\n/**\n * This function returns `a` if `b` is deeply equal.\n * If not, it will replace any deeply equal children of `b` with those of `a`.\n * This can be used for structural sharing between JSON values for example.\n */\n\nexport function replaceEqualDeep(a, b) {\n if (a === b) {\n return a;\n }\n\n var array = Array.isArray(a) && Array.isArray(b);\n\n if (array || isPlainObject(a) && isPlainObject(b)) {\n var aSize = array ? a.length : Object.keys(a).length;\n var bItems = array ? b : Object.keys(b);\n var bSize = bItems.length;\n var copy = array ? [] : {};\n var equalItems = 0;\n\n for (var i = 0; i < bSize; i++) {\n var key = array ? i : bItems[i];\n copy[key] = replaceEqualDeep(a[key], b[key]);\n\n if (copy[key] === a[key]) {\n equalItems++;\n }\n }\n\n return aSize === bSize && equalItems === aSize ? a : copy;\n }\n\n return b;\n}\n/**\n * Shallow compare objects. Only works with objects that always have the same properties.\n */\n\nexport function shallowEqualObjects(a, b) {\n if (a && !b || b && !a) {\n return false;\n }\n\n for (var key in a) {\n if (a[key] !== b[key]) {\n return false;\n }\n }\n\n return true;\n} // Copied from: https://github.com/jonschlinkert/is-plain-object\n\nexport function isPlainObject(o) {\n if (!hasObjectPrototype(o)) {\n return false;\n } // If has modified constructor\n\n\n var ctor = o.constructor;\n\n if (typeof ctor === 'undefined') {\n return true;\n } // If has modified prototype\n\n\n var prot = ctor.prototype;\n\n if (!hasObjectPrototype(prot)) {\n return false;\n } // If constructor does not have an Object-specific method\n\n\n if (!prot.hasOwnProperty('isPrototypeOf')) {\n return false;\n } // Most likely a plain Object\n\n\n return true;\n}\n\nfunction hasObjectPrototype(o) {\n return Object.prototype.toString.call(o) === '[object Object]';\n}\n\nexport function isQueryKey(value) {\n return typeof value === 'string' || Array.isArray(value);\n}\nexport function isError(value) {\n return value instanceof Error;\n}\nexport function sleep(timeout) {\n return new Promise(function (resolve) {\n setTimeout(resolve, timeout);\n });\n}\n/**\n * Schedules a microtask.\n * This can be useful to schedule state updates after rendering.\n */\n\nexport function scheduleMicrotask(callback) {\n Promise.resolve().then(callback).catch(function (error) {\n return setTimeout(function () {\n throw error;\n });\n });\n}\nexport function getAbortController() {\n if (typeof AbortController === 'function') {\n return new AbortController();\n }\n}","import ReactDOM from 'react-dom';\nexport var unstable_batchedUpdates = ReactDOM.unstable_batchedUpdates;","import { notifyManager } from '../core';\nimport { unstable_batchedUpdates } from './reactBatchedUpdates';\nnotifyManager.setBatchNotifyFunction(unstable_batchedUpdates);","export var logger = console;","import { setLogger } from '../core';\nimport { logger } from './logger';\nsetLogger(logger);","import React from 'react';\nvar defaultContext = /*#__PURE__*/React.createContext(undefined);\nvar QueryClientSharingContext = /*#__PURE__*/React.createContext(false); // if contextSharing is on, we share the first and at least one\n// instance of the context across the window\n// to ensure that if React Query is used across\n// different bundles or microfrontends they will\n// all use the same **instance** of context, regardless\n// of module scoping.\n\nfunction getQueryClientContext(contextSharing) {\n if (contextSharing && typeof window !== 'undefined') {\n if (!window.ReactQueryClientContext) {\n window.ReactQueryClientContext = defaultContext;\n }\n\n return window.ReactQueryClientContext;\n }\n\n return defaultContext;\n}\n\nexport var useQueryClient = function useQueryClient() {\n var queryClient = React.useContext(getQueryClientContext(React.useContext(QueryClientSharingContext)));\n\n if (!queryClient) {\n throw new Error('No QueryClient set, use QueryClientProvider to set one');\n }\n\n return queryClient;\n};\nexport var QueryClientProvider = function QueryClientProvider(_ref) {\n var client = _ref.client,\n _ref$contextSharing = _ref.contextSharing,\n contextSharing = _ref$contextSharing === void 0 ? false : _ref$contextSharing,\n children = _ref.children;\n React.useEffect(function () {\n client.mount();\n return function () {\n client.unmount();\n };\n }, [client]);\n var Context = getQueryClientContext(contextSharing);\n return /*#__PURE__*/React.createElement(QueryClientSharingContext.Provider, {\n value: contextSharing\n }, /*#__PURE__*/React.createElement(Context.Provider, {\n value: client\n }, children));\n};","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { getDefaultState } from './mutation';\nimport { notifyManager } from './notifyManager';\nimport { Subscribable } from './subscribable';\n// CLASS\nexport var MutationObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(MutationObserver, _Subscribable);\n\n function MutationObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n\n _this.setOptions(options);\n\n _this.bindMethods();\n\n _this.updateResult();\n\n return _this;\n }\n\n var _proto = MutationObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.mutate = this.mutate.bind(this);\n this.reset = this.reset.bind(this);\n };\n\n _proto.setOptions = function setOptions(options) {\n this.options = this.client.defaultMutationOptions(options);\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n var _this$currentMutation;\n\n (_this$currentMutation = this.currentMutation) == null ? void 0 : _this$currentMutation.removeObserver(this);\n }\n };\n\n _proto.onMutationUpdate = function onMutationUpdate(action) {\n this.updateResult(); // Determine which callbacks to trigger\n\n var notifyOptions = {\n listeners: true\n };\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error') {\n notifyOptions.onError = true;\n }\n\n this.notify(notifyOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.reset = function reset() {\n this.currentMutation = undefined;\n this.updateResult();\n this.notify({\n listeners: true\n });\n };\n\n _proto.mutate = function mutate(variables, options) {\n this.mutateOptions = options;\n\n if (this.currentMutation) {\n this.currentMutation.removeObserver(this);\n }\n\n this.currentMutation = this.client.getMutationCache().build(this.client, _extends({}, this.options, {\n variables: typeof variables !== 'undefined' ? variables : this.options.variables\n }));\n this.currentMutation.addObserver(this);\n return this.currentMutation.execute();\n };\n\n _proto.updateResult = function updateResult() {\n var state = this.currentMutation ? this.currentMutation.state : getDefaultState();\n\n var result = _extends({}, state, {\n isLoading: state.status === 'loading',\n isSuccess: state.status === 'success',\n isError: state.status === 'error',\n isIdle: state.status === 'idle',\n mutate: this.mutate,\n reset: this.reset\n });\n\n this.currentResult = result;\n };\n\n _proto.notify = function notify(options) {\n var _this2 = this;\n\n notifyManager.batch(function () {\n // First trigger the mutate callbacks\n if (_this2.mutateOptions) {\n if (options.onSuccess) {\n _this2.mutateOptions.onSuccess == null ? void 0 : _this2.mutateOptions.onSuccess(_this2.currentResult.data, _this2.currentResult.variables, _this2.currentResult.context);\n _this2.mutateOptions.onSettled == null ? void 0 : _this2.mutateOptions.onSettled(_this2.currentResult.data, null, _this2.currentResult.variables, _this2.currentResult.context);\n } else if (options.onError) {\n _this2.mutateOptions.onError == null ? void 0 : _this2.mutateOptions.onError(_this2.currentResult.error, _this2.currentResult.variables, _this2.currentResult.context);\n _this2.mutateOptions.onSettled == null ? void 0 : _this2.mutateOptions.onSettled(undefined, _this2.currentResult.error, _this2.currentResult.variables, _this2.currentResult.context);\n }\n } // Then trigger the listeners\n\n\n if (options.listeners) {\n _this2.listeners.forEach(function (listener) {\n listener(_this2.currentResult);\n });\n }\n });\n };\n\n return MutationObserver;\n}(Subscribable);","export function shouldThrowError(suspense, _useErrorBoundary, params) {\n // Allow useErrorBoundary function to override throwing behavior on a per-error basis\n if (typeof _useErrorBoundary === 'function') {\n return _useErrorBoundary.apply(void 0, params);\n } // Allow useErrorBoundary to override suspense's throwing behavior\n\n\n if (typeof _useErrorBoundary === 'boolean') return _useErrorBoundary; // If suspense is enabled default to throwing errors\n\n return !!suspense;\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { noop, parseMutationArgs } from '../core/utils';\nimport { MutationObserver } from '../core/mutationObserver';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils'; // HOOK\n\nexport function useMutation(arg1, arg2, arg3) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var options = parseMutationArgs(arg1, arg2, arg3);\n var queryClient = useQueryClient();\n var obsRef = React.useRef();\n\n if (!obsRef.current) {\n obsRef.current = new MutationObserver(queryClient, options);\n } else {\n obsRef.current.setOptions(options);\n }\n\n var currentResult = obsRef.current.getCurrentResult();\n React.useEffect(function () {\n mountedRef.current = true;\n var unsubscribe = obsRef.current.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n }));\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, []);\n var mutate = React.useCallback(function (variables, mutateOptions) {\n obsRef.current.mutate(variables, mutateOptions).catch(noop);\n }, []);\n\n if (currentResult.error && shouldThrowError(undefined, obsRef.current.options.useErrorBoundary, [currentResult.error])) {\n throw currentResult.error;\n }\n\n return _extends({}, currentResult, {\n mutate: mutate,\n mutateAsync: currentResult.mutate\n });\n}","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _inheritsLoose from \"@babel/runtime/helpers/esm/inheritsLoose\";\nimport { isServer, isValidTimeout, noop, replaceEqualDeep, shallowEqualObjects, timeUntilStale } from './utils';\nimport { notifyManager } from './notifyManager';\nimport { focusManager } from './focusManager';\nimport { Subscribable } from './subscribable';\nimport { getLogger } from './logger';\nimport { isCancelledError } from './retryer';\nexport var QueryObserver = /*#__PURE__*/function (_Subscribable) {\n _inheritsLoose(QueryObserver, _Subscribable);\n\n function QueryObserver(client, options) {\n var _this;\n\n _this = _Subscribable.call(this) || this;\n _this.client = client;\n _this.options = options;\n _this.trackedProps = [];\n _this.selectError = null;\n\n _this.bindMethods();\n\n _this.setOptions(options);\n\n return _this;\n }\n\n var _proto = QueryObserver.prototype;\n\n _proto.bindMethods = function bindMethods() {\n this.remove = this.remove.bind(this);\n this.refetch = this.refetch.bind(this);\n };\n\n _proto.onSubscribe = function onSubscribe() {\n if (this.listeners.length === 1) {\n this.currentQuery.addObserver(this);\n\n if (shouldFetchOnMount(this.currentQuery, this.options)) {\n this.executeFetch();\n }\n\n this.updateTimers();\n }\n };\n\n _proto.onUnsubscribe = function onUnsubscribe() {\n if (!this.listeners.length) {\n this.destroy();\n }\n };\n\n _proto.shouldFetchOnReconnect = function shouldFetchOnReconnect() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnReconnect);\n };\n\n _proto.shouldFetchOnWindowFocus = function shouldFetchOnWindowFocus() {\n return shouldFetchOn(this.currentQuery, this.options, this.options.refetchOnWindowFocus);\n };\n\n _proto.destroy = function destroy() {\n this.listeners = [];\n this.clearTimers();\n this.currentQuery.removeObserver(this);\n };\n\n _proto.setOptions = function setOptions(options, notifyOptions) {\n var prevOptions = this.options;\n var prevQuery = this.currentQuery;\n this.options = this.client.defaultQueryObserverOptions(options);\n\n if (typeof this.options.enabled !== 'undefined' && typeof this.options.enabled !== 'boolean') {\n throw new Error('Expected enabled to be a boolean');\n } // Keep previous query key if the user does not supply one\n\n\n if (!this.options.queryKey) {\n this.options.queryKey = prevOptions.queryKey;\n }\n\n this.updateQuery();\n var mounted = this.hasListeners(); // Fetch if there are subscribers\n\n if (mounted && shouldFetchOptionally(this.currentQuery, prevQuery, this.options, prevOptions)) {\n this.executeFetch();\n } // Update result\n\n\n this.updateResult(notifyOptions); // Update stale interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || this.options.staleTime !== prevOptions.staleTime)) {\n this.updateStaleTimeout();\n }\n\n var nextRefetchInterval = this.computeRefetchInterval(); // Update refetch interval if needed\n\n if (mounted && (this.currentQuery !== prevQuery || this.options.enabled !== prevOptions.enabled || nextRefetchInterval !== this.currentRefetchInterval)) {\n this.updateRefetchInterval(nextRefetchInterval);\n }\n };\n\n _proto.getOptimisticResult = function getOptimisticResult(options) {\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return this.createResult(query, defaultedOptions);\n };\n\n _proto.getCurrentResult = function getCurrentResult() {\n return this.currentResult;\n };\n\n _proto.trackResult = function trackResult(result, defaultedOptions) {\n var _this2 = this;\n\n var trackedResult = {};\n\n var trackProp = function trackProp(key) {\n if (!_this2.trackedProps.includes(key)) {\n _this2.trackedProps.push(key);\n }\n };\n\n Object.keys(result).forEach(function (key) {\n Object.defineProperty(trackedResult, key, {\n configurable: false,\n enumerable: true,\n get: function get() {\n trackProp(key);\n return result[key];\n }\n });\n });\n\n if (defaultedOptions.useErrorBoundary || defaultedOptions.suspense) {\n trackProp('error');\n }\n\n return trackedResult;\n };\n\n _proto.getNextResult = function getNextResult(options) {\n var _this3 = this;\n\n return new Promise(function (resolve, reject) {\n var unsubscribe = _this3.subscribe(function (result) {\n if (!result.isFetching) {\n unsubscribe();\n\n if (result.isError && (options == null ? void 0 : options.throwOnError)) {\n reject(result.error);\n } else {\n resolve(result);\n }\n }\n });\n });\n };\n\n _proto.getCurrentQuery = function getCurrentQuery() {\n return this.currentQuery;\n };\n\n _proto.remove = function remove() {\n this.client.getQueryCache().remove(this.currentQuery);\n };\n\n _proto.refetch = function refetch(options) {\n return this.fetch(_extends({}, options, {\n meta: {\n refetchPage: options == null ? void 0 : options.refetchPage\n }\n }));\n };\n\n _proto.fetchOptimistic = function fetchOptimistic(options) {\n var _this4 = this;\n\n var defaultedOptions = this.client.defaultQueryObserverOptions(options);\n var query = this.client.getQueryCache().build(this.client, defaultedOptions);\n return query.fetch().then(function () {\n return _this4.createResult(query, defaultedOptions);\n });\n };\n\n _proto.fetch = function fetch(fetchOptions) {\n var _this5 = this;\n\n return this.executeFetch(fetchOptions).then(function () {\n _this5.updateResult();\n\n return _this5.currentResult;\n });\n };\n\n _proto.executeFetch = function executeFetch(fetchOptions) {\n // Make sure we reference the latest query as the current one might have been removed\n this.updateQuery(); // Fetch\n\n var promise = this.currentQuery.fetch(this.options, fetchOptions);\n\n if (!(fetchOptions == null ? void 0 : fetchOptions.throwOnError)) {\n promise = promise.catch(noop);\n }\n\n return promise;\n };\n\n _proto.updateStaleTimeout = function updateStaleTimeout() {\n var _this6 = this;\n\n this.clearStaleTimeout();\n\n if (isServer || this.currentResult.isStale || !isValidTimeout(this.options.staleTime)) {\n return;\n }\n\n var time = timeUntilStale(this.currentResult.dataUpdatedAt, this.options.staleTime); // The timeout is sometimes triggered 1 ms before the stale time expiration.\n // To mitigate this issue we always add 1 ms to the timeout.\n\n var timeout = time + 1;\n this.staleTimeoutId = setTimeout(function () {\n if (!_this6.currentResult.isStale) {\n _this6.updateResult();\n }\n }, timeout);\n };\n\n _proto.computeRefetchInterval = function computeRefetchInterval() {\n var _this$options$refetch;\n\n return typeof this.options.refetchInterval === 'function' ? this.options.refetchInterval(this.currentResult.data, this.currentQuery) : (_this$options$refetch = this.options.refetchInterval) != null ? _this$options$refetch : false;\n };\n\n _proto.updateRefetchInterval = function updateRefetchInterval(nextInterval) {\n var _this7 = this;\n\n this.clearRefetchInterval();\n this.currentRefetchInterval = nextInterval;\n\n if (isServer || this.options.enabled === false || !isValidTimeout(this.currentRefetchInterval) || this.currentRefetchInterval === 0) {\n return;\n }\n\n this.refetchIntervalId = setInterval(function () {\n if (_this7.options.refetchIntervalInBackground || focusManager.isFocused()) {\n _this7.executeFetch();\n }\n }, this.currentRefetchInterval);\n };\n\n _proto.updateTimers = function updateTimers() {\n this.updateStaleTimeout();\n this.updateRefetchInterval(this.computeRefetchInterval());\n };\n\n _proto.clearTimers = function clearTimers() {\n this.clearStaleTimeout();\n this.clearRefetchInterval();\n };\n\n _proto.clearStaleTimeout = function clearStaleTimeout() {\n if (this.staleTimeoutId) {\n clearTimeout(this.staleTimeoutId);\n this.staleTimeoutId = undefined;\n }\n };\n\n _proto.clearRefetchInterval = function clearRefetchInterval() {\n if (this.refetchIntervalId) {\n clearInterval(this.refetchIntervalId);\n this.refetchIntervalId = undefined;\n }\n };\n\n _proto.createResult = function createResult(query, options) {\n var prevQuery = this.currentQuery;\n var prevOptions = this.options;\n var prevResult = this.currentResult;\n var prevResultState = this.currentResultState;\n var prevResultOptions = this.currentResultOptions;\n var queryChange = query !== prevQuery;\n var queryInitialState = queryChange ? query.state : this.currentQueryInitialState;\n var prevQueryResult = queryChange ? this.currentResult : this.previousQueryResult;\n var state = query.state;\n var dataUpdatedAt = state.dataUpdatedAt,\n error = state.error,\n errorUpdatedAt = state.errorUpdatedAt,\n isFetching = state.isFetching,\n status = state.status;\n var isPreviousData = false;\n var isPlaceholderData = false;\n var data; // Optimistically set result in fetching state if needed\n\n if (options.optimisticResults) {\n var mounted = this.hasListeners();\n var fetchOnMount = !mounted && shouldFetchOnMount(query, options);\n var fetchOptionally = mounted && shouldFetchOptionally(query, prevQuery, options, prevOptions);\n\n if (fetchOnMount || fetchOptionally) {\n isFetching = true;\n\n if (!dataUpdatedAt) {\n status = 'loading';\n }\n }\n } // Keep previous data if needed\n\n\n if (options.keepPreviousData && !state.dataUpdateCount && (prevQueryResult == null ? void 0 : prevQueryResult.isSuccess) && status !== 'error') {\n data = prevQueryResult.data;\n dataUpdatedAt = prevQueryResult.dataUpdatedAt;\n status = prevQueryResult.status;\n isPreviousData = true;\n } // Select data if needed\n else if (options.select && typeof state.data !== 'undefined') {\n // Memoize select result\n if (prevResult && state.data === (prevResultState == null ? void 0 : prevResultState.data) && options.select === this.selectFn) {\n data = this.selectResult;\n } else {\n try {\n this.selectFn = options.select;\n data = options.select(state.data);\n\n if (options.structuralSharing !== false) {\n data = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, data);\n }\n\n this.selectResult = data;\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n } // Use query data\n else {\n data = state.data;\n } // Show placeholder data if needed\n\n\n if (typeof options.placeholderData !== 'undefined' && typeof data === 'undefined' && (status === 'loading' || status === 'idle')) {\n var placeholderData; // Memoize placeholder data\n\n if ((prevResult == null ? void 0 : prevResult.isPlaceholderData) && options.placeholderData === (prevResultOptions == null ? void 0 : prevResultOptions.placeholderData)) {\n placeholderData = prevResult.data;\n } else {\n placeholderData = typeof options.placeholderData === 'function' ? options.placeholderData() : options.placeholderData;\n\n if (options.select && typeof placeholderData !== 'undefined') {\n try {\n placeholderData = options.select(placeholderData);\n\n if (options.structuralSharing !== false) {\n placeholderData = replaceEqualDeep(prevResult == null ? void 0 : prevResult.data, placeholderData);\n }\n\n this.selectError = null;\n } catch (selectError) {\n getLogger().error(selectError);\n this.selectError = selectError;\n }\n }\n }\n\n if (typeof placeholderData !== 'undefined') {\n status = 'success';\n data = placeholderData;\n isPlaceholderData = true;\n }\n }\n\n if (this.selectError) {\n error = this.selectError;\n data = this.selectResult;\n errorUpdatedAt = Date.now();\n status = 'error';\n }\n\n var result = {\n status: status,\n isLoading: status === 'loading',\n isSuccess: status === 'success',\n isError: status === 'error',\n isIdle: status === 'idle',\n data: data,\n dataUpdatedAt: dataUpdatedAt,\n error: error,\n errorUpdatedAt: errorUpdatedAt,\n failureCount: state.fetchFailureCount,\n errorUpdateCount: state.errorUpdateCount,\n isFetched: state.dataUpdateCount > 0 || state.errorUpdateCount > 0,\n isFetchedAfterMount: state.dataUpdateCount > queryInitialState.dataUpdateCount || state.errorUpdateCount > queryInitialState.errorUpdateCount,\n isFetching: isFetching,\n isRefetching: isFetching && status !== 'loading',\n isLoadingError: status === 'error' && state.dataUpdatedAt === 0,\n isPlaceholderData: isPlaceholderData,\n isPreviousData: isPreviousData,\n isRefetchError: status === 'error' && state.dataUpdatedAt !== 0,\n isStale: isStale(query, options),\n refetch: this.refetch,\n remove: this.remove\n };\n return result;\n };\n\n _proto.shouldNotifyListeners = function shouldNotifyListeners(result, prevResult) {\n if (!prevResult) {\n return true;\n }\n\n var _this$options = this.options,\n notifyOnChangeProps = _this$options.notifyOnChangeProps,\n notifyOnChangePropsExclusions = _this$options.notifyOnChangePropsExclusions;\n\n if (!notifyOnChangeProps && !notifyOnChangePropsExclusions) {\n return true;\n }\n\n if (notifyOnChangeProps === 'tracked' && !this.trackedProps.length) {\n return true;\n }\n\n var includedProps = notifyOnChangeProps === 'tracked' ? this.trackedProps : notifyOnChangeProps;\n return Object.keys(result).some(function (key) {\n var typedKey = key;\n var changed = result[typedKey] !== prevResult[typedKey];\n var isIncluded = includedProps == null ? void 0 : includedProps.some(function (x) {\n return x === key;\n });\n var isExcluded = notifyOnChangePropsExclusions == null ? void 0 : notifyOnChangePropsExclusions.some(function (x) {\n return x === key;\n });\n return changed && !isExcluded && (!includedProps || isIncluded);\n });\n };\n\n _proto.updateResult = function updateResult(notifyOptions) {\n var prevResult = this.currentResult;\n this.currentResult = this.createResult(this.currentQuery, this.options);\n this.currentResultState = this.currentQuery.state;\n this.currentResultOptions = this.options; // Only notify if something has changed\n\n if (shallowEqualObjects(this.currentResult, prevResult)) {\n return;\n } // Determine which callbacks to trigger\n\n\n var defaultNotifyOptions = {\n cache: true\n };\n\n if ((notifyOptions == null ? void 0 : notifyOptions.listeners) !== false && this.shouldNotifyListeners(this.currentResult, prevResult)) {\n defaultNotifyOptions.listeners = true;\n }\n\n this.notify(_extends({}, defaultNotifyOptions, notifyOptions));\n };\n\n _proto.updateQuery = function updateQuery() {\n var query = this.client.getQueryCache().build(this.client, this.options);\n\n if (query === this.currentQuery) {\n return;\n }\n\n var prevQuery = this.currentQuery;\n this.currentQuery = query;\n this.currentQueryInitialState = query.state;\n this.previousQueryResult = this.currentResult;\n\n if (this.hasListeners()) {\n prevQuery == null ? void 0 : prevQuery.removeObserver(this);\n query.addObserver(this);\n }\n };\n\n _proto.onQueryUpdate = function onQueryUpdate(action) {\n var notifyOptions = {};\n\n if (action.type === 'success') {\n notifyOptions.onSuccess = true;\n } else if (action.type === 'error' && !isCancelledError(action.error)) {\n notifyOptions.onError = true;\n }\n\n this.updateResult(notifyOptions);\n\n if (this.hasListeners()) {\n this.updateTimers();\n }\n };\n\n _proto.notify = function notify(notifyOptions) {\n var _this8 = this;\n\n notifyManager.batch(function () {\n // First trigger the configuration callbacks\n if (notifyOptions.onSuccess) {\n _this8.options.onSuccess == null ? void 0 : _this8.options.onSuccess(_this8.currentResult.data);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(_this8.currentResult.data, null);\n } else if (notifyOptions.onError) {\n _this8.options.onError == null ? void 0 : _this8.options.onError(_this8.currentResult.error);\n _this8.options.onSettled == null ? void 0 : _this8.options.onSettled(undefined, _this8.currentResult.error);\n } // Then trigger the listeners\n\n\n if (notifyOptions.listeners) {\n _this8.listeners.forEach(function (listener) {\n listener(_this8.currentResult);\n });\n } // Then the cache listeners\n\n\n if (notifyOptions.cache) {\n _this8.client.getQueryCache().notify({\n query: _this8.currentQuery,\n type: 'observerResultsUpdated'\n });\n }\n });\n };\n\n return QueryObserver;\n}(Subscribable);\n\nfunction shouldLoadOnMount(query, options) {\n return options.enabled !== false && !query.state.dataUpdatedAt && !(query.state.status === 'error' && options.retryOnMount === false);\n}\n\nfunction shouldFetchOnMount(query, options) {\n return shouldLoadOnMount(query, options) || query.state.dataUpdatedAt > 0 && shouldFetchOn(query, options, options.refetchOnMount);\n}\n\nfunction shouldFetchOn(query, options, field) {\n if (options.enabled !== false) {\n var value = typeof field === 'function' ? field(query) : field;\n return value === 'always' || value !== false && isStale(query, options);\n }\n\n return false;\n}\n\nfunction shouldFetchOptionally(query, prevQuery, options, prevOptions) {\n return options.enabled !== false && (query !== prevQuery || prevOptions.enabled === false) && (!options.suspense || query.state.status !== 'error') && isStale(query, options);\n}\n\nfunction isStale(query, options) {\n return query.isStaleByTime(options.staleTime);\n}","import React from 'react'; // CONTEXT\n\nfunction createValue() {\n var _isReset = false;\n return {\n clearReset: function clearReset() {\n _isReset = false;\n },\n reset: function reset() {\n _isReset = true;\n },\n isReset: function isReset() {\n return _isReset;\n }\n };\n}\n\nvar QueryErrorResetBoundaryContext = /*#__PURE__*/React.createContext(createValue()); // HOOK\n\nexport var useQueryErrorResetBoundary = function useQueryErrorResetBoundary() {\n return React.useContext(QueryErrorResetBoundaryContext);\n}; // COMPONENT\n\nexport var QueryErrorResetBoundary = function QueryErrorResetBoundary(_ref) {\n var children = _ref.children;\n var value = React.useMemo(function () {\n return createValue();\n }, []);\n return /*#__PURE__*/React.createElement(QueryErrorResetBoundaryContext.Provider, {\n value: value\n }, typeof children === 'function' ? children(value) : children);\n};","import React from 'react';\nimport { notifyManager } from '../core/notifyManager';\nimport { useQueryErrorResetBoundary } from './QueryErrorResetBoundary';\nimport { useQueryClient } from './QueryClientProvider';\nimport { shouldThrowError } from './utils';\nexport function useBaseQuery(options, Observer) {\n var mountedRef = React.useRef(false);\n\n var _React$useState = React.useState(0),\n forceUpdate = _React$useState[1];\n\n var queryClient = useQueryClient();\n var errorResetBoundary = useQueryErrorResetBoundary();\n var defaultedOptions = queryClient.defaultQueryObserverOptions(options); // Make sure results are optimistically set in fetching state before subscribing or updating options\n\n defaultedOptions.optimisticResults = true; // Include callbacks in batch renders\n\n if (defaultedOptions.onError) {\n defaultedOptions.onError = notifyManager.batchCalls(defaultedOptions.onError);\n }\n\n if (defaultedOptions.onSuccess) {\n defaultedOptions.onSuccess = notifyManager.batchCalls(defaultedOptions.onSuccess);\n }\n\n if (defaultedOptions.onSettled) {\n defaultedOptions.onSettled = notifyManager.batchCalls(defaultedOptions.onSettled);\n }\n\n if (defaultedOptions.suspense) {\n // Always set stale time when using suspense to prevent\n // fetching again when directly mounting after suspending\n if (typeof defaultedOptions.staleTime !== 'number') {\n defaultedOptions.staleTime = 1000;\n } // Set cache time to 1 if the option has been set to 0\n // when using suspense to prevent infinite loop of fetches\n\n\n if (defaultedOptions.cacheTime === 0) {\n defaultedOptions.cacheTime = 1;\n }\n }\n\n if (defaultedOptions.suspense || defaultedOptions.useErrorBoundary) {\n // Prevent retrying failed query if the error boundary has not been reset yet\n if (!errorResetBoundary.isReset()) {\n defaultedOptions.retryOnMount = false;\n }\n }\n\n var _React$useState2 = React.useState(function () {\n return new Observer(queryClient, defaultedOptions);\n }),\n observer = _React$useState2[0];\n\n var result = observer.getOptimisticResult(defaultedOptions);\n React.useEffect(function () {\n mountedRef.current = true;\n errorResetBoundary.clearReset();\n var unsubscribe = observer.subscribe(notifyManager.batchCalls(function () {\n if (mountedRef.current) {\n forceUpdate(function (x) {\n return x + 1;\n });\n }\n })); // Update result to make sure we did not miss any query updates\n // between creating the observer and subscribing to it.\n\n observer.updateResult();\n return function () {\n mountedRef.current = false;\n unsubscribe();\n };\n }, [errorResetBoundary, observer]);\n React.useEffect(function () {\n // Do not notify on updates because of changes in the options because\n // these changes should already be reflected in the optimistic result.\n observer.setOptions(defaultedOptions, {\n listeners: false\n });\n }, [defaultedOptions, observer]); // Handle suspense\n\n if (defaultedOptions.suspense && result.isLoading) {\n throw observer.fetchOptimistic(defaultedOptions).then(function (_ref) {\n var data = _ref.data;\n defaultedOptions.onSuccess == null ? void 0 : defaultedOptions.onSuccess(data);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(data, null);\n }).catch(function (error) {\n errorResetBoundary.clearReset();\n defaultedOptions.onError == null ? void 0 : defaultedOptions.onError(error);\n defaultedOptions.onSettled == null ? void 0 : defaultedOptions.onSettled(undefined, error);\n });\n } // Handle error boundary\n\n\n if (result.isError && !errorResetBoundary.isReset() && !result.isFetching && shouldThrowError(defaultedOptions.suspense, defaultedOptions.useErrorBoundary, [result.error, observer.getCurrentQuery()])) {\n throw result.error;\n } // Handle result property usage tracking\n\n\n if (defaultedOptions.notifyOnChangeProps === 'tracked') {\n result = observer.trackResult(result, defaultedOptions);\n }\n\n return result;\n}","import { QueryObserver } from '../core';\nimport { parseQueryArgs } from '../core/utils';\nimport { useBaseQuery } from './useBaseQuery'; // HOOK\n\nexport function useQuery(arg1, arg2, arg3) {\n var parsedOptions = parseQueryArgs(arg1, arg2, arg3);\n return useBaseQuery(parsedOptions, QueryObserver);\n}","import React from 'react';\nexport var ReactReduxContext = /*#__PURE__*/React.createContext(null);\n\nif (process.env.NODE_ENV !== 'production') {\n ReactReduxContext.displayName = 'ReactRedux';\n}\n\nexport default ReactReduxContext;","// Default to a dummy \"batch\" implementation that just runs the callback\nfunction defaultNoopBatch(callback) {\n callback();\n}\n\nvar batch = defaultNoopBatch; // Allow injecting another batching function later\n\nexport var setBatch = function setBatch(newBatch) {\n return batch = newBatch;\n}; // Supply a getter just to skip dealing with ESM bindings\n\nexport var getBatch = function getBatch() {\n return batch;\n};","import { getBatch } from './batch'; // encapsulates the subscription logic for connecting a component to the redux store, as\n// well as nesting subscriptions of descendant components, so that we can ensure the\n// ancestor components re-render before descendants\n\nfunction createListenerCollection() {\n var batch = getBatch();\n var first = null;\n var last = null;\n return {\n clear: function clear() {\n first = null;\n last = null;\n },\n notify: function notify() {\n batch(function () {\n var listener = first;\n\n while (listener) {\n listener.callback();\n listener = listener.next;\n }\n });\n },\n get: function get() {\n var listeners = [];\n var listener = first;\n\n while (listener) {\n listeners.push(listener);\n listener = listener.next;\n }\n\n return listeners;\n },\n subscribe: function subscribe(callback) {\n var isSubscribed = true;\n var listener = last = {\n callback: callback,\n next: null,\n prev: last\n };\n\n if (listener.prev) {\n listener.prev.next = listener;\n } else {\n first = listener;\n }\n\n return function unsubscribe() {\n if (!isSubscribed || first === null) return;\n isSubscribed = false;\n\n if (listener.next) {\n listener.next.prev = listener.prev;\n } else {\n last = listener.prev;\n }\n\n if (listener.prev) {\n listener.prev.next = listener.next;\n } else {\n first = listener.next;\n }\n };\n }\n };\n}\n\nvar nullListeners = {\n notify: function notify() {},\n get: function get() {\n return [];\n }\n};\nexport function createSubscription(store, parentSub) {\n var unsubscribe;\n var listeners = nullListeners;\n\n function addNestedSub(listener) {\n trySubscribe();\n return listeners.subscribe(listener);\n }\n\n function notifyNestedSubs() {\n listeners.notify();\n }\n\n function handleChangeWrapper() {\n if (subscription.onStateChange) {\n subscription.onStateChange();\n }\n }\n\n function isSubscribed() {\n return Boolean(unsubscribe);\n }\n\n function trySubscribe() {\n if (!unsubscribe) {\n unsubscribe = parentSub ? parentSub.addNestedSub(handleChangeWrapper) : store.subscribe(handleChangeWrapper);\n listeners = createListenerCollection();\n }\n }\n\n function tryUnsubscribe() {\n if (unsubscribe) {\n unsubscribe();\n unsubscribe = undefined;\n listeners.clear();\n listeners = nullListeners;\n }\n }\n\n var subscription = {\n addNestedSub: addNestedSub,\n notifyNestedSubs: notifyNestedSubs,\n handleChangeWrapper: handleChangeWrapper,\n isSubscribed: isSubscribed,\n trySubscribe: trySubscribe,\n tryUnsubscribe: tryUnsubscribe,\n getListeners: function getListeners() {\n return listeners;\n }\n };\n return subscription;\n}","import { useEffect, useLayoutEffect } from 'react'; // React currently throws a warning when using useLayoutEffect on the server.\n// To get around it, we can conditionally useEffect on the server (no-op) and\n// useLayoutEffect in the browser. We need useLayoutEffect to ensure the store\n// subscription callback always has the selector from the latest render commit\n// available, otherwise a store update may happen between render and the effect,\n// which may cause missed updates; we also must ensure the store subscription\n// is created synchronously, otherwise a store update may occur before the\n// subscription is created and an inconsistent state may be observed\n\nexport var useIsomorphicLayoutEffect = typeof window !== 'undefined' && typeof window.document !== 'undefined' && typeof window.document.createElement !== 'undefined' ? useLayoutEffect : useEffect;","import React, { useMemo } from 'react';\nimport PropTypes from 'prop-types';\nimport { ReactReduxContext } from './Context';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\n\nfunction Provider(_ref) {\n var store = _ref.store,\n context = _ref.context,\n children = _ref.children;\n var contextValue = useMemo(function () {\n var subscription = createSubscription(store);\n return {\n store: store,\n subscription: subscription\n };\n }, [store]);\n var previousState = useMemo(function () {\n return store.getState();\n }, [store]);\n useIsomorphicLayoutEffect(function () {\n var subscription = contextValue.subscription;\n subscription.onStateChange = subscription.notifyNestedSubs;\n subscription.trySubscribe();\n\n if (previousState !== store.getState()) {\n subscription.notifyNestedSubs();\n }\n\n return function () {\n subscription.tryUnsubscribe();\n subscription.onStateChange = null;\n };\n }, [contextValue, previousState]);\n var Context = context || ReactReduxContext;\n return /*#__PURE__*/React.createElement(Context.Provider, {\n value: contextValue\n }, children);\n}\n\nif (process.env.NODE_ENV !== 'production') {\n Provider.propTypes = {\n store: PropTypes.shape({\n subscribe: PropTypes.func.isRequired,\n dispatch: PropTypes.func.isRequired,\n getState: PropTypes.func.isRequired\n }),\n context: PropTypes.object,\n children: PropTypes.any\n };\n}\n\nexport default Provider;","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\n/**\r\n * A hook to access the value of the `ReactReduxContext`. This is a low-level\r\n * hook that you should usually not need to call directly.\r\n *\r\n * @returns {any} the value of the `ReactReduxContext`\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useReduxContext } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const { store } = useReduxContext()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport function useReduxContext() {\n var contextValue = useContext(ReactReduxContext);\n\n if (process.env.NODE_ENV !== 'production' && !contextValue) {\n throw new Error('could not find react-redux context value; please ensure the component is wrapped in a ');\n }\n\n return contextValue;\n}","import { useContext } from 'react';\nimport { ReactReduxContext } from '../components/Context';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\n/**\r\n * Hook factory, which creates a `useStore` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useStore` hook bound to the specified context.\r\n */\n\nexport function createStoreHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useStore() {\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store;\n\n return store;\n };\n}\n/**\r\n * A hook to access the redux store.\r\n *\r\n * @returns {any} the redux store\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useStore } from 'react-redux'\r\n *\r\n * export const ExampleComponent = () => {\r\n * const store = useStore()\r\n * return
{store.getState()}
\r\n * }\r\n */\n\nexport var useStore = /*#__PURE__*/createStoreHook();","import { ReactReduxContext } from '../components/Context';\nimport { useStore as useDefaultStore, createStoreHook } from './useStore';\n/**\r\n * Hook factory, which creates a `useDispatch` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useDispatch` hook bound to the specified context.\r\n */\n\nexport function createDispatchHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useStore = context === ReactReduxContext ? useDefaultStore : createStoreHook(context);\n return function useDispatch() {\n var store = useStore();\n return store.dispatch;\n };\n}\n/**\r\n * A hook to access the redux `dispatch` function.\r\n *\r\n * @returns {any|function} redux store's `dispatch` function\r\n *\r\n * @example\r\n *\r\n * import React, { useCallback } from 'react'\r\n * import { useDispatch } from 'react-redux'\r\n *\r\n * export const CounterComponent = ({ value }) => {\r\n * const dispatch = useDispatch()\r\n * const increaseCounter = useCallback(() => dispatch({ type: 'increase-counter' }), [])\r\n * return (\r\n *
\r\n * {value}\r\n * \r\n *
\r\n * )\r\n * }\r\n */\n\nexport var useDispatch = /*#__PURE__*/createDispatchHook();","import { useReducer, useRef, useMemo, useContext, useDebugValue } from 'react';\nimport { useReduxContext as useDefaultReduxContext } from './useReduxContext';\nimport { createSubscription } from '../utils/Subscription';\nimport { useIsomorphicLayoutEffect } from '../utils/useIsomorphicLayoutEffect';\nimport { ReactReduxContext } from '../components/Context';\n\nvar refEquality = function refEquality(a, b) {\n return a === b;\n};\n\nfunction useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub) {\n var _useReducer = useReducer(function (s) {\n return s + 1;\n }, 0),\n forceRender = _useReducer[1];\n\n var subscription = useMemo(function () {\n return createSubscription(store, contextSub);\n }, [store, contextSub]);\n var latestSubscriptionCallbackError = useRef();\n var latestSelector = useRef();\n var latestStoreState = useRef();\n var latestSelectedState = useRef();\n var storeState = store.getState();\n var selectedState;\n\n try {\n if (selector !== latestSelector.current || storeState !== latestStoreState.current || latestSubscriptionCallbackError.current) {\n var newSelectedState = selector(storeState); // ensure latest selected state is reused so that a custom equality function can result in identical references\n\n if (latestSelectedState.current === undefined || !equalityFn(newSelectedState, latestSelectedState.current)) {\n selectedState = newSelectedState;\n } else {\n selectedState = latestSelectedState.current;\n }\n } else {\n selectedState = latestSelectedState.current;\n }\n } catch (err) {\n if (latestSubscriptionCallbackError.current) {\n err.message += \"\\nThe error may be correlated with this previous error:\\n\" + latestSubscriptionCallbackError.current.stack + \"\\n\\n\";\n }\n\n throw err;\n }\n\n useIsomorphicLayoutEffect(function () {\n latestSelector.current = selector;\n latestStoreState.current = storeState;\n latestSelectedState.current = selectedState;\n latestSubscriptionCallbackError.current = undefined;\n });\n useIsomorphicLayoutEffect(function () {\n function checkForUpdates() {\n try {\n var newStoreState = store.getState(); // Avoid calling selector multiple times if the store's state has not changed\n\n if (newStoreState === latestStoreState.current) {\n return;\n }\n\n var _newSelectedState = latestSelector.current(newStoreState);\n\n if (equalityFn(_newSelectedState, latestSelectedState.current)) {\n return;\n }\n\n latestSelectedState.current = _newSelectedState;\n latestStoreState.current = newStoreState;\n } catch (err) {\n // we ignore all errors here, since when the component\n // is re-rendered, the selectors are called again, and\n // will throw again, if neither props nor store state\n // changed\n latestSubscriptionCallbackError.current = err;\n }\n\n forceRender();\n }\n\n subscription.onStateChange = checkForUpdates;\n subscription.trySubscribe();\n checkForUpdates();\n return function () {\n return subscription.tryUnsubscribe();\n };\n }, [store, subscription]);\n return selectedState;\n}\n/**\r\n * Hook factory, which creates a `useSelector` hook bound to a given context.\r\n *\r\n * @param {React.Context} [context=ReactReduxContext] Context passed to your ``.\r\n * @returns {Function} A `useSelector` hook bound to the specified context.\r\n */\n\n\nexport function createSelectorHook(context) {\n if (context === void 0) {\n context = ReactReduxContext;\n }\n\n var useReduxContext = context === ReactReduxContext ? useDefaultReduxContext : function () {\n return useContext(context);\n };\n return function useSelector(selector, equalityFn) {\n if (equalityFn === void 0) {\n equalityFn = refEquality;\n }\n\n if (process.env.NODE_ENV !== 'production') {\n if (!selector) {\n throw new Error(\"You must pass a selector to useSelector\");\n }\n\n if (typeof selector !== 'function') {\n throw new Error(\"You must pass a function as a selector to useSelector\");\n }\n\n if (typeof equalityFn !== 'function') {\n throw new Error(\"You must pass a function as an equality function to useSelector\");\n }\n }\n\n var _useReduxContext = useReduxContext(),\n store = _useReduxContext.store,\n contextSub = _useReduxContext.subscription;\n\n var selectedState = useSelectorWithStoreAndSubscription(selector, equalityFn, store, contextSub);\n useDebugValue(selectedState);\n return selectedState;\n };\n}\n/**\r\n * A hook to access the redux store's state. This hook takes a selector function\r\n * as an argument. The selector is called with the store state.\r\n *\r\n * This hook takes an optional equality comparison function as the second parameter\r\n * that allows you to customize the way the selected state is compared to determine\r\n * whether the component needs to be re-rendered.\r\n *\r\n * @param {Function} selector the selector function\r\n * @param {Function=} equalityFn the function that will be used to determine equality\r\n *\r\n * @returns {any} the selected state\r\n *\r\n * @example\r\n *\r\n * import React from 'react'\r\n * import { useSelector } from 'react-redux'\r\n *\r\n * export const CounterComponent = () => {\r\n * const counter = useSelector(state => state.counter)\r\n * return
{counter}
\r\n * }\r\n */\n\nexport var useSelector = /*#__PURE__*/createSelectorHook();","export * from './exports';\nimport { unstable_batchedUpdates as batch } from './utils/reactBatchedUpdates';\nimport { setBatch } from './utils/batch'; // Enable batched updates in our subscriptions for use\n// with standard React renderers (ReactDOM, React Native)\n\nsetBatch(batch);\nexport { batch };","/** @license React v17.0.2\n * react-is.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var b=60103,c=60106,d=60107,e=60108,f=60114,g=60109,h=60110,k=60112,l=60113,m=60120,n=60115,p=60116,q=60121,r=60122,u=60117,v=60129,w=60131;\nif(\"function\"===typeof Symbol&&Symbol.for){var x=Symbol.for;b=x(\"react.element\");c=x(\"react.portal\");d=x(\"react.fragment\");e=x(\"react.strict_mode\");f=x(\"react.profiler\");g=x(\"react.provider\");h=x(\"react.context\");k=x(\"react.forward_ref\");l=x(\"react.suspense\");m=x(\"react.suspense_list\");n=x(\"react.memo\");p=x(\"react.lazy\");q=x(\"react.block\");r=x(\"react.server.block\");u=x(\"react.fundamental\");v=x(\"react.debug_trace_mode\");w=x(\"react.legacy_hidden\")}\nfunction y(a){if(\"object\"===typeof a&&null!==a){var t=a.$$typeof;switch(t){case b:switch(a=a.type,a){case d:case f:case e:case l:case m:return a;default:switch(a=a&&a.$$typeof,a){case h:case k:case p:case n:case g:return a;default:return t}}case c:return t}}}var z=g,A=b,B=k,C=d,D=p,E=n,F=c,G=f,H=e,I=l;exports.ContextConsumer=h;exports.ContextProvider=z;exports.Element=A;exports.ForwardRef=B;exports.Fragment=C;exports.Lazy=D;exports.Memo=E;exports.Portal=F;exports.Profiler=G;exports.StrictMode=H;\nexports.Suspense=I;exports.isAsyncMode=function(){return!1};exports.isConcurrentMode=function(){return!1};exports.isContextConsumer=function(a){return y(a)===h};exports.isContextProvider=function(a){return y(a)===g};exports.isElement=function(a){return\"object\"===typeof a&&null!==a&&a.$$typeof===b};exports.isForwardRef=function(a){return y(a)===k};exports.isFragment=function(a){return y(a)===d};exports.isLazy=function(a){return y(a)===p};exports.isMemo=function(a){return y(a)===n};\nexports.isPortal=function(a){return y(a)===c};exports.isProfiler=function(a){return y(a)===f};exports.isStrictMode=function(a){return y(a)===e};exports.isSuspense=function(a){return y(a)===l};exports.isValidElementType=function(a){return\"string\"===typeof a||\"function\"===typeof a||a===d||a===f||a===v||a===e||a===l||a===m||a===w||\"object\"===typeof a&&null!==a&&(a.$$typeof===p||a.$$typeof===n||a.$$typeof===g||a.$$typeof===h||a.$$typeof===k||a.$$typeof===u||a.$$typeof===q||a[0]===r)?!0:!1};\nexports.typeOf=y;\n","'use strict';\n\nif (process.env.NODE_ENV === 'production') {\n module.exports = require('./cjs/react-is.production.min.js');\n} else {\n module.exports = require('./cjs/react-is.development.js');\n}\n","/**\r\n * A collection of shims that provide minimal functionality of the ES6 collections.\r\n *\r\n * These implementations are not meant to be used outside of the ResizeObserver\r\n * modules as they cover only a limited range of use cases.\r\n */\r\n/* eslint-disable require-jsdoc, valid-jsdoc */\r\nvar MapShim = (function () {\r\n if (typeof Map !== 'undefined') {\r\n return Map;\r\n }\r\n /**\r\n * Returns index in provided array that matches the specified key.\r\n *\r\n * @param {Array} arr\r\n * @param {*} key\r\n * @returns {number}\r\n */\r\n function getIndex(arr, key) {\r\n var result = -1;\r\n arr.some(function (entry, index) {\r\n if (entry[0] === key) {\r\n result = index;\r\n return true;\r\n }\r\n return false;\r\n });\r\n return result;\r\n }\r\n return /** @class */ (function () {\r\n function class_1() {\r\n this.__entries__ = [];\r\n }\r\n Object.defineProperty(class_1.prototype, \"size\", {\r\n /**\r\n * @returns {boolean}\r\n */\r\n get: function () {\r\n return this.__entries__.length;\r\n },\r\n enumerable: true,\r\n configurable: true\r\n });\r\n /**\r\n * @param {*} key\r\n * @returns {*}\r\n */\r\n class_1.prototype.get = function (key) {\r\n var index = getIndex(this.__entries__, key);\r\n var entry = this.__entries__[index];\r\n return entry && entry[1];\r\n };\r\n /**\r\n * @param {*} key\r\n * @param {*} value\r\n * @returns {void}\r\n */\r\n class_1.prototype.set = function (key, value) {\r\n var index = getIndex(this.__entries__, key);\r\n if (~index) {\r\n this.__entries__[index][1] = value;\r\n }\r\n else {\r\n this.__entries__.push([key, value]);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.delete = function (key) {\r\n var entries = this.__entries__;\r\n var index = getIndex(entries, key);\r\n if (~index) {\r\n entries.splice(index, 1);\r\n }\r\n };\r\n /**\r\n * @param {*} key\r\n * @returns {void}\r\n */\r\n class_1.prototype.has = function (key) {\r\n return !!~getIndex(this.__entries__, key);\r\n };\r\n /**\r\n * @returns {void}\r\n */\r\n class_1.prototype.clear = function () {\r\n this.__entries__.splice(0);\r\n };\r\n /**\r\n * @param {Function} callback\r\n * @param {*} [ctx=null]\r\n * @returns {void}\r\n */\r\n class_1.prototype.forEach = function (callback, ctx) {\r\n if (ctx === void 0) { ctx = null; }\r\n for (var _i = 0, _a = this.__entries__; _i < _a.length; _i++) {\r\n var entry = _a[_i];\r\n callback.call(ctx, entry[1], entry[0]);\r\n }\r\n };\r\n return class_1;\r\n }());\r\n})();\n\n/**\r\n * Detects whether window and document objects are available in current environment.\r\n */\r\nvar isBrowser = typeof window !== 'undefined' && typeof document !== 'undefined' && window.document === document;\n\n// Returns global object of a current environment.\r\nvar global$1 = (function () {\r\n if (typeof global !== 'undefined' && global.Math === Math) {\r\n return global;\r\n }\r\n if (typeof self !== 'undefined' && self.Math === Math) {\r\n return self;\r\n }\r\n if (typeof window !== 'undefined' && window.Math === Math) {\r\n return window;\r\n }\r\n // eslint-disable-next-line no-new-func\r\n return Function('return this')();\r\n})();\n\n/**\r\n * A shim for the requestAnimationFrame which falls back to the setTimeout if\r\n * first one is not supported.\r\n *\r\n * @returns {number} Requests' identifier.\r\n */\r\nvar requestAnimationFrame$1 = (function () {\r\n if (typeof requestAnimationFrame === 'function') {\r\n // It's required to use a bounded function because IE sometimes throws\r\n // an \"Invalid calling object\" error if rAF is invoked without the global\r\n // object on the left hand side.\r\n return requestAnimationFrame.bind(global$1);\r\n }\r\n return function (callback) { return setTimeout(function () { return callback(Date.now()); }, 1000 / 60); };\r\n})();\n\n// Defines minimum timeout before adding a trailing call.\r\nvar trailingTimeout = 2;\r\n/**\r\n * Creates a wrapper function which ensures that provided callback will be\r\n * invoked only once during the specified delay period.\r\n *\r\n * @param {Function} callback - Function to be invoked after the delay period.\r\n * @param {number} delay - Delay after which to invoke callback.\r\n * @returns {Function}\r\n */\r\nfunction throttle (callback, delay) {\r\n var leadingCall = false, trailingCall = false, lastCallTime = 0;\r\n /**\r\n * Invokes the original callback function and schedules new invocation if\r\n * the \"proxy\" was called during current request.\r\n *\r\n * @returns {void}\r\n */\r\n function resolvePending() {\r\n if (leadingCall) {\r\n leadingCall = false;\r\n callback();\r\n }\r\n if (trailingCall) {\r\n proxy();\r\n }\r\n }\r\n /**\r\n * Callback invoked after the specified delay. It will further postpone\r\n * invocation of the original function delegating it to the\r\n * requestAnimationFrame.\r\n *\r\n * @returns {void}\r\n */\r\n function timeoutCallback() {\r\n requestAnimationFrame$1(resolvePending);\r\n }\r\n /**\r\n * Schedules invocation of the original function.\r\n *\r\n * @returns {void}\r\n */\r\n function proxy() {\r\n var timeStamp = Date.now();\r\n if (leadingCall) {\r\n // Reject immediately following calls.\r\n if (timeStamp - lastCallTime < trailingTimeout) {\r\n return;\r\n }\r\n // Schedule new call to be in invoked when the pending one is resolved.\r\n // This is important for \"transitions\" which never actually start\r\n // immediately so there is a chance that we might miss one if change\r\n // happens amids the pending invocation.\r\n trailingCall = true;\r\n }\r\n else {\r\n leadingCall = true;\r\n trailingCall = false;\r\n setTimeout(timeoutCallback, delay);\r\n }\r\n lastCallTime = timeStamp;\r\n }\r\n return proxy;\r\n}\n\n// Minimum delay before invoking the update of observers.\r\nvar REFRESH_DELAY = 20;\r\n// A list of substrings of CSS properties used to find transition events that\r\n// might affect dimensions of observed elements.\r\nvar transitionKeys = ['top', 'right', 'bottom', 'left', 'width', 'height', 'size', 'weight'];\r\n// Check if MutationObserver is available.\r\nvar mutationObserverSupported = typeof MutationObserver !== 'undefined';\r\n/**\r\n * Singleton controller class which handles updates of ResizeObserver instances.\r\n */\r\nvar ResizeObserverController = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserverController.\r\n *\r\n * @private\r\n */\r\n function ResizeObserverController() {\r\n /**\r\n * Indicates whether DOM listeners have been added.\r\n *\r\n * @private {boolean}\r\n */\r\n this.connected_ = false;\r\n /**\r\n * Tells that controller has subscribed for Mutation Events.\r\n *\r\n * @private {boolean}\r\n */\r\n this.mutationEventsAdded_ = false;\r\n /**\r\n * Keeps reference to the instance of MutationObserver.\r\n *\r\n * @private {MutationObserver}\r\n */\r\n this.mutationsObserver_ = null;\r\n /**\r\n * A list of connected observers.\r\n *\r\n * @private {Array}\r\n */\r\n this.observers_ = [];\r\n this.onTransitionEnd_ = this.onTransitionEnd_.bind(this);\r\n this.refresh = throttle(this.refresh.bind(this), REFRESH_DELAY);\r\n }\r\n /**\r\n * Adds observer to observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be added.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.addObserver = function (observer) {\r\n if (!~this.observers_.indexOf(observer)) {\r\n this.observers_.push(observer);\r\n }\r\n // Add listeners if they haven't been added yet.\r\n if (!this.connected_) {\r\n this.connect_();\r\n }\r\n };\r\n /**\r\n * Removes observer from observers list.\r\n *\r\n * @param {ResizeObserverSPI} observer - Observer to be removed.\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.removeObserver = function (observer) {\r\n var observers = this.observers_;\r\n var index = observers.indexOf(observer);\r\n // Remove observer if it's present in registry.\r\n if (~index) {\r\n observers.splice(index, 1);\r\n }\r\n // Remove listeners if controller has no connected observers.\r\n if (!observers.length && this.connected_) {\r\n this.disconnect_();\r\n }\r\n };\r\n /**\r\n * Invokes the update of observers. It will continue running updates insofar\r\n * it detects changes.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.refresh = function () {\r\n var changesDetected = this.updateObservers_();\r\n // Continue running updates if changes have been detected as there might\r\n // be future ones caused by CSS transitions.\r\n if (changesDetected) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Updates every observer from observers list and notifies them of queued\r\n * entries.\r\n *\r\n * @private\r\n * @returns {boolean} Returns \"true\" if any observer has detected changes in\r\n * dimensions of it's elements.\r\n */\r\n ResizeObserverController.prototype.updateObservers_ = function () {\r\n // Collect observers that have active observations.\r\n var activeObservers = this.observers_.filter(function (observer) {\r\n return observer.gatherActive(), observer.hasActive();\r\n });\r\n // Deliver notifications in a separate cycle in order to avoid any\r\n // collisions between observers, e.g. when multiple instances of\r\n // ResizeObserver are tracking the same element and the callback of one\r\n // of them changes content dimensions of the observed target. Sometimes\r\n // this may result in notifications being blocked for the rest of observers.\r\n activeObservers.forEach(function (observer) { return observer.broadcastActive(); });\r\n return activeObservers.length > 0;\r\n };\r\n /**\r\n * Initializes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.connect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already added.\r\n if (!isBrowser || this.connected_) {\r\n return;\r\n }\r\n // Subscription to the \"Transitionend\" event is used as a workaround for\r\n // delayed transitions. This way it's possible to capture at least the\r\n // final state of an element.\r\n document.addEventListener('transitionend', this.onTransitionEnd_);\r\n window.addEventListener('resize', this.refresh);\r\n if (mutationObserverSupported) {\r\n this.mutationsObserver_ = new MutationObserver(this.refresh);\r\n this.mutationsObserver_.observe(document, {\r\n attributes: true,\r\n childList: true,\r\n characterData: true,\r\n subtree: true\r\n });\r\n }\r\n else {\r\n document.addEventListener('DOMSubtreeModified', this.refresh);\r\n this.mutationEventsAdded_ = true;\r\n }\r\n this.connected_ = true;\r\n };\r\n /**\r\n * Removes DOM listeners.\r\n *\r\n * @private\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.disconnect_ = function () {\r\n // Do nothing if running in a non-browser environment or if listeners\r\n // have been already removed.\r\n if (!isBrowser || !this.connected_) {\r\n return;\r\n }\r\n document.removeEventListener('transitionend', this.onTransitionEnd_);\r\n window.removeEventListener('resize', this.refresh);\r\n if (this.mutationsObserver_) {\r\n this.mutationsObserver_.disconnect();\r\n }\r\n if (this.mutationEventsAdded_) {\r\n document.removeEventListener('DOMSubtreeModified', this.refresh);\r\n }\r\n this.mutationsObserver_ = null;\r\n this.mutationEventsAdded_ = false;\r\n this.connected_ = false;\r\n };\r\n /**\r\n * \"Transitionend\" event handler.\r\n *\r\n * @private\r\n * @param {TransitionEvent} event\r\n * @returns {void}\r\n */\r\n ResizeObserverController.prototype.onTransitionEnd_ = function (_a) {\r\n var _b = _a.propertyName, propertyName = _b === void 0 ? '' : _b;\r\n // Detect whether transition may affect dimensions of an element.\r\n var isReflowProperty = transitionKeys.some(function (key) {\r\n return !!~propertyName.indexOf(key);\r\n });\r\n if (isReflowProperty) {\r\n this.refresh();\r\n }\r\n };\r\n /**\r\n * Returns instance of the ResizeObserverController.\r\n *\r\n * @returns {ResizeObserverController}\r\n */\r\n ResizeObserverController.getInstance = function () {\r\n if (!this.instance_) {\r\n this.instance_ = new ResizeObserverController();\r\n }\r\n return this.instance_;\r\n };\r\n /**\r\n * Holds reference to the controller's instance.\r\n *\r\n * @private {ResizeObserverController}\r\n */\r\n ResizeObserverController.instance_ = null;\r\n return ResizeObserverController;\r\n}());\n\n/**\r\n * Defines non-writable/enumerable properties of the provided target object.\r\n *\r\n * @param {Object} target - Object for which to define properties.\r\n * @param {Object} props - Properties to be defined.\r\n * @returns {Object} Target object.\r\n */\r\nvar defineConfigurable = (function (target, props) {\r\n for (var _i = 0, _a = Object.keys(props); _i < _a.length; _i++) {\r\n var key = _a[_i];\r\n Object.defineProperty(target, key, {\r\n value: props[key],\r\n enumerable: false,\r\n writable: false,\r\n configurable: true\r\n });\r\n }\r\n return target;\r\n});\n\n/**\r\n * Returns the global object associated with provided element.\r\n *\r\n * @param {Object} target\r\n * @returns {Object}\r\n */\r\nvar getWindowOf = (function (target) {\r\n // Assume that the element is an instance of Node, which means that it\r\n // has the \"ownerDocument\" property from which we can retrieve a\r\n // corresponding global object.\r\n var ownerGlobal = target && target.ownerDocument && target.ownerDocument.defaultView;\r\n // Return the local global object if it's not possible extract one from\r\n // provided element.\r\n return ownerGlobal || global$1;\r\n});\n\n// Placeholder of an empty content rectangle.\r\nvar emptyRect = createRectInit(0, 0, 0, 0);\r\n/**\r\n * Converts provided string to a number.\r\n *\r\n * @param {number|string} value\r\n * @returns {number}\r\n */\r\nfunction toFloat(value) {\r\n return parseFloat(value) || 0;\r\n}\r\n/**\r\n * Extracts borders size from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @param {...string} positions - Borders positions (top, right, ...)\r\n * @returns {number}\r\n */\r\nfunction getBordersSize(styles) {\r\n var positions = [];\r\n for (var _i = 1; _i < arguments.length; _i++) {\r\n positions[_i - 1] = arguments[_i];\r\n }\r\n return positions.reduce(function (size, position) {\r\n var value = styles['border-' + position + '-width'];\r\n return size + toFloat(value);\r\n }, 0);\r\n}\r\n/**\r\n * Extracts paddings sizes from provided styles.\r\n *\r\n * @param {CSSStyleDeclaration} styles\r\n * @returns {Object} Paddings box.\r\n */\r\nfunction getPaddings(styles) {\r\n var positions = ['top', 'right', 'bottom', 'left'];\r\n var paddings = {};\r\n for (var _i = 0, positions_1 = positions; _i < positions_1.length; _i++) {\r\n var position = positions_1[_i];\r\n var value = styles['padding-' + position];\r\n paddings[position] = toFloat(value);\r\n }\r\n return paddings;\r\n}\r\n/**\r\n * Calculates content rectangle of provided SVG element.\r\n *\r\n * @param {SVGGraphicsElement} target - Element content rectangle of which needs\r\n * to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getSVGContentRect(target) {\r\n var bbox = target.getBBox();\r\n return createRectInit(0, 0, bbox.width, bbox.height);\r\n}\r\n/**\r\n * Calculates content rectangle of provided HTMLElement.\r\n *\r\n * @param {HTMLElement} target - Element for which to calculate the content rectangle.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getHTMLElementContentRect(target) {\r\n // Client width & height properties can't be\r\n // used exclusively as they provide rounded values.\r\n var clientWidth = target.clientWidth, clientHeight = target.clientHeight;\r\n // By this condition we can catch all non-replaced inline, hidden and\r\n // detached elements. Though elements with width & height properties less\r\n // than 0.5 will be discarded as well.\r\n //\r\n // Without it we would need to implement separate methods for each of\r\n // those cases and it's not possible to perform a precise and performance\r\n // effective test for hidden elements. E.g. even jQuery's ':visible' filter\r\n // gives wrong results for elements with width & height less than 0.5.\r\n if (!clientWidth && !clientHeight) {\r\n return emptyRect;\r\n }\r\n var styles = getWindowOf(target).getComputedStyle(target);\r\n var paddings = getPaddings(styles);\r\n var horizPad = paddings.left + paddings.right;\r\n var vertPad = paddings.top + paddings.bottom;\r\n // Computed styles of width & height are being used because they are the\r\n // only dimensions available to JS that contain non-rounded values. It could\r\n // be possible to utilize the getBoundingClientRect if only it's data wasn't\r\n // affected by CSS transformations let alone paddings, borders and scroll bars.\r\n var width = toFloat(styles.width), height = toFloat(styles.height);\r\n // Width & height include paddings and borders when the 'border-box' box\r\n // model is applied (except for IE).\r\n if (styles.boxSizing === 'border-box') {\r\n // Following conditions are required to handle Internet Explorer which\r\n // doesn't include paddings and borders to computed CSS dimensions.\r\n //\r\n // We can say that if CSS dimensions + paddings are equal to the \"client\"\r\n // properties then it's either IE, and thus we don't need to subtract\r\n // anything, or an element merely doesn't have paddings/borders styles.\r\n if (Math.round(width + horizPad) !== clientWidth) {\r\n width -= getBordersSize(styles, 'left', 'right') + horizPad;\r\n }\r\n if (Math.round(height + vertPad) !== clientHeight) {\r\n height -= getBordersSize(styles, 'top', 'bottom') + vertPad;\r\n }\r\n }\r\n // Following steps can't be applied to the document's root element as its\r\n // client[Width/Height] properties represent viewport area of the window.\r\n // Besides, it's as well not necessary as the itself neither has\r\n // rendered scroll bars nor it can be clipped.\r\n if (!isDocumentElement(target)) {\r\n // In some browsers (only in Firefox, actually) CSS width & height\r\n // include scroll bars size which can be removed at this step as scroll\r\n // bars are the only difference between rounded dimensions + paddings\r\n // and \"client\" properties, though that is not always true in Chrome.\r\n var vertScrollbar = Math.round(width + horizPad) - clientWidth;\r\n var horizScrollbar = Math.round(height + vertPad) - clientHeight;\r\n // Chrome has a rather weird rounding of \"client\" properties.\r\n // E.g. for an element with content width of 314.2px it sometimes gives\r\n // the client width of 315px and for the width of 314.7px it may give\r\n // 314px. And it doesn't happen all the time. So just ignore this delta\r\n // as a non-relevant.\r\n if (Math.abs(vertScrollbar) !== 1) {\r\n width -= vertScrollbar;\r\n }\r\n if (Math.abs(horizScrollbar) !== 1) {\r\n height -= horizScrollbar;\r\n }\r\n }\r\n return createRectInit(paddings.left, paddings.top, width, height);\r\n}\r\n/**\r\n * Checks whether provided element is an instance of the SVGGraphicsElement.\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nvar isSVGGraphicsElement = (function () {\r\n // Some browsers, namely IE and Edge, don't have the SVGGraphicsElement\r\n // interface.\r\n if (typeof SVGGraphicsElement !== 'undefined') {\r\n return function (target) { return target instanceof getWindowOf(target).SVGGraphicsElement; };\r\n }\r\n // If it's so, then check that element is at least an instance of the\r\n // SVGElement and that it has the \"getBBox\" method.\r\n // eslint-disable-next-line no-extra-parens\r\n return function (target) { return (target instanceof getWindowOf(target).SVGElement &&\r\n typeof target.getBBox === 'function'); };\r\n})();\r\n/**\r\n * Checks whether provided element is a document element ().\r\n *\r\n * @param {Element} target - Element to be checked.\r\n * @returns {boolean}\r\n */\r\nfunction isDocumentElement(target) {\r\n return target === getWindowOf(target).document.documentElement;\r\n}\r\n/**\r\n * Calculates an appropriate content rectangle for provided html or svg element.\r\n *\r\n * @param {Element} target - Element content rectangle of which needs to be calculated.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction getContentRect(target) {\r\n if (!isBrowser) {\r\n return emptyRect;\r\n }\r\n if (isSVGGraphicsElement(target)) {\r\n return getSVGContentRect(target);\r\n }\r\n return getHTMLElementContentRect(target);\r\n}\r\n/**\r\n * Creates rectangle with an interface of the DOMRectReadOnly.\r\n * Spec: https://drafts.fxtf.org/geometry/#domrectreadonly\r\n *\r\n * @param {DOMRectInit} rectInit - Object with rectangle's x/y coordinates and dimensions.\r\n * @returns {DOMRectReadOnly}\r\n */\r\nfunction createReadOnlyRect(_a) {\r\n var x = _a.x, y = _a.y, width = _a.width, height = _a.height;\r\n // If DOMRectReadOnly is available use it as a prototype for the rectangle.\r\n var Constr = typeof DOMRectReadOnly !== 'undefined' ? DOMRectReadOnly : Object;\r\n var rect = Object.create(Constr.prototype);\r\n // Rectangle's properties are not writable and non-enumerable.\r\n defineConfigurable(rect, {\r\n x: x, y: y, width: width, height: height,\r\n top: y,\r\n right: x + width,\r\n bottom: height + y,\r\n left: x\r\n });\r\n return rect;\r\n}\r\n/**\r\n * Creates DOMRectInit object based on the provided dimensions and the x/y coordinates.\r\n * Spec: https://drafts.fxtf.org/geometry/#dictdef-domrectinit\r\n *\r\n * @param {number} x - X coordinate.\r\n * @param {number} y - Y coordinate.\r\n * @param {number} width - Rectangle's width.\r\n * @param {number} height - Rectangle's height.\r\n * @returns {DOMRectInit}\r\n */\r\nfunction createRectInit(x, y, width, height) {\r\n return { x: x, y: y, width: width, height: height };\r\n}\n\n/**\r\n * Class that is responsible for computations of the content rectangle of\r\n * provided DOM element and for keeping track of it's changes.\r\n */\r\nvar ResizeObservation = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObservation.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n */\r\n function ResizeObservation(target) {\r\n /**\r\n * Broadcasted width of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastWidth = 0;\r\n /**\r\n * Broadcasted height of content rectangle.\r\n *\r\n * @type {number}\r\n */\r\n this.broadcastHeight = 0;\r\n /**\r\n * Reference to the last observed content rectangle.\r\n *\r\n * @private {DOMRectInit}\r\n */\r\n this.contentRect_ = createRectInit(0, 0, 0, 0);\r\n this.target = target;\r\n }\r\n /**\r\n * Updates content rectangle and tells whether it's width or height properties\r\n * have changed since the last broadcast.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObservation.prototype.isActive = function () {\r\n var rect = getContentRect(this.target);\r\n this.contentRect_ = rect;\r\n return (rect.width !== this.broadcastWidth ||\r\n rect.height !== this.broadcastHeight);\r\n };\r\n /**\r\n * Updates 'broadcastWidth' and 'broadcastHeight' properties with a data\r\n * from the corresponding properties of the last observed content rectangle.\r\n *\r\n * @returns {DOMRectInit} Last observed content rectangle.\r\n */\r\n ResizeObservation.prototype.broadcastRect = function () {\r\n var rect = this.contentRect_;\r\n this.broadcastWidth = rect.width;\r\n this.broadcastHeight = rect.height;\r\n return rect;\r\n };\r\n return ResizeObservation;\r\n}());\n\nvar ResizeObserverEntry = /** @class */ (function () {\r\n /**\r\n * Creates an instance of ResizeObserverEntry.\r\n *\r\n * @param {Element} target - Element that is being observed.\r\n * @param {DOMRectInit} rectInit - Data of the element's content rectangle.\r\n */\r\n function ResizeObserverEntry(target, rectInit) {\r\n var contentRect = createReadOnlyRect(rectInit);\r\n // According to the specification following properties are not writable\r\n // and are also not enumerable in the native implementation.\r\n //\r\n // Property accessors are not being used as they'd require to define a\r\n // private WeakMap storage which may cause memory leaks in browsers that\r\n // don't support this type of collections.\r\n defineConfigurable(this, { target: target, contentRect: contentRect });\r\n }\r\n return ResizeObserverEntry;\r\n}());\n\nvar ResizeObserverSPI = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback function that is invoked\r\n * when one of the observed elements changes it's content dimensions.\r\n * @param {ResizeObserverController} controller - Controller instance which\r\n * is responsible for the updates of observer.\r\n * @param {ResizeObserver} callbackCtx - Reference to the public\r\n * ResizeObserver instance which will be passed to callback function.\r\n */\r\n function ResizeObserverSPI(callback, controller, callbackCtx) {\r\n /**\r\n * Collection of resize observations that have detected changes in dimensions\r\n * of elements.\r\n *\r\n * @private {Array}\r\n */\r\n this.activeObservations_ = [];\r\n /**\r\n * Registry of the ResizeObservation instances.\r\n *\r\n * @private {Map}\r\n */\r\n this.observations_ = new MapShim();\r\n if (typeof callback !== 'function') {\r\n throw new TypeError('The callback provided as parameter 1 is not a function.');\r\n }\r\n this.callback_ = callback;\r\n this.controller_ = controller;\r\n this.callbackCtx_ = callbackCtx;\r\n }\r\n /**\r\n * Starts observing provided element.\r\n *\r\n * @param {Element} target - Element to be observed.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.observe = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is already being observed.\r\n if (observations.has(target)) {\r\n return;\r\n }\r\n observations.set(target, new ResizeObservation(target));\r\n this.controller_.addObserver(this);\r\n // Force the update of observations.\r\n this.controller_.refresh();\r\n };\r\n /**\r\n * Stops observing provided element.\r\n *\r\n * @param {Element} target - Element to stop observing.\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.unobserve = function (target) {\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n // Do nothing if current environment doesn't have the Element interface.\r\n if (typeof Element === 'undefined' || !(Element instanceof Object)) {\r\n return;\r\n }\r\n if (!(target instanceof getWindowOf(target).Element)) {\r\n throw new TypeError('parameter 1 is not of type \"Element\".');\r\n }\r\n var observations = this.observations_;\r\n // Do nothing if element is not being observed.\r\n if (!observations.has(target)) {\r\n return;\r\n }\r\n observations.delete(target);\r\n if (!observations.size) {\r\n this.controller_.removeObserver(this);\r\n }\r\n };\r\n /**\r\n * Stops observing all elements.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.disconnect = function () {\r\n this.clearActive();\r\n this.observations_.clear();\r\n this.controller_.removeObserver(this);\r\n };\r\n /**\r\n * Collects observation instances the associated element of which has changed\r\n * it's content rectangle.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.gatherActive = function () {\r\n var _this = this;\r\n this.clearActive();\r\n this.observations_.forEach(function (observation) {\r\n if (observation.isActive()) {\r\n _this.activeObservations_.push(observation);\r\n }\r\n });\r\n };\r\n /**\r\n * Invokes initial callback function with a list of ResizeObserverEntry\r\n * instances collected from active resize observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.broadcastActive = function () {\r\n // Do nothing if observer doesn't have active observations.\r\n if (!this.hasActive()) {\r\n return;\r\n }\r\n var ctx = this.callbackCtx_;\r\n // Create ResizeObserverEntry instance for every active observation.\r\n var entries = this.activeObservations_.map(function (observation) {\r\n return new ResizeObserverEntry(observation.target, observation.broadcastRect());\r\n });\r\n this.callback_.call(ctx, entries, ctx);\r\n this.clearActive();\r\n };\r\n /**\r\n * Clears the collection of active observations.\r\n *\r\n * @returns {void}\r\n */\r\n ResizeObserverSPI.prototype.clearActive = function () {\r\n this.activeObservations_.splice(0);\r\n };\r\n /**\r\n * Tells whether observer has active observations.\r\n *\r\n * @returns {boolean}\r\n */\r\n ResizeObserverSPI.prototype.hasActive = function () {\r\n return this.activeObservations_.length > 0;\r\n };\r\n return ResizeObserverSPI;\r\n}());\n\n// Registry of internal observers. If WeakMap is not available use current shim\r\n// for the Map collection as it has all required methods and because WeakMap\r\n// can't be fully polyfilled anyway.\r\nvar observers = typeof WeakMap !== 'undefined' ? new WeakMap() : new MapShim();\r\n/**\r\n * ResizeObserver API. Encapsulates the ResizeObserver SPI implementation\r\n * exposing only those methods and properties that are defined in the spec.\r\n */\r\nvar ResizeObserver = /** @class */ (function () {\r\n /**\r\n * Creates a new instance of ResizeObserver.\r\n *\r\n * @param {ResizeObserverCallback} callback - Callback that is invoked when\r\n * dimensions of the observed elements change.\r\n */\r\n function ResizeObserver(callback) {\r\n if (!(this instanceof ResizeObserver)) {\r\n throw new TypeError('Cannot call a class as a function.');\r\n }\r\n if (!arguments.length) {\r\n throw new TypeError('1 argument required, but only 0 present.');\r\n }\r\n var controller = ResizeObserverController.getInstance();\r\n var observer = new ResizeObserverSPI(callback, controller, this);\r\n observers.set(this, observer);\r\n }\r\n return ResizeObserver;\r\n}());\r\n// Expose public methods of ResizeObserver.\r\n[\r\n 'observe',\r\n 'unobserve',\r\n 'disconnect'\r\n].forEach(function (method) {\r\n ResizeObserver.prototype[method] = function () {\r\n var _a;\r\n return (_a = observers.get(this))[method].apply(_a, arguments);\r\n };\r\n});\n\nvar index = (function () {\r\n // Export existing implementation if available.\r\n if (typeof global$1.ResizeObserver !== 'undefined') {\r\n return global$1.ResizeObserver;\r\n }\r\n return ResizeObserver;\r\n})();\n\nexport default index;\n","//\n\nmodule.exports = function shallowEqual(objA, objB, compare, compareContext) {\n var ret = compare ? compare.call(compareContext, objA, objB) : void 0;\n\n if (ret !== void 0) {\n return !!ret;\n }\n\n if (objA === objB) {\n return true;\n }\n\n if (typeof objA !== \"object\" || !objA || typeof objB !== \"object\" || !objB) {\n return false;\n }\n\n var keysA = Object.keys(objA);\n var keysB = Object.keys(objB);\n\n if (keysA.length !== keysB.length) {\n return false;\n }\n\n var bHasOwnProperty = Object.prototype.hasOwnProperty.bind(objB);\n\n // Test for A's keys different from B.\n for (var idx = 0; idx < keysA.length; idx++) {\n var key = keysA[idx];\n\n if (!bHasOwnProperty(key)) {\n return false;\n }\n\n var valueA = objA[key];\n var valueB = objB[key];\n\n ret = compare ? compare.call(compareContext, valueA, valueB, key) : void 0;\n\n if (ret === false || (ret === void 0 && valueA !== valueB)) {\n return false;\n }\n }\n\n return true;\n};\n","function stylis_min (W) {\n function M(d, c, e, h, a) {\n for (var m = 0, b = 0, v = 0, n = 0, q, g, x = 0, K = 0, k, u = k = q = 0, l = 0, r = 0, I = 0, t = 0, B = e.length, J = B - 1, y, f = '', p = '', F = '', G = '', C; l < B;) {\n g = e.charCodeAt(l);\n l === J && 0 !== b + n + v + m && (0 !== b && (g = 47 === b ? 10 : 47), n = v = m = 0, B++, J++);\n\n if (0 === b + n + v + m) {\n if (l === J && (0 < r && (f = f.replace(N, '')), 0 < f.trim().length)) {\n switch (g) {\n case 32:\n case 9:\n case 59:\n case 13:\n case 10:\n break;\n\n default:\n f += e.charAt(l);\n }\n\n g = 59;\n }\n\n switch (g) {\n case 123:\n f = f.trim();\n q = f.charCodeAt(0);\n k = 1;\n\n for (t = ++l; l < B;) {\n switch (g = e.charCodeAt(l)) {\n case 123:\n k++;\n break;\n\n case 125:\n k--;\n break;\n\n case 47:\n switch (g = e.charCodeAt(l + 1)) {\n case 42:\n case 47:\n a: {\n for (u = l + 1; u < J; ++u) {\n switch (e.charCodeAt(u)) {\n case 47:\n if (42 === g && 42 === e.charCodeAt(u - 1) && l + 2 !== u) {\n l = u + 1;\n break a;\n }\n\n break;\n\n case 10:\n if (47 === g) {\n l = u + 1;\n break a;\n }\n\n }\n }\n\n l = u;\n }\n\n }\n\n break;\n\n case 91:\n g++;\n\n case 40:\n g++;\n\n case 34:\n case 39:\n for (; l++ < J && e.charCodeAt(l) !== g;) {\n }\n\n }\n\n if (0 === k) break;\n l++;\n }\n\n k = e.substring(t, l);\n 0 === q && (q = (f = f.replace(ca, '').trim()).charCodeAt(0));\n\n switch (q) {\n case 64:\n 0 < r && (f = f.replace(N, ''));\n g = f.charCodeAt(1);\n\n switch (g) {\n case 100:\n case 109:\n case 115:\n case 45:\n r = c;\n break;\n\n default:\n r = O;\n }\n\n k = M(c, r, k, g, a + 1);\n t = k.length;\n 0 < A && (r = X(O, f, I), C = H(3, k, r, c, D, z, t, g, a, h), f = r.join(''), void 0 !== C && 0 === (t = (k = C.trim()).length) && (g = 0, k = ''));\n if (0 < t) switch (g) {\n case 115:\n f = f.replace(da, ea);\n\n case 100:\n case 109:\n case 45:\n k = f + '{' + k + '}';\n break;\n\n case 107:\n f = f.replace(fa, '$1 $2');\n k = f + '{' + k + '}';\n k = 1 === w || 2 === w && L('@' + k, 3) ? '@-webkit-' + k + '@' + k : '@' + k;\n break;\n\n default:\n k = f + k, 112 === h && (k = (p += k, ''));\n } else k = '';\n break;\n\n default:\n k = M(c, X(c, f, I), k, h, a + 1);\n }\n\n F += k;\n k = I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n break;\n\n case 125:\n case 59:\n f = (0 < r ? f.replace(N, '') : f).trim();\n if (1 < (t = f.length)) switch (0 === u && (q = f.charCodeAt(0), 45 === q || 96 < q && 123 > q) && (t = (f = f.replace(' ', ':')).length), 0 < A && void 0 !== (C = H(1, f, c, d, D, z, p.length, h, a, h)) && 0 === (t = (f = C.trim()).length) && (f = '\\x00\\x00'), q = f.charCodeAt(0), g = f.charCodeAt(1), q) {\n case 0:\n break;\n\n case 64:\n if (105 === g || 99 === g) {\n G += f + e.charAt(l);\n break;\n }\n\n default:\n 58 !== f.charCodeAt(t - 1) && (p += P(f, q, g, f.charCodeAt(2)));\n }\n I = r = u = q = 0;\n f = '';\n g = e.charCodeAt(++l);\n }\n }\n\n switch (g) {\n case 13:\n case 10:\n 47 === b ? b = 0 : 0 === 1 + q && 107 !== h && 0 < f.length && (r = 1, f += '\\x00');\n 0 < A * Y && H(0, f, c, d, D, z, p.length, h, a, h);\n z = 1;\n D++;\n break;\n\n case 59:\n case 125:\n if (0 === b + n + v + m) {\n z++;\n break;\n }\n\n default:\n z++;\n y = e.charAt(l);\n\n switch (g) {\n case 9:\n case 32:\n if (0 === n + m + b) switch (x) {\n case 44:\n case 58:\n case 9:\n case 32:\n y = '';\n break;\n\n default:\n 32 !== g && (y = ' ');\n }\n break;\n\n case 0:\n y = '\\\\0';\n break;\n\n case 12:\n y = '\\\\f';\n break;\n\n case 11:\n y = '\\\\v';\n break;\n\n case 38:\n 0 === n + b + m && (r = I = 1, y = '\\f' + y);\n break;\n\n case 108:\n if (0 === n + b + m + E && 0 < u) switch (l - u) {\n case 2:\n 112 === x && 58 === e.charCodeAt(l - 3) && (E = x);\n\n case 8:\n 111 === K && (E = K);\n }\n break;\n\n case 58:\n 0 === n + b + m && (u = l);\n break;\n\n case 44:\n 0 === b + v + n + m && (r = 1, y += '\\r');\n break;\n\n case 34:\n case 39:\n 0 === b && (n = n === g ? 0 : 0 === n ? g : n);\n break;\n\n case 91:\n 0 === n + b + v && m++;\n break;\n\n case 93:\n 0 === n + b + v && m--;\n break;\n\n case 41:\n 0 === n + b + m && v--;\n break;\n\n case 40:\n if (0 === n + b + m) {\n if (0 === q) switch (2 * x + 3 * K) {\n case 533:\n break;\n\n default:\n q = 1;\n }\n v++;\n }\n\n break;\n\n case 64:\n 0 === b + v + n + m + u + k && (k = 1);\n break;\n\n case 42:\n case 47:\n if (!(0 < n + m + v)) switch (b) {\n case 0:\n switch (2 * g + 3 * e.charCodeAt(l + 1)) {\n case 235:\n b = 47;\n break;\n\n case 220:\n t = l, b = 42;\n }\n\n break;\n\n case 42:\n 47 === g && 42 === x && t + 2 !== l && (33 === e.charCodeAt(t + 2) && (p += e.substring(t, l + 1)), y = '', b = 0);\n }\n }\n\n 0 === b && (f += y);\n }\n\n K = x;\n x = g;\n l++;\n }\n\n t = p.length;\n\n if (0 < t) {\n r = c;\n if (0 < A && (C = H(2, p, r, d, D, z, t, h, a, h), void 0 !== C && 0 === (p = C).length)) return G + p + F;\n p = r.join(',') + '{' + p + '}';\n\n if (0 !== w * E) {\n 2 !== w || L(p, 2) || (E = 0);\n\n switch (E) {\n case 111:\n p = p.replace(ha, ':-moz-$1') + p;\n break;\n\n case 112:\n p = p.replace(Q, '::-webkit-input-$1') + p.replace(Q, '::-moz-$1') + p.replace(Q, ':-ms-input-$1') + p;\n }\n\n E = 0;\n }\n }\n\n return G + p + F;\n }\n\n function X(d, c, e) {\n var h = c.trim().split(ia);\n c = h;\n var a = h.length,\n m = d.length;\n\n switch (m) {\n case 0:\n case 1:\n var b = 0;\n\n for (d = 0 === m ? '' : d[0] + ' '; b < a; ++b) {\n c[b] = Z(d, c[b], e).trim();\n }\n\n break;\n\n default:\n var v = b = 0;\n\n for (c = []; b < a; ++b) {\n for (var n = 0; n < m; ++n) {\n c[v++] = Z(d[n] + ' ', h[b], e).trim();\n }\n }\n\n }\n\n return c;\n }\n\n function Z(d, c, e) {\n var h = c.charCodeAt(0);\n 33 > h && (h = (c = c.trim()).charCodeAt(0));\n\n switch (h) {\n case 38:\n return c.replace(F, '$1' + d.trim());\n\n case 58:\n return d.trim() + c.replace(F, '$1' + d.trim());\n\n default:\n if (0 < 1 * e && 0 < c.indexOf('\\f')) return c.replace(F, (58 === d.charCodeAt(0) ? '' : '$1') + d.trim());\n }\n\n return d + c;\n }\n\n function P(d, c, e, h) {\n var a = d + ';',\n m = 2 * c + 3 * e + 4 * h;\n\n if (944 === m) {\n d = a.indexOf(':', 9) + 1;\n var b = a.substring(d, a.length - 1).trim();\n b = a.substring(0, d).trim() + b + ';';\n return 1 === w || 2 === w && L(b, 1) ? '-webkit-' + b + b : b;\n }\n\n if (0 === w || 2 === w && !L(a, 1)) return a;\n\n switch (m) {\n case 1015:\n return 97 === a.charCodeAt(10) ? '-webkit-' + a + a : a;\n\n case 951:\n return 116 === a.charCodeAt(3) ? '-webkit-' + a + a : a;\n\n case 963:\n return 110 === a.charCodeAt(5) ? '-webkit-' + a + a : a;\n\n case 1009:\n if (100 !== a.charCodeAt(4)) break;\n\n case 969:\n case 942:\n return '-webkit-' + a + a;\n\n case 978:\n return '-webkit-' + a + '-moz-' + a + a;\n\n case 1019:\n case 983:\n return '-webkit-' + a + '-moz-' + a + '-ms-' + a + a;\n\n case 883:\n if (45 === a.charCodeAt(8)) return '-webkit-' + a + a;\n if (0 < a.indexOf('image-set(', 11)) return a.replace(ja, '$1-webkit-$2') + a;\n break;\n\n case 932:\n if (45 === a.charCodeAt(4)) switch (a.charCodeAt(5)) {\n case 103:\n return '-webkit-box-' + a.replace('-grow', '') + '-webkit-' + a + '-ms-' + a.replace('grow', 'positive') + a;\n\n case 115:\n return '-webkit-' + a + '-ms-' + a.replace('shrink', 'negative') + a;\n\n case 98:\n return '-webkit-' + a + '-ms-' + a.replace('basis', 'preferred-size') + a;\n }\n return '-webkit-' + a + '-ms-' + a + a;\n\n case 964:\n return '-webkit-' + a + '-ms-flex-' + a + a;\n\n case 1023:\n if (99 !== a.charCodeAt(8)) break;\n b = a.substring(a.indexOf(':', 15)).replace('flex-', '').replace('space-between', 'justify');\n return '-webkit-box-pack' + b + '-webkit-' + a + '-ms-flex-pack' + b + a;\n\n case 1005:\n return ka.test(a) ? a.replace(aa, ':-webkit-') + a.replace(aa, ':-moz-') + a : a;\n\n case 1e3:\n b = a.substring(13).trim();\n c = b.indexOf('-') + 1;\n\n switch (b.charCodeAt(0) + b.charCodeAt(c)) {\n case 226:\n b = a.replace(G, 'tb');\n break;\n\n case 232:\n b = a.replace(G, 'tb-rl');\n break;\n\n case 220:\n b = a.replace(G, 'lr');\n break;\n\n default:\n return a;\n }\n\n return '-webkit-' + a + '-ms-' + b + a;\n\n case 1017:\n if (-1 === a.indexOf('sticky', 9)) break;\n\n case 975:\n c = (a = d).length - 10;\n b = (33 === a.charCodeAt(c) ? a.substring(0, c) : a).substring(d.indexOf(':', 7) + 1).trim();\n\n switch (m = b.charCodeAt(0) + (b.charCodeAt(7) | 0)) {\n case 203:\n if (111 > b.charCodeAt(8)) break;\n\n case 115:\n a = a.replace(b, '-webkit-' + b) + ';' + a;\n break;\n\n case 207:\n case 102:\n a = a.replace(b, '-webkit-' + (102 < m ? 'inline-' : '') + 'box') + ';' + a.replace(b, '-webkit-' + b) + ';' + a.replace(b, '-ms-' + b + 'box') + ';' + a;\n }\n\n return a + ';';\n\n case 938:\n if (45 === a.charCodeAt(5)) switch (a.charCodeAt(6)) {\n case 105:\n return b = a.replace('-items', ''), '-webkit-' + a + '-webkit-box-' + b + '-ms-flex-' + b + a;\n\n case 115:\n return '-webkit-' + a + '-ms-flex-item-' + a.replace(ba, '') + a;\n\n default:\n return '-webkit-' + a + '-ms-flex-line-pack' + a.replace('align-content', '').replace(ba, '') + a;\n }\n break;\n\n case 973:\n case 989:\n if (45 !== a.charCodeAt(3) || 122 === a.charCodeAt(4)) break;\n\n case 931:\n case 953:\n if (!0 === la.test(d)) return 115 === (b = d.substring(d.indexOf(':') + 1)).charCodeAt(0) ? P(d.replace('stretch', 'fill-available'), c, e, h).replace(':fill-available', ':stretch') : a.replace(b, '-webkit-' + b) + a.replace(b, '-moz-' + b.replace('fill-', '')) + a;\n break;\n\n case 962:\n if (a = '-webkit-' + a + (102 === a.charCodeAt(5) ? '-ms-' + a : '') + a, 211 === e + h && 105 === a.charCodeAt(13) && 0 < a.indexOf('transform', 10)) return a.substring(0, a.indexOf(';', 27) + 1).replace(ma, '$1-webkit-$2') + a;\n }\n\n return a;\n }\n\n function L(d, c) {\n var e = d.indexOf(1 === c ? ':' : '{'),\n h = d.substring(0, 3 !== c ? e : 10);\n e = d.substring(e + 1, d.length - 1);\n return R(2 !== c ? h : h.replace(na, '$1'), e, c);\n }\n\n function ea(d, c) {\n var e = P(c, c.charCodeAt(0), c.charCodeAt(1), c.charCodeAt(2));\n return e !== c + ';' ? e.replace(oa, ' or ($1)').substring(4) : '(' + c + ')';\n }\n\n function H(d, c, e, h, a, m, b, v, n, q) {\n for (var g = 0, x = c, w; g < A; ++g) {\n switch (w = S[g].call(B, d, x, e, h, a, m, b, v, n, q)) {\n case void 0:\n case !1:\n case !0:\n case null:\n break;\n\n default:\n x = w;\n }\n }\n\n if (x !== c) return x;\n }\n\n function T(d) {\n switch (d) {\n case void 0:\n case null:\n A = S.length = 0;\n break;\n\n default:\n if ('function' === typeof d) S[A++] = d;else if ('object' === typeof d) for (var c = 0, e = d.length; c < e; ++c) {\n T(d[c]);\n } else Y = !!d | 0;\n }\n\n return T;\n }\n\n function U(d) {\n d = d.prefix;\n void 0 !== d && (R = null, d ? 'function' !== typeof d ? w = 1 : (w = 2, R = d) : w = 0);\n return U;\n }\n\n function B(d, c) {\n var e = d;\n 33 > e.charCodeAt(0) && (e = e.trim());\n V = e;\n e = [V];\n\n if (0 < A) {\n var h = H(-1, c, e, e, D, z, 0, 0, 0, 0);\n void 0 !== h && 'string' === typeof h && (c = h);\n }\n\n var a = M(O, e, c, 0, 0);\n 0 < A && (h = H(-2, a, e, e, D, z, a.length, 0, 0, 0), void 0 !== h && (a = h));\n V = '';\n E = 0;\n z = D = 1;\n return a;\n }\n\n var ca = /^\\0+/g,\n N = /[\\0\\r\\f]/g,\n aa = /: */g,\n ka = /zoo|gra/,\n ma = /([,: ])(transform)/g,\n ia = /,\\r+?/g,\n F = /([\\t\\r\\n ])*\\f?&/g,\n fa = /@(k\\w+)\\s*(\\S*)\\s*/,\n Q = /::(place)/g,\n ha = /:(read-only)/g,\n G = /[svh]\\w+-[tblr]{2}/,\n da = /\\(\\s*(.*)\\s*\\)/g,\n oa = /([\\s\\S]*?);/g,\n ba = /-self|flex-/g,\n na = /[^]*?(:[rp][el]a[\\w-]+)[^]*/,\n la = /stretch|:\\s*\\w+\\-(?:conte|avail)/,\n ja = /([^-])(image-set\\()/,\n z = 1,\n D = 1,\n E = 0,\n w = 1,\n O = [],\n S = [],\n A = 0,\n R = null,\n Y = 0,\n V = '';\n B.use = T;\n B.set = U;\n void 0 !== W && U(W);\n return B;\n}\n\nexport default stylis_min;\n","function memoize(fn) {\n var cache = Object.create(null);\n return function (arg) {\n if (cache[arg] === undefined) cache[arg] = fn(arg);\n return cache[arg];\n };\n}\n\nexport default memoize;\n","import memoize from '@emotion/memoize';\n\nvar reactPropsRegex = /^((children|dangerouslySetInnerHTML|key|ref|autoFocus|defaultValue|defaultChecked|innerHTML|suppressContentEditableWarning|suppressHydrationWarning|valueLink|abbr|accept|acceptCharset|accessKey|action|allow|allowUserMedia|allowPaymentRequest|allowFullScreen|allowTransparency|alt|async|autoComplete|autoPlay|capture|cellPadding|cellSpacing|challenge|charSet|checked|cite|classID|className|cols|colSpan|content|contentEditable|contextMenu|controls|controlsList|coords|crossOrigin|data|dateTime|decoding|default|defer|dir|disabled|disablePictureInPicture|download|draggable|encType|enterKeyHint|form|formAction|formEncType|formMethod|formNoValidate|formTarget|frameBorder|headers|height|hidden|high|href|hrefLang|htmlFor|httpEquiv|id|inputMode|integrity|is|keyParams|keyType|kind|label|lang|list|loading|loop|low|marginHeight|marginWidth|max|maxLength|media|mediaGroup|method|min|minLength|multiple|muted|name|nonce|noValidate|open|optimum|pattern|placeholder|playsInline|poster|preload|profile|radioGroup|readOnly|referrerPolicy|rel|required|reversed|role|rows|rowSpan|sandbox|scope|scoped|scrolling|seamless|selected|shape|size|sizes|slot|span|spellCheck|src|srcDoc|srcLang|srcSet|start|step|style|summary|tabIndex|target|title|translate|type|useMap|value|width|wmode|wrap|about|datatype|inlist|prefix|property|resource|typeof|vocab|autoCapitalize|autoCorrect|autoSave|color|incremental|fallback|inert|itemProp|itemScope|itemType|itemID|itemRef|on|option|results|security|unselectable|accentHeight|accumulate|additive|alignmentBaseline|allowReorder|alphabetic|amplitude|arabicForm|ascent|attributeName|attributeType|autoReverse|azimuth|baseFrequency|baselineShift|baseProfile|bbox|begin|bias|by|calcMode|capHeight|clip|clipPathUnits|clipPath|clipRule|colorInterpolation|colorInterpolationFilters|colorProfile|colorRendering|contentScriptType|contentStyleType|cursor|cx|cy|d|decelerate|descent|diffuseConstant|direction|display|divisor|dominantBaseline|dur|dx|dy|edgeMode|elevation|enableBackground|end|exponent|externalResourcesRequired|fill|fillOpacity|fillRule|filter|filterRes|filterUnits|floodColor|floodOpacity|focusable|fontFamily|fontSize|fontSizeAdjust|fontStretch|fontStyle|fontVariant|fontWeight|format|from|fr|fx|fy|g1|g2|glyphName|glyphOrientationHorizontal|glyphOrientationVertical|glyphRef|gradientTransform|gradientUnits|hanging|horizAdvX|horizOriginX|ideographic|imageRendering|in|in2|intercept|k|k1|k2|k3|k4|kernelMatrix|kernelUnitLength|kerning|keyPoints|keySplines|keyTimes|lengthAdjust|letterSpacing|lightingColor|limitingConeAngle|local|markerEnd|markerMid|markerStart|markerHeight|markerUnits|markerWidth|mask|maskContentUnits|maskUnits|mathematical|mode|numOctaves|offset|opacity|operator|order|orient|orientation|origin|overflow|overlinePosition|overlineThickness|panose1|paintOrder|pathLength|patternContentUnits|patternTransform|patternUnits|pointerEvents|points|pointsAtX|pointsAtY|pointsAtZ|preserveAlpha|preserveAspectRatio|primitiveUnits|r|radius|refX|refY|renderingIntent|repeatCount|repeatDur|requiredExtensions|requiredFeatures|restart|result|rotate|rx|ry|scale|seed|shapeRendering|slope|spacing|specularConstant|specularExponent|speed|spreadMethod|startOffset|stdDeviation|stemh|stemv|stitchTiles|stopColor|stopOpacity|strikethroughPosition|strikethroughThickness|string|stroke|strokeDasharray|strokeDashoffset|strokeLinecap|strokeLinejoin|strokeMiterlimit|strokeOpacity|strokeWidth|surfaceScale|systemLanguage|tableValues|targetX|targetY|textAnchor|textDecoration|textRendering|textLength|to|transform|u1|u2|underlinePosition|underlineThickness|unicode|unicodeBidi|unicodeRange|unitsPerEm|vAlphabetic|vHanging|vIdeographic|vMathematical|values|vectorEffect|version|vertAdvY|vertOriginX|vertOriginY|viewBox|viewTarget|visibility|widths|wordSpacing|writingMode|x|xHeight|x1|x2|xChannelSelector|xlinkActuate|xlinkArcrole|xlinkHref|xlinkRole|xlinkShow|xlinkTitle|xlinkType|xmlBase|xmlns|xmlnsXlink|xmlLang|xmlSpace|y|y1|y2|yChannelSelector|z|zoomAndPan|for|class|autofocus)|(([Dd][Aa][Tt][Aa]|[Aa][Rr][Ii][Aa]|x)-.*))$/; // https://esbench.com/bench/5bfee68a4cd7e6009ef61d23\n\nvar isPropValid = /* #__PURE__ */memoize(function (prop) {\n return reactPropsRegex.test(prop) || prop.charCodeAt(0) === 111\n /* o */\n && prop.charCodeAt(1) === 110\n /* n */\n && prop.charCodeAt(2) < 91;\n}\n/* Z+1 */\n);\n\nexport default isPropValid;\n","import{typeOf as e,isElement as t,isValidElementType as n}from\"react-is\";import r,{useState as o,useContext as s,useMemo as i,useEffect as a,useRef as c,createElement as u,useDebugValue as l,useLayoutEffect as d}from\"react\";import h from\"shallowequal\";import p from\"@emotion/stylis\";import f from\"@emotion/unitless\";import m from\"@emotion/is-prop-valid\";import y from\"hoist-non-react-statics\";function v(){return(v=Object.assign||function(e){for(var t=1;t ({})}\\n```\\n\\n',8:'ThemeProvider: Please make your \"theme\" prop an object.\\n\\n',9:\"Missing document ``\\n\\n\",10:\"Cannot find a StyleSheet instance. Usually this happens if there are multiple copies of styled-components loaded at once. Check out this issue for how to troubleshoot and fix the common cases where this situation can happen: https://github.com/styled-components/styled-components/issues/1941#issuecomment-417862021\\n\\n\",11:\"_This error was replaced with a dev-time warning, it will be deleted for v4 final._ [createGlobalStyle] received children which will not be rendered. Please use the component without passing children elements.\\n\\n\",12:\"It seems you are interpolating a keyframe declaration (%s) into an untagged string. This was supported in styled-components v3, but is not longer supported in v4 as keyframes are now injected on-demand. Please wrap your string in the css\\\\`\\\\` helper which ensures the styles are injected correctly. See https://www.styled-components.com/docs/api#css\\n\\n\",13:\"%s is not a styled component and cannot be referred to via component selector. See https://www.styled-components.com/docs/advanced#referring-to-other-components for more details.\\n\\n\",14:'ThemeProvider: \"theme\" prop is required.\\n\\n',15:\"A stylis plugin has been supplied that is not named. We need a name for each plugin to be able to prevent styling collisions between different stylis configurations within the same app. Before you pass your plugin to ``, please make sure each plugin is uniquely-named, e.g.\\n\\n```js\\nObject.defineProperty(importedPlugin, 'name', { value: 'some-unique-name' });\\n```\\n\\n\",16:\"Reached the limit of how many styled components may be created at group %s.\\nYou may only create up to 1,073,741,824 components. If you're creating components dynamically,\\nas for instance in your render method then you may be running into this limitation.\\n\\n\",17:\"CSSStyleSheet could not be found on HTMLStyleElement.\\nHas styled-components' style tag been unmounted or altered by another script?\\n\"}:{};function D(){for(var e=arguments.length<=0?void 0:arguments[0],t=[],n=1,r=arguments.length;n1?t-1:0),r=1;r0?\" Args: \"+n.join(\", \"):\"\")):new Error(D.apply(void 0,[R[e]].concat(n)).trim())}var T=function(){function e(e){this.groupSizes=new Uint32Array(512),this.length=512,this.tag=e}var t=e.prototype;return t.indexOfGroup=function(e){for(var t=0,n=0;n=this.groupSizes.length){for(var n=this.groupSizes,r=n.length,o=r;e>=o;)(o<<=1)<0&&j(16,\"\"+e);this.groupSizes=new Uint32Array(o),this.groupSizes.set(n),this.length=o;for(var s=r;s=this.length||0===this.groupSizes[e])return t;for(var n=this.groupSizes[e],r=this.indexOfGroup(e),o=r+n,s=r;s1<<30)&&j(16,\"\"+t),x.set(e,t),k.set(t,e),t},z=function(e){return k.get(e)},M=function(e,t){t>=V&&(V=t+1),x.set(e,t),k.set(t,e)},G=\"style[\"+A+'][data-styled-version=\"5.3.6\"]',L=new RegExp(\"^\"+A+'\\\\.g(\\\\d+)\\\\[id=\"([\\\\w\\\\d-]+)\"\\\\].*?\"([^\"]*)'),F=function(e,t,n){for(var r,o=n.split(\",\"),s=0,i=o.length;s=0;n--){var r=t[n];if(r&&1===r.nodeType&&r.hasAttribute(A))return r}}(n),s=void 0!==o?o.nextSibling:null;r.setAttribute(A,\"active\"),r.setAttribute(\"data-styled-version\",\"5.3.6\");var i=q();return i&&r.setAttribute(\"nonce\",i),n.insertBefore(r,s),r},$=function(){function e(e){var t=this.element=H(e);t.appendChild(document.createTextNode(\"\")),this.sheet=function(e){if(e.sheet)return e.sheet;for(var t=document.styleSheets,n=0,r=t.length;n=0){var n=document.createTextNode(t),r=this.nodes[e];return this.element.insertBefore(n,r||null),this.length++,!0}return!1},t.deleteRule=function(e){this.element.removeChild(this.nodes[e]),this.length--},t.getRule=function(e){return e0&&(u+=e+\",\")})),r+=\"\"+a+c+'{content:\"'+u+'\"}/*!sc*/\\n'}}}return r}(this)},e}(),K=/(a)(d)/gi,Q=function(e){return String.fromCharCode(e+(e>25?39:97))};function ee(e){var t,n=\"\";for(t=Math.abs(e);t>52;t=t/52|0)n=Q(t%52)+n;return(Q(t%52)+n).replace(K,\"$1-$2\")}var te=function(e,t){for(var n=t.length;n;)e=33*e^t.charCodeAt(--n);return e},ne=function(e){return te(5381,e)};function re(e){for(var t=0;t>>0);if(!t.hasNameForId(r,i)){var a=n(s,\".\"+i,void 0,r);t.insertRules(r,i,a)}o.push(i),this.staticRulesId=i}else{for(var c=this.rules.length,u=te(this.baseHash,n.hash),l=\"\",d=0;d>>0);if(!t.hasNameForId(r,m)){var y=n(l,\".\"+m,void 0,r);t.insertRules(r,m,y)}o.push(m)}}return o.join(\" \")},e}(),ie=/^\\s*\\/\\/.*$/gm,ae=[\":\",\"[\",\".\",\"#\"];function ce(e){var t,n,r,o,s=void 0===e?E:e,i=s.options,a=void 0===i?E:i,c=s.plugins,u=void 0===c?w:c,l=new p(a),d=[],h=function(e){function t(t){if(t)try{e(t+\"}\")}catch(e){}}return function(n,r,o,s,i,a,c,u,l,d){switch(n){case 1:if(0===l&&64===r.charCodeAt(0))return e(r+\";\"),\"\";break;case 2:if(0===u)return r+\"/*|*/\";break;case 3:switch(u){case 102:case 112:return e(o[0]+r),\"\";default:return r+(0===d?\"/*|*/\":\"\")}case-2:r.split(\"/*|*/}\").forEach(t)}}}((function(e){d.push(e)})),f=function(e,r,s){return 0===r&&-1!==ae.indexOf(s[n.length])||s.match(o)?e:\".\"+t};function m(e,s,i,a){void 0===a&&(a=\"&\");var c=e.replace(ie,\"\"),u=s&&i?i+\" \"+s+\" { \"+c+\" }\":c;return t=a,n=s,r=new RegExp(\"\\\\\"+n+\"\\\\b\",\"g\"),o=new RegExp(\"(\\\\\"+n+\"\\\\b){2,}\"),l(i||!s?\"\":s,u)}return l.use([].concat(u,[function(e,t,o){2===e&&o.length&&o[0].lastIndexOf(n)>0&&(o[0]=o[0].replace(r,f))},h,function(e){if(-2===e){var t=d;return d=[],t}}])),m.hash=u.length?u.reduce((function(e,t){return t.name||j(15),te(e,t.name)}),5381).toString():\"\",m}var ue=r.createContext(),le=ue.Consumer,de=r.createContext(),he=(de.Consumer,new Z),pe=ce();function fe(){return s(ue)||he}function me(){return s(de)||pe}function ye(e){var t=o(e.stylisPlugins),n=t[0],s=t[1],c=fe(),u=i((function(){var t=c;return e.sheet?t=e.sheet:e.target&&(t=t.reconstructWithOptions({target:e.target},!1)),e.disableCSSOMInjection&&(t=t.reconstructWithOptions({useCSSOMInjection:!1})),t}),[e.disableCSSOMInjection,e.sheet,e.target]),l=i((function(){return ce({options:{prefix:!e.disableVendorPrefixes},plugins:n})}),[e.disableVendorPrefixes,n]);return a((function(){h(n,e.stylisPlugins)||s(e.stylisPlugins)}),[e.stylisPlugins]),r.createElement(ue.Provider,{value:u},r.createElement(de.Provider,{value:l},\"production\"!==process.env.NODE_ENV?r.Children.only(e.children):e.children))}var ve=function(){function e(e,t){var n=this;this.inject=function(e,t){void 0===t&&(t=pe);var r=n.name+t.hash;e.hasNameForId(n.id,r)||e.insertRules(n.id,r,t(n.rules,r,\"@keyframes\"))},this.toString=function(){return j(12,String(n.name))},this.name=e,this.id=\"sc-keyframes-\"+e,this.rules=t}return e.prototype.getName=function(e){return void 0===e&&(e=pe),this.name+e.hash},e}(),ge=/([A-Z])/,Se=/([A-Z])/g,we=/^ms-/,Ee=function(e){return\"-\"+e.toLowerCase()};function be(e){return ge.test(e)?e.replace(Se,Ee).replace(we,\"-ms-\"):e}var _e=function(e){return null==e||!1===e||\"\"===e};function Ne(e,n,r,o){if(Array.isArray(e)){for(var s,i=[],a=0,c=e.length;a1?t-1:0),r=1;r1?t-1:0),i=1;i?@[\\\\\\]^`{|}~-]+/g,je=/(^-|-$)/g;function Te(e){return e.replace(De,\"-\").replace(je,\"\")}var xe=function(e){return ee(ne(e)>>>0)};function ke(e){return\"string\"==typeof e&&(\"production\"===process.env.NODE_ENV||e.charAt(0)===e.charAt(0).toLowerCase())}var Ve=function(e){return\"function\"==typeof e||\"object\"==typeof e&&null!==e&&!Array.isArray(e)},Be=function(e){return\"__proto__\"!==e&&\"constructor\"!==e&&\"prototype\"!==e};function ze(e,t,n){var r=e[n];Ve(t)&&Ve(r)?Me(r,t):e[n]=t}function Me(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r=0||(o[n]=e[n]);return o}(t,[\"componentId\"]),s=r&&r+\"-\"+(ke(e)?e:Te(_(e)));return qe(e,v({},o,{attrs:S,componentId:s}),n)},Object.defineProperty(C,\"defaultProps\",{get:function(){return this._foldedDefaultProps},set:function(t){this._foldedDefaultProps=o?Me({},e.defaultProps,t):t}}),\"production\"!==process.env.NODE_ENV&&(Oe(f,g),C.warnTooManyClasses=function(e,t){var n={},r=!1;return function(o){if(!r&&(n[o]=!0,Object.keys(n).length>=200)){var s=t?' with the id of \"'+t+'\"':\"\";console.warn(\"Over 200 classes were generated for component \"+e+s+\".\\nConsider using the attrs method, together with a style object for frequently changed styles.\\nExample:\\n const Component = styled.div.attrs(props => ({\\n style: {\\n background: props.background,\\n },\\n }))`width: 100%;`\\n\\n \"),r=!0,n={}}}}(f,g)),C.toString=function(){return\".\"+C.styledComponentId},i&&y(C,e,{attrs:!0,componentStyle:!0,displayName:!0,foldedComponentIds:!0,shouldForwardProp:!0,styledComponentId:!0,target:!0,withComponent:!0}),C}var He=function(e){return function e(t,r,o){if(void 0===o&&(o=E),!n(r))return j(1,String(r));var s=function(){return t(r,o,Ce.apply(void 0,arguments))};return s.withConfig=function(n){return e(t,r,v({},o,{},n))},s.attrs=function(n){return e(t,r,v({},o,{attrs:Array.prototype.concat(o.attrs,n).filter(Boolean)}))},s}(qe,e)};[\"a\",\"abbr\",\"address\",\"area\",\"article\",\"aside\",\"audio\",\"b\",\"base\",\"bdi\",\"bdo\",\"big\",\"blockquote\",\"body\",\"br\",\"button\",\"canvas\",\"caption\",\"cite\",\"code\",\"col\",\"colgroup\",\"data\",\"datalist\",\"dd\",\"del\",\"details\",\"dfn\",\"dialog\",\"div\",\"dl\",\"dt\",\"em\",\"embed\",\"fieldset\",\"figcaption\",\"figure\",\"footer\",\"form\",\"h1\",\"h2\",\"h3\",\"h4\",\"h5\",\"h6\",\"head\",\"header\",\"hgroup\",\"hr\",\"html\",\"i\",\"iframe\",\"img\",\"input\",\"ins\",\"kbd\",\"keygen\",\"label\",\"legend\",\"li\",\"link\",\"main\",\"map\",\"mark\",\"marquee\",\"menu\",\"menuitem\",\"meta\",\"meter\",\"nav\",\"noscript\",\"object\",\"ol\",\"optgroup\",\"option\",\"output\",\"p\",\"param\",\"picture\",\"pre\",\"progress\",\"q\",\"rp\",\"rt\",\"ruby\",\"s\",\"samp\",\"script\",\"section\",\"select\",\"small\",\"source\",\"span\",\"strong\",\"style\",\"sub\",\"summary\",\"sup\",\"table\",\"tbody\",\"td\",\"textarea\",\"tfoot\",\"th\",\"thead\",\"time\",\"title\",\"tr\",\"track\",\"u\",\"ul\",\"var\",\"video\",\"wbr\",\"circle\",\"clipPath\",\"defs\",\"ellipse\",\"foreignObject\",\"g\",\"image\",\"line\",\"linearGradient\",\"marker\",\"mask\",\"path\",\"pattern\",\"polygon\",\"polyline\",\"radialGradient\",\"rect\",\"stop\",\"svg\",\"text\",\"textPath\",\"tspan\"].forEach((function(e){He[e]=He(e)}));var $e=function(){function e(e,t){this.rules=e,this.componentId=t,this.isStatic=re(e),Z.registerId(this.componentId+1)}var t=e.prototype;return t.createStyles=function(e,t,n,r){var o=r(Ne(this.rules,t,n,r).join(\"\"),\"\"),s=this.componentId+e;n.insertRules(s,s,o)},t.removeStyles=function(e,t){t.clearRules(this.componentId+e)},t.renderStyles=function(e,t,n,r){e>2&&Z.registerId(this.componentId+e),this.removeStyles(e,n),this.createStyles(e,t,n,r)},e}();function We(e){for(var t=arguments.length,n=new Array(t>1?t-1:0),o=1;o meta tag to the stylesheet, or simply embedding it manually in your index.html section for a simpler app.\"),t.server&&h(l,e,t,o,n),d((function(){if(!t.server)return h(l,e,t,o,n),function(){return u.removeStyles(l,t)}}),[l,e,t,o,n]),null}function h(e,t,n,r,o){if(u.isStatic)u.renderStyles(e,O,n,o);else{var s=v({},t,{theme:Re(t,r,l.defaultProps)});u.renderStyles(e,s,n,o)}}return\"production\"!==process.env.NODE_ENV&&Oe(a),r.memo(l)}function Ue(e){\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"`keyframes` cannot be used on ReactNative, only on the web. To do animation in ReactNative please use Animated.\");for(var t=arguments.length,n=new Array(t>1?t-1:0),r=1;r\"+t+\"\"},this.getStyleTags=function(){return e.sealed?j(2):e._emitSheetCSS()},this.getStyleElement=function(){var t;if(e.sealed)return j(2);var n=((t={})[A]=\"\",t[\"data-styled-version\"]=\"5.3.6\",t.dangerouslySetInnerHTML={__html:e.instance.toString()},t),o=q();return o&&(n.nonce=o),[r.createElement(\"style\",v({},n,{key:\"sc-0-0\"}))]},this.seal=function(){e.sealed=!0},this.instance=new Z({isServer:!0}),this.sealed=!1}var t=e.prototype;return t.collectStyles=function(e){return this.sealed?j(2):r.createElement(ye,{sheet:this.instance},e)},t.interleaveWithNodeStream=function(e){return j(3)},e}(),Xe=function(e){var t=r.forwardRef((function(t,n){var o=s(Ge),i=e.defaultProps,a=Re(t,o,i);return\"production\"!==process.env.NODE_ENV&&void 0===a&&console.warn('[withTheme] You are not using a ThemeProvider nor passing a theme prop or a theme in defaultProps in component class \"'+_(e)+'\"'),r.createElement(e,v({},t,{theme:a,ref:n}))}));return y(t,e),t.displayName=\"WithTheme(\"+_(e)+\")\",t},Ze=function(){return s(Ge)},Ke={StyleSheet:Z,masterSheet:he};\"production\"!==process.env.NODE_ENV&&\"undefined\"!=typeof navigator&&\"ReactNative\"===navigator.product&&console.warn(\"It looks like you've imported 'styled-components' on React Native.\\nPerhaps you're looking to import 'styled-components/native'?\\nRead more about this at https://www.styled-components.com/docs/basics#react-native\"),\"production\"!==process.env.NODE_ENV&&\"test\"!==process.env.NODE_ENV&&\"undefined\"!=typeof window&&(window[\"__styled-components-init__\"]=window[\"__styled-components-init__\"]||0,1===window[\"__styled-components-init__\"]&&console.warn(\"It looks like there are several instances of 'styled-components' initialized in this application. This may cause dynamic styles to not render properly, errors during the rehydration process, a missing theme prop, and makes your application bigger without good reason.\\n\\nSee https://s-c.sh/2BAXzed for more info.\"),window[\"__styled-components-init__\"]+=1);export default He;export{Je as ServerStyleSheet,le as StyleSheetConsumer,ue as StyleSheetContext,ye as StyleSheetManager,Le as ThemeConsumer,Ge as ThemeContext,Fe as ThemeProvider,Ke as __PRIVATE__,We as createGlobalStyle,Ce as css,N as isStyledComponent,Ue as keyframes,Ze as useTheme,C as version,Xe as withTheme};\n//# sourceMappingURL=styled-components.browser.esm.js.map\n","\nmodule.exports = function () {\n var selection = document.getSelection();\n if (!selection.rangeCount) {\n return function () {};\n }\n var active = document.activeElement;\n\n var ranges = [];\n for (var i = 0; i < selection.rangeCount; i++) {\n ranges.push(selection.getRangeAt(i));\n }\n\n switch (active.tagName.toUpperCase()) { // .toUpperCase handles XHTML\n case 'INPUT':\n case 'TEXTAREA':\n active.blur();\n break;\n\n default:\n active = null;\n break;\n }\n\n selection.removeAllRanges();\n return function () {\n selection.type === 'Caret' &&\n selection.removeAllRanges();\n\n if (!selection.rangeCount) {\n ranges.forEach(function(range) {\n selection.addRange(range);\n });\n }\n\n active &&\n active.focus();\n };\n};\n","/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import * as cookie from 'cookie';\r\nexport function hasDocumentCookie() {\r\n // Can we get/set cookies on document.cookie?\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\nexport function cleanCookies() {\r\n document.cookie.split(';').forEach(function (c) {\r\n document.cookie = c\r\n .replace(/^ +/, '')\r\n .replace(/=.*/, '=;expires=' + new Date().toUTCString() + ';path=/');\r\n });\r\n}\r\nexport function parseCookies(cookies, options) {\r\n if (typeof cookies === 'string') {\r\n return cookie.parse(cookies, options);\r\n }\r\n else if (typeof cookies === 'object' && cookies !== null) {\r\n return cookies;\r\n }\r\n else {\r\n return {};\r\n }\r\n}\r\nexport function isParsingCookie(value, doNotParse) {\r\n if (typeof doNotParse === 'undefined') {\r\n // We guess if the cookie start with { or [, it has been serialized\r\n doNotParse =\r\n !value || (value[0] !== '{' && value[0] !== '[' && value[0] !== '\"');\r\n }\r\n return !doNotParse;\r\n}\r\nexport function readCookie(value, options) {\r\n if (options === void 0) { options = {}; }\r\n var cleanValue = cleanupCookieValue(value);\r\n if (isParsingCookie(cleanValue, options.doNotParse)) {\r\n try {\r\n return JSON.parse(cleanValue);\r\n }\r\n catch (e) {\r\n // At least we tried\r\n }\r\n }\r\n // Ignore clean value if we failed the deserialization\r\n // It is not relevant anymore to trim those values\r\n return value;\r\n}\r\nfunction cleanupCookieValue(value) {\r\n // express prepend j: before serializing a cookie\r\n if (value && value[0] === 'j' && value[1] === ':') {\r\n return value.substr(2);\r\n }\r\n return value;\r\n}\r\n","var __assign = (this && this.__assign) || function () {\r\n __assign = Object.assign || function(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\r\n t[p] = s[p];\r\n }\r\n return t;\r\n };\r\n return __assign.apply(this, arguments);\r\n};\r\nimport * as cookie from 'cookie';\r\nimport { hasDocumentCookie, parseCookies, readCookie } from './utils';\r\nvar Cookies = /** @class */ (function () {\r\n function Cookies(cookies, options) {\r\n var _this = this;\r\n this.changeListeners = [];\r\n this.HAS_DOCUMENT_COOKIE = false;\r\n this.cookies = parseCookies(cookies, options);\r\n new Promise(function () {\r\n _this.HAS_DOCUMENT_COOKIE = hasDocumentCookie();\r\n }).catch(function () { });\r\n }\r\n Cookies.prototype._updateBrowserValues = function (parseOptions) {\r\n if (!this.HAS_DOCUMENT_COOKIE) {\r\n return;\r\n }\r\n this.cookies = cookie.parse(document.cookie, parseOptions);\r\n };\r\n Cookies.prototype._emitChange = function (params) {\r\n for (var i = 0; i < this.changeListeners.length; ++i) {\r\n this.changeListeners[i](params);\r\n }\r\n };\r\n Cookies.prototype.get = function (name, options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n return readCookie(this.cookies[name], options);\r\n };\r\n Cookies.prototype.getAll = function (options, parseOptions) {\r\n if (options === void 0) { options = {}; }\r\n this._updateBrowserValues(parseOptions);\r\n var result = {};\r\n for (var name_1 in this.cookies) {\r\n result[name_1] = readCookie(this.cookies[name_1], options);\r\n }\r\n return result;\r\n };\r\n Cookies.prototype.set = function (name, value, options) {\r\n var _a;\r\n if (typeof value === 'object') {\r\n value = JSON.stringify(value);\r\n }\r\n this.cookies = __assign(__assign({}, this.cookies), (_a = {}, _a[name] = value, _a));\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, value, options);\r\n }\r\n this._emitChange({ name: name, value: value, options: options });\r\n };\r\n Cookies.prototype.remove = function (name, options) {\r\n var finalOptions = (options = __assign(__assign({}, options), { expires: new Date(1970, 1, 1, 0, 0, 1), maxAge: 0 }));\r\n this.cookies = __assign({}, this.cookies);\r\n delete this.cookies[name];\r\n if (this.HAS_DOCUMENT_COOKIE) {\r\n document.cookie = cookie.serialize(name, '', finalOptions);\r\n }\r\n this._emitChange({ name: name, value: undefined, options: options });\r\n };\r\n Cookies.prototype.addChangeListener = function (callback) {\r\n this.changeListeners.push(callback);\r\n };\r\n Cookies.prototype.removeChangeListener = function (callback) {\r\n var idx = this.changeListeners.indexOf(callback);\r\n if (idx >= 0) {\r\n this.changeListeners.splice(idx, 1);\r\n }\r\n };\r\n return Cookies;\r\n}());\r\nexport default Cookies;\r\n","import Cookies from './Cookies';\r\nexport default Cookies;\r\n","var v1 = require('./v1');\nvar v4 = require('./v4');\n\nvar uuid = v4;\nuuid.v1 = v1;\nuuid.v4 = v4;\n\nmodule.exports = uuid;\n","/**\n * Convert array of 16 byte values to UUID string format of the form:\n * XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX\n */\nvar byteToHex = [];\nfor (var i = 0; i < 256; ++i) {\n byteToHex[i] = (i + 0x100).toString(16).substr(1);\n}\n\nfunction bytesToUuid(buf, offset) {\n var i = offset || 0;\n var bth = byteToHex;\n // join used to fix memory issue caused by concatenation: https://bugs.chromium.org/p/v8/issues/detail?id=3175#c4\n return ([\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]], '-',\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]],\n bth[buf[i++]], bth[buf[i++]]\n ]).join('');\n}\n\nmodule.exports = bytesToUuid;\n","// Unique ID creation requires a high quality random # generator. In the\n// browser this is a little complicated due to unknown quality of Math.random()\n// and inconsistent support for the `crypto` API. We do the best we can via\n// feature-detection\n\n// getRandomValues needs to be invoked in a context where \"this\" is a Crypto\n// implementation. Also, find the complete implementation of crypto on IE11.\nvar getRandomValues = (typeof(crypto) != 'undefined' && crypto.getRandomValues && crypto.getRandomValues.bind(crypto)) ||\n (typeof(msCrypto) != 'undefined' && typeof window.msCrypto.getRandomValues == 'function' && msCrypto.getRandomValues.bind(msCrypto));\n\nif (getRandomValues) {\n // WHATWG crypto RNG - http://wiki.whatwg.org/wiki/Crypto\n var rnds8 = new Uint8Array(16); // eslint-disable-line no-undef\n\n module.exports = function whatwgRNG() {\n getRandomValues(rnds8);\n return rnds8;\n };\n} else {\n // Math.random()-based (RNG)\n //\n // If all else fails, use Math.random(). It's fast, but is of unspecified\n // quality.\n var rnds = new Array(16);\n\n module.exports = function mathRNG() {\n for (var i = 0, r; i < 16; i++) {\n if ((i & 0x03) === 0) r = Math.random() * 0x100000000;\n rnds[i] = r >>> ((i & 0x03) << 3) & 0xff;\n }\n\n return rnds;\n };\n}\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\n// **`v1()` - Generate time-based UUID**\n//\n// Inspired by https://github.com/LiosK/UUID.js\n// and http://docs.python.org/library/uuid.html\n\nvar _nodeId;\nvar _clockseq;\n\n// Previous uuid creation time\nvar _lastMSecs = 0;\nvar _lastNSecs = 0;\n\n// See https://github.com/uuidjs/uuid for API details\nfunction v1(options, buf, offset) {\n var i = buf && offset || 0;\n var b = buf || [];\n\n options = options || {};\n var node = options.node || _nodeId;\n var clockseq = options.clockseq !== undefined ? options.clockseq : _clockseq;\n\n // node and clockseq need to be initialized to random values if they're not\n // specified. We do this lazily to minimize issues related to insufficient\n // system entropy. See #189\n if (node == null || clockseq == null) {\n var seedBytes = rng();\n if (node == null) {\n // Per 4.5, create and 48-bit node id, (47 random bits + multicast bit = 1)\n node = _nodeId = [\n seedBytes[0] | 0x01,\n seedBytes[1], seedBytes[2], seedBytes[3], seedBytes[4], seedBytes[5]\n ];\n }\n if (clockseq == null) {\n // Per 4.2.2, randomize (14 bit) clockseq\n clockseq = _clockseq = (seedBytes[6] << 8 | seedBytes[7]) & 0x3fff;\n }\n }\n\n // UUID timestamps are 100 nano-second units since the Gregorian epoch,\n // (1582-10-15 00:00). JSNumbers aren't precise enough for this, so\n // time is handled internally as 'msecs' (integer milliseconds) and 'nsecs'\n // (100-nanoseconds offset from msecs) since unix epoch, 1970-01-01 00:00.\n var msecs = options.msecs !== undefined ? options.msecs : new Date().getTime();\n\n // Per 4.2.1.2, use count of uuid's generated during the current clock\n // cycle to simulate higher resolution clock\n var nsecs = options.nsecs !== undefined ? options.nsecs : _lastNSecs + 1;\n\n // Time since last uuid creation (in msecs)\n var dt = (msecs - _lastMSecs) + (nsecs - _lastNSecs)/10000;\n\n // Per 4.2.1.2, Bump clockseq on clock regression\n if (dt < 0 && options.clockseq === undefined) {\n clockseq = clockseq + 1 & 0x3fff;\n }\n\n // Reset nsecs if clock regresses (new clockseq) or we've moved onto a new\n // time interval\n if ((dt < 0 || msecs > _lastMSecs) && options.nsecs === undefined) {\n nsecs = 0;\n }\n\n // Per 4.2.1.2 Throw error if too many uuids are requested\n if (nsecs >= 10000) {\n throw new Error('uuid.v1(): Can\\'t create more than 10M uuids/sec');\n }\n\n _lastMSecs = msecs;\n _lastNSecs = nsecs;\n _clockseq = clockseq;\n\n // Per 4.1.4 - Convert from unix epoch to Gregorian epoch\n msecs += 12219292800000;\n\n // `time_low`\n var tl = ((msecs & 0xfffffff) * 10000 + nsecs) % 0x100000000;\n b[i++] = tl >>> 24 & 0xff;\n b[i++] = tl >>> 16 & 0xff;\n b[i++] = tl >>> 8 & 0xff;\n b[i++] = tl & 0xff;\n\n // `time_mid`\n var tmh = (msecs / 0x100000000 * 10000) & 0xfffffff;\n b[i++] = tmh >>> 8 & 0xff;\n b[i++] = tmh & 0xff;\n\n // `time_high_and_version`\n b[i++] = tmh >>> 24 & 0xf | 0x10; // include version\n b[i++] = tmh >>> 16 & 0xff;\n\n // `clock_seq_hi_and_reserved` (Per 4.2.2 - include variant)\n b[i++] = clockseq >>> 8 | 0x80;\n\n // `clock_seq_low`\n b[i++] = clockseq & 0xff;\n\n // `node`\n for (var n = 0; n < 6; ++n) {\n b[i + n] = node[n];\n }\n\n return buf ? buf : bytesToUuid(b);\n}\n\nmodule.exports = v1;\n","var rng = require('./lib/rng');\nvar bytesToUuid = require('./lib/bytesToUuid');\n\nfunction v4(options, buf, offset) {\n var i = buf && offset || 0;\n\n if (typeof(options) == 'string') {\n buf = options === 'binary' ? new Array(16) : null;\n options = null;\n }\n options = options || {};\n\n var rnds = options.random || (options.rng || rng)();\n\n // Per 4.4, set bits for version and `clock_seq_hi_and_reserved`\n rnds[6] = (rnds[6] & 0x0f) | 0x40;\n rnds[8] = (rnds[8] & 0x3f) | 0x80;\n\n // Copy bytes to buffer, if provided\n if (buf) {\n for (var ii = 0; ii < 16; ++ii) {\n buf[i + ii] = rnds[ii];\n }\n }\n\n return buf || bytesToUuid(rnds);\n}\n\nmodule.exports = v4;\n","module.exports = require('./lib/Observable.js').Observable;\n","\"use strict\";\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.Observable = void 0;\n\nfunction _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError(\"Cannot call a class as a function\"); } }\n\nfunction _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if (\"value\" in descriptor) descriptor.writable = true; Object.defineProperty(target, descriptor.key, descriptor); } }\n\nfunction _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); return Constructor; }\n\n// === Symbol Support ===\nvar hasSymbols = function () {\n return typeof Symbol === 'function';\n};\n\nvar hasSymbol = function (name) {\n return hasSymbols() && Boolean(Symbol[name]);\n};\n\nvar getSymbol = function (name) {\n return hasSymbol(name) ? Symbol[name] : '@@' + name;\n};\n\nif (hasSymbols() && !hasSymbol('observable')) {\n Symbol.observable = Symbol('observable');\n}\n\nvar SymbolIterator = getSymbol('iterator');\nvar SymbolObservable = getSymbol('observable');\nvar SymbolSpecies = getSymbol('species'); // === Abstract Operations ===\n\nfunction getMethod(obj, key) {\n var value = obj[key];\n if (value == null) return undefined;\n if (typeof value !== 'function') throw new TypeError(value + ' is not a function');\n return value;\n}\n\nfunction getSpecies(obj) {\n var ctor = obj.constructor;\n\n if (ctor !== undefined) {\n ctor = ctor[SymbolSpecies];\n\n if (ctor === null) {\n ctor = undefined;\n }\n }\n\n return ctor !== undefined ? ctor : Observable;\n}\n\nfunction isObservable(x) {\n return x instanceof Observable; // SPEC: Brand check\n}\n\nfunction hostReportError(e) {\n if (hostReportError.log) {\n hostReportError.log(e);\n } else {\n setTimeout(function () {\n throw e;\n });\n }\n}\n\nfunction enqueue(fn) {\n Promise.resolve().then(function () {\n try {\n fn();\n } catch (e) {\n hostReportError(e);\n }\n });\n}\n\nfunction cleanupSubscription(subscription) {\n var cleanup = subscription._cleanup;\n if (cleanup === undefined) return;\n subscription._cleanup = undefined;\n\n if (!cleanup) {\n return;\n }\n\n try {\n if (typeof cleanup === 'function') {\n cleanup();\n } else {\n var unsubscribe = getMethod(cleanup, 'unsubscribe');\n\n if (unsubscribe) {\n unsubscribe.call(cleanup);\n }\n }\n } catch (e) {\n hostReportError(e);\n }\n}\n\nfunction closeSubscription(subscription) {\n subscription._observer = undefined;\n subscription._queue = undefined;\n subscription._state = 'closed';\n}\n\nfunction flushSubscription(subscription) {\n var queue = subscription._queue;\n\n if (!queue) {\n return;\n }\n\n subscription._queue = undefined;\n subscription._state = 'ready';\n\n for (var i = 0; i < queue.length; ++i) {\n notifySubscription(subscription, queue[i].type, queue[i].value);\n if (subscription._state === 'closed') break;\n }\n}\n\nfunction notifySubscription(subscription, type, value) {\n subscription._state = 'running';\n var observer = subscription._observer;\n\n try {\n var m = getMethod(observer, type);\n\n switch (type) {\n case 'next':\n if (m) m.call(observer, value);\n break;\n\n case 'error':\n closeSubscription(subscription);\n if (m) m.call(observer, value);else throw value;\n break;\n\n case 'complete':\n closeSubscription(subscription);\n if (m) m.call(observer);\n break;\n }\n } catch (e) {\n hostReportError(e);\n }\n\n if (subscription._state === 'closed') cleanupSubscription(subscription);else if (subscription._state === 'running') subscription._state = 'ready';\n}\n\nfunction onNotify(subscription, type, value) {\n if (subscription._state === 'closed') return;\n\n if (subscription._state === 'buffering') {\n subscription._queue.push({\n type: type,\n value: value\n });\n\n return;\n }\n\n if (subscription._state !== 'ready') {\n subscription._state = 'buffering';\n subscription._queue = [{\n type: type,\n value: value\n }];\n enqueue(function () {\n return flushSubscription(subscription);\n });\n return;\n }\n\n notifySubscription(subscription, type, value);\n}\n\nvar Subscription =\n/*#__PURE__*/\nfunction () {\n function Subscription(observer, subscriber) {\n _classCallCheck(this, Subscription);\n\n // ASSERT: observer is an object\n // ASSERT: subscriber is callable\n this._cleanup = undefined;\n this._observer = observer;\n this._queue = undefined;\n this._state = 'initializing';\n var subscriptionObserver = new SubscriptionObserver(this);\n\n try {\n this._cleanup = subscriber.call(undefined, subscriptionObserver);\n } catch (e) {\n subscriptionObserver.error(e);\n }\n\n if (this._state === 'initializing') this._state = 'ready';\n }\n\n _createClass(Subscription, [{\n key: \"unsubscribe\",\n value: function unsubscribe() {\n if (this._state !== 'closed') {\n closeSubscription(this);\n cleanupSubscription(this);\n }\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._state === 'closed';\n }\n }]);\n\n return Subscription;\n}();\n\nvar SubscriptionObserver =\n/*#__PURE__*/\nfunction () {\n function SubscriptionObserver(subscription) {\n _classCallCheck(this, SubscriptionObserver);\n\n this._subscription = subscription;\n }\n\n _createClass(SubscriptionObserver, [{\n key: \"next\",\n value: function next(value) {\n onNotify(this._subscription, 'next', value);\n }\n }, {\n key: \"error\",\n value: function error(value) {\n onNotify(this._subscription, 'error', value);\n }\n }, {\n key: \"complete\",\n value: function complete() {\n onNotify(this._subscription, 'complete');\n }\n }, {\n key: \"closed\",\n get: function () {\n return this._subscription._state === 'closed';\n }\n }]);\n\n return SubscriptionObserver;\n}();\n\nvar Observable =\n/*#__PURE__*/\nfunction () {\n function Observable(subscriber) {\n _classCallCheck(this, Observable);\n\n if (!(this instanceof Observable)) throw new TypeError('Observable cannot be called as a function');\n if (typeof subscriber !== 'function') throw new TypeError('Observable initializer must be a function');\n this._subscriber = subscriber;\n }\n\n _createClass(Observable, [{\n key: \"subscribe\",\n value: function subscribe(observer) {\n if (typeof observer !== 'object' || observer === null) {\n observer = {\n next: observer,\n error: arguments[1],\n complete: arguments[2]\n };\n }\n\n return new Subscription(observer, this._subscriber);\n }\n }, {\n key: \"forEach\",\n value: function forEach(fn) {\n var _this = this;\n\n return new Promise(function (resolve, reject) {\n if (typeof fn !== 'function') {\n reject(new TypeError(fn + ' is not a function'));\n return;\n }\n\n function done() {\n subscription.unsubscribe();\n resolve();\n }\n\n var subscription = _this.subscribe({\n next: function (value) {\n try {\n fn(value, done);\n } catch (e) {\n reject(e);\n subscription.unsubscribe();\n }\n },\n error: reject,\n complete: resolve\n });\n });\n }\n }, {\n key: \"map\",\n value: function map(fn) {\n var _this2 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this2.subscribe({\n next: function (value) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"filter\",\n value: function filter(fn) {\n var _this3 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n return _this3.subscribe({\n next: function (value) {\n try {\n if (!fn(value)) return;\n } catch (e) {\n return observer.error(e);\n }\n\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"reduce\",\n value: function reduce(fn) {\n var _this4 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n var hasSeed = arguments.length > 1;\n var hasValue = false;\n var seed = arguments[1];\n var acc = seed;\n return new C(function (observer) {\n return _this4.subscribe({\n next: function (value) {\n var first = !hasValue;\n hasValue = true;\n\n if (!first || hasSeed) {\n try {\n acc = fn(acc, value);\n } catch (e) {\n return observer.error(e);\n }\n } else {\n acc = value;\n }\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (!hasValue && !hasSeed) return observer.error(new TypeError('Cannot reduce an empty sequence'));\n observer.next(acc);\n observer.complete();\n }\n });\n });\n }\n }, {\n key: \"concat\",\n value: function concat() {\n var _this5 = this;\n\n for (var _len = arguments.length, sources = new Array(_len), _key = 0; _key < _len; _key++) {\n sources[_key] = arguments[_key];\n }\n\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscription;\n var index = 0;\n\n function startNext(next) {\n subscription = next.subscribe({\n next: function (v) {\n observer.next(v);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n if (index === sources.length) {\n subscription = undefined;\n observer.complete();\n } else {\n startNext(C.from(sources[index++]));\n }\n }\n });\n }\n\n startNext(_this5);\n return function () {\n if (subscription) {\n subscription.unsubscribe();\n subscription = undefined;\n }\n };\n });\n }\n }, {\n key: \"flatMap\",\n value: function flatMap(fn) {\n var _this6 = this;\n\n if (typeof fn !== 'function') throw new TypeError(fn + ' is not a function');\n var C = getSpecies(this);\n return new C(function (observer) {\n var subscriptions = [];\n\n var outer = _this6.subscribe({\n next: function (value) {\n if (fn) {\n try {\n value = fn(value);\n } catch (e) {\n return observer.error(e);\n }\n }\n\n var inner = C.from(value).subscribe({\n next: function (value) {\n observer.next(value);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n var i = subscriptions.indexOf(inner);\n if (i >= 0) subscriptions.splice(i, 1);\n completeIfDone();\n }\n });\n subscriptions.push(inner);\n },\n error: function (e) {\n observer.error(e);\n },\n complete: function () {\n completeIfDone();\n }\n });\n\n function completeIfDone() {\n if (outer.closed && subscriptions.length === 0) observer.complete();\n }\n\n return function () {\n subscriptions.forEach(function (s) {\n return s.unsubscribe();\n });\n outer.unsubscribe();\n };\n });\n }\n }, {\n key: SymbolObservable,\n value: function () {\n return this;\n }\n }], [{\n key: \"from\",\n value: function from(x) {\n var C = typeof this === 'function' ? this : Observable;\n if (x == null) throw new TypeError(x + ' is not an object');\n var method = getMethod(x, SymbolObservable);\n\n if (method) {\n var observable = method.call(x);\n if (Object(observable) !== observable) throw new TypeError(observable + ' is not an object');\n if (isObservable(observable) && observable.constructor === C) return observable;\n return new C(function (observer) {\n return observable.subscribe(observer);\n });\n }\n\n if (hasSymbol('iterator')) {\n method = getMethod(x, SymbolIterator);\n\n if (method) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n var _iteratorNormalCompletion = true;\n var _didIteratorError = false;\n var _iteratorError = undefined;\n\n try {\n for (var _iterator = method.call(x)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var _item = _step.value;\n observer.next(_item);\n if (observer.closed) return;\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n\n observer.complete();\n });\n });\n }\n }\n\n if (Array.isArray(x)) {\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < x.length; ++i) {\n observer.next(x[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n\n throw new TypeError(x + ' is not observable');\n }\n }, {\n key: \"of\",\n value: function of() {\n for (var _len2 = arguments.length, items = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n items[_key2] = arguments[_key2];\n }\n\n var C = typeof this === 'function' ? this : Observable;\n return new C(function (observer) {\n enqueue(function () {\n if (observer.closed) return;\n\n for (var i = 0; i < items.length; ++i) {\n observer.next(items[i]);\n if (observer.closed) return;\n }\n\n observer.complete();\n });\n });\n }\n }, {\n key: SymbolSpecies,\n get: function () {\n return this;\n }\n }]);\n\n return Observable;\n}();\n\nexports.Observable = Observable;\n\nif (hasSymbols()) {\n Object.defineProperty(Observable, Symbol('extensions'), {\n value: {\n symbol: SymbolObservable,\n hostReportError: hostReportError\n },\n configurable: true\n });\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) {\n arr2[i] = arr[i];\n }\n return arr2;\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n _next(undefined);\n });\n };\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","import getPrototypeOf from \"./getPrototypeOf.js\";\nimport isNativeReflectConstruct from \"./isNativeReflectConstruct.js\";\nimport possibleConstructorReturn from \"./possibleConstructorReturn.js\";\nexport default function _createSuper(Derived) {\n var hasNativeReflectConstruct = isNativeReflectConstruct();\n return function _createSuperInternal() {\n var Super = getPrototypeOf(Derived),\n result;\n if (hasNativeReflectConstruct) {\n var NewTarget = getPrototypeOf(this).constructor;\n result = Reflect.construct(Super, arguments, NewTarget);\n } else {\n result = Super.apply(this, arguments);\n }\n return possibleConstructorReturn(this, result);\n };\n}","export default function _isNativeReflectConstruct() {\n if (typeof Reflect === \"undefined\" || !Reflect.construct) return false;\n if (Reflect.construct.sham) return false;\n if (typeof Proxy === \"function\") return true;\n try {\n Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {}));\n return true;\n } catch (e) {\n return false;\n }\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","export default function _extends() {\n _extends = Object.assign ? Object.assign.bind() : function (target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i];\n for (var key in source) {\n if (Object.prototype.hasOwnProperty.call(source, key)) {\n target[key] = source[key];\n }\n }\n }\n return target;\n };\n return _extends.apply(this, arguments);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inheritsLoose(subClass, superClass) {\n subClass.prototype = Object.create(superClass.prototype);\n subClass.prototype.constructor = subClass;\n setPrototypeOf(subClass, superClass);\n}","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import defineProperty from \"./defineProperty.js\";\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n enumerableOnly && (symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n })), keys.push.apply(keys, symbols);\n }\n return keys;\n}\nexport default function _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = null != arguments[i] ? arguments[i] : {};\n i % 2 ? ownKeys(Object(source), !0).forEach(function (key) {\n defineProperty(target, key, source[key]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n return target;\n}","import objectWithoutPropertiesLoose from \"./objectWithoutPropertiesLoose.js\";\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n return target;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","import _typeof from \"./typeof.js\";\nexport default function _regeneratorRuntime() {\n \"use strict\"; /*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/facebook/regenerator/blob/main/LICENSE */\n _regeneratorRuntime = function _regeneratorRuntime() {\n return exports;\n };\n var exports = {},\n Op = Object.prototype,\n hasOwn = Op.hasOwnProperty,\n defineProperty = Object.defineProperty || function (obj, key, desc) {\n obj[key] = desc.value;\n },\n $Symbol = \"function\" == typeof Symbol ? Symbol : {},\n iteratorSymbol = $Symbol.iterator || \"@@iterator\",\n asyncIteratorSymbol = $Symbol.asyncIterator || \"@@asyncIterator\",\n toStringTagSymbol = $Symbol.toStringTag || \"@@toStringTag\";\n function define(obj, key, value) {\n return Object.defineProperty(obj, key, {\n value: value,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }), obj[key];\n }\n try {\n define({}, \"\");\n } catch (err) {\n define = function define(obj, key, value) {\n return obj[key] = value;\n };\n }\n function wrap(innerFn, outerFn, self, tryLocsList) {\n var protoGenerator = outerFn && outerFn.prototype instanceof Generator ? outerFn : Generator,\n generator = Object.create(protoGenerator.prototype),\n context = new Context(tryLocsList || []);\n return defineProperty(generator, \"_invoke\", {\n value: makeInvokeMethod(innerFn, self, context)\n }), generator;\n }\n function tryCatch(fn, obj, arg) {\n try {\n return {\n type: \"normal\",\n arg: fn.call(obj, arg)\n };\n } catch (err) {\n return {\n type: \"throw\",\n arg: err\n };\n }\n }\n exports.wrap = wrap;\n var ContinueSentinel = {};\n function Generator() {}\n function GeneratorFunction() {}\n function GeneratorFunctionPrototype() {}\n var IteratorPrototype = {};\n define(IteratorPrototype, iteratorSymbol, function () {\n return this;\n });\n var getProto = Object.getPrototypeOf,\n NativeIteratorPrototype = getProto && getProto(getProto(values([])));\n NativeIteratorPrototype && NativeIteratorPrototype !== Op && hasOwn.call(NativeIteratorPrototype, iteratorSymbol) && (IteratorPrototype = NativeIteratorPrototype);\n var Gp = GeneratorFunctionPrototype.prototype = Generator.prototype = Object.create(IteratorPrototype);\n function defineIteratorMethods(prototype) {\n [\"next\", \"throw\", \"return\"].forEach(function (method) {\n define(prototype, method, function (arg) {\n return this._invoke(method, arg);\n });\n });\n }\n function AsyncIterator(generator, PromiseImpl) {\n function invoke(method, arg, resolve, reject) {\n var record = tryCatch(generator[method], generator, arg);\n if (\"throw\" !== record.type) {\n var result = record.arg,\n value = result.value;\n return value && \"object\" == _typeof(value) && hasOwn.call(value, \"__await\") ? PromiseImpl.resolve(value.__await).then(function (value) {\n invoke(\"next\", value, resolve, reject);\n }, function (err) {\n invoke(\"throw\", err, resolve, reject);\n }) : PromiseImpl.resolve(value).then(function (unwrapped) {\n result.value = unwrapped, resolve(result);\n }, function (error) {\n return invoke(\"throw\", error, resolve, reject);\n });\n }\n reject(record.arg);\n }\n var previousPromise;\n defineProperty(this, \"_invoke\", {\n value: function value(method, arg) {\n function callInvokeWithMethodAndArg() {\n return new PromiseImpl(function (resolve, reject) {\n invoke(method, arg, resolve, reject);\n });\n }\n return previousPromise = previousPromise ? previousPromise.then(callInvokeWithMethodAndArg, callInvokeWithMethodAndArg) : callInvokeWithMethodAndArg();\n }\n });\n }\n function makeInvokeMethod(innerFn, self, context) {\n var state = \"suspendedStart\";\n return function (method, arg) {\n if (\"executing\" === state) throw new Error(\"Generator is already running\");\n if (\"completed\" === state) {\n if (\"throw\" === method) throw arg;\n return doneResult();\n }\n for (context.method = method, context.arg = arg;;) {\n var delegate = context.delegate;\n if (delegate) {\n var delegateResult = maybeInvokeDelegate(delegate, context);\n if (delegateResult) {\n if (delegateResult === ContinueSentinel) continue;\n return delegateResult;\n }\n }\n if (\"next\" === context.method) context.sent = context._sent = context.arg;else if (\"throw\" === context.method) {\n if (\"suspendedStart\" === state) throw state = \"completed\", context.arg;\n context.dispatchException(context.arg);\n } else \"return\" === context.method && context.abrupt(\"return\", context.arg);\n state = \"executing\";\n var record = tryCatch(innerFn, self, context);\n if (\"normal\" === record.type) {\n if (state = context.done ? \"completed\" : \"suspendedYield\", record.arg === ContinueSentinel) continue;\n return {\n value: record.arg,\n done: context.done\n };\n }\n \"throw\" === record.type && (state = \"completed\", context.method = \"throw\", context.arg = record.arg);\n }\n };\n }\n function maybeInvokeDelegate(delegate, context) {\n var methodName = context.method,\n method = delegate.iterator[methodName];\n if (undefined === method) return context.delegate = null, \"throw\" === methodName && delegate.iterator[\"return\"] && (context.method = \"return\", context.arg = undefined, maybeInvokeDelegate(delegate, context), \"throw\" === context.method) || \"return\" !== methodName && (context.method = \"throw\", context.arg = new TypeError(\"The iterator does not provide a '\" + methodName + \"' method\")), ContinueSentinel;\n var record = tryCatch(method, delegate.iterator, context.arg);\n if (\"throw\" === record.type) return context.method = \"throw\", context.arg = record.arg, context.delegate = null, ContinueSentinel;\n var info = record.arg;\n return info ? info.done ? (context[delegate.resultName] = info.value, context.next = delegate.nextLoc, \"return\" !== context.method && (context.method = \"next\", context.arg = undefined), context.delegate = null, ContinueSentinel) : info : (context.method = \"throw\", context.arg = new TypeError(\"iterator result is not an object\"), context.delegate = null, ContinueSentinel);\n }\n function pushTryEntry(locs) {\n var entry = {\n tryLoc: locs[0]\n };\n 1 in locs && (entry.catchLoc = locs[1]), 2 in locs && (entry.finallyLoc = locs[2], entry.afterLoc = locs[3]), this.tryEntries.push(entry);\n }\n function resetTryEntry(entry) {\n var record = entry.completion || {};\n record.type = \"normal\", delete record.arg, entry.completion = record;\n }\n function Context(tryLocsList) {\n this.tryEntries = [{\n tryLoc: \"root\"\n }], tryLocsList.forEach(pushTryEntry, this), this.reset(!0);\n }\n function values(iterable) {\n if (iterable) {\n var iteratorMethod = iterable[iteratorSymbol];\n if (iteratorMethod) return iteratorMethod.call(iterable);\n if (\"function\" == typeof iterable.next) return iterable;\n if (!isNaN(iterable.length)) {\n var i = -1,\n next = function next() {\n for (; ++i < iterable.length;) {\n if (hasOwn.call(iterable, i)) return next.value = iterable[i], next.done = !1, next;\n }\n return next.value = undefined, next.done = !0, next;\n };\n return next.next = next;\n }\n }\n return {\n next: doneResult\n };\n }\n function doneResult() {\n return {\n value: undefined,\n done: !0\n };\n }\n return GeneratorFunction.prototype = GeneratorFunctionPrototype, defineProperty(Gp, \"constructor\", {\n value: GeneratorFunctionPrototype,\n configurable: !0\n }), defineProperty(GeneratorFunctionPrototype, \"constructor\", {\n value: GeneratorFunction,\n configurable: !0\n }), GeneratorFunction.displayName = define(GeneratorFunctionPrototype, toStringTagSymbol, \"GeneratorFunction\"), exports.isGeneratorFunction = function (genFun) {\n var ctor = \"function\" == typeof genFun && genFun.constructor;\n return !!ctor && (ctor === GeneratorFunction || \"GeneratorFunction\" === (ctor.displayName || ctor.name));\n }, exports.mark = function (genFun) {\n return Object.setPrototypeOf ? Object.setPrototypeOf(genFun, GeneratorFunctionPrototype) : (genFun.__proto__ = GeneratorFunctionPrototype, define(genFun, toStringTagSymbol, \"GeneratorFunction\")), genFun.prototype = Object.create(Gp), genFun;\n }, exports.awrap = function (arg) {\n return {\n __await: arg\n };\n }, defineIteratorMethods(AsyncIterator.prototype), define(AsyncIterator.prototype, asyncIteratorSymbol, function () {\n return this;\n }), exports.AsyncIterator = AsyncIterator, exports.async = function (innerFn, outerFn, self, tryLocsList, PromiseImpl) {\n void 0 === PromiseImpl && (PromiseImpl = Promise);\n var iter = new AsyncIterator(wrap(innerFn, outerFn, self, tryLocsList), PromiseImpl);\n return exports.isGeneratorFunction(outerFn) ? iter : iter.next().then(function (result) {\n return result.done ? result.value : iter.next();\n });\n }, defineIteratorMethods(Gp), define(Gp, toStringTagSymbol, \"Generator\"), define(Gp, iteratorSymbol, function () {\n return this;\n }), define(Gp, \"toString\", function () {\n return \"[object Generator]\";\n }), exports.keys = function (val) {\n var object = Object(val),\n keys = [];\n for (var key in object) {\n keys.push(key);\n }\n return keys.reverse(), function next() {\n for (; keys.length;) {\n var key = keys.pop();\n if (key in object) return next.value = key, next.done = !1, next;\n }\n return next.done = !0, next;\n };\n }, exports.values = values, Context.prototype = {\n constructor: Context,\n reset: function reset(skipTempReset) {\n if (this.prev = 0, this.next = 0, this.sent = this._sent = undefined, this.done = !1, this.delegate = null, this.method = \"next\", this.arg = undefined, this.tryEntries.forEach(resetTryEntry), !skipTempReset) for (var name in this) {\n \"t\" === name.charAt(0) && hasOwn.call(this, name) && !isNaN(+name.slice(1)) && (this[name] = undefined);\n }\n },\n stop: function stop() {\n this.done = !0;\n var rootRecord = this.tryEntries[0].completion;\n if (\"throw\" === rootRecord.type) throw rootRecord.arg;\n return this.rval;\n },\n dispatchException: function dispatchException(exception) {\n if (this.done) throw exception;\n var context = this;\n function handle(loc, caught) {\n return record.type = \"throw\", record.arg = exception, context.next = loc, caught && (context.method = \"next\", context.arg = undefined), !!caught;\n }\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i],\n record = entry.completion;\n if (\"root\" === entry.tryLoc) return handle(\"end\");\n if (entry.tryLoc <= this.prev) {\n var hasCatch = hasOwn.call(entry, \"catchLoc\"),\n hasFinally = hasOwn.call(entry, \"finallyLoc\");\n if (hasCatch && hasFinally) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n } else if (hasCatch) {\n if (this.prev < entry.catchLoc) return handle(entry.catchLoc, !0);\n } else {\n if (!hasFinally) throw new Error(\"try statement without catch or finally\");\n if (this.prev < entry.finallyLoc) return handle(entry.finallyLoc);\n }\n }\n }\n },\n abrupt: function abrupt(type, arg) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc <= this.prev && hasOwn.call(entry, \"finallyLoc\") && this.prev < entry.finallyLoc) {\n var finallyEntry = entry;\n break;\n }\n }\n finallyEntry && (\"break\" === type || \"continue\" === type) && finallyEntry.tryLoc <= arg && arg <= finallyEntry.finallyLoc && (finallyEntry = null);\n var record = finallyEntry ? finallyEntry.completion : {};\n return record.type = type, record.arg = arg, finallyEntry ? (this.method = \"next\", this.next = finallyEntry.finallyLoc, ContinueSentinel) : this.complete(record);\n },\n complete: function complete(record, afterLoc) {\n if (\"throw\" === record.type) throw record.arg;\n return \"break\" === record.type || \"continue\" === record.type ? this.next = record.arg : \"return\" === record.type ? (this.rval = this.arg = record.arg, this.method = \"return\", this.next = \"end\") : \"normal\" === record.type && afterLoc && (this.next = afterLoc), ContinueSentinel;\n },\n finish: function finish(finallyLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.finallyLoc === finallyLoc) return this.complete(entry.completion, entry.afterLoc), resetTryEntry(entry), ContinueSentinel;\n }\n },\n \"catch\": function _catch(tryLoc) {\n for (var i = this.tryEntries.length - 1; i >= 0; --i) {\n var entry = this.tryEntries[i];\n if (entry.tryLoc === tryLoc) {\n var record = entry.completion;\n if (\"throw\" === record.type) {\n var thrown = record.arg;\n resetTryEntry(entry);\n }\n return thrown;\n }\n }\n throw new Error(\"illegal catch attempt\");\n },\n delegateYield: function delegateYield(iterable, resultName, nextLoc) {\n return this.delegate = {\n iterator: values(iterable),\n resultName: resultName,\n nextLoc: nextLoc\n }, \"next\" === this.method && (this.arg = undefined), ContinueSentinel;\n }\n }, exports;\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _iterableToArrayLimit(arr, i) {\n var _i = null == arr ? null : \"undefined\" != typeof Symbol && arr[Symbol.iterator] || arr[\"@@iterator\"];\n if (null != _i) {\n var _s,\n _e,\n _x,\n _r,\n _arr = [],\n _n = !0,\n _d = !1;\n try {\n if (_x = (_i = _i.call(arr)).next, 0 === i) {\n if (Object(_i) !== _i) return;\n _n = !1;\n } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0) {\n ;\n }\n } catch (err) {\n _d = !0, _e = err;\n } finally {\n try {\n if (!_n && null != _i[\"return\"] && (_r = _i[\"return\"](), Object(_r) !== _r)) return;\n } finally {\n if (_d) throw _e;\n }\n }\n return _arr;\n }\n}","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _toArray(arr) {\n return arrayWithHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableRest();\n}","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return arrayLikeToArray(arr);\n}","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function _toPropertyKey(arg) {\n var key = toPrimitive(arg, \"string\");\n return _typeof(key) === \"symbol\" ? key : String(key);\n}","import _typeof from \"./typeof.js\";\nexport default function _toPrimitive(input, hint) {\n if (_typeof(input) !== \"object\" || input === null) return input;\n var prim = input[Symbol.toPrimitive];\n if (prim !== undefined) {\n var res = prim.call(input, hint || \"default\");\n if (_typeof(res) !== \"object\") return res;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (hint === \"string\" ? String : Number)(input);\n}","export default function _typeof(obj) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (obj) {\n return typeof obj;\n } : function (obj) {\n return obj && \"function\" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? \"symbol\" : typeof obj;\n }, _typeof(obj);\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}\n","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}\n","function asyncGeneratorStep(gen, resolve, reject, _next, _throw, key, arg) {\n try {\n var info = gen[key](arg);\n var value = info.value;\n } catch (error) {\n reject(error);\n return;\n }\n\n if (info.done) {\n resolve(value);\n } else {\n Promise.resolve(value).then(_next, _throw);\n }\n}\n\nexport default function _asyncToGenerator(fn) {\n return function () {\n var self = this,\n args = arguments;\n return new Promise(function (resolve, reject) {\n var gen = fn.apply(self, args);\n\n function _next(value) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"next\", value);\n }\n\n function _throw(err) {\n asyncGeneratorStep(gen, resolve, reject, _next, _throw, \"throw\", err);\n }\n\n _next(undefined);\n });\n };\n}\n","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","export default function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n","export default function _iterableToArray(iter) {\n if (typeof Symbol !== \"undefined\" && iter[Symbol.iterator] != null || iter[\"@@iterator\"] != null) return Array.from(iter);\n}\n","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","import defineProperty from './_define_property.mjs';\n\nexport default function _objectSpread(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n var ownKeys = Object.keys(source);\n\n if (typeof Object.getOwnPropertySymbols === 'function') {\n ownKeys = ownKeys.concat(Object.getOwnPropertySymbols(source).filter(function (sym) {\n return Object.getOwnPropertyDescriptor(source, sym).enumerable;\n }));\n }\n\n ownKeys.forEach(function (key) {\n defineProperty(target, key, source[key]);\n });\n }\n\n return target;\n}","function ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) {\n symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n }\n keys.push.apply(keys, symbols);\n }\n return keys;\n}\n\nexport default function _objectSpreadProps(target, source) {\n source = source != null ? source : {}\n if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(\n target,\n key,\n Object.getOwnPropertyDescriptor(source, key)\n );\n });\n }\n\n return target;\n}","import objectWithoutPropertiesLoose from './_object_without_properties_loose.mjs';\n\nexport default function _objectWithoutProperties(source, excluded) {\n if (source == null) return {};\n var target = objectWithoutPropertiesLoose(source, excluded);\n var key, i;\n\n if (Object.getOwnPropertySymbols) {\n var sourceSymbolKeys = Object.getOwnPropertySymbols(source);\n\n for (i = 0; i < sourceSymbolKeys.length; i++) {\n key = sourceSymbolKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue;\n target[key] = source[key];\n }\n }\n\n return target;\n}","export default function _objectWithoutPropertiesLoose(source, excluded) {\n if (source == null) return {};\n var target = {};\n var sourceKeys = Object.keys(source);\n var key, i;\n\n for (i = 0; i < sourceKeys.length; i++) {\n key = sourceKeys[i];\n if (excluded.indexOf(key) >= 0) continue;\n target[key] = source[key];\n }\n\n return target;\n}\n","import arrayWithHoles from './_array_with_holes.mjs';\nimport iterableToArrayLimit from './_iterable_to_array.mjs';\nimport nonIterableRest from './_non_iterable_rest.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}\n","export default function _taggedTemplateLiteral(strings, raw) {\n if (!raw) {\n raw = strings.slice(0);\n }\n\n return Object.freeze(Object.defineProperties(strings, {\n raw: {\n value: Object.freeze(raw)\n }\n }));\n}\n","import arrayWithoutHoles from './_array_without_holes.mjs';\nimport iterableToArray from './_iterable_to_array.mjs';\nimport nonIterableSpread from './_non_iterable_spread.mjs';\nimport unsupportedIterableToArray from './_unsupported_iterable_to_array.mjs';\n\nexport default function _toConsumableArray(arr) {\n return arrayWithoutHoles(arr) || iterableToArray(arr) || unsupportedIterableToArray(arr) || nonIterableSpread();\n}\n","import _arrayLikeToArray from './_array_like_to_array.mjs';\n\nexport default function _arrayWithoutHoles(arr) {\n if (Array.isArray(arr)) return _arrayLikeToArray(arr);\n}\n","export default function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\n","import _arrayLikeToArray from './_array_like_to_array.mjs';\n\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return _arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(n);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))\n return _arrayLikeToArray(o, minLen);\n}\n","'use strict';\n\nexport default function bind(fn, thisArg) {\n return function wrap() {\n return fn.apply(thisArg, arguments);\n };\n}\n","'use strict';\n\nimport bind from './helpers/bind.js';\n\n// utils is a library of generic helper functions non-specific to axios\n\nconst {toString} = Object.prototype;\nconst {getPrototypeOf} = Object;\n\nconst kindOf = (cache => thing => {\n const str = toString.call(thing);\n return cache[str] || (cache[str] = str.slice(8, -1).toLowerCase());\n})(Object.create(null));\n\nconst kindOfTest = (type) => {\n type = type.toLowerCase();\n return (thing) => kindOf(thing) === type\n}\n\nconst typeOfTest = type => thing => typeof thing === type;\n\n/**\n * Determine if a value is an Array\n *\n * @param {Object} val The value to test\n *\n * @returns {boolean} True if value is an Array, otherwise false\n */\nconst {isArray} = Array;\n\n/**\n * Determine if a value is undefined\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if the value is undefined, otherwise false\n */\nconst isUndefined = typeOfTest('undefined');\n\n/**\n * Determine if a value is a Buffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Buffer, otherwise false\n */\nfunction isBuffer(val) {\n return val !== null && !isUndefined(val) && val.constructor !== null && !isUndefined(val.constructor)\n && isFunction(val.constructor.isBuffer) && val.constructor.isBuffer(val);\n}\n\n/**\n * Determine if a value is an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is an ArrayBuffer, otherwise false\n */\nconst isArrayBuffer = kindOfTest('ArrayBuffer');\n\n\n/**\n * Determine if a value is a view on an ArrayBuffer\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a view on an ArrayBuffer, otherwise false\n */\nfunction isArrayBufferView(val) {\n let result;\n if ((typeof ArrayBuffer !== 'undefined') && (ArrayBuffer.isView)) {\n result = ArrayBuffer.isView(val);\n } else {\n result = (val) && (val.buffer) && (isArrayBuffer(val.buffer));\n }\n return result;\n}\n\n/**\n * Determine if a value is a String\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a String, otherwise false\n */\nconst isString = typeOfTest('string');\n\n/**\n * Determine if a value is a Function\n *\n * @param {*} val The value to test\n * @returns {boolean} True if value is a Function, otherwise false\n */\nconst isFunction = typeOfTest('function');\n\n/**\n * Determine if a value is a Number\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Number, otherwise false\n */\nconst isNumber = typeOfTest('number');\n\n/**\n * Determine if a value is an Object\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an Object, otherwise false\n */\nconst isObject = (thing) => thing !== null && typeof thing === 'object';\n\n/**\n * Determine if a value is a Boolean\n *\n * @param {*} thing The value to test\n * @returns {boolean} True if value is a Boolean, otherwise false\n */\nconst isBoolean = thing => thing === true || thing === false;\n\n/**\n * Determine if a value is a plain Object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a plain Object, otherwise false\n */\nconst isPlainObject = (val) => {\n if (kindOf(val) !== 'object') {\n return false;\n }\n\n const prototype = getPrototypeOf(val);\n return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in val) && !(Symbol.iterator in val);\n}\n\n/**\n * Determine if a value is a Date\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Date, otherwise false\n */\nconst isDate = kindOfTest('Date');\n\n/**\n * Determine if a value is a File\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFile = kindOfTest('File');\n\n/**\n * Determine if a value is a Blob\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Blob, otherwise false\n */\nconst isBlob = kindOfTest('Blob');\n\n/**\n * Determine if a value is a FileList\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a File, otherwise false\n */\nconst isFileList = kindOfTest('FileList');\n\n/**\n * Determine if a value is a Stream\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a Stream, otherwise false\n */\nconst isStream = (val) => isObject(val) && isFunction(val.pipe);\n\n/**\n * Determine if a value is a FormData\n *\n * @param {*} thing The value to test\n *\n * @returns {boolean} True if value is an FormData, otherwise false\n */\nconst isFormData = (thing) => {\n const pattern = '[object FormData]';\n return thing && (\n (typeof FormData === 'function' && thing instanceof FormData) ||\n toString.call(thing) === pattern ||\n (isFunction(thing.toString) && thing.toString() === pattern)\n );\n}\n\n/**\n * Determine if a value is a URLSearchParams object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a URLSearchParams object, otherwise false\n */\nconst isURLSearchParams = kindOfTest('URLSearchParams');\n\n/**\n * Trim excess whitespace off the beginning and end of a string\n *\n * @param {String} str The String to trim\n *\n * @returns {String} The String freed of excess whitespace\n */\nconst trim = (str) => str.trim ?\n str.trim() : str.replace(/^[\\s\\uFEFF\\xA0]+|[\\s\\uFEFF\\xA0]+$/g, '');\n\n/**\n * Iterate over an Array or an Object invoking a function for each item.\n *\n * If `obj` is an Array callback will be called passing\n * the value, index, and complete array for each item.\n *\n * If 'obj' is an Object callback will be called passing\n * the value, key, and complete object for each property.\n *\n * @param {Object|Array} obj The object to iterate\n * @param {Function} fn The callback to invoke for each item\n *\n * @param {Boolean} [allOwnKeys = false]\n * @returns {any}\n */\nfunction forEach(obj, fn, {allOwnKeys = false} = {}) {\n // Don't bother if no value provided\n if (obj === null || typeof obj === 'undefined') {\n return;\n }\n\n let i;\n let l;\n\n // Force an array if not already something iterable\n if (typeof obj !== 'object') {\n /*eslint no-param-reassign:0*/\n obj = [obj];\n }\n\n if (isArray(obj)) {\n // Iterate over array values\n for (i = 0, l = obj.length; i < l; i++) {\n fn.call(null, obj[i], i, obj);\n }\n } else {\n // Iterate over object keys\n const keys = allOwnKeys ? Object.getOwnPropertyNames(obj) : Object.keys(obj);\n const len = keys.length;\n let key;\n\n for (i = 0; i < len; i++) {\n key = keys[i];\n fn.call(null, obj[key], key, obj);\n }\n }\n}\n\nfunction findKey(obj, key) {\n key = key.toLowerCase();\n const keys = Object.keys(obj);\n let i = keys.length;\n let _key;\n while (i-- > 0) {\n _key = keys[i];\n if (key === _key.toLowerCase()) {\n return _key;\n }\n }\n return null;\n}\n\nconst _global = typeof self === \"undefined\" ? typeof global === \"undefined\" ? this : global : self;\n\nconst isContextDefined = (context) => !isUndefined(context) && context !== _global;\n\n/**\n * Accepts varargs expecting each argument to be an object, then\n * immutably merges the properties of each object and returns result.\n *\n * When multiple objects contain the same key the later object in\n * the arguments list will take precedence.\n *\n * Example:\n *\n * ```js\n * var result = merge({foo: 123}, {foo: 456});\n * console.log(result.foo); // outputs 456\n * ```\n *\n * @param {Object} obj1 Object to merge\n *\n * @returns {Object} Result of all merge properties\n */\nfunction merge(/* obj1, obj2, obj3, ... */) {\n const {caseless} = isContextDefined(this) && this || {};\n const result = {};\n const assignValue = (val, key) => {\n const targetKey = caseless && findKey(result, key) || key;\n if (isPlainObject(result[targetKey]) && isPlainObject(val)) {\n result[targetKey] = merge(result[targetKey], val);\n } else if (isPlainObject(val)) {\n result[targetKey] = merge({}, val);\n } else if (isArray(val)) {\n result[targetKey] = val.slice();\n } else {\n result[targetKey] = val;\n }\n }\n\n for (let i = 0, l = arguments.length; i < l; i++) {\n arguments[i] && forEach(arguments[i], assignValue);\n }\n return result;\n}\n\n/**\n * Extends object a by mutably adding to it the properties of object b.\n *\n * @param {Object} a The object to be extended\n * @param {Object} b The object to copy properties from\n * @param {Object} thisArg The object to bind function to\n *\n * @param {Boolean} [allOwnKeys]\n * @returns {Object} The resulting value of object a\n */\nconst extend = (a, b, thisArg, {allOwnKeys}= {}) => {\n forEach(b, (val, key) => {\n if (thisArg && isFunction(val)) {\n a[key] = bind(val, thisArg);\n } else {\n a[key] = val;\n }\n }, {allOwnKeys});\n return a;\n}\n\n/**\n * Remove byte order marker. This catches EF BB BF (the UTF-8 BOM)\n *\n * @param {string} content with BOM\n *\n * @returns {string} content value without BOM\n */\nconst stripBOM = (content) => {\n if (content.charCodeAt(0) === 0xFEFF) {\n content = content.slice(1);\n }\n return content;\n}\n\n/**\n * Inherit the prototype methods from one constructor into another\n * @param {function} constructor\n * @param {function} superConstructor\n * @param {object} [props]\n * @param {object} [descriptors]\n *\n * @returns {void}\n */\nconst inherits = (constructor, superConstructor, props, descriptors) => {\n constructor.prototype = Object.create(superConstructor.prototype, descriptors);\n constructor.prototype.constructor = constructor;\n Object.defineProperty(constructor, 'super', {\n value: superConstructor.prototype\n });\n props && Object.assign(constructor.prototype, props);\n}\n\n/**\n * Resolve object with deep prototype chain to a flat object\n * @param {Object} sourceObj source object\n * @param {Object} [destObj]\n * @param {Function|Boolean} [filter]\n * @param {Function} [propFilter]\n *\n * @returns {Object}\n */\nconst toFlatObject = (sourceObj, destObj, filter, propFilter) => {\n let props;\n let i;\n let prop;\n const merged = {};\n\n destObj = destObj || {};\n // eslint-disable-next-line no-eq-null,eqeqeq\n if (sourceObj == null) return destObj;\n\n do {\n props = Object.getOwnPropertyNames(sourceObj);\n i = props.length;\n while (i-- > 0) {\n prop = props[i];\n if ((!propFilter || propFilter(prop, sourceObj, destObj)) && !merged[prop]) {\n destObj[prop] = sourceObj[prop];\n merged[prop] = true;\n }\n }\n sourceObj = filter !== false && getPrototypeOf(sourceObj);\n } while (sourceObj && (!filter || filter(sourceObj, destObj)) && sourceObj !== Object.prototype);\n\n return destObj;\n}\n\n/**\n * Determines whether a string ends with the characters of a specified string\n *\n * @param {String} str\n * @param {String} searchString\n * @param {Number} [position= 0]\n *\n * @returns {boolean}\n */\nconst endsWith = (str, searchString, position) => {\n str = String(str);\n if (position === undefined || position > str.length) {\n position = str.length;\n }\n position -= searchString.length;\n const lastIndex = str.indexOf(searchString, position);\n return lastIndex !== -1 && lastIndex === position;\n}\n\n\n/**\n * Returns new array from array like object or null if failed\n *\n * @param {*} [thing]\n *\n * @returns {?Array}\n */\nconst toArray = (thing) => {\n if (!thing) return null;\n if (isArray(thing)) return thing;\n let i = thing.length;\n if (!isNumber(i)) return null;\n const arr = new Array(i);\n while (i-- > 0) {\n arr[i] = thing[i];\n }\n return arr;\n}\n\n/**\n * Checking if the Uint8Array exists and if it does, it returns a function that checks if the\n * thing passed in is an instance of Uint8Array\n *\n * @param {TypedArray}\n *\n * @returns {Array}\n */\n// eslint-disable-next-line func-names\nconst isTypedArray = (TypedArray => {\n // eslint-disable-next-line func-names\n return thing => {\n return TypedArray && thing instanceof TypedArray;\n };\n})(typeof Uint8Array !== 'undefined' && getPrototypeOf(Uint8Array));\n\n/**\n * For each entry in the object, call the function with the key and value.\n *\n * @param {Object} obj - The object to iterate over.\n * @param {Function} fn - The function to call for each entry.\n *\n * @returns {void}\n */\nconst forEachEntry = (obj, fn) => {\n const generator = obj && obj[Symbol.iterator];\n\n const iterator = generator.call(obj);\n\n let result;\n\n while ((result = iterator.next()) && !result.done) {\n const pair = result.value;\n fn.call(obj, pair[0], pair[1]);\n }\n}\n\n/**\n * It takes a regular expression and a string, and returns an array of all the matches\n *\n * @param {string} regExp - The regular expression to match against.\n * @param {string} str - The string to search.\n *\n * @returns {Array}\n */\nconst matchAll = (regExp, str) => {\n let matches;\n const arr = [];\n\n while ((matches = regExp.exec(str)) !== null) {\n arr.push(matches);\n }\n\n return arr;\n}\n\n/* Checking if the kindOfTest function returns true when passed an HTMLFormElement. */\nconst isHTMLForm = kindOfTest('HTMLFormElement');\n\nconst toCamelCase = str => {\n return str.toLowerCase().replace(/[_-\\s]([a-z\\d])(\\w*)/g,\n function replacer(m, p1, p2) {\n return p1.toUpperCase() + p2;\n }\n );\n};\n\n/* Creating a function that will check if an object has a property. */\nconst hasOwnProperty = (({hasOwnProperty}) => (obj, prop) => hasOwnProperty.call(obj, prop))(Object.prototype);\n\n/**\n * Determine if a value is a RegExp object\n *\n * @param {*} val The value to test\n *\n * @returns {boolean} True if value is a RegExp object, otherwise false\n */\nconst isRegExp = kindOfTest('RegExp');\n\nconst reduceDescriptors = (obj, reducer) => {\n const descriptors = Object.getOwnPropertyDescriptors(obj);\n const reducedDescriptors = {};\n\n forEach(descriptors, (descriptor, name) => {\n if (reducer(descriptor, name, obj) !== false) {\n reducedDescriptors[name] = descriptor;\n }\n });\n\n Object.defineProperties(obj, reducedDescriptors);\n}\n\n/**\n * Makes all methods read-only\n * @param {Object} obj\n */\n\nconst freezeMethods = (obj) => {\n reduceDescriptors(obj, (descriptor, name) => {\n // skip restricted props in strict mode\n if (isFunction(obj) && ['arguments', 'caller', 'callee'].indexOf(name) !== -1) {\n return false;\n }\n\n const value = obj[name];\n\n if (!isFunction(value)) return;\n\n descriptor.enumerable = false;\n\n if ('writable' in descriptor) {\n descriptor.writable = false;\n return;\n }\n\n if (!descriptor.set) {\n descriptor.set = () => {\n throw Error('Can not rewrite read-only method \\'' + name + '\\'');\n };\n }\n });\n}\n\nconst toObjectSet = (arrayOrString, delimiter) => {\n const obj = {};\n\n const define = (arr) => {\n arr.forEach(value => {\n obj[value] = true;\n });\n }\n\n isArray(arrayOrString) ? define(arrayOrString) : define(String(arrayOrString).split(delimiter));\n\n return obj;\n}\n\nconst noop = () => {}\n\nconst toFiniteNumber = (value, defaultValue) => {\n value = +value;\n return Number.isFinite(value) ? value : defaultValue;\n}\n\nconst toJSONObject = (obj) => {\n const stack = new Array(10);\n\n const visit = (source, i) => {\n\n if (isObject(source)) {\n if (stack.indexOf(source) >= 0) {\n return;\n }\n\n if(!('toJSON' in source)) {\n stack[i] = source;\n const target = isArray(source) ? [] : {};\n\n forEach(source, (value, key) => {\n const reducedValue = visit(value, i + 1);\n !isUndefined(reducedValue) && (target[key] = reducedValue);\n });\n\n stack[i] = undefined;\n\n return target;\n }\n }\n\n return source;\n }\n\n return visit(obj, 0);\n}\n\nexport default {\n isArray,\n isArrayBuffer,\n isBuffer,\n isFormData,\n isArrayBufferView,\n isString,\n isNumber,\n isBoolean,\n isObject,\n isPlainObject,\n isUndefined,\n isDate,\n isFile,\n isBlob,\n isRegExp,\n isFunction,\n isStream,\n isURLSearchParams,\n isTypedArray,\n isFileList,\n forEach,\n merge,\n extend,\n trim,\n stripBOM,\n inherits,\n toFlatObject,\n kindOf,\n kindOfTest,\n endsWith,\n toArray,\n forEachEntry,\n matchAll,\n isHTMLForm,\n hasOwnProperty,\n hasOwnProp: hasOwnProperty, // an alias to avoid ESLint no-prototype-builtins detection\n reduceDescriptors,\n freezeMethods,\n toObjectSet,\n toCamelCase,\n noop,\n toFiniteNumber,\n findKey,\n global: _global,\n isContextDefined,\n toJSONObject\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * Create an Error with the specified message, config, error code, request and response.\n *\n * @param {string} message The error message.\n * @param {string} [code] The error code (for example, 'ECONNABORTED').\n * @param {Object} [config] The config.\n * @param {Object} [request] The request.\n * @param {Object} [response] The response.\n *\n * @returns {Error} The created error.\n */\nfunction AxiosError(message, code, config, request, response) {\n Error.call(this);\n\n if (Error.captureStackTrace) {\n Error.captureStackTrace(this, this.constructor);\n } else {\n this.stack = (new Error()).stack;\n }\n\n this.message = message;\n this.name = 'AxiosError';\n code && (this.code = code);\n config && (this.config = config);\n request && (this.request = request);\n response && (this.response = response);\n}\n\nutils.inherits(AxiosError, Error, {\n toJSON: function toJSON() {\n return {\n // Standard\n message: this.message,\n name: this.name,\n // Microsoft\n description: this.description,\n number: this.number,\n // Mozilla\n fileName: this.fileName,\n lineNumber: this.lineNumber,\n columnNumber: this.columnNumber,\n stack: this.stack,\n // Axios\n config: utils.toJSONObject(this.config),\n code: this.code,\n status: this.response && this.response.status ? this.response.status : null\n };\n }\n});\n\nconst prototype = AxiosError.prototype;\nconst descriptors = {};\n\n[\n 'ERR_BAD_OPTION_VALUE',\n 'ERR_BAD_OPTION',\n 'ECONNABORTED',\n 'ETIMEDOUT',\n 'ERR_NETWORK',\n 'ERR_FR_TOO_MANY_REDIRECTS',\n 'ERR_DEPRECATED',\n 'ERR_BAD_RESPONSE',\n 'ERR_BAD_REQUEST',\n 'ERR_CANCELED',\n 'ERR_NOT_SUPPORT',\n 'ERR_INVALID_URL'\n// eslint-disable-next-line func-names\n].forEach(code => {\n descriptors[code] = {value: code};\n});\n\nObject.defineProperties(AxiosError, descriptors);\nObject.defineProperty(prototype, 'isAxiosError', {value: true});\n\n// eslint-disable-next-line func-names\nAxiosError.from = (error, code, config, request, response, customProps) => {\n const axiosError = Object.create(prototype);\n\n utils.toFlatObject(error, axiosError, function filter(obj) {\n return obj !== Error.prototype;\n }, prop => {\n return prop !== 'isAxiosError';\n });\n\n AxiosError.call(axiosError, error.message, code, config, request, response);\n\n axiosError.cause = error;\n\n axiosError.name = error.name;\n\n customProps && Object.assign(axiosError, customProps);\n\n return axiosError;\n};\n\nexport default AxiosError;\n","import FormData from 'form-data';\nexport default FormData;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport envFormData from '../env/classes/FormData.js';\n\n/**\n * Determines if the given thing is a array or js object.\n *\n * @param {string} thing - The object or array to be visited.\n *\n * @returns {boolean}\n */\nfunction isVisitable(thing) {\n return utils.isPlainObject(thing) || utils.isArray(thing);\n}\n\n/**\n * It removes the brackets from the end of a string\n *\n * @param {string} key - The key of the parameter.\n *\n * @returns {string} the key without the brackets.\n */\nfunction removeBrackets(key) {\n return utils.endsWith(key, '[]') ? key.slice(0, -2) : key;\n}\n\n/**\n * It takes a path, a key, and a boolean, and returns a string\n *\n * @param {string} path - The path to the current key.\n * @param {string} key - The key of the current object being iterated over.\n * @param {string} dots - If true, the key will be rendered with dots instead of brackets.\n *\n * @returns {string} The path to the current key.\n */\nfunction renderKey(path, key, dots) {\n if (!path) return key;\n return path.concat(key).map(function each(token, i) {\n // eslint-disable-next-line no-param-reassign\n token = removeBrackets(token);\n return !dots && i ? '[' + token + ']' : token;\n }).join(dots ? '.' : '');\n}\n\n/**\n * If the array is an array and none of its elements are visitable, then it's a flat array.\n *\n * @param {Array} arr - The array to check\n *\n * @returns {boolean}\n */\nfunction isFlatArray(arr) {\n return utils.isArray(arr) && !arr.some(isVisitable);\n}\n\nconst predicates = utils.toFlatObject(utils, {}, null, function filter(prop) {\n return /^is[A-Z]/.test(prop);\n});\n\n/**\n * If the thing is a FormData object, return true, otherwise return false.\n *\n * @param {unknown} thing - The thing to check.\n *\n * @returns {boolean}\n */\nfunction isSpecCompliant(thing) {\n return thing && utils.isFunction(thing.append) && thing[Symbol.toStringTag] === 'FormData' && thing[Symbol.iterator];\n}\n\n/**\n * Convert a data object to FormData\n *\n * @param {Object} obj\n * @param {?Object} [formData]\n * @param {?Object} [options]\n * @param {Function} [options.visitor]\n * @param {Boolean} [options.metaTokens = true]\n * @param {Boolean} [options.dots = false]\n * @param {?Boolean} [options.indexes = false]\n *\n * @returns {Object}\n **/\n\n/**\n * It converts an object into a FormData object\n *\n * @param {Object} obj - The object to convert to form data.\n * @param {string} formData - The FormData object to append to.\n * @param {Object} options\n *\n * @returns\n */\nfunction toFormData(obj, formData, options) {\n if (!utils.isObject(obj)) {\n throw new TypeError('target must be an object');\n }\n\n // eslint-disable-next-line no-param-reassign\n formData = formData || new (envFormData || FormData)();\n\n // eslint-disable-next-line no-param-reassign\n options = utils.toFlatObject(options, {\n metaTokens: true,\n dots: false,\n indexes: false\n }, false, function defined(option, source) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n return !utils.isUndefined(source[option]);\n });\n\n const metaTokens = options.metaTokens;\n // eslint-disable-next-line no-use-before-define\n const visitor = options.visitor || defaultVisitor;\n const dots = options.dots;\n const indexes = options.indexes;\n const _Blob = options.Blob || typeof Blob !== 'undefined' && Blob;\n const useBlob = _Blob && isSpecCompliant(formData);\n\n if (!utils.isFunction(visitor)) {\n throw new TypeError('visitor must be a function');\n }\n\n function convertValue(value) {\n if (value === null) return '';\n\n if (utils.isDate(value)) {\n return value.toISOString();\n }\n\n if (!useBlob && utils.isBlob(value)) {\n throw new AxiosError('Blob is not supported. Use a Buffer instead.');\n }\n\n if (utils.isArrayBuffer(value) || utils.isTypedArray(value)) {\n return useBlob && typeof Blob === 'function' ? new Blob([value]) : Buffer.from(value);\n }\n\n return value;\n }\n\n /**\n * Default visitor.\n *\n * @param {*} value\n * @param {String|Number} key\n * @param {Array} path\n * @this {FormData}\n *\n * @returns {boolean} return true to visit the each prop of the value recursively\n */\n function defaultVisitor(value, key, path) {\n let arr = value;\n\n if (value && !path && typeof value === 'object') {\n if (utils.endsWith(key, '{}')) {\n // eslint-disable-next-line no-param-reassign\n key = metaTokens ? key : key.slice(0, -2);\n // eslint-disable-next-line no-param-reassign\n value = JSON.stringify(value);\n } else if (\n (utils.isArray(value) && isFlatArray(value)) ||\n (utils.isFileList(value) || utils.endsWith(key, '[]') && (arr = utils.toArray(value))\n )) {\n // eslint-disable-next-line no-param-reassign\n key = removeBrackets(key);\n\n arr.forEach(function each(el, index) {\n !(utils.isUndefined(el) || el === null) && formData.append(\n // eslint-disable-next-line no-nested-ternary\n indexes === true ? renderKey([key], index, dots) : (indexes === null ? key : key + '[]'),\n convertValue(el)\n );\n });\n return false;\n }\n }\n\n if (isVisitable(value)) {\n return true;\n }\n\n formData.append(renderKey(path, key, dots), convertValue(value));\n\n return false;\n }\n\n const stack = [];\n\n const exposedHelpers = Object.assign(predicates, {\n defaultVisitor,\n convertValue,\n isVisitable\n });\n\n function build(value, path) {\n if (utils.isUndefined(value)) return;\n\n if (stack.indexOf(value) !== -1) {\n throw Error('Circular reference detected in ' + path.join('.'));\n }\n\n stack.push(value);\n\n utils.forEach(value, function each(el, key) {\n const result = !(utils.isUndefined(el) || el === null) && visitor.call(\n formData, el, utils.isString(key) ? key.trim() : key, path, exposedHelpers\n );\n\n if (result === true) {\n build(el, path ? path.concat(key) : [key]);\n }\n });\n\n stack.pop();\n }\n\n if (!utils.isObject(obj)) {\n throw new TypeError('data must be an object');\n }\n\n build(obj);\n\n return formData;\n}\n\nexport default toFormData;\n","'use strict';\n\nimport toFormData from './toFormData.js';\n\n/**\n * It encodes a string by replacing all characters that are not in the unreserved set with\n * their percent-encoded equivalents\n *\n * @param {string} str - The string to encode.\n *\n * @returns {string} The encoded string.\n */\nfunction encode(str) {\n const charMap = {\n '!': '%21',\n \"'\": '%27',\n '(': '%28',\n ')': '%29',\n '~': '%7E',\n '%20': '+',\n '%00': '\\x00'\n };\n return encodeURIComponent(str).replace(/[!'()~]|%20|%00/g, function replacer(match) {\n return charMap[match];\n });\n}\n\n/**\n * It takes a params object and converts it to a FormData object\n *\n * @param {Object} params - The parameters to be converted to a FormData object.\n * @param {Object} options - The options object passed to the Axios constructor.\n *\n * @returns {void}\n */\nfunction AxiosURLSearchParams(params, options) {\n this._pairs = [];\n\n params && toFormData(params, this, options);\n}\n\nconst prototype = AxiosURLSearchParams.prototype;\n\nprototype.append = function append(name, value) {\n this._pairs.push([name, value]);\n};\n\nprototype.toString = function toString(encoder) {\n const _encode = encoder ? function(value) {\n return encoder.call(this, value, encode);\n } : encode;\n\n return this._pairs.map(function each(pair) {\n return _encode(pair[0]) + '=' + _encode(pair[1]);\n }, '').join('&');\n};\n\nexport default AxiosURLSearchParams;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosURLSearchParams from '../helpers/AxiosURLSearchParams.js';\n\n/**\n * It replaces all instances of the characters `:`, `$`, `,`, `+`, `[`, and `]` with their\n * URI encoded counterparts\n *\n * @param {string} val The value to be encoded.\n *\n * @returns {string} The encoded value.\n */\nfunction encode(val) {\n return encodeURIComponent(val).\n replace(/%3A/gi, ':').\n replace(/%24/g, '$').\n replace(/%2C/gi, ',').\n replace(/%20/g, '+').\n replace(/%5B/gi, '[').\n replace(/%5D/gi, ']');\n}\n\n/**\n * Build a URL by appending params to the end\n *\n * @param {string} url The base of the url (e.g., http://www.google.com)\n * @param {object} [params] The params to be appended\n * @param {?object} options\n *\n * @returns {string} The formatted url\n */\nexport default function buildURL(url, params, options) {\n /*eslint no-param-reassign:0*/\n if (!params) {\n return url;\n }\n \n const _encode = options && options.encode || encode;\n\n const serializeFn = options && options.serialize;\n\n let serializedParams;\n\n if (serializeFn) {\n serializedParams = serializeFn(params, options);\n } else {\n serializedParams = utils.isURLSearchParams(params) ?\n params.toString() :\n new AxiosURLSearchParams(params, options).toString(_encode);\n }\n\n if (serializedParams) {\n const hashmarkIndex = url.indexOf(\"#\");\n\n if (hashmarkIndex !== -1) {\n url = url.slice(0, hashmarkIndex);\n }\n url += (url.indexOf('?') === -1 ? '?' : '&') + serializedParams;\n }\n\n return url;\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\nclass InterceptorManager {\n constructor() {\n this.handlers = [];\n }\n\n /**\n * Add a new interceptor to the stack\n *\n * @param {Function} fulfilled The function to handle `then` for a `Promise`\n * @param {Function} rejected The function to handle `reject` for a `Promise`\n *\n * @return {Number} An ID used to remove interceptor later\n */\n use(fulfilled, rejected, options) {\n this.handlers.push({\n fulfilled,\n rejected,\n synchronous: options ? options.synchronous : false,\n runWhen: options ? options.runWhen : null\n });\n return this.handlers.length - 1;\n }\n\n /**\n * Remove an interceptor from the stack\n *\n * @param {Number} id The ID that was returned by `use`\n *\n * @returns {Boolean} `true` if the interceptor was removed, `false` otherwise\n */\n eject(id) {\n if (this.handlers[id]) {\n this.handlers[id] = null;\n }\n }\n\n /**\n * Clear all interceptors from the stack\n *\n * @returns {void}\n */\n clear() {\n if (this.handlers) {\n this.handlers = [];\n }\n }\n\n /**\n * Iterate over all the registered interceptors\n *\n * This method is particularly useful for skipping over any\n * interceptors that may have become `null` calling `eject`.\n *\n * @param {Function} fn The function to call for each interceptor\n *\n * @returns {void}\n */\n forEach(fn) {\n utils.forEach(this.handlers, function forEachHandler(h) {\n if (h !== null) {\n fn(h);\n }\n });\n }\n}\n\nexport default InterceptorManager;\n","'use strict';\n\nexport default {\n silentJSONParsing: true,\n forcedJSONParsing: true,\n clarifyTimeoutError: false\n};\n","'use strict';\n\nimport AxiosURLSearchParams from '../../../helpers/AxiosURLSearchParams.js';\nexport default typeof URLSearchParams !== 'undefined' ? URLSearchParams : AxiosURLSearchParams;\n","'use strict';\n\nexport default FormData;\n","import URLSearchParams from './classes/URLSearchParams.js'\nimport FormData from './classes/FormData.js'\n\n/**\n * Determine if we're running in a standard browser environment\n *\n * This allows axios to run in a web worker, and react-native.\n * Both environments support XMLHttpRequest, but not fully standard globals.\n *\n * web workers:\n * typeof window -> undefined\n * typeof document -> undefined\n *\n * react-native:\n * navigator.product -> 'ReactNative'\n * nativescript\n * navigator.product -> 'NativeScript' or 'NS'\n *\n * @returns {boolean}\n */\nconst isStandardBrowserEnv = (() => {\n let product;\n if (typeof navigator !== 'undefined' && (\n (product = navigator.product) === 'ReactNative' ||\n product === 'NativeScript' ||\n product === 'NS')\n ) {\n return false;\n }\n\n return typeof window !== 'undefined' && typeof document !== 'undefined';\n})();\n\nexport default {\n isBrowser: true,\n classes: {\n URLSearchParams,\n FormData,\n Blob\n },\n isStandardBrowserEnv,\n protocols: ['http', 'https', 'file', 'blob', 'url', 'data']\n};\n","'use strict';\n\nimport utils from '../utils.js';\n\n/**\n * It takes a string like `foo[x][y][z]` and returns an array like `['foo', 'x', 'y', 'z']\n *\n * @param {string} name - The name of the property to get.\n *\n * @returns An array of strings.\n */\nfunction parsePropPath(name) {\n // foo[x][y][z]\n // foo.x.y.z\n // foo-x-y-z\n // foo x y z\n return utils.matchAll(/\\w+|\\[(\\w*)]/g, name).map(match => {\n return match[0] === '[]' ? '' : match[1] || match[0];\n });\n}\n\n/**\n * Convert an array to an object.\n *\n * @param {Array} arr - The array to convert to an object.\n *\n * @returns An object with the same keys and values as the array.\n */\nfunction arrayToObject(arr) {\n const obj = {};\n const keys = Object.keys(arr);\n let i;\n const len = keys.length;\n let key;\n for (i = 0; i < len; i++) {\n key = keys[i];\n obj[key] = arr[key];\n }\n return obj;\n}\n\n/**\n * It takes a FormData object and returns a JavaScript object\n *\n * @param {string} formData The FormData object to convert to JSON.\n *\n * @returns {Object | null} The converted object.\n */\nfunction formDataToJSON(formData) {\n function buildPath(path, value, target, index) {\n let name = path[index++];\n const isNumericKey = Number.isFinite(+name);\n const isLast = index >= path.length;\n name = !name && utils.isArray(target) ? target.length : name;\n\n if (isLast) {\n if (utils.hasOwnProp(target, name)) {\n target[name] = [target[name], value];\n } else {\n target[name] = value;\n }\n\n return !isNumericKey;\n }\n\n if (!target[name] || !utils.isObject(target[name])) {\n target[name] = [];\n }\n\n const result = buildPath(path, value, target[name], index);\n\n if (result && utils.isArray(target[name])) {\n target[name] = arrayToObject(target[name]);\n }\n\n return !isNumericKey;\n }\n\n if (utils.isFormData(formData) && utils.isFunction(formData.entries)) {\n const obj = {};\n\n utils.forEachEntry(formData, (name, value) => {\n buildPath(parsePropPath(name), value, obj, 0);\n });\n\n return obj;\n }\n\n return null;\n}\n\nexport default formDataToJSON;\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosError from '../core/AxiosError.js';\nimport transitionalDefaults from './transitional.js';\nimport toFormData from '../helpers/toFormData.js';\nimport toURLEncodedForm from '../helpers/toURLEncodedForm.js';\nimport platform from '../platform/index.js';\nimport formDataToJSON from '../helpers/formDataToJSON.js';\n\nconst DEFAULT_CONTENT_TYPE = {\n 'Content-Type': undefined\n};\n\n/**\n * It takes a string, tries to parse it, and if it fails, it returns the stringified version\n * of the input\n *\n * @param {any} rawValue - The value to be stringified.\n * @param {Function} parser - A function that parses a string into a JavaScript object.\n * @param {Function} encoder - A function that takes a value and returns a string.\n *\n * @returns {string} A stringified version of the rawValue.\n */\nfunction stringifySafely(rawValue, parser, encoder) {\n if (utils.isString(rawValue)) {\n try {\n (parser || JSON.parse)(rawValue);\n return utils.trim(rawValue);\n } catch (e) {\n if (e.name !== 'SyntaxError') {\n throw e;\n }\n }\n }\n\n return (encoder || JSON.stringify)(rawValue);\n}\n\nconst defaults = {\n\n transitional: transitionalDefaults,\n\n adapter: ['xhr', 'http'],\n\n transformRequest: [function transformRequest(data, headers) {\n const contentType = headers.getContentType() || '';\n const hasJSONContentType = contentType.indexOf('application/json') > -1;\n const isObjectPayload = utils.isObject(data);\n\n if (isObjectPayload && utils.isHTMLForm(data)) {\n data = new FormData(data);\n }\n\n const isFormData = utils.isFormData(data);\n\n if (isFormData) {\n if (!hasJSONContentType) {\n return data;\n }\n return hasJSONContentType ? JSON.stringify(formDataToJSON(data)) : data;\n }\n\n if (utils.isArrayBuffer(data) ||\n utils.isBuffer(data) ||\n utils.isStream(data) ||\n utils.isFile(data) ||\n utils.isBlob(data)\n ) {\n return data;\n }\n if (utils.isArrayBufferView(data)) {\n return data.buffer;\n }\n if (utils.isURLSearchParams(data)) {\n headers.setContentType('application/x-www-form-urlencoded;charset=utf-8', false);\n return data.toString();\n }\n\n let isFileList;\n\n if (isObjectPayload) {\n if (contentType.indexOf('application/x-www-form-urlencoded') > -1) {\n return toURLEncodedForm(data, this.formSerializer).toString();\n }\n\n if ((isFileList = utils.isFileList(data)) || contentType.indexOf('multipart/form-data') > -1) {\n const _FormData = this.env && this.env.FormData;\n\n return toFormData(\n isFileList ? {'files[]': data} : data,\n _FormData && new _FormData(),\n this.formSerializer\n );\n }\n }\n\n if (isObjectPayload || hasJSONContentType ) {\n headers.setContentType('application/json', false);\n return stringifySafely(data);\n }\n\n return data;\n }],\n\n transformResponse: [function transformResponse(data) {\n const transitional = this.transitional || defaults.transitional;\n const forcedJSONParsing = transitional && transitional.forcedJSONParsing;\n const JSONRequested = this.responseType === 'json';\n\n if (data && utils.isString(data) && ((forcedJSONParsing && !this.responseType) || JSONRequested)) {\n const silentJSONParsing = transitional && transitional.silentJSONParsing;\n const strictJSONParsing = !silentJSONParsing && JSONRequested;\n\n try {\n return JSON.parse(data);\n } catch (e) {\n if (strictJSONParsing) {\n if (e.name === 'SyntaxError') {\n throw AxiosError.from(e, AxiosError.ERR_BAD_RESPONSE, this, null, this.response);\n }\n throw e;\n }\n }\n }\n\n return data;\n }],\n\n /**\n * A timeout in milliseconds to abort a request. If set to 0 (default) a\n * timeout is not created.\n */\n timeout: 0,\n\n xsrfCookieName: 'XSRF-TOKEN',\n xsrfHeaderName: 'X-XSRF-TOKEN',\n\n maxContentLength: -1,\n maxBodyLength: -1,\n\n env: {\n FormData: platform.classes.FormData,\n Blob: platform.classes.Blob\n },\n\n validateStatus: function validateStatus(status) {\n return status >= 200 && status < 300;\n },\n\n headers: {\n common: {\n 'Accept': 'application/json, text/plain, */*'\n }\n }\n};\n\nutils.forEach(['delete', 'get', 'head'], function forEachMethodNoData(method) {\n defaults.headers[method] = {};\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n defaults.headers[method] = utils.merge(DEFAULT_CONTENT_TYPE);\n});\n\nexport default defaults;\n","'use strict';\n\nimport utils from '../utils.js';\nimport toFormData from './toFormData.js';\nimport platform from '../platform/index.js';\n\nexport default function toURLEncodedForm(data, options) {\n return toFormData(data, new platform.classes.URLSearchParams(), Object.assign({\n visitor: function(value, key, path, helpers) {\n if (platform.isNode && utils.isBuffer(value)) {\n this.append(key, value.toString('base64'));\n return false;\n }\n\n return helpers.defaultVisitor.apply(this, arguments);\n }\n }, options));\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n// RawAxiosHeaders whose duplicates are ignored by node\n// c.f. https://nodejs.org/api/http.html#http_message_headers\nconst ignoreDuplicateOf = utils.toObjectSet([\n 'age', 'authorization', 'content-length', 'content-type', 'etag',\n 'expires', 'from', 'host', 'if-modified-since', 'if-unmodified-since',\n 'last-modified', 'location', 'max-forwards', 'proxy-authorization',\n 'referer', 'retry-after', 'user-agent'\n]);\n\n/**\n * Parse headers into an object\n *\n * ```\n * Date: Wed, 27 Aug 2014 08:58:49 GMT\n * Content-Type: application/json\n * Connection: keep-alive\n * Transfer-Encoding: chunked\n * ```\n *\n * @param {String} rawHeaders Headers needing to be parsed\n *\n * @returns {Object} Headers parsed into an object\n */\nexport default rawHeaders => {\n const parsed = {};\n let key;\n let val;\n let i;\n\n rawHeaders && rawHeaders.split('\\n').forEach(function parser(line) {\n i = line.indexOf(':');\n key = line.substring(0, i).trim().toLowerCase();\n val = line.substring(i + 1).trim();\n\n if (!key || (parsed[key] && ignoreDuplicateOf[key])) {\n return;\n }\n\n if (key === 'set-cookie') {\n if (parsed[key]) {\n parsed[key].push(val);\n } else {\n parsed[key] = [val];\n }\n } else {\n parsed[key] = parsed[key] ? parsed[key] + ', ' + val : val;\n }\n });\n\n return parsed;\n};\n","'use strict';\n\nimport utils from '../utils.js';\nimport parseHeaders from '../helpers/parseHeaders.js';\n\nconst $internals = Symbol('internals');\n\nfunction normalizeHeader(header) {\n return header && String(header).trim().toLowerCase();\n}\n\nfunction normalizeValue(value) {\n if (value === false || value == null) {\n return value;\n }\n\n return utils.isArray(value) ? value.map(normalizeValue) : String(value);\n}\n\nfunction parseTokens(str) {\n const tokens = Object.create(null);\n const tokensRE = /([^\\s,;=]+)\\s*(?:=\\s*([^,;]+))?/g;\n let match;\n\n while ((match = tokensRE.exec(str))) {\n tokens[match[1]] = match[2];\n }\n\n return tokens;\n}\n\nfunction isValidHeaderName(str) {\n return /^[-_a-zA-Z]+$/.test(str.trim());\n}\n\nfunction matchHeaderValue(context, value, header, filter) {\n if (utils.isFunction(filter)) {\n return filter.call(this, value, header);\n }\n\n if (!utils.isString(value)) return;\n\n if (utils.isString(filter)) {\n return value.indexOf(filter) !== -1;\n }\n\n if (utils.isRegExp(filter)) {\n return filter.test(value);\n }\n}\n\nfunction formatHeader(header) {\n return header.trim()\n .toLowerCase().replace(/([a-z\\d])(\\w*)/g, (w, char, str) => {\n return char.toUpperCase() + str;\n });\n}\n\nfunction buildAccessors(obj, header) {\n const accessorName = utils.toCamelCase(' ' + header);\n\n ['get', 'set', 'has'].forEach(methodName => {\n Object.defineProperty(obj, methodName + accessorName, {\n value: function(arg1, arg2, arg3) {\n return this[methodName].call(this, header, arg1, arg2, arg3);\n },\n configurable: true\n });\n });\n}\n\nclass AxiosHeaders {\n constructor(headers) {\n headers && this.set(headers);\n }\n\n set(header, valueOrRewrite, rewrite) {\n const self = this;\n\n function setHeader(_value, _header, _rewrite) {\n const lHeader = normalizeHeader(_header);\n\n if (!lHeader) {\n throw new Error('header name must be a non-empty string');\n }\n\n const key = utils.findKey(self, lHeader);\n\n if(!key || self[key] === undefined || _rewrite === true || (_rewrite === undefined && self[key] !== false)) {\n self[key || _header] = normalizeValue(_value);\n }\n }\n\n const setHeaders = (headers, _rewrite) =>\n utils.forEach(headers, (_value, _header) => setHeader(_value, _header, _rewrite));\n\n if (utils.isPlainObject(header) || header instanceof this.constructor) {\n setHeaders(header, valueOrRewrite)\n } else if(utils.isString(header) && (header = header.trim()) && !isValidHeaderName(header)) {\n setHeaders(parseHeaders(header), valueOrRewrite);\n } else {\n header != null && setHeader(valueOrRewrite, header, rewrite);\n }\n\n return this;\n }\n\n get(header, parser) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n if (key) {\n const value = this[key];\n\n if (!parser) {\n return value;\n }\n\n if (parser === true) {\n return parseTokens(value);\n }\n\n if (utils.isFunction(parser)) {\n return parser.call(this, value, key);\n }\n\n if (utils.isRegExp(parser)) {\n return parser.exec(value);\n }\n\n throw new TypeError('parser must be boolean|regexp|function');\n }\n }\n }\n\n has(header, matcher) {\n header = normalizeHeader(header);\n\n if (header) {\n const key = utils.findKey(this, header);\n\n return !!(key && (!matcher || matchHeaderValue(this, this[key], key, matcher)));\n }\n\n return false;\n }\n\n delete(header, matcher) {\n const self = this;\n let deleted = false;\n\n function deleteHeader(_header) {\n _header = normalizeHeader(_header);\n\n if (_header) {\n const key = utils.findKey(self, _header);\n\n if (key && (!matcher || matchHeaderValue(self, self[key], key, matcher))) {\n delete self[key];\n\n deleted = true;\n }\n }\n }\n\n if (utils.isArray(header)) {\n header.forEach(deleteHeader);\n } else {\n deleteHeader(header);\n }\n\n return deleted;\n }\n\n clear() {\n return Object.keys(this).forEach(this.delete.bind(this));\n }\n\n normalize(format) {\n const self = this;\n const headers = {};\n\n utils.forEach(this, (value, header) => {\n const key = utils.findKey(headers, header);\n\n if (key) {\n self[key] = normalizeValue(value);\n delete self[header];\n return;\n }\n\n const normalized = format ? formatHeader(header) : String(header).trim();\n\n if (normalized !== header) {\n delete self[header];\n }\n\n self[normalized] = normalizeValue(value);\n\n headers[normalized] = true;\n });\n\n return this;\n }\n\n concat(...targets) {\n return this.constructor.concat(this, ...targets);\n }\n\n toJSON(asStrings) {\n const obj = Object.create(null);\n\n utils.forEach(this, (value, header) => {\n value != null && value !== false && (obj[header] = asStrings && utils.isArray(value) ? value.join(', ') : value);\n });\n\n return obj;\n }\n\n [Symbol.iterator]() {\n return Object.entries(this.toJSON())[Symbol.iterator]();\n }\n\n toString() {\n return Object.entries(this.toJSON()).map(([header, value]) => header + ': ' + value).join('\\n');\n }\n\n get [Symbol.toStringTag]() {\n return 'AxiosHeaders';\n }\n\n static from(thing) {\n return thing instanceof this ? thing : new this(thing);\n }\n\n static concat(first, ...targets) {\n const computed = new this(first);\n\n targets.forEach((target) => computed.set(target));\n\n return computed;\n }\n\n static accessor(header) {\n const internals = this[$internals] = (this[$internals] = {\n accessors: {}\n });\n\n const accessors = internals.accessors;\n const prototype = this.prototype;\n\n function defineAccessor(_header) {\n const lHeader = normalizeHeader(_header);\n\n if (!accessors[lHeader]) {\n buildAccessors(prototype, _header);\n accessors[lHeader] = true;\n }\n }\n\n utils.isArray(header) ? header.forEach(defineAccessor) : defineAccessor(header);\n\n return this;\n }\n}\n\nAxiosHeaders.accessor(['Content-Type', 'Content-Length', 'Accept', 'Accept-Encoding', 'User-Agent']);\n\nutils.freezeMethods(AxiosHeaders.prototype);\nutils.freezeMethods(AxiosHeaders);\n\nexport default AxiosHeaders;\n","'use strict';\n\nimport utils from './../utils.js';\nimport defaults from '../defaults/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\n\n/**\n * Transform the data for a request or a response\n *\n * @param {Array|Function} fns A single function or Array of functions\n * @param {?Object} response The response object\n *\n * @returns {*} The resulting transformed data\n */\nexport default function transformData(fns, response) {\n const config = this || defaults;\n const context = response || config;\n const headers = AxiosHeaders.from(context.headers);\n let data = context.data;\n\n utils.forEach(fns, function transform(fn) {\n data = fn.call(config, data, headers.normalize(), response ? response.status : undefined);\n });\n\n headers.normalize();\n\n return data;\n}\n","'use strict';\n\nexport default function isCancel(value) {\n return !!(value && value.__CANCEL__);\n}\n","'use strict';\n\nimport AxiosError from '../core/AxiosError.js';\nimport utils from '../utils.js';\n\n/**\n * A `CanceledError` is an object that is thrown when an operation is canceled.\n *\n * @param {string=} message The message.\n * @param {Object=} config The config.\n * @param {Object=} request The request.\n *\n * @returns {CanceledError} The created error.\n */\nfunction CanceledError(message, config, request) {\n // eslint-disable-next-line no-eq-null,eqeqeq\n AxiosError.call(this, message == null ? 'canceled' : message, AxiosError.ERR_CANCELED, config, request);\n this.name = 'CanceledError';\n}\n\nutils.inherits(CanceledError, AxiosError, {\n __CANCEL__: true\n});\n\nexport default CanceledError;\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs support document.cookie\n (function standardBrowserEnv() {\n return {\n write: function write(name, value, expires, path, domain, secure) {\n const cookie = [];\n cookie.push(name + '=' + encodeURIComponent(value));\n\n if (utils.isNumber(expires)) {\n cookie.push('expires=' + new Date(expires).toGMTString());\n }\n\n if (utils.isString(path)) {\n cookie.push('path=' + path);\n }\n\n if (utils.isString(domain)) {\n cookie.push('domain=' + domain);\n }\n\n if (secure === true) {\n cookie.push('secure');\n }\n\n document.cookie = cookie.join('; ');\n },\n\n read: function read(name) {\n const match = document.cookie.match(new RegExp('(^|;\\\\s*)(' + name + ')=([^;]*)'));\n return (match ? decodeURIComponent(match[3]) : null);\n },\n\n remove: function remove(name) {\n this.write(name, '', Date.now() - 86400000);\n }\n };\n })() :\n\n// Non standard browser env (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return {\n write: function write() {},\n read: function read() { return null; },\n remove: function remove() {}\n };\n })();\n","'use strict';\n\nimport isAbsoluteURL from '../helpers/isAbsoluteURL.js';\nimport combineURLs from '../helpers/combineURLs.js';\n\n/**\n * Creates a new URL by combining the baseURL with the requestedURL,\n * only when the requestedURL is not already an absolute URL.\n * If the requestURL is absolute, this function returns the requestedURL untouched.\n *\n * @param {string} baseURL The base URL\n * @param {string} requestedURL Absolute or relative URL to combine\n *\n * @returns {string} The combined full path\n */\nexport default function buildFullPath(baseURL, requestedURL) {\n if (baseURL && !isAbsoluteURL(requestedURL)) {\n return combineURLs(baseURL, requestedURL);\n }\n return requestedURL;\n}\n","'use strict';\n\n/**\n * Determines whether the specified URL is absolute\n *\n * @param {string} url The URL to test\n *\n * @returns {boolean} True if the specified URL is absolute, otherwise false\n */\nexport default function isAbsoluteURL(url) {\n // A URL is considered absolute if it begins with \"://\" or \"//\" (protocol-relative URL).\n // RFC 3986 defines scheme name as a sequence of characters beginning with a letter and followed\n // by any combination of letters, digits, plus, period, or hyphen.\n return /^([a-z][a-z\\d+\\-.]*:)?\\/\\//i.test(url);\n}\n","'use strict';\n\n/**\n * Creates a new URL by combining the specified URLs\n *\n * @param {string} baseURL The base URL\n * @param {string} relativeURL The relative URL\n *\n * @returns {string} The combined URL\n */\nexport default function combineURLs(baseURL, relativeURL) {\n return relativeURL\n ? baseURL.replace(/\\/+$/, '') + '/' + relativeURL.replace(/^\\/+/, '')\n : baseURL;\n}\n","'use strict';\n\nimport utils from './../utils.js';\nimport platform from '../platform/index.js';\n\nexport default platform.isStandardBrowserEnv ?\n\n// Standard browser envs have full support of the APIs needed to test\n// whether the request URL is of the same origin as current location.\n (function standardBrowserEnv() {\n const msie = /(msie|trident)/i.test(navigator.userAgent);\n const urlParsingNode = document.createElement('a');\n let originURL;\n\n /**\n * Parse a URL to discover it's components\n *\n * @param {String} url The URL to be parsed\n * @returns {Object}\n */\n function resolveURL(url) {\n let href = url;\n\n if (msie) {\n // IE needs attribute set twice to normalize properties\n urlParsingNode.setAttribute('href', href);\n href = urlParsingNode.href;\n }\n\n urlParsingNode.setAttribute('href', href);\n\n // urlParsingNode provides the UrlUtils interface - http://url.spec.whatwg.org/#urlutils\n return {\n href: urlParsingNode.href,\n protocol: urlParsingNode.protocol ? urlParsingNode.protocol.replace(/:$/, '') : '',\n host: urlParsingNode.host,\n search: urlParsingNode.search ? urlParsingNode.search.replace(/^\\?/, '') : '',\n hash: urlParsingNode.hash ? urlParsingNode.hash.replace(/^#/, '') : '',\n hostname: urlParsingNode.hostname,\n port: urlParsingNode.port,\n pathname: (urlParsingNode.pathname.charAt(0) === '/') ?\n urlParsingNode.pathname :\n '/' + urlParsingNode.pathname\n };\n }\n\n originURL = resolveURL(window.location.href);\n\n /**\n * Determine if a URL shares the same origin as the current location\n *\n * @param {String} requestURL The URL to test\n * @returns {boolean} True if URL shares the same origin, otherwise false\n */\n return function isURLSameOrigin(requestURL) {\n const parsed = (utils.isString(requestURL)) ? resolveURL(requestURL) : requestURL;\n return (parsed.protocol === originURL.protocol &&\n parsed.host === originURL.host);\n };\n })() :\n\n // Non standard browser envs (web workers, react-native) lack needed support.\n (function nonStandardBrowserEnv() {\n return function isURLSameOrigin() {\n return true;\n };\n })();\n","'use strict';\n\n/**\n * Calculate data maxRate\n * @param {Number} [samplesCount= 10]\n * @param {Number} [min= 1000]\n * @returns {Function}\n */\nfunction speedometer(samplesCount, min) {\n samplesCount = samplesCount || 10;\n const bytes = new Array(samplesCount);\n const timestamps = new Array(samplesCount);\n let head = 0;\n let tail = 0;\n let firstSampleTS;\n\n min = min !== undefined ? min : 1000;\n\n return function push(chunkLength) {\n const now = Date.now();\n\n const startedAt = timestamps[tail];\n\n if (!firstSampleTS) {\n firstSampleTS = now;\n }\n\n bytes[head] = chunkLength;\n timestamps[head] = now;\n\n let i = tail;\n let bytesCount = 0;\n\n while (i !== head) {\n bytesCount += bytes[i++];\n i = i % samplesCount;\n }\n\n head = (head + 1) % samplesCount;\n\n if (head === tail) {\n tail = (tail + 1) % samplesCount;\n }\n\n if (now - firstSampleTS < min) {\n return;\n }\n\n const passed = startedAt && now - startedAt;\n\n return passed ? Math.round(bytesCount * 1000 / passed) : undefined;\n };\n}\n\nexport default speedometer;\n","'use strict';\n\nimport utils from './../utils.js';\nimport settle from './../core/settle.js';\nimport cookies from './../helpers/cookies.js';\nimport buildURL from './../helpers/buildURL.js';\nimport buildFullPath from '../core/buildFullPath.js';\nimport isURLSameOrigin from './../helpers/isURLSameOrigin.js';\nimport transitionalDefaults from '../defaults/transitional.js';\nimport AxiosError from '../core/AxiosError.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport parseProtocol from '../helpers/parseProtocol.js';\nimport platform from '../platform/index.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport speedometer from '../helpers/speedometer.js';\n\nfunction progressEventReducer(listener, isDownloadStream) {\n let bytesNotified = 0;\n const _speedometer = speedometer(50, 250);\n\n return e => {\n const loaded = e.loaded;\n const total = e.lengthComputable ? e.total : undefined;\n const progressBytes = loaded - bytesNotified;\n const rate = _speedometer(progressBytes);\n const inRange = loaded <= total;\n\n bytesNotified = loaded;\n\n const data = {\n loaded,\n total,\n progress: total ? (loaded / total) : undefined,\n bytes: progressBytes,\n rate: rate ? rate : undefined,\n estimated: rate && total && inRange ? (total - loaded) / rate : undefined,\n event: e\n };\n\n data[isDownloadStream ? 'download' : 'upload'] = true;\n\n listener(data);\n };\n}\n\nconst isXHRAdapterSupported = typeof XMLHttpRequest !== 'undefined';\n\nexport default isXHRAdapterSupported && function (config) {\n return new Promise(function dispatchXhrRequest(resolve, reject) {\n let requestData = config.data;\n const requestHeaders = AxiosHeaders.from(config.headers).normalize();\n const responseType = config.responseType;\n let onCanceled;\n function done() {\n if (config.cancelToken) {\n config.cancelToken.unsubscribe(onCanceled);\n }\n\n if (config.signal) {\n config.signal.removeEventListener('abort', onCanceled);\n }\n }\n\n if (utils.isFormData(requestData) && platform.isStandardBrowserEnv) {\n requestHeaders.setContentType(false); // Let the browser set it\n }\n\n let request = new XMLHttpRequest();\n\n // HTTP basic authentication\n if (config.auth) {\n const username = config.auth.username || '';\n const password = config.auth.password ? unescape(encodeURIComponent(config.auth.password)) : '';\n requestHeaders.set('Authorization', 'Basic ' + btoa(username + ':' + password));\n }\n\n const fullPath = buildFullPath(config.baseURL, config.url);\n\n request.open(config.method.toUpperCase(), buildURL(fullPath, config.params, config.paramsSerializer), true);\n\n // Set the request timeout in MS\n request.timeout = config.timeout;\n\n function onloadend() {\n if (!request) {\n return;\n }\n // Prepare the response\n const responseHeaders = AxiosHeaders.from(\n 'getAllResponseHeaders' in request && request.getAllResponseHeaders()\n );\n const responseData = !responseType || responseType === 'text' || responseType === 'json' ?\n request.responseText : request.response;\n const response = {\n data: responseData,\n status: request.status,\n statusText: request.statusText,\n headers: responseHeaders,\n config,\n request\n };\n\n settle(function _resolve(value) {\n resolve(value);\n done();\n }, function _reject(err) {\n reject(err);\n done();\n }, response);\n\n // Clean up request\n request = null;\n }\n\n if ('onloadend' in request) {\n // Use onloadend if available\n request.onloadend = onloadend;\n } else {\n // Listen for ready state to emulate onloadend\n request.onreadystatechange = function handleLoad() {\n if (!request || request.readyState !== 4) {\n return;\n }\n\n // The request errored out and we didn't get a response, this will be\n // handled by onerror instead\n // With one exception: request that using file: protocol, most browsers\n // will return status as 0 even though it's a successful request\n if (request.status === 0 && !(request.responseURL && request.responseURL.indexOf('file:') === 0)) {\n return;\n }\n // readystate handler is calling before onerror or ontimeout handlers,\n // so we should call onloadend on the next 'tick'\n setTimeout(onloadend);\n };\n }\n\n // Handle browser request cancellation (as opposed to a manual cancellation)\n request.onabort = function handleAbort() {\n if (!request) {\n return;\n }\n\n reject(new AxiosError('Request aborted', AxiosError.ECONNABORTED, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle low level network errors\n request.onerror = function handleError() {\n // Real errors are hidden from us by the browser\n // onerror should only fire if it's a network error\n reject(new AxiosError('Network Error', AxiosError.ERR_NETWORK, config, request));\n\n // Clean up request\n request = null;\n };\n\n // Handle timeout\n request.ontimeout = function handleTimeout() {\n let timeoutErrorMessage = config.timeout ? 'timeout of ' + config.timeout + 'ms exceeded' : 'timeout exceeded';\n const transitional = config.transitional || transitionalDefaults;\n if (config.timeoutErrorMessage) {\n timeoutErrorMessage = config.timeoutErrorMessage;\n }\n reject(new AxiosError(\n timeoutErrorMessage,\n transitional.clarifyTimeoutError ? AxiosError.ETIMEDOUT : AxiosError.ECONNABORTED,\n config,\n request));\n\n // Clean up request\n request = null;\n };\n\n // Add xsrf header\n // This is only done if running in a standard browser environment.\n // Specifically not if we're in a web worker, or react-native.\n if (platform.isStandardBrowserEnv) {\n // Add xsrf header\n const xsrfValue = (config.withCredentials || isURLSameOrigin(fullPath))\n && config.xsrfCookieName && cookies.read(config.xsrfCookieName);\n\n if (xsrfValue) {\n requestHeaders.set(config.xsrfHeaderName, xsrfValue);\n }\n }\n\n // Remove Content-Type if data is undefined\n requestData === undefined && requestHeaders.setContentType(null);\n\n // Add headers to the request\n if ('setRequestHeader' in request) {\n utils.forEach(requestHeaders.toJSON(), function setRequestHeader(val, key) {\n request.setRequestHeader(key, val);\n });\n }\n\n // Add withCredentials to request if needed\n if (!utils.isUndefined(config.withCredentials)) {\n request.withCredentials = !!config.withCredentials;\n }\n\n // Add responseType to request if needed\n if (responseType && responseType !== 'json') {\n request.responseType = config.responseType;\n }\n\n // Handle progress if needed\n if (typeof config.onDownloadProgress === 'function') {\n request.addEventListener('progress', progressEventReducer(config.onDownloadProgress, true));\n }\n\n // Not all browsers support upload events\n if (typeof config.onUploadProgress === 'function' && request.upload) {\n request.upload.addEventListener('progress', progressEventReducer(config.onUploadProgress));\n }\n\n if (config.cancelToken || config.signal) {\n // Handle cancellation\n // eslint-disable-next-line func-names\n onCanceled = cancel => {\n if (!request) {\n return;\n }\n reject(!cancel || cancel.type ? new CanceledError(null, config, request) : cancel);\n request.abort();\n request = null;\n };\n\n config.cancelToken && config.cancelToken.subscribe(onCanceled);\n if (config.signal) {\n config.signal.aborted ? onCanceled() : config.signal.addEventListener('abort', onCanceled);\n }\n }\n\n const protocol = parseProtocol(fullPath);\n\n if (protocol && platform.protocols.indexOf(protocol) === -1) {\n reject(new AxiosError('Unsupported protocol ' + protocol + ':', AxiosError.ERR_BAD_REQUEST, config));\n return;\n }\n\n\n // Send the request\n request.send(requestData || null);\n });\n}\n","import utils from '../utils.js';\nimport httpAdapter from './http.js';\nimport xhrAdapter from './xhr.js';\nimport AxiosError from \"../core/AxiosError.js\";\n\nconst knownAdapters = {\n http: httpAdapter,\n xhr: xhrAdapter\n}\n\nutils.forEach(knownAdapters, (fn, value) => {\n if(fn) {\n try {\n Object.defineProperty(fn, 'name', {value});\n } catch (e) {\n // eslint-disable-next-line no-empty\n }\n Object.defineProperty(fn, 'adapterName', {value});\n }\n});\n\nexport default {\n getAdapter: (adapters) => {\n adapters = utils.isArray(adapters) ? adapters : [adapters];\n\n const {length} = adapters;\n let nameOrAdapter;\n let adapter;\n\n for (let i = 0; i < length; i++) {\n nameOrAdapter = adapters[i];\n if((adapter = utils.isString(nameOrAdapter) ? knownAdapters[nameOrAdapter.toLowerCase()] : nameOrAdapter)) {\n break;\n }\n }\n\n if (!adapter) {\n if (adapter === false) {\n throw new AxiosError(\n `Adapter ${nameOrAdapter} is not supported by the environment`,\n 'ERR_NOT_SUPPORT'\n );\n }\n\n throw new Error(\n utils.hasOwnProp(knownAdapters, nameOrAdapter) ?\n `Adapter '${nameOrAdapter}' is not available in the build` :\n `Unknown adapter '${nameOrAdapter}'`\n );\n }\n\n if (!utils.isFunction(adapter)) {\n throw new TypeError('adapter is not a function');\n }\n\n return adapter;\n },\n adapters: knownAdapters\n}\n","// eslint-disable-next-line strict\nexport default null;\n","'use strict';\n\nimport AxiosError from './AxiosError.js';\n\n/**\n * Resolve or reject a Promise based on response status.\n *\n * @param {Function} resolve A function that resolves the promise.\n * @param {Function} reject A function that rejects the promise.\n * @param {object} response The response.\n *\n * @returns {object} The response.\n */\nexport default function settle(resolve, reject, response) {\n const validateStatus = response.config.validateStatus;\n if (!response.status || !validateStatus || validateStatus(response.status)) {\n resolve(response);\n } else {\n reject(new AxiosError(\n 'Request failed with status code ' + response.status,\n [AxiosError.ERR_BAD_REQUEST, AxiosError.ERR_BAD_RESPONSE][Math.floor(response.status / 100) - 4],\n response.config,\n response.request,\n response\n ));\n }\n}\n","'use strict';\n\nexport default function parseProtocol(url) {\n const match = /^([-+\\w]{1,25})(:?\\/\\/|:)/.exec(url);\n return match && match[1] || '';\n}\n","'use strict';\n\nimport transformData from './transformData.js';\nimport isCancel from '../cancel/isCancel.js';\nimport defaults from '../defaults/index.js';\nimport CanceledError from '../cancel/CanceledError.js';\nimport AxiosHeaders from '../core/AxiosHeaders.js';\nimport adapters from \"../adapters/adapters.js\";\n\n/**\n * Throws a `CanceledError` if cancellation has been requested.\n *\n * @param {Object} config The config that is to be used for the request\n *\n * @returns {void}\n */\nfunction throwIfCancellationRequested(config) {\n if (config.cancelToken) {\n config.cancelToken.throwIfRequested();\n }\n\n if (config.signal && config.signal.aborted) {\n throw new CanceledError();\n }\n}\n\n/**\n * Dispatch a request to the server using the configured adapter.\n *\n * @param {object} config The config that is to be used for the request\n *\n * @returns {Promise} The Promise to be fulfilled\n */\nexport default function dispatchRequest(config) {\n throwIfCancellationRequested(config);\n\n config.headers = AxiosHeaders.from(config.headers);\n\n // Transform request data\n config.data = transformData.call(\n config,\n config.transformRequest\n );\n\n if (['post', 'put', 'patch'].indexOf(config.method) !== -1) {\n config.headers.setContentType('application/x-www-form-urlencoded', false);\n }\n\n const adapter = adapters.getAdapter(config.adapter || defaults.adapter);\n\n return adapter(config).then(function onAdapterResolution(response) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n response.data = transformData.call(\n config,\n config.transformResponse,\n response\n );\n\n response.headers = AxiosHeaders.from(response.headers);\n\n return response;\n }, function onAdapterRejection(reason) {\n if (!isCancel(reason)) {\n throwIfCancellationRequested(config);\n\n // Transform response data\n if (reason && reason.response) {\n reason.response.data = transformData.call(\n config,\n config.transformResponse,\n reason.response\n );\n reason.response.headers = AxiosHeaders.from(reason.response.headers);\n }\n }\n\n return Promise.reject(reason);\n });\n}\n","'use strict';\n\nimport utils from '../utils.js';\nimport AxiosHeaders from \"./AxiosHeaders.js\";\n\nconst headersToObject = (thing) => thing instanceof AxiosHeaders ? thing.toJSON() : thing;\n\n/**\n * Config-specific merge-function which creates a new config-object\n * by merging two configuration objects together.\n *\n * @param {Object} config1\n * @param {Object} config2\n *\n * @returns {Object} New object resulting from merging config2 to config1\n */\nexport default function mergeConfig(config1, config2) {\n // eslint-disable-next-line no-param-reassign\n config2 = config2 || {};\n const config = {};\n\n function getMergedValue(target, source, caseless) {\n if (utils.isPlainObject(target) && utils.isPlainObject(source)) {\n return utils.merge.call({caseless}, target, source);\n } else if (utils.isPlainObject(source)) {\n return utils.merge({}, source);\n } else if (utils.isArray(source)) {\n return source.slice();\n }\n return source;\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDeepProperties(a, b, caseless) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(a, b, caseless);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a, caseless);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function valueFromConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function defaultToConfig2(a, b) {\n if (!utils.isUndefined(b)) {\n return getMergedValue(undefined, b);\n } else if (!utils.isUndefined(a)) {\n return getMergedValue(undefined, a);\n }\n }\n\n // eslint-disable-next-line consistent-return\n function mergeDirectKeys(a, b, prop) {\n if (prop in config2) {\n return getMergedValue(a, b);\n } else if (prop in config1) {\n return getMergedValue(undefined, a);\n }\n }\n\n const mergeMap = {\n url: valueFromConfig2,\n method: valueFromConfig2,\n data: valueFromConfig2,\n baseURL: defaultToConfig2,\n transformRequest: defaultToConfig2,\n transformResponse: defaultToConfig2,\n paramsSerializer: defaultToConfig2,\n timeout: defaultToConfig2,\n timeoutMessage: defaultToConfig2,\n withCredentials: defaultToConfig2,\n adapter: defaultToConfig2,\n responseType: defaultToConfig2,\n xsrfCookieName: defaultToConfig2,\n xsrfHeaderName: defaultToConfig2,\n onUploadProgress: defaultToConfig2,\n onDownloadProgress: defaultToConfig2,\n decompress: defaultToConfig2,\n maxContentLength: defaultToConfig2,\n maxBodyLength: defaultToConfig2,\n beforeRedirect: defaultToConfig2,\n transport: defaultToConfig2,\n httpAgent: defaultToConfig2,\n httpsAgent: defaultToConfig2,\n cancelToken: defaultToConfig2,\n socketPath: defaultToConfig2,\n responseEncoding: defaultToConfig2,\n validateStatus: mergeDirectKeys,\n headers: (a, b) => mergeDeepProperties(headersToObject(a), headersToObject(b), true)\n };\n\n utils.forEach(Object.keys(config1).concat(Object.keys(config2)), function computeConfigValue(prop) {\n const merge = mergeMap[prop] || mergeDeepProperties;\n const configValue = merge(config1[prop], config2[prop], prop);\n (utils.isUndefined(configValue) && merge !== mergeDirectKeys) || (config[prop] = configValue);\n });\n\n return config;\n}\n","export const VERSION = \"1.2.0\";","'use strict';\n\nimport {VERSION} from '../env/data.js';\nimport AxiosError from '../core/AxiosError.js';\n\nconst validators = {};\n\n// eslint-disable-next-line func-names\n['object', 'boolean', 'number', 'function', 'string', 'symbol'].forEach((type, i) => {\n validators[type] = function validator(thing) {\n return typeof thing === type || 'a' + (i < 1 ? 'n ' : ' ') + type;\n };\n});\n\nconst deprecatedWarnings = {};\n\n/**\n * Transitional option validator\n *\n * @param {function|boolean?} validator - set to false if the transitional option has been removed\n * @param {string?} version - deprecated version / removed since version\n * @param {string?} message - some message with additional info\n *\n * @returns {function}\n */\nvalidators.transitional = function transitional(validator, version, message) {\n function formatMessage(opt, desc) {\n return '[Axios v' + VERSION + '] Transitional option \\'' + opt + '\\'' + desc + (message ? '. ' + message : '');\n }\n\n // eslint-disable-next-line func-names\n return (value, opt, opts) => {\n if (validator === false) {\n throw new AxiosError(\n formatMessage(opt, ' has been removed' + (version ? ' in ' + version : '')),\n AxiosError.ERR_DEPRECATED\n );\n }\n\n if (version && !deprecatedWarnings[opt]) {\n deprecatedWarnings[opt] = true;\n // eslint-disable-next-line no-console\n console.warn(\n formatMessage(\n opt,\n ' has been deprecated since v' + version + ' and will be removed in the near future'\n )\n );\n }\n\n return validator ? validator(value, opt, opts) : true;\n };\n};\n\n/**\n * Assert object's properties type\n *\n * @param {object} options\n * @param {object} schema\n * @param {boolean?} allowUnknown\n *\n * @returns {object}\n */\n\nfunction assertOptions(options, schema, allowUnknown) {\n if (typeof options !== 'object') {\n throw new AxiosError('options must be an object', AxiosError.ERR_BAD_OPTION_VALUE);\n }\n const keys = Object.keys(options);\n let i = keys.length;\n while (i-- > 0) {\n const opt = keys[i];\n const validator = schema[opt];\n if (validator) {\n const value = options[opt];\n const result = value === undefined || validator(value, opt, options);\n if (result !== true) {\n throw new AxiosError('option ' + opt + ' must be ' + result, AxiosError.ERR_BAD_OPTION_VALUE);\n }\n continue;\n }\n if (allowUnknown !== true) {\n throw new AxiosError('Unknown option ' + opt, AxiosError.ERR_BAD_OPTION);\n }\n }\n}\n\nexport default {\n assertOptions,\n validators\n};\n","'use strict';\n\nimport utils from './../utils.js';\nimport buildURL from '../helpers/buildURL.js';\nimport InterceptorManager from './InterceptorManager.js';\nimport dispatchRequest from './dispatchRequest.js';\nimport mergeConfig from './mergeConfig.js';\nimport buildFullPath from './buildFullPath.js';\nimport validator from '../helpers/validator.js';\nimport AxiosHeaders from './AxiosHeaders.js';\n\nconst validators = validator.validators;\n\n/**\n * Create a new instance of Axios\n *\n * @param {Object} instanceConfig The default config for the instance\n *\n * @return {Axios} A new instance of Axios\n */\nclass Axios {\n constructor(instanceConfig) {\n this.defaults = instanceConfig;\n this.interceptors = {\n request: new InterceptorManager(),\n response: new InterceptorManager()\n };\n }\n\n /**\n * Dispatch a request\n *\n * @param {String|Object} configOrUrl The config specific for this request (merged with this.defaults)\n * @param {?Object} config\n *\n * @returns {Promise} The Promise to be fulfilled\n */\n request(configOrUrl, config) {\n /*eslint no-param-reassign:0*/\n // Allow for axios('example/url'[, config]) a la fetch API\n if (typeof configOrUrl === 'string') {\n config = config || {};\n config.url = configOrUrl;\n } else {\n config = configOrUrl || {};\n }\n\n config = mergeConfig(this.defaults, config);\n\n const {transitional, paramsSerializer, headers} = config;\n\n if (transitional !== undefined) {\n validator.assertOptions(transitional, {\n silentJSONParsing: validators.transitional(validators.boolean),\n forcedJSONParsing: validators.transitional(validators.boolean),\n clarifyTimeoutError: validators.transitional(validators.boolean)\n }, false);\n }\n\n if (paramsSerializer !== undefined) {\n validator.assertOptions(paramsSerializer, {\n encode: validators.function,\n serialize: validators.function\n }, true);\n }\n\n // Set config.method\n config.method = (config.method || this.defaults.method || 'get').toLowerCase();\n\n let contextHeaders;\n\n // Flatten headers\n contextHeaders = headers && utils.merge(\n headers.common,\n headers[config.method]\n );\n\n contextHeaders && utils.forEach(\n ['delete', 'get', 'head', 'post', 'put', 'patch', 'common'],\n (method) => {\n delete headers[method];\n }\n );\n\n config.headers = AxiosHeaders.concat(contextHeaders, headers);\n\n // filter out skipped interceptors\n const requestInterceptorChain = [];\n let synchronousRequestInterceptors = true;\n this.interceptors.request.forEach(function unshiftRequestInterceptors(interceptor) {\n if (typeof interceptor.runWhen === 'function' && interceptor.runWhen(config) === false) {\n return;\n }\n\n synchronousRequestInterceptors = synchronousRequestInterceptors && interceptor.synchronous;\n\n requestInterceptorChain.unshift(interceptor.fulfilled, interceptor.rejected);\n });\n\n const responseInterceptorChain = [];\n this.interceptors.response.forEach(function pushResponseInterceptors(interceptor) {\n responseInterceptorChain.push(interceptor.fulfilled, interceptor.rejected);\n });\n\n let promise;\n let i = 0;\n let len;\n\n if (!synchronousRequestInterceptors) {\n const chain = [dispatchRequest.bind(this), undefined];\n chain.unshift.apply(chain, requestInterceptorChain);\n chain.push.apply(chain, responseInterceptorChain);\n len = chain.length;\n\n promise = Promise.resolve(config);\n\n while (i < len) {\n promise = promise.then(chain[i++], chain[i++]);\n }\n\n return promise;\n }\n\n len = requestInterceptorChain.length;\n\n let newConfig = config;\n\n i = 0;\n\n while (i < len) {\n const onFulfilled = requestInterceptorChain[i++];\n const onRejected = requestInterceptorChain[i++];\n try {\n newConfig = onFulfilled(newConfig);\n } catch (error) {\n onRejected.call(this, error);\n break;\n }\n }\n\n try {\n promise = dispatchRequest.call(this, newConfig);\n } catch (error) {\n return Promise.reject(error);\n }\n\n i = 0;\n len = responseInterceptorChain.length;\n\n while (i < len) {\n promise = promise.then(responseInterceptorChain[i++], responseInterceptorChain[i++]);\n }\n\n return promise;\n }\n\n getUri(config) {\n config = mergeConfig(this.defaults, config);\n const fullPath = buildFullPath(config.baseURL, config.url);\n return buildURL(fullPath, config.params, config.paramsSerializer);\n }\n}\n\n// Provide aliases for supported request methods\nutils.forEach(['delete', 'get', 'head', 'options'], function forEachMethodNoData(method) {\n /*eslint func-names:0*/\n Axios.prototype[method] = function(url, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n url,\n data: (config || {}).data\n }));\n };\n});\n\nutils.forEach(['post', 'put', 'patch'], function forEachMethodWithData(method) {\n /*eslint func-names:0*/\n\n function generateHTTPMethod(isForm) {\n return function httpMethod(url, data, config) {\n return this.request(mergeConfig(config || {}, {\n method,\n headers: isForm ? {\n 'Content-Type': 'multipart/form-data'\n } : {},\n url,\n data\n }));\n };\n }\n\n Axios.prototype[method] = generateHTTPMethod();\n\n Axios.prototype[method + 'Form'] = generateHTTPMethod(true);\n});\n\nexport default Axios;\n","'use strict';\n\nimport CanceledError from './CanceledError.js';\n\n/**\n * A `CancelToken` is an object that can be used to request cancellation of an operation.\n *\n * @param {Function} executor The executor function.\n *\n * @returns {CancelToken}\n */\nclass CancelToken {\n constructor(executor) {\n if (typeof executor !== 'function') {\n throw new TypeError('executor must be a function.');\n }\n\n let resolvePromise;\n\n this.promise = new Promise(function promiseExecutor(resolve) {\n resolvePromise = resolve;\n });\n\n const token = this;\n\n // eslint-disable-next-line func-names\n this.promise.then(cancel => {\n if (!token._listeners) return;\n\n let i = token._listeners.length;\n\n while (i-- > 0) {\n token._listeners[i](cancel);\n }\n token._listeners = null;\n });\n\n // eslint-disable-next-line func-names\n this.promise.then = onfulfilled => {\n let _resolve;\n // eslint-disable-next-line func-names\n const promise = new Promise(resolve => {\n token.subscribe(resolve);\n _resolve = resolve;\n }).then(onfulfilled);\n\n promise.cancel = function reject() {\n token.unsubscribe(_resolve);\n };\n\n return promise;\n };\n\n executor(function cancel(message, config, request) {\n if (token.reason) {\n // Cancellation has already been requested\n return;\n }\n\n token.reason = new CanceledError(message, config, request);\n resolvePromise(token.reason);\n });\n }\n\n /**\n * Throws a `CanceledError` if cancellation has been requested.\n */\n throwIfRequested() {\n if (this.reason) {\n throw this.reason;\n }\n }\n\n /**\n * Subscribe to the cancel signal\n */\n\n subscribe(listener) {\n if (this.reason) {\n listener(this.reason);\n return;\n }\n\n if (this._listeners) {\n this._listeners.push(listener);\n } else {\n this._listeners = [listener];\n }\n }\n\n /**\n * Unsubscribe from the cancel signal\n */\n\n unsubscribe(listener) {\n if (!this._listeners) {\n return;\n }\n const index = this._listeners.indexOf(listener);\n if (index !== -1) {\n this._listeners.splice(index, 1);\n }\n }\n\n /**\n * Returns an object that contains a new `CancelToken` and a function that, when called,\n * cancels the `CancelToken`.\n */\n static source() {\n let cancel;\n const token = new CancelToken(function executor(c) {\n cancel = c;\n });\n return {\n token,\n cancel\n };\n }\n}\n\nexport default CancelToken;\n","'use strict';\n\nimport utils from './utils.js';\nimport bind from './helpers/bind.js';\nimport Axios from './core/Axios.js';\nimport mergeConfig from './core/mergeConfig.js';\nimport defaults from './defaults/index.js';\nimport formDataToJSON from './helpers/formDataToJSON.js';\nimport CanceledError from './cancel/CanceledError.js';\nimport CancelToken from './cancel/CancelToken.js';\nimport isCancel from './cancel/isCancel.js';\nimport {VERSION} from './env/data.js';\nimport toFormData from './helpers/toFormData.js';\nimport AxiosError from './core/AxiosError.js';\nimport spread from './helpers/spread.js';\nimport isAxiosError from './helpers/isAxiosError.js';\nimport AxiosHeaders from \"./core/AxiosHeaders.js\";\n\n/**\n * Create an instance of Axios\n *\n * @param {Object} defaultConfig The default config for the instance\n *\n * @returns {Axios} A new instance of Axios\n */\nfunction createInstance(defaultConfig) {\n const context = new Axios(defaultConfig);\n const instance = bind(Axios.prototype.request, context);\n\n // Copy axios.prototype to instance\n utils.extend(instance, Axios.prototype, context, {allOwnKeys: true});\n\n // Copy context to instance\n utils.extend(instance, context, null, {allOwnKeys: true});\n\n // Factory for creating new instances\n instance.create = function create(instanceConfig) {\n return createInstance(mergeConfig(defaultConfig, instanceConfig));\n };\n\n return instance;\n}\n\n// Create the default instance to be exported\nconst axios = createInstance(defaults);\n\n// Expose Axios class to allow class inheritance\naxios.Axios = Axios;\n\n// Expose Cancel & CancelToken\naxios.CanceledError = CanceledError;\naxios.CancelToken = CancelToken;\naxios.isCancel = isCancel;\naxios.VERSION = VERSION;\naxios.toFormData = toFormData;\n\n// Expose AxiosError class\naxios.AxiosError = AxiosError;\n\n// alias for CanceledError for backward compatibility\naxios.Cancel = axios.CanceledError;\n\n// Expose all/spread\naxios.all = function all(promises) {\n return Promise.all(promises);\n};\n\naxios.spread = spread;\n\n// Expose isAxiosError\naxios.isAxiosError = isAxiosError;\n\naxios.AxiosHeaders = AxiosHeaders;\n\naxios.formToJSON = thing => formDataToJSON(utils.isHTMLForm(thing) ? new FormData(thing) : thing);\n\naxios.default = axios;\n\n// this module should only have a default export\nexport default axios\n","'use strict';\n\n/**\n * Syntactic sugar for invoking a function and expanding an array for arguments.\n *\n * Common use case would be to use `Function.prototype.apply`.\n *\n * ```js\n * function f(x, y, z) {}\n * var args = [1, 2, 3];\n * f.apply(null, args);\n * ```\n *\n * With `spread` this example can be re-written.\n *\n * ```js\n * spread(function(x, y, z) {})([1, 2, 3]);\n * ```\n *\n * @param {Function} callback\n *\n * @returns {Function}\n */\nexport default function spread(callback) {\n return function wrap(arr) {\n return callback.apply(null, arr);\n };\n}\n","'use strict';\n\nimport utils from './../utils.js';\n\n/**\n * Determines whether the payload is an error thrown by Axios\n *\n * @param {*} payload The value to test\n *\n * @returns {boolean} True if the payload is an error thrown by Axios, otherwise false\n */\nexport default function isAxiosError(payload) {\n return utils.isObject(payload) && (payload.isAxiosError === true);\n}\n"],"names":["darkColorMap","index","opacity","toHsv","_ref","r","g","b","hsv","h","s","v","toHex","_ref2","concat","mix","rgb1","rgb2","amount","p","getHue","i","light","hue","Math","round","getSaturation","saturation","Number","toFixed","getValue","value","generate","color","opts","arguments","length","undefined","patterns","pColor","colorString","push","_i","_hsv","_colorString","theme","map","_ref3","backgroundColor","presetPrimaryColors","red","volcano","orange","gold","yellow","lime","green","cyan","blue","geekblue","purple","magenta","grey","presetPalettes","presetDarkPalettes","Object","keys","forEach","key","primary","str","k","len","charCodeAt","toString","COMMENT","RULESET","DECLARATION","abs","String","fromCharCode","assign","trim","replace","pattern","replacement","indexof","search","indexOf","charat","substr","begin","end","slice","strlen","sizeof","array","serialize","children","callback","output","stringify","element","type","return","props","join","line","column","position","character","characters","node","root","parent","prev","next","peek","caret","token","alloc","dealloc","delimit","delimiter","whitespace","escaping","count","commenter","identifier","compile","parse","rule","rules","rulesets","pseudo","points","declarations","offset","atrule","property","previous","variable","scanning","ampersand","reference","comment","declaration","ruleset","post","size","j","x","y","z","Entity","this","cache","Map","get","valueFn","path","nextValue","delete","set","CSS_IN_JS_INSTANCE","CSS_IN_JS_INSTANCE_ID","random","createCache","document","styles","body","querySelectorAll","firstChild","head","Array","from","style","insertBefore","styleHash","_style$parentNode","hash","getAttribute","parentNode","removeChild","Cache","StyleContext","hashPriority","defaultCache","useClientCache","prefix","keyPath","cacheFn","onCacheRemove","globalCache","fullPath","useHMR","update","prevCache","_ref2$","_ref4","_ref4$","times","flattenToken","token2key","slat","layerKey","Date","now","layerWidth","canLayer","supportLayer","styleStr","handleElement","canUseDom","_ele$parentNode","ele","createElement","left","top","appendChild","support","getComputedStyle","width","supportSelector","className","isClientSide","normalizeStyle","isCompoundCSSProperty","injectSelectorHash","hashId","hashClassName","hashSelector","split","_firstPath$match","firstPath","htmlElement","match","globalEffectStyleKeys","Set","parseStyle","interpolation","config","injectHash","layer","effectStyle","parseKeyframes","keyframes","animationName","getName","_parseStyle","parsedStr","flattenList","list","fullList","item","isArray","flattenStyleList","originStyle","_keyframe","_value$value","actualValue","styleName","toLowerCase","formatValue","subInjectHash","mergedKey","nextRoot","startsWith","_parseStyle3","_parseStyle4","childEffectStyle","layerCells","layerName","Empty","useStyleRegister","info","styleFn","_React$useContext","autoClear","mock","container","tokenKey","_tokenKey","isMergedClientSide","_useGlobalCache","styleObj","_parseStyle5","_parseStyle6","parsedStyle","styleId","uniqueHash","mark","prepend","attachTo","setAttribute","effectKey","has","add","fromHMR","_useGlobalCache2","cachedStyleStr","cachedTokenKey","cachedStyleId","styleNode","_objectSpread2","dangerouslySetInnerHTML","__html","EMPTY_OVERRIDE","tokenKeys","recordCleanToken","cleanTokenStyle","tokenKeyList","cleanableKeyList","filter","removeStyleTags","useCacheToken","tokens","option","_option$salt","salt","_option$override","override","formatToken","mergedToken","apply","tokenStr","overrideTokenStr","cachedToken","id","derivativeToken","getDerivativeToken","mergedDerivativeToken","_hashId","Keyframe","name","ThemeCache","cacheCallTimes","derivativeOption","_cache2","_cache3","updateCallTimes","derivative","_cache","_cache$map","_this$internalGet","internalGet","_this","MAX_CACHE_SIZE","MAX_CACHE_OFFSET","_this$keys$reduce","reduce","result","callTimes","targetKey","cacheValue","currentCache","derivatives","_cache$value","deleteByPath","right","sameDerivativeOption","uuid","Theme","warning","cacheThemes","createTheme","derivativeArr","isIconDefinition","target","icon","normalizeAttrs","attrs","acc","val","class","rootProps","tag","child","getSecondaryColor","primaryColor","normalizeTwoToneColors","twoToneColor","iconStyles","_excluded","twoToneColorPalette","secondaryColor","calculated","IconBase","valid","message","onClick","restProps","colors","csp","useContext","useEffect","useInsertStyles","height","fill","displayName","getTwoToneColors","setTwoToneColors","setTwoToneColor","_normalizeTwoToneColo","_normalizeTwoToneColo2","Icon","ref","_classNames","spin","rotate","tabIndex","Context","_React$useContext$pre","prefixCls","rootClassName","classString","iconTabIndex","svgStyle","msTransform","transform","role","getTwoToneColor","IconContext","createContext","AntdIcon","CognitoHostedUIIdentityProvider","AuthErrorTypes","defineProperty","exports","isMsWindow","msSubtleCryptoMethods","window","quacksLikeAnMsWindow","msCrypto","subtle","_a","getRandomValues","subtle_1","methodName","every","method","tslib_1","__exportStar","EMPTY_DATA_SHA_256","SHA_256_HMAC_ALGO","SHA_256_HASH","Uint8Array","Sha256","ie11Sha256_1","webCryptoSha256_1","sha256_js_1","supports_web_crypto_1","ie11_detection_1","util_locate_window_1","secret","supportsWebCrypto","locateWindow","prototype","data","encoding","digest","isEmptyData_1","constants_1","util_utf8_browser_1","operation","Promise","resolve","reject","keyOperation","importKey","toArrayBufferView","oncomplete","Error","onerror","getKeyPromise","then","keyData","sign","catch","toHash","isEmptyData","process","finish","fromUtf8","ArrayBuffer","isView","buffer","byteOffset","byteLength","BYTES_PER_ELEMENT","WebCryptoSha256","Ie11Sha256","enumerable","util_1","crypto","convertToBuffer","typedArray","RawSha256","state","Int32Array","INIT","temp","bufferLength","bytesHashed","finished","MAX_HASHABLE_LENGTH","BLOCK_SIZE","hashBuffer","bitsHashed","bufferView","DataView","undecoratedLength","setUint8","setUint32","floor","out","DIGEST_LENGTH","state0","state1","state2","state3","state4","state5","state6","state7","u","t1_1","t2_1","t1","KEY","t2","Uint32Array","pow","RawSha256_1","outer","inner","input","bufferHash","bufferFromSecret","error","e","digestSync","__awaiter","__generator","supportsZeroByteGCM","supportsSubtleCrypto","supportsSecureRandom","subtleCryptoMethods","_b","label","trys","generateKey","sent","encrypt","iv","additionalData","tagLength","Buffer","uint32ArrayFrom","numToUint8","convertToBuffer_1","numToUint8_1","uint32ArrayFrom_1","num","a_lookUpTable","return_array","escapeUri","uri","encodeURIComponent","hexEncode","c","toUpperCase","FetchHttpHandler","requestTimeout","destroy","handle","request","abortSignal","requestTimeoutInMs","aborted","abortError","query","queryString","e_1","parts","__values","sort","_c","done","iLen","qsEntry","e_1_1","call","buildQueryString","port","url","protocol","hostname","requestOptions","headers","Headers","AbortController","timeoutInMs","fetchRequest","Request","raceOfPromises","fetch","response","fetchHeaders","transformedHeaders","entries","pair","statusCode","status","blob","setTimeout","timeoutError","onabort","race","alphabetByEncoding","alphabetByValue","start","limit","fromBase64","totalByteLength","dataView","bits","bitLength","chunkOffset","readToBase64","reader","FileReader","onloadend","readyState","commaIndex","dataOffset","substring","readAsDataURL","retryMiddlewareOptions","tags","step","priority","getRetryPlugin","options","applyToStack","clientStack","context","args","retryStrategy","mode","userAgent","__spread","retry","retryMiddleware","CLOCK_SKEW_ERROR_CODES","THROTTLING_ERROR_CODES","TRANSIENT_ERROR_CODES","TRANSIENT_ERROR_STATUS_CODES","isThrottlingError","$metadata","httpStatusCode","includes","$retryable","throttling","defaultDelayDecider","delayBase","attempts","min","defaultRetryDecider","isRetryableByTrait","isClockSkewError","isTransientError","DEFAULT_RETRY_MODE","StandardRetryStrategy","maxAttemptsProvider","retryDecider","delayDecider","retryQuota","initialRetryTokens","MAX_CAPACITY","availableCapacity","getCapacityAmount","hasRetryTokens","freeze","retrieveRetryTokens","capacityAmount","releaseRetryTokens","capacityReleaseAmount","getDefaultRetryQuota","shouldRetry","maxAttempts","getMaxAttempts","retryTokenAmount","totalDelay","_loop_1","this_1","state_1","v4","err_1","delay_1","totalRetryDelay","normalizeMaxAttempts","promisified_1","AWS_TEMPLATE","AWS_REGIONS","AWS_CN_REGIONS","AWS_ISO_REGIONS","AWS_ISO_B_REGIONS","AWS_US_GOV_REGIONS","ClientSharedValues","apiVersion","disableHostPrefix","logger","regionInfoProvider","region","regionInfo","partition","signingRegion","signingService","serviceId","urlParser","URL","pathname","querystring","_d","__read","_e","decodeURIComponent","parseQueryString","parseInt","ClientDefaultValues","runtime","base64Decoder","base64Encoder","bitClusterCount","ceil","bodyLengthChecker","code","credentialDefaultProvider","_","defaultUserAgentProvider","clientVersion","parsedUA","sections","_f","_g","_h","navigator","os","version","browser","defaultUserAgent","requestHandler","sha256","streamCollector","stream","Blob","base64","arrayBuffer","collectBlob","res","isDone","prior","getReader","read","collectStream","utf8Decoder","utf8Encoder","toUtf8","normalizeEndpoint","endpoint","promisified_2","getEndPointFromRegion","tls","RegExp","test","normalizeRegion","CONTENT_LENGTH_HEADER","contentLengthMiddlewareOptions","getContentLengthPlugin","__assign","contentLengthMiddleware","hostHeaderMiddlewareOptions","getHostHeaderPlugin","metadata","handlerProtocol","hostHeaderMiddleware","loggerMiddlewareOptions","getLoggerPlugin","clientName","commandName","inputFilterSensitiveLog","outputFilterSensitiveLog","outputWithoutMetadata","__rest","AMZ_DATE_QUERY_PARAM","SIGNATURE_QUERY_PARAM","TOKEN_QUERY_PARAM","AUTH_HEADER","AMZ_DATE_HEADER","GENERATED_HEADERS","SIGNATURE_HEADER","SHA256_HEADER","TOKEN_HEADER","ALWAYS_UNSIGNABLE_HEADERS","authorization","connection","expect","pragma","referer","te","trailer","upgrade","PROXY_HEADER_PATTERN","SEC_HEADER_PATTERN","ALGORITHM_IDENTIFIER","EVENT_ALGORITHM_IDENTIFIER","KEY_TYPE_IDENTIFIER","signingKeyCache","cacheQueue","createScope","shortDate","service","hmac","ctor","getCanonicalHeaders","unsignableHeaders","signableHeaders","canonical","headerName","canonicalHeaderName","getPayloadHash","hashConstructor","hashCtor","arg","cloneRequest","rest","cloneQuery","carry","paramName","param","prepareRequest","clone","iso8601","time","toDate","toISOString","SignatureV4","applyChecksum","credentials","uriEscapePath","regionProvider","normalizeRegionProvider","credentialProvider","normalizeCredentialsProvider","presign","originalRequest","signingDate","expiresIn","unhoistableHeaders","longDate","scope","canonicalHeaders","_j","_k","_l","formatDate","lname","moveHeadersToQuery","sessionToken","accessKeyId","getCanonicalHeaderList","getSignature","getSigningKey","createCanonicalRequest","toSign","signString","payload","signEvent","signRequest","priorSignature","hashedPayload","hashedHeaders","stringToSign","bind","requestToSign","payloadHash","signature","soughtHeader","hasHeader","sortedHeaders","getCanonicalPath","serialized","encoded","getCanonicalQuery","createStringToSign","credentialScope","canonicalRequest","hashedRequest","keyPromise","sha256Constructor","credsHash","cacheKey","signable","secretAccessKey","shift","normalizeProvider","USER_AGENT","UA_ESCAPE_REGEX","escapeUserAgent","prefixSeparatorIndex","uaName","getUserAgentMiddlewareOptions","getUserAgentPlugin","customUserAgent","normalUAValue","section","CognitoIdentityClient","_super","configuration","_config_1","resolveRegionConfig","_config_2","isCustomEndpoint","resolveEndpointsConfig","_config_3","signer","normalizedCreds","signingEscapePath","systemClockOffset","signingName","resolveAwsAuthConfig","_config_4","resolveRetryConfig","_config_6","middlewareStack","use","GetCredentialsForIdentityCommand","resolveMiddleware","deserialize","stack","handlerExecutionContext","GetIdCommand","AmbiguousRoleResolutionType","CognitoIdentityProvider","CreateIdentityPoolInput","IdentityPool","InternalErrorException","InvalidParameterException","LimitExceededException","NotAuthorizedException","ResourceConflictException","TooManyRequestsException","DeleteIdentitiesInput","ErrorCode","UnprocessedIdentityId","DeleteIdentitiesResponse","DeleteIdentityPoolInput","ResourceNotFoundException","DescribeIdentityInput","IdentityDescription","DescribeIdentityPoolInput","ExternalServiceException","GetCredentialsForIdentityInput","Credentials","GetCredentialsForIdentityResponse","InvalidIdentityPoolConfigurationException","GetIdInput","GetIdResponse","GetIdentityPoolRolesInput","MappingRuleMatchType","MappingRule","RulesConfigurationType","RoleMappingType","RoleMapping","GetIdentityPoolRolesResponse","GetOpenIdTokenInput","GetOpenIdTokenResponse","DeveloperUserAlreadyRegisteredException","GetOpenIdTokenForDeveloperIdentityInput","GetOpenIdTokenForDeveloperIdentityResponse","ListIdentitiesInput","ListIdentitiesResponse","ListIdentityPoolsInput","IdentityPoolShortDescription","ListIdentityPoolsResponse","ListTagsForResourceInput","ListTagsForResourceResponse","LookupDeveloperIdentityInput","LookupDeveloperIdentityResponse","MergeDeveloperIdentitiesInput","MergeDeveloperIdentitiesResponse","ConcurrentModificationException","SetIdentityPoolRolesInput","TagResourceInput","TagResourceResponse","UnlinkDeveloperIdentityInput","UnlinkIdentityInput","UntagResourceInput","UntagResourceResponse","filterSensitiveLog","obj","serializeAws_json1_1GetCredentialsForIdentityCommand","JSON","serializeAws_json1_1GetCredentialsForIdentityInput","buildHttpRpcRequest","serializeAws_json1_1GetIdCommand","serializeAws_json1_1GetIdInput","deserializeAws_json1_1GetCredentialsForIdentityCommand","contents","deserializeAws_json1_1GetCredentialsForIdentityCommandError","parseBody","deserializeAws_json1_1GetCredentialsForIdentityResponse","deserializeMetadata","parsedOutput","errorCode","parsedBody","_m","loadRestJsonErrorCode","deserializeAws_json1_1ExternalServiceExceptionResponse","deserializeAws_json1_1InternalErrorExceptionResponse","deserializeAws_json1_1InvalidIdentityPoolConfigurationExceptionResponse","deserializeAws_json1_1InvalidParameterExceptionResponse","deserializeAws_json1_1NotAuthorizedExceptionResponse","deserializeAws_json1_1ResourceConflictExceptionResponse","deserializeAws_json1_1ResourceNotFoundExceptionResponse","deserializeAws_json1_1TooManyRequestsExceptionResponse","Code","Message","$fault","deserializeAws_json1_1GetIdCommand","deserializeAws_json1_1GetIdCommandError","deserializeAws_json1_1GetIdResponse","deserializeAws_json1_1LimitExceededExceptionResponse","deserialized","deserializeAws_json1_1ExternalServiceException","deserializeAws_json1_1InternalErrorException","deserializeAws_json1_1InvalidIdentityPoolConfigurationException","deserializeAws_json1_1InvalidParameterException","deserializeAws_json1_1LimitExceededException","deserializeAws_json1_1NotAuthorizedException","deserializeAws_json1_1ResourceConflictException","deserializeAws_json1_1ResourceNotFoundException","deserializeAws_json1_1TooManyRequestsException","CustomRoleArn","IdentityId","Logins","serializeAws_json1_1LoginsMap","AccountId","IdentityPoolId","deserializeAws_json1_1Credentials","AccessKeyId","Expiration","SecretKey","SessionToken","requestId","extendedRequestId","cfId","collectBody","streamBody","resolvedHostname","collectBodyString","object","sanitizeErrorCode","rawValue","cleanValue","headerKey","find","extendStatics","d","setPrototypeOf","__proto__","hasOwnProperty","__extends","TypeError","__","constructor","create","t","n","thisArg","_arguments","P","generator","fulfilled","rejected","f","ops","verb","Symbol","iterator","op","pop","o","m","ar","fromCognitoIdentity","parameters","client","send","customRoleArn","identityId","logins","throwOnMissingCredentials","throwOnMissingAccessKeyId","throwOnMissingSecretKey","expiration","STORE_NAME","IndexedDbStorage","dbName","getItem","withObjectStore","store","req","onsuccess","removeItem","setItem","put","getDb","openDbRequest","self","indexedDB","open","onblocked","onupgradeneeded","db","createObjectStore","action","tx","transaction","close","objectStore","err","inMemoryStorage","InMemoryStorage","fromCognitoIdentityPool","accountId","localStorage","identityPoolId","userIdentifier","provider","resolveLogins","throwOnMissingId","all","arr","tokenOrProvider","resolvedPairs","deserializerMiddlewareOption","serializerMiddlewareOption","getSerdePlugin","serializer","deserializer","commandStack","parsed","deserializerMiddleware","serializerMiddleware","ProviderError","tryNextLink","HttpResponse","isInstance","resp","HttpRequest","charAt","cloned","constructStack","absoluteEntries","relativeEntries","entriesNameSet","cloneTo","toStack","entry","middleware","addRelativeTo","expandRelativeMiddlewareList","expandedMiddlewareList","before","after","reverse","getMiddlewareList","normalizedAbsoluteEntries","normalizedRelativeEntries","normalizedEntriesNameMap","normalizedEntry","toMiddleware","relation","a","stepWeights","priorityWeights","wholeList","expendedMiddlewareList","toOverrideIndex","findIndex","toOverride","splice","plugin","remove","toRemove","isRemoved","filterCb","removeByName","removeByReference","removeByTag","handler","initialize","build","finalizeRequest","high","normal","low","Client","command","optionsOrCb","cb","Command","StringWrapper","Class","getPrototypeOf","Constructor","Function","instance","writable","configurable","LazyJsonString","deserializeJSON","toJSON","fromObject","SHORT_TO_HEX","HEX_TO_SHORT","encodedByte","bytes","fallbackWindow","TextEncoder","encode","surrogatePair","TextDecoder","decode","decoded","byte","nextByte","byteValue","rgbToRgb","rgbToHsl","max","l","hue2rgb","q","hslToRgb","rgbToHsv","hsvToRgb","mod","rgbToHex","allow3Char","hex","rgbaToHex","allow4Char","convertDecimalToHex","parseFloat","convertHexToDecimal","parseIntFromHex","numberInputToObject","names","aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkgrey","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkslategrey","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dimgrey","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","goldenrod","gray","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavenderblush","lavender","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightgrey","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightslategrey","lightsteelblue","lightyellow","limegreen","linen","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","rebeccapurple","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","slategrey","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellowgreen","inputToRGB","rgb","ok","format","named","matchers","exec","rgba","hsl","hsla","hsva","hex8","hex6","hex4","hex3","stringInputToObject","isValidCSSUnit","CSS_UNIT","PERMISSIVE_MATCH3","PERMISSIVE_MATCH4","Boolean","TinyColor","originalInput","roundA","gradientType","isValid","isDark","getBrightness","isLight","toRgb","getLuminance","RsRGB","GsRGB","BsRGB","getAlpha","setAlpha","alpha","toHsvString","toHsl","toHslString","toHexString","toHex8","toHex8String","toRgbString","toPercentageRgb","fmt","toPercentageRgbString","rnd","toName","formatSet","formattedString","hasAlpha","toNumber","lighten","brighten","darken","tint","shade","desaturate","saturate","greyscale","analogous","results","slices","part","ret","complement","monochromatic","modification","splitcomplement","onBackground","background","fg","bg","triad","polyad","tetrad","increment","equals","bound01","isOnePointZero","isPercent","isPercentage","clamp01","boundAlpha","isNaN","convertToPercentage","pad2","animationIterationCount","borderImageOutset","borderImageSlice","borderImageWidth","boxFlex","boxFlexGroup","boxOrdinalGroup","columnCount","columns","flex","flexGrow","flexPositive","flexShrink","flexNegative","flexOrder","gridRow","gridRowEnd","gridRowSpan","gridRowStart","gridColumn","gridColumnEnd","gridColumnSpan","gridColumnStart","msGridRow","msGridRowSpan","msGridColumn","msGridColumnSpan","fontWeight","lineHeight","order","orphans","tabSize","widows","zIndex","zoom","WebkitLineClamp","fillOpacity","floodOpacity","stopOpacity","strokeDasharray","strokeDashoffset","strokeMiterlimit","strokeOpacity","strokeWidth","EMPTY_LIST","UNIQUE_ID","useScrollLocker","lock","mergedLock","_React$useState","useLayoutEffect","scrollbarSize","getScrollBarSize","isOverflow","scrollHeight","innerHeight","documentElement","clientHeight","innerWidth","offsetWidth","inline","getPortalContainer","getContainer","querySelector","autoLock","_props$autoDestroy","debug","autoDestroy","_React$useState2","shouldRender","setShouldRender","mergedRender","_React$useState3","_React$useState4","innerContainer","setInnerContainer","customizeContainer","_useDom","render","queueCreate","queue","setQueue","mergedQueueCreate","appendFn","origin","append","parentElement","cleanup","_ele$parentElement","useDom","_useDom2","defaultContainer","mergedContainer","childRef","mergedRef","nextInline","renderInline","reffedChildren","createPortal","Q","Z","L","nn","X","rn","clear","isFrozen","tn","U","O","S","w","M","H","A","I","R","D","F","getOwnPropertyDescriptor","E","N","T","C","en","on","Proxy","revocable","revoke","proxy","J","K","G","W","B","Reflect","for","ownKeys","getOwnPropertySymbols","getOwnPropertyNames","getOwnPropertyDescriptors","deleteProperty","un","produce","produceWithPatches","useProxies","setUseProxies","autoFreeze","setAutoFreeze","createDraft","finishDraft","applyPatches","$","an","fn","formatProdErrorMessage","$$observable","observable","randomString","ActionTypes","REPLACE","PROBE_UNKNOWN_ACTION","isPlainObject","proto","createStore","reducer","preloadedState","enhancer","currentReducer","currentState","currentListeners","nextListeners","isDispatching","ensureCanMutateNextListeners","getState","subscribe","listener","isSubscribed","dispatch","listeners","replaceReducer","nextReducer","outerSubscribe","observer","observeState","unsubscribe","combineReducers","reducers","reducerKeys","finalReducers","shapeAssertionError","finalReducerKeys","assertReducerShape","hasChanged","nextState","_key","previousStateForKey","nextStateForKey","compose","_len","funcs","applyMiddleware","middlewares","_dispatch","middlewareAPI","chain","createThunkMiddleware","extraArgument","thunk","withExtraArgument","__spreadArray","to","il","__defProp","__defProps","defineProperties","__getOwnPropDescs","__getOwnPropSymbols","__hasOwnProp","__propIsEnum","propertyIsEnumerable","__defNormalProp","__spreadValues","prop","__spreadProps","__async","__this","__arguments","throw","composeWithDevTools","__REDUX_DEVTOOLS_EXTENSION_COMPOSE__","__REDUX_DEVTOOLS_EXTENSION__","baseProto","MiddlewareArray","species","freezeDraftable","curryGetDefaultMiddleware","middlewareArray","immutableCheck","serializableCheck","isBoolean","getDefaultMiddleware","configureStore","rootReducer","curriedGetDefaultMiddleware","devTools","enhancers","finalMiddleware","middlewareEnhancer","finalCompose","trace","storeEnhancers","createAction","prepareAction","actionCreator","prepared","meta","executeReducerBuilderCallback","builderCallback","defaultCaseReducer","actionsMap","actionMatchers","builder","addCase","typeOrActionCreator","addMatcher","matcher","addDefaultCase","createSlice","_reducer","initialState","reducerNames","sliceCaseReducersByName","sliceCaseReducersByType","actionCreators","buildReducer","extraReducers","finalCaseReducers","mapOrBuilderCallback","getInitialState","finalActionMatchers","finalDefaultCaseReducer","isStateFunction","frozenInitialState_1","caseReducers","cr","previousState","caseReducer","draft","createReducer","actionMatchers_1","reducerName","prepareCallback","maybeReducerWithPrepare","prepare","actions","nanoid","commonProperties","RejectWithValue","FulfillWithMeta","miniSerializeError","simpleError","commonProperties_1","createAsyncThunk2","typePrefix","payloadCreator","requestStatus","pending","serializeError","rejectedWithValue","condition","AC","class_1","signal","addEventListener","dispatchEvent","removeEventListener","reason","throwIfAborted","abort","extra","abortReason","idGenerator","abortController","abortedPromise","started","promise2","finalAction","conditionResult","getPendingMeta","rejectWithValue","fulfillWithValue","dispatchConditionRejection","unwrap","unwrapResult","withTypes","alm","promise","queueMicrotask","isNodeEnv","__SENTRY_BROWSER_BUNDLE__","dynamicRequire","require","WINDOW","dateTimestampSource","nowSeconds","platformPerformance","module","performance","getNodePerformance","timeOrigin","getBrowserPerformance","timestampSource","dateTimestampInSeconds","timestampInSeconds","_browserPerformanceTimeOriginMode","threshold","performanceNow","dateNow","timeOriginDelta","timeOriginIsReliable","navigationStart","timing","navigationStartDelta","isGlobalObj","GLOBAL_OBJ","globalThis","getGlobalObject","getGlobalSingleton","creator","gbl","__SENTRY__","PresetStatusColorTypes","PresetColorTypes","flexible","setFlexible","getCollapsedHeight","getRealHeight","getCurrentHeight","offsetHeight","skipOpacityTransition","event","deadline","propertyName","getTransitionDirection","placement","getTransitionName","rootPrefixCls","motion","transitionName","rootCls","motionName","onAppearStart","onEnterStart","onAppearActive","onEnterActive","onLeaveStart","onLeaveActive","onAppearEnd","onEnterEnd","onLeaveEnd","motionDeadline","autoAdjustOverflowEnabled","adjustX","adjustY","autoAdjustOverflowDisabled","targetOffset","getOverflowOptions","autoAdjustOverflow","getPlacements","_config$arrowWidth","arrowWidth","_config$horizontalArr","horizontalArrowShift","_config$verticalArrow","verticalArrowShift","arrowPointAtCenter","placementMap","bottom","topLeft","leftTop","topRight","rightTop","bottomRight","rightBottom","bottomLeft","leftBottom","overflow","ignoreShake","isValidElement","isFragment","replaceElement","cloneElement","responsiveArray","responsiveMap","xs","sm","md","lg","xl","xxl","subscribers","subUid","screens","responsiveObserve","matchHandlers","pointMap","func","register","unregister","screen","matchMediaQuery","mql","removeListener","_this2","matches","matchMedia","addListener","getStatusClassNames","hasFeedback","getMergedStatus","contextStatus","customStatus","flexGapSupported","canUseDocElement","detectFlexGapSupported","display","flexDirection","rowGap","tuple","tupleNum","_len2","_key2","ids","wrapperRaf","delayFrames","myId","restFrames","internalCallback","raf","cancel","pid","styleForPseudo","genWaveStyle","waveEffect","boxShadow","fadeEffect","clickAnimatingWithoutExtraNodeTrue","clickAnimatingTrue","colorPrimary","clickAnimatingWithoutExtraNodeTrueAfter","clickAnimatingNode","insetInlineStart","insetInlineEnd","borderRadius","animation","_skip_check_","motionEaseOutCirc","animationFillMode","content","pointerEvents","isHidden","offsetParent","hidden","getValidateContainer","nodeRoot","Document","childNodes","nodeType","Node","ELEMENT_NODE","isValidWaveColor","isNotGrey","getTargetWaveColor","computedStyle","borderTopColor","getPropertyValue","borderColor","InternalWave","_React$Component","containerRef","animationStart","destroyed","waveColor","_this$props","insertExtraNode","disabled","extraNode","getPrefixCls","attributeName","getAttributeName","getRootNode","ownerDocument","nodeBody","onTransitionStart","onTransitionEnd","current","resetEffect","bindAnimationEvent","tagName","clickWaveTimeoutId","animationStartId","renderWave","clearTimeout","Element","innerHTML","contains","contextType","forwardRef","_useToken","_useToken2","waveToken","GroupSizeContext","direction","customizePrefixCls","others","sizeCls","classes","Provider","getCollapsedWidth","getRealWidth","scrollWidth","visible","loading","existIcon","LoadingOutlined","removeOnLeave","genButtonBorderStyle","buttonTypeCls","borderInlineEndColor","borderInlineStartColor","_componentCls","componentCls","fontSize","lineWidth","colorPrimaryHover","colorErrorHover","borderStartEndRadius","borderEndEndRadius","marginInlineStart","borderStartStartRadius","borderEndStartRadius","compactItemVerticalBorder","marginBottom","compactItemBorderVerticalRadius","genSharedButtonStyle","_extends2","_extends3","iconCls","outline","whiteSpace","textAlign","backgroundImage","border","lineType","cursor","transition","motionDurationMid","motionEaseInOut","userSelect","touchAction","colorText","marginXS","genCompactItemVerticalStyle","colorPrimaryBorder","genHoverActiveButtonStyle","hoverStyle","activeStyle","genCircleButtonStyle","minWidth","controlHeight","paddingInlineStart","paddingInlineEnd","genRoundButtonStyle","genGhostButtonStyle","btnCls","textColor","textColorDisabled","borderColorDisabled","genSolidDisabledButtonStyle","colorBorder","colorTextDisabled","colorBgContainerDisabled","genSolidButtonStyle","genPureDisabledButtonStyle","genDefaultButtonStyle","colorBgContainer","controlOutlineWidth","controlTmpOutline","colorPrimaryActive","colorError","colorErrorBorderHover","colorErrorActive","genTypeButtonStyle","colorTextLightSolid","controlOutline","colorErrorOutline","genPrimaryButtonStyle","borderStyle","genDashedButtonStyle","colorLink","colorLinkHover","colorLinkActive","genLinkButtonStyle","colorBgTextHover","colorBgTextActive","colorErrorBg","genTextButtonStyle","genSizeButtonStyle","sizePrefixCls","paddingVertical","paddingHorizontal","buttonPaddingHorizontal","iconOnlyCls","padding","opacityLoading","motionDurationSlow","marginInlineEnd","genSizeBaseButtonStyle","genSizeSmallButtonStyle","smallToken","controlHeightSM","paddingXS","borderRadiusSM","genSizeLargeButtonStyle","largeToken","controlHeightLG","fontSizeLG","borderRadiusLG","genBlockButtonStyle","genComponentStyleHook","paddingContentHorizontal","buttonToken","colorOutlineDefault","rxTwoCNChar","isTwoCNChar","isUnBorderedButtonType","spaceChildren","needInserted","isPrevChildPure","childList","isCurrentChildPure","lastIndex","lastChild","SPACE","insertSpace","convertLegacyProps","danger","InternalButton","_props$loading","_props$type","_props$shape","shape","customizeSize","customDisabled","_props$ghost","ghost","_props$block","block","_props$htmlType","htmlType","autoInsertSpaceInButton","_useStyle","_useStyle2","wrapSSR","SizeContext","DisabledContext","mergedDisabled","groupSize","innerLoading","setLoading","hasTwoCNChar","setHasTwoCNChar","buttonRef","isNeedInserted","loadingOrDelay","delay","delayTimer","buttonText","textContent","handleClick","preventDefault","autoInsertSpace","_useCompactItemContex","compactSize","compactItemClassnames","sizeFullname","large","small","middle","iconType","linkButtonRestProps","omit","href","iconNode","kids","buttonNode","Button","Group","__ANT_BUTTON","DisabledContextProvider","originDisabled","SizeContextProvider","Consumer","originSize","defaultIconPrefixCls","ConfigContext","suffixCls","iconPrefixCls","ConfigConsumer","_props$locale","locale","_ANT_MARK__","Modal","getMemoizedContextValue","exist","dynamicStyleMark","registerTheme","globalPrefixCls","variables","formatColor","updater","fillColor","colorVal","baseColor","colorPalettes","primaryColors","primaryActiveColor","successColor","warningColor","errorColor","infoColor","getStyle","globalIconPrefixCls","PASSED_PROPS","getGlobalPrefixCls","getGlobalIconPrefixCls","globalConfig","getIconPrefixCls","getRootPrefixCls","ProviderChildren","customCsp","form","componentSize","space","virtual","dropdownMatchSelectWidth","legacyLocale","parentContext","customIconPrefixCls","componentDisabled","mergedPrefixCls","shouldWrapSSR","mergedTheme","parentTheme","themeConfig","parentThemeConfig","inherit","useMemo","mergedComponents","components","componentName","some","prevTheme","nextTheme","useTheme","propName","propValue","memoedConfig","prevConfig","currentConfig","prevKeys","currentKeys","memoIconContextValue","childNode","validateMessages","Form","defaultValidateMessages","memoTheme","algorithm","themeObj","ConfigProvider","LocaleReceiver","genSharedDividerStyle","sizePaddingEdgeHorizontal","colorSplit","borderBlockStart","margin","dividerVerticalGutterMargin","verticalAlign","borderTop","borderInlineStart","dividerHorizontalGutterMargin","dividerHorizontalWithTextGutterMargin","colorTextHeading","borderBlockStartColor","borderBlockEnd","borderWidth","borderInlineEnd","dividerToken","marginLG","_props$orientation","orientation","orientationMargin","dashed","plain","orientationPrefix","hasChildren","hasCustomMarginLeft","hasCustomMarginRight","innerStyle","marginLeft","marginRight","FormContext","labelAlign","vertical","itemRef","NoStyleItemContext","FormProvider","providerProps","FormItemPrefixContext","FormItemInputContext","NoFormStyle","formItemInputContext","newFormItemInputContext","newContext","isFormItemInput","feedbackIcon","useDebounce","setCacheValue","timeout","_helpItemCls","helpCls","helpItemCls","genFormSize","_formItemCls","formItemCls","minHeight","genFormStyle","legend","colorTextDescription","borderBottom","boxSizing","paddingTop","resetForm","paddingSM","genFormItemStyle","_label","_ref6","colorWarning","alignItems","maxWidth","marginXXS","fontFamily","writingMode","marginBlock","motionEaseOut","visibility","animationDuration","animationTimingFunction","motionEaseOutBack","colorSuccess","genHorizontalStyle","_ref8","genInlineStyle","_formItemCls2","flexWrap","makeVerticalLayoutLabel","genVerticalStyle","_ref17","screenSMMax","_ref12","makeVerticalLayout","screenMDMax","screenLGMax","_ref18","formToken","toErrorEntity","errorStatus","ErrorList","help","helpStatus","_ref$errors","errors","_ref$warnings","warnings","fieldId","onVisibleChanged","baseClassName","collapseMotion","debounceErrors","debounceWarnings","fullKeyList","helpProps","holderProps","holderClassName","holderStyle","component","itemProps","itemClassName","itemStyle","clientWidth","overflowY","overflowX","defaultView","frameElement","scrollMode","boundary","skipOverflowHiddenElements","scrollingElement","host","visualViewport","scrollX","pageXOffset","scrollY","pageYOffset","getBoundingClientRect","V","Y","borderLeftWidth","borderTopWidth","borderRightWidth","borderBottomWidth","scrollLeft","scrollTop","el","isOptionsObject","isTargetAttached","isConnected","behavior","computeOptions","getOptions","canSmoothScroll","scroll","defaultBehavior","formItemNameBlackList","toArray","candidate","getFieldId","namePath","formName","mergedId","defaultItemNamePrefixCls","toNamePathStr","useForm","_useRcForm","rcForm","itemsRef","wrapForm","__INTERNAL__","namePathStr","scrollToField","getElementById","getFieldInstance","InternalForm","contextSize","contextDisabled","contextForm","_props$className","_props$size","_props$disabled","colon","labelWrap","labelCol","wrapperCol","hideRequiredMark","_props$layout","layout","scrollToFirstError","requiredMark","onFinishFailed","restFormProps","mergedRequiredMark","mergedColon","formClassName","_useForm","formContextValue","errorInfo","defaultScrollToFirstError","errorFields","useFormItemStatus","htmlFor","required","tooltip","_useLocaleReceiver","formLocale","_classNames2","contextLabelAlign","contextLabelCol","contextColon","mergedLabelCol","mergedLabelAlign","labelClsBasic","labelColClassName","labelChildren","computedColon","tooltipProps","title","toTooltipProps","_tooltipProps$icon","restTooltipProps","tooltipNode","optional","labelClassName","formItemRender","_internalItemRender","onErrorVisibleChanged","formContext","mergedWrapperCol","subFormContext","inputDom","formItemContext","errorListDom","extraProps","extraDom","dom","errorList","iconMap","success","CheckCircleFilled","ExclamationCircleFilled","CloseCircleFilled","validating","ItemHolder","_itemClassName","validateStatus","isRequired","onSubItemMetaChange","itemPrefixCls","hasHelp","hasError","setMarginBottom","mergedValidateStatus","touched","formItemStatusContext","IconNode","nextVisible","MemoInput","childProps","FormItem","noStyle","dependencies","shouldUpdate","messageVariables","_props$trigger","trigger","validateTrigger","isRenderProps","notifyParentMetaChange","contextValidateTrigger","mergedValidateTrigger","hasName","hasValidName","listContext","fieldKeyPathRef","_useFrameState","defaultValue","setValue","frameRef","useRef","batchRef","destroyRef","prevValue","useFrameState","_useFrameState2","subFieldErrors","setSubFieldErrors","_useState","useState","_useState2","setMeta","subMeta","uniqueKeys","prevSubFieldErrors","mergedNameKey","_React$useMemo","warningList","values","subFieldError","_React$useMemo2","mergedErrors","mergedWarnings","getItemRef","cacheRef","childrenRef","nameStr","originRef","useItemRef","renderLayout","baseChildren","onMetaChange","nextMeta","keyInfo","getKey","_keyInfo","fieldKey","restPath","control","renderMeta","mergedName","warningOnly","ruleEntity","mergedControl","describedbyArr","eventName","_a2","_c2","watchingChildProps","valuePropName","useStatus","contextValue","fields","field","Item","List","useFormInstance","useWatch","RowContext","sizes","Col","_React$useContext2","gutter","wrap","supportFlexGap","span","pull","_useColStyle","_useColStyle2","sizeClassObj","sizeProps","propSize","mergedStyle","horizontalGutter","paddingLeft","paddingRight","verticalGutter","paddingBottom","parseFlex","useMergePropByScreen","oriProp","setProp","breakpoint","curVal","clacMergeAlignOrJustify","Row","justify","align","_props$gutter","setScreens","_React$useState5","_React$useState6","curScreens","setCurScreens","mergeAlign","mergeJustify","gutterRef","currentGutter","_useRowStyle","_useRowStyle2","gutters","getGutter","rowStyle","_gutters","marginTop","_gutters2","gutterH","gutterV","rowContext","genGridRowStyle","flexFlow","justifyContent","genGridColStyle","genGridStyle","gridColumns","gridColumnsStyle","genLoopGridColumnsStyle","useRowStyle","useColStyle","gridToken","gridMediaSizesMap","screenSMMin","screenMDMin","screenLGMin","screenXLMin","screenXXLMin","screenSize","genGridMediaStyle","pre","cur","hasAddon","addonBefore","addonAfter","hasPrefixSuffix","suffix","allowClear","resolveOnChange","onChange","targetValue","currentTarget","cloneNode","fixControlledValue","inputElement","affixWrapperClassName","groupClassName","wrapperClassName","readOnly","focused","triggerFocus","handleReset","affixWrapperPrefixCls","affixWrapperCls","suffixNode","needClear","clearIconCls","clearIcon","onMouseDown","getClearIcon","_containerRef$current","wrapperCls","addonCls","mergedWrapperClassName","mergedGroupClassName","autoComplete","onFocus","onBlur","onPressEnter","onKeyDown","_props$prefixCls","htmlSize","maxLength","showCount","inputClassName","_useMergedState","useMergedState","_useMergedState2","setFocused","inputRef","focus","setSelectionRange","useImperativeHandle","blur","_inputRef$current","_inputRef$current2","select","_inputRef$current3","handleChange","handleKeyDown","handleFocus","handleBlur","otherProps","getInputElement","hasMaxLength","valueLength","dataCount","formatter","getSuffix","_classNames4","_props$bordered","bordered","customSize","mergedSize","_useContext","mergedStatus","inputHasPrefixSuffix","prevHasPrefixSuffix","mergedAllowClear","removePasswordTimeout","useRemovePasswordTimeout","hiddenTextarea","HIDDEN_TEXTAREA_STYLE","SIZING_STYLE","computedStyleCache","calculateNodeStyling","useCache","nodeRef","paddingSize","borderSize","sizingStyle","nodeInfo","ResizableTextArea","autoSize","onResize","onInternalAutoSize","postState","mergedValue","setMergedValue","textareaRef","textArea","minRows","maxRows","needAutoSize","resizeState","setResizeState","autoSizeStyle","setAutoSizeStyle","startResize","textareaStyles","uiTextNode","removeAttribute","_calculateNodeStyling","placeholder","maxHeight","singleRowHeight","resize","calculateAutoSizeStyle","activeElement","_textareaRef$current","selectionStart","selectionEnd","fixFirefoxAutoScroll","resizeRafRef","cleanRaf","mergedAutoSizeStyle","TextArea","resizableTextArea","saveTextArea","keyCode","setState","nextProps","ClearableInputType","ClearableLabeledInput","statusContext","_this$props2","renderClearIcon","_this$props3","inputType","renderTextAreaWithClearIcon","fixEmojiLength","setTriggerValue","isCursorInEnd","preValue","triggerValue","newTriggerValue","_a$bordered","_a$showCount","onCompositionStart","onCompositionEnd","innerRef","clearableInputRef","compositing","setCompositing","oldCompositionValueRef","oldSelectionStartRef","handleSetValue","textareaNode","triggerOnMount","removePasswordTimeoutRef","hasAttribute","timer","inputPrefixCls","cls","compact","groupFormItemContext","onMouseEnter","onMouseLeave","defaultIconRender","EyeOutlined","ActionMap","click","hover","_props$visibilityTogg","visibilityToggle","visibilityControlled","setVisible","onVisibleChange","prevState","newState","renderPassword","customizeInputPrefixCls","suffixIcon","_iconProps","_props$action","_props$iconRender","iconRender","iconTrigger","iconProps","getIcon","omittedProps","Input","button","_props$enterButton","enterButton","customOnSearch","onSearch","customOnChange","composedRef","searchIcon","SearchOutlined","btnClassName","enterButtonAsElement","isAntdButton","Search","Password","genPlaceholderStyle","textOverflow","genHoverStyle","inputBorderHoverColor","borderInlineEndWidth","genActiveStyle","genDisabledStyle","genInputLargeStyle","inputPaddingVerticalLG","inputPaddingHorizontal","lineHeightLG","genInputSmallStyle","inputPaddingVerticalSM","controlPaddingHorizontalSM","genStatusStyle","colorWarningOutline","colorWarningBorderHover","inputBorderActiveColor","genBasicInputStyle","inputPaddingVertical","colorTextPlaceholder","genInputGroupStyle","_addon","_ref10","antCls","borderCollapse","borderSpacing","colorFillAlter","genInputStyle","_typeColor","colorSmallPadding","genAffixStyle","_extends4","inputAffixPadding","colorIcon","colorIconHover","paddingXXS","_ref14","fontSizeIcon","insetBlockStart","genAllowClearStyle","genGroupStyle","genSearchInputStyle","_ref23","_searchPrefixCls","searchPrefixCls","insetBlockEnd","initInputToken","controlPaddingHorizontal","inputPaddingHorizontalSM","genTextAreaStyle","_showCount","_textareaPrefixCls","paddingLG","textareaPrefixCls","inputToken","_props$componentName","defaultLocale","antLocale","localeFromContext","localeCode","useLocaleReceiver","LocaleContext","today","backToToday","month","year","timeSelect","dateSelect","weekSelect","monthSelect","yearSelect","decadeSelect","yearFormat","dateFormat","dayFormat","dateTimeFormat","monthBeforeYear","previousMonth","nextMonth","previousYear","nextYear","previousDecade","nextDecade","previousCentury","nextCentury","rangePlaceholder","lang","yearPlaceholder","quarterPlaceholder","monthPlaceholder","weekPlaceholder","rangeYearPlaceholder","rangeQuarterPlaceholder","rangeMonthPlaceholder","rangeWeekPlaceholder","timePickerLocale","typeTemplate","Pagination","DatePicker","TimePicker","Calendar","global","Table","filterTitle","filterConfirm","filterReset","filterEmptyText","filterCheckall","filterSearchPlaceholder","emptyText","selectAll","selectInvert","selectNone","selectionAll","sortTitle","expand","collapse","triggerDesc","triggerAsc","cancelSort","Tour","Next","Previous","Finish","okText","cancelText","justOkText","Popconfirm","Transfer","titles","searchPlaceholder","itemUnit","itemsUnit","selectCurrent","removeCurrent","removeAll","Upload","uploading","removeFile","uploadError","previewFile","downloadFile","description","Text","edit","copy","copied","PageHeader","back","date","invalid","types","string","number","integer","regexp","email","range","mismatch","Image","preview","Notify","_props$duration","duration","eventKey","closable","_props$closeIcon","closeIcon","divProps","onNoticeClose","hovering","setHovering","onInternalClose","noticePrefixCls","stopPropagation","Notifications","maxCount","onAllRemoved","configList","setConfigList","_config$onClose","onClose","placements","setPlacements","nextPlacements","_config$placement","emptyRef","placementList","placementMotion","motionAppear","originPlacements","onAllNoticeRemoved","motionClassName","motionStyle","configClassName","configStyle","Notice","defaultGetContainer","uniqueKey","mergeConfig","objList","genMessageStyle","boxShadowSecondary","colorBgElevated","colorInfo","motionEaseInOutCirc","zIndexPopup","messageNoticeContentPadding","messageMoveIn","messageMoveOut","animationPlayState","combinedToken","paddingContentVertical","zIndexPopupBase","TypeIcon","InfoCircleFilled","PureContent","wrapPromiseFn","openFn","closeFn","closePromise","filled","Holder","staticPrefixCls","staticGetContainer","rtl","getPopupContainer","mergedCloseIcon","CloseOutlined","_useRcNotification","rootConfig","_rootConfig$getContai","shareConfig","setContainer","notificationsRef","contextHolder","taskQueue","setTaskQueue","api","mergedConfig","task","getMotion","_useRcNotification2","holder","keyIndex","useInternalMessage","notificationConfig","holderRef","fakeResult","_holderRef$current","originOpen","_onClose","restConfig","jointContent","mergedDuration","mergedOnClose","act","defaultGlobalConfig","GlobalHolder","setPrefixCls","setMaxCount","_React$useState7","_React$useState8","setRTL","_React$useState9","_React$useState10","setTop","_useInternalMessage","_useInternalMessage2","rootIconPrefixCls","sync","_getGlobalContext","_defaultGlobalConfig","globalGetContainer","getGlobalContext","nextGlobalPrefixCls","nextGlobalContainer","nextGlobalMaxCount","nextGlobalRTL","nextTop","flushNotice","holderFragment","createDocumentFragment","newMessage","fragment","skipped","setCloseFn","_message$instance","typeOpen","staticMethods","useMessage","_InternalPanelDoNotUseOrYouWillBeFired","isThenable","thing","clickedRef","timeoutId","autoFocus","buttonProps","actionFn","returnValueOfOnOk","emitEvent","quitOnNullishReturnValue","console","handlePromiseOnOk","useId","innerId","setInnerId","useOriginId","reactNativeId","nextId","Mask","maskProps","leavedClassName","getMotionName","getScroll","sentinelStyle","Panel","ariaId","footer","bodyStyle","bodyProps","modalRender","onMouseUp","forceRender","sentinelStartRef","sentinelEndRef","_sentinelStartRef$cur","changeActive","footerNode","headerNode","closer","contentStyle","MemoChildren","Content","destroyOnClose","mousePosition","dialogRef","transformOrigin","setTransformOrigin","onPrepare","elementOffset","rect","pos","doc","parentWindow","onAppearPrepare","onEnterPrepare","motionRef","Dialog","_props$visible","_props$keyboard","keyboard","_props$focusTriggerAf","focusTriggerAfterClose","wrapStyle","wrapClassName","wrapProps","afterClose","_props$closable","_props$mask","mask","maskTransitionName","maskAnimation","_props$maskClosable","maskClosable","maskStyle","lastOutSideActiveElementRef","wrapperRef","contentRef","animatedVisible","setAnimatedVisible","contentClickRef","contentTimeoutRef","onWrapperClick","pickAttrs","KeyCode","shiftKey","newVisible","_contentRef$current","focusDialogContent","preventScroll","DialogWrap","_props$destroyOnClose","_afterClose","fadeIn","fadeOut","initFadeMotion","sameLevel","motionCls","sameLevelPrefix","box","genModalMaskStyle","colorBgMask","WebkitOverflowScrolling","genModalStyle","_ref7","_ref11","inset","modalHeadingColor","fontWeightStrong","modalHeaderTitleFontSize","modalHeaderTitleLineHeight","wordWrap","modalContentBg","backgroundClip","paddingMD","paddingContentHorizontalLG","modalHeaderCloseSize","modalCloseBtnSize","modalCloseColor","textDecoration","modalConfirmIconSize","fontStyle","textTransform","textRendering","modalIconHoverColor","wireframe","colorFillContent","colorFillContentHover","modalHeaderBg","modalFooterBg","marginSM","genModalConfirmStyle","_ref15","_confirmComponentCls","confirmComponentCls","marginBlockStart","flexBasis","genRTLStyle","genWireframeStyle","_confirmComponentCls2","modalHeaderPadding","modalHeaderBorderWidth","modalHeaderBorderStyle","modalHeaderBorderColorSplit","modalBodyPadding","modalFooterPaddingVertical","modalFooterPaddingHorizontal","modalFooterBorderWidth","modalFooterBorderStyle","modalFooterBorderColorSplit","headerPaddingVertical","headerFontSize","fontSizeHeading5","headerLineHeight","lineHeightHeading5","modalToken","modalConfirmTitleFontSize","renderCloseIcon","renderFooter","_props$okType","okType","confirmLoading","onOk","onCancel","okButtonProps","cancelButtonProps","pageX","pageY","getContextPopupContainer","handleCancel","centered","_props$width","wrapClassNameExtended","ConfirmContent","confirmPrefixCls","okCancel","staticLocale","mergedIcon","mergedOkCancel","autoFocusButton","mergedLocale","cancelButton","triggerCancel","defaultRootPrefixCls","runtimeLocale","_globalConfig","configUpdate","withWarn","withInfo","withSuccess","withError","withConfirm","HookModal","setOpen","innerConfig","setInnerConfig","newConfig","originConfig","contextLocale","ElementsHolder","_props","_usePatchElement","elements","setElements","originElements","usePatchElement","_usePatchElement2","patchElement","modalWarn","useModal","actionQueue","setActionQueue","getConfirmFunc","withFunc","closeFunc","modalRef","modal","destroyAction","updateAction","confirm","warn","destroyAll","additionalProps","changeConfirmLocale","newLocale","getConfirmLocale","getRenderPropValue","genBaseStyle","popoverBg","popoverColor","popoverPadding","colorBg","genColorStyle","colorKey","lightColor","titlePaddingBlockDist","popoverTitlePaddingBlockTop","popoverTitlePaddingBlockBottom","popoverPaddingHorizontal","popoverToken","RawPurePanel","_props$placement","getOverlay","Overlay","Popover","overlayClassName","_overlay","_props$mouseEnterDela","mouseEnterDelay","_props$mouseLeaveDela","mouseLeaveDelay","_props$overlayStyle","overlayStyle","overlayCls","overlay","SpaceCompactItemContext","useCompactItemContext","compactItemContext","compactDirection","isFirstItem","isLastItem","separator","NoCompactStyle","CompactItem","directionConfig","clx","nodes","genSpaceStyle","compactItemBorder","borderedItemCls","popoverFocusedCls","childCombinator","compactItemBorderRadius","borderedElementCls","genCompactItemStyle","textEllipsis","resetComponent","listStyle","resetIcon","svg","clearFix","genLinkStyle","linkDecoration","linkHoverDecoration","linkFocusDecoration","genCommonStyle","componentPrefixCls","rootPrefixSelector","genFocusOutline","outlineOffset","genFocusStyle","_token$componentCls","initMotionCommon","initMotionCommonLeave","initMotion","inKeyframes","outKeyframes","zoomIn","zoomOut","zoomBigIn","zoomBigOut","zoomUpIn","zoomUpOut","zoomLeftIn","zoomLeftOut","zoomRightIn","zoomRightOut","zoomDownIn","zoomDownOut","zoomMotion","initZoomMotion","_zoomMotion$motionNam","operationUnit","connectArrowCls","classList","showArrowCls","MAX_VERTICAL_CONTENT_RADIUS","getArrowOffset","maxVerticalContentRadius","sizePopupArrow","contentRadius","borderRadiusOuter","limitVerticalRadius","arrowInnerOffset","sqrt","dropdownArrowOffset","dropdownArrowOffsetVertical","getArrowStyle","borderRadiusXS","boxShadowPopoverArrow","_options$contentRadiu","_getArrowOffset","dropdownArrowDistance","roundedArrow","innerRadius","outerRadius","bgColor","unitWidth","ax","ay","bx","by","cx","cy","dx","dy","ex","ey","fx","fy","insetInline","clipPath","PresetColors","controlHeightXS","radiusBase","radiusLG","radiusSM","radiusXS","radiusOuter","genCommonMapToken","motionUnit","motionBase","fontSizes","base","baseSize","intSize","motionDurationFast","fs","lineHeights","lineWidthBold","getAlphaColor","getSolidColor","brightness","generateColorPalettes","generateNeutralColorPalettes","bgBaseColor","textBaseColor","colorBgBase","colorTextBase","colorTextSecondary","colorTextTertiary","colorTextQuaternary","colorFill","colorFillSecondary","colorFillTertiary","colorFillQuaternary","colorBgLayout","colorBgSpotlight","colorBorderSecondary","isStableColor","frontColor","_TinyColor$toRgb","fR","fG","fB","_TinyColor$toRgb2","bR","bG","bB","fA","restToken","overrideTokens","seed","screenXL","screenXXL","fontSizeSM","colorInfoText","colorInfoHover","colorInfoActive","colorBorderBg","colorTextLabel","colorWhite","colorHighlight","colorWarningBg","fontSizeXL","fontSizeHeading1","fontSizeHeading2","fontSizeHeading3","fontSizeHeading4","lineHeightSM","lineHeightHeading1","lineHeightHeading2","lineHeightHeading3","lineHeightHeading4","controlInteractiveSize","controlItemBgHover","controlItemBgActive","colorPrimaryBg","controlItemBgActiveHover","colorPrimaryBgHover","controlItemBgActiveDisabled","sizeXXS","sizeXS","sizeSM","sizeMD","sizeLG","paddingXL","sizeXL","paddingContentVerticalLG","sizeMS","paddingContentHorizontalSM","paddingContentVerticalSM","marginMD","marginXL","marginXXL","sizeXXL","screenXS","screenXSMin","screenXSMax","screenSM","screenMD","screenLG","screenXLMax","screenXXLMax","boxShadowCard","boxShadowDrawerRight","boxShadowDrawerLeft","boxShadowDrawerUp","boxShadowDrawerDown","boxShadowTabsOverflowLeft","boxShadowTabsOverflowRight","boxShadowTabsOverflowTop","boxShadowTabsOverflowBottom","defaultTheme","colorSuccessBase","colorWarningBase","colorErrorBase","colorInfoBase","colorPrimaryBase","successColors","warningColors","errorColors","infoColors","neutralColors","colorPrimaryBorderHover","colorPrimaryTextHover","colorPrimaryText","colorPrimaryTextActive","colorSuccessBg","colorSuccessBgHover","colorSuccessBorder","colorSuccessBorderHover","colorSuccessHover","colorSuccessActive","colorSuccessTextHover","colorSuccessText","colorSuccessTextActive","colorErrorBgHover","colorErrorBorder","colorErrorTextHover","colorErrorText","colorErrorTextActive","colorWarningBgHover","colorWarningBorder","colorWarningHover","colorWarningActive","colorWarningTextHover","colorWarningText","colorWarningTextActive","colorInfoBg","colorInfoBgHover","colorInfoBorder","colorInfoBorderHover","colorInfoTextHover","colorInfoTextActive","genColorMapToken","sizeUnit","sizeStep","genSizeMapToken","defaultConfig","hashed","DesignTokenContext","useToken","rootDesignToken","_useCacheToken","_useCacheToken2","defaultPresetColors","seedToken","motionEaseInBack","motionEaseInQuint","motionEaseOutQuint","zIndexBase","opacityImage","getDefaultToken","_statisticToken","proxyToken","flush","defaultComponentToken","mergedComponentToken","styleInterpolation","overrideComponentToken","enableStatistic","CSSINJS_STATISTIC","recording","merge","objs","statistic","noop","statisticToken","componentToken","generatorTooltipPresetColor","previousValue","currentValue","_previousValue","genTooltipStyle","tooltipMaxWidth","tooltipColor","tooltipBg","tooltipBorderRadius","tooltipRadiusOuter","injectStyle","colorBgDefault","TooltipToken","useOriginHook","PresetColorRegex","parseColor","arrowStyle","getDisabledCompatibleChildren","elementType","__ANT_SWITCH","__ANT_RADIO","_splitObject","picked","omitted","splitObject","spanStyle","buttonStyle","Tooltip","openClassName","getTooltipContainer","overlayInnerStyle","afterOpenChange","afterVisibleChange","defaultOpen","defaultVisible","isNoTitle","getTooltipPlacements","builtinPlacements","_props$arrowPointAtCe","_props$autoAdjustOver","injectFromPopover","tempOpen","childCls","formattedOverlayInnerStyle","arrowContentStyle","customOverlayClassName","vis","onOpenChange","onPopupAlign","domNode","arrowContent","inlineStyle","TransButton","onKeyUp","genTypographyStyle","sizeMarginHeadingVerticalStart","wordBreak","headingLevel","sizeMarginHeadingVerticalEnd","getTitleStyle","getTitleStyles","paddingInline","paddingBlock","kbd","textDecorationSkipInk","strong","marginInline","li","ul","listStyleType","ol","blockquote","getLinkStyles","_editContent","inputShift","MozTransition","getEditableStyles","getCopiableStyles","WebkitBoxOrient","getEllipsisStyles","ariaLabel","_ref$autoSize","onSave","onEnd","_ref$enterIcon","enterIcon","inComposition","lastKeyCode","setCurrent","confirmChange","textClassName","textAreaClassName","ctrlKey","altKey","metaKey","rows","useMergedConfig","propConfig","templateConfig","conditions","mountRef","_a$component","Component","setContentRef","typographyDirection","contextDirection","componentClassName","cuttable","sliceNodes","nodeList","currLen","currentNodeList","nextLen","restLen","enabledMeasure","text","onEllipsis","_React$useState2$","startLen","midLen","endLen","setCutLength","walkingState","setWalkingState","setSingleRowHeight","singleRowRef","midRowRef","totalLen","getNodesLen","mergedChildren","_midHeight","nextStartLen","nextEndLen","nextMidLen","measureStyle","renderMeasure","sliceNodeList","renderMeasureSlice","enabledEllipsis","isEllipsis","getNode","defaultNode","needDom","toList","Base","ellipsis","editable","copyable","textLocale","typographyRef","editIconRef","textProps","_useMergedConfig","_useMergedConfig2","enableEdit","editConfig","editing","setEditing","_editConfig$triggerTy","triggerType","triggerEdit","onStart","onEditClick","_useMergedConfig3","_useMergedConfig4","enableCopy","copyConfig","setCopied","copyIdRef","copyOptions","cleanCopyId","onCopyClick","onCopy","isLineClampSupport","setIsLineClampSupport","isTextOverflowSupport","setIsTextOverflowSupport","expanded","setExpanded","isJsEllipsis","setIsJsEllipsis","_React$useState11","_React$useState12","isNativeEllipsis","setIsNativeEllipsis","_React$useState13","_React$useState14","isNativeVisible","setIsNativeVisible","_useMergedConfig5","expandable","_useMergedConfig6","enableEllipsis","ellipsisConfig","mergedEnableEllipsis","_ellipsisConfig$rows","needMeasureEllipsis","cssEllipsis","isMergedEllipsis","cssTextOverflow","cssLineClamp","onExpandClick","onExpand","_React$useState15","_React$useState16","ellipsisWidth","setEllipsisWidth","_React$useState17","_React$useState18","ellipsisFontSize","setEllipsisFontSize","onJsEllipsis","jsEllipsis","textEle","currentEllipsis","IntersectionObserver","observe","disconnect","topAriaLabel","renderExpand","expandContent","symbol","renderEdit","editTitle","renderCopy","tooltips","tooltipNodes","iconNodes","copyTitle","systemStr","CheckOutlined","resizeRef","needEllipsis","renderNode","wrappedContext","underline","del","italic","currentContent","needed","wrapperDecorations","renderExpanded","renderEllipsis","rel","mergedProps","navigate","mergedEllipsis","TITLE_ELE_LIST","_props$level","level","Link","Title","Paragraph","GRAPHQL_AUTH_MODE","isFederatedSignInOptions","isCognitoHostedOpts","oauth","redirectSignIn","isBrowser","UniversalStorage","cookies","cookie","getAll","getLocalItem","getUniversalItem","removeLocalItem","removeUniversalItem","setLocalItem","setUniversalItem","sameSite","secure","location","AuthenticationDetails","ValidationData","Username","AuthParameters","ClientMetadata","validationData","authParameters","clientMetadata","username","password","_proto","getUsername","getPassword","getValidationData","getAuthParameters","getClientMetadata","cryptoSecureRandomInt","randomBytes","readInt32LE","dbits","WordArray","words","sigBytes","nBytes","wordArray","hexChars","bite","hexStringify","fromString","nbi","inBrowser","appName","am","xh","DB","DM","DV","FV","F1","F2","rr","vv","BI_RC","int2char","intAt","nbv","fromInt","nbits","Montgomery","mp","invDigit","mpl","mph","um","mt2","convert","dlShiftTo","divRemTo","compareTo","ZERO","subTo","revert","copyTo","u0","clamp","drShiftTo","mulTo","multiplyTo","sqrTo","squareTo","mi","sh","lShiftTo","bs","cbs","bm","ds","rShiftTo","pm","pt","ts","ms","nsh","ys","y0","yt","d1","d2","ONE","qd","addTo","negate","km","subtract","multiply","divide","modPow","k1","g2","is1","r2","HEX_MSB_REGEX","AuthenticationHelper","PoolName","BigInteger","hexHash","padHex","smallAValue","generateRandomSmallA","getLargeAValue","infoBits","poolName","getSmallAValue","largeAValue","calculateA","hexRandom","generateRandomString","getRandomPassword","randomPassword","getSaltDevices","SaltToHashDevices","getVerifierDevices","verifierDevices","generateHashDevice","deviceGroupKey","combinedString","hashedString","verifierDevicesNotPadded","_this3","calculateU","UHexHash","buf","awsCryptoHash","resultFromAWSCrypto","hashHex","hexStr","computehkdf","ikm","infoBitsBuffer","resultFromAWSCryptoPrk","awsCryptoHashHmac","getPasswordAuthenticationKey","serverBValue","_this4","UValue","usernamePassword","usernamePasswordHash","xValue","calculateS","sValue","hkdf","_this5","gModPowXN","err2","getNewPasswordRequiredChallengeUserAttributePrefix","bigInt","isNegative","invertedNibbles","invertedNibble","CognitoJwtToken","jwtToken","decodePayload","getJwtToken","getExpiration","exp","getIssuedAt","iat","_setPrototypeOf","CognitoAccessToken","_CognitoJwtToken","subClass","superClass","_temp","AccessToken","CognitoIdToken","IdToken","CognitoRefreshToken","RefreshToken","getToken","CognitoUserSession","ClockDrift","idToken","refreshToken","accessToken","clockDrift","calculateClockDrift","getIdToken","getRefreshToken","getAccessToken","getClockDrift","adjusted","monthNames","weekNames","DateHelper","getNowString","weekDay","getUTCDay","getUTCMonth","day","getUTCDate","hours","getUTCHours","minutes","getUTCMinutes","seconds","getUTCSeconds","getUTCFullYear","CognitoUserAttribute","Name","Value","setName","dataMemory","MemoryStorage","StorageHelper","storageWindow","exception","getStorage","CognitoUser","Pool","pool","Session","signInUserSession","authenticationFlowType","storage","Storage","keyPrefix","getClientId","userDataKey","setSignInUserSession","clearCachedUserData","cacheTokens","getSignInUserSession","getAuthenticationFlowType","setAuthenticationFlowType","initiateAuth","authDetails","USERNAME","clientMetaData","jsonReq","AuthFlow","ClientId","getUserContextData","UserContextData","onFailure","challengeName","ChallengeName","challengeParameters","ChallengeParameters","customChallenge","getCognitoUserSession","AuthenticationResult","onSuccess","authenticateUser","authenticateUserPlainUsernamePassword","authenticateUserDefaultAuth","authenticationHelper","getUserPoolName","dateHelper","deviceKey","DEVICE_KEY","errOnAValue","aValue","SRP_A","CHALLENGE_NAME","USER_ID_FOR_SRP","SRP_B","SALT","getCachedDeviceKeyAndPassword","errOnHkdf","concatBuffer","SECRET_BLOCK","signatureString","challengeResponses","PASSWORD_CLAIM_SECRET_BLOCK","TIMESTAMP","PASSWORD_CLAIM_SIGNATURE","jsonReqResp","ChallengeResponses","respondToAuthChallenge","challenge","challengeCallback","errChallenge","dataChallenge","clearCachedDeviceKeyAndPassword","errAuthenticate","dataAuthenticate","authenticateUserInternal","PASSWORD","authResult","mfaRequired","selectMFAType","mfaSetup","totpRequired","userAttributes","rawRequiredAttributes","requiredAttributes","userAttributesPrefix","newPasswordRequired","getDeviceResponse","newDeviceMetadata","NewDeviceMetadata","DeviceGroupKey","DeviceKey","errGenHash","deviceSecretVerifierConfig","Salt","PasswordVerifier","DeviceSecretVerifierConfig","DeviceName","errConfirm","dataConfirm","cacheDeviceKeyAndPassword","UserConfirmationNecessary","completeNewPasswordChallenge","newPassword","requiredAttributeData","finalUserAttributes","NEW_PASSWORD","_this6","errAValue","errHkdf","confirmRegistration","confirmationCode","forceAliasCreation","ConfirmationCode","ForceAliasCreation","sendCustomChallengeAnswer","answerChallenge","_this7","ANSWER","sendMFACode","mfaType","_this8","SMS_MFA_CODE","mfaTypeSelection","SOFTWARE_TOKEN_MFA_CODE","changePassword","oldUserPassword","newUserPassword","PreviousPassword","ProposedPassword","enableMFA","mfaOptions","DeliveryMedium","AttributeName","MFAOptions","setUserMfaPreference","smsMfaSettings","softwareTokenMfaSettings","SMSMfaSettings","SoftwareTokenMfaSettings","disableMFA","deleteUser","_this9","clearCachedUser","updateAttributes","attributes","_this10","UserAttributes","getUserData","bypassCache","getUserAttributes","userData","attributeList","attribute","userAttribute","getMFAOptions","createGetUserRequest","promisifyRequest","refreshSessionIfPossible","_this11","refresh","refreshSession","params","_this12","getUserDataFromCache","isFetchUserDataAndTokenRequired","fetchUserData","_ref$bypassCache","_this13","cacheUserData","deleteAttributes","_this14","UserAttributeNames","resendConfirmationCode","getSession","idTokenKey","accessTokenKey","refreshTokenKey","clockDriftKey","cachedSession","_this15","wrappedCallback","wrapRefreshSessionCallback","REFRESH_TOKEN","lastUserKey","deviceKeyKey","authenticationResult","clearCachedTokens","randomPasswordKey","deviceGroupKeyKey","forgotPassword","inputVerificationCode","confirmPassword","getAttributeVerificationCode","verifyAttribute","getDevice","forgetSpecificDevice","forgetDevice","_this16","setDeviceStatusRemembered","DeviceRememberedStatus","setDeviceStatusNotRemembered","listDevices","paginationToken","requestParams","Limit","PaginationToken","globalSignOut","_this17","signOut","revokeTokenCallback","_this18","_session","revokeTokens","cleanClientData","isSessionRevocable","revokeToken","origin_jti","requestWithRetry","Token","sendMFASelectionAnswer","_this19","associateSoftwareToken","_this20","associateSecretCode","SecretCode","verifySoftwareToken","totpCode","friendlyDeviceName","_this21","UserCode","FriendlyDeviceName","errRespond","dataRespond","BASE_USER_AGENT","Platform","product","isReactNative","UserAgent","_wrapNativeSuper","Wrapper","_construct","_getPrototypeOf","Parent","_isNativeReflectConstruct","construct","sham","valueOf","CognitoError","_Error","fetchOptions","functionToRetry","maxDelayMs","MAX_DELAY_MS","BASE_TIME_MS","JITTER_FACTOR","attempt","jitteredBackoff","jitteredExponentialRetry","rej","json","__type","delayFn","retryIn","AuthErrorStrings","CognitoUserPool","UserPoolId","AdvancedSecurityDataCollectionFlag","userPoolId","clientId","advancedSecurityDataCollectionFlag","getUserPoolId","signUp","cognitoUser","returnData","user","userConfirmed","UserConfirmed","userSub","UserSub","codeDeliveryDetails","CodeDeliveryDetails","getCurrentUser","lastAuthUser","AmazonCognitoAdvancedSecurityData","amazonCognitoAdvancedSecurityDataConst","advancedSecurityData","getData","EncodedData","CookieStorage","domain","expires","numKeys","launchUri","windowProxy","AMPLIFY_SYMBOL","dispatchAuthEvent","Hub","OAuth","cognitoClientId","scopes","_urlOpener","urlOpener","_config","_cognitoClientId","isValidScopes","_scopes","oauthSignIn","responseType","customState","Cognito","generatedState","_generateState","char","padStart","sessionStorage","private_key","pkce_key","_generateRandom","code_challenge","_generateChallenge","scopesString","redirect_uri","response_type","client_id","identity_provider","code_challenge_method","_handleCodeFlow","currentUrl","currentUrlPathname","redirectSignInPathname","oAuthTokenEndpoint","code_verifier","oAuthTokenBody","access_token","refresh_token","id_token","pairings","accum","clientID","redirectUri","ouath_pkce_key","grant_type","_handleImplicitFlow","handleAuthResponse","urlParams","error_description","_validateState","savedState","oauth_state","returnedState","oAuthLogoutEndpoint","signout_uri","redirectSignOut","returnTo","logout_uri","oAuth","chars","b64","_base64URL","_bufferToString","CHARSET","AuthError","authErrorMessages","log","NoUserPoolError","noConfig","DEFAULT_MSG","missingAuthConfig","emptyUsername","EMPTY_USERNAME","invalidUsername","INVALID_USERNAME","emptyPassword","EMPTY_PASSWORD","emptyCode","EMPTY_CODE","signUpError","SIGN_UP_ERROR","noMFA","NO_MFA","invalidMFA","INVALID_MFA","emptyChallengeResponse","EMPTY_CHALLENGE","noUserSession","NO_USER_SESSION","deviceConfig","DEVICE_CONFIG","networkError","NETWORK_ERROR","autoSignInError","AUTOSIGNIN_ERROR","default","USER_ADMIN_SCOPE","AuthClass","userPool","oAuthFlowInProgress","autoSignInInitiated","inflightSessionPromise","inflightSessionPromiseCounter","configure","currentCredentials","currentUserCredentials","_storage","getModuleName","conf","parseAWSExports","Auth","userPoolWebClientId","cookieStorage","mandatorySignIn","refreshHandlers","identityPoolRegion","_isValidAuthStorage","ssr","_storageSync","userPoolData","cognitoHostedUIConfig","awsCognito","cognitoAuthParams","_oAuthHandler","usedResponseUrls_1","isNode","urlListener","_handleAuthResponse","isTrueStorageValue","AutoSignInError","restOfAttrs","rejectNoUserPool","autoSignIn","enabled","autoSignInValidationData","autoSignInClientMetaData","phone_number","rejectAuthError","SignUpError","attrs_1","validationDataObject_1","handleAutoSignIn","EmptyPassword","EmptyUsername","signInAfterUserConfirmed","signUpVerificationMethod","handleLinkAutoSignIn","handleCodeAutoSignIn","listenEvent","autoSignInPollingIntervalId","setInterval","clearInterval","error_1","createCognitoUser","authCallbacks","confirmSignUp","EmptyCode","resendSignUp","signIn","usernameOrSignInOpts","pw","InvalidUsername","signInWithPassword","signInWithoutPassword","that","session","cred","currentUser","e_2","currentUserPoolUser","challengeParam","pendingSignIn","getPreferredMFA","cleanUpError_1","isSessionInvalid","cleanUpInvalidSession","_getMfaTypeFromUserData","preferredMFA","PreferredMfaSetting","mfaList","UserMFASettingList","_getUserData","cleanUpError_2","setPreferredMFA","mfaMethod","totpMfaSettings","currentMFAType","PreferredMfa","Enabled","InvalidMFA","NoMFA","cleanUpError_3","disableSMS","enableSMS","setupTOTP","secretCode","verifyTotpToken","challengeAnswer","confirmSignIn","e_3","completeNewPassword","e_4","EmptyChallengeResponse","deleteUserAttributes","attributeNames","userSession","e_5","isSignedInHostedUI","user_1","cleanUpError_4","cleanCachedItems","oAuthSignOutRedirect","updateUserAttributes","attr","verifiedContact","attributesToObject","unverified","verified","isErrorWithMessage","isTokenRevokedError","isRefreshTokenRevokedError","isUserDisabledError","isUserDoesNotExistError","isRefreshTokenExpiredError","isOAuthInProgress","hostedUISignCallback","_userSession","cleanUpError_5","currentAuthenticatedUser","federatedUser","e_7","federatedInfo","e_8","currentSession","NoUserSession","cleanUpError_6","e_9","refreshFederatedToken","verifyUserAttribute","verifyUserAttributeSubmit","verifyCurrentUserAttribute","verifyCurrentUserAttributeSubmit","cognitoIdentitySignOut","e_10","cleanUpError_7","oAuthSignOutRedirectOrReject","oAuthSignOutAndResolve","oldPassword","forgotPasswordSubmit","currentUserInfo","source","userAttrs","e_12","err_2","getCredSource","federatedSignIn","providerOrOptions","loggedInUser","identity_id","expires_at","hasCustomState","customProvider","hasCodeOrError","hasTokenOrError","isCustomStateIncluded","err_3","history","replaceState","essentialCredentials","authenticated","isTruthyString","noUserPoolErrorHandler","NoConfig","MissingAuthConfig","rememberDevice","currUser","error_2","DeviceConfig","NetworkError","error_3","fetchDevices","error_4","deviceList","Devices","device","deviceName","DeviceAttributes","Amplify","AmplifyClass","_components","_modules","Analytics","API","I18n","PubSub","Interactions","Pushnotification","UI","XR","Predictions","DataStore","Geo","Logger","ServiceWorker","comp","addPluggable","pluggable","NonRetryableError","nonRetryable","onTerminate","terminated","wakeUp","lastError","retryIn_1","waitForInit","auth2","GoogleOAuth","initialized","refreshGoogleToken","_refreshGoogleTokenImpl","ga","getAuthInstance","googleAuth","googleUser","isSignedIn","reloadAuthResponse","authResponse","FacebookOAuth","refreshFacebookToken","_refreshFacebookTokenImpl","fb","errorMessage","getLoginStatus","fbResponse","getTime","CredentialsClass","_gettingCredPromise","_refreshHandlers","_credentials_source","_pickupCredentials","_getCognitoIdentityIdStorageKey","isPending","_keepAlive","refreshToken_1","_credentials","_isExpired","_isPastTTL","_setCredentialsForGuest","getFullYear","_setCredentialsFromFederation","_providerRefreshWithRetry","refreshHandler","lastIndexOf","_nextCredentialsRefresh","cognitoClient","cognitoIdentityParams","credentialsProvider","_getGuestIdentityId","_identityId","credentialsFromCognitoIdentity","_loadCredentials","_removeGuestIdentityId","google","facebook","amazon","developer","_setCredentialsFromSession","guestIdentityId","generatedOrRetrievedIdentityId","primaryIdentityId","_setGuestIdentityId","shear","HubClass","protectedChannels","_remove","channel","pattern_1","ampSymbol","capsule","patternInfo","_toListeners","listen","listenerName","onHubCapsule","isLegacyCallback","payloadStr_1","groups","dispatchingCapsule","makeQuerablePromise","isResolved","isRejected","isFullfilled","browserOrNode","versions","LOG_TYPE","LOG_LEVELS","VERBOSE","DEBUG","INFO","WARN","ERROR","ConsoleLogger","_pluggables","_padding","_ts","dt","getMinutes","getSeconds","getMilliseconds","_log","msg","logger_level_name","LOG_LEVEL","logger_level","type_level","logEvent","timestamp","pushLogs","verbose","getCategoryName","listPluggables","getAmplifyUserAgent","storageConfig","amplifyConfig","AWSPinpoint","appId","AWSS3","bucket","dangerouslyConnectToHttpEndpointForTesting","Logging","geo","AmazonLocationService","utils","settle","buildURL","buildFullPath","parseHeaders","isURLSameOrigin","createError","defaults","Cancel","onCanceled","requestData","requestHeaders","cancelToken","isFormData","XMLHttpRequest","auth","unescape","Authorization","btoa","baseURL","responseHeaders","getAllResponseHeaders","responseText","statusText","paramsSerializer","onreadystatechange","responseURL","ontimeout","timeoutErrorMessage","transitional","clarifyTimeoutError","isStandardBrowserEnv","xsrfValue","withCredentials","xsrfCookieName","xsrfHeaderName","setRequestHeader","isUndefined","onDownloadProgress","onUploadProgress","upload","Axios","axios","createInstance","extend","instanceConfig","CancelToken","isCancel","VERSION","promises","spread","isAxiosError","__CANCEL__","executor","resolvePromise","_listeners","onfulfilled","_resolve","throwIfRequested","InterceptorManager","dispatchRequest","validator","validators","interceptors","configOrUrl","assertOptions","silentJSONParsing","boolean","forcedJSONParsing","requestInterceptorChain","synchronousRequestInterceptors","interceptor","runWhen","synchronous","unshift","responseInterceptorChain","onFulfilled","onRejected","getUri","handlers","eject","isAbsoluteURL","combineURLs","requestedURL","enhanceError","transformData","throwIfCancellationRequested","transformRequest","common","adapter","transformResponse","fileName","lineNumber","columnNumber","config1","config2","getMergedValue","mergeDeepProperties","valueFromConfig2","defaultToConfig2","mergeDirectKeys","mergeMap","configValue","fns","normalizeHeaderName","DEFAULT_CONTENT_TYPE","setContentTypeIfUnset","getDefaultAdapter","isArrayBuffer","isBuffer","isStream","isFile","isBlob","isArrayBufferView","isURLSearchParams","isObject","parser","encoder","isString","stringifySafely","strictJSONParsing","maxContentLength","maxBodyLength","serializedParams","isDate","hashmarkIndex","relativeURL","write","isNumber","toGMTString","originURL","msie","urlParsingNode","resolveURL","requestURL","normalizedName","ignoreDuplicateOf","deprecatedWarnings","formatMessage","opt","desc","schema","allowUnknown","isFunction","pipe","assignValue","stripBOM","FormData","lens","getLens","validLen","placeHoldersLen","toByteArray","tmp","Arr","_byteLength","curByte","revLookup","fromByteArray","uint8","extraBytes","maxChunkLength","len2","encodeChunk","lookup","toStringTag","__esModule","getFirstMatch","getSecondMatch","matchAndReturnConst","getWindowsVersionName","getMacOSVersionName","getAndroidVersionName","getVersionPrecision","compareVersions","getBrowserAlias","BROWSER_ALIASES_MAP","getBrowserTypeByAlias","BROWSER_MAP","ENGINE_MAP","OS_MAP","PLATFORMS_MAP","Bada","BlackBerry","Chrome","Chromium","Electron","Epiphany","Firefox","Focus","Generic","Googlebot","Maxthon","Opera","PhantomJS","Puffin","QupZilla","QQ","QQLite","Safari","Sailfish","SeaMonkey","Sleipnir","Swing","Tizen","Vivaldi","WeChat","Roku","amazon_silk","android","bada","blackberry","chrome","chromium","electron","epiphany","firefox","generic","googlebot","google_search","ie","k_meleon","maxthon","edge","mz","naver","opera","opera_coast","phantomjs","puffin","qupzilla","qq","qqlite","safari","sailfish","samsung_internet","seamonkey","sleipnir","swing","tizen","uc","vivaldi","webos","wechat","yandex","tablet","mobile","desktop","tv","WindowsPhone","Windows","MacOS","iOS","Android","WebOS","Linux","ChromeOS","PlayStation4","EdgeHTML","Blink","Trident","Presto","Gecko","WebKit","getParser","getResult","_ua","parsedResult","getUA","parseBrowser","describe","getBrowser","getBrowserName","getBrowserVersion","getOS","parseOS","getOSName","getOSVersion","getPlatform","platform","parsePlatform","getPlatformType","getEngine","engine","parseEngine","getEngineName","satisfies","isOS","isPlatform","compareVersion","isEngine","is","versionName","vendor","model","ieee754","kMaxLength","TYPED_ARRAY_SUPPORT","createBuffer","RangeError","encodingOrOffset","allocUnsafe","fromArrayLike","fromArrayBuffer","isEncoding","actual","checked","assertSize","loweredCase","utf8ToBytes","base64ToBytes","slowToString","hexSlice","utf8Slice","asciiSlice","latin1Slice","base64Slice","utf16leSlice","swap","bidirectionalIndexOf","dir","arrayIndexOf","indexSize","arrLength","valLength","readUInt16BE","foundIndex","found","hexWrite","remaining","strLen","utf8Write","blitBuffer","asciiWrite","byteArray","asciiToBytes","latin1Write","base64Write","ucs2Write","units","hi","lo","utf16leToBytes","secondByte","thirdByte","fourthByte","tempCodePoint","firstByte","codePoint","bytesPerSequence","codePoints","MAX_ARGUMENTS_LENGTH","decodeCodePointsArray","foo","subarray","typedArraySupport","poolSize","_augment","allocUnsafeSlow","_isBuffer","compare","swap16","swap32","swap64","inspect","thisStart","thisEnd","thisCopy","targetCopy","isFinite","_arr","checkOffset","ext","checkInt","objectWriteUInt16","littleEndian","objectWriteUInt32","checkIEEE754","writeFloat","noAssert","writeDouble","newBuf","sliceLen","readUIntLE","mul","readUIntBE","readUInt8","readUInt16LE","readUInt32LE","readUInt32BE","readIntLE","readIntBE","readInt8","readInt16LE","readInt16BE","readInt32BE","readFloatLE","readFloatBE","readDoubleLE","readDoubleBE","writeUIntLE","writeUIntBE","writeUInt8","writeUInt16LE","writeUInt16BE","writeUInt32LE","writeUInt32BE","writeIntLE","sub","writeIntBE","writeInt8","writeInt16LE","writeInt16BE","writeInt32LE","writeInt32BE","writeFloatLE","writeFloatBE","writeDoubleLE","writeDoubleBE","targetStart","INVALID_BASE64_RE","Infinity","leadSurrogate","stringtrim","base64clean","src","dst","charenc","utf8","stringToBytes","bin","bytesToString","escape","hasOwn","classNames","argType","pairs","dec","tryDecode","enc","fieldContentRegExp","maxAge","toUTCString","httpOnly","deselectCurrent","clipboardToIE11Formatting","reselectPrevious","selection","createRange","getSelection","ariaHidden","clip","webkitUserSelect","MozUserSelect","msUserSelect","clipboardData","clearData","setData","selectNodeContents","addRange","execCommand","copyKey","prompt","removeRange","removeAllRanges","entryVirtual","isPrototypeOf","ArrayPrototype","it","own","replacer","isCallable","tryToString","$TypeError","argument","isConstructor","$String","toIndexedObject","toAbsoluteIndex","lengthOfArrayLike","createMethod","IS_INCLUDES","$this","fromIndex","uncurryThis","IndexedObject","toObject","arraySpeciesCreate","TYPE","IS_MAP","IS_FILTER","IS_SOME","IS_EVERY","IS_FIND_INDEX","IS_FILTER_REJECT","NO_HOLES","callbackfn","specificCreate","boundFunction","filterReject","fails","wellKnownSymbol","V8_VERSION","SPECIES","METHOD_NAME","aCallable","IS_RIGHT","argumentsLength","memo","createProperty","$Array","fin","originalArray","arraySpeciesConstructor","stringSlice","TO_STRING_TAG_SUPPORT","classofRaw","TO_STRING_TAG","$Object","CORRECT_ARGUMENTS","tryGet","callee","DESCRIPTORS","definePropertyModule","createPropertyDescriptor","bitmap","toPropertyKey","propertyKey","createNonEnumerableProperty","documentAll","IS_HTMLDDA","EXISTS","classof","getBuiltIn","Deno","v8","CONSTRUCTOR","isForced","wrapConstructor","NativeConstructor","USE_NATIVE","VIRTUAL_PROTOTYPE","sourceProperty","targetProperty","nativeProperty","resultProperty","descriptor","TARGET","GLOBAL","STATIC","stat","PROTO","nativeSource","targetPrototype","forced","dontCallGetSet","real","NATIVE_BIND","FunctionPrototype","arraySlice","$Function","factories","argsLength","Prototype","partArgs","uncurryThisWithBind","aFunction","namespace","isNullOrUndefined","check","functionToString","inspectSource","NATIVE_WEAK_MAP","shared","sharedKey","hiddenKeys","OBJECT_ALREADY_INITIALIZED","WeakMap","facade","STATE","enforce","getterFor","$documentAll","empty","constructorRegExp","INCORRECT_TO_STRING","isConstructorModern","isConstructorLegacy","called","feature","detection","normalize","POLYFILL","NATIVE","USE_SYMBOL_AS_UID","$Symbol","toLength","trunc","whitespaces","$parseFloat","ITERATOR","FORCED","trimmedString","objectKeys","getOwnPropertySymbolsModule","propertyIsEnumerableModule","$assign","alphabet","chr","activeXDocument","anObject","definePropertiesModule","enumBugKeys","html","documentCreateElement","IE_PROTO","EmptyConstructor","scriptTag","LT","NullProtoObjectViaActiveX","NullProtoObject","ActiveXObject","iframeDocument","iframe","contentWindow","NullProtoObjectViaIFrame","Properties","V8_PROTOTYPE_DEFINE_BUG","IE8_DOM_DEFINE","$defineProperty","$getOwnPropertyDescriptor","ENUMERABLE","CONFIGURABLE","WRITABLE","Attributes","$getOwnPropertyNames","windowNames","getWindowNames","internalObjectKeys","$propertyIsEnumerable","NASHORN_BUG","pref","getOwnPropertyNamesModule","TAG","SET_METHOD","uid","defineGlobalProperty","SHARED","IS_PURE","copyright","license","requireObjectCoercible","ltrim","rtrim","defineBuiltIn","SymbolPrototype","TO_PRIMITIVE","hint","arity","NATIVE_SYMBOL","keyFor","toIntegerOrInfinity","isSymbol","getMethod","ordinaryToPrimitive","exoticToPrim","toPrimitive","postfix","wrappedWellKnownSymbolModule","NAME","WellKnownSymbolsStore","symbolFor","createWellKnownSymbol","withoutSetter","doesNotExceedSafeInteger","arrayMethodHasSpeciesSupport","IS_CONCAT_SPREADABLE","IS_CONCAT_SPREADABLE_SUPPORT","SPECIES_SUPPORT","isConcatSpreadable","spreadable","$filter","$map","$reduce","arrayMethodIsStrict","CHROME_VERSION","IS_NODE","nativeSlice","HAS_SPECIES_SUPPORT","$stringify","numberToString","tester","WRONG_SYMBOLS_CONVERSION","ILL_FORMED_UNICODE","stringifyWithSymbolsFix","$replacer","fixIllFormed","nativeGetOwnPropertyDescriptor","FAILS_ON_PRIMITIVES","getOwnPropertyDescriptorModule","$getOwnPropertySymbols","nativeKeys","aConstructor","nativeConstruct","ObjectPrototype","NEW_TARGET_BUG","ARGS_BUG","Target","newTarget","$args","$toString","nativeObjectCreate","getOwnPropertyNamesExternal","defineWellKnownSymbol","defineSymbolToPrimitive","setToStringTag","InternalStateModule","$forEach","HIDDEN","SYMBOL","setInternalState","getInternalState","QObject","nativeDefineProperty","nativeGetOwnPropertyNames","nativePropertyIsEnumerable","AllSymbols","ObjectPrototypeSymbols","USE_SETTER","findChild","setSymbolDescriptor","ObjectPrototypeDescriptor","$defineProperties","properties","IS_OBJECT_PROTOTYPE","setter","unsafe","useSetter","useSimple","NATIVE_SYMBOL_REGISTRY","StringToSymbolRegistry","SymbolToStringRegistry","sym","base64map","crypt","rotl","rotr","endian","bytesToWords","wordsToBytes","bytesToHex","hexToBytes","bytesToBase64","triplet","imod4","weekdays","months","ordinal","utcOffset","$L","utc","$u","$x","$offset","$d","NaN","UTC","init","$y","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","$s","$ms","$utils","isSame","startOf","endOf","isAfter","isBefore","$g","unix","$locale","weekStart","$set","daysInMonth","invalidDate","meridiem","monthsShort","weekdaysMin","weekdaysShort","getTimezoneOffset","diff","$i","isDayjs","Ls","reactIs","REACT_STATICS","childContextTypes","contextTypes","defaultProps","getDefaultProps","getDerivedStateFromError","getDerivedStateFromProps","mixins","propTypes","KNOWN_STATICS","caller","MEMO_STATICS","TYPE_STATICS","getStatics","isMemo","ForwardRef","Memo","objectPrototype","hoistNonReactStatics","targetComponent","sourceComponent","blacklist","inheritedComponent","targetStatics","sourceStatics","$$typeof","AsyncMode","ConcurrentMode","ContextConsumer","ContextProvider","Fragment","Lazy","Portal","Profiler","StrictMode","Suspense","isAsyncMode","isConcurrentMode","isContextConsumer","isContextProvider","isElement","isForwardRef","isLazy","isPortal","isProfiler","isStrictMode","isSuspense","isValidElementType","typeOf","isLE","mLen","eLen","eMax","eBias","nBits","rt","LN2","devicePixelRatio","factory","OldCookies","Cookies","noConflict","converter","stringifiedAttributes","jar","getJSON","withConverter","getNative","hashClear","hashDelete","hashGet","hashHas","hashSet","Hash","listCacheClear","listCacheDelete","listCacheGet","listCacheHas","listCacheSet","ListCache","mapCacheClear","mapCacheDelete","mapCacheGet","mapCacheHas","mapCacheSet","MapCache","setCacheAdd","setCacheHas","SetCache","__data__","stackClear","stackDelete","stackGet","stackHas","stackSet","Stack","predicate","resIndex","baseTimes","isArguments","isIndex","isTypedArray","inherited","isArr","isArg","isBuff","isType","skipIndexes","eq","arrayPush","keysFunc","symbolsFunc","getRawTag","objectToString","symToStringTag","baseGetTag","isObjectLike","baseIsEqualDeep","baseIsEqual","other","bitmask","customizer","equalArrays","equalByTag","equalObjects","getTag","argsTag","arrayTag","objectTag","equalFunc","objIsArr","othIsArr","objTag","othTag","objIsObj","othIsObj","isSameTag","objIsWrapped","othIsWrapped","objUnwrapped","othUnwrapped","isMasked","toSource","reIsHostCtor","funcProto","objectProto","funcToString","reIsNative","isLength","typedArrayTags","isPrototype","iteratee","coreJsData","arraySome","cacheHas","isPartial","othLength","arrStacked","othStacked","seen","arrValue","othValue","compared","othIndex","mapToArray","setToArray","symbolProto","symbolValueOf","stacked","getAllKeys","objProps","objLength","objStacked","skipCtor","objValue","objCtor","othCtor","freeGlobal","baseGetAllKeys","getSymbols","isKeyable","baseIsNative","nativeObjectToString","isOwn","unmasked","arrayFilter","stubArray","nativeGetSymbols","mapTag","promiseTag","setTag","weakMapTag","dataViewTag","dataViewCtorString","mapCtorString","promiseCtorString","setCtorString","weakMapCtorString","Ctor","ctorString","nativeCreate","reIsUint","maskSrcKey","assocIndexOf","getMapData","overArg","freeExports","freeModule","freeProcess","nodeUtil","binding","freeSelf","LARGE_ARRAY_SIZE","baseIsArguments","stubFalse","baseIsTypedArray","baseUnary","nodeIsTypedArray","arrayLikeKeys","baseKeys","isArrayLike","md5","FF","_ff","GG","_gg","HH","_hh","II","_ii","aa","bb","cc","dd","_blocksize","_digestsize","digestbytes","asBytes","asString","isSlowBuffer","__NEXT_P","getDomainLocale","locales","domainLocales","_interop_require_default","_object_without_properties_loose","_react","_router","_addLocale","_routerContext","_appRouterContext","_useIntersection","_getDomainLocale","_addBasePath","prefetched","prefetch","router","as","isLocalURL","curLocale","_default","forwardedRef","passHref","shallow","onTouchStart","legacyBehavior","childrenProp","prefetchProp","RouterContext","appRouter","AppRouterContext","resolveHref","hrefProp","resolvedHref","resolvedAs","asProp","previousHref","previousAs","Children","only","useIntersection","rootMargin","setIntersectionRef","isVisible","resetVisible","setRef","useCallback","shouldPrefetch","isPrefetched","defaultPrevented","isAppRouter","prefetchEnabled","nodeName","nativeEvent","which","isModifiedEvent","forceOptimisticNavigation","startTransition","linkClicked","localeDomain","isLocaleDomain","addBasePath","addLocale","rootRef","isDisabled","hasIntersectionObserver","setElement","unobserve","createObserver","existing","idList","observers","isIntersecting","intersectionRatio","idleCallback","_requestIdleCallback","requestIdleCallback","cancelIdleCallback","TemplateContext","GlobalLayoutRouterContext","LayoutRouterContext","AttachmentIcon","viewBox","xmlns","stroke","strokeLinecap","strokeLinejoin","ChevronIcon","xmlnsXlink","defs","patternContentUnits","xlinkHref","image","HamburgerMenuIcon","MessageCross","stroke-width","stroke-linecap","stroke-linejoin","PlusIcon","UploadIcon","data-testid","PictureUploadArrow","logoStyle","LogoText","styled","palette","textFontWeight","useClientEnvironmentContext","clientLogoUrl","logoTextStyle","img","EverysetIcon","AntButton","textFontSize","AntdForm","labelStyle","requiredSymbol","displayBr","Label","br","StyledInput","AntInput","textLineHeight","shadow","supportBigInt","BigInt","trimNumber","numStr","negative","trimStr","splitNumber","integerStr","decimalStr","negativeStr","fullStr","isE","getNumberPrecision","precision","decimalMatch","validateNumber","num2str","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","getDecupleSteps","stepStr","NumberDecimal","isInvalidate","maxPrecision","isEmpty","safe","BigIntDecimal","decimal","decimalLen","nan","trimRet","numbers","decimalLength","getMark","getIntegerStr","getDecimalStr","padEnd","maxDecimalLength","_trimNumber","alignDecimal","hydrateValueStr","getMiniDecimal","separatorStr","cutOnly","_trimNumber2","precisionDecimalStr","numberWithoutDecimal","advancedNum","advancedDecimal","repeat","StepHandler","upNode","downNode","upDisabled","downDisabled","onStep","stepTimeoutRef","onStepRef","onStepMouseDown","up","loopStep","onStopStep","isMobile","handlerClassName","upClassName","downClassName","sharedHandlerProps","unselectable","getDecimalValue","stringMode","decimalValue","getDecimalIfValidate","InputNumber","_props$step","upHandler","downHandler","_props$controls","controls","decimalSeparator","onInput","inputProps","setFocus","userTypingRef","compositionRef","shiftKeyRef","setDecimalValue","getPrecision","userTyping","mergedParser","inputValueRef","mergedFormatter","mergedPrecision","initValue","inputValue","setInternalInputValue","setInputValue","newValue","maxDecimal","minDecimal","lessEquals","_useCursor","selectionRef","beforeTxt","afterTxt","_selectionRef$current","startPos","endsWith","beforeLastChar","newIndex","useCursor","_useCursor2","recordCursor","restoreCursor","getRangeValue","isInRange","triggerValueUpdate","newDecimal","updateValue","isRangeValidate","onNextPromise","idRef","cleanUp","useFrame","collectInputValue","inputStr","finalDecimal","nextInputStr","onInternalStep","stepDecimal","updatedValue","flushInputValue","parsedValue","currentParsedValue","onBeforeInput","genInputNumberStyles","_wrapper","controlWidth","handleVisible","appearance","webkitAppearance","handleWidth","handleFontSize","borderBlockStartWidth","genAffixWrapperStyles","inputNumberToken","upIcon","downIcon","DownOutlined","controlsTemp","mergeSize","inputNumberClass","addonClassName","addonBeforeNode","addonAfterNode","TypedInputNumber","NumericInput","PasswordInput","autofit","StyledTextArea","adjustedHeight","fitToContent","AntTextArea","Typography","StyledText","ProjectsQueryApi","getClientEnvironment","clientEnvironmentId","ClientEnvironmentContext","ClientEnvironmentProvider","isEveryset","isAlessiHartigan","clientSupportDetails","setClientSupportDetails","clientSupportEmail","support_email","clientSupportPhone","client_phone","clientDomain","client_domain","privacyPolicyDomainUS","privacy_policy_domain_us","privacyPolicyDomainUK","privacy_policy_domain_uk","termsOfServiceDomainUS","terms_of_service_domain_us","termsOfServiceDomainUK","terms_of_service_domain_uk","clientMiniLogoUrl","getPrivacyPolicyLink","isUkUser","getTermsOfServiceLink","SidebarContext","SidebarContextProvider","useRouter","asPath","collapseSidebarByDefault","isSidebarCollapsed","setIsSidebarCollapsed","useSidebarContext","OnboardingStateContext","OnboardingStateContextProvider","onboardingLoading","setOnboardingLoading","isOnboarded","useSelector","app","profile","bg_onboarded","handleBrowseAway","events","emit","addBrowseAwayListener","removeBrowseAwayListener","off","useOnboardingStateContext","useUserVehicles","userId","getVehicles","UsersQueryApi","useQuery","queryKey","queryFn","refetchOnWindowFocus","isLoading","isVehicleDataLoading","ProfileAvatar","ProfileMenu","impersonatedUserData","userProfile","useAuth","logout","avatarPhotoUrl","profile_photo","getAvatarPhotoUrl","userDisplayName","dataToUse","first_name","last_name","getUserDisplayName","Avatar","StyledHeader","isImpersonating","HeaderSection","StyledLogoLink","StyledImgButton","toggleCollapsed","PublicApplication","EverysetLogo","SaaSLogo","div","Profile","capacityInBytes","itemMaxSize","defaultTTL","defaultPriority","warningThreshold","getByteLength","charCode","getCurrTime","isInteger","_isInteger","CacheObject","StorageCache","cacheCurSizeKey","checkConfig","fillCacheItem","visitedTime","byteSize","BrowserStorageCache","BrowserStorageCacheClass","cacheConfig","_decreaseCurSizeInBytes","curSize","getCacheCurSize","_increaseCurSizeInBytes","_refreshItem","prefixedKey","_removeItem","itemSize","_setItem","setItemErr","_sizeToPop","spaceItemNeed","cacheThresholdSpace","_isCacheFull","_findValidKeys","keyInCache","_popOutItems","sizeToPop","items","remainedSize","cacheItemOptions","validKeys","keysToRemove","DateUtils","clockOffset","getDateWithClockOffset","getClockOffset","getHeaderStringFromDate","getDateFromHeaderString","header","hour","minute","second","isClockSkewed","serverDate","setClockOffset","DEFAULT_ALGORITHM","signed_headers","canonical_request","url_info","key_val","reencoded_val","key_a","key_b","parse_service_info","credential_scope","d_str","string_to_sign","dt_str","get_signing_key","secret_key","service_info","k_date","k_region","k_service","get_signature","signing_key","str_to_sign","Signer","access_info","session_token","request_str","serviceInfo","authorization_header","access_key","get_authorization_header","signUrl","urlOrRequest","accessInfo","urlToSign","parsedUrl","signedHeaders","sessionTokenRequired","queryParams","additionalQueryParams","slashes","RestClient","_region","_service","_custom_header","_cancelTokenMap","_options","ajax","urlOrApiInfo","parsed_url","custom_header","libraryHeaders","initParams","isAllResponse","custom_header_obj","_parseUrl","cancellableToken","signerServiceInfo","queryStringParameters","_request","_signed","dateHeader","responseDate","requestDate","patch","hasCancelToken","getCancellableToken","updateRequestToBeCancellable","cancelTokenSource","apiName","cloud_logic_array","endpoints","signerServiceInfoParams","otherParams","endpoint_region","endpoint_service","creds","endpointInfo","signed_params","RestAPIClass","_api","otherOptions","custom","apiInfo","getEndpointInfo","responsePromise","apiConfig","RestAPI","_typeof","asyncIterator","SYMBOL_TO_STRING_TAG","getLocation","lineRegexp","printLocation","printSourceLocation","sourceLocation","firstLineColumnOffset","locationOffset","lineIndex","lineOffset","lineNum","columnOffset","columnNum","locationStr","lines","locationLine","subLineIndex","subLineColumnNum","subLines","printPrefixedLines","subLine","existingLines","padLen","enumerableOnly","symbols","_defineProperty","_defineProperties","_possibleConstructorReturn","_assertThisInitialized","ReferenceError","GraphQLError","_inherits","protoProps","staticProps","Derived","hasNativeReflectConstruct","Super","NewTarget","_createSuper","positions","originalError","extensions","_nodeLocations","_nodeLocations2","_nodeLocations3","_classCallCheck","undefinedIfEmpty","nodeLocations","_i2","_this$nodes","loc","locations","originalExtensions","_objectSpread","captureStackTrace","_i4","_error$nodes2","_i6","_error$locations2","printError","syntaxError","Kind","DOCUMENT","OPERATION_DEFINITION","VARIABLE_DEFINITION","SELECTION_SET","FIELD","ARGUMENT","FRAGMENT_SPREAD","INLINE_FRAGMENT","FRAGMENT_DEFINITION","VARIABLE","INT","FLOAT","STRING","BOOLEAN","NULL","ENUM","LIST","OBJECT","OBJECT_FIELD","DIRECTIVE","NAMED_TYPE","LIST_TYPE","NON_NULL_TYPE","SCHEMA_DEFINITION","OPERATION_TYPE_DEFINITION","SCALAR_TYPE_DEFINITION","OBJECT_TYPE_DEFINITION","FIELD_DEFINITION","INPUT_VALUE_DEFINITION","INTERFACE_TYPE_DEFINITION","UNION_TYPE_DEFINITION","ENUM_TYPE_DEFINITION","ENUM_VALUE_DEFINITION","INPUT_OBJECT_TYPE_DEFINITION","DIRECTIVE_DEFINITION","SCHEMA_EXTENSION","SCALAR_TYPE_EXTENSION","OBJECT_TYPE_EXTENSION","INTERFACE_TYPE_EXTENSION","UNION_TYPE_EXTENSION","ENUM_TYPE_EXTENSION","INPUT_OBJECT_TYPE_EXTENSION","defineInspect","classObject","invariant","Location","startToken","endToken","kind","maybeNode","SOF","EOF","BANG","DOLLAR","AMP","PAREN_L","PAREN_R","SPREAD","COLON","EQUALS","AT","BRACKET_L","BRACKET_R","BRACE_L","PIPE","BRACE_R","BLOCK_STRING","seenValues","previouslySeenValues","customInspectFn","getCustomFn","customValue","formatArray","getObjectTag","formatObject","formatObjectValue","devAssert","Source","DirectiveLocation","QUERY","MUTATION","SUBSCRIPTION","SCHEMA","SCALAR","ARGUMENT_DEFINITION","INTERFACE","UNION","ENUM_VALUE","INPUT_OBJECT","INPUT_FIELD_DEFINITION","dedentBlockStringValue","rawString","commonIndent","_commonIndent","isFirstLine","isEmptyLine","indent","getBlockStringIndentation","startLine","isBlank","endLine","Lexer","startOfFileToken","lastToken","lineStart","advance","lookahead","_token$next","readToken","printCharCode","lexer","bodyLength","_line","_col","readComment","readBlockString","readString","readNumber","readName","unexpectedCharacterMessage","col","firstCode","isFloat","readDigits","isNameStart","chunkStart","uniCharCode","invalidSequence","char2hex","Parser","parseDocument","sourceObj","instanceOf","isSource","_lexer","parseName","expectToken","definitions","many","parseDefinition","parseOperationDefinition","parseFragmentDefinition","parseTypeSystemDefinition","parseTypeSystemExtension","peekDescription","unexpected","variableDefinitions","directives","selectionSet","parseSelectionSet","parseOperationType","parseVariableDefinitions","parseDirectives","operationToken","optionalMany","parseVariableDefinition","parseVariable","parseTypeReference","expectOptionalToken","parseValueLiteral","selections","parseSelection","parseFragment","parseField","alias","nameOrAlias","parseArguments","isConst","parseConstArgument","parseArgument","hasTypeCondition","expectOptionalKeyword","parseFragmentName","typeCondition","parseNamedType","_this$_options","expectKeyword","experimentalFragmentVariables","parseList","parseObject","parseStringLiteral","any","parseObjectField","parseDirective","keywordToken","parseSchemaDefinition","parseScalarTypeDefinition","parseObjectTypeDefinition","parseInterfaceTypeDefinition","parseUnionTypeDefinition","parseEnumTypeDefinition","parseInputObjectTypeDefinition","parseDirectiveDefinition","parseDescription","operationTypes","parseOperationTypeDefinition","interfaces","parseImplementsInterfaces","parseFieldsDefinition","_this$_options2","allowLegacySDLImplementsInterfaces","delimitedMany","_this$_options3","allowLegacySDLEmptyFields","parseFieldDefinition","parseArgumentDefs","parseInputValueDef","parseUnionMemberTypes","parseEnumValuesDefinition","parseEnumValueDefinition","parseInputFieldsDefinition","parseSchemaExtension","parseScalarTypeExtension","parseObjectTypeExtension","parseInterfaceTypeExtension","parseUnionTypeExtension","parseEnumTypeExtension","parseInputObjectTypeExtension","repeatable","parseDirectiveLocations","parseDirectiveLocation","_this$_options4","noLocation","getTokenKindDesc","getTokenDesc","atToken","openKind","parseFn","closeKind","delimiterKind","isPunctuatorTokenKind","QueryDocumentKeys","OperationDefinition","VariableDefinition","Variable","SelectionSet","Field","Argument","FragmentSpread","InlineFragment","FragmentDefinition","IntValue","FloatValue","StringValue","BooleanValue","NullValue","EnumValue","ListValue","ObjectValue","ObjectField","Directive","NamedType","ListType","NonNullType","SchemaDefinition","OperationTypeDefinition","ScalarTypeDefinition","ObjectTypeDefinition","FieldDefinition","InputValueDefinition","InterfaceTypeDefinition","UnionTypeDefinition","EnumTypeDefinition","EnumValueDefinition","InputObjectTypeDefinition","DirectiveDefinition","SchemaExtension","ScalarTypeExtension","ObjectTypeExtension","InterfaceTypeExtension","UnionTypeExtension","EnumTypeExtension","InputObjectTypeExtension","BREAK","getVisitFn","visitor","isLeaving","kindVisitor","kindSpecificVisitor","leave","enter","specificVisitor","specificKindVisitor","print","ast","visitorKeys","inArray","edits","ancestors","newRoot","isEdited","_Object$keys2","editOffset","ii","editKey","editValue","_visitorKeys$node$kin","visitFn","visit","printDocASTReducer","varDefs","argsLine","_ref5","_ref9","indentation","preferMultipleLines","isSingleLine","hasLeadingSpace","hasTrailingQuote","hasTrailingSlash","printAsMultipleLines","printBlockString","_ref13","_ref16","_ref19","addDescription","_ref20","_ref21","_ref22","_ref24","hasMultilineItems","_ref25","_ref26","_ref27","_ref28","_ref29","_ref30","_ref31","_ref32","_ref33","_ref34","_ref35","_ref36","_ref37","_ref38","maybeArray","_maybeArray$filter$jo","maybeString","isMultiline","hasSymbol","INTERNAL_AWS_APPSYNC_REALTIME_PUBSUB_PROVIDER","CONTROL_MSG","ConnectionState","AbstractPubSubProvider","getProviderName","getCategory","MESSAGE_TYPES","SUBSCRIPTION_STATUS","SOCKET_STATUS","ReachabilityNavigator","networkMonitor","netInfo","online","globalObj","selfContext","WorkerGlobalScope","isWebWorker","onLine","notifyOnline","notifyOffline","_observers","_observer","_observerOverride","closed","ReachabilityMonitor","Reachability","CONNECTION_CHANGE","KEEP_ALIVE_MISSED","keepAliveState","KEEP_ALIVE","CONNECTION_ESTABLISHED","connectionState","CONNECTION_FAILED","intendedConnectionState","CLOSING_CONNECTION","OPENING_CONNECTION","CLOSED","ONLINE","networkState","OFFLINE","ConnectionStateMonitor","_networkMonitoringSubscription","_linkedConnectionState","_initialNetworkStateSubscription","record","_linkedConnectionStateObservable","connectionStateObserver","_linkedConnectionStateObserver","enableNetworkMonitoring","disableNetworkMonitoring","connectionStatesTranslator","toInclude","statusUpdates","newSocketStatus","ConnectedPendingNetwork","ConnectedPendingDisconnect","ConnectionDisruptedPendingNetwork","ConnectionDisrupted","ConnectedPendingKeepAlive","Connecting","Disconnected","Connected","NON_RETRYABLE_CODES","CONNECTION_STATE_CHANGE","ReconnectEvent","AWS_APPSYNC_REALTIME_HEADERS","accept","DEFAULT_KEEP_ALIVE_TIMEOUT","ReconnectionMonitor","reconnectObservers","addObserver","reconnectObserver","START_RECONNECT","reconnectSetTimeoutId","reconnectIntervalId","_triggerReconnect","HALT_RECONNECT","complete","ClientsQueue","clientFactory","cachedPromise","newPromise","topicSymbol","MqttOverWSProvider","_clientsQueue","connectionStateMonitor","reconnectionMonitor","_topicObservers","_clientIdObservers","connectionStateObservable","connectionStateChange","aws_pubsub_endpoint","aws_appsync_dangerously_connect_to_http_endpoint_for_testing","getTopicForValue","onDisconnect","newClient","onMessageArrived","topic","destinationName","payloadString","_onMessage","onConnectionLost","connect","useSSL","isSSLEnabled","mqttVersion","clientsQueue","_value","publish","topics","targetTopics","matchedTopicObservers_1","observerForTopic","observerTopic","filterArray","topicArray","mqttTopicMatch","parsedMessage_1","observersForTopic","reconnectSubscription","observersForClientId","getClient","client_1","AWSAppSyncProvider","_topicClient","_topicAlias","_cleanUp","_cleanUpForTopic","topicsForClient","obs","mqttConnections","newSubscriptions","newAliases","elem","connectionInfoForTopic","origKey","_lang","_dict","language","setLanguage","defVal","getByLanguage","lang_dict","putVocabulariesForLanguage","vocabularies","putVocabularies","_i18n","isNonRetryableError","Constants","GraphQLAuthError","dispatchApiEvent","standardDomainPattern","AWSAppSyncRealTimeProvider","socketStatus","keepAliveTimeout","subscriptionObserverMap","promiseArray","connectionStateMonitorSubscription","getNewWebSocket","WebSocket","_topics","_msg","isCustomDomain","appSyncGraphqlEndpoint","reconnectSubscription_1","subscriptionStartActive_1","subscriptionId_1","startSubscription_1","_startSubscriptionWithAWSAppSyncRealTime","subscriptionId","REALTIME_SUBSCRIPTION_INIT_ERROR","finally","subscriptionState","_waitForSubscriptionToBeConnected","CONNECTED","_sendUnsubscriptionMessage","_removeSubscriptionObserver","authenticationType","apiKey","graphql_headers","additionalHeaders","dataString","headerObj","subscriptionMessage","stringToAWSRealTime","subscriptionFailedCallback","subscriptionReadyCallback","PENDING","startAckTimeoutId","_awsRealTimeHeaderBasedAuth","canonicalUri","GQL_START","_initializeWebSocketConnection","_logStartSubscriptionError","_timeoutStartSubscriptionAck","awsRealTimeSocket","subscriptionObserver","OPEN","READY","unsubscribeMessage","GQL_STOP","_closeSocketIfRequired","bufferedAmount","keepAliveTimeoutId","keepAliveAlertTimeoutId","tempSocket","onclose","_handleIncomingSubscriptionMessage","GQL_DATA","GQL_START_ACK","SUBSCRIPTION_ACK","GQL_CONNECTION_KEEP_ALIVE","_errorDisconnect","TIMEOUT_DISCONNECT","GQL_ERROR","FAILED","headerString","headerQs","payloadQs","discoverableEndpoint","awsRealTimeUrl","CONNECTING","_initializeRetryableHandshake","_initializeHandshake","err_4","errorType","newSocket","onopen","ackOk_1","onmessage","connectionTimeoutMs","GQL_CONNECTION_ACK","CONNECTION_CLOSED","GQL_CONNECTION_ERROR","gqlInit","GQL_CONNECTION_INIT","headerHandler","API_KEY","_awsRealTimeApiKeyHeader","AWS_IAM","_awsRealTimeIAMHeader","OPENID_CONNECT","_awsRealTimeOPENIDHeader","AMAZON_COGNITO_USER_POOLS","_awsRealTimeCUPHeader","AWS_LAMBDA","_customAuthHeader","dtStr","_ensureCredentials","PubSubClass","_awsAppSyncProvider","_awsAppSyncRealTimeProvider","removePluggable","providerName","getProviderByName","awsAppSyncProvider","awsAppSyncRealTimeProvider","getProviders","providers","subscriptions","subscription","GraphQLAPIClass","_headerBasedAuth","defaultAuthenticationType","aws_appsync_authenticationType","aws_appsync_apiKey","NO_API_KEY","NO_CREDENTIALS","NO_FEDERATED_JWT","NO_CURRENT_USER","NO_AUTH_TOKEN","getGraphqlOperationType","graphql","paramQuery","authMode","authToken","userAgentSuffix","def","operationType","createInstanceIfNotCreated","_graphql","_graphqlSubscribe","customGraphqlEndpoint","customEndpointRegion","aws_appsync_region","aws_appsync_graphqlEndpoint","graphql_endpoint","graphql_endpoint_iam_region","GraphQLAPI","APIClass","_restApi","_graphqlApi","restAPIConfig","graphQLAPIConfig","AuthToken","buildEndpoint","subApi","ApiNames","FirstAvail","listMemberships","bookings","Vehicles","CarMake","DeleteVehicle","DisableAccount","ArchivedInvites","ArchivedBookings","ArchivedFirstAvail","SubmitApplication","DeletePhotos","CustomQuestions","PublicApplications","awsApiConfig","Photos","Users","Locations","Bookings","Invites","InvitedAction","FirstAvailAction","BookedAction","Projects","HttpMethod","DELETE","GET","POST","PUT","ApiProxy","setToken","refreshTokens","tokenValue","httpCall","buildHttpParams","httpHeaders","miscOptions","execute","ish","getInstance","ApiRequest","PublicApplicationAPI","getPublicApplication","ApplicationId","apiProxy","apiSubmit","BookingsQueryApi","getUserBooked","getBookingDetails","booking_date_id","getBookingDetailsMisc","notification_id","updateBookingSubmission","updateRunningLate","CancelRequest","SubmitCustomQuestions","customQuestions","BookingsActionQueryApi","getUserBookingsAction","getUserBookingsArchived","apiArchived","getUserBookingsActionTypes","FirstAvailQueryApi","getUserFirstAvail","getUserFirstAvailBookings","FirstAvailActionQueryApi","getUserFirstAvailAction","getUserFirstAvailActionBookings","getUserFirstAvailArchived","apiNameArchived","getUserFirstAvailBookingsArchived","getUserFirstAvailActionType","PhotosCommandApi","uploadImage","uploadUrl","photoFile","formData","_photoFormData","_photoRequestOptions","createUserPhoto","userPhoto","user_id","redirect","updateProfilePic","photoId","PhotosQueryApi","getUploadUrl","fileType","getUserPhotos","InvitesQueryApi","getUserInvites","InvitesActionQueryApi","getUserInvitesAction","getUserInvitesArchived","getUserInvitesActionType","getListMembership","list_membership_id","getListMembershipMisc","updateUserSubmission","UsersCommandApi","create_user_signup_properties","signupProperties","updateUserBasicInfo","newValues","_updateUserInfo","updateUserPersonalData","updateUserUnionInfo","updateUserInfo","updateUserGeneralInfo","updateUserNotificationPreferenceAll","areAllNotificationsEnabled","removeEmailNotifications","notification_type","opt_in","createUserAppearance","updateUserLicenseTypes","updateUserAppearance","updateUserAppearanceInfo","updateUserAppearanceCall","createUserSkill","updateUserSkill","skillId","newData","deleteUserSkill","skillIds","newSkillsString","createUserProps","deleteUserProps","propId","propIdsString","createUserVehicles","deleteUserVehicles","apiNameVehicle","deleteUserPhotos","user_Photo_id","apiDeletePhotos","updateUserVehicles","vehicle_id","userDisable","sendEmail","clientHost","upsertUserEmploymentVerification","upsertUserBackgroundCheck","getUserNotificationPreferences","getUser","getUserProfile","getUserAppearance","getUserVehicles","getUserEmploymentVerification","jurisdiction","getUserBackgroundChecks","isAuthUserAdmin","authUser","AuthContext","AuthProvider","useSession","authUserSession","sessionLoading","setSessionLoading","useImpersonateUser","impersonatedUserId","setImpersonatedUserId","getImpersonatedUser","processImpersonatedUserId","newImpersonatedUserId","impersonate_user_id","appDispatch","useAppDispatch","reduxImpersonatedUserId","onboardingFirstLoad","setOnboardingFirstLoad","allUserIds","ruserId","finalUserId","UserInfoData","UserAppearance","notificationPreferenceList","notificationPreferences","email_verified","setAllUserIds","is_disabled","setUserProfile","setUserProfileInfo","setUserAppearance","setNotificationPreferences","useOnboardingStatus","isAuthenticated","AuthListener","setupSession","takedownSession","setAuthUserSession","canStopSessionLoadingRef","setUserProfileData","setUserAppearanceData","redirectTo","birthday","rawSignupProperties","selectedCountry","sessionData","userAppearance","selected_country","referrer","googleSignout","IUserInfoDAO","InvitesActionType","FirstAvailActionType","BookedActionType","googleMapsApi","loaded","appSlice","setInvitesActionType","setFirstAvailActionType","setBookedActionType","setNotificationPreference","notificationType","optIn","setGoogleMapsApiLoaded","resetStore","appReducer","useDispatch","unsortedArraysAreEqual","array1","array2","constArr","toOrder","arraysAreEqual","STATES","GENDER_IDENTITIES","GENDER_IDENTITIES_OPTIONS","gender","ETHNICITIES","UK_ETHNICITIES","US_ETHNICITY_MAP","Caucasian","UK_COUNTRY","HOW_DID_YOU_HEAR_OPTIONS","UK_COUNTRY_OPTIONS","country","UK_RATE_TYPE_OPTIONS","commercial","unscripted","RIGHT_TO_WORK_INFO","firstBullet","secondBullet","CARRIER","UK_CARRIER","MUSIC","TRANSPORTATION","SPORT","UK_SPORT","OTHER","UK_OTHER","UNION_STATUSES","abbrev","otherFormats","UNION_STATUS_ID_LABEL","ficore","SAG_STATUSES","CALL_IN_SERVICES","ART","UK_ART","DANCE","UK_DANCE","Experience","UK_Experience","Music","Performative","UK_Performative","Sport","UK_Sport","Languages","UK_LICENSE_TYPES","UK_LICENSE_OPTIONS","CAR_YEAR_OPTIONS","buildRange","CAR_TYPE_OPTIONS","carType","CAR_CONDITION_OPTIONS","CONDITION","carCondition","CAR_COLOR_OPTIONS","carColor","UK_CAR_MAKE_OPTIONS","UK_CAR_MAKES_WITH_MODELS","carMake","BODY_TYPES","BODY_TYPE_OPTIONS","bodyType","HAIR_LENGTH","HAIR_LENGTH_OPTIONS","hairLength","HAIR_COLOR","HAIR_COLOR_OPTIONS","hairColor","EYE_COLOR","EYE_COLOR_OPTIONS","eyeColor","WARDROBE_TEXT","DRESS","CUP","SHOES","SHIRT","ADULT_HAT_SIZE_OPTIONS","MINOR_HAT_SIZE_OPTIONS","UK_HEIGHT_OPTIONS_INCHES","feetIdx","feet","heightsForFeet","inches","feetInchesLabel","UK_HEIGHT_OPTIONS","convertInchesToUkString","wardrobeOptionsMap","dress","cup","shoe_size","shirt_size","chest","waist","getWardrobeOptions","wardrobeType","isMinor","getWardrobeOptionsUK","wardrobeOptionsMapUK","MinMaxValues","hip","chest_bust","bust","neck","sleeve","inseam","pants","WardrobeLabel","hat","WardrobeMapping","Hat","Shirt","Shoe","Waist","WARDROBE_LABELS_BY_GENDER","Male","Female","Other","uk_dress","underbust","natural_waist","trouser_waist","uk_shoe","MinMaxValuesUK","WardrobeLabelUK","WardrobeMappingUK","Head","Collar","Sleeve","Cup","Underbust","Hips","WARDROBE_LABELS_BY_GENDER_UK","carModels","ukCarMakeToModels","makeWithModels","isNil","parseGender","rawGender","orderLicenses","licenses","convertInchesToFtString","rawInches","convertFtStringToInches","ftString","centimeters","sessionStorageKeywords","notificationUrl","useSessionStorage","storedValue","setStoredValue","LIB_VERSION","critical","returnValue","cancelBubble","GZipJS","Base64","POSTHOG_DEBUG","__rrweb_original__","uninitializedWarning","createLogger","ee","disable_external_dependency_loading","crossOrigin","onload","ne","re","__PosthogExtensions__","loadExternalDependency","requestRouter","endpointFor","loadSiteApp","se","oe","ae","le","ue","ce","de","he","pe","ve","ge","fe","me","be","ye","we","Se","Ee","ke","xe","Ie","Ce","Pe","Fe","Re","Te","$e","Oe","Me","Ae","Le","De","Ne","qe","Be","He","Ue","ze","We","je","Ge","_override_warning","featureFlagEventHandlers","reloadFeatureFlagsQueued","reloadFeatureFlagsInAction","getFlags","getFlagVariants","get_property","enabledFlags","overriddenFlags","finalFlags","getFlagPayloads","reloadFeatureFlags","_startReloadTimer","setAnonymousDistinctId","$anon_distinct_id","setReloadingPaused","resetRequestQueue","_reloadFeatureFlagsRequest","advanced_disable_feature_flags","distinct_id","get_distinct_id","getGroups","person_properties","group_properties","disable_flags","_send_request","compression","disable_compression","feature_flag_request_timeout_ms","receivedFeatureFlags","getFeatureFlag","decideEndpointWasHit","send_event","persistence","capture","$feature_flag","$feature_flag_response","getFeatureFlagPayload","isFeatureEnabled","addFeatureFlagsHandler","removeFeatureFlagsHandler","featureFlags","featureFlagPayloads","errorsWhileComputingFlags","_fireFeatureFlagsCallbacks","__loaded","onFeatureFlags","flags","flagVariants","_prepareFeatureFlagsForCallbacks","updateEarlyAccessFeatureEnrollment","$feature_enrollment","setPersonPropertiesForFlags","getEarlyAccessFeatures","transport","earlyAccessFeatures","errorsLoading","resetPersonPropertiesForFlags","setGroupPropertiesForFlags","resetGroupPropertiesForFlags","Ve","Je","static","Qe","Ke","generateOrAbort","resetCounter","counter","fromFieldsV7","nextUint32","Ye","Xe","UUIDV7_DENY_WEAK_RNG","Ze","et","tt","nt","st","is_supported","setTime","ot","at","lt","ut","ct","ht","_t","vt","gt","mt","bt","wt","St","Et","kt","xt","It","Ct","Pt","Ft","Rt","Tt","$t","Ot","At","Lt","Dt","Nt","Bt","Ht","Ut","zt","Wt","jt","Gt","Vt","Jt","Qt","Yt","Xt","Kt","Zt","ei","ti","ni","ri","si","oi","ai","ui","di","ci","Mozilla","pi","vi","gi","fi","campaignParams","_campaignParamsFromUrl","_searchEngine","_searchInfoFromReferrer","$search_engine","ph_keyword","searchInfo","browserVersion","browserLanguage","userLanguage","browserLanguagePrefix","deviceType","referringDomain","referrerInfo","$referrer","$referring_domain","initialPersonInfo","initialPersonPropsFromInfo","$initial_referrer","$initial_referring_domain","$initial_current_url","$initial_host","$initial_pathname","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","timezoneOffset","$os","$os_version","$browser","$device","$device_type","$timezone","$timezone_offset","$current_url","$host","$pathname","$raw_user_agent","$browser_version","$browser_language","$browser_language_prefix","$screen_height","$screen_width","$viewport_height","$viewport_width","$lib","$lib_version","$insert_id","$time","people_properties","bi","campaign_params_saved","persistence_name","buildStorage","load","update_config","save","expire_days","cross_subdomain","register_once","default_expiry","update_campaign_params","custom_campaign_params","update_search_keyword","update_referrer_info","set_initial_person_info","get_referrer_info","get_initial_props","safe_merge","cookie_expiration","set_disabled","disable_persistence","set_cross_subdomain","cross_subdomain_cookie","set_secure","secure_cookie","get_cross_subdomain","set_event_timer","remove_event_timer","set_property","yi","wi","sessionId","windowId","flatMap","Si","DomContentLoaded","Load","FullSnapshot","IncrementalSnapshot","Meta","Custom","Plugin","Ei","Mutation","MouseMove","MouseInteraction","Scroll","ViewportResize","TouchMove","MediaInteraction","StyleSheetRule","CanvasMutation","Font","Log","Drag","StyleDeclaration","Selection","AdoptedStyleSheet","CustomElement","ki","closest","xi","Ii","Ci","Pi","Fi","Ri","Ti","baseVal","Gi","Oi","Ni","qi","Mi","srcElement","shadowRoot","composedPath","Ai","Li","Bi","Hi","Ui","zi","Wi","ji","Vi","Ji","Qi","tag_name","attr_class","nth_child","nth_of_type","attr_id","localeCompare","Yi","$el_text","attr__href","Xi","attr__id","attr__class","Ki","Zi","initiatorTypes","maskRequestFn","recordHeaders","recordBody","recordInitialRequests","recordPerformance","performanceEntryTypeToObserve","payloadSizeLimitBytes","payloadHostDenyList","sn","ln","mutationBuckets","refillRate","bucketSize","rrweb","mirror","getId","removes","texts","adds","numberOfChanges","getNodeOrRelevantParent","loggedTracker","onBlockedNode","refillBuckets","cn","dn","Uint16Array","hn","_n","pn","vn","gn","mn","bn","yn","wn","Sn","En","kn","xn","In","Cn","Pn","Fn","Rn","Tn","$n","On","Mn","An","Ln","Dn","Nn","qn","Bn","zn","Gn","Hn","mem","Un","filename","jn","mtime","Wn","Vn","Jn","Qn","Xn","Kn","rrwebMethod","enqueuedAt","Zn","er","tr","matching","ir","sessionIdleThresholdMilliseconds","session_recording","session_idle_threshold_ms","rrwebRecord","_captureStarted","sessionManager","fullSnapshotIntervalMillis","triggerStatus","full_snapshot_interval_millis","isSampled","sessionDuration","sessionStartTimestamp","checkAndGetSessionAndWindowId","isRecordingEnabled","disable_session_recording","isConsoleLogCaptureEnabled","enable_recording_console_log","canvasRecording","captureCanvas","recordCanvas","canvasFps","fps","canvasQuality","quality","networkPayloadCapture","capture_performance","network_timing","capturePerformance","sampleRate","minimumDuration","receivedDecide","_urlBlocked","_linkedFlag","_linkedFlagSeen","urlTriggerStatus","_urlTriggers","eventTriggerStatus","_eventTriggers","_flushBuffer","_tryAddCustomEvent","visibilityState","_endpoint","stopRrweb","clearBuffer","sessionTimeoutMs","startIfEnabledOrStop","_startCapture","_onBeforeUnload","_onOffline","_onOnline","_onVisibilityChange","_setupSampling","_addEventTriggerListener","_removePageViewCaptureHook","_maskUrl","_onSessionIdListener","onSessionId","changeReason","stopRecording","_fullSnapshotTimer","_removeEventTriggerCaptureHook","_samplingSessionListener","makeSamplingDecision","_reportStarted","onRemoteConfig","_persistRemoteConfig","sessionRecording","linkedFlag","flag","variant","linkedVariant","urlTriggers","urlBlocklist","_urlBlocklist","eventTriggers","minimumDurationMilliseconds","consoleLogRecordingEnabled","scriptConfig","_persistDecideOnSessionListener","onRRwebEmit","consent","isOptedOut","_onScriptLoaded","scriptName","script","isInteractiveEvent","_updateWindowAndSessionIds","isIdle","_lastActivityTimestamp","eventTimestamp","lastActivityTimestamp","bufferSize","_scheduleFullSnapshot","_tryRRWebMethod","queuedRRWebEvents","addCustomEvent","_tryTakeFullSnapshot","takeFullSnapshot","blockClass","blockSelector","ignoreClass","maskTextClass","maskTextSelector","maskTextFn","maskAllInputs","maskInputOptions","maskInputFn","slimDOMOptions","collectFonts","inlineStylesheet","recordCrossOriginIframes","sampling","canvas","dataURLOptions","mutationRateLimiter","__mutationRateLimiterRefillRate","__mutationRateLimiterBucketSize","_gatherRRWebPlugins","plugins","sessionRecordingOptions","activePlugins","rrwebPlugins","getRecordConsolePlugin","getRecordNetworkPlugin","_forceAllowLocalhostNetworkCapture","requestBody","responseBody","api_host","maskNetworkRequestFn","maskCapturedNetworkRequestFn","_processQueuedEvents","_lastHref","_pageViewFallBack","_checkUrlTriggerConditions","throttleMutations","compress_events","cv","$snapshot_bytes","$snapshot_data","$session_id","$window_id","_captureSnapshotBuffered","capture_pageview","flushBufferTimer","_captureSnapshot","_url","_noTruncate","_batchKey","skip_client_rate_limiting","_pauseRecording","_resumeRecording","_activateTrigger","overrideLinkedFlag","overrideSampling","overrideTrigger","register_for_session","$session_recording_start_reason","nr","_hasBootstrappedFeatureFlags","_loadRemoteConfigJs","_POSTHOG_CONFIG","_loadRemoteConfigJSON","advanced_disable_decide","__preview_remote_config","advanced_disable_feature_flags_on_first_load","parseDecideResponse","_onRemoteConfig","hasFeatureFlags","sr","or","UNINITIALIZED","LOADING","LOADED","lr","setToolbarState","ph_toolbar_state","getToolbarState","maybeLoadToolbar","atob","desiredHash","userIntent","loadToolbar","_callLoadToolbar","ph_load_toolbar","ph_load_editor","advanced_disable_toolbar_metrics","apiURL","instrument","_loadEditor","maybeLoadEditor","ur","sendRequest","enqueue","flushTimeout","setFlushTimeout","unload","clearFlushTimeout","formatQueue","enable","isPaused","flushTimeoutMs","batchKey","dr","hr","File","ft","_r","pr","contentType","estimatedSize","vr","keepalive","sendBeacon","beacon","gr","fr","areWeOnline","retriableRequest","retriesPerformedSoFar","retry_count","retryAt","isPolling","poll","poller","pollIntervalMs","mr","yr","_windowId","_sessionId","_sessionStartTimestamp","_sessionActivityTimestamp","_sessionIdGenerator","_windowIdGenerator","session_idle_timeout_seconds","_sessionTimeoutMs","$configured_session_timeout_ms","_window_id_storage_key","_primary_window_exists_storage_key","_canUseSessionStorage","bootstrap","sessionID","_setSessionId","_listenToReloadWindow","_sessionIdChangedHandlers","_setWindowId","_getWindowId","_getSessionId","resetSessionId","noSessionId","activityTimeout","sessionPastMaximumLength","US","EU","CUSTOM","wr","Sr","apiHost","uiHost","ui_host","_regionCache","Er","kr","organization","projectId","severityAllowList","sessionRecordingStarted","get_session_replay_url","withTimestamp","stacktrace","$exception_message","$exception_type","$exception_personURL","$exception_level","$exception_list","$sentry_event_id","event_id","$sentry_exception","$sentry_exception_message","$sentry_exception_type","$sentry_tags","$sentry_url","exceptions","sendExceptionEvent","xr","setupOnce","Ir","Cr","Pr","Fr","Tr","_instance","doPageView","_previousPageViewProperties","_currentPath","scrollManager","resetContext","_prevPageviewTimestamp","doPageLeave","getContext","maxScrollHeight","lastScrollY","maxScrollY","maxContentHeight","lastContentY","maxContentY","$prev_pageview_last_scroll","$prev_pageview_last_scroll_percentage","$prev_pageview_max_scroll","$prev_pageview_max_scroll_percentage","$prev_pageview_last_content","$prev_pageview_last_content_percentage","$prev_pageview_max_content","$prev_pageview_max_content_percentage","$prev_pageview_pathname","$prev_pageview_duration","Widget","Open","MultipleChoice","SingleChoice","Rating","NextQuestion","End","ResponseBased","SpecificQuestion","$r","Or","checkStepEvent","checkStepUrl","checkStepElement","actionEvents","actionRegistry","_addCaptureHook","steps","autocapture","selector","setElementSelectors","checkAction","_debugEventEmitter","_addActionHook","onAction","checkStep","matchString","url_matching","escapeStringRegexp","getElementsList","href_matching","text_matching","$element_selectors","$elements","Mr","eventToSurveys","actionToSurveys","setupEventBasedSurveys","setupActionBasedSurveys","actionMatcher","onEvent","SURVEY_SHOWN_EVENT_NAME","$survey_id","_updateActivatedSurveys","getSurveys","getEventToSurveys","_getActionMatcher","Ar","Lr","Dr","Nr","qr","Br","Hr","Ur","zr","Wr","jr","Gr","Vr","Jr","Qr","__k","__b","__e","__d","__c","__v","__i","__u","vnode","Yr","Xr","Kr","Zr","es","__r","debounceRendering","__P","cs","__n","ownerSVGElement","ss","ps","ns","_s","rs","nextSibling","setProperty","cssText","us","ls","__E","vs","__h","_sb","__s","componentWillMount","componentDidMount","componentWillReceiveProps","shouldComponentUpdate","componentWillUpdate","componentDidUpdate","getChildContext","getSnapshotBeforeUpdate","localName","createTextNode","createElementNS","hs","diffed","unmount","componentWillUnmount","componentDidCatch","forceUpdate","isPreviewMode","previewPageIndex","handleCloseSurveyPopup","isPopup","gs","icontains","not_icontains","regex","not_regex","exact","is_not","_surveyEventReceiver","_decideServerResponse","surveys","loadIfEnabled","reset","generateSurveys","disable_surveys","_surveyManager","getActiveMatchingSurveys","start_date","end_date","urlMatchType","linked_flag_key","targeting_flag_key","internal_targeting_flag_key","feature_flag_keys","_canActivateRepeatedly","checkFlags","getNextSurveyStep","questions","branching","choices","responseValues","scale","canActivateRepeatedly","canRenderSurvey","renderSurvey","quota_limited","serverLimits","captureEventsPerSecond","rate_limiting","events_per_second","captureEventsBurstLimit","events_burst_limit","lastEventRateLimited","clientRateLimitContext","isRateLimited","last","$$client_ingestion_warning_message","remainingTokens","isServerRateLimited","ws","initialPathName","Ss","_getStoredProps","_sessionSourceParamGenerator","_persistence","_sessionIdManager","_onSessionIdCallback","getSessionProps","$client_session_initial_referring_host","$client_session_initial_pathname","$client_session_initial_utm_source","utm_source","$client_session_initial_utm_campaign","utm_campaign","$client_session_initial_utm_medium","utm_medium","$client_session_initial_utm_content","utm_content","$client_session_initial_utm_term","utm_term","Es","ks","userAgentData","brands","brand","webdriver","Is","clicks","isRageClick","Cs","Ps","Fs","capture_dead_clicks","Rs","lazyLoadedDeadClicksAutocapture","_lazyLoadedDeadClicksAutocapture","isEnabled","onCapture","startIfEnabled","captureDeadClicks","loadScript","initDeadClicksAutocapture","__onCapture","stop","Ts","_enabledServerSide","flushIntervalMilliseconds","capture_heatmaps","flush_interval_milliseconds","enable_heatmaps","_initialized","_setupListeners","_flushInterval","deadClicksCapture","getAndClearBuffer","heatmaps","_onDeadClick","_onClick","originalEvent","_onMouseMove","_getProperties","scrollElement","clientX","clientY","target_fixed","rageclicks","_capture","_mouseMoveTimeout","$heatmap_data","Os","_updateScrollData","startMeasuringScrollPosition","scroll_root_selector","Ms","As","previousElementSibling","previousSibling","Ns","maskAllElementAttributes","maskAllText","elementAttributeIgnoreList","elementsChainAsString","Ds","explicitNoCapture","$event_type","$ce_version","$elements_chain","$external_click_url","qs","_elementSelectors","url_allowlist","url_ignorelist","_addDomEventHandlers","isBrowserSupported","_captureEvent","capture_copied_text","_elementsChainAsString","autocapture_opt_out","_isDisabledServerSide","getElementSelectors","MouseEvent","rageclick","dom_event_allowlist","element_allowlist","css_selector_allowlist","Di","mask_all_element_attributes","mask_all_text","element_attribute_ignorelist","$selected_content","$copy_type","Us","Bs","Hs","_restoreXHRPatch","tracingHeadersPatchFns","_patchXHR","_restoreFetchPatch","_patchFetch","_loadScript","__add_tracing_headers","_startCapturing","DENIED","GRANTED","zs","getDnt","storedConsent","opt_out_capturing_by_default","isOptedIn","optInOut","storageKey","opt_out_capturing_cookie_prefix","opt_out_capturing_persistence_type","respect_dnt","doNotTrack","msDoNotTrack","Ws","js","hasHandlers","isCapturing","errorWrappingFunctions","wrapOnError","wrapUnhandledRejection","unwrapOnError","captureException","unwrapUnhandledRejection","stopCapturing","remoteEnabled","__POSTHOG_INSTRUMENTED__","originalOnUnhandledRejectionHandler","startCapturing","autocaptureExceptions","Gs","Vs","Js","metrics","firstMetricTimestamp","_delayedFlushTimer","_currentURL","_maxAllowedValue","_flushToCapture","flushToCaptureTimeoutMs","attribution","interactionTargetElement","allowedMetrics","postHogWebVitalsCallbacks","onLCP","onCLS","onFCP","onINP","_addToBuffer","web_vitals_allowed_metrics","web_vitals_delayed_flush_ms","__web_vitals_max_value","web_vitals","Qs","Ys","getWebExperiments","logInfo","_flagToExperiments","feature_flag_key","variants","applyTransforms","transforms","matchesTestVariant","_is_bot","disable_web_experiments","previewWebExperiment","getWindowLocation","showPreviewWebExperiment","getWebExperimentsAndEvaluateDisplayLogic","experiments","matchUrlConditions","matchUTMConditions","utm","innerText","css","$web_experiment_name","$web_experiment_variant","$web_experiment_preview","$web_experiment_document_url","$web_experiment_elements_modified","custom_blocked_useragents","Xs","Ks","Zs","eo","bufferedInvocations","apps","opt_in_site_apps","eventCollector","globalsForEvent","stopBuffering","$set_once","elements_chain","person","setupSiteApp","errored","processEvent","posthog","onCapturedEvent","_POSTHOG_JS_APPS","siteApps","io","no","ro","so","store_google","save_referrer","capture_pageleave","ip","opt_out_persistence_by_default","opt_out_useragent_filter","property_denylist","sanitize_properties","request_headers","inapp_protocol","inapp_link_new_window","request_batching","properties_string_max_length","on_request_error","get_device_id","_onCapture","person_profiles","before_send","oo","process_person","xhr_headers","cookie_name","disable_cookie","property_blacklist","ao","_forceAllowLocalhost","__forceAllowLocalhost","SentryIntegration","sentryIntegration","__request_queue","analyticsDefaultEndpoint","_initialPageviewCaptured","_initialPersonProfilesConfig","toolbar","pageViewManager","rateLimiter","people","setPersonProperties","set_once","_init","_triggered_notifs","set_config","on_xhr_error","sessionPersistence","_requestQueue","_send_retriable_request","_retryQueue","sessionPropsManager","disable_scroll_properties","webVitalsAutocapture","exceptionObserver","deadClicksAutocapture","thisC","_sync_opt_out_with_persistence","distinctID","isIdentifiedID","$device_id","_handle_unload","segment","anonymousId","identify","_calculate_event_properties","isLoaded","track","page","Rr","_loaded","supportedCompression","analytics","defaultIdentifiedOnly","_start_queue_if_opted_in","_captureInitialPageview","has_opted_out_capturing","_dom_loaded","_shouldCapturePageleave","api_transport","fetch_options","ver","checkForLimiting","_execute_array","$lib_rate_limit_remaining_tokens","_calculate_set_once_properties","$event_time_override_provided","$event_time_override_system_time","_runBeforeSend","_internalEventEmitter","send_instantly","$recording_status","$lib_custom_api_host","__preview_send_client_session_params","$duration","$browser_type","$is_identified","_isIdentified","_hasPersonProcessing","$process_person_profile","_requirePersonProcessing","unregister_for_session","_register_single","$user_id","$had_persisted_distinct_id","group","$groups","$group_type","$group_key","$group_set","resetGroups","get_session_id","timestampLookBack","oldConfig","startSessionRecording","linked_flag","url_trigger","event_trigger","stopSessionRecording","parseErrorAsProperties","syntheticException","mechanism","handled","synthetic","getSessionProperty","createPersonProfile","opt_in_capturing","captureEventName","captureProperties","opt_out_capturing","has_opted_in_capturing","clear_opt_in_out_capturing","uo","co","PostHogContext","PostHogProvider","CONSOLE_LEVELS","consoleSandbox","originalConsole","wrappedLevels","originalWrappedFunc","__sentry_original__","makeLogger","disable","__SENTRY_DEBUG__","isBuiltin","wat","States","SyncPromise","__init","_state","__init2","_handlers","__init3","__init4","__init5","__init6","_reject","onrejected","_executeHandlers","onfinally","_setResult","RESOLVED","REJECTED","cachedHandlers","uuid4","randomUUID","getRandomByte","dropUndefinedKeys","_dropUndefinedKeys","memoizationMap","memoVal","makeSession","startingTime","sid","ignoreDuration","did","release","environment","ip_address","ipAddress","user_agent","sessionToJSON","updateSession","Scope","_notifyingListeners","_scopeListeners","_eventProcessors","_breadcrumbs","_attachments","_user","_tags","_extra","_contexts","_sdkProcessingMetadata","newScope","_level","_span","_transactionName","_fingerprint","_requestSession","addScopeListener","addEventProcessor","setUser","_notifyScopeListeners","getRequestSession","setRequestSession","requestSession","setTags","setExtras","extras","setExtra","setFingerprint","fingerprint","setLevel","setTransactionName","setContext","setSpan","getSpan","getTransaction","setSession","captureContext","updatedScope","contexts","addBreadcrumb","breadcrumb","maxBreadcrumbs","maxCrumbs","mergedBreadcrumb","clearBreadcrumbs","addAttachment","attachment","getAttachments","clearAttachments","applyToEvent","getTraceContext","transactionName","_applyFingerprint","breadcrumbs","sdkProcessingMetadata","_notifyEventProcessors","getGlobalEventProcessors","setSDKProcessingMetadata","processors","processor","final","NIL_EVENT_ID","DEFAULT_BREADCRUMBS","_stack","_version","getStackTop","bindClient","isOlderThan","setupIntegrations","pushScope","getScope","getStack","popScope","withScope","_lastEventId","_withClient","originalException","captureMessage","captureEvent","lastEventId","beforeBreadcrumb","finalBreadcrumb","configureScope","run","oldHub","makeMain","getIntegration","integration","_oO","startTransaction","customSamplingContext","_callExtensionMethod","traceHeaders","captureSession","endSession","_sendSessionUpdate","closeSession","startSession","shouldSendDefaultPii","sendDefaultPii","sentry","getMainCarrier","hub","registry","getHubFromCarrier","setHubOnCarrier","hasHubOnCarrier","activeDomain","active","registryHubTopStack","_Oo","getHubFromActiveDomain","carrier","ErrorHandler","Sentry","catchType","GoogleMapsApi","handleGoogleMapsLoaded","Script","onError","googleMapsError","awsconfig","aws_user_pools_id","aws_cognito_region","aws_user_pools_web_client_id","federationTarget","aws_cognito_username_attributes","aws_cognito_social_providers","aws_cognito_signup_attributes","aws_cognito_mfa_configuration","aws_cognito_mfa_types","aws_cognito_password_protection_settings","passwordPolicyMinLength","passwordPolicyCharacters","aws_cognito_verification_mechanisms","configureAmplify","queryClient","QueryClient","WrappedComponent","pageProps","routeProtected","isPublic","getLayout","View","catchErrors","Page","handleRouteChange","QueryClientProvider","ReduxProvider","ThemeProvider","antTheme","ProtectRoute","main","DetailTable","isArchived","is_archived","groupedData","dates","unitName","unit_name","sortedCellData","dayjs","cellData","firstRowData","secondRowData","thirdRowData","isMobileDevice","TableRow","EverysetBlue","alt","job_name","ArchivedApplicationBanner","CenteredForm","FORM_WIDTH","TableDetail","tbody","TableCell","LabelText","ValueText","union_status","union_rate","rate","ages","genders","ethnicities","table","gap","td","colSpan","React","ResponsiveTableDetail","responsive","mobileBreakpoint","colspan","rowspan","COLUMN_WIDTH","rate_type","Dates","projectCountry","project_detail","project_country","parsedMonth","parsedDay","uk_rate_type","rate_type_label","uk_rate_type_other","rate_type_cell_visible","uk_rate_card_url_text","rate_row_visible","uk_rate_note","uk_agency_fee","RateTypeLabel","rate_card_link","uk_rate_card_url_link","rate_card_text","StyledRateTypeLabel","area","loginModal","setLoginModal","applicationId","searchString","getApplicationIdFromUrl","isUkApplication","getApplicationData","applicationData","StyledLoadingOutlined","StyleMobileDiv","StyleTitle","Header","CenteredContainer","StyledForm","ProjectDetailsUK","ProjectDetails","ApplyNowButton","Styledtext","CustomModalContent","ModalHeader","StyledDivider","ModalContent","LoginIndex","Divider","fieldValues","setSignInLoading","redirectToInQuery","applicationIdFromUrl","PostApplication","application_id","postApplicationAuth","resendError","displayError","EmailFormItem","PasswordFormItem","ForgotPasswordLink","StyledLink","SignInFormItem","signInLoading","GoogleButton","isFacebookBrowser","StyledGoogleButton","GoogleLogo","SignUpLink","StyledALink","setFieldValues","setNotificationUrlValue","rawRedirectTo","getRedirectTo","word","URLSearchParams","onFinish","onValuesChange","changedValues","link","SplashScreen","StyledContainer","routeSegments","isPublicApplicationRoute","PublicApplicationIndex","secondary","highlight","statuses","fonts","ExternalLinkIcon","WarningAlertIcon","fillRule","clipRule","__nccwpck_require__","ab","__dirname","resolveObject","Url","PahoMQTT","MESSAGE_TYPE","validate","errorStr","validKey","INVALID_TYPE","OK","CONNECT_TIMEOUT","SUBSCRIBE_TIMEOUT","UNSUBSCRIBE_TIMEOUT","PING_TIMEOUT","INTERNAL_ERROR","CONNACK_RETURNCODE","SOCKET_ERROR","SOCKET_CLOSE","MALFORMED_UTF","UNSUPPORTED","INVALID_STATE","INVALID_ARGUMENT","UNSUPPORTED_OPERATION","INVALID_STORED_DATA","INVALID_MQTT_MESSAGE_TYPE","MALFORMED_UNICODE","BUFFER_FULL","CONNACK_RC","substitutions","part1","part2","MqttProtoIdentifierv3","MqttProtoIdentifierv4","WireMessage","decodeMessage","digit","startingPos","first","messageInfo","remLength","multiplier","endPos","wireMessage","sessionPresent","returnCode","qos","readUint16","topicName","parseUTF8","messageIdentifier","retained","duplicate","payloadMessage","writeUint16","writeString","utf8Length","stringToUTF8","UTF8Length","lowCharCode","utf16","byte1","byte2","byte3","byte4","willMessagePayloadBytes","topicStrLength","destinationNameLength","willMessage","payloadBytes","userName","requestedQos","mbi","numBytes","encodeMBI","byteStream","connectFlags","cleanSession","keepAliveInterval","Pinger","_client","_keepAliveInterval","isReset","pingReq","doTimeout","pinger","doPing","_trace","socket","_disconnected","Timeout","timeoutSeconds","ClientImpl","_wsuri","_localKey","_msg_queue","_buffered_msg_queue","_sentMessages","_receivedMessages","_notify_msg_sent","_message_identifier","_sequence","restore","connected","maxMessageIdentifier","connectOptions","hostIndex","onConnected","onMessageDelivered","traceFunction","_connectTimeout","sendPinger","receivePinger","_reconnectInterval","_reconnecting","_reconnectTimeout","disconnectedPublishing","disconnectedBufferSize","receiveBuffer","_traceBuffer","_MAX_TRACE_ENTRIES","connectOptionsMasked","_traceMask","uris","_doConnect","subscribeOptions","grantedQos","invocationContext","timeOut","_requires_ack","_schedule_message","unsubscribeOptions","sequence","getTraceLog","startTrace","stopTrace","wsurl","uriParts","binaryType","_on_socket_open","_on_socket_message","_on_socket_error","_on_socket_close","_process_queue","storedMessage","pubRecReceived","messageBytes","payloadHex","_socket_send","messageCount","messages","_deframeMessages","_handleMessage","errorStack","sentMessage","receivedMessage","sequencedMessages","msgId","pubRelMessage","reconnected","_connected","_receivePublish","_receiveMessage","pubCompMessage","wireMessageMasked","pubAckMessage","pubRecMessage","reconnect","_reconnect","errorText","mqttVersionExplicit","severity","traceObject","masked","traceObjectMasked","newPayload","newDestinationName","newQos","newRetained","newTopic","newDuplicate","ipv6AddSBracket","clientIdLength","newOnConnected","newDisconnectedPublishing","newDisconnectedBufferSize","newOnConnectionLost","newOnMessageDelivered","newOnMessageArrived","hosts","ports","stringPayload","usingURIs","ipv6","cachedSetTimeout","cachedClearTimeout","defaultSetTimout","defaultClearTimeout","runTimeout","fun","currentQueue","draining","queueIndex","cleanUpNextTick","drainQueue","marker","runClearTimeout","nextTick","env","argv","once","removeAllListeners","prependListener","prependOnceListener","cwd","chdir","umask","ReactPropTypesSecret","emptyFunction","emptyFunctionWithReset","resetWarningCache","shim","propFullName","getShim","ReactPropTypes","bigint","bool","arrayOf","objectOf","oneOf","oneOfType","checkPropTypes","PropTypes","sep","maxKeys","kstr","vstr","idx","stringifyPrimitive","HOOK_MARK","warningFunc","getFieldValue","getFieldsValue","getFieldError","getFieldWarning","getFieldsError","isFieldsTouched","isFieldTouched","isFieldValidating","isFieldsValidating","resetFields","setFields","setFieldValue","setFieldsValue","validateFields","submit","getInternalHooks","initEntityValue","registerField","useSubscribe","setInitialValues","destroyForm","setCallbacks","registerWatch","getFields","setValidateMessages","setPreserve","getInitialValue","_extends","formatRegExp","convertFieldsError","template","isEmptyValue","isNativeStringType","asyncSerialArray","original","AsyncValidationError","asyncMap","objArr","_pending","flattenArr","flattenObjArr","firstFields","objArrKeys","objArrLength","total","asyncParallelArray","complementError","fieldValue","fullFields","fullField","deepMerge","urlReg","required$1","pattern$2","getYear","includeBoundaries","v6seg","v6","v46Exact","v4exact","v6exact","ipv4","getUrlRegex","ruleType","dateObject","newMessages","Schema","_messages","define","source_","oc","messages$1","series","getValidationMethod","getType","doIt","deep","defaultField","addFullField","suppressWarning","filledErrors","fieldsSchema","paredFieldsSchema","fieldSchema","fieldSchemaList","errs","finalErrors","asyncValidator","suppressValidatorError","_errors","messageIndex","enum","float","entity","internalSet","paths","removeIfUndefined","_paths","cloneDeep","cloneArrayDeep","cloneObjectDeep","getNamePath","newStore","cloneByNamePathList","namePathList","containsNamePath","matchNamePath","internalSetValues","recursive","setValues","restValues","changedNamePath","nameUnit","defaultGetValueFromEvent","moveIndex","toIndex","AsyncValidator","replaceMessage","kv","CODE_LOGIC_ERROR","validateRule","_x","_x2","_x3","_x4","_x5","_validateRule","_callee2","cloneRule","originValidator","subRuleField","subResults","fillVariableResult","_context2","ruleIndex","t0","mergedMessage","subValue","abrupt","validateRules","validateFirst","summaryPromise","filledRules","currentRule","originValidatorFunc","hasPromise","w1","i1","w2","i2","_callee","_context","_x6","_x7","rulePromises","_x9","_finishOnFirstFailed","finishOnFirstFailed","_x8","_finishOnAllFailed","finishOnAllFailed","_callee3","_context3","errorsList","_callee4","_context4","ruleError","EMPTY_ERRORS","requireUpdate","resetCount","cancelRegisterFunc","mounted","dirty","validatePromise","prevValidating","cancelRegister","preserve","isListField","_fieldContext$prefixN","fieldContext","prefixName","getRules","_this$props3$rules","triggerMetaEvent","getMeta","onStoreChange","prevStore","_this$props4","_this$props4$dependen","onReset","curValue","namePathMatch","reRender","dependency","relatedFields","rootPromise","_this$props5","_this$props5$validate","triggerName","filteredRules","ruleErrors","_ruleErrors$forEach","nextErrors","nextWarnings","_ref3$errors","isFieldDirty","initialValue","getErrors","getWarnings","isList","isPreserve","getOnlyChild","getControlled","_this$props6","getValueFromEvent","getValueProps","_getInternalHooks","mergedGetValueProps","originTriggerFunc","validateTriggerList","originTrigger","_this$props7","returnChildNode","_this$getOnlyChild","FieldContext","keyManager","parentPrefixName","pathName","_ref3$value","getNewValue","operations","indexSet","keysIndex","valueIndex","move","listValue","SPLIT","cell","NameMap","kvs","cells","_cell$match","_cell$match2","unit","FormStore","forceRootUpdate","formHooked","subscribable","fieldEntities","initialValues","callbacks","lastValidatePromise","getForm","prevWithoutPreserves","_this$prevWithoutPres","nextStore","updateStore","getFieldEntities","isMergedPreserve","watchList","notifyWatch","warningUnhooked","pure","getFieldsMap","getFieldEntitiesForNamePathList","nameList","INVALIDATE_NAME_PATH","filterFunc","filteredNameList","_entity$isListField","arg0","arg1","isAllFieldsTouched","shortNamePath","fieldNamePath","isNamePathListTouched","entities","namePathListEntities","testField","resetWithFieldInitialValue","records","requiredFieldEntities","resetWithFields","originValue","skipExist","_requiredFieldEntitie","notifyObservers","fieldData","fieldPreserve","mergedPreserve","subNamePath","_prevStore","triggerDependenciesUpdate","_namePath","mergedInfo","childrenFields","getDependencyChildrenFields","triggerOnFieldsChange","rootNamePath","dependencies2fields","dependencyNamePath","fillChildren","filedErrors","onFieldsChange","fieldName","provideNameList","promiseList","allPromiseFinish","resultNamePathList","returnPromise","outOfDate","formRef","formStore","triggerFormChange","triggerFormFinish","registerForm","unregisterForm","onFormChange","onFormFinish","formsRef","changedFields","forms","newForms","_ref$component","_ref$validateTrigger","_onFieldsChange","_onFinish","formInstance","_formInstance$getInte","childrenNode","childrenRenderProps","prevFieldsRef","sourceKeys","targetKeys","sourceValue","isSimilar","wrapperNode","onSubmit","_restProps$onReset","_args$","valueStr","valueStrRef","isValidForm","namePathRef","nextValueStr","RefForm","makePrefixMap","styleProp","prefixes","vendorPrefixes","domSupport","win","animationend","transitionend","getVendorPrefixes","_document$createEleme","prefixedEventNames","getVendorPrefixedEventName","prefixMap","stylePropList","internalAnimationEndName","internalTransitionEndName","supportTransition","animationEndName","transitionEndName","transitionType","STATUS_NONE","STATUS_APPEAR","STATUS_ENTER","STATUS_LEAVE","STEP_NONE","STEP_PREPARE","STEP_START","STEP_ACTIVE","STEP_ACTIVATED","STEP_QUEUE","isActive","setStep","_useNextFrame","nextFrameRef","cancelNextFrame","nextFrame","nextFrameId","isCanceled","useNextFrame","_useNextFrame2","nextStep","doNext","supportMotion","getElement","_ref$motionEnter","motionEnter","_ref$motionAppear","_ref$motionLeave","motionLeave","motionLeaveImmediately","onLeavePrepare","asyncVisible","setAsyncVisible","_useState3","_useState4","setStatus","_useState5","_useState6","setStyle","mountedRef","deadlineRef","getDomElement","activeRef","onInternalMotionEnd","canEnd","currentActive","_useDomMotionEvents","cacheElementRef","callbackRef","removeMotionEvents","useDomMotionEvents","patchMotionEvents","eventHandlers","_useStepQueue","useStepQueue","newStep","_eventHandlers$step","_useStepQueue2","startStep","nextStatus","isMounted","firstMountChangeRef","DomWrapper","transitionSupport","isSupportTransition","CSSMotion","_props$removeOnLeave","eventProps","wrapperNodeRef","_useStatus","HTMLElement","findDOMNode","_useStatus2","statusStep","statusStyle","mergedVisible","renderedRef","motionChildren","setNodeRef","statusSuffix","STATUS_ADD","STATUS_KEEP","STATUS_REMOVE","STATUS_REMOVED","wrapKeyToObject","keyObj","parseKeys","diffKeys","currentIndex","currentLen","prevKeyObjects","currentKeyObjects","hit","currentKeyObj","duplicatedKeys","matchKey","_excluded2","MOTION_PROP_NAMES","CSSMotionList","keyEntities","removeKey","nextKeyEntities","_onVisibleChanged","motionProps","changedVisible","parsedKeyObjects","prevEntity","items_per_page","jump_to","jump_to_confirm","prev_page","next_page","prev_5","next_5","prev_3","next_3","page_size","elementListeners","resizeObserver","_elementListeners$get","CollectionContext","SingleObserver","elementRef","onCollectionResize","sizeRef","canRef","propsRef","onInternalResize","_propsRef$current","_target$getBoundingCl","fixedWidth","fixedHeight","mergedOffsetWidth","mergedOffsetHeight","sizeInfo","currentElement","ResizeObserver","Collection","onBatchResize","resizeIdRef","resizeInfosRef","currentId","Popup","showArrow","_props$align","_props$destroyTooltip","destroyTooltipOnHide","domRef","popupVisible","destroyTooltip","keepParent","popupClassName","popup","popupPlacement","popupAlign","onPopupVisibleChange","afterPopupVisibleChange","popupTransitionName","popupAnimation","popupMotion","defaultPopupVisible","destroyPopupOnHide","popupStyle","didUpdate","parentRef","initRef","_containerRef$current2","isPointsEq","a1","a2","isAlignPoint","maskMotion","vendorPrefix","jsCssMap","Webkit","Moz","getVendorPrefix","getTransformName","setTransitionProperty","transitionProperty","setTransform","getComputedStyleX","matrix2d","matrix3d","forceRelayout","originalStyle","getScrollLeft","getScrollTop","getOffset","docElem","clientLeft","clientTop","getClientPosition","isWindow","getDocument","_RE_NUM_NO_PX","RE_POS","getOffsetDirection","useCssRight","useCssBottom","oppositeOffsetDirection","setLeftTop","presetH","presetV","horizontalProperty","verticalProperty","oppositeHorizontalProperty","oppositeVerticalProperty","originalTransition","originalOffset","old","preset","_dir","_off","setTransform$1","originalXY","matrix","getTransformXY","resultXY","xy","match2d","setTransformXY","each","isBorderBoxFn","rsLeft","pixelLeft","BOX_MODELS","getPBMWidth","cssProp","domUtils","getParent","getWH","viewportWidth","viewportHeight","docWidth","docHeight","borderBoxValue","isBorderBox","cssBoxValue","borderBoxValueOrIsBorderBox","refWin","documentElementProp","compatMode","cssShow","getWHIgnoreDisplay","includeMargin","getWindow","oriOffset","oLeft","oTop","tLeft","tTop","useCssTransform","setOffset","getWindowScrollLeft","getWindowScrollTop","getOffsetParent","positionStyle","getParent$1","getVisibleRectForElement","alwaysByViewport","visibleRect","originalPosition","documentWidth","documentHeight","isAncestorFixed","maxVisibleWidth","maxVisibleHeight","getRegion","outerWidth","outerHeight","getAlignOffset","getElFuturePos","elRegion","refNodeRegion","p1","p2","isFailX","elFuturePos","isFailY","flip","reg","flipOffset","convertOffset","offsetLen","normalizeOffset","doAlign","tgtRegion","isTgtRegionVisible","newOverflowCfg","fail","newElRegion","newPoints","newOffset","newTargetOffset","isCompleteFailX","_newPoints","_newOffset","_newTargetOffset","isCompleteFailY","isStillFailX","isStillFailY","_newPoints2","resizeWidth","resizeHeight","adjustForViewport","alignElement","refNode","isTargetNotOutOfVisible","targetRegion","isOutOfVisibleRect","__getOffsetParent","__getVisibleRectForElement","monitorResize","prevWidth","prevHeight","getPoint","point","Align","onAlign","monitorWindowResize","_ref$monitorBufferTim","monitorBufferTime","forceAlignPropsRef","_useBuffer","calledRef","timeoutRef","cancelTrigger","force","useBuffer","_forceAlignPropsRef$c","latestDisabled","latestTarget","latestAlign","latestOnAlign","tgtPoint","pointInView","alignPoint","restoreFocus","_useBuffer2","_forceAlign","cancelForceAlign","resizeMonitor","sourceResizeMonitor","winResizeRef","forceAlign","RcAlign","StatusQueue","PopupInner","stretch","getRootDomNode","getClassNameFromAlign","alignRef","alignedClassName","setAlignedClassName","_useStretchStyle","targetSize","setTargetSize","sizeStyle","tgtWidth","tgtHeight","_element$getBoundingC","useStretchStyle","_useStretchStyle2","stretchStyle","measureStretchStyle","_useVisibleStatus","doMeasure","setInternalStatus","rafRef","cancelRaf","useVisibleStatus","_useVisibleStatus2","goNextStatus","alignTimes","setAlignTimes","prepareResolveRef","_alignRef$current","onInternalAlign","popupDomNode","matchAlign","nextAlignedClassName","_prepareResolveRef$cu","onShowPrepare","originHandler","alignDisabled","mergedClassName","onMouseDownCapture","onTouchStartCapture","MobilePopupInner","_props$mobile","_props$mobile$popupMo","popupRender","innerVisible","serInnerVisible","inMobile","setInMobile","cloneProps","popupNode","returnEmptyString","returnDocument","ALL_HANDLERS","PortalComponent","Trigger","_popupVisible","fireEvents","delaySetPopupVisible","setPoint","clearDelayTimer","_this$popupRef$curren","relatedTarget","popupRef","isFocusToShow","focusTime","focusDelay","preClickTime","preTouchTime","isBlurToHide","blurDelay","setPopupVisible","isContextMenuToShow","preTime","isClickToShow","isClickToHide","_this$context","hasPopupMouseDown","mouseDownTimeout","onPopupMouseDown","getPopupDomNode","isContextMenuOnly","getTriggerDOMNode","triggerRef","getPopupClassNameFromAlign","getAlignPopupClassName","onPopupClick","_this$state","getPopupAlign","mouseProps","isMouseEnterToShow","onPopupMouseEnter","isMouseLeaveToHide","onPopupMouseLeave","popupContainer","attachId","mountNode","attachParent","portalContainer","prevPopupVisible","currentDocument","clickOutsideHandler","onDocumentClick","touchOutsideHandler","contextMenuOutsideHandler1","onContextMenuClose","contextMenuOutsideHandler2","clearOutsideHandler","_this$popupRef$curren2","placementStr","baseAlign","getAlignFromPlacement","delayS","childPros","showAction","hideAction","_this$props8","_this$props9","_this$props10","_this$popupRef$curren3","childCallback","_this$props11","newChildProps","onContextMenu","createTwoChains","onMouseMove","childrenClassName","portal","handlePortalUpdate","getComponent","triggerContextValue","keepEmpty","addEventListenerWrap","eventType","APPEND_ORDER","MARK_KEY","containerCache","getOrder","findStyles","injectCSS","nonce","existStyle","findExistNode","removeCSS","existNode","syncRealContainer","cachedRealContainer","placeholderStyle","updateCSS","_option$csp","_option$csp2","_option$csp3","newNode","SVGGraphicsElement","getBBox","_element$getBBox","_width","_height","isStyleNameSupport","styleNameList","isStyleSupport","styleValue","isStyleValueSupport","MAC_ENTER","BACKSPACE","TAB","NUM_CENTER","ENTER","SHIFT","CTRL","ALT","PAUSE","CAPS_LOCK","ESC","PAGE_UP","PAGE_DOWN","END","HOME","LEFT","UP","RIGHT","DOWN","PRINT_SCREEN","INSERT","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","QUESTION_MARK","META","WIN_KEY_RIGHT","CONTEXT_MENU","NUM_ZERO","NUM_ONE","NUM_TWO","NUM_THREE","NUM_FOUR","NUM_FIVE","NUM_SIX","NUM_SEVEN","NUM_EIGHT","NUM_NINE","NUM_MULTIPLY","NUM_PLUS","NUM_MINUS","NUM_PERIOD","NUM_DIVISION","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","NUMLOCK","SEMICOLON","DASH","COMMA","PERIOD","SLASH","APOSTROPHE","SINGLE_QUOTE","OPEN_SQUARE_BRACKET","BACKSLASH","CLOSE_SQUARE_BRACKET","WIN_KEY","MAC_FF_META","WIN_IME","isTextModifyingKeyEvent","isCharacterKey","createRoot","fullClone","reactRender","unmountComponentAtNode","toggleWarning","skip","__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED","usingClientEntryPoint","MARK","modernRender","legacyRender","modernUnmount","_modernUnmount","_container$MARK","legacyUnmount","_unmount","cached","fresh","outerStyle","widthContained","widthScroll","ensureSize","getTargetScrollBarSize","_getComputedStyle","useEvent","fnRef","memoFn","_fnRef$current","useLayoutUpdateEffect","deps","firstMountRef","hasValue","defaultStateValue","finalValue","PROP","INNER","chosenValue","postMergedValue","changeEventPrevRef","triggerChange","ignoreDestroy","_prev","prevSource","prevPrevValue","overridePrevValue","onChangeFn","_mergedValue","useSafeState","agent","propList","ariaPrefix","dataPrefix","ariaOnly","aria","caf","requestAnimationFrame","cancelAnimationFrame","rafUUID","rafIds","callRef","leftTimes","realId","fillRef","composeRef","refs","refList","useComposeRef","supportRef","nodeOrComponent","_type$prototype","_nodeOrComponent$prot","warned","CACHE_PREFIX","CACHE_KEY_FAILING","_hasLocalStorage","_options$cachePrefix","cachePrefix","_options$sourceTTL","sourceTTL","_options$sourceSize","sourceSize","cacheList","hasExpired","isMatch","IS_RETINA","defaultColors","reSize","_stringAsciiPRNG","charCodes","letter","getRandomColor","colorIndex","parseSize","_ref2$2","getImageSize","defaultInitials","maxInitials","timeoutGroups","setGroupedTimeout","ttl","getNullableText","_args","calculateBorderRadius","initials","avatarRedirectUrl","contextKeys","isLegacyContext","_getContext","withConfig","withAvatarConfig","refOrContext","ctx","reactAvatar","InternalState","sourcePointer","internal","AvatarWrapper","_React$PureComponent","unstyled","avatar","sourceName","hostStyle","AvatarImage","imageStyle","onRenderFailed","AvatarText","retryTTL","textSizeRatio","textMarginRatio","_node","_mounted","spanNode","tableNode","_spanNode$getBounding","containerWidth","containerHeight","baseFontSize","_node$getBoundingClie","textWidth","maxTextWidth","_scaleTextNode","initialsStyle","fgColor","tableStyle","tableLayout","GravatarSource","md5Email","FacebookSource","facebookId","GithubSource","githubHandle","SkypeSource","skypeId","ValueSource","getColor","getInitials","SrcSource","IconSource","createRedirectSource","network","_class","AvatarRedirectSource","baseUrl","DataProvider","_ref$sources","sources","sourcePropTypes","AvatarDataProvider","_PureComponent","errEvent","sourceFailed","pointer","isCompatible","hasSourceFailedBefore","matchSource","_createFetcher","prevProps","needsUpdate","avatarData","PureComponent","createAvatarDataProvider","getModuleId","focusManager","_Subscribable","FocusManager","setup","_window","onSubscribe","setEventListener","onUnsubscribe","_this$cleanup","hasListeners","_this$cleanup2","isFocused","getLogger","setLogger","newLogger","defaultOptions","mutationId","mutationCache","getDefaultState","removeObserver","retryer","continue","restored","onMutate","executeMutation","onSettled","_this$options$retry","mutationFn","onFail","onPause","onContinue","retryDelay","failureCount","onMutationUpdate","notify","NotifyManager","transactions","notifyFn","batchNotifyFn","batch","schedule","batchCalls","setNotifyFunction","setBatchNotifyFunction","notifyManager","onlineManager","OnlineManager","onOnline","setOnline","isOnline","Query","abortSignalConsumed","hadObservers","setOptions","queryHash","scheduleGc","_this$options$cacheTi","cacheTime","setDefaultOptions","clearGcTimeout","gcTimeout","optionalRemove","isFetching","_this$options$isDataE","_this$options","prevData","isDataEqual","structuralSharing","dataUpdatedAt","updatedAt","setStateOptions","_this$retryer","silent","isStale","isInvalidated","getCurrentResult","isStaleByTime","staleTime","_this$retryer2","shouldFetchOnWindowFocus","refetch","_this$retryer3","shouldFetchOnReconnect","isTransportCancelable","cancelRetry","getObserversCount","invalidate","_this$options$behavio","_context$fetchOptions","_abortController$abor","cancelRefetch","_this$retryer4","continueRetry","queryFnContext","pageParam","_this$options$behavio2","_context$fetchOptions2","fetchFn","onFetch","revertState","fetchMeta","onQueryUpdate","initialData","initialDataUpdatedAt","hasData","dataUpdateCount","errorUpdateCount","errorUpdatedAt","fetchFailureCount","_action$meta","_action$dataUpdatedAt","QueryCache","queries","queriesMap","_options$queryHash","defaultQueryOptions","getQueryDefaults","queryInMap","arg2","filters","findAll","MutationCache","mutations","mutation","defaultMutationOptions","mutationKey","getMutationDefaults","resumePausedMutations","pausedMutations","getNextPageParam","pages","getPreviousPageParam","queryCache","queryDefaults","mutationDefaults","mount","unsubscribeFocus","unsubscribeOnline","_this$unsubscribeFocu","_this$unsubscribeOnli","fetching","isMutating","getQueryData","_this$queryCache$find","getQueriesData","queryKeyOrFilters","getQueryCache","setQueryData","parsedOptions","defaultedOptions","setQueriesData","getQueryState","_this$queryCache$find2","removeQueries","resetQueries","arg3","_parseFilterArgs3","refetchFilters","refetchQueries","cancelQueries","_parseFilterArgs4","_parseFilterArgs4$","cancelOptions","invalidateQueries","_filters$refetchActiv","_filters$refetchInact","_parseFilterArgs5","refetchActive","inactive","refetchInactive","_parseFilterArgs6","refetchPage","throwOnError","fetchQuery","prefetchQuery","fetchInfiniteQuery","_context$fetchOptions3","_context$fetchOptions4","_context$state$data","_context$state$data2","fetchMore","isFetchingNextPage","isFetchingPreviousPage","oldPages","oldPageParams","pageParams","newPageParams","cancelled","buildNewPages","fetchPage","manual","queryFnResult","_manual","_param","shouldFetchFirstPage","_loop","_param2","finalPromise","prefetchInfiniteQuery","cancelMutations","getMutationCache","getDefaultOptions","setQueryDefaults","_this$queryDefaults$f","setMutationDefaults","_this$mutationDefault","_defaulted","defaultQueryObserverOptions","defaultRetryDelay","isCancelable","CancelledError","isCancelledError","Retryer","cancelFn","continueFn","promiseResolve","promiseReject","outerResolve","outerReject","promiseOrValue","_unused","_config$retry","_config$retryDelay","continueResolve","Subscribable","isServer","functionalUpdate","isValidTimeout","ensureQueryKeyArray","timeUntilStale","parseQueryArgs","isQueryKey","parseMutationArgs","parseFilterArgs","matchQuery","stale","hashQueryKeyByOptions","partialMatchKey","queryStatusFilter","mapQueryStatusFilter","matchMutation","hashQueryKey","queryKeyHashFn","asArray","partialDeepEqual","replaceEqualDeep","aSize","bItems","bSize","equalItems","shallowEqualObjects","hasObjectPrototype","prot","sleep","scheduleMicrotask","getAbortController","unstable_batchedUpdates","defaultContext","QueryClientSharingContext","getQueryClientContext","contextSharing","ReactQueryClientContext","useQueryClient","_ref$contextSharing","MutationObserver","bindMethods","updateResult","mutate","_this$currentMutation","currentMutation","notifyOptions","currentResult","mutateOptions","isSuccess","isError","shouldThrowError","suspense","_useErrorBoundary","useMutation","obsRef","useErrorBoundary","mutateAsync","QueryObserver","trackedProps","selectError","currentQuery","shouldFetchOnMount","executeFetch","updateTimers","shouldFetchOn","refetchOnReconnect","clearTimers","prevOptions","prevQuery","updateQuery","shouldFetchOptionally","updateStaleTimeout","nextRefetchInterval","computeRefetchInterval","currentRefetchInterval","updateRefetchInterval","getOptimisticResult","createResult","trackResult","trackedResult","trackProp","getNextResult","getCurrentQuery","fetchOptimistic","clearStaleTimeout","staleTimeoutId","_this$options$refetch","refetchInterval","nextInterval","clearRefetchInterval","refetchIntervalId","refetchIntervalInBackground","prevResult","prevResultState","currentResultState","prevResultOptions","currentResultOptions","queryChange","queryInitialState","currentQueryInitialState","prevQueryResult","previousQueryResult","isPreviousData","isPlaceholderData","optimisticResults","fetchOnMount","fetchOptionally","keepPreviousData","selectFn","selectResult","placeholderData","isFetched","isFetchedAfterMount","isRefetching","isLoadingError","isRefetchError","shouldNotifyListeners","notifyOnChangeProps","notifyOnChangePropsExclusions","includedProps","typedKey","changed","isIncluded","isExcluded","defaultNotifyOptions","retryOnMount","shouldLoadOnMount","refetchOnMount","createValue","_isReset","clearReset","QueryErrorResetBoundaryContext","useBaseQuery","Observer","errorResetBoundary","getBatch","nullListeners","parentSub","handleChangeWrapper","onStateChange","trySubscribe","addNestedSub","createListenerCollection","notifyNestedSubs","tryUnsubscribe","getListeners","createStoreHook","useReduxContext","createDispatchHook","useStore","refEquality","createSelectorHook","equalityFn","_useReduxContext","selectedState","contextSub","useReducer","latestSubscriptionCallbackError","latestSelector","latestStoreState","latestSelectedState","storeState","newSelectedState","checkForUpdates","newStoreState","_newSelectedState","useSelectorWithStoreAndSubscription","useDebugValue","newBatch","MapShim","getIndex","__entries__","global$1","requestAnimationFrame$1","transitionKeys","mutationObserverSupported","ResizeObserverController","connected_","mutationEventsAdded_","mutationsObserver_","observers_","onTransitionEnd_","leadingCall","trailingCall","lastCallTime","resolvePending","timeoutCallback","timeStamp","throttle","connect_","disconnect_","updateObservers_","activeObservers","gatherActive","hasActive","broadcastActive","characterData","subtree","instance_","defineConfigurable","getWindowOf","emptyRect","createRectInit","toFloat","getBordersSize","getHTMLElementContentRect","paddings","positions_1","getPaddings","horizPad","vertPad","isDocumentElement","vertScrollbar","horizScrollbar","isSVGGraphicsElement","SVGElement","getContentRect","bbox","getSVGContentRect","ResizeObservation","broadcastWidth","broadcastHeight","contentRect_","broadcastRect","ResizeObserverEntry","rectInit","contentRect","Constr","DOMRectReadOnly","createReadOnlyRect","ResizeObserverSPI","controller","callbackCtx","activeObservations_","observations_","callback_","controller_","callbackCtx_","observations","clearActive","observation","objA","objB","compareContext","keysA","keysB","bHasOwnProperty","valueA","valueB","ca","da","ea","fa","ha","ia","ja","ka","ba","la","ma","na","oa","reactPropsRegex","styledComponentId","REACT_APP_SC_ATTR","SC_ATTR","SC_DISABLE_SPEEDY","REACT_APP_SC_DISABLE_SPEEDY","groupSizes","indexOfGroup","insertRules","insertRule","clearGroup","deleteRule","getGroup","getRule","registerName","sheet","styleSheets","ownerNode","cssRules","useCSSOMInjection","server","registerId","reconstructWithOptions","allocateGSInstance","hasNameForId","clearNames","clearRules","clearTag","staticRulesId","isStatic","componentId","baseHash","baseStyle","generateAndInjectStyles","stylisPlugins","disableCSSOMInjection","disableVendorPrefixes","inject","isReactComponent","isCss","parentComponentId","shouldForwardProp","componentStyle","foldedComponentIds","$as","withComponent","_foldedDefaultProps","createStyles","removeStyles","renderStyles","_emitSheetCSS","getStyleTags","sealed","getStyleElement","seal","collectStyles","interleaveWithNodeStream","rangeCount","ranges","getRangeAt","__decorate","decorators","decorate","__param","paramIndex","decorator","__metadata","metadataKey","metadataValue","__createBinding","k2","__spreadArrays","jl","__await","__asyncGenerator","resume","fulfill","__asyncDelegator","__asyncValues","__makeTemplateObject","cooked","raw","__importStar","__importDefault","__classPrivateFieldGet","receiver","privateMap","__classPrivateFieldSet","readCookie","cleanupCookieValue","doNotParse","isParsingCookie","changeListeners","HAS_DOCUMENT_COOKIE","parseCookies","_updateBrowserValues","parseOptions","_emitChange","name_1","finalOptions","addChangeListener","removeChangeListener","v1","byteToHex","bth","rnds8","rnds","_nodeId","_clockseq","rng","bytesToUuid","_lastMSecs","_lastNSecs","clockseq","seedBytes","msecs","nsecs","tl","tmh","_createClass","Observable","hasSymbols","getSymbol","SymbolIterator","SymbolObservable","SymbolSpecies","getSpecies","isObservable","hostReportError","cleanupSubscription","_cleanup","closeSubscription","_queue","notifySubscription","onNotify","flushSubscription","Subscription","subscriber","SubscriptionObserver","_subscription","_subscriber","hasSeed","startNext","completeIfDone","_iteratorNormalCompletion","_didIteratorError","_iteratorError","_step","_iterator","_item","_arrayLikeToArray","arr2","_arrayWithHoles","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","possibleConstructorReturn","_inheritsLoose","_iterableToArray","iter","_nonIterableRest","_objectWithoutProperties","excluded","sourceSymbolKeys","_regeneratorRuntime","Op","iteratorSymbol","asyncIteratorSymbol","toStringTagSymbol","innerFn","outerFn","tryLocsList","protoGenerator","Generator","makeInvokeMethod","tryCatch","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","NativeIteratorPrototype","Gp","defineIteratorMethods","_invoke","AsyncIterator","PromiseImpl","invoke","unwrapped","previousPromise","callInvokeWithMethodAndArg","doneResult","delegate","delegateResult","maybeInvokeDelegate","_sent","dispatchException","resultName","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","resetTryEntry","completion","iterable","iteratorMethod","isGeneratorFunction","genFun","awrap","async","skipTempReset","rootRecord","rval","caught","hasCatch","hasFinally","finallyEntry","thrown","delegateYield","_slicedToArray","arrayWithHoles","unsupportedIterableToArray","nonIterableRest","_toArray","_toConsumableArray","arrayLikeToArray","iterableToArray","_toPropertyKey","prim","_unsupportedIterableToArray","minLen","_objectSpreadProps","_taggedTemplateLiteral","strings","kindOf","kindOfTest","typeOfTest","isFileList","allOwnKeys","findKey","_global","isContextDefined","TypedArray","isHTMLForm","isRegExp","reduceDescriptors","descriptors","reducedDescriptors","caseless","inherits","superConstructor","toFlatObject","destObj","propFilter","merged","forEachEntry","matchAll","regExp","hasOwnProp","freezeMethods","toObjectSet","arrayOrString","toCamelCase","toFiniteNumber","toJSONObject","reducedValue","AxiosError","customProps","axiosError","cause","isVisitable","removeBrackets","renderKey","dots","predicates","metaTokens","indexes","defaultVisitor","useBlob","convertValue","isFlatArray","exposedHelpers","charMap","AxiosURLSearchParams","_pairs","_encode","serializeFn","protocols","buildPath","isNumericKey","isLast","arrayToObject","parsePropPath","getContentType","hasJSONContentType","isObjectPayload","setContentType","helpers","toURLEncodedForm","formSerializer","_FormData","JSONRequested","$internals","normalizeHeader","normalizeValue","matchHeaderValue","AxiosHeaders","valueOrRewrite","rewrite","setHeader","_header","_rewrite","lHeader","setHeaders","rawHeaders","tokensRE","parseTokens","deleted","deleteHeader","normalized","formatHeader","targets","asStrings","computed","accessors","defineAccessor","accessorName","buildAccessors","accessor","CanceledError","samplesCount","timestamps","firstSampleTS","tail","chunkLength","startedAt","bytesCount","passed","progressEventReducer","isDownloadStream","bytesNotified","_speedometer","lengthComputable","progressBytes","progress","estimated","knownAdapters","http","xhr","parseProtocol","adapters","nameOrAdapter","headersToObject","timeoutMessage","decompress","beforeRedirect","httpAgent","httpsAgent","socketPath","responseEncoding","contextHeaders","function","generateHTTPMethod","isForm","toFormData","formToJSON"],"sourceRoot":""}